(let [heirline (require :heirline) utils (require :heirline.utils) conditions (require :heirline.conditions) ns (require :nifoc.statusline)] (local default-statusline [;; Left ns.vi-mode (utils.surround [" " ""] nil ns.git) (utils.surround [" " ""] nil ns.diagnostics) (utils.surround [" " ""] nil ns.current-function) ;; Right ns.push-right ns.filetype-block ns.space ns.buffer-options ns.space ns.scrollbar ns.space ns.position]) (local telescope-statusline {:condition (fn [] (conditions.buffer_matches {:filetype [:TelescopePrompt]})) 1 (ns.custom-mode :Telescope :black :green)}) (local shell-statusline {:condition (fn [] (not= vim.b.nifoc_shell_mode nil)) 1 ns.vi-mode 2 ns.push-right 3 ns.scrollbar 4 ns.space 5 (ns.shell-mode :black :purple)}) (local statuslines {:hl ns.default-hl :init utils.pick_child_on_condition 1 telescope-statusline 2 shell-statusline 3 default-statusline}) ;; Load Statusline (set vim.opt.laststatus 3) (heirline.setup statuslines))