summaryrefslogtreecommitdiff
path: root/lua/lvim/core/builtins/project.lua
diff options
context:
space:
mode:
authorLostNeophyte <[email protected]>2023-02-11 14:41:45 +0100
committerLostNeophyte <[email protected]>2023-02-11 14:44:24 +0100
commit7be867e2aac31ef04565eaba6b416ede766c06d7 (patch)
tree413dc6c0e82b04e14f505b7f291ed56f97dea9ea /lua/lvim/core/builtins/project.lua
parented5b43bba06e6d1ef7b6bd7ed95c55b64e2df3c8 (diff)
refactor(builtins): move builtins to ./builtins
Diffstat (limited to 'lua/lvim/core/builtins/project.lua')
-rw-r--r--lua/lvim/core/builtins/project.lua64
1 files changed, 64 insertions, 0 deletions
diff --git a/lua/lvim/core/builtins/project.lua b/lua/lvim/core/builtins/project.lua
new file mode 100644
index 00000000..10c4a71f
--- /dev/null
+++ b/lua/lvim/core/builtins/project.lua
@@ -0,0 +1,64 @@
+local M = {}
+
+function M.config()
+ lvim.builtin.project = {
+ ---@usage set to false to disable project.nvim.
+ --- This is on by default since it's currently the expected behavior.
+ active = true,
+
+ ---@usage set to true to disable setting the current-woriking directory
+ --- Manual mode doesn't automatically change your root directory, so you have
+ --- the option to manually do so using `:ProjectRoot` command.
+ manual_mode = false,
+
+ ---@usage Methods of detecting the root directory
+ --- Allowed values: **"lsp"** uses the native neovim lsp
+ --- **"pattern"** uses vim-rooter like glob pattern matching. Here
+ --- order matters: if one is not detected, the other is used as fallback. You
+ --- can also delete or rearangne the detection methods.
+ -- detection_methods = { "lsp", "pattern" }, -- NOTE: lsp detection will get annoying with multiple langs in one project
+ detection_methods = { "pattern" },
+
+ -- All the patterns used to detect root dir, when **"pattern"** is in
+ -- detection_methods
+ patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json", "pom.xml" },
+
+ -- Table of lsp clients to ignore by name
+ -- eg: { "efm", ... }
+ ignore_lsp = {},
+
+ -- Don't calculate root dir on specific directories
+ -- Ex: { "~/.cargo/*", ... }
+ exclude_dirs = {},
+
+ -- Show hidden files in telescope
+ show_hidden = false,
+
+ -- When set to false, you will get a message when project.nvim changes your
+ -- directory.
+ silent_chdir = true,
+
+ -- What scope to change the directory, valid options are
+ -- * global (default)
+ -- * tab
+ -- * win
+ scope_chdir = "global",
+
+ ---@type string
+ ---@usage path to store the project history for use in telescope
+ datapath = get_cache_dir(),
+ }
+end
+
+function M.setup()
+ local status_ok, project = pcall(require, "project_nvim")
+ if not status_ok then
+ return
+ end
+
+ project.setup(lvim.builtin.project)
+
+ return project
+end
+
+return M