From b9b9c69615b469146e3cc75adcf9bd61047404eb Mon Sep 17 00:00:00 2001 From: Ahmed Khalf Date: Wed, 18 Aug 2021 09:34:26 +0400 Subject: [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 --- lua/core/project.lua | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 lua/core/project.lua (limited to 'lua/core/project.lua') diff --git a/lua/core/project.lua b/lua/core/project.lua new file mode 100644 index 00000000..650f2924 --- /dev/null +++ b/lua/core/project.lua @@ -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 -- cgit v1.2.3 From 7845b671ecb8634684f2d38158938bfe65fc5b31 Mon Sep 17 00:00:00 2001 From: Ahmed Khalf Date: Fri, 20 Aug 2021 23:22:35 +0400 Subject: Add show_hidden option to project module (#1359) --- lua/core/project.lua | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lua/core/project.lua') diff --git a/lua/core/project.lua b/lua/core/project.lua index 650f2924..6d7aa56e 100644 --- a/lua/core/project.lua +++ b/lua/core/project.lua @@ -20,6 +20,9 @@ function M.config() -- detection_methods patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json" }, + -- Show hidden files in telescope + show_hidden = false, + -- When set to false, you will get a message when project.nvim changes your -- directory. silent_chdir = true, -- cgit v1.2.3 From c5c9ae0fb68567c2a207c8c486b03bbafc650f98 Mon Sep 17 00:00:00 2001 From: kylo252 <59826753+kylo252@users.noreply.github.com> Date: Sun, 22 Aug 2021 08:35:50 +0200 Subject: [fix]: don't overwrite user's dashboard config (#1366) --- lua/core/project.lua | 49 +++++++++++++++++++++---------------------------- 1 file changed, 21 insertions(+), 28 deletions(-) (limited to 'lua/core/project.lua') diff --git a/lua/core/project.lua b/lua/core/project.lua index 6d7aa56e..7be65a11 100644 --- a/lua/core/project.lua +++ b/lua/core/project.lua @@ -2,50 +2,43 @@ 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. + --- This is on by default since it's currently the expected behavior. active = true, - -- Manual mode doesn't automatically change your root directory, so you have - -- the option to manually do so using `:ProjectRoot` command. + ---@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, - -- 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. + ---@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" }, - -- All the patterns used to detect root dir, when **"pattern"** is in - -- detection_methods + ---@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 + ---@ Show hidden files in telescope when searching for files in a project show_hidden = false, - -- When set to false, you will get a message when project.nvim changes your - -- directory. + ---@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 = CACHE_PATH, } 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", - } + require("project_nvim").setup(lvim.builtin.project) end -- return M -- cgit v1.2.3 From d85584d09f9028fa4202cea473f7f0ae3c531aef Mon Sep 17 00:00:00 2001 From: devtoi <508254+devtoi@users.noreply.github.com> Date: Sun, 22 Aug 2021 20:03:19 +0200 Subject: [Refactor/Bugfix] move on_config_done callbacks to relevant setup() (#1175) * Make autopairs config consistent with others * Fix two typos for autopairs * Remove extranous autopairs code. Return on setup * Remove extranous else for autopairs completion confirmation * Move on_config_done callbacks to setup functions. * Add on_config_done completion for builtins lacking a config function * enables galaxyline callbacks to work properly * Add modules for more builtins * Finish streamline of config function in plugin setup * Fix double use of which_key/wk * Fix erroneous remove of functionality in autopairs completion * consistency fixes * Work around telescope not found at config time * Match plugin definition of project and lualine with others * fix: restore config callback syntax Co-authored-by: Johan Melin Co-authored-by: rebuilt Co-authored-by: Luc Sinet Co-authored-by: kylo252 <59826753+kylo252@users.noreply.github.com> --- lua/core/project.lua | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'lua/core/project.lua') diff --git a/lua/core/project.lua b/lua/core/project.lua index 7be65a11..7fb04933 100644 --- a/lua/core/project.lua +++ b/lua/core/project.lua @@ -1,11 +1,13 @@ local M = {} --- + function M.config() lvim.builtin.project = { ---@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. @@ -36,9 +38,14 @@ function M.config() datapath = CACHE_PATH, } end --- + function M.setup() - require("project_nvim").setup(lvim.builtin.project) + local project = require "project_nvim" + + project.setup(lvim.builtin.project) + if lvim.builtin.project.on_config_done then + lvim.builtin.project.on_config_done(project) + end end --- + return M -- cgit v1.2.3