summaryrefslogtreecommitdiff
path: root/fnl
diff options
context:
space:
mode:
Diffstat (limited to 'fnl')
-rw-r--r--fnl/config/autocmd.fnl87
1 files changed, 38 insertions, 49 deletions
diff --git a/fnl/config/autocmd.fnl b/fnl/config/autocmd.fnl
index ecec60a..e168bd5 100644
--- a/fnl/config/autocmd.fnl
+++ b/fnl/config/autocmd.fnl
@@ -1,50 +1,39 @@
;; A customizable greeter.
-(module config.autocmd {autoload {util util}})
-
-(util.autocmd :FileType {:pattern [:qf :help :man :lspinfo]
- :command "nnoremap <silent> <buffer> q :close<CR>"
- :group :_general_settings})
-
-(util.autocmd :TextYankPost
- {:pattern ["*"]
- :callback (lambda []
- (vim.highlight.on_yank {:timeout 200}))
- :group :_general_settings})
-
-(util.autocmd :BufWinEnter
- {:pattern ["*"]
- :command ":set formatoptions-=cro"
- :group :_general_settings})
-
-(util.autocmd :FileType {:pattern [:qf]
- :command "set nobuflisted"
- :group :_general_settings})
-
-(util.autocmd :FileType {:pattern [:gitcommit]
- :command "setlocal wrap"
- :group :_git})
-
-(util.autocmd :FileType {:pattern [:gitcommit]
- :command "setlocal spell"
- :group :_git})
-
-(util.autocmd :FileType {:pattern [:markdown]
- :command "setlocal wrap"
- :group :_markdown})
-
-(util.autocmd :FileType {:pattern [:markdown]
- :command "setlocal spell"
- :group :_markdown})
-
-(util.autocmd :VimResized {:pattern ["*"]
- :command "tabdo wincmd ="
- :group :_auto_resize})
-
-(util.autocmd :User {:pattern [:AlphaReady]
- :command "set showtabline=0 | autocmd BufUnload <buffer> set showtabline=2"
- :group :_alpha})
-
-(util.autocmd :BufWritePost
- {:pattern [:plugins.fnl]
- :command "source <afile> | PackerSync"
- :group :packer_user_config})
+(module config.autocmd {autoload {nvim aniseed.nvim util util}})
+
+(defn autocmd [group cmds]
+ (nvim.command (.. "augroup " group))
+ (nvim.command "autocmd!")
+ (each [_ cmd (ipairs cmds)]
+ (nvim.command (.. "autocmd " cmd)))
+ (nvim.command "augroup end"))
+
+(def- general-settings [
+ "FileType qf,help,man,lspinfo nnoremap <silent> <buffer> q :close<CR>"
+ "TextYankPost * silent!lua require('vim.highlight').on_yank({higroup = 'Search', timeout = 200})"
+ "BufWinEnter * :set formatoptions-=cro"
+ "FileType qf set nobuflisted"])
+
+(def- git [
+ "FileType gitcommit setlocal wrap"
+ "FileType gitcommit setlocal spell"])
+
+(def- markdown [
+ "FileType markdown setlocal wrap"
+ "FileType markdown setlocal spell"])
+
+(def- auto-resize [
+ "VimResized * tabdo wincmd ="])
+
+(def- alpha [
+ "User AlphaReady set showtabline=0 | autocmd BufUnload <buffer> set showtabline=2"])
+
+(def- packer [
+ "BufWritePost plugins.lua source <afile> | PackerSync"])
+
+(autocmd "_general_settings" general-settings)
+(autocmd "_git" git)
+(autocmd "_markdown" markdown)
+(autocmd "_auto_resize" auto-resize)
+(autocmd "_alpha" alpha)
+(autocmd "packer_user_config" packer)