blob: 2d24f18dff7744e867aa95dc8dbb01d97a5c3859 [file] [log] [blame]
inzuo Jiang2d882102024-06-10 21:13:56 +02001" Vim indent file
2" Language: KDL
3" Author: Aram Drevekenin <aram@poor.dev>
4" Maintainer: Yinzuo Jiang <jiangyinzuo@foxmail.com>
5" Last Change: 2024-06-10
6
7" Only load this indent file when no other was loaded.
8if exists("b:did_indent")
9 finish
10endif
11let b:did_indent = 1
12
13setlocal indentexpr=KdlIndent()
14let b:undo_indent = "setlocal indentexpr<"
15
16function! KdlIndent(...)
17 let line = getline(v:lnum)
18 let previousNum = prevnonblank(v:lnum - 1)
19 let previous = getline(previousNum)
20
21 if previous =~ "{" && previous !~ "}" && line !~ "}" && line !~ ":$"
22 return indent(previousNum) + &tabstop
23 else
24 return indent(previousNum)
25 endif
26endfunction