您可以直接从 /after/plugin 文件夹中获取文件吗?

问题描述 投票:0回答:1

我决定大扫除并更新我的 nvim 配置文件/插件,并认为我会正确使用 after/plug 文件夹。 在设置 LSP(使用 mason、mason-lspconfig 和 lspconfig)时,我想将所有 lsp 语言服务器设置从 after/plugin/lsp/init.lua 移到它们自己的文件中(现在在 after/plugin/lsp/设置)。

问题是我似乎无法将它们要求到 init.lua 文件中。

我试过无济于事的事情:

require(‘after/plugin/lsp/settings/sumneko_lua.lua’)
require(vim.fn.stdpath("config") .. "/after/plugin/lsp/settings/sumneko_lua”)
require(vim.fn.expand('%:h').. ‘/settings/sumneko_lua’)

当我在 nvim 中资源文件时,使用

expand
的尝试有效;但在启动 nvim 时会导致错误。

我知道 after/plugin 中的所有文件都是在启动时自动获取的。所以如果我有一个文件 shared.lua:

local M = {}                                                                              
                                                                                         
function M.greet()                                                                        
  vim.notify("Hello!”)
end

return M

在与after/plugin/lsp/init.lua相同的文件夹中,如何从init.lua访问greet()函数?

任何指针将不胜感激。

lua config neovim
1个回答
0
投票

最后证明是一个非常简单的解决方案:我只是更新了 init.lua 中要搜索的路径

-- nvim/init.lua
-- Allow require to look in after/plugin folder

local home_dir = os.getenv("HOME")
package.path = home_dir .. "/.config/nvim/after/plugin/?.lua;" .. package.path

然后我可以要求 after/plugin 文件夹中的任何文件

例如 -

require("lsp/settings/sumneko")
require("lsp/shared").greet()

© www.soinside.com 2019 - 2024. All rights reserved.