summaryrefslogtreecommitdiff
path: root/fnl
diff options
context:
space:
mode:
authorMike Vink <mike.vink@stater.nl>2023-04-25 16:28:58 +0200
committerMike Vink <mike.vink@stater.nl>2023-04-25 16:28:58 +0200
commitc8b43e3298711a13751252651def75f646411860 (patch)
treec312cbf5bb1873b0ccb5ae29577fc58ca690b3f4 /fnl
parentf80dcdd47c25e9f174f2e1ea8be341995ea2781f (diff)
fixup
Diffstat (limited to 'fnl')
-rw-r--r--fnl/conf/init.fnl23
1 files changed, 23 insertions, 0 deletions
diff --git a/fnl/conf/init.fnl b/fnl/conf/init.fnl
index 18b8561..d59b6ae 100644
--- a/fnl/conf/init.fnl
+++ b/fnl/conf/init.fnl
@@ -40,6 +40,29 @@
(each [_ printer (ipairs inspected)]
(print printer)))))
+(local git-worktree (require :git-worktree))
+(git-worktree:setup {:command :tcd :update_on_change true :autopush true})
+
+(vim.keymap.set [:n] :<leader>w ":Worktree ")
+(vim.api.nvim_create_user_command :Worktree
+ (fn [ctx]
+ (match ctx.fargs
+ [:create tree branch upstream] (git-worktree.create_worktree tree
+ branch
+ upstream)
+ [:switch tree] (git-worktree.switch_worktree tree)
+ [:delete tree] (git-worktree.delete_worktree tree)))
+ {:nargs "*"
+ :complete (fn [lead cmdline cursor]
+ (local cmds
+ [:create :switch :delete])
+ (if (accumulate [cmd-given false _ cmd (ipairs cmds)]
+ (or cmd-given
+ (string.find cmdline
+ cmd)))
+ []
+ cmds))})
+
(vim.api.nvim_create_user_command :HomeManager
(fn [ctx]
(vim.cmd (.. ":Dispatch home-manager switch --impure "