diff options
author | Max Christian Pohle | 2019-10-13 13:47:17 +0200 |
---|---|---|
committer | Max Christian Pohle | 2019-10-13 13:47:17 +0200 |
commit | 5ffd36adcb5e2aa352609a3d4e005b3e99173442 (patch) | |
tree | d92a75df87f63313b3a91e8279d39aadb37471e4 /plugin/max-splash.vim | |
parent | ba1f099db5afeedb323c05127df1cc34df85ec85 (diff) | |
download | vim-5ffd36adcb5e2aa352609a3d4e005b3e99173442.tar.bz2 vim-5ffd36adcb5e2aa352609a3d4e005b3e99173442.zip |
Refactored 'splash' a lot & minor fixes in statusline
Diffstat (limited to 'plugin/max-splash.vim')
-rw-r--r-- | plugin/max-splash.vim | 43 |
1 files changed, 25 insertions, 18 deletions
diff --git a/plugin/max-splash.vim b/plugin/max-splash.vim index bc578e1..3a23e60 100644 --- a/plugin/max-splash.vim +++ b/plugin/max-splash.vim | |||
@@ -3,24 +3,31 @@ | |||
3 | " Shows recently used files from the current directory in a location list | 3 | " Shows recently used files from the current directory in a location list |
4 | "======================================================================================================================= | 4 | "======================================================================================================================= |
5 | 5 | ||
6 | " moved after VimEnter of statusline, so that it does not get overwritten any | 6 | " autocmd VimEnter * call setloclist(0, filter(map(copy(v:oldfiles), {_, p->{'filename': expand(get(split(p, "'"), 0))}}), { val -> echo val})) |
7 | " more | 7 | " from the list of recent files: make absolute paths, filter out files not |
8 | if empty(argv()) | 8 | " contained in cwd and finally filter out directories and non-files... |
9 | 9 | autocmd StdinReadPre * let s:std_in=1 | |
10 | " autocmd VimEnter * call setloclist(0, filter(map(copy(v:oldfiles), {_, p->{'filename': expand(get(split(p, "'"), 0))}}), { val -> echo val})) | 10 | autocmd VimEnter * if !exists("s:std_in") && empty(argv()) |
11 | 11 | \ | call setloclist(0, []) | |
12 | " from the list of recent files: make absolute paths, filter out files not | 12 | \ | :lopen |
13 | " contained in cwd and finally filter out directories and non-files... | 13 | \ | setlocal nospell |
14 | autocmd StdinReadPre * let s:std_in=1 | 14 | \ | setlocal signcolumn=yes |
15 | autocmd VimEnter * if !exists("s:std_in") | call setloclist(0, [], 'r', | 15 | \ | setfiletype qf |
16 | \ { | 16 | \ | call setloclist(0, [], 'r', { |
17 | \ 'title':'Recently used files in directory: '.getcwd(), | 17 | \ 'title':'Recently used files in directory: '.getcwd(), |
18 | \ 'items':map(filter(filter( | 18 | \ 'items':sort(map(filter(filter(map(copy(v:oldfiles[:100]), |
19 | \ map(copy(v:oldfiles), | 19 | \ {_, p->expand(p)}), |
20 | \ {_, p->expand(p)}), 'v:val =~ "'.getcwd().'/"'), 'filereadable(v:val)'), | 20 | \ 'v:val =~ "'.getcwd().'/"'), |
21 | \ {_, p->{'filename': fnamemodify(p, ':.')}}) | 21 | \ 'filereadable(v:val)'), |
22 | \ }) | exec ':lopen '.getloclist(0, {'size' : 1}).size | setfiletype qf | wincmd w | 22 | \ {_, p->{'filename': p, |
23 | endif | 23 | \ 'module': printf("%s | %-*s ", |
24 | \ strftime("%F %H:%M", | ||
25 | \ getftime(p)), | ||
26 | \ winwidth(0) - wincol() - 20, | ||
27 | \ fnamemodify(p, ':.') | ||
28 | \ )}}), | ||
29 | \ {a1, a2 -> a1.module < a2.module}) | ||
30 | \ }) | wincmd w | ||
24 | 31 | ||
25 | " http://vimdoc.sourceforge.net/htmldoc/quickfix.html#:caddexpr | 32 | " http://vimdoc.sourceforge.net/htmldoc/quickfix.html#:caddexpr |
26 | " for c in range(char2nr('a'), char2nr('z')) + range(char2nr('A'), char2nr('Z')) + range(0,9) | let p = getpos("'".nr2char(c)) | if (p[1] > 0) | exec "sign define mark_".nr2char(c)." text=".nr2char(c)." linehl=linenr" | exec "sign place ".c." name=mark_".nr2char(c)." line=".p[1] | endif | endfor | 33 | " for c in range(char2nr('a'), char2nr('z')) + range(char2nr('A'), char2nr('Z')) + range(0,9) | let p = getpos("'".nr2char(c)) | if (p[1] > 0) | exec "sign define mark_".nr2char(c)." text=".nr2char(c)." linehl=linenr" | exec "sign place ".c." name=mark_".nr2char(c)." line=".p[1] | endif | endfor |