summaryrefslogtreecommitdiff
path: root/vim/.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim/.vim')
-rw-r--r--vim/.vim/compiler/gmsh.vim12
-rw-r--r--vim/.vim/ftplugin/gmsh.vim1
-rw-r--r--vim/.vim/indent/gmsh.vim59
3 files changed, 72 insertions, 0 deletions
diff --git a/vim/.vim/compiler/gmsh.vim b/vim/.vim/compiler/gmsh.vim
new file mode 100644
index 0000000..70148e8
--- /dev/null
+++ b/vim/.vim/compiler/gmsh.vim
@@ -0,0 +1,12 @@
+if exists("current_compiler")
+ finish
+endif
+
+let current_compiler = "gmsh"
+
+if exists(":CompilerSet") != 2
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+setlocal errorformat=Error\ \ \ :\ \'%f\'\\,\ line\ %l\ :\ %m
+setlocal makeprg=gmsh\ %\ -\\|&\ grep\ Error
diff --git a/vim/.vim/ftplugin/gmsh.vim b/vim/.vim/ftplugin/gmsh.vim
new file mode 100644
index 0000000..ec58378
--- /dev/null
+++ b/vim/.vim/ftplugin/gmsh.vim
@@ -0,0 +1 @@
+compiler gmsh
diff --git a/vim/.vim/indent/gmsh.vim b/vim/.vim/indent/gmsh.vim
new file mode 100644
index 0000000..845b668
--- /dev/null
+++ b/vim/.vim/indent/gmsh.vim
@@ -0,0 +1,59 @@
+" Vim indent file
+
+if exists("b:did_indent")
+ finish
+endif
+let b:did_indent = 1
+
+setlocal indentexpr=GetGeoIndent()
+setlocal indentkeys&
+setlocal autoindent
+setlocal commentstring=//%s
+
+if exists("*GetGeoIndent")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+let s:skip_syntax = '\%(Comment\|String\)$'
+
+function! GetGeoIndent()
+
+ let lnum = prevnonblank(v:lnum - 1)
+
+ if lnum == 0
+ return 0
+ endif
+
+ let ind = indent(lnum)
+ let last_line = getline(lnum)
+ let current_line = getline(v:lnum)
+
+ if last_line =~ '\(^\/\/\|^\/\*\)'
+ return ind
+ endif
+
+ if last_line =~ '\(\<If\>\|\<For\>\|\<Macro\>\)'
+ let ind += &shiftwidth
+ endif
+
+ if last_line =~ '\({[^}]*$\)'
+ let ind += &shiftwidth
+ endif
+
+ if current_line =~ '\(^[^{]*}\)'
+ let ind -= &shiftwidth
+ endif
+
+ if current_line =~ '\(\<EndIf\>\|\<EndFor\>\|\<Return\>\)$'
+ let ind -= &shiftwidth
+ endif
+
+ return ind
+
+endfunction
+
+let &cpo = s:cpo_save
+unlet s:cpo_save