diff --git a/roles/neovim/files/lua/opdavies/plugins.lua b/roles/neovim/files/lua/opdavies/plugins.lua index 5cd8d3c..c9cc33d 100644 --- a/roles/neovim/files/lua/opdavies/plugins.lua +++ b/roles/neovim/files/lua/opdavies/plugins.lua @@ -46,6 +46,7 @@ return packer.startup(function() use "nvim-lua/popup.nvim" use "rcarriga/nvim-notify" use "sheerun/vim-polyglot" + use "theprimeagen/git-worktree.nvim" use "theprimeagen/refactoring.nvim" use "tjdevries/express_line.nvim" use "tpope/vim-repeat" diff --git a/roles/neovim/files/lua/opdavies/telescope/mappings.lua b/roles/neovim/files/lua/opdavies/telescope/mappings.lua index 69ed002..6cd33a0 100644 --- a/roles/neovim/files/lua/opdavies/telescope/mappings.lua +++ b/roles/neovim/files/lua/opdavies/telescope/mappings.lua @@ -1,5 +1,7 @@ TelescopeMapArgs = TelescopeMapArgs or {} +local telescope = require "telescope" + local telescope_mapper = function(key, f, options, buffer) local map_key = vim.api.nvim_replace_termcodes(key .. f, true, true, true) @@ -34,4 +36,9 @@ telescope_mapper("dl", "diagnostics") telescope_mapper("en", "edit_neovim") telescope_mapper("ez", "edit_zsh") +local nmap = require "opdavies.keymap".nmap + +nmap { "gm", telescope.extensions.git_worktree.create_git_worktree } +nmap { "gw", telescope.extensions.git_worktree.git_worktrees } + return telescope_mapper diff --git a/roles/neovim/files/lua/opdavies/telescope/setup.lua b/roles/neovim/files/lua/opdavies/telescope/setup.lua index d45e00a..ba0e126 100644 --- a/roles/neovim/files/lua/opdavies/telescope/setup.lua +++ b/roles/neovim/files/lua/opdavies/telescope/setup.lua @@ -60,5 +60,6 @@ telescope.setup { telescope.load_extension "file_browser" telescope.load_extension "fzf" +telescope.load_extension "git_worktree" telescope.load_extension "refactoring" telescope.load_extension "ui-select"