aboutsummaryrefslogtreecommitdiff
path: root/vim/syntax_checkers/fortran.vim
diff options
context:
space:
mode:
authorBen Beltran <ben@freshout.us>2012-10-08 11:44:10 -0500
committerBen Beltran <ben@freshout.us>2012-10-08 11:44:10 -0500
commit0d23b6e515a01a5782532351821ebfa11f3d6cf2 (patch)
treeaa395b7e50ccb533d6b48b809016ac06f2d5bc8c /vim/syntax_checkers/fortran.vim
parenta91731eac872b7837c2821341db5888702125cef (diff)
Add vim again :)
Diffstat (limited to 'vim/syntax_checkers/fortran.vim')
-rw-r--r--vim/syntax_checkers/fortran.vim44
1 files changed, 44 insertions, 0 deletions
diff --git a/vim/syntax_checkers/fortran.vim b/vim/syntax_checkers/fortran.vim
new file mode 100644
index 0000000..ee176f2
--- /dev/null
+++ b/vim/syntax_checkers/fortran.vim
@@ -0,0 +1,44 @@
+"============================================================================
+"File: fortran.vim
+"Description: Syntax checking plugin for syntastic.vim
+"Maintainer: Karl Yngve LervÄg <karl.yngve@lervag.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.
+"Note: This syntax checker uses gfortran with the option -fsyntax-only
+" to check for errors and warnings. Additional flags may be
+" supplied through both local and global variables,
+" b:syntastic_fortran_flags,
+" g:syntastic_fortran_flags.
+" This is particularly useful when the source requires module files
+" in order to compile (that is when it needs modules defined in
+" separate files).
+"
+"============================================================================
+
+if exists("loaded_fortran_syntax_checker")
+ finish
+endif
+let loaded_fortran_syntax_checker = 1
+
+"bail if the user doesnt have fortran installed
+if !executable("gfortran")
+ finish
+endif
+
+if !exists('g:syntastic_fortran_flags')
+ let g:syntastic_fortran_flags = ''
+endif
+
+function! SyntaxCheckers_fortran_GetLocList()
+ let makeprg = 'gfortran -fsyntax-only'
+ let makeprg .= g:syntastic_fortran_flags
+ if exists('b:syntastic_fortran_flags')
+ let makeprg .= b:syntastic_fortran_flags
+ endif
+ let makeprg .= ' ' . shellescape(expand('%'))
+ let errorformat = '%-C %#,%-C %#%.%#,%A%f:%l.%c:,%Z%m,%G%.%#'
+ return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
+endfunction