diff runtime/indent/gitconfig.vim @ 5:db46d51a3939

Initial revision
author axmo
date Wed, 13 Aug 2008 17:36:09 +0900
parents
children c16898406ff2
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/runtime/indent/gitconfig.vim	Wed Aug 13 17:36:09 2008 +0900
@@ -0,0 +1,35 @@
+" Vim indent file
+" Language:	git config file
+" Maintainer:	Tim Pope <vimNOSPAM@tpope.info>
+" Last Change:	2008 Jun 04
+
+if exists("b:did_indent")
+  finish
+endif
+let b:did_indent = 1
+
+setlocal autoindent
+setlocal indentexpr=GetGitconfigIndent()
+setlocal indentkeys=o,O,*<Return>,0[,],0;,0#,=,!^F
+
+" Only define the function once.
+if exists("*GetGitconfigIndent")
+  finish
+endif
+
+function! GetGitconfigIndent()
+    let line  = getline(prevnonblank(v:lnum-1))
+    let cline = getline(v:lnum)
+    if line =~  '\\\@<!\%(\\\\\)*\\$'
+        " odd number of slashes, in a line continuation
+        return 2 * &sw
+    elseif cline =~ '^\s*\['
+        return 0
+    elseif cline =~ '^\s*\a'
+        return &sw
+    elseif cline == ''       && line =~ '^\['
+        return &sw
+    else
+        return -1
+    endif
+endfunction