summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md4
-rw-r--r--fnl/config/aniseed.fnl2
-rw-r--r--fnl/config/autopairs.fnl20
-rw-r--r--fnl/config/better-escape.fnl8
-rw-r--r--fnl/config/colorscheme.fnl16
-rw-r--r--fnl/config/comment.fnl20
-rw-r--r--fnl/config/flit.fnl8
-rw-r--r--fnl/config/harpoon.fnl21
-rw-r--r--fnl/config/init.fnl42
-rw-r--r--fnl/config/leap.fnl11
-rw-r--r--fnl/config/lsp/diagnostics.fnl34
-rw-r--r--fnl/config/lsp/init.fnl6
-rw-r--r--fnl/config/minibar.fnl30
-rw-r--r--fnl/config/persistence.fnl5
-rw-r--r--fnl/config/project.fnl17
-rw-r--r--fnl/config/toggleterm.fnl5
-rw-r--r--fnl/config/trim.fnl5
-rw-r--r--fnl/config/user-cmd.fnl93
-rw-r--r--fnl/config/util.fnl20
-rw-r--r--fnl/config/zen.fnl13
-rw-r--r--fnl/init.fnl7
-rw-r--r--fnl/plugins/alpha.fnl (renamed from fnl/config/alpha.fnl)0
-rw-r--r--fnl/plugins/autopairs.fnl20
-rw-r--r--fnl/plugins/better-escape.fnl8
-rw-r--r--fnl/plugins/bqf.fnl (renamed from fnl/config/bqf.fnl)0
-rw-r--r--fnl/plugins/bufdel.fnl (renamed from fnl/config/bufdel.fnl)0
-rw-r--r--fnl/plugins/cmp.fnl (renamed from fnl/config/cmp.fnl)0
-rw-r--r--fnl/plugins/colorizer.fnl (renamed from fnl/config/colorizer.fnl)0
-rw-r--r--fnl/plugins/colorscheme.fnl11
-rw-r--r--fnl/plugins/comment.fnl20
-rw-r--r--fnl/plugins/diffview.fnl (renamed from fnl/config/diffview.fnl)0
-rw-r--r--fnl/plugins/gitsigns.fnl (renamed from fnl/config/gitsigns.fnl)0
-rw-r--r--fnl/plugins/harpoon.fnl25
-rw-r--r--fnl/plugins/hotpot.fnl2
-rw-r--r--fnl/plugins/init.fnl10
-rw-r--r--fnl/plugins/lazy.fnl (renamed from fnl/config/lazy.fnl)0
-rw-r--r--fnl/plugins/leap.fnl17
-rw-r--r--fnl/plugins/lir.fnl (renamed from fnl/config/lir.fnl)2
-rw-r--r--fnl/plugins/lsp/diagnostics.fnl33
-rw-r--r--fnl/plugins/lsp/init.fnl5
-rw-r--r--fnl/plugins/lsp/keymaps.fnl (renamed from fnl/config/lsp/keymaps.fnl)17
-rw-r--r--fnl/plugins/lsp/lspconfig.fnl (renamed from fnl/config/lsp/lspconfig.fnl)10
-rw-r--r--fnl/plugins/lsp/mason.fnl (renamed from fnl/config/lsp/mason.fnl)0
-rw-r--r--fnl/plugins/lsp/null-ls.fnl (renamed from fnl/config/lsp/null-ls.fnl)0
-rw-r--r--fnl/plugins/lsp/servers.fnl (renamed from fnl/config/lsp/servers.fnl)0
-rw-r--r--fnl/plugins/lualine.fnl (renamed from fnl/config/lualine.fnl)0
-rw-r--r--fnl/plugins/minibar.fnl30
-rw-r--r--fnl/plugins/neogit.fnl (renamed from fnl/config/neogit.fnl)0
-rw-r--r--fnl/plugins/orgmode.fnl (renamed from fnl/config/orgmode.fnl)0
-rw-r--r--fnl/plugins/persistence.fnl5
-rw-r--r--fnl/plugins/project.fnl16
-rw-r--r--fnl/plugins/spectre.fnl (renamed from fnl/config/spectre.fnl)8
-rw-r--r--fnl/plugins/stay-in-place.fnl (renamed from fnl/config/stay-in-place.fnl)0
-rw-r--r--fnl/plugins/surround.fnl (renamed from fnl/config/surround.fnl)0
-rw-r--r--fnl/plugins/symbols-outline.fnl (renamed from fnl/config/symbols-outline.fnl)0
-rw-r--r--fnl/plugins/telescope.fnl (renamed from fnl/config/telescope.fnl)0
-rw-r--r--fnl/plugins/toggleterm.fnl5
-rw-r--r--fnl/plugins/treesitter.fnl (renamed from fnl/config/treesitter.fnl)0
-rw-r--r--fnl/plugins/trim.fnl3
-rw-r--r--fnl/plugins/trouble.fnl (renamed from fnl/config/trouble.fnl)0
-rw-r--r--fnl/plugins/undotree.fnl (renamed from fnl/config/undotree.fnl)0
-rw-r--r--fnl/plugins/vim-slash.fnl (renamed from fnl/config/vim-slash.fnl)0
-rw-r--r--fnl/plugins/which-key.fnl (renamed from fnl/config/which-key.fnl)0
-rw-r--r--fnl/plugins/window-picker.fnl (renamed from fnl/config/window-picker.fnl)11
-rw-r--r--fnl/plugins/zen.fnl11
-rw-r--r--fnl/settings/autocmds.fnl (renamed from fnl/config/autocmd.fnl)12
-rw-r--r--fnl/settings/init.fnl12
-rw-r--r--fnl/settings/keymaps.fnl7
-rw-r--r--fnl/settings/options.fnl19
-rw-r--r--fnl/settings/usercmds.fnl98
-rw-r--r--init.lua31
-rw-r--r--lazy-lock.json34
72 files changed, 401 insertions, 468 deletions
diff --git a/README.md b/README.md
index f5265c4..7e4397e 100644
--- a/README.md
+++ b/README.md
@@ -13,9 +13,7 @@ neovim = nightly
```
.
└── fnl
- ├── config # Plugin configs.
+ ├── plugins # Plugin configs.
│   └── lsp # LSP related configs.
- │   └── settings # Server specific settings.
-    ├── plugins.fnl # Table of all plugins.
└── settings # Neovim settings.
```
diff --git a/fnl/config/aniseed.fnl b/fnl/config/aniseed.fnl
deleted file mode 100644
index c024792..0000000
--- a/fnl/config/aniseed.fnl
+++ /dev/null
@@ -1,2 +0,0 @@
-;; Transpiler for fennel to lua.
-{1 :Olical/aniseed}
diff --git a/fnl/config/autopairs.fnl b/fnl/config/autopairs.fnl
deleted file mode 100644
index 076b120..0000000
--- a/fnl/config/autopairs.fnl
+++ /dev/null
@@ -1,20 +0,0 @@
-;; Autopairs for brackets and quote symbols.
-
-(local opts {: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}})
-
-{1 :windwp/nvim-autopairs :event :InsertEnter :config opts}
diff --git a/fnl/config/better-escape.fnl b/fnl/config/better-escape.fnl
deleted file mode 100644
index 5bd9b0c..0000000
--- a/fnl/config/better-escape.fnl
+++ /dev/null
@@ -1,8 +0,0 @@
-;; Better escape without nasty delay.
-
-(local opts {:mapping [:kk :jj]
- :timeout vim.o.timeoutlen
- :clear_empty_lines false
- :keys :<Esc>})
-
-{1 :max397574/better-escape.nvim :event :BufReadPost : opts}
diff --git a/fnl/config/colorscheme.fnl b/fnl/config/colorscheme.fnl
deleted file mode 100644
index 83175c2..0000000
--- a/fnl/config/colorscheme.fnl
+++ /dev/null
@@ -1,16 +0,0 @@
-;; Load neovim colorscheme.
-
-(local colorscheme :no-clown-fiesta)
-
-(local opts {:styles {:type {:bold true}}})
-
-(fn setup []
- (let [plugin (require colorscheme)]
- (plugin.setup opts)
- (vim.cmd (.. "colorscheme " colorscheme))))
-
-{1 :aktersnurra/no-clown-fiesta.nvim
- :lazy false
- :priority 1000
- :config (fn []
- (setup))}
diff --git a/fnl/config/comment.fnl b/fnl/config/comment.fnl
deleted file mode 100644
index 9850931..0000000
--- a/fnl/config/comment.fnl
+++ /dev/null
@@ -1,20 +0,0 @@
-;; Language aware commenting.
-
-(local opts {:toggler {;; Line-comment toggle keymap
- :line :mcc
- ;; Block-comment toggle keymap
- :block :mbc}
- ;; LHS of operator-pending mappings in NORMAL and VISUAL mode
- :opleader {;; Line-comment keymap
- :line :mc
- ;; Block-comment keymap
- :block :mb}
- ;; LHS of extra mappings
- :extra {;; Add comment on the line above
- :above :mcO
- ;; Add comment on the line below
- :below :mco
- ;; Add comment at the end of line
- :eol :mcA}})
-
-{1 :numToStr/Comment.nvim :event :BufReadPost : opts}
diff --git a/fnl/config/flit.fnl b/fnl/config/flit.fnl
deleted file mode 100644
index 49b2b7e..0000000
--- a/fnl/config/flit.fnl
+++ /dev/null
@@ -1,8 +0,0 @@
-;; fFtT motions on roids.
-
-(local opts {:keys {:f :f :F :F :t :t :T :T}
- :labeled_modes :v
- :multiline true
- :opts {}})
-
-{1 :ggandor/flit.nvim :event :BufReadPost : opts}
diff --git a/fnl/config/harpoon.fnl b/fnl/config/harpoon.fnl
deleted file mode 100644
index 41b6b81..0000000
--- a/fnl/config/harpoon.fnl
+++ /dev/null
@@ -1,21 +0,0 @@
-;; Harpoon files for navigation.
-
-(local util (require :config.util))
-
-(fn setup []
- (vim.keymap.set :n :<tab>
- (fn []
- (util.telescope-ext :harpoon :marks
- {:theme :get_dropdown
- :previewer false
- :initial_mode :normal
- :prompt_title :Harpoon}))
- {})
- (vim.keymap.set :n :<s-tab>
- "<cmd>Telescope buffers theme=dropdown previewer=false initial_mode=normal<cr>"
- {}))
-
-{1 :ThePrimeagen/harpoon
- :event :BufReadPost
- :config (fn []
- (setup))}
diff --git a/fnl/config/init.fnl b/fnl/config/init.fnl
deleted file mode 100644
index b4bfff5..0000000
--- a/fnl/config/init.fnl
+++ /dev/null
@@ -1,42 +0,0 @@
-;; Load all plugin configs.
-
-(local plugins [:config.alpha
- :config.aniseed
- :config.autopairs
- :config.better-escape
- :config.bqf
- :config.bufdel
- :config.cmp
- :config.colorizer
- :config.colorscheme
- :config.comment
- :config.diffview
- :config.flit
- :config.gitsigns
- :config.harpoon
- :config.leap
- :config.lir
- :config.lsp
- :config.lualine
- :config.minibar
- :config.neogit
- :config.orgmode
- :config.persistence
- :config.project
- :config.spectre
- :config.stay-in-place
- :config.surround
- :config.symbols-outline
- :config.telescope
- :config.toggleterm
- :config.treesitter
- :config.trim
- :config.trouble
- :config.undotree
- :config.vim-slash
- :config.which-key
- :config.window-picker
- :config.zen])
-
-(let [util (require :config.util)]
- (util.load plugins))
diff --git a/fnl/config/leap.fnl b/fnl/config/leap.fnl
deleted file mode 100644
index 2a03da1..0000000
--- a/fnl/config/leap.fnl
+++ /dev/null
@@ -1,11 +0,0 @@
-;; Leap through text.
-
-(fn setup []
- (let [leap (require :leap)]
- (leap.setup {})
- (leap.set_default_keymaps)))
-
-{1 :ggandor/leap.nvim
- :event :BufReadPost
- :config (fn []
- (setup))}
diff --git a/fnl/config/lsp/diagnostics.fnl b/fnl/config/lsp/diagnostics.fnl
deleted file mode 100644
index db9ea19..0000000
--- a/fnl/config/lsp/diagnostics.fnl
+++ /dev/null
@@ -1,34 +0,0 @@
-;; Handlers for the requests and responses from and to the lsp server.
-(module config.lsp.handlers {autoload {util config.util nvim aniseed.nvim}})
-
-(def- signs [{:name :DiagnosticSignError :text ""}
- {:name :DiagnosticSignWarn :text ""}
- {:name :DiagnosticSignHint :text ""}
- {:name :DiagnosticSignInfo :text ""}])
-
-(defn- apply-signs [] (each [_ sign (ipairs signs)]
- (vim.fn.sign_define sign.name
- {:texthl sign.name
- :text sign.text
- :numhl ""})))
-
-(def- config {:virtual_text false
- :signs {:active signs}
- :update_in_insert false
- :underline true
- :severity_sort true
- :float {:focusable false
- :style :minimal
- :border :rounded
- :source :always
- :header ""
- :prefix ""}})
-
-(do
- (apply-signs)
- (vim.diagnostic.config config)
- (set vim.lsp.handlers.textDocument/hover
- (vim.lsp.with {:border :rounded :width 60}))
- (set vim.lsp.handlers.textDocument/signatureHelp
- (vim.lsp.with vim.lsp.handlers.signature_help
- {:border :rounded :width 60})))
diff --git a/fnl/config/lsp/init.fnl b/fnl/config/lsp/init.fnl
deleted file mode 100644
index 6166fa1..0000000
--- a/fnl/config/lsp/init.fnl
+++ /dev/null
@@ -1,6 +0,0 @@
-;; Lsp modules.
-
-(local plugins [:config.lsp.lspconfig :config.lsp.mason :config.lsp.null-ls])
-
-(let [util (require :config.util)]
- (util.load plugins))
diff --git a/fnl/config/minibar.fnl b/fnl/config/minibar.fnl
deleted file mode 100644
index d2fff18..0000000
--- a/fnl/config/minibar.fnl
+++ /dev/null
@@ -1,30 +0,0 @@
-;; Show the filename in the top left corner.
-
-(local opts {:ignore-filetypes [:help
- :harpoon
- :startify
- :dashboard
- :lir
- :alpha
- :packer
- :neogitstatus
- :Trouble
- :org
- :lazy
- :netrw
- :Outline
- :NeogitStatus
- :NeogitCommitMessage
- :NeogitNotification
- :NeogitCommitView
- :spectre_panel
- ""]
- :events [:CursorMoved
- :TermOpen
- :DirChanged
- :BufWinEnter
- :BufFilePost
- :InsertEnter
- :BufWritePost]})
-
-{1 :aktersnurra/minibar.nvim :event :BufReadPre : opts}
diff --git a/fnl/config/persistence.fnl b/fnl/config/persistence.fnl
deleted file mode 100644
index 3cdd433..0000000
--- a/fnl/config/persistence.fnl
+++ /dev/null
@@ -1,5 +0,0 @@
-;; Session manager.
-
-(local opts {:options [:buffers :curdir :tabpages :winsize :help]})
-
-{1 :folke/persistence.nvim :event :VeryLazy : opts}
diff --git a/fnl/config/project.fnl b/fnl/config/project.fnl
deleted file mode 100644
index 57cfb9c..0000000
--- a/fnl/config/project.fnl
+++ /dev/null
@@ -1,17 +0,0 @@
-;; Provides project management.
-
-(local opts {: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)})
-
-{1 :ahmedkhalf/project.nvim
- :cmd :Telescope
- :config (fn []
- (let [project (require :project_nvim)]
- (project.setup opts)))}
diff --git a/fnl/config/toggleterm.fnl b/fnl/config/toggleterm.fnl
deleted file mode 100644
index 3acbc11..0000000
--- a/fnl/config/toggleterm.fnl
+++ /dev/null
@@ -1,5 +0,0 @@
-;; Terminal inside nvim.
-
-(local opts {:size 16 :shade_terminals false})
-
-{1 :akinsho/toggleterm.nvim :cmd :ToggleTerm : opts}
diff --git a/fnl/config/trim.fnl b/fnl/config/trim.fnl
deleted file mode 100644
index 2ef7169..0000000
--- a/fnl/config/trim.fnl
+++ /dev/null
@@ -1,5 +0,0 @@
-;; Trim whitespaces on save.
-
-(local opts {:disable [:python]})
-
-{1 :cappyzawa/trim.nvim :event :BufFilePre : opts}
diff --git a/fnl/config/user-cmd.fnl b/fnl/config/user-cmd.fnl
deleted file mode 100644
index f72d95a..0000000
--- a/fnl/config/user-cmd.fnl
+++ /dev/null
@@ -1,93 +0,0 @@
-;; Commands for plugins.
-(module config.user-cmd {autoload {nvim aniseed.nvim util config.util}})
-
-(nvim.create_user_command :OrgAgendaPrompt
- (lambda []
- (let [orgmode (require :orgmode)]
- (orgmode.action :agenda.prompt)))
- {:nargs 0})
-
-(nvim.create_user_command :OrgCapturePrompt
- (lambda []
- (let [orgmode (require :orgmode)]
- (orgmode.action :capture.prompt)))
- {:nargs 0})
-
-(nvim.create_user_command :CommentNormal
- (lambda []
- (let [comment-api (require :Comment.api)]
- (comment-api.toggle.linewise.current)))
- {:nargs 0})
-
-(nvim.create_user_command :CommentVisual
- (lambda []
- (let [comment-api (require :Comment.api)]
- (comment-api.toggle.linewise (vim.fn.visualmode))))
- {:nargs 0})
-
-(nvim.create_user_command :HarpoonAdd
- (lambda []
- (let [harpoon (require :harpoon.mark)]
- (harpoon.add_file)))
- {:nargs 0})
-
-(nvim.create_user_command :HarpoonNext
- (lambda []
- (let [harpoon (require :harpoon.ui)]
- (harpoon.nav_next)))
- {:nargs 0})
-
-(nvim.create_user_command :HarpoonPrev
- (lambda []
- (let [harpoon (require :harpoon.ui)]
- (harpoon.nav_prev)))
- {:nargs 0})
-
-(nvim.create_user_command :HarpoonUI
- (lambda []
- (let [harpoon (require :harpoon.ui)]
- (harpoon.toggle_quick_menu)))
- {:nargs 0})
-
-(nvim.create_user_command :Replace
- (lambda []
- (let [spectre (require :spectre)]
- (spectre.open)))
- {:nargs 0})
-
-(nvim.create_user_command :ReplaceWord
- (lambda []
- (let [spectre (require :spectre)]
- (spectre.open_visual {:select_word true})))
- {:nargs 0})
-
-(nvim.create_user_command :ReplaceInBuf
- (lambda []
- (let [spectre (require :spectre)]
- (spectre.open_file_search)))
- {:nargs 0})
-
-(nvim.create_user_command :RestoreSession
- (lambda []
- (let [persistence (require :persistence)]
- (persistence.load)))
- {:nargs 0})
-
-(nvim.create_user_command :RestoreLastSession
- (lambda []
- (let [persistence (require :persistence)]
- (persistence.load {:last true})))
- {:nargs 0})
-
-(nvim.create_user_command :IgnoreSession
- (lambda []
- (let [persistence (require :persistence)]
- (persistence.stop)))
- {:nargs 0})
-
-(nvim.create_user_command :FindFiles
- (lambda []
- (util.telescope-builtin :find_files
- {:theme :get_dropdown
- :previewer false}))
- {:nargs 0})
diff --git a/fnl/config/util.fnl b/fnl/config/util.fnl
deleted file mode 100644
index e2800a6..0000000
--- a/fnl/config/util.fnl
+++ /dev/null
@@ -1,20 +0,0 @@
-;; Utility functions.
-(module util {autoload {a aniseed.core nvim aniseed.nvim}})
-
-(defn telescope-ext [ext fun opts]
- (let [telescope (require :telescope)
- themes (require :telescope.themes)
- theme (. opts :theme)]
- ((. (. (. telescope :extensions) ext) fun) ((. themes theme) opts))))
-
-(defn telescope-builtin [builtin opts]
- (let [telescope (require :telescope.builtin)
- themes (require :telescope.themes)
- theme (. opts :theme)]
- ((. telescope builtin) ((. themes theme) opts))))
-
-(defn load [plugins]
- (let [configs []]
- (each [_ plugin (pairs plugins)]
- (table.insert configs (require plugin)))
- configs))
diff --git a/fnl/config/zen.fnl b/fnl/config/zen.fnl
deleted file mode 100644
index 8219050..0000000
--- a/fnl/config/zen.fnl
+++ /dev/null
@@ -1,13 +0,0 @@
-;; Zen mode.
-
-(local opts {:window {:backdrop 1
- :height 1
- :width 120
- :options {:signcolumn :no
- :number false
- :relativenumber false}}
- :plugins {:gitsigns {:enabled false}
- :tmux {:enabled true}
- :twilight {:enabled true}}})
-
-{1 :folke/zen-mode.nvim :cmd :ZenMode : opts}
diff --git a/fnl/init.fnl b/fnl/init.fnl
deleted file mode 100644
index f38a4fa..0000000
--- a/fnl/init.fnl
+++ /dev/null
@@ -1,7 +0,0 @@
-;; Load plugins with lazy.
-(module init {require [settings config.autocmd config.user-cmd]})
-
-(let [lazy (require :lazy)
- opts (require :config.lazy)
- plugins (require :config)]
- (lazy.setup plugins opts))
diff --git a/fnl/config/alpha.fnl b/fnl/plugins/alpha.fnl
index 87c45e0..87c45e0 100644
--- a/fnl/config/alpha.fnl
+++ b/fnl/plugins/alpha.fnl
diff --git a/fnl/plugins/autopairs.fnl b/fnl/plugins/autopairs.fnl
new file mode 100644
index 0000000..d1aabf6
--- /dev/null
+++ b/fnl/plugins/autopairs.fnl
@@ -0,0 +1,20 @@
+;; Autopairs for brackets and quote symbols.
+
+{1 :windwp/nvim-autopairs
+ :event :InsertEnter
+ :opts {: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/plugins/better-escape.fnl b/fnl/plugins/better-escape.fnl
new file mode 100644
index 0000000..cde61bc
--- /dev/null
+++ b/fnl/plugins/better-escape.fnl
@@ -0,0 +1,8 @@
+;; Better escape without nasty delay.
+
+{1 :max397574/better-escape.nvim
+ :event :BufReadPost
+ :opts {:mapping [:kk :jj]
+ :timeout vim.o.timeoutlen
+ :clear_empty_lines false
+ :keys :<Esc>}}
diff --git a/fnl/config/bqf.fnl b/fnl/plugins/bqf.fnl
index e2b0791..e2b0791 100644
--- a/fnl/config/bqf.fnl
+++ b/fnl/plugins/bqf.fnl
diff --git a/fnl/config/bufdel.fnl b/fnl/plugins/bufdel.fnl
index 4719a53..4719a53 100644
--- a/fnl/config/bufdel.fnl
+++ b/fnl/plugins/bufdel.fnl
diff --git a/fnl/config/cmp.fnl b/fnl/plugins/cmp.fnl
index a062d92..a062d92 100644
--- a/fnl/config/cmp.fnl
+++ b/fnl/plugins/cmp.fnl
diff --git a/fnl/config/colorizer.fnl b/fnl/plugins/colorizer.fnl
index 553024b..553024b 100644
--- a/fnl/config/colorizer.fnl
+++ b/fnl/plugins/colorizer.fnl
diff --git a/fnl/plugins/colorscheme.fnl b/fnl/plugins/colorscheme.fnl
new file mode 100644
index 0000000..bc708ab
--- /dev/null
+++ b/fnl/plugins/colorscheme.fnl
@@ -0,0 +1,11 @@
+;; Load neovim colorscheme.
+
+{1 :aktersnurra/no-clown-fiesta.nvim
+ ;; :lazy false
+ ;; :priority 1000
+ :opts {:styles {:type {:bold true}}}
+ :config (lambda [_ opts]
+ (let [plugin (require :no-clown-fiesta)]
+ (plugin.setup opts)
+ (plugin.load)))
+ }
diff --git a/fnl/plugins/comment.fnl b/fnl/plugins/comment.fnl
new file mode 100644
index 0000000..63401a0
--- /dev/null
+++ b/fnl/plugins/comment.fnl
@@ -0,0 +1,20 @@
+;; Language aware commenting.
+
+{1 :numToStr/Comment.nvim
+ :event :BufReadPost
+ :opts {:toggler {;; Line-comment toggle keymap
+ :line :mcc
+ ;; Block-comment toggle keymap
+ :block :mbc}
+ ;; LHS of operator-pending mappings in NORMAL and VISUAL mode
+ :opleader {;; Line-comment keymap
+ :line :mc
+ ;; Block-comment keymap
+ :block :mb}
+ ;; LHS of extra mappings
+ :extra {;; Add comment on the line above
+ :above :mcO
+ ;; Add comment on the line below
+ :below :mco
+ ;; Add comment at the end of line
+ :eol :mcA}}}
diff --git a/fnl/config/diffview.fnl b/fnl/plugins/diffview.fnl
index 9978c2e..9978c2e 100644
--- a/fnl/config/diffview.fnl
+++ b/fnl/plugins/diffview.fnl
diff --git a/fnl/config/gitsigns.fnl b/fnl/plugins/gitsigns.fnl
index 1ef8cbc..1ef8cbc 100644
--- a/fnl/config/gitsigns.fnl
+++ b/fnl/plugins/gitsigns.fnl
diff --git a/fnl/plugins/harpoon.fnl b/fnl/plugins/harpoon.fnl
new file mode 100644
index 0000000..7674f0b
--- /dev/null
+++ b/fnl/plugins/harpoon.fnl
@@ -0,0 +1,25 @@
+;; Harpoon files for navigation.
+
+(fn telescope-ext [ext fun opts]
+ (let [telescope (require :telescope)
+ themes (require :telescope.themes)
+ theme (. opts :theme)]
+ ((. (. (. telescope :extensions) ext) fun) ((. themes theme) opts))))
+
+(fn setup []
+ (vim.keymap.set :n :<tab>
+ (fn []
+ (telescope-ext :harpoon :marks
+ {:theme :get_dropdown
+ :previewer false
+ :initial_mode :normal
+ :prompt_title :Harpoon}))
+ {})
+ (vim.keymap.set :n :<s-tab>
+ "<cmd>Telescope buffers theme=dropdown previewer=false initial_mode=normal<cr>"
+ {}))
+
+{1 :ThePrimeagen/harpoon
+ :event :BufReadPost
+ :config (fn []
+ (setup))}
diff --git a/fnl/plugins/hotpot.fnl b/fnl/plugins/hotpot.fnl
new file mode 100644
index 0000000..9c2dbce
--- /dev/null
+++ b/fnl/plugins/hotpot.fnl
@@ -0,0 +1,2 @@
+;; Transpiler for fnl.
+{1 :rktjmp/hotpot.nvim}
diff --git a/fnl/plugins/init.fnl b/fnl/plugins/init.fnl
new file mode 100644
index 0000000..9fea347
--- /dev/null
+++ b/fnl/plugins/init.fnl
@@ -0,0 +1,10 @@
+(let [plugins (require :plugins.lsp)
+ path (.. (vim.fn.stdpath :config) :/fnl/plugins)]
+ (if (vim.loop.fs_stat path)
+ (do
+ (each [fname (vim.fs.dir path)]
+ (let [fname (fname:match "^(.*)%.fnl$")]
+ (if (and (not= fname nil) (not= fname :init) (not= fname :lazy))
+ (table.insert plugins (require (.. :plugins. fname))))))
+ ))
+ plugins)
diff --git a/fnl/config/lazy.fnl b/fnl/plugins/lazy.fnl
index faa53c2..faa53c2 100644
--- a/fnl/config/lazy.fnl
+++ b/fnl/plugins/lazy.fnl
diff --git a/fnl/plugins/leap.fnl b/fnl/plugins/leap.fnl
new file mode 100644
index 0000000..6c2eb53
--- /dev/null
+++ b/fnl/plugins/leap.fnl
@@ -0,0 +1,17 @@
+;; Leap through text.
+
+(fn setup []
+ (let [leap (require :leap)]
+ (leap.setup {})
+ (leap.set_default_keymaps)))
+
+{1 :ggandor/leap.nvim
+ :dependencies {1 :ggandor/flit.nvim
+ :event :BufReadPost
+ :opts {:keys {:f :f :F :F :t :t :T :T}
+ :labeled_modes :v
+ :multiline true
+ :opts {}}}
+ :event :BufReadPost
+ :config (fn []
+ (setup))}
diff --git a/fnl/config/lir.fnl b/fnl/plugins/lir.fnl
index d74b248..b23d439 100644
--- a/fnl/config/lir.fnl
+++ b/fnl/plugins/lir.fnl
@@ -39,6 +39,8 @@
clipboard-actions (require :lir.clipboard.actions)
mark-actions (require :lir.mark.actions)
lir (require :lir)]
+ (tset vim.g :loaded_netrw 1)
+ (tset vim.g :loaded_netrwPlugin 1)
(lir.setup (opts actions mark-actions clipboard-actions))
(vim.keymap.set :n "-" ":lua require'lir.float'.toggle()<cr>"
{:noremap true :silent true})))
diff --git a/fnl/plugins/lsp/diagnostics.fnl b/fnl/plugins/lsp/diagnostics.fnl
new file mode 100644
index 0000000..1ac2e42
--- /dev/null
+++ b/fnl/plugins/lsp/diagnostics.fnl
@@ -0,0 +1,33 @@
+;; Handlers for the requests and responses from and to the lsp server.
+
+(local signs [{:name :DiagnosticSignError :text ""}
+ {:name :DiagnosticSignWarn :text ""}
+ {:name :DiagnosticSignHint :text ""}
+ {:name :DiagnosticSignInfo :text ""}])
+
+(fn apply-signs []
+ (each [_ sign (ipairs signs)]
+ (vim.fn.sign_define sign.name {:texthl sign.name :text sign.text :numhl ""})))
+
+(local config {:virtual_text false
+ :signs {:active signs}
+ :update_in_insert false
+ :underline true
+ :severity_sort true
+ :float {:focusable false
+ :style :minimal
+ :border :rounded
+ :source :always
+ :header ""
+ :prefix ""}})
+
+(fn setup []
+ (apply-signs)
+ (vim.diagnostic.config config)
+ (set vim.lsp.handlers.textDocument/hover
+ (vim.lsp.with {:border :rounded :width 60}))
+ (set vim.lsp.handlers.textDocument/signatureHelp
+ (vim.lsp.with vim.lsp.handlers.signature_help
+ {:border :rounded :width 60})))
+
+{: setup}
diff --git a/fnl/plugins/lsp/init.fnl b/fnl/plugins/lsp/init.fnl
new file mode 100644
index 0000000..bef4141
--- /dev/null
+++ b/fnl/plugins/lsp/init.fnl
@@ -0,0 +1,5 @@
+;; Lsp plugins.
+
+[(require :plugins.lsp.lspconfig)
+ (require :plugins.lsp.mason)
+ (require :plugins.lsp.null-ls)]
diff --git a/fnl/config/lsp/keymaps.fnl b/fnl/plugins/lsp/keymaps.fnl
index c60dfa9..a7fac89 100644
--- a/fnl/config/lsp/keymaps.fnl
+++ b/fnl/plugins/lsp/keymaps.fnl
@@ -1,22 +1,23 @@
;; Key mappings for lsp.
-(module config.lsp.keymaps {autoload {nvim aniseed.nvim}})
-(defn on-attach [bufnr] (let [opts {:noremap true :silent true}]
- (nvim.buf_set_keymap bufnr :n :gD
+(fn on-attach [bufnr] (let [opts {:noremap true :silent true}]
+ (vim.api.nvim_buf_set_keymap bufnr :n :gD
"<cmd>lua vim.lsp.buf.declaration()<CR>"
opts)
- (nvim.buf_set_keymap bufnr :n :gd
+ (vim.api.nvim_buf_set_keymap bufnr :n :gd
"<cmd>lua vim.lsp.buf.definition()<CR>"
opts)
- (nvim.buf_set_keymap bufnr :n :gI
+ (vim.api.nvim_buf_set_keymap bufnr :n :gI
"<cmd>lua vim.lsp.buf.implementation()<CR>"
opts)
- (nvim.buf_set_keymap bufnr :n :gr
+ (vim.api.nvim_buf_set_keymap bufnr :n :gr
"<cmd>lua vim.lsp.buf.references()<CR>"
opts)
- (nvim.buf_set_keymap bufnr :n :gl
+ (vim.api.nvim_buf_set_keymap bufnr :n :gl
"<cmd>lua vim.diagnostic.open_float()<CR>"
opts)
- (nvim.buf_set_keymap bufnr :n :gs
+ (vim.api.nvim_buf_set_keymap bufnr :n :gs
"<cmd>lua vim.lsp.buf.signature_help()<CR>"
opts)))
+
+{: on-attach}
diff --git a/fnl/config/lsp/lspconfig.fnl b/fnl/plugins/lsp/lspconfig.fnl
index 74faa26..b2ee792 100644
--- a/fnl/config/lsp/lspconfig.fnl
+++ b/fnl/plugins/lsp/lspconfig.fnl
@@ -3,7 +3,7 @@
(fn on-attach []
(vim.api.nvim_create_autocmd :LspAttach
{:callback (fn [args]
- (let [keymaps (require :config.lsp.keymaps)
+ (let [keymaps (require :plugins.lsp.keymaps)
bufnr (. args :buf)]
(keymaps.on-attach bufnr)))}))
@@ -15,10 +15,12 @@
{:ensure_installed (vim.tbl_keys servers) :automatic_installation true})
(fn setup []
- (require :config.lsp.diagnostics)
- (let [lspconfig (require :lspconfig)
+
+ (let [diagnostics (require :plugins.lsp.diagnostics)
+ lspconfig (require :lspconfig)
mason-lspconfig (require :mason-lspconfig)
- servers (require :config.lsp.servers)]
+ servers (require :plugins.lsp.servers)]
+ (diagnostics.setup)
(on-attach)
(mason-lspconfig.setup (mason-opts servers))
(mason-lspconfig.setup_handlers [(fn [server-name]
diff --git a/fnl/config/lsp/mason.fnl b/fnl/plugins/lsp/mason.fnl
index bf57de5..bf57de5 100644
--- a/fnl/config/lsp/mason.fnl
+++ b/fnl/plugins/lsp/mason.fnl
diff --git a/fnl/config/lsp/null-ls.fnl b/fnl/plugins/lsp/null-ls.fnl
index 13dd493..13dd493 100644
--- a/fnl/config/lsp/null-ls.fnl
+++ b/fnl/plugins/lsp/null-ls.fnl
diff --git a/fnl/config/lsp/servers.fnl b/fnl/plugins/lsp/servers.fnl
index 2403c1a..2403c1a 100644
--- a/fnl/config/lsp/servers.fnl
+++ b/fnl/plugins/lsp/servers.fnl
diff --git a/fnl/config/lualine.fnl b/fnl/plugins/lualine.fnl
index 7373704..7373704 100644
--- a/fnl/config/lualine.fnl
+++ b/fnl/plugins/lualine.fnl
diff --git a/fnl/plugins/minibar.fnl b/fnl/plugins/minibar.fnl
new file mode 100644
index 0000000..0dff6d6
--- /dev/null
+++ b/fnl/plugins/minibar.fnl
@@ -0,0 +1,30 @@
+;; Show the filename in the top left corner.
+
+{1 :aktersnurra/minibar.nvim
+ :event :BufReadPre
+ :opts {:ignore-filetypes [:help
+ :harpoon
+ :startify
+ :dashboard
+ :lir
+ :alpha
+ :packer
+ :neogitstatus
+ :Trouble
+ :org
+ :lazy
+ :netrw
+ :Outline
+ :NeogitStatus
+ :NeogitCommitMessage
+ :NeogitNotification
+ :NeogitCommitView
+ :spectre_panel
+ ""]
+ :events [:CursorMoved
+ :TermOpen
+ :DirChanged
+ :BufWinEnter
+ :BufFilePost
+ :InsertEnter
+ :BufWritePost]}}
diff --git a/fnl/config/neogit.fnl b/fnl/plugins/neogit.fnl
index b7c1633..b7c1633 100644
--- a/fnl/config/neogit.fnl
+++ b/fnl/plugins/neogit.fnl
diff --git a/fnl/config/orgmode.fnl b/fnl/plugins/orgmode.fnl
index 99e55be..99e55be 100644
--- a/fnl/config/orgmode.fnl
+++ b/fnl/plugins/orgmode.fnl
diff --git a/fnl/plugins/persistence.fnl b/fnl/plugins/persistence.fnl
new file mode 100644
index 0000000..4cde73e
--- /dev/null
+++ b/fnl/plugins/persistence.fnl
@@ -0,0 +1,5 @@
+;; Session manager.
+
+{1 :folke/persistence.nvim
+ :event :VeryLazy
+ :opts {:options [:buffers :curdir :tabpages :winsize :help]}}
diff --git a/fnl/plugins/project.fnl b/fnl/plugins/project.fnl
new file mode 100644
index 0000000..4361e06
--- /dev/null
+++ b/fnl/plugins/project.fnl
@@ -0,0 +1,16 @@
+;; Provides project management.
+
+{1 :ahmedkhalf/project.nvim
+ :cmd :Telescope
+ :opts {: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)}
+ :config (lambda [_ opts]
+ (let [project (require :project_nvim)]
+ (project.setup opts)))}
diff --git a/fnl/config/spectre.fnl b/fnl/plugins/spectre.fnl
index bae0132..92a33ba 100644
--- a/fnl/config/spectre.fnl
+++ b/fnl/plugins/spectre.fnl
@@ -40,14 +40,6 @@
: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
diff --git a/fnl/config/stay-in-place.fnl b/fnl/plugins/stay-in-place.fnl
index b264a05..b264a05 100644
--- a/fnl/config/stay-in-place.fnl
+++ b/fnl/plugins/stay-in-place.fnl
diff --git a/fnl/config/surround.fnl b/fnl/plugins/surround.fnl
index e8fda32..e8fda32 100644
--- a/fnl/config/surround.fnl
+++ b/fnl/plugins/surround.fnl
diff --git a/fnl/config/symbols-outline.fnl b/fnl/plugins/symbols-outline.fnl
index 4195de0..4195de0 100644
--- a/fnl/config/symbols-outline.fnl
+++ b/fnl/plugins/symbols-outline.fnl
diff --git a/fnl/config/telescope.fnl b/fnl/plugins/telescope.fnl
index 7f782e1..7f782e1 100644
--- a/fnl/config/telescope.fnl
+++ b/fnl/plugins/telescope.fnl
diff --git a/fnl/plugins/toggleterm.fnl b/fnl/plugins/toggleterm.fnl
new file mode 100644
index 0000000..d75aea1
--- /dev/null
+++ b/fnl/plugins/toggleterm.fnl
@@ -0,0 +1,5 @@
+;; Terminal inside nvim.
+
+{1 :akinsho/toggleterm.nvim
+ :cmd :ToggleTerm
+ :opts {:size 16 :shade_terminals false}}
diff --git a/fnl/config/treesitter.fnl b/fnl/plugins/treesitter.fnl
index 1d96a13..1d96a13 100644
--- a/fnl/config/treesitter.fnl
+++ b/fnl/plugins/treesitter.fnl
diff --git a/fnl/plugins/trim.fnl b/fnl/plugins/trim.fnl
new file mode 100644
index 0000000..7f224bc
--- /dev/null
+++ b/fnl/plugins/trim.fnl
@@ -0,0 +1,3 @@
+;; Trim whitespaces on save.
+
+{1 :cappyzawa/trim.nvim :event :BufFilePre :opts {:disable [:python]}}
diff --git a/fnl/config/trouble.fnl b/fnl/plugins/trouble.fnl
index 3f736bb..3f736bb 100644
--- a/fnl/config/trouble.fnl
+++ b/fnl/plugins/trouble.fnl
diff --git a/fnl/config/undotree.fnl b/fnl/plugins/undotree.fnl
index 9aa8114..9aa8114 100644
--- a/fnl/config/undotree.fnl
+++ b/fnl/plugins/undotree.fnl
diff --git a/fnl/config/vim-slash.fnl b/fnl/plugins/vim-slash.fnl
index 6f50ae4..6f50ae4 100644
--- a/fnl/config/vim-slash.fnl
+++ b/fnl/plugins/vim-slash.fnl
diff --git a/fnl/config/which-key.fnl b/fnl/plugins/which-key.fnl
index e31507b..e31507b 100644
--- a/fnl/config/which-key.fnl
+++ b/fnl/plugins/which-key.fnl
diff --git a/fnl/config/window-picker.fnl b/fnl/plugins/window-picker.fnl
index 831cfe6..2820409 100644
--- a/fnl/config/window-picker.fnl
+++ b/fnl/plugins/window-picker.fnl
@@ -1,10 +1,6 @@
;; Trim whitespaces on save.
-(local opts {:other_win_hl_color "#171717"
- :fg_color "#E1E1E1"
- :selection_chars :MNEIOARSTG})
-
-(fn pick-window []
+(fn pick-window [opts]
(let [window-picker (require :window-picker)]
(let [win (window-picker.pick_window)]
(if (not= win nil)
@@ -12,7 +8,10 @@
{1 :s1n7ax/nvim-window-picker
:event :BufReadPost
- :config (fn []
+ :opts {:other_win_hl_color "#171717"
+ :fg_color "#E1E1E1"
+ :selection_chars :MNEIOARSTG}
+ :config (lambda [_ opts]
(let [window-picker (require :window-picker)]
(window-picker.setup opts)
(vim.keymap.set :n :<C-s>
diff --git a/fnl/plugins/zen.fnl b/fnl/plugins/zen.fnl
new file mode 100644
index 0000000..6e9bee7
--- /dev/null
+++ b/fnl/plugins/zen.fnl
@@ -0,0 +1,11 @@
+;; Zen mode.
+
+{1 :folke/zen-mode.nvim
+ :cmd :ZenMode
+ :opts {: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/config/autocmd.fnl b/fnl/settings/autocmds.fnl
index e58803b..5ae8b8c 100644
--- a/fnl/config/autocmd.fnl
+++ b/fnl/settings/autocmds.fnl
@@ -1,10 +1,7 @@
;; Autocommands for nvim.
-(module config.autocmd {autoload {nvim aniseed.nvim
- env aniseed.env
- a aniseed.core
- : lazy}})
-(defn create-autocmd [event opts] (nvim.create_autocmd event opts))
+(fn create-autocmd [event opts]
+ (vim.api.nvim_create_autocmd event opts))
(create-autocmd :FileType
{:pattern [:qf :help :man :lspinfo :spectre_panel]
@@ -40,11 +37,6 @@
(create-autocmd :VimResized {:command "tabdo wincmd ="})
-(create-autocmd :BufWritePost
- {:pattern :*.fnl
- :callback (lambda []
- (env.init nvim.g.aniseed#env))})
-
(create-autocmd :FocusGained {:command :checktime})
(create-autocmd :TermOpen
diff --git a/fnl/settings/init.fnl b/fnl/settings/init.fnl
index a6f74fb..3caa86b 100644
--- a/fnl/settings/init.fnl
+++ b/fnl/settings/init.fnl
@@ -1,2 +1,12 @@
;; Load nvim settings
-(module settings {require [settings.options settings.keymaps]})
+
+(require :settings.options)
+
+(vim.api.nvim_create_autocmd :User
+ {:group (vim.api.nvim_create_augroup :Lazy
+ {:clear true})
+ :pattern :VeryLazy
+ :callback (lambda []
+ (require :settings.autocmds)
+ (require :settings.keymaps)
+ (require :settings.usercmds))})
diff --git a/fnl/settings/keymaps.fnl b/fnl/settings/keymaps.fnl
index 064084c..1af9a0d 100644
--- a/fnl/settings/keymaps.fnl
+++ b/fnl/settings/keymaps.fnl
@@ -1,13 +1,10 @@
;; Custom keymappings.
-(module settings.keymaps {autoload {nvim aniseed.nvim}})
-(def- opts {:noremap true :silent true})
-(defn- map [mode lhs rhs opt] (nvim.set_keymap mode lhs rhs opt))
+(local opts {:noremap true :silent true})
+(fn map [mode lhs rhs opt] (vim.api.nvim_set_keymap mode lhs rhs opt))
;;Remap space as leader key
(map "" :<Space> :<Nop> opts)
-(set nvim.g.mapleader " ")
-(set nvim.g.maplocalleader " ")
;; Normal ;;
;; Better window navigation
diff --git a/fnl/settings/options.fnl b/fnl/settings/options.fnl
index 9e190c2..1030f08 100644
--- a/fnl/settings/options.fnl
+++ b/fnl/settings/options.fnl
@@ -1,12 +1,11 @@
;; Sets options in neovim
-(module settings.options {autoload {nvim aniseed.nvim}})
-(def- spellfile (.. (os.getenv :XDG_CONFIG_HOME) :/nvim/spell/en.utf-8.add))
-
-(defn- apply-opts [opts] (each [k v (pairs opts)]
+(fn apply-opts [opts] (each [k v (pairs opts)]
(tset vim.opt k v)))
-(def- opts {;; creates a backup file
+(local spellfile (.. (os.getenv :XDG_CONFIG_HOME) :/nvim/spell/en.utf-8.add))
+
+(local opts {;; creates a backup file
:backup false
;; allows neovim to access the system clipboard
:clipboard :unnamedplus
@@ -76,6 +75,8 @@
;; is one of my fav
:scrolloff 8
:sidescrolloff 8
+ :colorcolumn :88
+ :shortmess :filnxtToOFWIcC
:spell true
: spellfile
:spelllang [:en_us]
@@ -84,12 +85,8 @@
:splitkeep :screen})
(apply-opts opts)
-
-(nvim.ex.set "whichwrap+=<,>,[,],h,l")
-(nvim.ex.set :iskeyword+=-)
-(nvim.ex.set :formatoptions-=cro)
-(nvim.ex.set :colorcolumn=88)
-(nvim.ex.set :shortmess=filnxtToOFWIcC)
+(set vim.g.mapleader " ")
+(set vim.g.maplocalleader " ")
;; Netrw settings
(set vim.g.netrw_banner 0)
diff --git a/fnl/settings/usercmds.fnl b/fnl/settings/usercmds.fnl
new file mode 100644
index 0000000..da842cc
--- /dev/null
+++ b/fnl/settings/usercmds.fnl
@@ -0,0 +1,98 @@
+;; Commands for plugins.
+
+(vim.api.nvim_create_user_command :OrgAgendaPrompt
+ (lambda []
+ (let [orgmode (require :orgmode)]
+ (orgmode.action :agenda.prompt)))
+ {:nargs 0})
+
+(vim.api.nvim_create_user_command :OrgCapturePrompt
+ (lambda []
+ (let [orgmode (require :orgmode)]
+ (orgmode.action :capture.prompt)))
+ {:nargs 0})
+
+(vim.api.nvim_create_user_command :CommentNormal
+ (lambda []
+ (let [comment-api (require :Comment.api)]
+ (comment-api.toggle.linewise.current)))
+ {:nargs 0})
+
+(vim.api.nvim_create_user_command :CommentVisual
+ (lambda []
+ (let [comment-api (require :Comment.api)]
+ (comment-api.toggle.linewise (vim.fn.visualmode))))
+ {:nargs 0})
+
+(vim.api.nvim_create_user_command :HarpoonAdd
+ (lambda []
+ (let [harpoon (require :harpoon.mark)]
+ (harpoon.add_file)))
+ {:nargs 0})
+
+(vim.api.nvim_create_user_command :HarpoonNext
+ (lambda []
+ (let [harpoon (require :harpoon.ui)]
+ (harpoon.nav_next)))
+ {:nargs 0})
+
+(vim.api.nvim_create_user_command :HarpoonPrev
+ (lambda []
+ (let [harpoon (require :harpoon.ui)]
+ (harpoon.nav_prev)))
+ {:nargs 0})
+
+(vim.api.nvim_create_user_command :HarpoonUI
+ (lambda []
+ (let [harpoon (require :harpoon.ui)]
+ (harpoon.toggle_quick_menu)))
+ {:nargs 0})
+
+(vim.api.nvim_create_user_command :Replace
+ (lambda []
+ (let [spectre (require :spectre)]
+ (spectre.open)))
+ {:nargs 0})
+
+(vim.api.nvim_create_user_command :ReplaceWord
+ (lambda []
+ (let [spectre (require :spectre)]
+ (spectre.open_visual {:select_word true})))
+ {:nargs 0})
+
+(vim.api.nvim_create_user_command :ReplaceInBuf
+ (lambda []
+ (let [spectre (require :spectre)]
+ (spectre.open_file_search)))
+ {:nargs 0})
+
+(vim.api.nvim_create_user_command :RestoreSession
+ (lambda []
+ (let [persistence (require :persistence)]
+ (persistence.load)))
+ {:nargs 0})
+
+(vim.api.nvim_create_user_command :RestoreLastSession
+ (lambda []
+ (let [persistence (require :persistence)]
+ (persistence.load {:last true})))
+ {:nargs 0})
+
+(vim.api.nvim_create_user_command :IgnoreSession
+ (lambda []
+ (let [persistence (require :persistence)]
+ (persistence.stop)))
+ {:nargs 0})
+
+(fn telescope-builtin [builtin opts]
+ (let [telescope (require :telescope.builtin)
+ themes (require :telescope.themes)
+ theme (. opts :theme)]
+ ((. telescope builtin) ((. themes theme) opts))))
+
+(vim.api.nvim_create_user_command :FindFiles
+ (lambda []
+ (telescope-builtin :find_files
+ {:theme :get_dropdown
+ :previewer false}))
+ {:nargs 0})
diff --git a/init.lua b/init.lua
index 8e7f660..8c53acd 100644
--- a/init.lua
+++ b/init.lua
@@ -1,8 +1,7 @@
-local lazy_path = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
-local aniseed_path = vim.fn.stdpath "data" .. "/lazy/aniseed"
-
-local function ensure(user, plugin, path)
+local function ensure(user, plugin)
+ local path = vim.fn.stdpath "data" .. "/lazy/" .. plugin
if not vim.loop.fs_stat(path) then
+ vim.notify("Downloading " .. plugin .. "...", vim.log.levels.INFO)
vim.fn.system {
"git",
"clone",
@@ -12,15 +11,23 @@ local function ensure(user, plugin, path)
path,
}
end
+ vim.opt.runtimepath:prepend(path)
end
-ensure("folke", "lazy.nvim", lazy_path)
-ensure("Olical", "aniseed", aniseed_path)
-
-vim.opt.runtimepath:prepend(lazy_path)
-vim.opt.runtimepath:prepend(aniseed_path)
+ensure("folke", "lazy.nvim")
+ensure("rktjmp", "hotpot.nvim")
-vim.g["aniseed#env"] = {
- module = "init",
- compile = true,
+require("hotpot").setup {
+ provide_require_fennel = true,
+ compiler = {
+ modules = {
+ correlate = true,
+ },
+ },
}
+
+require "settings"
+
+local plugins = require "plugins"
+local lazy_opts = require "plugins.lazy"
+require("lazy").setup(plugins, lazy_opts)
diff --git a/lazy-lock.json b/lazy-lock.json
index 2329885..23e089e 100644
--- a/lazy-lock.json
+++ b/lazy-lock.json
@@ -1,32 +1,32 @@
{
"Comment.nvim": { "branch": "master", "commit": "e89df176e8b38e931b7e71a470f923a317976d86" },
- "LuaSnip": { "branch": "master", "commit": "508b41fb7b2a7f06522f96eb7742d21f025a8512" },
- "SchemaStore.nvim": { "branch": "main", "commit": "c55c35929dd4e670af7ab6e2e197a4687baa2076" },
+ "LuaSnip": { "branch": "master", "commit": "5d57303efde86fcb0959c52b1a6d40f923940f34" },
+ "SchemaStore.nvim": { "branch": "main", "commit": "3c255ca48c019fb4c947ace820f3ebf06e4e8b64" },
"alpha-nvim": { "branch": "main", "commit": "21a0f2520ad3a7c32c0822f943368dc063a569fb" },
- "aniseed": { "branch": "master", "commit": "a7445c340fb7a0529f3c413eb99d3f8d29f50ba2" },
- "better-escape.nvim": { "branch": "master", "commit": "d5ee0cef56a7e41a86048c14f25e964876ac20c1" },
+ "better-escape.nvim": { "branch": "master", "commit": "6fed33809cde3b416087fc540ad9eb17ec470193" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-cmdline": { "branch": "main", "commit": "23c51b2a3c00f6abc4e922dbd7c3b9aca6992063" },
"cmp-nvim-lsp": { "branch": "main", "commit": "59224771f91b86d1de12570b4070fe4ad7cd1eeb" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp-spell": { "branch": "master", "commit": "60584cb75e5e8bba5a0c9e4c3ab0791e0698bffa" },
"cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
- "diffview.nvim": { "branch": "main", "commit": "e45aaf82e123218da419751d2d6aed2a064ca054" },
+ "diffview.nvim": { "branch": "main", "commit": "18d88c86a1d7b5256f96694bd41aaee7037a6cc1" },
"flit.nvim": { "branch": "main", "commit": "be110f9814a45788d10537fd59b3c76d956bb7ad" },
"friendly-snippets": { "branch": "main", "commit": "484fb38b8f493ceeebf4e6fc499ebe41e10aae25" },
- "gitsigns.nvim": { "branch": "main", "commit": "d4f8c01280413919349f5df7daccd0c172143d7c" },
+ "gitsigns.nvim": { "branch": "main", "commit": "c6f45ccfe22009e88f9d799cfca3c28791fa78cd" },
"harpoon": { "branch": "master", "commit": "21d0d1bfa3000e4384740bfaefa0ebc51c773786" },
- "lazy.nvim": { "branch": "main", "commit": "e77be3cf3b01402b86464e1734fb5ead448ce12e" },
+ "hotpot.nvim": { "branch": "master", "commit": "1002bcdea7af06c5a7bfce0536d96bc4b03ab42e" },
+ "lazy.nvim": { "branch": "main", "commit": "8756c0950ca9053713262abd1092f6d100adc9a5" },
"leap.nvim": { "branch": "main", "commit": "a968ab4250840dc879e805f918b4f3b892310a12" },
- "lir.nvim": { "branch": "master", "commit": "84af01547e51e15fc97e878330414385eeb825e8" },
+ "lir.nvim": { "branch": "master", "commit": "1fb0c78906677ec67493ffc3b4b6f7d584d25498" },
"lspkind-nvim": { "branch": "master", "commit": "c68b3a003483cf382428a43035079f78474cd11e" },
"lualine-lsp-progress": { "branch": "master", "commit": "56842d097245a08d77912edf5f2a69ba29f275d7" },
"lualine.nvim": { "branch": "master", "commit": "d8c392dd75778d6258da4e7c55522e94ac389732" },
- "mason-lspconfig.nvim": { "branch": "main", "commit": "33a198bc5ee0215ae8ab3f61781b29103cf4ca5a" },
+ "mason-lspconfig.nvim": { "branch": "main", "commit": "3751eb5c56c67b51e68a1f4a0da28ae74ab771c1" },
"mason-null-ls.nvim": { "branch": "main", "commit": "c4b4a6fe3cb8d8590b831c22b3475166dc9a894e" },
- "mason.nvim": { "branch": "main", "commit": "0975eeac8d6e1e87270cc42285e673a4ee36bc5e" },
+ "mason.nvim": { "branch": "main", "commit": "c609775d1fc5ae18aadc92b8b65be9c9b1980004" },
"minibar.nvim": { "branch": "master", "commit": "353ca4efaf7fff1566bb02e0d7cb51133c41f660" },
- "neogit": { "branch": "master", "commit": "84cf7efba6e4daed11a1185ea09fa553a3ca3d4f" },
+ "neogit": { "branch": "master", "commit": "a364c3da583a78f707aac761f5927967a0165143" },
"no-clown-fiesta.nvim": { "branch": "master", "commit": "8d4f03c8211a7b5528cd9fa8212d8f1e7baea485" },
"null-ls.nvim": { "branch": "main", "commit": "915558963709ea17c5aa246ca1c9786bfee6ddb4" },
"nvim-autopairs": { "branch": "master", "commit": "f00eb3b766c370cb34fdabc29c760338ba9e4c6c" },
@@ -34,15 +34,15 @@
"nvim-bufdel": { "branch": "main", "commit": "a60b3531e5bd56f8602acb4ba7f5b2eeb782d54b" },
"nvim-cmp": { "branch": "main", "commit": "11a95792a5be0f5a40bab5fc5b670e5b1399a939" },
"nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" },
- "nvim-lspconfig": { "branch": "master", "commit": "2df0fbdadd947cd2995566a0117b8802a9ba74f4" },
+ "nvim-lspconfig": { "branch": "master", "commit": "7b98aadc6e85db4fc3af6c1ec22c4774d965506e" },
"nvim-spectre": { "branch": "master", "commit": "68ea562b485b6593e325e7916c3bd6e833d433e7" },
"nvim-surround": { "branch": "main", "commit": "ad56e6234bf42fb7f7e4dccc7752e25abd5ec80e" },
- "nvim-treesitter": { "branch": "master", "commit": "3e316204f8ec8450bbaace69d0bf8fe332633fec" },
- "nvim-web-devicons": { "branch": "master", "commit": "7f55bc36eddec87597167a97de5b690997edaf7d" },
+ "nvim-treesitter": { "branch": "master", "commit": "be0b3ba1b90b2aa5c78ff7a5798d477a744e5cbe" },
+ "nvim-web-devicons": { "branch": "master", "commit": "6c38926351372ea87034dec26182b62c835ff3bc" },
"nvim-window-picker": { "branch": "main", "commit": "5902827d0e338890a22849e2f18dc80d1cc1a8db" },
"orgmode": { "branch": "master", "commit": "dadf56334d2be7d9e8ad1e22c697a6e75f0164b7" },
"persistence.nvim": { "branch": "main", "commit": "8484fdaa284207f77ec69b9627316bf334ad653f" },
- "plenary.nvim": { "branch": "master", "commit": "9d81624fbcedd3dd43b38d7e13a1e7b3f873d8cd" },
+ "plenary.nvim": { "branch": "master", "commit": "1c7e3e6b0f4dd5a174fcea9fda8a4d7de593b826" },
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
"project.nvim": { "branch": "main", "commit": "685bc8e3890d2feb07ccf919522c97f7d33b94e4" },
"sqlite.lua": { "branch": "master", "commit": "53cac3fdb5f5e4e63e243232b6eccf3c764ae18a" },
@@ -51,12 +51,12 @@
"telescope-frecency.nvim": { "branch": "master", "commit": "62cbd4e7f55fb6de2b8081087ce97026022ffcd2" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "fab3e2212e206f4f8b3bbaa656e129443c9b802e" },
"telescope-orgmode.nvim": { "branch": "main", "commit": "eabff061c3852a9aa94e672a7d2fa4a1ef63f9e2" },
- "telescope.nvim": { "branch": "master", "commit": "04af51dbfb17c2afa0b8d82b0e842e0638201ca9" },
+ "telescope.nvim": { "branch": "master", "commit": "e8c01bab917537ba4f54193c29b77bf4a04584d3" },
"toggleterm.nvim": { "branch": "main", "commit": "b02a1674bd0010d7982b056fd3df4f717ff8a57a" },
"trim.nvim": { "branch": "master", "commit": "909150606eab44979eb9595145796f5bcb067955" },
"trouble.nvim": { "branch": "main", "commit": "83ec606e7065adf134d17f4af6bae510e3c491c1" },
"undotree": { "branch": "master", "commit": "1a23ea84bd02c34f50d8e10a8b4bfc89597ffe4e" },
"vim-slash": { "branch": "master", "commit": "31aee09b7ea8893a18fa34f65e63e364fc998444" },
- "which-key.nvim": { "branch": "main", "commit": "802219ba26409f325a5575e3b684b6cb054e2cc5" },
+ "which-key.nvim": { "branch": "main", "commit": "68bacb61267b87de657793bacf3a18618a5fb0e1" },
"zen-mode.nvim": { "branch": "main", "commit": "4313a5828e4d48c5f2f135f29d46f769a59dcfdc" }
} \ No newline at end of file