diff options
Diffstat (limited to 'nvim/.config/nvim/plugin/statusline.vim')
-rw-r--r-- | nvim/.config/nvim/plugin/statusline.vim | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/nvim/.config/nvim/plugin/statusline.vim b/nvim/.config/nvim/plugin/statusline.vim index a25fb6d..3241fc2 100644 --- a/nvim/.config/nvim/plugin/statusline.vim +++ b/nvim/.config/nvim/plugin/statusline.vim | |||
@@ -25,17 +25,17 @@ let g:currentmode={ | |||
25 | 25 | ||
26 | hi PrimaryBlock ctermfg=00 ctermbg=6 | 26 | hi PrimaryBlock ctermfg=00 ctermbg=6 |
27 | hi SecondaryBlock ctermfg=07 ctermbg=10 | 27 | hi SecondaryBlock ctermfg=07 ctermbg=10 |
28 | hi Blanks ctermfg=11 ctermbg=0 | 28 | hi Blanks ctermfg=08 ctermbg=0 |
29 | 29 | ||
30 | hi User1 ctermfg=01 ctermbg=0 | 30 | hi User1 ctermfg=01 ctermbg=0 |
31 | hi User2 ctermfg=02 ctermbg=0 | 31 | hi User2 ctermfg=02 ctermbg=0 |
32 | hi User3 ctermfg=03 ctermbg=0 | 32 | hi User3 ctermfg=03 ctermbg=0 |
33 | hi User4 ctermfg=04 ctermbg=0 | 33 | hi User4 ctermfg=12 ctermbg=0 |
34 | hi User5 ctermfg=05 ctermbg=0 | 34 | hi User5 ctermfg=05 ctermbg=0 |
35 | hi User6 ctermfg=06 ctermbg=0 | 35 | hi User6 ctermfg=06 ctermbg=0 |
36 | hi User7 ctermfg=07 ctermbg=0 | 36 | hi User7 ctermfg=07 ctermbg=0 |
37 | hi User8 ctermfg=08 ctermbg=0 | 37 | hi User8 ctermfg=08 ctermbg=0 |
38 | hi User9 ctermfg=09 ctermbg=0 | 38 | hi User9 ctermfg=00 ctermbg=0 |
39 | 39 | ||
40 | highlight EndOfBuffer ctermfg=black ctermbg=black | 40 | highlight EndOfBuffer ctermfg=black ctermbg=black |
41 | 41 | ||
@@ -45,7 +45,7 @@ endfunction | |||
45 | 45 | ||
46 | function! StatuslineGit() | 46 | function! StatuslineGit() |
47 | let l:branchname = GitBranch() | 47 | let l:branchname = GitBranch() |
48 | return strlen(l:branchname) > 0?' '.l:branchname.' ':'' | 48 | return strlen(l:branchname) > 0?l:branchname.' ':'' |
49 | endfunction | 49 | endfunction |
50 | 50 | ||
51 | function! ReadOnly() abort | 51 | function! ReadOnly() abort |
@@ -68,11 +68,11 @@ function! Filepath() abort | |||
68 | \ '' : substitute(l:basename . '/', '\C^' . $HOME, '~', '') | 68 | \ '' : substitute(l:basename . '/', '\C^' . $HOME, '~', '') |
69 | 69 | ||
70 | if empty(l:prefix) && empty(l:filename) | 70 | if empty(l:prefix) && empty(l:filename) |
71 | return printf('%%8*%%f%%*%s %%m%%*', '%8*') | 71 | return printf('%%4*%%f%%*%s %%m%%*', '%4*') |
72 | elseif empty(l:prefix) | 72 | elseif empty(l:prefix) |
73 | return printf('%%8*%%f%%*%s %%m%%*', '%6*') | 73 | return printf('%%4*%%f%%*%s %%m%%*', '%6*') |
74 | else | 74 | else |
75 | return printf('%%8*%s%%*%s%s%%*', l:prefix, &modified ? '%6*' : '%8*', l:filename) | 75 | return printf('%%4*%s%%*%s%s%%*', l:prefix, &modified ? '%6*' : '%4*', l:filename) |
76 | endif | 76 | endif |
77 | endfunction | 77 | endfunction |
78 | 78 | ||
@@ -81,12 +81,12 @@ function! LinterStatus() abort | |||
81 | if empty(info) | return '' | endif | 81 | if empty(info) | return '' | endif |
82 | let msgs = [] | 82 | let msgs = [] |
83 | if get(info, 'error', 0) | 83 | if get(info, 'error', 0) |
84 | call add(msgs, printf('%%5*%s×%%*', info['error'])) | 84 | call add(msgs, printf('%%5*%s×%%* ', info['error'])) |
85 | endif | 85 | endif |
86 | if get(info, 'warning', 0) | 86 | if get(info, 'warning', 0) |
87 | call add(msgs, printf('%%3*%s!%%*', info['warning'])) | 87 | call add(msgs, printf('%%3*%s!%%* ', info['warning'])) |
88 | endif | 88 | endif |
89 | return join(msgs, ' ') | 89 | return join(msgs, '') |
90 | endfunction | 90 | endfunction |
91 | 91 | ||
92 | function! StatusLine(mode) abort | 92 | function! StatusLine(mode) abort |
@@ -100,6 +100,7 @@ function! StatusLine(mode) abort | |||
100 | 100 | ||
101 | " active | 101 | " active |
102 | if a:mode ==# 'active' | 102 | if a:mode ==# 'active' |
103 | let l:line.='%6*·%*' . ' ' | ||
103 | let l:line.='%7*%{StatuslineGit()}' | 104 | let l:line.='%7*%{StatuslineGit()}' |
104 | let l:line.='%<' | 105 | let l:line.='%<' |
105 | let l:line.=Filepath() | 106 | let l:line.=Filepath() |
@@ -108,15 +109,13 @@ function! StatusLine(mode) abort | |||
108 | let l:line.=' %{ReadOnly()} %w%*' | 109 | let l:line.=' %{ReadOnly()} %w%*' |
109 | let l:line.='%9* %=%*' | 110 | let l:line.='%9* %=%*' |
110 | 111 | ||
111 | let l:line.='%7* %l,%c %*' | 112 | let l:line.=' ' . '%7*%l,%c%*' . ' ' |
112 | let l:line.='%8* %{g:currentmode[mode()]}%*' | ||
113 | let l:line.=' ' | ||
114 | let l:line.=LinterStatus() | 113 | let l:line.=LinterStatus() |
115 | let l:line.=' ' | 114 | let l:line.='%4*'. &filetype |
116 | let l:line.='%8*'. &filetype | ||
117 | 115 | ||
118 | else | 116 | else |
119 | " inactive | 117 | " inactive |
118 | let l:line.='%5*·%*' . ' ' | ||
120 | let l:line.='%#Blanks#' | 119 | let l:line.='%#Blanks#' |
121 | let l:line.='%f %5*%m%*' | 120 | let l:line.='%f %5*%m%*' |
122 | let l:line.='%#Blanks# %=%*' | 121 | let l:line.='%#Blanks# %=%*' |
@@ -133,4 +132,3 @@ augroup MyStatusLine | |||
133 | autocmd WinEnter * setl statusline=%!StatusLine('active') | 132 | autocmd WinEnter * setl statusline=%!StatusLine('active') |
134 | autocmd WinLeave * setl statusline=%!StatusLine('inactive') | 133 | autocmd WinLeave * setl statusline=%!StatusLine('inactive') |
135 | augroup END | 134 | augroup END |
136 | |||