diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2015-05-09 02:43:47 -0400 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2015-05-17 02:17:34 -0400 |
commit | 84443f176e56f9c4140d97c077ea104d5373a666 (patch) | |
tree | 1838501c1bb5e3f8dbd8b7c42aa6113d703adbd3 | |
parent | 64c7a36933baa21b3d635e9ee5d48c36541a91f9 (diff) | |
download | rneovim-84443f176e56f9c4140d97c077ea104d5373a666.tar.gz rneovim-84443f176e56f9c4140d97c077ea104d5373a666.tar.bz2 rneovim-84443f176e56f9c4140d97c077ea104d5373a666.zip |
doc: v:servername, serverstart()
-rw-r--r-- | runtime/doc/eval.txt | 40 | ||||
-rw-r--r-- | runtime/doc/msgpack_rpc.txt | 2 | ||||
-rw-r--r-- | runtime/doc/remote.txt | 8 | ||||
-rw-r--r-- | src/nvim/eval.c | 4 | ||||
-rw-r--r-- | src/nvim/msgpack_rpc/server.c | 8 |
5 files changed, 32 insertions, 30 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 3865175a1f..5eb8f62d8b 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1583,7 +1583,9 @@ v:scrollstart String describing the script or function that caused the hit-enter prompt. *v:servername* *servername-variable* -v:servername The resulting registered |x11-clientserver| name if any. +v:servername Default {Nvim} server address. Equivalent to + |$NVIM_LISTEN_ADDRESS| on startup, but may differ if the + latter is modified or unset. |serverstop()| Read-only. @@ -2366,8 +2368,8 @@ char2nr({expr}[, {utf8}]) *char2nr()* char2nr("ABC") returns 65 < When {utf8} is omitted or zero, the current 'encoding' is used. Example for "utf-8": > - char2nr("á") returns 225 - char2nr("á"[0]) returns 195 + char2nr("á") returns 225 + char2nr("á"[0]) returns 195 < With {utf8} set to 1, always treat as utf-8 characters. A combining character is a separate character. |nr2char()| does the opposite. @@ -5374,25 +5376,31 @@ server2client( {clientid}, {string}) *server2client()* Example: > :echo server2client(expand("<client>"), "HELLO") < -serverlist() *serverlist()* +serverlist() *serverlist()* Returns a list of available server names in a list. When there are no servers an empty string is returned. Example: > :echo serverlist() +< *--serverlist* + The Vim command-line option `--serverlist` can be imitated: > + nvim --cmd "echo serverlist()" --cmd "q" +< +serverstart([{address}]) *serverstart()* + Opens a named pipe or TCP socket at {address} for clients to + connect to and returns {address}. If no address is given, it + is equivalent to: > + :call serverstart(tempname()) +< |$NVIM_LISTEN_ADDRESS| is set to {address} if not already set. + *--servername* + The Vim command-line option `--servername` can be imitated: > + nvim --cmd "let g:server_addr = serverstart('foo')" < -serverlisten([{address}]) *serverlisten()* - Opens a Unix or TCP socket at {address} for clients to connect - to and returns {address}. If no address is given, it is - equivalent to > - :call serverlisten(tempname()) -< If |$NVIM_LISTEN_ADDRESS| is not set, it will be set to - {address}. - serverstop({address}) *serverstop()* - Closes the Unix or TCP socket at {address}. Does nothing if - {address} is empty, or does not refer to a server. If - {address} equals |$NVIM_LISTEN_ADDRESS|, the listen address - will be unset. + Closes the pipe or socket at {address}. Does nothing if + {address} is empty or invalid. + If |$NVIM_LISTEN_ADDRESS| is stopped it is unset. + If |v:servername| is stopped it is set to the next available + address returned by |serverlist()|. setbufvar({expr}, {varname}, {val}) *setbufvar()* Set option or local variable {varname} in buffer {expr} to diff --git a/runtime/doc/msgpack_rpc.txt b/runtime/doc/msgpack_rpc.txt index b6142e2234..8304d79c17 100644 --- a/runtime/doc/msgpack_rpc.txt +++ b/runtime/doc/msgpack_rpc.txt @@ -81,6 +81,8 @@ There are four ways to open msgpack-rpc streams to nvim: > :echo $NVIM_LISTEN_ADDRESS < + See also |v:servername|. + 4. Through a TCP/IP socket. To make nvim listen on a TCP/IP socket, set the |$NVIM_LISTEN_ADDRESS| environment variable in a shell before starting: > diff --git a/runtime/doc/remote.txt b/runtime/doc/remote.txt index e84b7fc5e9..81ab72a100 100644 --- a/runtime/doc/remote.txt +++ b/runtime/doc/remote.txt @@ -56,11 +56,6 @@ The following command line arguments are available: *--remote-tab-wait-silent* --remote-tab-wait-silent Like --remote-wait-silent but open each file in a new tabpage. - *--servername* - --servername {name} Become the server {name}. When used together - with one of the --remote commands: connect to - server {name} instead of the default (see - below). *--remote-send* --remote-send {keys} Send {keys} to server and exit. The {keys} are not mapped. Special key names are @@ -69,9 +64,6 @@ The following command line arguments are available: *--remote-expr* --remote-expr {expr} Evaluate {expr} in server and print the result on stdout. - *--serverlist* - --serverlist Output a list of server names. - Examples ~ diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 906659a1f3..366afb1496 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -365,7 +365,7 @@ static struct vimvar { } vimvars[VV_LEN] = { /* - * The order here must match the VV_ defines in vim.h! + * The order here must match the VV_ defines in eval.h! * Initializing a union does not work, leave tv.vval empty to get zero's. */ {VV_NAME("count", VAR_NUMBER), VV_COMPAT+VV_RO}, @@ -13356,7 +13356,7 @@ static void f_serverlist(typval_T *argvars, typval_T *rettv) static void f_serverstart(typval_T *argvars, typval_T *rettv) { rettv->v_type = VAR_STRING; - rettv->vval.v_string = NULL; // Will hold the address of the new server. + rettv->vval.v_string = NULL; // Address of the new server if (check_restricted() || check_secure()) { return; diff --git a/src/nvim/msgpack_rpc/server.c b/src/nvim/msgpack_rpc/server.c index 884a2f8bff..ab1b04d73f 100644 --- a/src/nvim/msgpack_rpc/server.c +++ b/src/nvim/msgpack_rpc/server.c @@ -28,13 +28,13 @@ typedef enum { } ServerType; typedef struct { - // The address of a pipe, or string value of a tcp address. + // Pipe/socket path, or TCP address string char addr[ADDRESS_MAX_SIZE]; // Type of the union below ServerType type; - // This is either a tcp server or unix socket(named pipe on windows) + // TCP server or unix socket (named pipe on Windows) union { struct { uv_tcp_t handle; @@ -144,7 +144,7 @@ int server_start(const char *endpoint) size_t addr_len = (size_t)(ip_end - addr); if (addr_len > sizeof(ip) - 1) { - // Maximum length of an IP address buffer is 15(eg: 255.255.255.255) + // Maximum length of an IPv4 address buffer is 15 (eg: 255.255.255.255) addr_len = sizeof(ip) - 1; } @@ -245,7 +245,7 @@ void server_stop(char *endpoint) // Trim to `ADDRESS_MAX_SIZE` xstrlcpy(addr, endpoint, sizeof(addr)); - int i = 0; // The index of the server whose address equals addr. + int i = 0; // Index of the server whose address equals addr. for (; i < servers.ga_len; i++) { server = ((Server **)servers.ga_data)[i]; if (strcmp(addr, server->addr) == 0) { |