mirror of
https://github.com/neovim/neovim.git
synced 2026-01-03 01:46:31 +10:00
This reverts commits:
- 6b652a785033fd4164e049492a7327c1ed7c3e5f
- 2f689d5abde0ccddca9e20d8c93a0299bd054e32
- a025a46d4169587145fb54f04af349cd05cb6122
Several 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.
62d8f3dab5
N/A patch:
vim-patch:2f689d5: runtime: mark more invalid email addresses
Co-authored-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
|