about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2018-04-24 22:56:25 +0200
committerDaiderd Jordan <daiderd@gmail.com>2018-04-24 22:56:25 +0200
commit1c3d38c69b0b795a6a445a3fa3af3780cb4c8f06 (patch)
tree4de6beeb63581f6ae6eaee114662ec8848ad9c02
parent78d9bffc0a69fcf7acf40674211b395908aa39db (diff)
downloadnixlib-1c3d38c69b0b795a6a445a3fa3af3780cb4c8f06.tar
nixlib-1c3d38c69b0b795a6a445a3fa3af3780cb4c8f06.tar.gz
nixlib-1c3d38c69b0b795a6a445a3fa3af3780cb4c8f06.tar.bz2
nixlib-1c3d38c69b0b795a6a445a3fa3af3780cb4c8f06.tar.lz
nixlib-1c3d38c69b0b795a6a445a3fa3af3780cb4c8f06.tar.xz
nixlib-1c3d38c69b0b795a6a445a3fa3af3780cb4c8f06.tar.zst
nixlib-1c3d38c69b0b795a6a445a3fa3af3780cb4c8f06.zip
vim_configurable: replace default ftNix patch with sources from vim-nix
-rw-r--r--pkgs/applications/editors/vim/configurable.nix6
-rw-r--r--pkgs/applications/editors/vim/ft-nix-support.patch78
2 files changed, 7 insertions, 77 deletions
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index 0f81b0bdd640..9ffa31f2f2e0 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -4,6 +4,7 @@ args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, ge
 , composableDerivation, writeText, lib, config, glib, gtk2, gtk3, python, perl, tcl, ruby
 , libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
 , libICE
+, vimPlugins
 
 # apple frameworks
 , CoreServices, CoreData, Cocoa, Foundation, libobjc, cf-private
@@ -80,6 +81,11 @@ composableDerivation {
     flags = {
         ftNix = {
           patches = [ ./ft-nix-support.patch ];
+          preConfigure = ''
+            cp ${vimPlugins.vim-nix.src}/ftplugin/nix.vim runtime/ftplugin/nix.vim
+            cp ${vimPlugins.vim-nix.src}/indent/nix.vim runtime/indent/nix.vim
+            cp ${vimPlugins.vim-nix.src}/syntax/nix.vim runtime/syntax/nix.vim
+          '';
         };
       }
       // edf {
diff --git a/pkgs/applications/editors/vim/ft-nix-support.patch b/pkgs/applications/editors/vim/ft-nix-support.patch
index 5feb9c879517..274d855731fd 100644
--- a/pkgs/applications/editors/vim/ft-nix-support.patch
+++ b/pkgs/applications/editors/vim/ft-nix-support.patch
@@ -6,7 +6,7 @@ index a8e6261..2b008fc 100644
  " Z80 assembler asz80
  au BufNewFile,BufRead *.z8a			setf z8a
  
-+" NIX
++" Nix
 +au BufNewFile,BufRead *.nix		setf nix
 +
  augroup END
@@ -18,79 +18,3 @@ index a8e6261..2b008fc 100644
  unlet s:cpo_save
 +
 +
-diff --git a/runtime/syntax/nix.vim b/runtime/syntax/nix.vim
-new file mode 100644
-index 0000000..a2f9918
---- /dev/null
-+++ b/runtime/syntax/nix.vim
-@@ -0,0 +1,56 @@
-+" Vim syntax file
-+" Language:	nix
-+" Maintainer:	Marc Weber <marco-oweber@gmx.de>
-+"               Modify and commit if you feel that way
-+" Last Change:	2011 Jun
-+"
-+" this syntax file can be still be enhanced very much..
-+" Don't ask, do it :-)
-+" This file (github.com/MarcWeber/vim-addon-nix) is periodically synced with
-+" the patch found in vim_configurable (nixpkgs)
-+
-+" Quit when a (custom) syntax file was already loaded
-+if exists("b:current_syntax")
-+  finish
-+endif
-+
-+
-+sy cluster nixStrings contains=nixStringParam,nixStringIndented
-+
-+syn keyword	nixKeyword	let throw inherit import true false null with
-+syn keyword	nixConditional	if else then
-+syn keyword     nixBrace        ( ) { } =
-+syn keyword     nixBuiltin         __currentSystem __currentTime __isFunction __getEnv __trace __toPath __pathExists 
-+  \ __readFile __toXML __toFile __filterSource __attrNames __getAttr __hasAttr __isAttrs __listToAttrs __isList 
-+  \ __head __tail __add __sub __lessThan __substring __stringLength
-+
-+syn region nixStringIndented start=+''+ skip=+'''\|''${\|"+ end=+''+ contains=nixStringParam
-+" syn region nixString         start=+"+ skip=+\\"+ end=+"+
-+syn match nixAttr "\w\+\ze\s*="
-+syn match nixFuncArg "\zs\w\+\ze\s*:"
-+syn region nixStringParam start=+\${+ end=+}+ contains=@nixStrings
-+syn region nixMultiLineComment start=+/\*+ skip=+\\"+ end=+\*/+
-+syn match  nixEndOfLineComment "#.*$"
-+
-+hi def link nixKeyword       Keyword
-+hi def link nixConditional   Conditional
-+hi def link nixBrace         Special
-+hi def link nixString        String
-+hi def link nixStringIndented String
-+hi def link nixBuiltin       Special
-+hi def link nixStringParam   Macro
-+hi def link nixMultiLineComment Comment
-+hi def link nixEndOfLineComment Comment
-+hi def link nixAttr        Identifier
-+hi def link nixFuncArg     Identifier
-+
-+syn sync maxlines=20000
-+syn sync minlines=50000
-+
-+let b:current_syntax = "nix"
-+
-+" thanks to domenkozar
-+" scan backwards to find begining of multiline statements
-+syn sync ccomment nixMultiLineComment minlines=10 maxlines=500
-+syn sync ccomment nixStringIndented minlines=10 maxlines=500
-+syn sync ccomment nixString maxlines=10
-diff --git a/runtime/ftplugin/nix.vim b/runtime/ftplugin/nix.vim
-new file mode 100644
---- /dev/null
-+++ b/runtime/ftplugin/nix.vim
-@@ -0,0 +1,2 @@
-+" Only do this when not done yet for this buffer
-+if exists("b:did_ftplugin")
-+  finish
-+endif
-+let b:did_ftplugin = 1
-+
-+" coding conventions
-+setlocal shiftwidth=2 expandtab softtabstop=2
-+let b:undo_ftplugin = "setlocal sw< et< sts<"