readline.vim 711 B

12345678910111213141516171819202122232425262728293031323334353637
  1. " Vim indent file
  2. " Language: readline configuration file
  3. " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
  4. " Latest Revision: 2006-12-20
  5. if exists("b:did_indent")
  6. finish
  7. endif
  8. let b:did_indent = 1
  9. setlocal indentexpr=GetReadlineIndent()
  10. setlocal indentkeys=!^F,o,O,=$else,=$endif
  11. setlocal nosmartindent
  12. if exists("*GetReadlineIndent")
  13. finish
  14. endif
  15. function GetReadlineIndent()
  16. let lnum = prevnonblank(v:lnum - 1)
  17. if lnum == 0
  18. return 0
  19. endif
  20. let ind = indent(lnum)
  21. if getline(lnum) =~ '^\s*$\(if\|else\)\>'
  22. let ind = ind + shiftwidth()
  23. endif
  24. if getline(v:lnum) =~ '^\s*$\(else\|endif\)\>'
  25. let ind = ind - shiftwidth()
  26. endif
  27. return ind
  28. endfunction