Ocaml
info
You can enable the extra with the :LazyExtras command.
Plugins marked as optional will only be configured if they are installed.
Below you can find a list of included plugins and their default settings.
caution
You don't need to copy the default settings to your config. They are only shown here for reference.
nvim-treesitter
- Options
- Full Spec
opts = function(_, opts)
  if type(opts.ensure_installed) == "table" then
    vim.list_extend(opts.ensure_installed, { "ocaml" })
  end
end
{
  "nvim-treesitter/nvim-treesitter",
  opts = function(_, opts)
    if type(opts.ensure_installed) == "table" then
      vim.list_extend(opts.ensure_installed, { "ocaml" })
    end
  end,
}
nvim-lspconfig
- Options
- Full Spec
opts = {
  servers = {
    ocamllsp = {
      filetypes = {
        "ocaml",
        "ocaml.menhir",
        "ocaml.interface",
        "ocaml.ocamllex",
        "reason",
        "dune",
      },
      root_markers = {
        function(name)
          return name:match(".*%.opam$")
        end,
        "esy.json",
        "package.json",
        ".git",
        "dune-project",
        "dune-workspace",
        function(name)
          return name:match(".*%.ml$")
        end,
      },
    },
  },
}
{
  "neovim/nvim-lspconfig",
  opts = {
    servers = {
      ocamllsp = {
        filetypes = {
          "ocaml",
          "ocaml.menhir",
          "ocaml.interface",
          "ocaml.ocamllex",
          "reason",
          "dune",
        },
        root_markers = {
          function(name)
            return name:match(".*%.opam$")
          end,
          "esy.json",
          "package.json",
          ".git",
          "dune-project",
          "dune-workspace",
          function(name)
            return name:match(".*%.ml$")
          end,
        },
      },
    },
  },
}