67 lines
2.5 KiB
Lua
67 lines
2.5 KiB
Lua
local status_ok, project = pcall(require, "project_nvim")
|
|
if not status_ok then
|
|
print('project load error')
|
|
return
|
|
end
|
|
|
|
-- The problem of load telescope fails is duplicate name
|
|
-- put your config into a sub dir solves this problem
|
|
local tele_ok, telescope = pcall(require, "telescope")
|
|
if not tele_ok then
|
|
print('telescope load error')
|
|
return
|
|
end
|
|
|
|
vim.api.nvim_set_keymap('n', '<leader>ff', ':Telescope find_files<CR>', {noremap = true, silent = true})
|
|
vim.api.nvim_set_keymap('n', '<leader>fb', ':Telescope buffers<CR>', {noremap = true, silent = true})
|
|
vim.api.nvim_set_keymap('n', '<leader>rg', ':Telescope live_grep<CR>', {noremap = true, silent = true})
|
|
vim.api.nvim_set_keymap('n', '<leader>fh', ':Telescope help_tags<CR>', {noremap = true, silent = true})
|
|
|
|
project.setup({
|
|
sync_root_with_cwd = true,
|
|
respect_buf_cwd = true,
|
|
update_focused_file = {
|
|
enable = true,
|
|
update_root = true
|
|
},
|
|
|
|
-- @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" },
|
|
|
|
-- @usage patterns used to detect root dir, when **"pattern"** is in detection_methods
|
|
patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json", "README", "src", "pkg" },
|
|
|
|
-- @ Show hidden files in telescope when searching for files in a project
|
|
show_hidden = false,
|
|
|
|
-- @usage When set to false, you will get a message when project.nvim changes your directory.
|
|
-- When set to false, you will get a message when project.nvim changes your directory.
|
|
silent_chdir = true,
|
|
|
|
-- @usage list of lsp client names to ignore when using **lsp** detection. eg: { "efm", ... }
|
|
ignore_lsp = {},
|
|
|
|
-- @type string
|
|
-- @usage path to store the project history for use in telescope
|
|
datapath = vim.fn.stdpath("data"),
|
|
})
|
|
|
|
telescope.load_extension('projects')
|
|
|