12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- 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,
- on_config_done = nil,
- ---@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)
- if lvim.builtin.project.on_config_done then
- lvim.builtin.project.on_config_done(project)
- end
- end
- return M
|