summary refs log tree commit diff
path: root/pkgs/misc/vim-plugins
diff options
context:
space:
mode:
authorWael M. Nasreddine <wael.nasreddine@gmail.com>2018-10-31 10:46:59 -0700
committerWael M. Nasreddine <wael.nasreddine@gmail.com>2018-11-02 22:04:44 -0700
commite09e5297d3cf26472ebb2b4fd80cec2eb56f0f15 (patch)
tree6fd9027958e3a4b0efc3bfdb2f7dd165722f73a8 /pkgs/misc/vim-plugins
parente2355c697335af7a8e132e6acf440418f79dd9e6 (diff)
downloadnixpkgs-e09e5297d3cf26472ebb2b4fd80cec2eb56f0f15.tar
nixpkgs-e09e5297d3cf26472ebb2b4fd80cec2eb56f0f15.tar.gz
nixpkgs-e09e5297d3cf26472ebb2b4fd80cec2eb56f0f15.tar.bz2
nixpkgs-e09e5297d3cf26472ebb2b4fd80cec2eb56f0f15.tar.lz
nixpkgs-e09e5297d3cf26472ebb2b4fd80cec2eb56f0f15.tar.xz
nixpkgs-e09e5297d3cf26472ebb2b4fd80cec2eb56f0f15.tar.zst
nixpkgs-e09e5297d3cf26472ebb2b4fd80cec2eb56f0f15.zip
vim-plugins: vim-go: provide the binaries required for the plugin to be functional
Diffstat (limited to 'pkgs/misc/vim-plugins')
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix34
1 files changed, 34 insertions, 0 deletions
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index 6b8bf42c795..6b1fd423a0a 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -9,6 +9,12 @@
 , languagetool
 , Cocoa, CoreFoundation, CoreServices
 , buildVimPluginFrom2Nix
+
+# vim-go denpencies
+, asmfmt, delve, errcheck, godef, golint
+, gomodifytags, gotags, gotools, motion
+, gnused, reftools, gogetdoc, gometalinter
+, impl, iferr
 }:
 
 let
@@ -247,6 +253,34 @@ with generated;
     dependencies = ["vim-misc"];
   });
 
+  # change the go_bin_path to point to a path in the nix store. See the code in
+  # fatih/vim-go here
+  # https://github.com/fatih/vim-go/blob/155836d47052ea9c9bac81ba3e937f6f22c8e384/autoload/go/path.vim#L154-L159
+  vim-go = vim-go.overrideAttrs(old: let
+    binPath = lib.makeBinPath [
+      asmfmt
+      delve
+      errcheck
+      godef
+      gogetdoc
+      golint
+      gometalinter
+      gomodifytags
+      gotags
+      gotools
+      iferr
+      impl
+      motion
+      reftools
+    ];
+    in {
+    postPatch = ''
+      ${gnused}/bin/sed \
+        -Ee 's@let go_bin_path = go#path#BinPath\(\)@let go_bin_path = "${binPath}"@g' \
+        -i autoload/go/path.vim
+    '';
+  });
+
   vim-grammarous = vim-grammarous.overrideAttrs(old: {
     # use `:GrammarousCheck` to initialize checking
     # In neovim, you also want to use set