Nvim: add new plugins
This commit is contained in:
37
.config/nvim/lua/plugins/cd-project.lua
Normal file
37
.config/nvim/lua/plugins/cd-project.lua
Normal file
@@ -0,0 +1,37 @@
|
||||
return {
|
||||
'LintaoAmons/cd-project.nvim',
|
||||
opts = {
|
||||
-- this json file is acting like a database to update and read the projects in real time.
|
||||
-- So because it's just a json file, you can edit directly to add more paths you want manually
|
||||
projects_config_filepath = vim.fs.normalize(vim.fn.stdpath("config") .. "/cd-project.nvim.json"),
|
||||
-- this controls the behaviour of `CdProjectAdd` command about how to get the project directory
|
||||
project_dir_pattern = { ".git", ".gitignore", "Cargo.toml", "package.json", "go.mod" },
|
||||
choice_format = "both", -- optional, you can switch to "name" or "path"
|
||||
projects_picker = "vim-ui", -- optional, you can switch to `telescope`
|
||||
-- do whatever you like by hooks
|
||||
hooks = {
|
||||
{
|
||||
callback = function(dir)
|
||||
vim.notify("switched to dir: " .. dir)
|
||||
end,
|
||||
},
|
||||
{
|
||||
callback = function(_)
|
||||
vim.cmd("Telescope find_files")
|
||||
end,
|
||||
},
|
||||
{
|
||||
callback = function(dir)
|
||||
vim.notify("switched to dir: " .. dir)
|
||||
end, -- required, action when trigger the hook
|
||||
name = "cd hint", -- optional
|
||||
order = 1, -- optional, the execution order if there're multiple hooks to be trigger at one point
|
||||
pattern = "cd-project.nvim", -- optional, trigger hook if contains pattern
|
||||
trigger_point = "DISABLE", -- optional, enum of trigger_points, default to `AFTER_CD`
|
||||
match_rule = function(dir) -- optional, a function return bool. if have this fields, then pattern will be ignored
|
||||
return true
|
||||
end,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user