home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / runtime / indent / gitconfig.vim < prev    next >
Encoding:
Text File  |  2012-05-31  |  818 b   |  38 lines

  1. " Vim indent file
  2. " Language:    git config file
  3. " Maintainer:    Tim Pope <vimNOSPAM@tpope.org>
  4. " Last Change:    2012 April 7
  5.  
  6. if exists("b:did_indent")
  7.   finish
  8. endif
  9. let b:did_indent = 1
  10.  
  11. setlocal autoindent
  12. setlocal indentexpr=GetGitconfigIndent()
  13. setlocal indentkeys=o,O,*<Return>,0[,],0;,0#,=,!^F
  14.  
  15. let b:undo_indent = 'setl ai< inde< indk<'
  16.  
  17. " Only define the function once.
  18. if exists("*GetGitconfigIndent")
  19.   finish
  20. endif
  21.  
  22. function! GetGitconfigIndent()
  23.   let line  = getline(prevnonblank(v:lnum-1))
  24.   let cline = getline(v:lnum)
  25.   if line =~  '\\\@<!\%(\\\\\)*\\$'
  26.     " odd number of slashes, in a line continuation
  27.     return 2 * &sw
  28.   elseif cline =~ '^\s*\['
  29.     return 0
  30.   elseif cline =~ '^\s*\a'
  31.     return &sw
  32.   elseif cline == ''       && line =~ '^\['
  33.     return &sw
  34.   else
  35.     return -1
  36.   endif
  37. endfunction
  38.