mirror of
https://github.com/LunarVim/LunarVim.git
synced 2025-08-31 23:20:08 +02:00
[Refactor]: Remove vim-rooter and smart-cwd; then use project.nvim (#1315)
* Replace vim-rooter with project.nvim * Implement stylua format * Remove smart_cwd * Implicitly update nvim-tree dir when project active * Link datapath to cache * Fix stylua * Fix lint * Fix telescope bug * Fix telescope dependency * Fix telescope once and for all * Fix telescope once again
This commit is contained in:
parent
21b621c95a
commit
b9b9c69615
8 changed files with 69 additions and 42 deletions
48
lua/core/project.lua
Normal file
48
lua/core/project.lua
Normal file
|
@ -0,0 +1,48 @@
|
|||
local M = {}
|
||||
--
|
||||
function M.config()
|
||||
lvim.builtin.project = {
|
||||
--- This is on by default since it's currently the expected behavior.
|
||||
---@usage set to false to disable project.nvim.
|
||||
active = true,
|
||||
|
||||
-- Manual mode doesn't automatically change your root directory, so you have
|
||||
-- the option to manually do so using `:ProjectRoot` command.
|
||||
manual_mode = false,
|
||||
|
||||
-- Methods of detecting the root directory. **"lsp"** uses the native neovim
|
||||
-- lsp, while **"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" },
|
||||
|
||||
-- All the patterns used to detect root dir, when **"pattern"** is in
|
||||
-- detection_methods
|
||||
patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json" },
|
||||
|
||||
-- When set to false, you will get a message when project.nvim changes your
|
||||
-- directory.
|
||||
silent_chdir = true,
|
||||
}
|
||||
end
|
||||
--
|
||||
function M.setup()
|
||||
local settings = lvim.builtin.project
|
||||
|
||||
-- Table of lsp clients to ignore by name
|
||||
-- eg: { "efm", ... }
|
||||
settings["ignore_lsp"] = {}
|
||||
|
||||
-- Path where project.nvim will store the project history for use in
|
||||
-- telescope
|
||||
settings["datapath"] = CACHE_PATH
|
||||
|
||||
require("project_nvim").setup(settings)
|
||||
|
||||
lvim.builtin.dashboard.custom_section["b"] = {
|
||||
description = { " Recent Projects " },
|
||||
command = "Telescope projects",
|
||||
}
|
||||
end
|
||||
--
|
||||
return M
|
Loading…
Add table
Add a link
Reference in a new issue