neovim/runtime/autoload
zeertzjq 62dc1f2663
vim-patch:8750e3cf81f1 (#26163)
runtime(netrw): Fix handling of very long filename on longlist style (vim/vim#12150)

If there is a file with a very long filename (longer than
g:netrw_maxfilenamelen), and if g:netrw_liststyle is set to 1, no space
is inserted between the filename and the filesize and the file cannot be
opened because of this.

E.g.:
```
$ echo hello > 12345678901234567890123456789012	  # 32 bytes: OK
$ echo hello > 123456789012345678901234567890123  # 33 bytes: not OK
$ echo hello > 1234567890123456789012345678901234 # 34 bytes: not OK
$ echo hello > こんにちは                         # multibyte filename
$ LC_ALL=C.UTF-8 vim . --clean --cmd "set loadplugins" --cmd "let g:netrw_liststyle=1"
```

Then, it will be shown like this:
```
" ============================================================================
" Netrw Directory Listing                                        (netrw v171)
"   /cygdrive/c/work/netrw-test
"   Sorted by      name
"   Sort sequence: [\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,\~\=\*$,*,\.o$,\
"   Quick Help: <F1>:help  -:go up dir  D:delete  R:rename  s:sort-by  x:special
" ==============================================================================
../                              0 Mon Mar 13 19:25:16 2023
./                               0 Mon Mar 13 19:44:58 2023
12345678901234567890123456789012 6 Mon Mar 13 19:29:43 2023
12345678901234567890123456789012346 Mon Mar 13 19:32:40 2023
1234567890123456789012345678901236 Mon Mar 13 19:29:49 2023
こんにちは                  6 Mon Mar 13 19:30:41 2023
```

If the length of the filename is 32 bytes, there is a space between the
filename and the filesize. However, when it is longer than 32 bytes, no
space is shown.

Also, you may find that the filesize of the multibyte named file is not
aligned.

After this patch is applied, the filelist will be shown like this:
```
" ============================================================================
" Netrw Directory Listing                                        (netrw v171)
"   /cygdrive/c/work/netrw-test
"   Sorted by      name
"   Sort sequence: [\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,\~\=\*$,*,\.o$,\
"   Quick Help: <F1>:help  -:go up dir  D:delete  R:rename  s:sort-by  x:special
" ==============================================================================
../                                             0 Mon Mar 13 20:49:22 2023
./                                              0 Mon Mar 13 21:12:14 2023
1234567890123456789012345678901             10000 Mon Mar 13 20:57:55 2023
12345678901234567890123456789012                6 Mon Mar 13 19:29:43 2023
123456789012345678901234567890123               6 Mon Mar 13 19:29:49 2023
1234567890123456789012345678901234              6 Mon Mar 13 19:32:40 2023
1234567890123456789012345678901234567       10000 Mon Mar 13 21:03:23 2023
1234567890123456789012345678901234567890    10000 Mon Mar 13 21:03:36 2023
123456789012345678901234567890123456789012  10000 Mon Mar 13 21:03:59 2023
1234567890123456789012345678901234567890123  10000 Mon Mar 13 21:03:45 2023
1234567890123456789012345678901234567890123456  5 Mon Mar 13 21:08:15 2023
12345678901234567890123456789012345678901234567  10 Mon Mar 13 21:05:21 2023
こんにちは                                      6 Mon Mar 13 19:30:41 2023
```

Now we have 32 + 2 + 15 = 49 characters for filename and filesize.
It tries to align the filesize as much as possible.
The last line that has multibyte filename is also aligned.

Also fixed the issue that the file list is not shown correctly when
g:netrw_sort_by is set to 'size' and g:netrw_sizestyle is set to 'h' or
'H'.

8750e3cf81

Co-authored-by: K.Takata <kentkt@csc.jp>
2023-11-23 17:02:53 +08:00
..
cargo vim-patch:fc93594d562d 2023-09-13 17:23:45 +02:00
dist vim-patch:b2a4c110a5d1 2023-11-05 21:52:02 +01:00
provider fix(clipboard): don't pass --foreground to wl-copy (#25481) 2023-10-03 11:24:33 +08:00
remote runtime: support once on s:GetAutocmdPrefix (#16457) 2021-12-10 12:28:55 -07:00
rust vim-patch:fc93594d562d 2023-09-13 17:23:45 +02:00
xml re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
zig vim-patch:86b4816766d9 (#21314) 2022-12-08 16:33:38 +01:00
ada.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
adacomplete.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
bitbake.vim vim-patch:b529cfbd04c0 (#19501) 2022-07-26 11:26:23 +02:00
cargo.vim vim-patch:fc93594d562d 2023-09-13 17:23:45 +02:00
ccomplete.lua vim-patch:e978b4534a5e (#24697) 2023-08-13 13:25:10 +01:00
ccomplete.vim dist: generated version of ccomplete.vim (#21623) 2023-01-05 11:00:32 -05:00
clojurecomplete.vim vim-patch:46eea444d (#17920) 2022-03-30 12:12:12 +01:00
context.vim vim-patch:46fceaaa8d14 2017-04-29 01:47:36 +02:00
contextcomplete.vim vim-patch:46fceaaa8d14 2017-04-29 01:47:36 +02:00
csscomplete.vim vim-patch:34cc7d8c034f #15753 2021-09-22 06:12:06 -07:00
decada.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
freebasic.vim vim-patch:0d878b95d8f9 (#19197) 2022-07-02 11:06:03 +02:00
gnat.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
gzip.vim vim-patch:cd8a3eaf5348 2023-11-05 21:52:02 +01:00
haskellcomplete.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
health.vim fix(checkhealth): fix crash due to incorrect argument type 2023-04-16 12:26:13 +02:00
htmlcomplete.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
javascriptcomplete.vim vim-patch:a0fddaa2f4b7 2023-08-21 20:32:28 +09:00
msgpack.vim fix(messages): use "Vimscript" instead of "VimL" #24111 2023-06-22 04:09:14 -07:00
netrw_gitignore.vim runtime/netrw: 5ef1c6a4838a9629b793f3ae676f72a764171b00 2021-02-15 21:16:27 -05:00
netrw.vim vim-patch:8750e3cf81f1 (#26163) 2023-11-23 17:02:53 +08:00
netrwFileHandlers.vim vim-patch:1d59aa1fdfb1 2021-05-01 01:37:13 -04:00
netrwSettings.vim vim-patch:b7398fe41c9e (#23627) 2023-05-15 09:38:32 +02:00
paste.vim vim-patch:e978b4534a5e (#24697) 2023-08-13 13:25:10 +01:00
phpcomplete.vim vim-patch:dbf749bd5aae (#25665) 2023-10-16 16:36:25 +08:00
provider.vim Add overlapped option to jobstart 2020-06-10 22:21:14 +09:00
python3complete.vim vim-patch:46eea444d (#17920) 2022-03-30 12:12:12 +01:00
python.vim vim-patch:partial:dd60c365cd26 (#22437) 2023-02-28 09:34:27 +01:00
pythoncomplete.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
README.txt re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
RstFold.vim vim-patch:4c05fa08c973 2019-07-29 20:50:07 +02:00
rubycomplete.vim vim-patch:4d8f476176ea (#15612) 2021-09-10 08:48:27 +02:00
rust.vim vim-patch:fc93594d562d 2023-09-13 17:23:45 +02:00
rustfmt.vim vim-patch:dbf749bd5aae (#25665) 2023-10-16 16:36:25 +08:00
shada.vim fix(messages): use "Vimscript" instead of "VimL" #24111 2023-06-22 04:09:14 -07:00
spellfile.vim runtime: update g:spellfile_URL to URL used in Vim 8 2020-09-17 13:31:55 +02:00
sqlcomplete.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
syntaxcomplete.vim vim-patch:4c295027a426 2021-05-02 13:00:38 -04:00
tar.vim vim-patch:67abf1592c83 2023-11-14 23:29:09 +01:00
tohtml.vim vim-patch:86cfb39030eb 2023-09-09 08:29:50 +02:00
tutor.vim refactor(tutor): cleanup 2023-09-26 06:41:53 -07:00
vimexpect.vim fix(typo): overriden -> overridden (RE: PR #14159) (#15360) 2021-09-17 13:07:00 -04:00
xmlcomplete.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
xmlformat.vim xmlformat.vim: patch runtime/autoload to eab6dff19 2020-11-22 18:05:02 +01:00
zip.vim vim-patch:cd8a3eaf5348 2023-11-05 21:52:02 +01:00

The autoload directory is for standard Vim autoload scripts.

These are functions used by plugins and for general use.  They will be loaded
automatically when the function is invoked.  See ":help autoload".

gzip.vim	for editing compressed files
netrw*.vim	browsing (remote) directories and editing remote files
tar.vim		browsing tar files
zip.vim		browsing zip files
paste.vim	common code for mswin.vim, menu.vim and macmap.vim
spellfile.vim	downloading of a missing spell file

Omni completion files:
ccomplete.vim		C
csscomplete.vim		HTML / CSS
htmlcomplete.vim	HTML
javascriptcomplete.vim  Javascript
phpcomplete.vim		PHP
pythoncomplete.vim	Python
rubycomplete.vim	Ruby
syntaxcomplete.vim	from syntax highlighting
xmlcomplete.vim		XML (uses files in the xml directory)