(local nvim (require :lib/nvim)) (local navic (require :nvim-navic)) (import-macros {: do-req } :lib/macros) (let [lualine (require :lualine)] (lualine.setup {:options {:theme "ayu"} :sections {; :lualine_c [:filename (fn [] ; (let [lspsaga (require :lspsaga.symbol.winbar)] ; (lspsaga.get_bar)) :lualine_y [(fn [] (var msg "No Active LSP") (let [buf_ft (vim.api.nvim_buf_get_option 0 "filetype") clients (vim.lsp.get_active_clients)] (each [_ client (ipairs clients)] (let [filetypes (. client :config :filetypes)] (if (and filetypes (vim.fn.index filetypes buf_ft)) (set msg client.name)))) msg))] :lualine_x [:filetype]}})) (require :neo-tree) (do-req :gitsigns :setup) (do-req :marks :setup) ; (do-req :mini.pairs :setup) (do-req :mini.diff :setup) (do-req :mini.ai :setup) (do-req :mini.surround :setup {:mappings {:add "ys" :delete "ds" :replace "cs"}}) (do-req :todo-comments :setup) (do-req :ibl :setup {:scope {:exclude {:language ["fennel" "clojure" "janet"]}}}) (do-req :nvim-treesitter.configs :setup {:highlight {:enable true} :textobjects {:enable true} :indent {:enable true}}) (do-req :treesitter-context :setup {:max_lines 5}) (do-req :auto-session :setup {:log_level "info" :auto_session_suppress_dirs ["~/"]}) (nvim.opt :sessionoptions "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal") (do-req :aerial :setup {}) ;{:on_attach (fn [bufnr] ; (do ; (vim.keymap.set "n" "{" "AerialPrev" { :buffer bufnr}) ; (vim.keymap.set "n" "}" "AerialNext" { :buffer bufnr}))