aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/path.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2022-06-01 11:28:14 -0700
committerJustin M. Keyes <justinkz@gmail.com>2022-06-15 19:29:51 -0700
commit1f2c2a35ad14cfac002d87073471bd84a52860bf (patch)
treed1830fbb6b8774249da3fbc2f9caae82aa044863 /src/nvim/path.c
parentb6467dfc23dab476e256490b8014bbb488684e6b (diff)
downloadrneovim-1f2c2a35ad14cfac002d87073471bd84a52860bf.tar.gz
rneovim-1f2c2a35ad14cfac002d87073471bd84a52860bf.tar.bz2
rneovim-1f2c2a35ad14cfac002d87073471bd84a52860bf.zip
feat(server): instance "name", store pipes in stdpath(state)
Problem: - Unix sockets are created in random /tmp dirs. - /tmp is messy, unclear when OSes actually clear it. - The generated paths are very ugly. This adds friction to reasoning about which paths belong to which Nvim instances. - No way to provide a human-friendly way to identify Nvim instances in logs or server addresses. Solution: - Store unix sockets in stdpath('state') - Allow --listen "name" and serverstart("name") to given a name (which is appended to a generated path). TODO: - is stdpath(state) the right place?
Diffstat (limited to 'src/nvim/path.c')
-rw-r--r--src/nvim/path.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/nvim/path.c b/src/nvim/path.c
index 7f47ce083d..9859ca7daa 100644
--- a/src/nvim/path.c
+++ b/src/nvim/path.c
@@ -88,7 +88,12 @@ FileComparison path_full_compare(char_u *const s1, char_u *const s2, const bool
return kDifferentFiles;
}
-/// Gets the tail (i.e., the filename segment) of a path `fname`.
+/// Gets the tail (filename segment) of path `fname`.
+///
+/// Examples:
+/// - "dir/file.txt" => "file.txt"
+/// - "file.txt" => "file.txt"
+/// - "dir/" => ""
///
/// @return pointer just past the last path separator (empty string, if fname
/// ends in a slash), or empty string if fname is NULL.