From 69774e317982edbe943c7d75cb0369fc001dec39 Mon Sep 17 00:00:00 2001 From: Mathias Fußenegger Date: Fri, 3 Jun 2022 14:59:19 +0200 Subject: feat(lsp): add a start function (#18631) A alternative/subset of https://github.com/neovim/neovim/pull/18506 that should be forward compatible with a potential project system. Configuration of LSP clients (without lspconfig) now looks like this: vim.lsp.start({ name = 'my-server-name', cmd = {'name-of-language-server-executable'}, root_dir = vim.fs.dirname(vim.fs.find({'setup.py', 'pyproject.toml'}, { upward = true })[1]), }) --- runtime/lua/vim/fs.lua | 3 +++ 1 file changed, 3 insertions(+) (limited to 'runtime/lua/vim/fs.lua') diff --git a/runtime/lua/vim/fs.lua b/runtime/lua/vim/fs.lua index 9bf38f7bc3..6f9c48ca24 100644 --- a/runtime/lua/vim/fs.lua +++ b/runtime/lua/vim/fs.lua @@ -37,6 +37,9 @@ end ---@param file (string) File or directory ---@return (string) Parent directory of {file} function M.dirname(file) + if file == nil then + return nil + end return vim.fn.fnamemodify(file, ':h') end -- cgit