diff options
author | aktersnurra <grydholm@kth.se> | 2022-04-23 21:22:44 +0200 |
---|---|---|
committer | aktersnurra <grydholm@kth.se> | 2022-04-23 21:22:44 +0200 |
commit | 4ca15d0aa017119670ae454d69911e1ee0e55131 (patch) | |
tree | 7fd19c02017e74cbd3678706013ba9e25beb184e | |
parent | 4932d32cae9a2a63226b67e6678d459b773f1f8b (diff) |
style: format
-rw-r--r-- | fnl/config/autocmd.fnl | 1 | ||||
-rw-r--r-- | fnl/config/autopairs.fnl | 34 | ||||
-rw-r--r-- | fnl/config/better-escape.fnl | 9 | ||||
-rw-r--r-- | fnl/config/bufferline.fnl | 107 | ||||
-rw-r--r-- | fnl/config/cmp.fnl | 71 | ||||
-rw-r--r-- | fnl/config/gitsigns.fnl | 89 | ||||
-rw-r--r-- | fnl/config/init.fnl | 47 | ||||
-rw-r--r-- | fnl/config/lualine.fnl | 76 | ||||
-rw-r--r-- | fnl/config/ncomment.fnl | 30 | ||||
-rw-r--r-- | fnl/config/nvim-tree.fnl | 127 | ||||
-rw-r--r-- | fnl/config/orgmode.fnl | 20 | ||||
-rw-r--r-- | fnl/config/project.fnl | 31 | ||||
-rw-r--r-- | fnl/config/spectre.fnl | 135 | ||||
-rw-r--r-- | fnl/config/telescope.fnl | 154 | ||||
-rw-r--r-- | fnl/config/treesitter.fnl | 53 | ||||
-rw-r--r-- | fnl/config/trim.fnl | 3 | ||||
-rw-r--r-- | fnl/config/which-key.fnl | 239 | ||||
-rw-r--r-- | fnl/config/zen.fnl | 21 | ||||
-rw-r--r-- | fnl/init.fnl | 2 | ||||
-rw-r--r-- | fnl/install.fnl | 7 | ||||
-rw-r--r-- | fnl/plugins.fnl | 126 | ||||
-rw-r--r-- | fnl/settings/options.fnl | 146 | ||||
-rw-r--r-- | fnl/util.fnl | 11 |
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)))) |