From 3b7326b6ed7fea45663a95803d81cfddcf4373d1 Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Thu, 21 May 2020 13:17:58 +0530 Subject: [PATCH] nvim: plugin: statusline: Show read only or modified status Signed-off-by: Sanchayan Maity --- nvim/.config/nvim/plugin/statusline.vim | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/nvim/.config/nvim/plugin/statusline.vim b/nvim/.config/nvim/plugin/statusline.vim index 5a36d51..e8f1a06 100644 --- a/nvim/.config/nvim/plugin/statusline.vim +++ b/nvim/.config/nvim/plugin/statusline.vim @@ -19,9 +19,24 @@ function! GetCursorPosition() \ : '' endfunction +function! GetFileStatus() + if &buftype != '' + return '' + endif + + let l:file = expand('%:p') + let l:status = + \ (&readonly || (filereadable(l:file) && !filewritable(l:file)) + \ ? 'R' + \ : '') + \ . (&modified ? '+m' : '') + return len(l:status) > 0 ? ' ' . l:status : '' +endfunction + function! ActiveStatus() abort let statusline="" let statusline.="%1*\ %{winnr()}\ " + let statusline.="%4*\ %{GetFileStatus()}" let statusline.="%2*\ %Y\ " let statusline.="%3*%<%f" let statusline.="%=" @@ -32,6 +47,7 @@ endfunction function! PassiveStatus() abort let statusline="" let statusline.="%5*\ %{winnr()}\ " + let statusline.="%8*\ %{GetFileStatus()}" let statusline.="%6*\ %Y\ " let statusline.="%7*%<%f" let statusline.="%="