summaryrefslogtreecommitdiff
path: root/fnl
diff options
context:
space:
mode:
Diffstat (limited to 'fnl')
-rw-r--r--fnl/config/alpha.fnl6
-rw-r--r--fnl/config/autocmd.fnl29
-rw-r--r--fnl/config/autopairs.fnl37
-rw-r--r--fnl/config/better-escape.fnl12
-rw-r--r--fnl/config/bufferline.fnl112
-rw-r--r--fnl/config/cmp.fnl78
-rw-r--r--fnl/config/colorizer.fnl3
-rw-r--r--fnl/config/colorscheme.fnl3
-rw-r--r--fnl/config/comment.fnl36
-rw-r--r--fnl/config/gitsigns.fnl92
-rw-r--r--fnl/config/hop.fnl4
-rw-r--r--fnl/config/impatient.fnl3
-rw-r--r--fnl/config/init.fnl47
-rw-r--r--fnl/config/lsp/handlers.fnl106
-rw-r--r--fnl/config/lsp/init.fnl3
-rw-r--r--fnl/config/lsp/lsp-installer.fnl35
-rw-r--r--fnl/config/lsp/null-ls.fnl49
-rw-r--r--fnl/config/lsp/settings/jsonls.fnl21
-rw-r--r--fnl/config/lsp/settings/pyright.fnl6
-rw-r--r--fnl/config/lsp/settings/sumneko-lua.fnl38
-rw-r--r--fnl/config/lualine.fnl79
-rw-r--r--fnl/config/nvim-tree.fnl136
-rw-r--r--fnl/config/orgmode.fnl20
-rw-r--r--fnl/config/packer.fnl10
-rw-r--r--fnl/config/project.fnl34
-rw-r--r--fnl/config/spectre.fnl138
-rw-r--r--fnl/config/telescope.fnl157
-rw-r--r--fnl/config/treesitter.fnl61
-rw-r--r--fnl/config/trim.fnl3
-rw-r--r--fnl/config/which-key.fnl235
-rw-r--r--fnl/config/zen.fnl24
-rw-r--r--fnl/init.fnl5
-rw-r--r--fnl/plugins.fnl125
-rw-r--r--fnl/settings/init.fnl4
-rw-r--r--fnl/settings/keymaps.fnl3
-rw-r--r--fnl/settings/options.fnl159
-rw-r--r--fnl/util.fnl36
37 files changed, 905 insertions, 1044 deletions
diff --git a/fnl/config/alpha.fnl b/fnl/config/alpha.fnl
index 82124ff..8265ff0 100644
--- a/fnl/config/alpha.fnl
+++ b/fnl/config/alpha.fnl
@@ -1,6 +1,5 @@
;; A customizable greeter.
-(module config.alpha
- {autoload {util util}})
+(module config.alpha {autoload {util util}})
(def- ascii-art [" ##############..... ############## "
" ##############......############## "
@@ -25,8 +24,7 @@
(let [dashboard (require :alpha.themes.dashboard)]
(set dashboard.section.header.val ascii-art)
(set dashboard.section.buttons.val
- [(dashboard.button :f " Find file"
- ":Telescope file_browser <CR>")
+ [(dashboard.button :f " Find file" ":Telescope file_browser <CR>")
(dashboard.button :e " New file" ":ene <BAR> startinsert <CR>")
(dashboard.button :p " Find project" ":Telescope projects <CR>")
(dashboard.button :r " Recently used files"
diff --git a/fnl/config/autocmd.fnl b/fnl/config/autocmd.fnl
index a3b58d1..d344015 100644
--- a/fnl/config/autocmd.fnl
+++ b/fnl/config/autocmd.fnl
@@ -1,11 +1,7 @@
;; Autocommands for nvim.
-(module config.autocmd
- {autoload {nvim aniseed.nvim
- a aniseed.core
- util util}})
+(module config.autocmd {autoload {nvim aniseed.nvim a aniseed.core util util}})
-(defn- autocmd [event opts]
- (nvim.create_autocmd event opts))
+(defn- autocmd [event opts] (nvim.create_autocmd event opts))
(autocmd :User
{:pattern :AlphaReady
@@ -19,22 +15,15 @@
:command "nnoremap <silent> <buffer> q :close<CR>"})
(autocmd :TextYankPost
- {:callback (lambda [] (vim.highlight.on_yank {:timeout 200}))})
+ {:callback (lambda []
+ (vim.highlight.on_yank {:timeout 200}))})
-(autocmd :BufWinEnter
- {:command "setlocal formatoptions-=cro"})
+(autocmd :BufWinEnter {:command "setlocal formatoptions-=cro"})
-(autocmd :FileType
- {:pattern "qf"
- :command "set nobuflisted"})
+(autocmd :FileType {:pattern :qf :command "set nobuflisted"})
-(autocmd :FileType
- {:pattern [:gitcommit :markdown]
- :command "setlocal wrap"})
+(autocmd :FileType {:pattern [:gitcommit :markdown] :command "setlocal wrap"})
-(autocmd :FileType
- {:pattern [:gitcommit :markdown]
- :command "setlocal spell"})
+(autocmd :FileType {:pattern [:gitcommit :markdown] :command "setlocal spell"})
-(autocmd :VimResized
- {:command "tabdo wincmd ="})
+(autocmd :VimResized {:command "tabdo wincmd ="})
diff --git a/fnl/config/autopairs.fnl b/fnl/config/autopairs.fnl
index 6e6e164..2b175fa 100644
--- a/fnl/config/autopairs.fnl
+++ b/fnl/config/autopairs.fnl
@@ -1,22 +1,21 @@
;; Autopairs for brackets and quote symbols.
-(module config.autopairs
- {autoload {util util}})
+(module config.autopairs {autoload {util util}})
(let [npairs (util.load-plugin :nvim-autopairs)]
- (npairs.setup
- {:check_ts true
- :ts_config {:lua [:string :source]
- :javascript [:string :template_string]
- :java false}
- :disable_filetype [:TelescopePrompt :spectre_panel]
- :fast_warp {:map :<M-e>
- :chars ["{" "[" "(" "\"" "'"]
- :pattern (string.gsub "[%'%\"%)%>%]%)%}%,]" "%s+" "")
- :check_comma true
- :highlight :PmenuSel
- :highlight_grey :LineNr
- :offset 0
- :end_key "$"
- :keys :qwertyuiopzxcvbnmasdfghjkl
- :highlight :PmenuSel
- :highlight_grey :LineNr}}))
+ (npairs.setup {:check_ts true
+ :ts_config {:lua [:string :source]
+ :javascript [:string :template_string]
+ :java false}
+ :disable_filetype [:TelescopePrompt :spectre_panel]
+ :fast_warp {:map :<M-e>
+ :chars ["{" "[" "(" "\"" "'"]
+ :pattern (string.gsub "[%'%\"%)%>%]%)%}%,]" "%s+"
+ "")
+ :check_comma true
+ :highlight :PmenuSel
+ :highlight_grey :LineNr
+ :offset 0
+ :end_key "$"
+ :keys :qwertyuiopzxcvbnmasdfghjkl
+ :highlight :PmenuSel
+ :highlight_grey :LineNr}}))
diff --git a/fnl/config/better-escape.fnl b/fnl/config/better-escape.fnl
index 360bfe2..93ec0a9 100644
--- a/fnl/config/better-escape.fnl
+++ b/fnl/config/better-escape.fnl
@@ -1,10 +1,8 @@
;; Better escape without nasty delay
-(module config.better-escape
- {autoload {util util}})
+(module config.better-escape {autoload {util util}})
(let [better-escape (util.load-plugin :better_escape)]
- (better-escape.setup
- {:mapping [:jk :jj]
- :timeout vim.o.timeoutlen
- :clear_empty_lines false
- :keys :<Esc>}))
+ (better-escape.setup {:mapping [:jk :jj]
+ :timeout vim.o.timeoutlen
+ :clear_empty_lines false
+ :keys :<Esc>}))
diff --git a/fnl/config/bufferline.fnl b/fnl/config/bufferline.fnl
index 3e2c86b..def604f 100644
--- a/fnl/config/bufferline.fnl
+++ b/fnl/config/bufferline.fnl
@@ -1,33 +1,31 @@
;; Topbar that displays open buffers.
-(module config.bufferline
- {autoload {util util}})
+(module config.bufferline {autoload {util util}})
-(def- options
- {:numbers :none
- :close_command "Bdelete! %d"
- :right_mouse_command nil
- :left_mouse_command nil
- :middle_mouse_command nil
- :indicator_icon ""
- :buffer_close_icon ""
- :modified_icon "●"
- :close_icon ""
- :left_trunc_marker "<"
- :right_trunc_marker ">"
- :max_name_length 30
- :max_prefix_length 30
- :tab_size 21
- :diagnostics false
- :diagnostics_update_in_insert false
- :offsets [{:filetype :NvimTree :text "" :padding 0}]
- :show_buffer_icons false
- :show_buffer_close_icons false
- :show_close_icon false
- :show_tab_indicators false
- :persist_buffer_sort true
- :separator_style :thin
- :enforce_regular_tabs true
- :always_show_bufferline true})
+(def- options {:numbers :none
+ :close_command "Bdelete! %d"
+ :right_mouse_command nil
+ :left_mouse_command nil
+ :middle_mouse_command nil
+ :indicator_icon ""
+ :buffer_close_icon ""
+ :modified_icon "●"
+ :close_icon ""
+ :left_trunc_marker "<"
+ :right_trunc_marker ">"
+ :max_name_length 30
+ :max_prefix_length 30
+ :tab_size 21
+ :diagnostics false
+ :diagnostics_update_in_insert false
+ :offsets [{:filetype :NvimTree :text "" :padding 0}]
+ :show_buffer_icons false
+ :show_buffer_close_icons false
+ :show_close_icon false
+ :show_tab_indicators false
+ :persist_buffer_sort true
+ :separator_style :thin
+ :enforce_regular_tabs true
+ :always_show_bufferline true})
(def- default-bg-tabline {:attribute :bg :highlight :TabLine})
@@ -38,34 +36,34 @@
(def- default-fg-normal {:attribute :fg :highlight :Normal})
(def- highlights
- {:fill {:guifg {:attribute :fg :highlight "#ff0000"}
- :guibg default-bg-tabline}
- :background {:guifg default-fg-tabline :guibg default-bg-tabline}
- :buffer_visible {:guifg default-fg-tabline :guibg default-bg-tabline}
- :close_button {:guifg default-fg-tabline :guibg default-bg-tabline}
- :close_button_visible {:guifg default-fg-tabline
- :guibg default-bg-tabline}
- :tab_selected {:guifg default-fg-normal :guibg default-bg-normal}
- :tab {:guifg default-fg-tabline :guibg default-bg-tabline}
- :tab_close {:guifg {:attribute :fg :highlight :TabLineSel}
- :guibg default-bg-normal}
- :duplicate_selected {:guifg {:attribute :fg :highlight :TabLineSel}
- :guibg {:attribute :bg :highlight :TabLineSel}
- :gui :italic}
- :duplicate_visible {:guifg default-fg-tabline
- :guibg default-bg-tabline
- :gui :italic}
- :duplicate {:guifg default-fg-tabline
- :guibg default-bg-tabline
- :gui :italic}
- :modified {:guifg default-fg-tabline :guibg default-bg-tabline}
- :modified_selected {:guifg default-fg-normal :guibg default-bg-normal}
- :modified_visible {:guifg default-fg-tabline :guibg default-bg-tabline}
- :separator {:guifg default-bg-tabline :guibg default-bg-tabline}
- :separator_selected {:guifg default-bg-normal :guibg default-bg-normal}
- :indicator_selected {:guifg {:attribute :fg
- :highlight :LspDiagnosticsDefaultHint}
- :guibg default-bg-normal}})
+ {:fill {:guifg {:attribute :fg :highlight "#ff0000"}
+ :guibg default-bg-tabline}
+ :background {:guifg default-fg-tabline :guibg default-bg-tabline}
+ :buffer_visible {:guifg default-fg-tabline :guibg default-bg-tabline}
+ :close_button {:guifg default-fg-tabline :guibg default-bg-tabline}
+ :close_button_visible {:guifg default-fg-tabline
+ :guibg default-bg-tabline}
+ :tab_selected {:guifg default-fg-normal :guibg default-bg-normal}
+ :tab {:guifg default-fg-tabline :guibg default-bg-tabline}
+ :tab_close {:guifg {:attribute :fg :highlight :TabLineSel}
+ :guibg default-bg-normal}
+ :duplicate_selected {:guifg {:attribute :fg :highlight :TabLineSel}
+ :guibg {:attribute :bg :highlight :TabLineSel}
+ :gui :italic}
+ :duplicate_visible {:guifg default-fg-tabline
+ :guibg default-bg-tabline
+ :gui :italic}
+ :duplicate {:guifg default-fg-tabline
+ :guibg default-bg-tabline
+ :gui :italic}
+ :modified {:guifg default-fg-tabline :guibg default-bg-tabline}
+ :modified_selected {:guifg default-fg-normal :guibg default-bg-normal}
+ :modified_visible {:guifg default-fg-tabline :guibg default-bg-tabline}
+ :separator {:guifg default-bg-tabline :guibg default-bg-tabline}
+ :separator_selected {:guifg default-bg-normal :guibg default-bg-normal}
+ :indicator_selected {:guifg {:attribute :fg
+ :highlight :LspDiagnosticsDefaultHint}
+ :guibg default-bg-normal}})
(let [bufferline (util.load-plugin :bufferline)]
- (bufferline.setup {:options options :highlights highlights}))
+ (bufferline.setup {: options : highlights}))
diff --git a/fnl/config/cmp.fnl b/fnl/config/cmp.fnl
index 591dfe6..8b37c1c 100644
--- a/fnl/config/cmp.fnl
+++ b/fnl/config/cmp.fnl
@@ -1,7 +1,5 @@
;; Configuration for completion plugin.
-(module config.cmp
- {autoload {nvim aniseed.nvim
- util util}})
+(module config.cmp {autoload {nvim aniseed.nvim util util}})
(let [cmp (util.load-plugin :cmp)
lspkind (util.load-plugin :lspkind)
@@ -9,40 +7,40 @@
luasnip-vscode (require :luasnip/loaders/from_vscode)]
(luasnip-vscode.lazy_load)
(lspkind.init)
- (cmp.setup {
- :snippet {:expand (fn [args]
- (luasnip.lsp_expand args.body))}
- :mapping (cmp.mapping.preset.insert {
- :<C-k> (cmp.mapping.select_prev_item)
- :<C-j> (cmp.mapping.select_next_item)
- :<C-b> (cmp.mapping (cmp.mapping.scroll_docs -1)
- [:i :c])
- :<C-f> (cmp.mapping (cmp.mapping.scroll_docs 1) [:i :c])
- :<C-space> (cmp.mapping (cmp.mapping.complete) [:i :c])
- :<C-e> (cmp.mapping {:i (cmp.mapping.abort)
- :c (cmp.mapping.close)})
- :<CR> (cmp.mapping.confirm {:select true})
- :<CR> (cmp.mapping.confirm {:select true})})
- :sources [{:name :nvim_lsp}
- {:name :nvim_lua}
- {:name :luasnip}
- {:name :buffer :keyword_length 4}
- {:name :path :keyword_length 6}]
- :formatting {:format (lspkind.cmp_format {:with_text true
- :menu {:buffer ""
- :nvim_lsp ""
- :nvim_lua ""
- :path ""
- :luasnip ""}})}
- :window {
- :documentation {:border ["╭"
- "─"
- "╮"
- "│"
- "╯"
- "─"
- "╰"
- "│"]}}
- :confirm_opts {:behavior cmp.ConfirmBehavior.Replace
- :select false}
- :experimental {:ghost_text false :native_menu false}}))
+ (cmp.setup {:snippet {:expand (fn [args]
+ (luasnip.lsp_expand args.body))}
+ :mapping (cmp.mapping.preset.insert {:<C-k> (cmp.mapping.select_prev_item)
+ :<C-j> (cmp.mapping.select_next_item)
+ :<C-b> (cmp.mapping (cmp.mapping.scroll_docs -1)
+ [:i :c])
+ :<C-f> (cmp.mapping (cmp.mapping.scroll_docs 1)
+ [:i :c])
+ :<C-space> (cmp.mapping (cmp.mapping.complete)
+ [:i
+ :c])
+ :<C-e> (cmp.mapping {:i (cmp.mapping.abort)
+ :c (cmp.mapping.close)})
+ :<CR> (cmp.mapping.confirm {:select true})
+ :<CR> (cmp.mapping.confirm {:select true})})
+ :sources [{:name :nvim_lsp}
+ {:name :nvim_lua}
+ {:name :luasnip}
+ {:name :buffer :keyword_length 4}
+ {:name :path :keyword_length 6}]
+ :formatting {:format (lspkind.cmp_format {:with_text true
+ :menu {:buffer ""
+ :nvim_lsp ""
+ :nvim_lua ""
+ :path ""
+ :luasnip ""}})}
+ :window {:documentation {:border ["╭"
+ "─"
+ "╮"
+ "│"
+ "╯"
+ "─"
+ "╰"
+ "│"]}}
+ :confirm_opts {:behavior cmp.ConfirmBehavior.Replace
+ :select false}
+ :experimental {:ghost_text false :native_menu false}}))
diff --git a/fnl/config/colorizer.fnl b/fnl/config/colorizer.fnl
index 7118388..4d0b381 100644
--- a/fnl/config/colorizer.fnl
+++ b/fnl/config/colorizer.fnl
@@ -1,6 +1,5 @@
;; Enables colorization of color codes in source files.
-(module config.colorizer
- {autoload {util util}})
+(module config.colorizer {autoload {util util}})
(let [colorizer (util.load-plugin :colorizer)]
(colorizer.setup))
diff --git a/fnl/config/colorscheme.fnl b/fnl/config/colorscheme.fnl
index 5bd19eb..2cadc02 100644
--- a/fnl/config/colorscheme.fnl
+++ b/fnl/config/colorscheme.fnl
@@ -1,6 +1,5 @@
;; Load neovim colorscheme.
-(module config.colorscheme
- {autoload {util util}})
+(module config.colorscheme {autoload {util util}})
(local colorscheme :no-clown-fiesta)
diff --git a/fnl/config/comment.fnl b/fnl/config/comment.fnl
index 92df966..78eaa7d 100644
--- a/fnl/config/comment.fnl
+++ b/fnl/config/comment.fnl
@@ -1,28 +1,22 @@
;; Language aware commenting.
-(module config.comment
- {autoload {util util}})
+(module config.comment {autoload {util util}})
-(defn- get-type [ctx U]
- (if (= ctx.ctype U.ctype.line)
- :__default
- :__multiline))
+(defn- get-type [ctx U] (if (= ctx.ctype U.ctype.line) :__default :__multiline))
-(defn- get-location [ctx U]
- (let [utils (require :ts_context_commentstring.utils)]
- (if (= ctx.ctype U.ctype.block)
- (utils.get_cursor_location)
- (or (= ctx.cmotion U.cmotion.v) (= ctx.cmotion U.cmotion.V))
- (utils.get_visual_start_location)
- nil)))
+(defn- get-location [ctx U] (let [utils (require :ts_context_commentstring.utils)]
+ (if (= ctx.ctype U.ctype.block)
+ (utils.get_cursor_location)
+ (or (= ctx.cmotion U.cmotion.v)
+ (= ctx.cmotion U.cmotion.V))
+ (utils.get_visual_start_location)
+ nil)))
(defn- pre-hook [ctx]
- (let [U (require :Comment.utils)
- internal (require :ts_context_commentstring.internal)]
- (internal.calculate_commentstring
- {:key (get-type ctx U)
- :location (get-location ctx U)})))
+ (let [U (require :Comment.utils)
+ internal (require :ts_context_commentstring.internal)]
+ (internal.calculate_commentstring {:key (get-type ctx U)
+ :location (get-location ctx U)})))
(let [nvim-comment (util.load-plugin :Comment)]
- (nvim-comment.setup
- {:pre_hook (fn [ctx]
- (pre-hook ctx))}))
+ (nvim-comment.setup {:pre_hook (fn [ctx]
+ (pre-hook ctx))}))
diff --git a/fnl/config/gitsigns.fnl b/fnl/config/gitsigns.fnl
index adf8305..07b9157 100644
--- a/fnl/config/gitsigns.fnl
+++ b/fnl/config/gitsigns.fnl
@@ -1,52 +1,48 @@
;; Add git signs to source files.
-(module config.gitsigns
- {autoload {util util}})
+(module config.gitsigns {autoload {util util}})
-(def- signs
- {:add
- {:hl :GitSignsAdd
- :text "▎"
- :numhl :GitSignsAddNr
- :linehl :GitSignsAddLn}
- :change {:hl :GitSignsChange
- :text "▎"
- :numhl :GitSignsChangeNr
- :linehl :GitSignsChangeLn}
- :delete {:hl :GitSignsDelete
- :text "契"
- :numhl :GitSignsDeleteNr
- :linehl :GitSignsDeleteLn}
- :topdelete {:hl :GitSignsDelete
- :text "契"
- :numhl :GitSignsDeleteNr
- :linehl :GitSignsDeleteLn}
- :changedelete {:hl :GitSignsChange
- :text "▎"
- :numhl :GitSignsChangeNr
- :linehl :GitSignsChangeLn}})
+(def- signs {:add {:hl :GitSignsAdd
+ :text "▎"
+ :numhl :GitSignsAddNr
+ :linehl :GitSignsAddLn}
+ :change {:hl :GitSignsChange
+ :text "▎"
+ :numhl :GitSignsChangeNr
+ :linehl :GitSignsChangeLn}
+ :delete {:hl :GitSignsDelete
+ :text "契"
+ :numhl :GitSignsDeleteNr
+ :linehl :GitSignsDeleteLn}
+ :topdelete {:hl :GitSignsDelete
+ :text "契"
+ :numhl :GitSignsDeleteNr
+ :linehl :GitSignsDeleteLn}
+ :changedelete {:hl :GitSignsChange
+ :text "▎"
+ :numhl :GitSignsChangeNr
+ :linehl :GitSignsChangeLn}})
(let [gitsigns (util.load-plugin :gitsigns)]
- (gitsigns.setup
- {:signs signs
- :signcolumn true
- :numhl false
- :linehl false
- :word_diff false
- :watch_gitdir {:interval 1000 :follow_files true}
- :attach_to_untracked true
- :current_line_blame false
- :current_line_blame_opts {:virt_text true
- :virt_text_pos :eol
- :delay 1000
- :ignore_whitespace false}
- :current_line_blame_formatter_opts {:relative_time false}
- :sign_priority 6
- :update_debounce 100
- :status_formatter nil
- :max_file_length 40000
- :preview_config {:border :single
- :style :minimal
- :relative :cursor
- :row 0
- :col 1}
- :yadm {:enable false}}))
+ (gitsigns.setup {: signs
+ :signcolumn true
+ :numhl false
+ :linehl false
+ :word_diff false
+ :watch_gitdir {:interval 1000 :follow_files true}
+ :attach_to_untracked true
+ :current_line_blame false
+ :current_line_blame_opts {:virt_text true
+ :virt_text_pos :eol
+ :delay 1000
+ :ignore_whitespace false}
+ :current_line_blame_formatter_opts {:relative_time false}
+ :sign_priority 6
+ :update_debounce 100
+ :status_formatter nil
+ :max_file_length 40000
+ :preview_config {:border :single
+ :style :minimal
+ :relative :cursor
+ :row 0
+ :col 1}
+ :yadm {:enable false}}))
diff --git a/fnl/config/hop.fnl b/fnl/config/hop.fnl
index b4b60a2..f623c0f 100644
--- a/fnl/config/hop.fnl
+++ b/fnl/config/hop.fnl
@@ -1,7 +1,5 @@
;; Hopping in text.
-(module config.hop
- {autoload {util util
- nvim aniseed.nvim}})
+(module config.hop {autoload {util util nvim aniseed.nvim}})
(let [hop (util.load-plugin :hop)]
(hop.setup {}))
diff --git a/fnl/config/impatient.fnl b/fnl/config/impatient.fnl
index fda96a4..ab37eb3 100644
--- a/fnl/config/impatient.fnl
+++ b/fnl/config/impatient.fnl
@@ -1,6 +1,5 @@
;; Speeds up loading of plugins.
-(module config.impatient
- {autoload {util util}})
+(module config.impatient {autoload {util util}})
(let [impatient (util.load-plugin :impatient)]
(impatient.enable_profile))
diff --git a/fnl/config/init.fnl b/fnl/config/init.fnl
index e668c63..e3021af 100644
--- a/fnl/config/init.fnl
+++ b/fnl/config/init.fnl
@@ -1,25 +1,24 @@
;; Load all plugin configs.
-(module config.init
- {require [config.impatient
- config.autocmd
- config.alpha
- config.autopairs
- config.better-escape
- config.bufferline
- config.cmp
- config.colorizer
- config.colorscheme
- config.comment
- config.gitsigns
- config.hop
- config.lualine
- config.nvim-tree
- config.orgmode
- config.project
- config.spectre
- config.telescope
- config.treesitter
- config.which-key
- config.zen
- config.trim
- config.lsp]})
+(module config.init {require [config.impatient
+ config.autocmd
+ config.alpha
+ config.autopairs
+ config.better-escape
+ config.bufferline
+ config.cmp
+ config.colorizer
+ config.colorscheme
+ config.comment
+ config.gitsigns
+ config.hop
+ config.lualine
+ config.nvim-tree
+ config.orgmode
+ config.project
+ config.spectre
+ config.telescope
+ config.treesitter
+ config.which-key
+ config.zen
+ config.trim
+ config.lsp]})
diff --git a/fnl/config/lsp/handlers.fnl b/fnl/config/lsp/handlers.fnl
index 34e1ac7..04f8297 100644
--- a/fnl/config/lsp/handlers.fnl
+++ b/fnl/config/lsp/handlers.fnl
@@ -1,66 +1,60 @@
;; Handlers for the requests and responses from and to the lsp server.
-(module config.lsp.handlers
- {autoload {util util
- nvim aniseed.nvim}})
+(module config.lsp.handlers {autoload {util util nvim aniseed.nvim}})
-(def- signs
- [{:name :DiagnosticSignError :text ""}
- {:name :DiagnosticSignWarn :text ""}
- {:name :DiagnosticSignHint :text ""}
- {:name :DiagnosticSignInfo :text ""}])
+(def- signs [{:name :DiagnosticSignError :text ""}
+ {:name :DiagnosticSignWarn :text ""}
+ {:name :DiagnosticSignHint :text ""}
+ {:name :DiagnosticSignInfo :text ""}])
-(defn- apply-signs []
- (each [_ sign (ipairs signs)]
- (vim.fn.sign_define sign.name
- {:texthl sign.name
- :text sign.text
- :numhl ""})))
+(defn- apply-signs [] (each [_ sign (ipairs signs)]
+ (vim.fn.sign_define sign.name
+ {:texthl sign.name
+ :text sign.text
+ :numhl ""})))
-(def- config
- {:virtual_text false
- :signs {:active signs}
- :update_in_insert true
- :underline true
- :severity_sort true
- :float {:focusable false
- :style :minimal
- :border :rounded
- :source :always
- :header ""
- :prefix ""}})
+(def- config {:virtual_text false
+ :signs {:active signs}
+ :update_in_insert true
+ :underline true
+ :severity_sort true
+ :float {:focusable false
+ :style :minimal
+ :border :rounded
+ :source :always
+ :header ""
+ :prefix ""}})
-(defn setup []
- (apply-signs)
- (vim.diagnostic.config config)
- (set vim.lsp.handlers.textDocument/hover
- (vim.lsp.with {:border :rounded}))
- (set vim.lsp.handlers.textDocument/signatureHelp
- (vim.lsp.with vim.lsp.handlers.signature_help {:border :rounded})))
+(defn setup [] (apply-signs) (vim.diagnostic.config config)
+ (set vim.lsp.handlers.textDocument/hover
+ (vim.lsp.with {:border :rounded}))
+ (set vim.lsp.handlers.textDocument/signatureHelp
+ (vim.lsp.with vim.lsp.handlers.signature_help {:border :rounded})))
(defn- lsp-keymaps [bufnr]
- (let [opts {:noremap true :silent true}]
- (nvim.buf_set_keymap bufnr :n :gD
- "<cmd>lua vim.lsp.buf.declaration()<CR>" opts)
- (nvim.buf_set_keymap bufnr :n :gd
- "<cmd>lua vim.lsp.buf.definition()<CR>" opts)
- (nvim.buf_set_keymap bufnr :n :K "<cmd>lua vim.lsp.buf.hover()<CR>"
- opts)
- (nvim.buf_set_keymap bufnr :n :gI
- "<cmd>lua vim.lsp.buf.implementation()<CR>" opts)
- (nvim.buf_set_keymap bufnr :n :gr
- "<cmd>lua vim.lsp.buf.references()<CR>" opts)
- (nvim.buf_set_keymap bufnr :n :gl
- "<cmd>lua vim.diagnostic.open_float()<CR>" opts)
- (nvim.buf_set_keymap bufnr :n :<leader>q
- "<cmd>lua vim.diagnostic.setloclist()<CR>" opts)))
+ (let [opts {:noremap true :silent true}]
+ (nvim.buf_set_keymap bufnr :n :gD
+ "<cmd>lua vim.lsp.buf.declaration()<CR>" opts)
+ (nvim.buf_set_keymap bufnr :n :gd
+ "<cmd>lua vim.lsp.buf.definition()<CR>" opts)
+ (nvim.buf_set_keymap bufnr :n :K "<cmd>lua vim.lsp.buf.hover()<CR>"
+ opts)
+ (nvim.buf_set_keymap bufnr :n :gI
+ "<cmd>lua vim.lsp.buf.implementation()<CR>" opts)
+ (nvim.buf_set_keymap bufnr :n :gr
+ "<cmd>lua vim.lsp.buf.references()<CR>" opts)
+ (nvim.buf_set_keymap bufnr :n :gl
+ "<cmd>lua vim.diagnostic.open_float()<CR>" opts)
+ (nvim.buf_set_keymap bufnr :n :<leader>q
+ "<cmd>lua vim.diagnostic.setloclist()<CR>" opts)))
-(defn on-attach [client bufnr]
- (if (= client.name :html)
- (set client.resolved_capabilities.document_formatting false))
- (lsp-keymaps bufnr))
+(defn on-attach [client bufnr] (if (= client.name :html)
+ (set client.resolved_capabilities.document_formatting
+ false))
+ (lsp-keymaps bufnr))
(defn capabilities []
- (let [capabilities (vim.lsp.protocol.make_client_capabilities)]
- (set capabilities.textDocument.completion.completionItem.snippetSupport true)
- (let [cmp-nvim-lsp (util.load-plugin :cmp_nvim_lsp)]
- (cmp-nvim-lsp.update_capabilities capabilities))))
+ (let [capabilities (vim.lsp.protocol.make_client_capabilities)]
+ (set capabilities.textDocument.completion.completionItem.snippetSupport
+ true)
+ (let [cmp-nvim-lsp (util.load-plugin :cmp_nvim_lsp)]
+ (cmp-nvim-lsp.update_capabilities capabilities))))
diff --git a/fnl/config/lsp/init.fnl b/fnl/config/lsp/init.fnl
index 8e23202..5ec20c1 100644
--- a/fnl/config/lsp/init.fnl
+++ b/fnl/config/lsp/init.fnl
@@ -1,6 +1,5 @@
;; Loads the LSP functionality.
-(module config.lsp.init
- {autoload {util util}})
+(module config.lsp.init {autoload {util util}})
(let [_ (util.load-plugin :lspconfig)]
(require :config.lsp.lsp-installer)
diff --git a/fnl/config/lsp/lsp-installer.fnl b/fnl/config/lsp/lsp-installer.fnl
index 42115c0..af9a4e8 100644
--- a/fnl/config/lsp/lsp-installer.fnl
+++ b/fnl/config/lsp/lsp-installer.fnl
@@ -1,33 +1,30 @@
;; Loads default handlers and specific language settings.
-(module config.lsp.lsp-installer
- {autoload {util util}})
+(module config.lsp.lsp-installer {autoload {util util}})
-(def handler-opts
- (let [handlers (require :config.lsp.handlers)]
- {:on_attach handlers.on-attach
- :capabilities (handlers.capabilities)}))
+(def handler-opts (let [handlers (require :config.lsp.handlers)]
+ {:on_attach handlers.on-attach
+ :capabilities (handlers.capabilities)}))
(defn- jsonls-opts []
- (let [jsonls-opts (require :config.lsp.settings.jsonls)]
- (vim.tbl_deep_extend :force jsonls-opts handler-opts)))
+ (let [jsonls-opts (require :config.lsp.settings.jsonls)]
+ (vim.tbl_deep_extend :force jsonls-opts handler-opts)))
(defn- sumneko-lua-opts []
- (let [sumneko-lua (require :config.lsp.settings.sumneko-lua)]
- (vim.tbl_deep_extend :force sumneko-lua.opts handler-opts)))
+ (let [sumneko-lua (require :config.lsp.settings.sumneko-lua)]
+ (vim.tbl_deep_extend :force sumneko-lua.opts handler-opts)))
(defn- pyright-opts []
- (let [pyright (require :config.lsp.settings.pyright)]
- (vim.tbl_deep_extend :force pyright.opts handler-opts)))
+ (let [pyright (require :config.lsp.settings.pyright)]
+ (vim.tbl_deep_extend :force pyright.opts handler-opts)))
(defn- get-server-opts [server]
(match server.name
- "jsonls" (jsonls-opts)
- "pyright" (pyright-opts)
- "sumneko_lua" (sumneko-lua-opts)
+ :jsonls (jsonls-opts)
+ :pyright (pyright-opts)
+ :sumneko_lua (sumneko-lua-opts)
_ handler-opts))
(let [lsp-installer (util.load-plugin :nvim-lsp-installer)]
- (lsp-installer.on_server_ready
- (fn [server]
- (let [opts (get-server-opts server)]
- (server:setup opts)))))
+ (lsp-installer.on_server_ready (fn [server]
+ (let [opts (get-server-opts server)]
+ (server:setup opts)))))
diff --git a/fnl/config/lsp/null-ls.fnl b/fnl/config/lsp/null-ls.fnl
index 0d24373..b4b75c6 100644
--- a/fnl/config/lsp/null-ls.fnl
+++ b/fnl/config/lsp/null-ls.fnl
@@ -1,32 +1,27 @@
;; Adds LSP diagnostics and formatting.
-(module config.lsp.null-ls
- {autoload {util util}})
+(module config.lsp.null-ls {autoload {util util}})
(let [null-ls (util.load-plugin :null-ls)]
(let [formatting null-ls.builtins.formatting
diagnostics null-ls.builtins.diagnostics]
- (null-ls.setup
- {:debug false
- :sources [diagnostics.flake8
- diagnostics.golangci_lint
- diagnostics.jsonlint
- diagnostics.shellcheck
- diagnostics.yamllint
- (formatting.black.with
- {:extra_args [:--fast]})
- formatting.erlfmt
- formatting.fnlfmt
- formatting.fourmolu
- formatting.gofmt
- formatting.goimports
- formatting.nixfmt
- (formatting.prettier.with
- {:extra_args
- [:--no-semi
- :--single-quote
- :--jsx-single-quote]})
- formatting.rustfmt
- formatting.shfmt
- formatting.sqlformat
- formatting.stylua
- formatting.terraform_fmt]})))
+ (null-ls.setup {:debug false
+ :sources [diagnostics.flake8
+ diagnostics.golangci_lint
+ diagnostics.jsonlint
+ diagnostics.shellcheck
+ diagnostics.yamllint
+ (formatting.black.with {:extra_args [:--fast]})
+ formatting.erlfmt
+ formatting.fnlfmt
+ formatting.fourmolu
+ formatting.gofmt
+ formatting.goimports
+ formatting.nixfmt
+ (formatting.prettier.with {:extra_args [:--no-semi
+ :--single-quote
+ :--jsx-single-quote]})
+ formatting.rustfmt
+ formatting.shfmt
+ formatting.sqlformat
+ formatting.stylua
+ formatting.terraform_fmt]})))
diff --git a/fnl/config/lsp/settings/jsonls.fnl b/fnl/config/lsp/settings/jsonls.fnl
index f8dfdc2..18d9256 100644
--- a/fnl/config/lsp/settings/jsonls.fnl
+++ b/fnl/config/lsp/settings/jsonls.fnl
@@ -1,17 +1,10 @@
;; Json schema store catalog language server.
-(module config.lsp.settings.jsonls
- {autoload {util util}})
+(module config.lsp.settings.jsonls {autoload {util util}})
(let [schemastore (util.load-plugin :schemastore)]
- {:init_options
- {:providerFormatter false}
- :settings
- {:json
- {:schemas
- (schemastore.json.schemas)}}
- :setup
- {:commands
- {:Format
- [(fn []
- (vim.lsp.buf.range_formatting
- [] [0 0] [(vim.fn.line "$" 0)]))]}}})
+ {:init_options {:providerFormatter false}
+ :settings {:json {:schemas (schemastore.json.schemas)}}
+ :setup {:commands {:Format [(fn []
+ (vim.lsp.buf.range_formatting [] [0 0]
+ [(vim.fn.line "$"
+ 0)]))]}}})
diff --git a/fnl/config/lsp/settings/pyright.fnl b/fnl/config/lsp/settings/pyright.fnl
index b1fa064..639ecff 100644
--- a/fnl/config/lsp/settings/pyright.fnl
+++ b/fnl/config/lsp/settings/pyright.fnl
@@ -1,8 +1,4 @@
;; Config for pyright language server.
(module config.lsp.settings.pyright)
-(def opts
- {:settings
- {:python
- {:analysis
- {:typeCheckingMode :off}}}})
+(def opts {:settings {:python {:analysis {:typeCheckingMode :off}}}})
diff --git a/fnl/config/lsp/settings/sumneko-lua.fnl b/fnl/config/lsp/settings/sumneko-lua.fnl
index d40fe9b..0f20f53 100644
--- a/fnl/config/lsp/settings/sumneko-lua.fnl
+++ b/fnl/config/lsp/settings/sumneko-lua.fnl
@@ -2,28 +2,22 @@
(module config.lsp.settings.sumneko-lua)
(def- workspace
- {:library {(vim.fn.expand "$VIMRUNTIME/lua") true
- (vim.fn.expand "$VIMRUNTIME/lua/vim/lsp") true}})
+ {:library {(vim.fn.expand :$VIMRUNTIME/lua) true
+ (vim.fn.expand :$VIMRUNTIME/lua/vim/lsp) true}})
-(def- diagnostics
- {:globals ["vim"
- "map"
- "filter"
- "range"
- "reduce"
- "head"
- "tail"
- "nth"
- "use"
- "describe"
- "it"
- "dump"]})
+(def- diagnostics {:globals [:vim
+ :map
+ :filter
+ :range
+ :reduce
+ :head
+ :tail
+ :nth
+ :use
+ :describe
+ :it
+ :dump]})
-(def- runtime
- {:version "LuaJIT"
- :path (vim.split package.path ";")})
+(def- runtime {:version :LuaJIT :path (vim.split package.path ";")})
-(def opts
- {:settings {:Lua {:diagnostics diagnostics
- :workspace workspace
- :runtime runtime}}})
+(def opts {:settings {:Lua {: diagnostics : workspace : runtime}}})
diff --git a/fnl/config/lualine.fnl b/fnl/config/lualine.fnl
index 1595594..5ab0920 100644
--- a/fnl/config/lualine.fnl
+++ b/fnl/config/lualine.fnl
@@ -1,53 +1,48 @@
;; Statusbar.
-(module config.lualine
- {autoload {util util}})
+(module config.lualine {autoload {util util}})
(defn- hide-in-width [] (> (vim.fn.winwidth 0) 80))
-(def- diagnostics
- {1 :diagnostics
- :sources [:nvim_diagnostic]
- :sections [:error :warn]
- :symbols {:error " " :warn " "}
- :colored false
- :update_in_insert false
- :always_visible true})
+(def- diagnostics {1 :diagnostics
+ :sources [:nvim_diagnostic]
+ :sections [:error :warn]
+ :symbols {:error " " :warn " "}
+ :colored false
+ :update_in_insert false
+ :always_visible true})
-(def- diff
- {1 :diff
- :colored false
- :symbols {:added " " :modified " " :removed " "}
- :cond hide-in-width})
+(def- diff {1 :diff
+ :colored false
+ :symbols {:added " " :modified " " :removed " "}
+ :cond hide-in-width})
(def- branch {1 "b:gitsigns_head" :icon " " :cond hide-in-width})
(def- filetype {1 :filetype :cond hide_in_width :color {}})
(let [lualine (util.load-plugin :lualine)]
- (lualine.setup
- {:options
- {:icons_enabled true
- :theme :auto
- :component_separators {:left "" :right ""}
- :section_separators {:left "" :right ""}
- :disabled_filetypes [:alpha
- :dashboard
- :NvimTree
- :Outline]
- :always_divide_middle true}
- :sections {:lualine_a [:mode]
- :lualine_b [branch :filename]
- :lualine_c [diff]
- :lualine_x [diagnostics filetype]
- :lualine_y {}
- :lualine_z [:location :progress :encoding]}
- :inactive_sections {:lualine_a [:mode]
- :lualine_b [:filename]
- :lualine_c {}
- :lualine_x {}
- :lualine_y {}
- :lualine_z [:location
- :progress
- :encoding]}
- :tabline {}
- :extensions {}}))
+ (lualine.setup {:options {:icons_enabled true
+ :theme :auto
+ :component_separators {:left "" :right ""}
+ :section_separators {:left "" :right ""}
+ :disabled_filetypes [:alpha
+ :dashboard
+ :NvimTree
+ :Outline]
+ :always_divide_middle true}
+ :sections {:lualine_a [:mode]
+ :lualine_b [branch :filename]
+ :lualine_c [diff]
+ :lualine_x [diagnostics filetype]
+ :lualine_y {}
+ :lualine_z [:location :progress :encoding]}
+ :inactive_sections {:lualine_a [:mode]
+ :lualine_b [:filename]
+ :lualine_c {}
+ :lualine_x {}
+ :lualine_y {}
+ :lualine_z [:location
+ :progress
+ :encoding]}
+ :tabline {}
+ :extensions {}}))
diff --git a/fnl/config/nvim-tree.fnl b/fnl/config/nvim-tree.fnl
index de8f316..541ef6a 100644
--- a/fnl/config/nvim-tree.fnl
+++ b/fnl/config/nvim-tree.fnl
@@ -1,10 +1,7 @@
;; A vertical sidebar file explorer.
-(module config.nvim-tree
- {autoload {util util
- nvim aniseed.nvim}})
+(module config.nvim-tree {autoload {util util nvim aniseed.nvim}})
-(set nvim.g.nvim_tree_show_icons
- { :git 1 :folders 1 :files 1 :folder_arrows 1 })
+(set nvim.g.nvim_tree_show_icons {:git 1 :folders 1 :files 1 :folder_arrows 1})
(set nvim.g.nvim_tree_icons
{:default ""
@@ -25,72 +22,63 @@
(let [nvim-tree (util.load-plugin :nvim-tree)
nvim-tree-config (util.load-plugin :nvim-tree.config)]
(let [tree-cb nvim-tree-config.nvim_tree_callback]
- (nvim-tree.setup
- {:auto_reload_on_write true
- :disable_netrw false
- :hijack_cursor false
- :hijack_netrw true
- :hijack_unnamed_buffer_when_opening false
- :ignore_buffer_on_setup false
- :open_on_setup false
- :open_on_tab false
- :sort_by :name
- :update_cwd true
- :view
- {:width 30
- :height 30
- :side :left
- :preserve_window_proportions false
- :number false
- :relativenumber false
- :signcolumn :yes
- :mappings
- {:custom_only false
- :list [{:key [:l :<CR> :o]
- :cb (tree_cb :edit)}
- {:key :h
- :cb (tree_cb :close_node)}
- {:key :v :cb (tree_cb :vsplit)}]}}
- :renderer
- {:icons
- {:webdev_colors false}}
- :hijack_directories {:enable true :auto_open true}
- :update_focused_file {:enable true
- :update_cwd true
- :ignore_list {}}
- :ignore_ft_on_setup [:startify :dashboard :alpha]
- :system_open {:cmd nil :args {}}
- :diagnostics {:enable true
- :show_on_dirs false
- :icons {:hint ""
- :info ""
- :warning ""
- :error ""}}
- :filters {:dotfiles false :custom {} :exclude {}}
- :git {:enable true :ignore true :timeout 400}
- :actions
- {:change_dir {:enable true :global false}
- :open_file {:quit_on_open false
- :resize_window false
- :window_picker
- {:enable true
- :chars :ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
- :exclude
- {:filetype
- [:notify
- :packer
- :qf
- :diff
- :fugitive
- :fugitiveblame]
- :buftype [:nofile
- :terminal
- :help]}}}}
- :trash {:cmd :trash :require_confirm true}
- :log {:enable false
- :truncate false
- :types {:all false
- :config false
- :copy_paste false
- :git false
- :profile false}}})))
+ (nvim-tree.setup {:auto_reload_on_write true
+ :disable_netrw false
+ :hijack_cursor false
+ :hijack_netrw true
+ :hijack_unnamed_buffer_when_opening false
+ :ignore_buffer_on_setup false
+ :open_on_setup false
+ :open_on_tab false
+ :sort_by :name
+ :update_cwd true
+ :view {:width 30
+ :height 30
+ :side :left
+ :preserve_window_proportions false
+ :number false
+ :relativenumber false
+ :signcolumn :yes
+ :mappings {:custom_only false
+ :list [{:key [:l :<CR> :o]
+ :cb (tree_cb :edit)}
+ {:key :h
+ :cb (tree_cb :close_node)}
+ {:key :v :cb (tree_cb :vsplit)}]}}
+ :renderer {:icons {:webdev_colors false}}
+ :hijack_directories {:enable true :auto_open true}
+ :update_focused_file {:enable true
+ :update_cwd true
+ :ignore_list {}}
+ :ignore_ft_on_setup [:startify :dashboard :alpha]
+ :system_open {:cmd nil :args {}}
+ :diagnostics {:enable true
+ :show_on_dirs false
+ :icons {:hint ""
+ :info ""
+ :warning ""
+ :error ""}}
+ :filters {:dotfiles false :custom {} :exclude {}}
+ :git {:enable true :ignore true :timeout 400}
+ :actions {:change_dir {:enable true :global false}
+ :open_file {:quit_on_open false
+ :resize_window false
+ :window_picker {:enable true
+ :chars :ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
+ :exclude {:filetype [:notify
+ :packer
+ :qf
+ :diff
+ :fugitive
+ :fugitiveblame]
+ :buftype [:nofile
+ :terminal
+ :help]}}}}
+ :trash {:cmd :trash :require_confirm true}
+ :log {:enable false
+ :truncate false
+ :types {:all false
+ :config false
+ :copy_paste false
+ :git false
+ :profile false}}})))
diff --git a/fnl/config/orgmode.fnl b/fnl/config/orgmode.fnl
index f428ad1..5913069 100644
--- a/fnl/config/orgmode.fnl
+++ b/fnl/config/orgmode.fnl
@@ -1,15 +1,13 @@
;; Orgmode for nvim.
-(module config.orgmode
- {autoload {util util}})
+(module config.orgmode {autoload {util util}})
(let [orgmode (util.load-plugin :orgmode)]
(orgmode.setup_ts_grammar)
- (orgmode.setup
- {:org_agenda_files ["~/.local/share/org/**/*"]
- :org_default_notes_file "~/.local/share/org/refile.org"
- :org_agenda_templates
- {:t {:description :Task
- :template "* TODO %?\n %u"}
- :m {:description :Meeting
- :template "* MEETING %? :MEETING: :LOGBOOK: CLOCK: %U :END:"}
- :n {:description :Note :template "* NOTE %? :NOTE:\n %u"}}}))
+ (orgmode.setup {:org_agenda_files ["~/.local/share/org/**/*"]
+ :org_default_notes_file "~/.local/share/org/refile.org"
+ :org_agenda_templates {:t {:description :Task
+ :template "* TODO %?\n %u"}
+ :m {:description :Meeting
+ :template "* MEETING %? :MEETING: :LOGBOOK: CLOCK: %U :END:"}
+ :n {:description :Note
+ :template "* NOTE %? :NOTE:\n %u"}}}))
diff --git a/fnl/config/packer.fnl b/fnl/config/packer.fnl
index 09c7ca2..bdb0d5e 100644
--- a/fnl/config/packer.fnl
+++ b/fnl/config/packer.fnl
@@ -1,11 +1,7 @@
;; Load packer config
-(module config.packer
- {autoload {util util}})
+(module config.packer {autoload {util util}})
(let [packer (util.load-plugin :packer)
packer-util (require :packer.util)]
- (packer.init
- {:display
- {:open_fn
- (fn []
- (packer-util.float {:border :rounded}))}}))
+ (packer.init {:display {:open_fn (fn []
+ (packer-util.float {:border :rounded}))}}))
diff --git a/fnl/config/project.fnl b/fnl/config/project.fnl
index 749604a..7d50fee 100644
--- a/fnl/config/project.fnl
+++ b/fnl/config/project.fnl
@@ -1,21 +1,19 @@
;; Provides project management.
-(module config.project
- {autoload {util util}})
+(module config.project {autoload {util util}})
(let [project (util.load-plugin :project_nvim)]
- (project.setup
- {:active true
- :on_config_done nil
- :manual_mode false
- :detection_methods [:patterns]
- :patterns [:git
- :_darcs
- :.hg
- :.bzr
- :.svn
- :Makefile
- :package.json]
- :show_hidden false
- :silent_chdir true
- :ignore_lsp {}
- :datapath (vim.fn.stdpath :data)}))
+ (project.setup {:active true
+ :on_config_done nil
+ :manual_mode false
+ :detection_methods [:patterns]
+ :patterns [:git
+ :_darcs
+ :.hg
+ :.bzr
+ :.svn
+ :Makefile
+ :package.json]
+ :show_hidden false
+ :silent_chdir true
+ :ignore_lsp {}
+ :datapath (vim.fn.stdpath :data)}))
diff --git a/fnl/config/spectre.fnl b/fnl/config/spectre.fnl
index 804a36f..5529714 100644
--- a/fnl/config/spectre.fnl
+++ b/fnl/config/spectre.fnl
@@ -1,80 +1,64 @@
;; Find and replace.
-(module config.spectre
- {autoload {util util}})
+(module config.spectre {autoload {util util}})
(let [spectre (util.load-plugin :spectre)]
- (spectre.setup
- {:color_devicons true
- :highlight {:ui :String
- :search :DiffChange
- :replace :DiffDelete}
- :mapping
- {:toggle_line
- {:map :t
- :cmd "<cmd>lua require('spectre').toggle_line()<CR>"
- :desc "toggle current item"}
- :enter_file
- {:map :<cr>
- :cmd "<cmd>lua require('spectre.actions').select_entry()<CR>"
- :desc "goto current file"}
- :send_to_qf
- {:map :Q
- :cmd "<cmd>lua require('spectre.actions').send_to_qf()<CR>"
- :desc "send all item to quickfix"}
- :replace_cmd
- {:map :c
- :cmd "<cmd>lua require('spectre.actions').replace_cmd()<CR>"
- :desc "input replace vim command"}
- :show_option_menu
- {:map :o
- :cmd "<cmd>lua require('spectre').show_options()<CR>"
- :desc "show option"}
- :run_replace
- {:map :R
- :cmd "<cmd>lua require('spectre.actions').run_replace()<CR>"
- :desc "replace all"}
- :change_view_mode
- {:map :m
- :cmd "<cmd>lua require('spectre').change_view()<CR>"
- :desc "change result view mode"}
- :toggle_ignore_case
- {:map :I
- :cmd "<cmd>lua require('spectre').change_options('ignore-case')<CR>"
- :desc "toggle ignore case"}
- :toggle_ignore_hidden
- {:map :H
- :cmd "<cmd>lua require('spectre').change_options('hidden')<CR>"
- :desc "toggle search hidden"}}
- :find_engine
- {:rg
- {:cmd :rg
- :args [:--color=never
- :--no-heading
- :--with-filename
- :--line-number
- :--column]
- :options
- {:ignore-case
- {:value :--ignore-case
- :icon "[I]"
- :desc "ignore case"}
- :hidden {:value :--hidden
- :desc "hidden file"
- :icon "[H]"}}}
- :ag {:cmd :ag
- :args [:--vimgrep :-s]
- :options {:ignore-case {:value :-i
- :icon "[I]"
- :desc "ignore case"}
- :hidden {:value :--hidden
- :desc "hidden file"
- :icon "[H]"}}}}
- :replace_engine {:sed {:cmd :sed :args nil}
- :options {:ignore-case {:value :--ignore-case
- :icon "[I]"
- :desc "ignore case"}}}
- :default {:find {:cmd :rg :options [:ignore-case]}
- :replace {:cmd :sed}}
- :replace_vim_cmd :cdo
- :is_open_target_win true
- :is_insert_mode false}))
+ (spectre.setup {:color_devicons true
+ :highlight {:ui :String
+ :search :DiffChange
+ :replace :DiffDelete}
+ :mapping {:toggle_line {:map :t
+ :cmd "<cmd>lua require('spectre').toggle_line()<CR>"
+ :desc "toggle current item"}
+ :enter_file {:map :<cr>
+ :cmd "<cmd>lua require('spectre.actions').select_entry()<CR>"
+ :desc "goto current file"}
+ :send_to_qf {:map :Q
+ :cmd "<cmd>lua require('spectre.actions').send_to_qf()<CR>"
+ :desc "send all item to quickfix"}
+ :replace_cmd {:map :c
+ :cmd "<cmd>lua require('spectre.actions').replace_cmd()<CR>"
+ :desc "input replace vim command"}
+ :show_option_menu {:map :o
+ :cmd "<cmd>lua require('spectre').show_options()<CR>"
+ :desc "show option"}
+ :run_replace {:map :R
+ :cmd "<cmd>lua require('spectre.actions').run_replace()<CR>"
+ :desc "replace all"}
+ :change_view_mode {:map :m
+ :cmd "<cmd>lua require('spectre').change_view()<CR>"
+ :desc "change result view mode"}
+ :toggle_ignore_case {:map :I
+ :cmd "<cmd>lua require('spectre').change_options('ignore-case')<CR>"
+ :desc "toggle ignore case"}
+ :toggle_ignore_hidden {:map :H
+ :cmd "<cmd>lua require('spectre').change_options('hidden')<CR>"
+ :desc "toggle search hidden"}}
+ :find_engine {:rg {:cmd :rg
+ :args [:--color=never
+ :--no-heading
+ :--with-filename
+ :--line-number
+ :--column]
+ :options {:ignore-case {:value :--ignore-case
+ :icon "[I]"
+ :desc "ignore case"}
+ :hidden {:value :--hidden
+ :desc "hidden file"
+ :icon "[H]"}}}
+ :ag {:cmd :ag
+ :args [:--vimgrep :-s]
+ :options {:ignore-case {:value :-i
+ :icon "[I]"
+ :desc "ignore case"}
+ :hidden {:value :--hidden
+ :desc "hidden file"
+ :icon "[H]"}}}}
+ :replace_engine {:sed {:cmd :sed :args nil}
+ :options {:ignore-case {:value :--ignore-case
+ :icon "[I]"
+ :desc "ignore case"}}}
+ :default {:find {:cmd :rg :options [:ignore-case]}
+ :replace {:cmd :sed}}
+ :replace_vim_cmd :cdo
+ :is_open_target_win true
+ :is_insert_mode false}))
diff --git a/fnl/config/telescope.fnl b/fnl/config/telescope.fnl
index 0babcf8..90a6f71 100644
--- a/fnl/config/telescope.fnl
+++ b/fnl/config/telescope.fnl
@@ -1,88 +1,83 @@
;; Telescope a highly extendable fuzzy finder over lists.
-(module config.telescope
- {autoload {util util}})
+(module config.telescope {autoload {util util}})
(let [telescope (util.load-plugin :telescope)]
(let [actions (require :telescope.actions)]
- (telescope.setup
- {:defaults
- {:prompt_prefix " "
- :selection_caret " "
- :path_display [:smart]
- :initial_mode :insert
- :selection_strategy :reset
- :sorting_strategy :ascending
- :layout_strategy :horizontal
- :layout_config {:prompt_position :top
- :preview_cutoff 120
- :horizontal {:mirror false}
- :vertical {:mirror false}}
- :vimgrep_arguments [:rg
- :--color=never
- :--no-heading
- :--with-filename
- :--line-number
- :--column
- :--smart-case
- :--hidden]
- :mappings {:i
- {:<C-n> actions.cycle_history_next
- :<C-p> actions.cycle_history_prev
- :<C-j> actions.move_selection_next
- :<C-k> actions.move_selection_previous
- :<C-c> actions.close
- :<Down> actions.move_selection_next
- :<Up> actions.move_selection_previous
- :<CR> actions.select_default
- :<C-x> actions.select_horizontal
- :<C-v> actions.select_vertical
- :<C-t> actions.select_tab
- :<C-u> actions.preview_scrolling_up
- :<C-d> actions.preview_scrolling_down
- :<PageUp> actions.results_scrolling_up
- :<PageDown> actions.results_scrolling_down
- :<Tab> (+ actions.toggle_selection
- actions.move_selection_worse)
- :<S-Tab> (+ actions.toggle_selection
- actions.move_selection_better)
- :<C-q> (+ actions.send_to_qflist
- actions.open_qflist)
- :<M-q> (+ actions.send_selected_to_qflist
- actions.open_qflist)
- :<C-l> actions.complete_tag
- :<C-_> actions.which_key}
- :n
- {:<esc> actions.close
- :<CR> actions.select_default
- :<C-x> actions.select_horizontal
- :<C-v> actions.select_vertical
- :<C-t> actions.select_tab
- :<Tab> (+ actions.toggle_selection
- actions.move_selection_worse)
- :<S-Tab> (+ actions.toggle_selection
- actions.move_selection_better)
- :<C-q> (+ actions.send_to_qflist
- actions.open_qflist)
- :<M-q> (+ actions.send_selected_to_qflist
- actions.open_qflist)
- :j actions.move_selection_next
- :k actions.move_selection_previous
- :H actions.move_to_top
- :M actions.move_to_middle
- :L actions.move_to_bottom
- :<Down> actions.move_selection_next
- :<Up> actions.move_selection_previous
- :gg actions.move_to_top
- :G actions.move_to_bottom
- :<C-u> actions.preview_scrolling_up
- :<C-d> actions.preview_scrolling_down
- :<PageUp> actions.results_scrolling_up
- :<PageDown> actions.results_scrolling_down
- :? actions.which_key}}}
- :extensions {:fzf {:fuzzy true
- :override_generic_sorter true
- :override_file_sorter true
- :case_mode :smart_case}}})
+ (telescope.setup {:defaults {:prompt_prefix " "
+ :selection_caret " "
+ :path_display [:smart]
+ :initial_mode :insert
+ :selection_strategy :reset
+ :sorting_strategy :ascending
+ :layout_strategy :horizontal
+ :layout_config {:prompt_position :top
+ :preview_cutoff 120
+ :horizontal {:mirror false}
+ :vertical {:mirror false}}
+ :vimgrep_arguments [:rg
+ :--color=never
+ :--no-heading
+ :--with-filename
+ :--line-number
+ :--column
+ :--smart-case
+ :--hidden]
+ :mappings {:i {:<C-n> actions.cycle_history_next
+ :<C-p> actions.cycle_history_prev
+ :<C-j> actions.move_selection_next
+ :<C-k> actions.move_selection_previous
+ :<C-c> actions.close
+ :<Down> actions.move_selection_next
+ :<Up> actions.move_selection_previous
+ :<CR> actions.select_default
+ :<C-x> actions.select_horizontal
+ :<C-v> actions.select_vertical
+ :<C-t> actions.select_tab
+ :<C-u> actions.preview_scrolling_up
+ :<C-d> actions.preview_scrolling_down
+ :<PageUp> actions.results_scrolling_up
+ :<PageDown> actions.results_scrolling_down
+ :<Tab> (+ actions.toggle_selection
+ actions.move_selection_worse)
+ :<S-Tab> (+ actions.toggle_selection
+ actions.move_selection_better)
+ :<C-q> (+ actions.send_to_qflist
+ actions.open_qflist)
+ :<M-q> (+ actions.send_selected_to_qflist
+ actions.open_qflist)
+ :<C-l> actions.complete_tag
+ :<C-_> actions.which_key}
+ :n {:<esc> actions.close
+ :<CR> actions.select_default
+ :<C-x> actions.select_horizontal
+ :<C-v> actions.select_vertical
+ :<C-t> actions.select_tab
+ :<Tab> (+ actions.toggle_selection
+ actions.move_selection_worse)
+ :<S-Tab> (+ actions.toggle_selection
+ actions.move_selection_better)
+ :<C-q> (+ actions.send_to_qflist
+ actions.open_qflist)
+ :<M-q> (+ actions.send_selected_to_qflist
+ actions.open_qflist)
+ :j actions.move_selection_next
+ :k actions.move_selection_previous
+ :H actions.move_to_top
+ :M actions.move_to_middle
+ :L actions.move_to_bottom
+ :<Down> actions.move_selection_next
+ :<Up> actions.move_selection_previous
+ :gg actions.move_to_top
+ :G actions.move_to_bottom
+ :<C-u> actions.preview_scrolling_up
+ :<C-d> actions.preview_scrolling_down
+ :<PageUp> actions.results_scrolling_up
+ :<PageDown> actions.results_scrolling_down
+ :? actions.which_key}}}
+ :extensions {:fzf {:fuzzy true
+ :override_generic_sorter true
+ :override_file_sorter true
+ :case_mode :smart_case}}})
(telescope.load_extension :fzf)
(telescope.load_extension :file_browser)
(telescope.load_extension :projects)))
diff --git a/fnl/config/treesitter.fnl b/fnl/config/treesitter.fnl
index ebb2a33..cdc8a7a 100644
--- a/fnl/config/treesitter.fnl
+++ b/fnl/config/treesitter.fnl
@@ -1,35 +1,34 @@
;; Treesitter is a tool for building syntax trees for source files.
;; In the neovim context it helps with better coloring.
-(module config.treesitter
- {autoload {util util}})
+(module config.treesitter {autoload {util util}})
(let [treesitter (util.load-plugin :nvim-treesitter.configs)]
- (treesitter.setup
- {:ensure_installed [:c
- :rust
- :lua
- :hcl
- :org
- :haskell
- :python
- :fennel
- :make
- :go
- :ocaml
- :erlang
- :vim
- :yaml
- :html
- :toml
- :dockerfile
- :markdown
- :latex]
- :sync_install false
- :ignore_install [""]
- :autopairs {:enable true}
- :highlight {:enable true
- :disable [:org]
- :additional_vim_regex_highlighting [:org]}
- :context_commentstring {:enable true :enable_autocmd false}
- :indent {:enable true :disable [:yaml :python :css]}
- :playground {:enable true}}))
+ (treesitter.setup {:ensure_installed [:c
+ :rust
+ :lua
+ :hcl
+ :org
+ :haskell
+ :python
+ :fennel
+ :make
+ :go
+ :ocaml
+ :erlang
+ :vim
+ :yaml
+ :html
+ :toml
+ :dockerfile
+ :markdown
+ :latex]
+ :sync_install false
+ :ignore_install [""]
+ :autopairs {:enable true}
+ :highlight {:enable true
+ :disable [:org]
+ :additional_vim_regex_highlighting [:org]}
+ :context_commentstring {:enable true
+ :enable_autocmd false}
+ :indent {:enable true :disable [:yaml :python :css]}
+ :playground {:enable true}}))
diff --git a/fnl/config/trim.fnl b/fnl/config/trim.fnl
index b87d3ef..05b62b6 100644
--- a/fnl/config/trim.fnl
+++ b/fnl/config/trim.fnl
@@ -1,6 +1,5 @@
;; Trim whitespaces on save.
-(module config.trim
- {autoload {util util}})
+(module config.trim {autoload {util util}})
(let [trim (util.load-plugin :trim)]
(trim.setup {}))
diff --git a/fnl/config/which-key.fnl b/fnl/config/which-key.fnl
index 7230308..70080b7 100644
--- a/fnl/config/which-key.fnl
+++ b/fnl/config/which-key.fnl
@@ -1,130 +1,125 @@
;; Which-key provides a pop-up meny for some key mappings.
-(module config.which-key
- {autoload {util util}})
+(module config.which-key {autoload {util util}})
-(def- setup
- {:plugins {:marks true
- :registers true
- :spelling {:enabled true :suggestions 20}
- :presets {:operators false
- :motions false
- :text_objects false
- :windows true
- :nav true
- :z true
- :g true}}
- :icons {:breadcrumb "»" :separator "" :group "+"}
- :popup_mappings {:scroll_down :<c-d> :scroll_up :<c-u>}
- :window {:border :rounded
- :position :bottom
- :margin [1 0 1 0]
- :padding [2 2 2 2]
- :winblend 0}
- :layout {:height {:min 4 :max 25}
- :width {:min 20 :max 50}
- :spacing 3
- :align :left}
- :ignore_missing true
- :hidden [:<silent> :<cmd> :<Cmd> :<CR> :call :lua "^:" "^ "]
- :show_help true
- :triggers :auto
- :triggers_blacklist {:i [:j :k] :v [:j :k]}})
+(def- setup {:plugins {:marks true
+ :registers true
+ :spelling {:enabled true :suggestions 20}
+ :presets {:operators false
+ :motions false
+ :text_objects false
+ :windows true
+ :nav true
+ :z true
+ :g true}}
+ :icons {:breadcrumb "»" :separator "" :group "+"}
+ :popup_mappings {:scroll_down :<c-d> :scroll_up :<c-u>}
+ :window {:border :rounded
+ :position :bottom
+ :margin [1 0 1 0]
+ :padding [2 2 2 2]
+ :winblend 0}
+ :layout {:height {:min 4 :max 25}
+ :width {:min 20 :max 50}
+ :spacing 3
+ :align :left}
+ :ignore_missing true
+ :hidden [:<silent> :<cmd> :<Cmd> :<CR> :call :lua "^:" "^ "]
+ :show_help true
+ :triggers :auto
+ :triggers_blacklist {:i [:j :k] :v [:j :k]}})
-(def- opts
- {:mode :n
- :prefix :<leader>
- :buffer nil
- :silent true
- :noremap true
- :nowait true})
+(def- opts {:mode :n
+ :prefix :<leader>
+ :buffer nil
+ :silent true
+ :noremap true
+ :nowait true})
(def- mappings
- {:k ["<cmd>lua require('Comment.api').toggle_current_linewise()<CR>"
- :Comment]
- :a [:<cmd>Alpha<cr> :Alpha]
- :b ["<cmd>lua require('telescope.builtin').buffers(require('telescope.themes').get_dropdown{previewer = false})<cr>"
- :Buffers]
- :e [:<cmd>NvimTreeToggle<cr> :Explorer]
- :c [:<cmd>Bdelete!<CR> "Close Buffer"]
- :n [:<cmd>nohlsearch<CR> "No Highlight"]
- :f ["<cmd>lua require('telescope.builtin').find_files(require('telescope.themes').get_dropdown{previewer = false})<cr>"
- "Find files"]
- :F ["<cmd>Telescope file_browser<cr>" "Browse files"]
- :t ["<cmd>Telescope live_grep theme=ivy<cr>" "Find Text"]
- :P ["<cmd>Telescope projects<cr>" :Projects]
- :z [:<cmd>ZenMode<cr> "Zen Mode"]
- :v [:<cmd>vsplit<cr> "Vertical Split"]
- :h [:<cmd>split<cr> "Horizontal Split"]
- :p {:name :Packer
- :c [:<cmd>PackerCompile<cr> :Compile]
- :i [:<cmd>PackerInstall<cr> :Install]
- :s [:<cmd>PackerSync<cr> :Sync]
- :S [:<cmd>PackerStatus<cr> :Status]
- :u [:<cmd>PackerUpdate<cr> :Update]}
- :g {:name :Git
- :g ["<cmd>lua _LAZYGIT_TOGGLE()<CR>" :Lazygit]
- :j ["<cmd>lua require 'gitsigns'.next_hunk()<cr>" "Next Hunk"]
- :k ["<cmd>lua require 'gitsigns'.prev_hunk()<cr>" "Prev Hunk"]
- :l ["<cmd>lua require 'gitsigns'.blame_line()<cr>" :Blame]
- :p ["<cmd>lua require 'gitsigns'.preview_hunk()<cr>" "Preview Hunk"]
- :r ["<cmd>lua require 'gitsigns'.reset_hunk()<cr>" "Reset Hunk"]
- :R ["<cmd>lua require 'gitsigns'.reset_buffer()<cr>" "Reset Buffer"]
- :s ["<cmd>lua require 'gitsigns'.stage_hunk()<cr>" "Stage Hunk"]
- :u ["<cmd>lua require 'gitsigns'.undo_stage_hunk()<cr>"
- "Undo Stage Hunk"]
- :o ["<cmd>Telescope git_status<cr>" "Open changed file"]
- :b ["<cmd>Telescope git_branches<cr>" "Checkout branch"]
- :c ["<cmd>Telescope git_commits<cr>" "Checkout commit"]
- :d ["<cmd>Gitsigns diffthis HEAD<cr>" :Diff]}
- :l {:name :LSP
- :a ["<cmd>lua vim.lsp.buf.code_action()<cr>" "Code Action"]
- :d ["<cmd>Telescope lsp_document_diagnostics<cr>"
- "Document Diagnostics"]
- :w ["<cmd>Telescope lsp_workspace_diagnostics<cr>"
- "Workspace Diagnostics"]
- :f ["<cmd>lua vim.lsp.buf.formatting()<cr>" :Format]
- :i [:<cmd>LspInfo<cr> :Info]
- :I [:<cmd>LspInstallInfo<cr> "Installer Info"]
- :j ["<cmd>lua vim.lsp.diagnostic.goto_next()<CR>" "Next Diagnostic"]
- :k ["<cmd>lua vim.lsp.diagnostic.goto_prev()<cr>" "Prev Diagnostic"]
- :l ["<cmd>lua vim.lsp.codelens.run()<cr>" "CodeLens Action"]
- :q ["<cmd>lua vim.lsp.diagnostic.set_loclist()<cr>" :Quickfix]
- :r ["<cmd>lua vim.lsp.buf.rename()<cr>" :Rename]
- :s ["<cmd>Telescope lsp_document_symbols<cr>" "Document Symbols"]
- :S ["<cmd>Telescope lsp_dynamic_workspace_symbols<cr>"
- "Workspace Symbols"]}
- :s {:name :Search
- :b ["<cmd>Telescope git_branches<cr>" "Checkout branch"]
- :c ["<cmd>Telescope colorscheme<cr>" :Colorscheme]
- :h ["<cmd>Telescope help_tags<cr>" "Find Help"]
- :M ["<cmd>Telescope man_pages<cr>" "Man Pages"]
- :r ["<cmd>Telescope oldfiles<cr>" "Open Recent File"]
- :R ["<cmd>Telescope registers<cr>" :Registers]
- :k ["<cmd>Telescope keymaps<cr>" :Keymaps]
- :C ["<cmd>Telescope commands<cr>" :Commands]}
- :o {:name :Orgmode
- :a ["<cmd>lua require('orgmode').action('agenda.prompt')"
- "Open agenda prompt"]
- :c ["<cmd>lua require('orgmode').action('capture.prompt')"
- "Open capture prompt"]}
- :r {:name :Replace
- :r ["<cmd>lua require('spectre').open()<cr>" :Replace]
- :w ["<cmd>lua require('spectre').open_visual({select_word=true})<cr>"
- "Replace Word"]
- :f ["<cmd>lua require('spectre').open_file_search()<cr>"
- "Replace Buffer"]}
- :T {:name :Treesitter :p [:<cmd>TSPlaygroundToggle<cr> :Playground]}})
+ {:k ["<cmd>lua require('Comment.api').toggle_current_linewise()<CR>"
+ :Comment]
+ :a [:<cmd>Alpha<cr> :Alpha]
+ :b ["<cmd>lua require('telescope.builtin').buffers(require('telescope.themes').get_dropdown{previewer = false})<cr>"
+ :Buffers]
+ :e [:<cmd>NvimTreeToggle<cr> :Explorer]
+ :c [:<cmd>Bdelete!<CR> "Close Buffer"]
+ :n [:<cmd>nohlsearch<CR> "No Highlight"]
+ :f ["<cmd>lua require('telescope.builtin').find_files(require('telescope.themes').get_dropdown{previewer = false})<cr>"
+ "Find files"]
+ :F ["<cmd>Telescope file_browser<cr>" "Browse files"]
+ :t ["<cmd>Telescope live_grep theme=ivy<cr>" "Find Text"]
+ :P ["<cmd>Telescope projects<cr>" :Projects]
+ :z [:<cmd>ZenMode<cr> "Zen Mode"]
+ :v [:<cmd>vsplit<cr> "Vertical Split"]
+ :h [:<cmd>split<cr> "Horizontal Split"]
+ :p {:name :Packer
+ :c [:<cmd>PackerCompile<cr> :Compile]
+ :i [:<cmd>PackerInstall<cr> :Install]
+ :s [:<cmd>PackerSync<cr> :Sync]
+ :S [:<cmd>PackerStatus<cr> :Status]
+ :u [:<cmd>PackerUpdate<cr> :Update]}
+ :g {:name :Git
+ :g ["<cmd>lua _LAZYGIT_TOGGLE()<CR>" :Lazygit]
+ :j ["<cmd>lua require 'gitsigns'.next_hunk()<cr>" "Next Hunk"]
+ :k ["<cmd>lua require 'gitsigns'.prev_hunk()<cr>" "Prev Hunk"]
+ :l ["<cmd>lua require 'gitsigns'.blame_line()<cr>" :Blame]
+ :p ["<cmd>lua require 'gitsigns'.preview_hunk()<cr>" "Preview Hunk"]
+ :r ["<cmd>lua require 'gitsigns'.reset_hunk()<cr>" "Reset Hunk"]
+ :R ["<cmd>lua require 'gitsigns'.reset_buffer()<cr>" "Reset Buffer"]
+ :s ["<cmd>lua require 'gitsigns'.stage_hunk()<cr>" "Stage Hunk"]
+ :u ["<cmd>lua require 'gitsigns'.undo_stage_hunk()<cr>"
+ "Undo Stage Hunk"]
+ :o ["<cmd>Telescope git_status<cr>" "Open changed file"]
+ :b ["<cmd>Telescope git_branches<cr>" "Checkout branch"]
+ :c ["<cmd>Telescope git_commits<cr>" "Checkout commit"]
+ :d ["<cmd>Gitsigns diffthis HEAD<cr>" :Diff]}
+ :l {:name :LSP
+ :a ["<cmd>lua vim.lsp.buf.code_action()<cr>" "Code Action"]
+ :d ["<cmd>Telescope lsp_document_diagnostics<cr>"
+ "Document Diagnostics"]
+ :w ["<cmd>Telescope lsp_workspace_diagnostics<cr>"
+ "Workspace Diagnostics"]
+ :f ["<cmd>lua vim.lsp.buf.formatting()<cr>" :Format]
+ :i [:<cmd>LspInfo<cr> :Info]
+ :I [:<cmd>LspInstallInfo<cr> "Installer Info"]
+ :j ["<cmd>lua vim.lsp.diagnostic.goto_next()<CR>" "Next Diagnostic"]
+ :k ["<cmd>lua vim.lsp.diagnostic.goto_prev()<cr>" "Prev Diagnostic"]
+ :l ["<cmd>lua vim.lsp.codelens.run()<cr>" "CodeLens Action"]
+ :q ["<cmd>lua vim.lsp.diagnostic.set_loclist()<cr>" :Quickfix]
+ :r ["<cmd>lua vim.lsp.buf.rename()<cr>" :Rename]
+ :s ["<cmd>Telescope lsp_document_symbols<cr>" "Document Symbols"]
+ :S ["<cmd>Telescope lsp_dynamic_workspace_symbols<cr>"
+ "Workspace Symbols"]}
+ :s {:name :Search
+ :b ["<cmd>Telescope git_branches<cr>" "Checkout branch"]
+ :c ["<cmd>Telescope colorscheme<cr>" :Colorscheme]
+ :h ["<cmd>Telescope help_tags<cr>" "Find Help"]
+ :M ["<cmd>Telescope man_pages<cr>" "Man Pages"]
+ :r ["<cmd>Telescope oldfiles<cr>" "Open Recent File"]
+ :R ["<cmd>Telescope registers<cr>" :Registers]
+ :k ["<cmd>Telescope keymaps<cr>" :Keymaps]
+ :C ["<cmd>Telescope commands<cr>" :Commands]}
+ :o {:name :Orgmode
+ :a ["<cmd>lua require('orgmode').action('agenda.prompt')"
+ "Open agenda prompt"]
+ :c ["<cmd>lua require('orgmode').action('capture.prompt')"
+ "Open capture prompt"]}
+ :r {:name :Replace
+ :r ["<cmd>lua require('spectre').open()<cr>" :Replace]
+ :w ["<cmd>lua require('spectre').open_visual({select_word=true})<cr>"
+ "Replace Word"]
+ :f ["<cmd>lua require('spectre').open_file_search()<cr>"
+ "Replace Buffer"]}
+ :T {:name :Treesitter :p [:<cmd>TSPlaygroundToggle<cr> :Playground]}})
-(def- vopts
- {:mode :v
- :prefix :<leader>
- :buffer nil
- :silent true
- :noremap true
- :nowait true})
+(def- vopts {:mode :v
+ :prefix :<leader>
+ :buffer nil
+ :silent true
+ :noremap true
+ :nowait true})
-(def- vmappings
- {:k ["<ESC><CMD>lua require('Comment.api').toggle_linewise_op(vim.fn.visualmode())<CR>"
+(def- vmappings {:k ["<ESC><CMD>lua require('Comment.api').toggle_linewise_op(vim.fn.visualmode())<CR>"
:Comment]})
(let [which-key (util.load-plugin :which-key)]
diff --git a/fnl/config/zen.fnl b/fnl/config/zen.fnl
index 6de7f8f..0f05710 100644
--- a/fnl/config/zen.fnl
+++ b/fnl/config/zen.fnl
@@ -1,17 +1,13 @@
;; Zen mode.
-(module config.zen
- {autoload {util util}})
+(module config.zen {autoload {util util}})
(let [zen-mode (util.load-plugin :zen-mode)]
- (zen-mode.setup
- {:window
- {:backdrop 1
- :height 0.8
- :width 0.5
- :options
- {:signcolumn :no
- :number false
- :relativenumber false}}
- :plugins {:gitsigns {:enabled false}
- :tmux {:enabled true}
- :twilight {:enabled true}}}))
+ (zen-mode.setup {:window {:backdrop 1
+ :height 0.8
+ :width 0.5
+ :options {:signcolumn :no
+ :number false
+ :relativenumber false}}
+ :plugins {:gitsigns {:enabled false}
+ :tmux {:enabled true}
+ :twilight {:enabled true}}}))
diff --git a/fnl/init.fnl b/fnl/init.fnl
index 2255db4..dd6d1b0 100644
--- a/fnl/init.fnl
+++ b/fnl/init.fnl
@@ -1,8 +1,5 @@
;; Install, load settings, and load plugin configs.
-(module init
- {autoload {util util}
- require [settings
- config.packer]})
+(module init {autoload {util util} require [settings config.packer]})
(util.install)
(util.sync)
diff --git a/fnl/plugins.fnl b/fnl/plugins.fnl
index 6260b43..b2de04e 100644
--- a/fnl/plugins.fnl
+++ b/fnl/plugins.fnl
@@ -1,66 +1,65 @@
;; List of plugins
(module plugins)
-(def plugins
- {:wbthomason/packer.nvim {}
- ;; Have packer manage itself
- :lewis6991/impatient.nvim {}
- :Olical/aniseed {}
- :nvim-lua/popup.nvim {}
- ;; An implementation of the Popup API from vim in Neovim
- :nvim-lua/plenary.nvim {}
- ;; Useful lua functions used ny lots of plugins
- ;; Colorschemes
- :aktersnurra/no-clown-fiesta.nvim {}
- ;; LSP
- :hrsh7th/nvim-cmp {}
- ;; The completion plugin
- :hrsh7th/cmp-buffer {}
- ;; buffer completions
- :hrsh7th/cmp-path {}
- ;; path completions
- :hrsh7th/cmp-cmdline {}
- ;; cmdline completions
- :saadparwaiz1/cmp_luasnip {}
- ;; snippet completions
- :onsails/lspkind-nvim {}
- :hrsh7th/cmp-nvim-lsp {}
- :neovim/nvim-lspconfig {}
- :williamboman/nvim-lsp-installer {}
- :tamago324/nlsp-settings.nvim {}
- :jose-elias-alvarez/null-ls.nvim {}
- :b0o/SchemaStore.nvim {}
- ;; Snippets
- :L3MON4D3/LuaSnip {}
- :rafamadriz/friendly-snippets {}
- ;; Telescope
- :nvim-telescope/telescope.nvim {:requires :nvim-lua/plenary.nvim}
- :nvim-telescope/telescope-fzf-native.nvim {:run :make}
- :nvim-telescope/telescope-file-browser.nvim {}
- ;; Treesitter
- :nvim-treesitter/nvim-treesitter {:run ":TSUpdate"}
- :JoosepAlviste/nvim-ts-context-commentstring {}
- :nvim-treesitter/playground {}
- ;; Miscellaneous plugins
- :windwp/nvim-autopairs {}
- :numToStr/Comment.nvim {}
- :lewis6991/gitsigns.nvim {}
- :kyazdani42/nvim-web-devicons {}
- :kyazdani42/nvim-tree.lua {:requires {1 :kyazdani42/nvim-web-devicons}}
- :akinsho/bufferline.nvim {}
- :moll/vim-bbye {}
- :nvim-lualine/lualine.nvim {:requires {1 :kyazdani42/nvim-web-devicons
- :opt true}}
- :ahmedkhalf/project.nvim {}
- :goolord/alpha-nvim {}
- :antoinemadec/FixCursorHold.nvim {}
- ;; This is needed to fix lsp doc highlight
- :folke/which-key.nvim {}
- :folke/zen-mode.nvim {}
- :windwp/nvim-spectre {}
- :phaazon/hop.nvim {}
- :kevinhwang91/nvim-bqf {:event :BufRead}
- :norcalli/nvim-colorizer.lua {}
- :max397574/better-escape.nvim {}
- :nvim-orgmode/orgmode {}
- :cappyzawa/trim.nvim {}})
+(def plugins {:wbthomason/packer.nvim {}
+ ;; Have packer manage itself
+ :lewis6991/impatient.nvim {}
+ :Olical/aniseed {}
+ :nvim-lua/popup.nvim {}
+ ;; An implementation of the Popup API from vim in Neovim
+ :nvim-lua/plenary.nvim {}
+ ;; Useful lua functions used ny lots of plugins
+ ;; Colorschemes
+ :aktersnurra/no-clown-fiesta.nvim {}
+ ;; LSP
+ :hrsh7th/nvim-cmp {}
+ ;; The completion plugin
+ :hrsh7th/cmp-buffer {}
+ ;; buffer completions
+ :hrsh7th/cmp-path {}
+ ;; path completions
+ :hrsh7th/cmp-cmdline {}
+ ;; cmdline completions
+ :saadparwaiz1/cmp_luasnip {}
+ ;; snippet completions
+ :onsails/lspkind-nvim {}
+ :hrsh7th/cmp-nvim-lsp {}
+ :neovim/nvim-lspconfig {}
+ :williamboman/nvim-lsp-installer {}
+ :tamago324/nlsp-settings.nvim {}
+ :jose-elias-alvarez/null-ls.nvim {}
+ :b0o/SchemaStore.nvim {}
+ ;; Snippets
+ :L3MON4D3/LuaSnip {}
+ :rafamadriz/friendly-snippets {}
+ ;; Telescope
+ :nvim-telescope/telescope.nvim {:requires :nvim-lua/plenary.nvim}
+ :nvim-telescope/telescope-fzf-native.nvim {:run :make}
+ :nvim-telescope/telescope-file-browser.nvim {}
+ ;; Treesitter
+ :nvim-treesitter/nvim-treesitter {:run ":TSUpdate"}
+ :JoosepAlviste/nvim-ts-context-commentstring {}
+ :nvim-treesitter/playground {}
+ ;; Miscellaneous plugins
+ :windwp/nvim-autopairs {}
+ :numToStr/Comment.nvim {}
+ :lewis6991/gitsigns.nvim {}
+ :kyazdani42/nvim-web-devicons {}
+ :kyazdani42/nvim-tree.lua {:requires {1 :kyazdani42/nvim-web-devicons}}
+ :akinsho/bufferline.nvim {}
+ :moll/vim-bbye {}
+ :nvim-lualine/lualine.nvim {:requires {1 :kyazdani42/nvim-web-devicons
+ :opt true}}
+ :ahmedkhalf/project.nvim {}
+ :goolord/alpha-nvim {}
+ :antoinemadec/FixCursorHold.nvim {}
+ ;; This is needed to fix lsp doc highlight
+ :folke/which-key.nvim {}
+ :folke/zen-mode.nvim {}
+ :windwp/nvim-spectre {}
+ :phaazon/hop.nvim {}
+ :kevinhwang91/nvim-bqf {:event :BufRead}
+ :norcalli/nvim-colorizer.lua {}
+ :max397574/better-escape.nvim {}
+ :nvim-orgmode/orgmode {}
+ :cappyzawa/trim.nvim {}})
diff --git a/fnl/settings/init.fnl b/fnl/settings/init.fnl
index 2b6836f..a6f74fb 100644
--- a/fnl/settings/init.fnl
+++ b/fnl/settings/init.fnl
@@ -1,4 +1,2 @@
;; Load nvim settings
-(module settings
- {require [settings.options
- settings.keymaps]})
+(module settings {require [settings.options settings.keymaps]})
diff --git a/fnl/settings/keymaps.fnl b/fnl/settings/keymaps.fnl
index bf68c38..52254cd 100644
--- a/fnl/settings/keymaps.fnl
+++ b/fnl/settings/keymaps.fnl
@@ -1,6 +1,5 @@
;; Custom keymappings.
-(module settings.keymaps
- {autoload {nvim aniseed.nvim}})
+(module settings.keymaps {autoload {nvim aniseed.nvim}})
(def- opts {:noremap true :silent true})
(defn- map [mode lhs rhs opt] (nvim.set_keymap mode lhs rhs opt))
diff --git a/fnl/settings/options.fnl b/fnl/settings/options.fnl
index c468f16..ec43440 100644
--- a/fnl/settings/options.fnl
+++ b/fnl/settings/options.fnl
@@ -1,88 +1,85 @@
;; Sets options in neovim
-(module settings.options
- {autoload {nvim aniseed.nvim}})
+(module settings.options {autoload {nvim aniseed.nvim}})
-(defn- apply-opts [opts]
- (each [k v (pairs opts)]
- (tset vim.opt k v)))
+(defn- apply-opts [opts] (each [k v (pairs opts)]
+ (tset vim.opt k v)))
-(def- opts
- {;; creates a backup file
- :backup false
- ;; allows neovim to access the system clipboard
- :clipboard :unnamedplus
- ;; more space in the neovim command line for displaying messages
- :cmdheight 2
- ;; mostly just for cmp
- :completeopt {:menuone :noselect}
- ;; so that `` is visible in markdown files
- :conceallevel 0
- ;; the encoding written to a file
- :fileencoding :utf-8
- ;; highlight all matches on previous search pattern
- :hlsearch true
- ;; ignore case in search patterns
- :ignorecase true
- ;; disable the mouse to be used in neovim
- :mouse ""
- ;; pop up menu height
- :pumheight 10
- ;; we don't need to see things like ;; INSERT ;; anymore
- :showmode false
- ;; always show tabs
- :showtabline 2
- ;; smart case
- :smartcase true
- ;; make indenting smarter again
- :smartindent true
- ;; force all horizontal splits to go below current window
- :splitbelow true
- ;; force all vertical splits to go to the right of current window
- :splitright true
- ;; creates a swapfile
- :swapfile false
- ;; set term gui colors (most terminals support this)
- :termguicolors true
- ;; time to wait for a mapped sequence to complete (in milliseconds)
- :timeoutlen 1000
- ;; enable persistent undo
- :undofile true
- ;; faster completion (4000ms default)
- :updatetime 300
- ;; if a file is being edited by another program (or was written
- ;; to file while editing with another program), it is not allowed
- ;; to be edited
- :writebackup false
- ;; convert tabs to spaces
- :expandtab true
- ;; the number of spaces inserted for each indentation
- :shiftwidth 2
- ;; insert 2 spaces for a tab
- :tabstop 2
- ;; highlight the current line
- :cursorline true
- ;; set numbered lines
- :number true
- ;; set relative numbered lines
- :relativenumber true
- ;; set number column width to 2 {default 4}
- :numberwidth 2
- ;; always show the sign column, otherwise it would shift the text
- ;; each time
- :signcolumn :yes
- ;; display lines as one long line
- :wrap false
- :laststatus 3
- ;; is one of my fav
- :scrolloff 8
- :sidescrolloff 8
- ;; the font used in graphical neovim applications
- :guifont "monospace:h17"})
+(def- opts {;; creates a backup file
+ :backup false
+ ;; allows neovim to access the system clipboard
+ :clipboard :unnamedplus
+ ;; more space in the neovim command line for displaying messages
+ :cmdheight 2
+ ;; mostly just for cmp
+ :completeopt {:menuone :noselect}
+ ;; so that `` is visible in markdown files
+ :conceallevel 0
+ ;; the encoding written to a file
+ :fileencoding :utf-8
+ ;; highlight all matches on previous search pattern
+ :hlsearch true
+ ;; ignore case in search patterns
+ :ignorecase true
+ ;; disable the mouse to be used in neovim
+ :mouse ""
+ ;; pop up menu height
+ :pumheight 10
+ ;; we don't need to see things like ;; INSERT ;; anymore
+ :showmode false
+ ;; always show tabs
+ :showtabline 2
+ ;; smart case
+ :smartcase true
+ ;; make indenting smarter again
+ :smartindent true
+ ;; force all horizontal splits to go below current window
+ :splitbelow true
+ ;; force all vertical splits to go to the right of current window
+ :splitright true
+ ;; creates a swapfile
+ :swapfile false
+ ;; set term gui colors (most terminals support this)
+ :termguicolors true
+ ;; time to wait for a mapped sequence to complete (in milliseconds)
+ :timeoutlen 1000
+ ;; enable persistent undo
+ :undofile true
+ ;; faster completion (4000ms default)
+ :updatetime 300
+ ;; if a file is being edited by another program (or was written
+ ;; to file while editing with another program), it is not allowed
+ ;; to be edited
+ :writebackup false
+ ;; convert tabs to spaces
+ :expandtab true
+ ;; the number of spaces inserted for each indentation
+ :shiftwidth 2
+ ;; insert 2 spaces for a tab
+ :tabstop 2
+ ;; highlight the current line
+ :cursorline true
+ ;; set numbered lines
+ :number true
+ ;; set relative numbered lines
+ :relativenumber true
+ ;; set number column width to 2 {default 4}
+ :numberwidth 2
+ ;; always show the sign column, otherwise it would shift the text
+ ;; each time
+ :signcolumn :yes
+ ;; display lines as one long line
+ :wrap false
+ :laststatus 3
+ ;; is one of my fav
+ :scrolloff 8
+ :sidescrolloff 8
+ ;; the font used in graphical neovim applications
+ :guifont "monospace:h17"})
(apply-opts opts)
(nvim.ex.set "whichwrap+=<,>,[,],h,l")
-(nvim.ex.set "iskeyword+=-")
-(nvim.ex.set "formatoptions-=cro")
-(nvim.ex.set "colorcolumn=80")
-(nvim.ex.set "shortmess+=c")
+(nvim.ex.set :iskeyword+=-)
+(nvim.ex.set :formatoptions-=cro)
+(nvim.ex.set :colorcolumn=80)
+(nvim.ex.set :shortmess+=c)
diff --git a/fnl/util.fnl b/fnl/util.fnl
index c624f64..97a3cdc 100644
--- a/fnl/util.fnl
+++ b/fnl/util.fnl
@@ -1,31 +1,27 @@
;; Utility functions.
-(module util
- {autoload {a aniseed.core
- nvim aniseed.nvim
- packer packer
- plugins plugins}})
+(module util {autoload {a aniseed.core
+ nvim aniseed.nvim
+ packer packer
+ plugins plugins}})
(def- path (.. (vim.fn.stdpath :data) :/site/pack/packer/start))
(def num-plugins (length (vim.fn.readdir path)))
-(defn sync []
- (if (= num-plugins 3)
- (packer.sync)))
+(defn sync [] (if (= num-plugins 3)
+ (packer.sync)))
(defn install []
- (packer.startup (fn [use]
- (each [plugin opts (pairs plugins.plugins)]
- (use (a.assoc opts 1 plugin))))))
+ (packer.startup (fn [use]
+ (each [plugin opts (pairs plugins.plugins)]
+ (use (a.assoc opts 1 plugin))))))
-(defn load-config []
- (if (> num-plugins 3)
- (require :config)))
+(defn load-config [] (if (> num-plugins 3)
+ (require :config)))
(defn load-plugin [name]
- (let [(ok? val-or-err) (pcall require name)]
- (if ok?
- val-or-err
- (vim.notify
- (.. "Could not load config: " val-or-err)
- vim.log.levels.WARN))))
+ (let [(ok? val-or-err) (pcall require name)]
+ (if ok?
+ val-or-err
+ (vim.notify (.. "Could not load config: " val-or-err)
+ vim.log.levels.WARN))))