From 07e552df83663d6008965a8e4ea4053e659fbc25 Mon Sep 17 00:00:00 2001
From: Oliver Davies <oliver@oliverdavies.uk>
Date: Wed, 4 Jan 2023 22:16:14 +0000
Subject: [PATCH] feat(nvim): add new plugins

---
 config/neovim/after/plugin/nvim-lastplace.lua |  6 ++
 home-manager/modules/common.nix               | 56 ++++++++++++++++++-
 2 files changed, 60 insertions(+), 2 deletions(-)
 create mode 100644 config/neovim/after/plugin/nvim-lastplace.lua

diff --git a/config/neovim/after/plugin/nvim-lastplace.lua b/config/neovim/after/plugin/nvim-lastplace.lua
new file mode 100644
index 00000000..d54cafb7
--- /dev/null
+++ b/config/neovim/after/plugin/nvim-lastplace.lua
@@ -0,0 +1,6 @@
+local has_lastplace, lastplace = pcall(require, "nvim-lastplace")
+if not has_lastplace then
+  return
+end
+
+lastplace.setup {}
diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix
index ef82681e..203b5c83 100644
--- a/home-manager/modules/common.nix
+++ b/home-manager/modules/common.nix
@@ -80,6 +80,36 @@ in {
         };
       };
 
+      customVim.vim-heritage = pkgs.vimUtils.buildVimPlugin {
+        name = "vim-heritage";
+        src = pkgs.fetchFromGitHub {
+          owner = "jessarcher";
+          repo = "vim-heritage";
+          rev = "cffa05c78c0991c998adc4504d761b3068547db6";
+          sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0=";
+        };
+      };
+
+      customVim.vim-just = pkgs.vimUtils.buildVimPlugin {
+        name = "vim-just";
+        src = pkgs.fetchFromGitHub {
+          owner = "NoahTheDuke";
+          repo = "vim-just";
+          rev = "838c9096d4c5d64d1000a6442a358746324c2123";
+          sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y=";
+        };
+      };
+
+      customVim.vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin {
+        name = "vim-textobj-xmlattr";
+        src = pkgs.fetchFromGitHub {
+          owner = "whatyouhide";
+          repo = "vim-textobj-xmlattr";
+          rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1";
+          sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q=";
+        };
+      };
+
       customVim.tabline-vim = pkgs.vimUtils.buildVimPlugin {
         name = "tabline-vim";
         src = pkgs.fetchFromGitHub {
@@ -89,7 +119,24 @@ in {
           sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y=";
         };
       };
+
+      customVim.vim-visual-star-search = pkgs.vimUtils.buildVimPlugin {
+        name = "vim-visual-star-search";
+        src = pkgs.fetchFromGitHub {
+          owner = "nelstrom";
+          repo = "vim-visual-star-search";
+          rev = "37259722f45996733fd309add61385a4ad88bdb9";
+          sha256 = "n8jd6fy30XukZ9NFZX5qclSlMfziP/Ew9dXfkysRl4Y=";
+        };
+      };
     in with pkgs; [
+      customVim.tabline-vim
+      customVim.vim-astro
+      customVim.vim-heritage
+      customVim.vim-just
+      customVim.vim-textobj-xmlattr
+      customVim.vim-visual-star-search
+
       vimPlugins.comment-nvim
       vimPlugins.dial-nvim
       vimPlugins.git-worktree-nvim
@@ -98,21 +145,26 @@ in {
       vimPlugins.impatient-nvim
       vimPlugins.indent-blankline-nvim
       vimPlugins.neogit
+      vimPlugins.nvim-autopairs
+      vimPlugins.nvim-lastplace
       vimPlugins.nvim-web-devicons
       vimPlugins.refactoring-nvim
       vimPlugins.rest-nvim
       vimPlugins.splitjoin-vim
       vimPlugins.vim-abolish
+      vimPlugins.vim-eunuch
       vimPlugins.vim-floaterm
       vimPlugins.vim-highlightedyank
+      vimPlugins.vim-pasta
       vimPlugins.vim-polyglot
       vimPlugins.vim-repeat
+      vimPlugins.vim-sleuth
       vimPlugins.vim-surround
       vimPlugins.vim-test
+      vimPlugins.vim-textobj-user
       vimPlugins.vim-tmux-navigator
+      vimPlugins.vim-unimpaired
       vimPlugins.vimux
-      customVim.vim-astro
-      customVim.tabline-vim
 
       # Debugging
       vimPlugins.nvim-dap