mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-27 17:33:09 +00:00
vim version (7.2), optional .nix filetype detection and syntax highlighting
svn path=/nixpkgs/trunk/; revision=14431
This commit is contained in:
parent
08e1c08bc7
commit
23ca0bb3c2
@ -4,7 +4,7 @@ args: with args;
|
||||
let inherit (args.composableDerivation) composableDerivation edf; in
|
||||
composableDerivation {} {
|
||||
|
||||
name = "vim_configurable-7.1";
|
||||
name = "vim_configurable-7.2";
|
||||
|
||||
src = args.fetchurl {
|
||||
url = ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2;
|
||||
@ -17,7 +17,11 @@ composableDerivation {} {
|
||||
++ [ gtk libX11 libXext libSM libXpm libXt libXaw libXau libXmu ];
|
||||
|
||||
# most interpreters aren't tested yet.. (see python for example how to do it)
|
||||
flags = {}
|
||||
flags = {
|
||||
ftNix = {
|
||||
patches = [ ./ft-nix-support.patch ];
|
||||
};
|
||||
}
|
||||
// edf { name = "darwin"; } #Disable Darwin (Mac OS X) support.
|
||||
// edf { name = "xsmp"; } #Disable XSMP session management
|
||||
// edf { name = "xsmp_interact"; } #Disable XSMP interaction
|
||||
@ -41,6 +45,7 @@ composableDerivation {} {
|
||||
|
||||
cfg = {
|
||||
pythonSupport = true;
|
||||
ftNixSupport = true; # add .nix filetype detection and minimal syntax highlighting support
|
||||
};
|
||||
|
||||
#--enable-gui=OPTS X11 GUI default=auto OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/photon/carbon
|
||||
|
66
pkgs/applications/editors/vim/ft-nix-support.patch
Normal file
66
pkgs/applications/editors/vim/ft-nix-support.patch
Normal file
@ -0,0 +1,66 @@
|
||||
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
|
||||
index a8e6261..2b008fc 100644
|
||||
--- a/runtime/filetype.vim
|
||||
+++ b/runtime/filetype.vim
|
||||
@@ -2258,6 +2258,9 @@ au BufNewFile,BufRead *.zsql call s:SQL()
|
||||
" Z80 assembler asz80
|
||||
au BufNewFile,BufRead *.z8a setf z8a
|
||||
|
||||
+" NIX
|
||||
+au BufNewFile,BufRead *.nix setf nix
|
||||
+
|
||||
augroup END
|
||||
|
||||
|
||||
@@ -2440,3 +2443,5 @@ endfunc
|
||||
" Restore 'cpoptions'
|
||||
let &cpo = s:cpo_save
|
||||
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,40 @@
|
||||
+" Vim syntax file
|
||||
+" Language: nix
|
||||
+" Maintainer: Marc Weber <marco-oweber@gmx.de>
|
||||
+" Modify and commit if you feel that way
|
||||
+" Last Change: 2007 Dec
|
||||
+"
|
||||
+" this syntax file can be still be enhanced very much..
|
||||
+" Don't ask, do it :-)
|
||||
+
|
||||
+" Quit when a (custom) syntax file was already loaded
|
||||
+if exists("b:current_syntax")
|
||||
+ finish
|
||||
+endif
|
||||
+
|
||||
+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 match nixAttr "\w\+\ze\s*="
|
||||
+syn match nixFuncArg "\zs\w\+\ze\s*:"
|
||||
+syn region nixStringParam start=+\${+ end=+}+
|
||||
+syn region nixMultiLineComment start=+/\*+ skip=+\\"+ end=+\*/+
|
||||
+syn match nixEndOfLineComment "#.*$"
|
||||
+syn region nixStringIndented start=+''+ skip=+'''\|''${\|"+ end=+''+ contains=nixStringParam
|
||||
+syn region nixString start=+"+ skip=+\\"+ end=+"+ contains=nixStringParam
|
||||
+
|
||||
+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
|
Loading…
Reference in New Issue
Block a user