blob: 1ff5e9e3f14e1f1ff1a6f9977037ff69829e6b64 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
" Vim indent file
" Language: Chatito
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
" Last Change: 2022 Sep 20
if exists('b:did_indent')
finish
endif
let b:did_indent = 1
setlocal indentexpr=GetChatitoIndent()
setlocal indentkeys=o,O,*<Return>,0#,!^F
let b:undo_indent = 'setl inde< indk<'
if exists('*GetChatitoIndent')
finish
endif
function GetChatitoIndent()
let l:prev = v:lnum - 1
if getline(prevnonblank(l:prev)) =~# '^[~%@]\['
" shift indent after definitions
return shiftwidth()
elseif getline(l:prev) !~# '^\s*$'
" maintain indent in sentences
return indent(l:prev)
else
" reset indent after a blank line
return 0
end
endfunction
|