summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fnl/config/autocmd.fnl1
-rw-r--r--fnl/config/autopairs.fnl34
-rw-r--r--fnl/config/better-escape.fnl9
-rw-r--r--fnl/config/bufferline.fnl107
-rw-r--r--fnl/config/cmp.fnl71
-rw-r--r--fnl/config/gitsigns.fnl89
-rw-r--r--fnl/config/init.fnl47
-rw-r--r--fnl/config/lualine.fnl76
-rw-r--r--fnl/config/ncomment.fnl30
-rw-r--r--fnl/config/nvim-tree.fnl127
-rw-r--r--fnl/config/orgmode.fnl20
-rw-r--r--fnl/config/project.fnl31
-rw-r--r--fnl/config/spectre.fnl135
-rw-r--r--fnl/config/telescope.fnl154
-rw-r--r--fnl/config/treesitter.fnl53
-rw-r--r--fnl/config/trim.fnl3
-rw-r--r--fnl/config/which-key.fnl239
-rw-r--r--fnl/config/zen.fnl21
-rw-r--r--fnl/init.fnl2
-rw-r--r--fnl/install.fnl7
-rw-r--r--fnl/plugins.fnl126
-rw-r--r--fnl/settings/options.fnl146
-rw-r--r--fnl/util.fnl11
23 files changed, 793 insertions, 746 deletions
diff --git a/fnl/config/autocmd.fnl b/fnl/config/autocmd.fnl
index ea55c08..8cf1e1f 100644
--- a/fnl/config/autocmd.fnl
+++ b/fnl/config/autocmd.fnl
@@ -22,7 +22,6 @@
(def- alpha
["User AlphaReady set showtabline=0 | autocmd BufUnload <buffer> set showtabline=2"])
-
(autocmd :_general_settings general-settings)
(autocmd :_git git)
(autocmd :_markdown markdown)
diff --git a/fnl/config/autopairs.fnl b/fnl/config/autopairs.fnl
index 2b175fa..a809fd7 100644
--- a/fnl/config/autopairs.fnl
+++ b/fnl/config/autopairs.fnl
@@ -2,20 +2,20 @@
(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 93ec0a9..5525ae7 100644
--- a/fnl/config/better-escape.fnl
+++ b/fnl/config/better-escape.fnl
@@ -2,7 +2,8 @@
(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 8e6d094..d2fdaae 100644
--- a/fnl/config/bufferline.fnl
+++ b/fnl/config/bufferline.fnl
@@ -1,31 +1,32 @@
;; Topbar that displays open buffers.
(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 1}]
- :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 1}]
+ :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})
@@ -36,34 +37,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 : highlights}))
diff --git a/fnl/config/cmp.fnl b/fnl/config/cmp.fnl
index 95e5baa..25f19f8 100644
--- a/fnl/config/cmp.fnl
+++ b/fnl/config/cmp.fnl
@@ -6,38 +6,39 @@
luasnip (util.load-plugin :luasnip)]
;;((require :luasnip/loaders/from_vscode).lazy_load)
(lspkind.init)
- (cmp.setup {:snippet {:expand (fn [args]
- (luasnip.lsp_expand args.body))}
- :mapping {:<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 "[Buf]"
- :nvim_lsp "[LSP]"
- :nvim_lua "[api]"
- :path "[path]"
- :luasnip "[Snip]"}})}
- :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 {:<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 "[Buf]"
+ :nvim_lsp "[LSP]"
+ :nvim_lua "[api]"
+ :path "[path]"
+ :luasnip "[Snip]"}})}
+ :window {
+ :documentation {:border ["╭"
+ "─"
+ "╮"
+ "│"
+ "╯"
+ "─"
+ "╰"
+ "│"]}}
+ :confirm_opts {:behavior cmp.ConfirmBehavior.Replace
+ :select false}
+ :experimental {:ghost_text false :native_menu false}}))
diff --git a/fnl/config/gitsigns.fnl b/fnl/config/gitsigns.fnl
index 07b9157..b29c13a 100644
--- a/fnl/config/gitsigns.fnl
+++ b/fnl/config/gitsigns.fnl
@@ -1,48 +1,51 @@
;; Add git signs to source files.
(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
- :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 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/init.fnl b/fnl/config/init.fnl
index c1eb17d..a48702f 100644
--- a/fnl/config/init.fnl
+++ b/fnl/config/init.fnl
@@ -1,23 +1,26 @@
;; 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.gitsigns
- _ config.lualine
- _ config.ncomment
- _ 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.gitsigns
+ _ config.hop
+ _ config.lualine
+ _ config.ncomment
+ _ 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/lualine.fnl b/fnl/config/lualine.fnl
index 5ab0920..7ed3a61 100644
--- a/fnl/config/lualine.fnl
+++ b/fnl/config/lualine.fnl
@@ -3,46 +3,50 @@
(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/ncomment.fnl b/fnl/config/ncomment.fnl
index 3d0b1b6..2da59c6 100644
--- a/fnl/config/ncomment.fnl
+++ b/fnl/config/ncomment.fnl
@@ -1,23 +1,23 @@
;; Language aware commenting.
(module config.ncomment {autoload {util util}})
-(defn- get-type [ctx U] (or (and (= ctx.ctype U.ctype.line) :__default)
- :__multiline))
+(defn- get-type [ctx U]
+ (or (and (= ctx.ctype U.ctype.line) :__default) :__multiline))
-(defn- get-location [ctx U] (if (= ctx.ctype U.ctype.block)
- ((require :ts_context_commentstring.utils) .get_cursor_location)
- (or (= ctx.motion U.motion.v)
- (= ctx.motion U.cmotion.V))
- ((require :ts_context_commentstring.utils) .get_visual_start_location)
- nil))
+(defn- get-location [ctx U]
+ (if (= ctx.ctype U.ctype.block)
+ ((require :ts_context_commentstring.utils).get_cursor_location)
+ (or (= ctx.cmotion U.motion.v) (= ctx.cmotion U.cmotion.V))
+ ((require :ts_context_commentstring.utils).get_visual_start_location)
+ nil))
(defn- pre-hook [ctx]
- (let [U (require :Comment.utils)]
- ((require :ts_context_commentstring.internal).calculate_commentstring
- {:key (get-type ctx U)
- :location (get-location ctx
- U)})))
+ (let [U (require :Comment.utils)]
+ ((require :ts_context_commentstring.internal).calculate_commentstring
+ {:key (get-type ctx U)
+ :location (get-location ctx U)})))
(let [ncomment (util.load-plugin :Comment)]
- (ncomment.setup {:pre_hook (fn [ctx]
- (pre-hook ctx))}))
+ (ncomment.setup
+ {:pre_hook (fn [ctx]
+ (pre-hook ctx))}))
diff --git a/fnl/config/nvim-tree.fnl b/fnl/config/nvim-tree.fnl
index 672e370..0a2ec3a 100644
--- a/fnl/config/nvim-tree.fnl
+++ b/fnl/config/nvim-tree.fnl
@@ -20,63 +20,70 @@
(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
- :hide_root_folder 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)}]}}
- :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
+ :hide_root_folder 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)}]}}
+ :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 e55f2bc..7c70ec5 100644
--- a/fnl/config/orgmode.fnl
+++ b/fnl/config/orgmode.fnl
@@ -4,14 +4,12 @@
(let [orgmode (util.load-plugin :orgmode)]
(do
(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/project.fnl b/fnl/config/project.fnl
index 7d50fee..5f71e89 100644
--- a/fnl/config/project.fnl
+++ b/fnl/config/project.fnl
@@ -2,18 +2,19 @@
(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 5529714..4823e2c 100644
--- a/fnl/config/spectre.fnl
+++ b/fnl/config/spectre.fnl
@@ -2,63 +2,78 @@
(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 90a6f71..725f0b6 100644
--- a/fnl/config/telescope.fnl
+++ b/fnl/config/telescope.fnl
@@ -3,81 +3,85 @@
(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 0c01fc2..e3ae299 100644
--- a/fnl/config/treesitter.fnl
+++ b/fnl/config/treesitter.fnl
@@ -3,29 +3,30 @@
(module config.treesitter {autoload {util util}})
(let [treesitter (util.load-plugin :nvim-treesitter.configs)]
- (treesitter.setup {:ensure_installed [:c
- :rust
- :lua
- :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
+ :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 f1f707a..05b62b6 100644
--- a/fnl/config/trim.fnl
+++ b/fnl/config/trim.fnl
@@ -1,4 +1,5 @@
;; Trim whitespaces on save.
(module config.trim {autoload {util util}})
-(util.load-plugin :trim)
+(let [trim (util.load-plugin :trim)]
+ (trim.setup {}))
diff --git a/fnl/config/which-key.fnl b/fnl/config/which-key.fnl
index 7ebaec0..4d6add4 100644
--- a/fnl/config/which-key.fnl
+++ b/fnl/config/which-key.fnl
@@ -1,129 +1,132 @@
;; Which-key provides a pop-up meny for some key mappings.
(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)]
- (do
- (which-key.setup setup)
- (which-key.register mappings opts)
- (which-key.register vmappings vopts)))
+ (which-key.setup setup)
+ (which-key.register mappings opts)
+ (which-key.register vmappings vopts))
diff --git a/fnl/config/zen.fnl b/fnl/config/zen.fnl
index 7133b50..cc1d685 100644
--- a/fnl/config/zen.fnl
+++ b/fnl/config/zen.fnl
@@ -2,12 +2,15 @@
(module config.zen {autoload {util util}})
(let [zen-mode (util.load-plugin :zen-mode)]
- (zen-mode.setup {:window {:backdrop 1
- :height 1
- :width 120
- :options {:signcolumn :no
- :number false
- :relativenumber false}}
- :plugins {:gitsigns {:enabled false}
- :tmux {:enabled true}
- :twilight {:enabled true}}}))
+ (zen-mode.setup
+ {:window
+ {:backdrop 1
+ :height 1
+ :width 120
+ :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 4862b16..42e20d5 100644
--- a/fnl/init.fnl
+++ b/fnl/init.fnl
@@ -3,4 +3,4 @@
(require :settings)
(require :install)
(if (> util.num-plugins 3)
- (require :config))
+ (require :config))
diff --git a/fnl/install.fnl b/fnl/install.fnl
index 4582d67..af034d6 100644
--- a/fnl/install.fnl
+++ b/fnl/install.fnl
@@ -4,11 +4,10 @@
plugins plugins
util util}})
-
(defn- install-plugins [plgs]
- (packer.startup (fn [use]
- (each [plugin opts (pairs plgs)]
- (use (a.assoc opts 1 plugin))))))
+ (packer.startup (fn [use]
+ (each [plugin opts (pairs plgs)]
+ (use (a.assoc opts 1 plugin))))))
(require :config.packer)
(install-plugins plugins.plugins)
diff --git a/fnl/plugins.fnl b/fnl/plugins.fnl
index 39d8462..aeec8dc 100644
--- a/fnl/plugins.fnl
+++ b/fnl/plugins.fnl
@@ -1,66 +1,66 @@
;; 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 {}
- :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 {}
+ :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/options.fnl b/fnl/settings/options.fnl
index 8148f1f..514e2ae 100644
--- a/fnl/settings/options.fnl
+++ b/fnl/settings/options.fnl
@@ -1,79 +1,81 @@
;; Sets options in neovim
(module settings.options {autoload {nvim aniseed.nvim}})
-(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
- ;; 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
+ ;; is one of my fav
+ :scrolloff 8
+ :sidescrolloff 8
+ ;; the font used in graphical neovim applications
+ :guifont "monospace:h17"})
-(defn- apply-opts [] (each [k v (pairs opts)]
- (tset vim.opt k v)))
+(defn- apply-opts []
+ (each [k v (pairs opts)]
+ (tset vim.opt k v)))
(apply-opts)
(vim.cmd "set whichwrap+=<,>,[,],h,l")
diff --git a/fnl/util.fnl b/fnl/util.fnl
index 8bb3754..9054f54 100644
--- a/fnl/util.fnl
+++ b/fnl/util.fnl
@@ -5,8 +5,9 @@
(def num-plugins (length (vim.fn.readdir path)))
(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))))