From 0d1ce78d231773046320caa45fe1a18dfa366761 Mon Sep 17 00:00:00 2001 From: Michael Lingelbach Date: Thu, 11 Nov 2021 01:00:24 -0800 Subject: feat: add single file mode (#1385) * This adds a "single file mode" option for each language server * Currently, if a root is not detected, a new language server is started for each file opened. * Root directory is set to `nil` in start_client. Some servers will refuse to start, or otherwise panic. This is opt-in per server. * Some servers, such as rust-analyzer, explicitly have a "single file mode", we will not support that until it is officially part of the LSP specification Co-authored-by: Peter Lithammer --- lua/lspconfig/efm.lua | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'lua/lspconfig/efm.lua') diff --git a/lua/lspconfig/efm.lua b/lua/lspconfig/efm.lua index 0f2779d4..445dc6da 100644 --- a/lua/lspconfig/efm.lua +++ b/lua/lspconfig/efm.lua @@ -7,9 +7,8 @@ local bin_name = 'efm-langserver' configs[server_name] = { default_config = { cmd = { bin_name }, - root_dir = function(fname) - return util.root_pattern '.git'(fname) or util.path.dirname(fname) - end, + root_dir = util.find_git_ancestor, + single_file_support = true, }, docs = { @@ -31,7 +30,7 @@ require('lspconfig')['efm'].setup{ ]], default_config = { - root_dir = [[util.root_pattern(".git")(fname) or util.path.dirname(fname)]], + root_dir = [[util.root_pattern(".git")]], }, }, } -- cgit v1.2.3-70-g09d2