aboutsummaryrefslogtreecommitdiff
path: root/common/config/nvim/lua/plugins/neodev.lua
diff options
context:
space:
mode:
Diffstat (limited to 'common/config/nvim/lua/plugins/neodev.lua')
-rwxr-xr-xcommon/config/nvim/lua/plugins/neodev.lua45
1 files changed, 45 insertions, 0 deletions
diff --git a/common/config/nvim/lua/plugins/neodev.lua b/common/config/nvim/lua/plugins/neodev.lua
new file mode 100755
index 0000000..07843e1
--- /dev/null
+++ b/common/config/nvim/lua/plugins/neodev.lua
@@ -0,0 +1,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