aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/builtin.txt
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-02-06 16:29:12 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-02-06 16:29:12 +0800
commitd65ee129143fedd43178c9be52095b5d2d06b5c2 (patch)
treebbf175cc42425a37cbdef14efde2892bdb07683b /runtime/doc/builtin.txt
parent8215c05945054755b2c3cadae198894372dbfe0f (diff)
downloadrneovim-d65ee129143fedd43178c9be52095b5d2d06b5c2.tar.gz
rneovim-d65ee129143fedd43178c9be52095b5d2d06b5c2.tar.bz2
rneovim-d65ee129143fedd43178c9be52095b5d2d06b5c2.zip
vim-patch:8.2.1741: pathshorten() only supports using one character
Problem: pathshorten() only supports using one character. Solution: Add an argument to control the length. (closes vim/vim#7006) https://github.com/vim/vim/commit/6a33ef0deb5c75c003a9f3bd1c57f3ca5e77327e Cherry-pick a line in test from patch 8.2.0634. Use Nvim's config paths in docs. shorten_dir() returning a pointer looks a bit confusing here, as it is actually the same pointer passed to it, and it doesn't really reduce much code, so change it back to void. Assigning rettv->vval.v_string = NULL is not needed if a pointer is within 64 bits. While this is usually the case, I'm not sure if it can be taken for granted.
Diffstat (limited to 'runtime/doc/builtin.txt')
-rw-r--r--runtime/doc/builtin.txt12
1 files changed, 8 insertions, 4 deletions
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index c68e86462d..56bc8bfb3e 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -314,7 +314,7 @@ nextnonblank({lnum}) Number line nr of non-blank line >= {lnum}
nr2char({expr}[, {utf8}]) String single char with ASCII/UTF-8 value {expr}
nvim_...({args}...) any call nvim |api| functions
or({expr}, {expr}) Number bitwise OR
-pathshorten({expr}) String shorten directory names in a path
+pathshorten({expr} [, {len}]) String shorten directory names in a path
perleval({expr}) any evaluate |perl| expression
pow({x}, {y}) Float {x} to the power of {y}
prevnonblank({lnum}) Number line nr of non-blank line <= {lnum}
@@ -5204,13 +5204,17 @@ or({expr}, {expr}) *or()*
< Can also be used as a |method|: >
:let bits = bits->or(0x80)
-pathshorten({path}) *pathshorten()*
+pathshorten({expr} [, {len}]) *pathshorten()*
Shorten directory names in the path {path} and return the
result. The tail, the file name, is kept as-is. The other
- components in the path are reduced to single letters. Leading
- '~' and '.' characters are kept. Example: >
+ components in the path are reduced to {len} letters in length.
+ If {len} is omitted or smaller than 1 then 1 is used (single
+ letters). Leading '~' and '.' characters are kept. Examples: >
:echo pathshorten('~/.config/nvim/autoload/file1.vim')
< ~/.c/n/a/file1.vim ~
+>
+ :echo pathshorten('~/.config/nvim/autoload/file2.vim', 2)
+< ~/.co/nv/au/file2.vim ~
It doesn't matter if the path exists or not.
Can also be used as a |method|: >