neovim/runtime/indent/yacc.vim
Justin M. Keyes 93fb7383a3 vim-patch:214641f77df6
Runtime file updates.

214641f77d

N/A:
vim-patch:26a280c47a1c
2017-11-06 05:26:16 +01:00

42 lines
781 B
VimL

" Vim indent file
" Language: YACC input file
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentexpr=GetYaccIndent()
setlocal indentkeys=!^F,o,O
setlocal nosmartindent
" Only define the function once.
if exists("*GetYaccIndent")
finish
endif
function GetYaccIndent()
if v:lnum == 1
return 0
endif
let ind = indent(v:lnum - 1)
let line = getline(v:lnum - 1)
if line == ''
let ind = 0
elseif line =~ '^\w\+\s*:'
let ind = ind + matchend(line, '^\w\+\s*')
elseif line =~ '^\s*;'
let ind = 0
else
let ind = indent(v:lnum)
endif
return ind
endfunction