3 " Maintainer: Giftpflanze <gifti@tools.wmflabs.org>
4 " Last Change: 2022 August 23
6 if exists("b:did_indent")
11 setlocal indentexpr=GetFactorIndent(v:lnum)
13 let b:undo_indent = 'setlocal indentexpr<'
15 if exists("*GetFactorIndent")
19 function! GetFactorIndent(lnum)
20 let cline = getline(a:lnum)
21 let pline = getline(a:lnum-1)
22 let pind = indent(a:lnum-1)
24 let pind += shiftwidth()
27 let pind -= shiftwidth()
30 let pind += shiftwidth()
32 if cline =~ '^\s*[\]}]'
33 let pind -= shiftwidth()