(local au vim.api.nvim_create_autocmd)
(local m vim.keymap.set)
(fn Treesitter_config []
(let [prefix (.. vim.env.HOME "/.local/share/nvim/runtime/queries/")]
(if (and (> (length vim.o.filetype) 0) (vim.uv.fs_stat (.. prefix vim.o.filetype)))
(vim.treesitter.start))))
(au ["VimEnter"]
{ :callback
#(let [session (.. vim.env.HOME "/.cache/nvim/")]
(when (vim.uv.fs_stat session)
(vim.cmd.source session)
(vim.fs.rm session))) })
(au ["UIEnter"]
{ :callback
#((require "map")
(vim.cmd.shada)
(if (= 0 (vim.fn.argc))
(vim.cmd.term "nu")
(vim.cmd.normal "g`\""))) })
(au ["FileType"]
{ :callback Treesitter_config })
(au ["CmdLineEnter"]
{ :callback
#(require "cdtrack")
:once true })
(au ["TextYankPost"]
{ :callback
#(if (= "" vim.v.event.regname)
(vim.fn.setreg vim.v.event.operator (vim.fn.getreg)))})
(au ["CmdWinEnter"]
{ :callback
#((m "n" "<ESC>" "<cmd>q!<CR>" { :buffer true })
(tset vim :bo :filetype "vim")) })
(au ["BufWinEnter"]
{ :pattern "COMMIT_EDITMSG"
:callback
#(icollect [i s (ipairs (vim.fn.systemlist "git diff --cached"))]
(vim.fn.append (- i 1) (.. "# " s)))})
(au ["BufWritePre"]
{ :callback
#(let [dir (vim.fn.expand :<afile>:p:h)
f (io.open dir :r)]
(if f
(f:close)
(vim.fn.mkdir dir :p)))})
(au ["VimLeave"] { :command "wshada" })
nil