Server IP : 85.214.239.14 / Your IP : 3.145.100.40 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 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 : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/2/cwd/usr/share/vim/vim90/indent/ |
Upload File : |
" Vim indent file " Language: NSIS script " Maintainer: Ken Takata " URL: https://github.com/k-takata/vim-nsis " Last Change: 2021-10-18 " Filenames: *.nsi " License: VIM License if exists("b:did_indent") finish endif let b:did_indent = 1 setlocal nosmartindent setlocal noautoindent setlocal indentexpr=GetNsisIndent(v:lnum) setlocal indentkeys=!^F,o,O setlocal indentkeys+==~${Else,=~${EndIf,=~${EndUnless,=~${AndIf,=~${AndUnless,=~${OrIf,=~${OrUnless,=~${Case,=~${Default,=~${EndSelect,=~${EndSwith,=~${Loop,=~${Next,=~${MementoSectionEnd,=~FunctionEnd,=~SectionEnd,=~SectionGroupEnd,=~PageExEnd,0=~!macroend,0=~!if,0=~!else,0=~!endif let b:undo_indent = "setl ai< inde< indk< si<" if exists("*GetNsisIndent") finish endif function! GetNsisIndent(lnum) " If this line is explicitly joined: If the previous line was also joined, " line it up with that one, otherwise add two 'shiftwidth' if getline(a:lnum - 1) =~ '\\$' if a:lnum > 1 && getline(a:lnum - 2) =~ '\\$' return indent(a:lnum - 1) endif return indent(a:lnum - 1) + shiftwidth() * 2 endif " Grab the current line, stripping comments. let l:thisl = substitute(getline(a:lnum), '[;#].*$', '', '') " Check if this line is a conditional preprocessor line. let l:preproc = l:thisl =~? '^\s*!\%(if\|else\|endif\)' " Grab the previous line, stripping comments. " Skip preprocessor lines and continued lines. let l:prevlnum = a:lnum while 1 let l:prevlnum = prevnonblank(l:prevlnum - 1) if l:prevlnum == 0 " top of file return 0 endif let l:prevl = substitute(getline(l:prevlnum), '[;#].*$', '', '') let l:prevpreproc = l:prevl =~? '^\s*!\%(if\|else\|endif\)' if l:preproc == l:prevpreproc && getline(l:prevlnum - 1) !~? '\\$' break endif endwhile let l:previ = indent(l:prevlnum) let l:ind = l:previ if l:preproc " conditional preprocessor if l:prevl =~? '^\s*!\%(if\%(\%(macro\)\?n\?def\)\?\|else\)\>' let l:ind += shiftwidth() endif if l:thisl =~? '^\s*!\%(else\|endif\)\?\>' let l:ind -= shiftwidth() endif return l:ind endif if l:prevl =~? '^\s*\%(\${\%(If\|IfNot\|Unless\|ElseIf\|ElseIfNot\|ElseUnless\|Else\|AndIf\|AndIfNot\|AndUnless\|OrIf\|OrIfNot\|OrUnless\|Select\|Case\|Case[2-5]\|CaseElse\|Default\|Switch\|Do\|DoWhile\|DoUntil\|For\|ForEach\|MementoSection\)}\|Function\>\|Section\>\|SectionGroup\|PageEx\>\|!macro\>\)' " previous line opened a block let l:ind += shiftwidth() endif if l:thisl =~? '^\s*\%(\${\%(ElseIf\|ElseIfNot\|ElseUnless\|Else\|EndIf\|EndUnless\|AndIf\|AndIfNot\|AndUnless\|OrIf\|OrIfNot\|OrUnless\|Loop\|LoopWhile\|LoopUntil\|Next\|MementoSectionEnd\)\>}\?\|FunctionEnd\>\|SectionEnd\>\|SectionGroupEnd\|PageExEnd\>\|!macroend\>\)' " this line closed a block let l:ind -= shiftwidth() elseif l:thisl =~? '^\s*\${\%(Case\|Case[2-5]\|CaseElse\|Default\)\>}\?' if l:prevl !~? '^\s*\${\%(Select\|Switch\)}' let l:ind -= shiftwidth() endif elseif l:thisl =~? '^\s*\${\%(EndSelect\|EndSwitch\)\>}\?' " this line closed a block if l:prevl =~? '^\s*\${\%(Select\|Switch\)}' let l:ind -= shiftwidth() else let l:ind -= shiftwidth() * 2 endif endif return l:ind endfunction " vim: ts=8 sw=2 sts=2