Mercurial > vim
view runtime/indent/dts.vim @ 32869:47d83ab63764
Translations: Update po files for zh and ja
Commit: https://github.com/vim/vim/commit/04510566b10b5552d4ce8ba32e5422e755a239fb
Author: K.Takata <kentkt@csc.jp>
Date: Sat Aug 19 13:17:43 2023 +0200
Translations: Update po files for zh and ja
Update po files by running `make` in `src/po/`.
Some po files were out of sync with the files in other encodings.
Related: #12749, #12787
closes: #12826
closes: #12840
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 19 Aug 2023 13:30:06 +0200 |
parents | 695b50472e85 |
children |
line wrap: on
line source
" 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