diff options
| author | nsfisis <nsfisis@gmail.com> | 2022-02-20 15:05:12 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2022-02-20 15:05:12 +0900 |
| commit | 3dbb4d8f59c5bb33460f06ff970bbb7d27fb57f8 (patch) | |
| tree | 2cec5934b59f7a9f91dfb2df0a0cd555fec949fc | |
| parent | 54c0b63d586bbf69d9b987cb7a43bccbbf02cbce (diff) | |
| download | dotfiles-3dbb4d8f59c5bb33460f06ff970bbb7d27fb57f8.tar.gz dotfiles-3dbb4d8f59c5bb33460f06ff970bbb7d27fb57f8.tar.zst dotfiles-3dbb4d8f59c5bb33460f06ff970bbb7d27fb57f8.zip | |
neovim: show current status of autosaving/spell in statusline
| -rw-r--r-- | .config/nvim/init.lua | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 102dff2..6f65522 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -919,17 +919,19 @@ function vimrc.statusline.build() local ro = vimrc.statusline.readonly(bufnr) local fname = vimrc.statusline.filename(bufnr) local mod = vimrc.statusline.modified(bufnr) + local extra_info = vimrc.statusline.extra_info(bufnr, winid) local linenum = vimrc.statusline.linenum(winid) local fenc = vimrc.statusline.fenc(bufnr) local eol = vimrc.statusline.eol(bufnr) local ff = vimrc.statusline.ff(bufnr) local ft = vimrc.statusline.filetype(bufnr) return string.format( - '%s %s%s%s %%= %s %s%s%s %s ', + '%s %s%s%s %%= %s%s %s%s%s %s ', left, ro and ro .. ' ' or '', fname, mod and ' ' .. mod or '', + extra_info == '' and '' or extra_info .. ' ', linenum, fenc, eol, @@ -1067,6 +1069,12 @@ function vimrc.statusline.modified(bufnr) end end +function vimrc.statusline.extra_info(bufnr, winid) + local autosave = F.getbufvar(bufnr, 'autosave_timer_id', -1) ~= -1 + local spell = F.getwinvar(winid, '&spell') == 1 + return (autosave and '(A)' or '') .. (spell and '(S)' or '') +end + function vimrc.statusline.linenum(winid) return F.line('.', winid) .. '/' .. F.line('$', winid) end |
