diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-02-06 16:29:12 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2022-02-06 16:29:12 +0800 |
commit | d65ee129143fedd43178c9be52095b5d2d06b5c2 (patch) | |
tree | bbf175cc42425a37cbdef14efde2892bdb07683b /runtime/doc/builtin.txt | |
parent | 8215c05945054755b2c3cadae198894372dbfe0f (diff) | |
download | rneovim-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.txt | 12 |
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|: > |