I have a small patch, below, for the netrw plugin.
- I found that the netrw plugin didn't properly recognize the difference
between netrw_sizestyle values of "h" and "H" if ignorecase is turned on.
- I also prefer to have it format the size with a sometimes consistent
width. I didn't go the the effort to compute how wide it needed to be in
the patch below, bit it will make it align better much of the time.
- Finally, I added a little bit to the netrw documentation to make the
g:netrw_dynamic_maxfilenamelen setting easier to find.
--- runtime/autoload/netrw.vim 2021-10-13 16:55:56.217948000 -0700
+++ local/share/vim/vim82/autoload/netrw.vim 2022-03-21
11:08:02.071576000 -0700
@@ -12174,34 +12174,34 @@
fun! s:NetrwHumanReadable(sz)
" call Dfunc("s:NetrwHumanReadable(sz=".a:sz.") type=".type(a:sz)."
style=".g:netrw_sizestyle )
- if g:netrw_sizestyle == 'h'
+ if g:netrw_sizestyle ==# 'h'
if a:sz >= 1000000000
- let sz = printf("%.1f",a:sz/1000000000.0)."g"
+ let sz = printf("%4.1f",a:sz/1000000000.0)."g"
elseif a:sz >= 10000000
- let sz = printf("%d",a:sz/1000000)."m"
+ let sz = printf("%4d",a:sz/1000000)."m"
elseif a:sz >= 1000000
- let sz = printf("%.1f",a:sz/1000000.0)."m"
+ let sz = printf("%4.1f",a:sz/1000000.0)."m"
elseif a:sz >= 10000
- let sz = printf("%d",a:sz/1000)."k"
+ let sz = printf("%4d",a:sz/1000)."k"
elseif a:sz >= 1000
- let sz = printf("%.1f",a:sz/1000.0)."k"
+ let sz = printf("%4.1f",a:sz/1000.0)."k"
else
- let sz= a:sz
+ let sz= printf("%4d",a:sz) . " "
endif
- elseif g:netrw_sizestyle == 'H'
+ elseif g:netrw_sizestyle ==# 'H'
if a:sz >= 1073741824
- let sz = printf("%.1f",a:sz/1073741824.0)."G"
+ let sz = printf("%4.1f",a:sz/1073741824.0)."G"
elseif a:sz >= 10485760
- let sz = printf("%d",a:sz/1048576)."M"
+ let sz = printf("%4d",a:sz/1048576)."M"
elseif a:sz >= 1048576
- let sz = printf("%.1f",a:sz/1048576.0)."M"
+ let sz = printf("%4.1f",a:sz/1048576.0)."M"
elseif a:sz >= 10240
- let sz = printf("%d",a:sz/1024)."K"
+ let sz = printf("%4d",a:sz/1024)."K"
elseif a:sz >= 1024
- let sz = printf("%.1f",a:sz/1024.0)."K"
+ let sz = printf("%4.1f",a:sz/1024.0)."K"
else
- let sz= a:sz
+ let sz= printf("%4d",a:sz) . " "
endif
else
--- runtime/doc/pi_netrw.txt 2022-03-21 11:12:31.791377000 -0700
+++ local/share/vim/vim82/doc/pi_netrw.txt 2022-03-21
11:24:25.756314000 -0700
@@ -1401,6 +1401,7 @@
<
Associated setting variables: |g:netrw_liststyle| |g:netrw_maxfilenamelen|
|g:netrw_timefmt| |g:netrw_list_cmd|
+ |g:netrw_dynamic_maxfilenamelen|
CHANGE FILE PERMISSION
*netrw-gp* {{{2
@@ -2880,7 +2881,8 @@
If your screen is wider, and you have file
or directory names longer than 32 bytes,
you may set this option to keep listings
- columnar.
+ columnar.
+ Also see |g:netrw_dynamic_maxfilenamelen|
*g:netrw_mkdir_cmd* command for making a remote directory
via ssh (also see |g:netrw_remote_mkdir|)
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/7b8d675f-c392-41a4-8754-abc44d14ca1dn%40googlegroups.com.