feat: serverlist({peer=true}) returns peer addresses #34806

Problem:
serverlist() only lists servers that were started by the current Nvim.

Solution:
Look for other Nvim servers in stdpath("run").
This commit is contained in:
Siddhant Agarwal
2025-07-28 10:10:04 +05:30
committed by GitHub
parent d08b265111
commit 5151f635ca
6 changed files with 112 additions and 5 deletions

View File

@@ -9655,17 +9655,25 @@ M.funcs = {
signature = 'searchpos({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])',
},
serverlist = {
args = { 0, 1 },
desc = [=[
Returns a list of server addresses, or empty if all servers
were stopped. |serverstart()| |serverstop()|
The optional argument {opts} is a Dict and supports the following items:
peer : If |TRUE|, servers not started by |serverstart()|
will also be returned. (default: |FALSE|)
Not supported on Windows yet.
Example: >vim
echo serverlist()
<
]=],
name = 'serverlist',
params = {},
params = { { 'opts', 'table' } },
returns = 'string[]',
signature = 'serverlist()',
signature = 'serverlist([{opts}])',
},
serverstart = {
args = { 0, 1 },