neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

eterm.vim (743B)


      1 " Vim indent file
      2 " Language:		Eterm configuration file
      3 " Maintainer:		Doug Kearns <dougkearns@gmail.com>
      4 " Previous Maintainer:	Nikolai Weibull <now@bitwi.se>
      5 " Last Change:		24 Sep 2021
      6 
      7 if exists("b:did_indent")
      8  finish
      9 endif
     10 let b:did_indent = 1
     11 
     12 setlocal indentexpr=GetEtermIndent()
     13 setlocal indentkeys=!^F,o,O,=end
     14 setlocal nosmartindent
     15 
     16 let b:undo_indent = "setl inde< indk< si<"
     17 
     18 if exists("*GetEtermIndent")
     19  finish
     20 endif
     21 
     22 function GetEtermIndent()
     23  let lnum = prevnonblank(v:lnum - 1)
     24  if lnum == 0
     25    return 0
     26  endif
     27 
     28  let ind = indent(lnum)
     29 
     30  if getline(lnum) =~ '^\s*begin\>'
     31    let ind = ind + shiftwidth()
     32  endif
     33 
     34  if getline(v:lnum) =~ '^\s*end\>'
     35    let ind = ind - shiftwidth()
     36  endif
     37 
     38  return ind
     39 endfunction