LintaoAmons
/
cd-project.nvim
cd-project.nvim
I tried quite a lot `Project Management` plugins. In the end, I found all I need is just an easier way to `cd` to another project directory.project
awesome-neovim
cd-project.nvim simplifies the process of switching between project directories. It offers a convenient way to add and switch to directories, making it easier for users to navigate between their projects.
Media
Install instructions
Dotfyle does not endorse any plugins. Install at your own risk.
return {
"LintaoAmons/cd-project.nvim",
-- Don't need call the setup function if you think you are good with the default configuration
config = function()
require("cd-project").setup({
-- 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(dir)
vim.notify("switched to dir: " .. dir)
end, -- required, action when trigger the hook
name = "cd hint", -- optional
order = 1, -- optional, the exection 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,
},
},
})
end,
}
Developers using cd-project.nvim
more configs
LudoPinelli/dotfiles
/neovim/.config/nvim
13
init.lua
50
2302
kr40/nvim
/
9
init.lua
69
4166
Nias26/ever.nvim
/
1
init.lua
46
2214
rizkyilhampra/nvim-config
/
0
init.lua
104
5173