mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-02-01 11:33:15 +01:00
This reverts commits: -6b652a7850-2f689d5abd-a025a46d41Several email addresses that are known to be valid caused bounces due to an issue with my email setup. The previous commits incorrectly marked these addresses as invalid. So revert the whole thing again. Signed-off-by: Christian Brabandt <cb@256bit.org>
64 lines
1.7 KiB
VimL
64 lines
1.7 KiB
VimL
" Vim indent file
|
|
" Language: Device Tree
|
|
" Maintainer: Roland Hieber, Pengutronix <rhi@pengutronix.de>
|
|
"
|
|
if exists("b:did_indent")
|
|
finish
|
|
endif
|
|
let b:did_indent = 1
|
|
|
|
setlocal autoindent
|
|
setlocal nosmartindent
|
|
setlocal indentkeys=o,O,0},0<>>,!<Ctrl-F>
|
|
setlocal indentexpr=GetDTSIndent()
|
|
setlocal nolisp
|
|
|
|
let b:undo_indent = 'setl autoindent< smartindent< indentkeys< indentexpr< lisp<'
|
|
|
|
function GetDTSIndent()
|
|
let sw = shiftwidth()
|
|
let lnum = v:lnum
|
|
let line = getline(lnum)
|
|
let prevline = getline(prevnonblank(lnum-1))
|
|
let prevind = indent(prevnonblank(lnum-1))
|
|
|
|
if prevnonblank(lnum-1) < 1
|
|
return 0
|
|
endif
|
|
|
|
" Don't indent header and preprocessor directives
|
|
if line =~ '^\s*\(/dts-\|#\(include\|define\|undef\|warn\(ing\)\?\|error\|if\(n\?def\)\?\|else\|elif\|endif\)\)'
|
|
return 0
|
|
|
|
" Don't indent /node and &label blocks
|
|
elseif line =~ '^\s*[/&].\+{\s*$'
|
|
return 0
|
|
|
|
" Indent to matching bracket or remove one shiftwidth if line begins with } or >
|
|
elseif line =~ '^\s*[}>]'
|
|
" set cursor to closing bracket on current line
|
|
let col = matchend(line, '^\s*[>}]')
|
|
call cursor(lnum, col)
|
|
|
|
" determine bracket type, {} or <>
|
|
let pair = strpart('{}<>', stridx('}>', line[col-1]) * 2, 2)
|
|
|
|
" find matching bracket pair
|
|
let pairline = searchpair(pair[0], '', pair[1], 'bW')
|
|
|
|
if pairline > 0
|
|
return indent(pairline)
|
|
else
|
|
return prevind - sw
|
|
endif
|
|
|
|
" else, add one level of indent if line ends in { or < or = or ,
|
|
elseif prevline =~ '[{<=,]$'
|
|
return prevind + sw
|
|
|
|
else
|
|
return prevind
|
|
endif
|
|
|
|
endfunction
|