(import-macros {: setl!} :nvrc.macro.set) (import-macros {: ag! : au!} :nvrc.macro.event) (local {: mode : update-mode-colors} (require :nvrc.ui.modules.vi_mode)) (local {: diagnostics} (require :nvrc.ui.modules.diagnostics)) (local {: file-size} (require :nvrc.ui.modules.misc)) (global statusline {}) (set statusline.enable (fn [] (table.concat ["%#StatusLinePad#" "▊ " "%#StatusLine#" (update-mode-colors) (mode) "%#StatusLineFile#" "%f%m%r " "%#StatusLine#" (file-size) "%l:%c | " (diagnostics) "%=" "%#StatusLineFileData#" "%y *%n "]))) (ag! ui-statusline (au! [WinEnter BufEnter] * #(setl! statusline "%!v:lua.statusline.enable()")) (au! [WinLeave BufLeave] * #(setl! statusline "")))