misc: adds a Nit syntax checker for syntastic, a vim plugin
authorAlexis Laferrière <alexis.laf@xymus.net>
Tue, 29 May 2012 16:38:15 +0000 (12:38 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Tue, 29 May 2012 16:39:14 +0000 (12:39 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

misc/README
misc/syntastic/nit.vim [new file with mode: 0644]

index 377f9b7..b49dd3c 100644 (file)
@@ -1,4 +1,5 @@
-* gtksourceview (gedit and other GTK editors)
-  To install in your home, just link (or copy) the language definition file in ~/.local/share/gtksourceview-2.0/language-specs
-
+# gtksourceview (gedit and other GTK editors)
+To install in your home, just link (or copy) the language definition file in ~/.local/share/gtksourceview-2.0/language-specs
 
+# syntastic
+Syntastic is a syntax checker for Vim. To use the Nit checker, install syntastic and copy syntastic/nit.vim in your syntastic/syntax_checkers folder.
diff --git a/misc/syntastic/nit.vim b/misc/syntastic/nit.vim
new file mode 100644 (file)
index 0000000..5ac60da
--- /dev/null
@@ -0,0 +1,28 @@
+"============================================================================
+"File:        nit.vim
+"Description: Syntax checking plugin for syntastic.vim
+"Maintainer:  Alexis Laferrière <alexis.laf@xymus.net>
+"License:     This program is free software. It comes without any warranty,
+"             to the extent permitted by applicable law. You can redistribute
+"             it and/or modify it under the terms of the Do What The Fuck You
+"             Want To Public License, Version 2, as published by Sam Hocevar.
+"             See http://sam.zoy.org/wtfpl/COPYING for more details.
+"============================================================================
+if exists("loaded_nit_syntax_checker")
+       finish
+endif
+let loaded_nit_syntax_checker = 1
+
+" check if nitc is accessible
+if !executable("nitc")
+       finish
+endif
+
+function! SyntaxCheckers_nit_GetLocList()
+       let makeprg = "nitc --no-color --only-metamodel 2>&1 " . shellescape(expand("%"))
+       let errorformat =
+               \'%f:%l\,%c--%*[0-9]: %m,
+               \%f:%l\,%c--%*[0-9]\,0: %m,
+               \%f:%l\,%c: %m'
+       return SyntasticMake({ 'makeprg': makeprg, 'errorformat':errorformat })
+endfunction