diff options
| author | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2022-01-12 22:55:59 +0100 | 
|---|---|---|
| committer | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2022-01-12 22:55:59 +0100 | 
| commit | c4d82f9683976b5445ceee3c4db37b42948a1cb7 (patch) | |
| tree | 2742c1ca872b52a2eed0cbffc54721ed99a4ac0c | |
| parent | e8d2c35ca15353f6a1de9b8b8e392ec29d17b830 (diff) | |
Add project
| -rw-r--r-- | lua/config/init.lua | 1 | ||||
| -rw-r--r-- | lua/config/project.lua | 51 | ||||
| -rw-r--r-- | lua/plugins.lua | 1 | 
3 files changed, 53 insertions, 0 deletions
diff --git a/lua/config/init.lua b/lua/config/init.lua index 3b14706..c4fe617 100644 --- a/lua/config/init.lua +++ b/lua/config/init.lua @@ -11,3 +11,4 @@ require("config.gitsigns")  require("config.nvim-tree")  require("config.bufferline")  require("config.lualine") +require("config.project") diff --git a/lua/config/project.lua b/lua/config/project.lua new file mode 100644 index 0000000..30a0557 --- /dev/null +++ b/lua/config/project.lua @@ -0,0 +1,51 @@ +-- Provides project management. + +local status_ok, project = pcall(require, "project_nvim") +if not status_ok then +	return +end + +project.setup({ +	---@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" }, + +	---@ 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"), +}) + +local tele_status_ok, telescope = pcall(require, "telescope") +if not tele_status_ok then +	return +end + +telescope.load_extension("projects") diff --git a/lua/plugins.lua b/lua/plugins.lua index b576b11..ca668ab 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -32,4 +32,5 @@ return {  		"nvim-lualine/lualine.nvim",  		requires = { "kyazdani42/nvim-web-devicons", opt = true },  	}, +	{ "ahmedkhalf/project.nvim" },  }  |