aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2022-02-20 15:05:12 +0900
committernsfisis <nsfisis@gmail.com>2022-02-20 15:05:12 +0900
commit3dbb4d8f59c5bb33460f06ff970bbb7d27fb57f8 (patch)
tree2cec5934b59f7a9f91dfb2df0a0cd555fec949fc
parent54c0b63d586bbf69d9b987cb7a43bccbbf02cbce (diff)
downloaddotfiles-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.lua10
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