aboutsummaryrefslogtreecommitdiff
path: root/common/nvim/lua/plugins/neodev.lua
blob: 07843e1473e23e8abb4186f3a990091dd5855c8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
local M = {}

--- Setup and configure neodev
-- This function initializes neodev with configurations for better Lua development experience
-- @return boolean True if setup was successful, false otherwise
function M.setup()
  local ok, neodev = pcall(require, 'neodev')
  if not ok then
    return false
  end

  neodev.setup({
  --library = { plugins = { "nvim-dap-ui" }, types = true },
  --library = { plugins = { "neotest" }, types = true },
  library = {
    enabled = true, -- when not enabled, neodev will not change any settings to the LSP server
    -- these settings will be used for your Neovim config directory
    runtime = true, -- runtime path
    types = true,   -- full signature, docs and completion of vim.api, vim.treesitter, vim.lsp and others
    --plugins = { "neotest" },
    --{ "nvim-dap-ui" },
    --plugins = true, -- installed opt or start plugins in packpath
    -- you can also specify the list of plugins to make available as a workspace library
    -- plugins = { "nvim-treesitter", "plenary.nvim", "telescope.nvim" },
    plugins = { "nvim-treesitter", "plenary.nvim", "telescope.nvim", "neotest", "nvim-dap-ui" },
  },
  setup_jsonls = true, -- configures jsonls to provide completion for project specific .luarc.json files
  -- for your Neovim config directory, the config.library settings will be used as is
  -- for plugin directories (root_dirs having a /lua directory), config.library.plugins will be disabled
  -- for any other directory, config.library.enabled will be set to false
  override = function(root_dir, options)
  end,
  -- With lspconfig, Neodev will automatically setup your lua-language-server
  -- If you disable this, then you have to set {before_init=require("neodev.lsp").before_init}
  -- in your lsp start options
  lspconfig = true,
    -- much faster, but needs a recent built of lua-language-server
    -- needs lua-language-server >= 3.6.0
    pathStrict = true,
  })
  
  return true
end

return M