[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:
Ahmed Khalf 2021-08-18 09:34:26 +04:00 committed by GitHub
parent 21b621c95a
commit b9b9c69615
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 69 additions and 42 deletions

48
lua/core/project.lua Normal file
View 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