Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.217.117
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
vim /
vim90 /
indent /
Delete
Unzip
Name
Size
Permission
Date
Action
aap.vim
265
B
-rw-r--r--
2025-02-16 05:23
ada.vim
11.06
KB
-rw-r--r--
2025-02-16 05:23
ant.vim
290
B
-rw-r--r--
2025-02-16 05:23
automake.vim
243
B
-rw-r--r--
2025-02-16 05:23
awk.vim
7.68
KB
-rw-r--r--
2025-02-16 05:23
bash.vim
350
B
-rw-r--r--
2025-02-16 05:23
basic.vim
250
B
-rw-r--r--
2025-02-16 05:23
bib.vim
346
B
-rw-r--r--
2025-02-16 05:23
bitbake.vim
583
B
-rw-r--r--
2025-02-16 05:23
bst.vim
1.86
KB
-rw-r--r--
2025-02-16 05:23
bzl.vim
2.86
KB
-rw-r--r--
2025-02-16 05:23
c.vim
325
B
-rw-r--r--
2025-02-16 05:23
cdl.vim
4.26
KB
-rw-r--r--
2025-02-16 05:23
ch.vim
470
B
-rw-r--r--
2025-02-16 05:23
chaiscript.vim
1.18
KB
-rw-r--r--
2025-02-16 05:23
changelog.vim
264
B
-rw-r--r--
2025-02-16 05:23
chatito.vim
731
B
-rw-r--r--
2025-02-16 05:23
clojure.vim
11.29
KB
-rw-r--r--
2025-02-16 05:23
cmake.vim
2.66
KB
-rw-r--r--
2025-02-16 05:23
cobol.vim
8.63
KB
-rw-r--r--
2025-02-16 05:23
config.vim
2.17
KB
-rw-r--r--
2025-02-16 05:23
context.vim
1.67
KB
-rw-r--r--
2025-02-16 05:23
cpp.vim
329
B
-rw-r--r--
2025-02-16 05:23
cs.vim
1.88
KB
-rw-r--r--
2025-02-16 05:23
css.vim
1.77
KB
-rw-r--r--
2025-02-16 05:23
cucumber.vim
2.62
KB
-rw-r--r--
2025-02-16 05:23
cuda.vim
305
B
-rw-r--r--
2025-02-16 05:23
d.vim
605
B
-rw-r--r--
2025-02-16 05:23
dictconf.vim
411
B
-rw-r--r--
2025-02-16 05:23
dictdconf.vim
414
B
-rw-r--r--
2025-02-16 05:23
docbk.vim
336
B
-rw-r--r--
2025-02-16 05:23
dosbatch.vim
1.35
KB
-rw-r--r--
2025-02-16 05:23
dtd.vim
11.79
KB
-rw-r--r--
2025-02-16 05:23
dtrace.vim
451
B
-rw-r--r--
2025-02-16 05:23
dune.vim
332
B
-rw-r--r--
2025-02-16 05:23
dylan.vim
2.75
KB
-rw-r--r--
2025-02-16 05:23
eiffel.vim
3.24
KB
-rw-r--r--
2025-02-16 05:23
elm.vim
3.2
KB
-rw-r--r--
2025-02-16 05:23
erlang.vim
50.74
KB
-rw-r--r--
2025-02-16 05:23
eruby.vim
2.95
KB
-rw-r--r--
2025-02-16 05:23
eterm.vim
743
B
-rw-r--r--
2025-02-16 05:23
expect.vim
207
B
-rw-r--r--
2025-02-16 05:23
falcon.vim
13.84
KB
-rw-r--r--
2025-02-16 05:23
fennel.vim
273
B
-rw-r--r--
2025-02-16 05:23
fish.vim
2.54
KB
-rw-r--r--
2025-02-16 05:23
fortran.vim
7.54
KB
-rw-r--r--
2025-02-16 05:23
framescript.vim
891
B
-rw-r--r--
2025-02-16 05:23
freebasic.vim
237
B
-rw-r--r--
2025-02-16 05:23
gdscript.vim
4.26
KB
-rw-r--r--
2025-02-16 05:23
gitconfig.vim
841
B
-rw-r--r--
2025-02-16 05:23
gitolite.vim
1.29
KB
-rw-r--r--
2025-02-16 05:23
go.vim
1.63
KB
-rw-r--r--
2025-02-16 05:23
gyp.vim
169
B
-rw-r--r--
2025-02-16 05:23
haml.vim
2.19
KB
-rw-r--r--
2025-02-16 05:23
hamster.vim
1.65
KB
-rw-r--r--
2025-02-16 05:23
hare.vim
4.27
KB
-rw-r--r--
2025-02-16 05:23
hog.vim
1.85
KB
-rw-r--r--
2025-02-16 05:23
html.vim
33.09
KB
-rw-r--r--
2025-02-16 05:23
htmldjango.vim
273
B
-rw-r--r--
2025-02-16 05:23
idlang.vim
1.68
KB
-rw-r--r--
2025-02-16 05:23
ishd.vim
1.83
KB
-rw-r--r--
2025-02-16 05:23
j.vim
1.77
KB
-rw-r--r--
2025-02-16 05:23
java.vim
4.19
KB
-rw-r--r--
2025-02-16 05:23
javascript.vim
15.13
KB
-rw-r--r--
2025-02-16 05:23
javascriptreact.vim
109
B
-rw-r--r--
2025-02-16 05:23
json.vim
4.54
KB
-rw-r--r--
2025-02-16 05:23
jsonc.vim
4.62
KB
-rw-r--r--
2025-02-16 05:23
jsp.vim
462
B
-rw-r--r--
2025-02-16 05:23
julia.vim
15.2
KB
-rw-r--r--
2025-02-16 05:23
krl.vim
4.26
KB
-rw-r--r--
2025-02-16 05:23
ld.vim
1.82
KB
-rw-r--r--
2025-02-16 05:23
less.vim
243
B
-rw-r--r--
2025-02-16 05:23
lifelines.vim
638
B
-rw-r--r--
2025-02-16 05:23
liquid.vim
2.03
KB
-rw-r--r--
2025-02-16 05:23
lisp.vim
349
B
-rw-r--r--
2025-02-16 05:23
logtalk.vim
1.82
KB
-rw-r--r--
2025-02-16 05:23
lua.vim
2
KB
-rw-r--r--
2025-02-16 05:23
mail.vim
355
B
-rw-r--r--
2025-02-16 05:23
make.vim
3.48
KB
-rw-r--r--
2025-02-16 05:23
matlab.vim
4.81
KB
-rw-r--r--
2025-02-16 05:23
meson.vim
5.19
KB
-rw-r--r--
2025-02-16 05:23
mf.vim
164
B
-rw-r--r--
2025-02-16 05:23
mma.vim
2.31
KB
-rw-r--r--
2025-02-16 05:23
mp.vim
9.72
KB
-rw-r--r--
2025-02-16 05:23
nginx.vim
1.7
KB
-rw-r--r--
2025-02-16 05:23
nsis.vim
3.23
KB
-rw-r--r--
2025-02-16 05:23
objc.vim
1.65
KB
-rw-r--r--
2025-02-16 05:23
obse.vim
1.4
KB
-rw-r--r--
2025-02-16 05:23
ocaml.vim
8.98
KB
-rw-r--r--
2025-02-16 05:23
occam.vim
4.63
KB
-rw-r--r--
2025-02-16 05:23
pascal.vim
5.66
KB
-rw-r--r--
2025-02-16 05:23
perl.vim
5.91
KB
-rw-r--r--
2025-02-16 05:23
php.vim
25.29
KB
-rw-r--r--
2025-02-16 05:23
postscr.vim
1.64
KB
-rw-r--r--
2025-02-16 05:23
pov.vim
2.71
KB
-rw-r--r--
2025-02-16 05:23
prolog.vim
1.91
KB
-rw-r--r--
2025-02-16 05:23
ps1.vim
410
B
-rw-r--r--
2025-02-16 05:23
pyrex.vim
326
B
-rw-r--r--
2025-02-16 05:23
python.vim
823
B
-rw-r--r--
2025-02-16 05:23
qb64.vim
232
B
-rw-r--r--
2025-02-16 05:23
quarto.vim
23
B
-rw-r--r--
2025-02-16 05:23
r.vim
13.98
KB
-rw-r--r--
2025-02-16 05:23
racket.vim
2.51
KB
-rw-r--r--
2025-02-16 05:23
raku.vim
3.34
KB
-rw-r--r--
2025-02-16 05:23
raml.vim
285
B
-rw-r--r--
2025-02-16 05:23
readline.vim
786
B
-rw-r--r--
2025-02-16 05:23
rhelp.vim
2.82
KB
-rw-r--r--
2025-02-16 05:23
rmd.vim
2.25
KB
-rw-r--r--
2025-02-16 05:23
rnoweb.vim
1.09
KB
-rw-r--r--
2025-02-16 05:23
rpl.vim
1.82
KB
-rw-r--r--
2025-02-16 05:23
rrst.vim
1.19
KB
-rw-r--r--
2025-02-16 05:23
rst.vim
1.78
KB
-rw-r--r--
2025-02-16 05:23
ruby.vim
30.32
KB
-rw-r--r--
2025-02-16 05:23
rust.vim
6.35
KB
-rw-r--r--
2025-02-16 05:23
sas.vim
5.18
KB
-rw-r--r--
2025-02-16 05:23
sass.vim
994
B
-rw-r--r--
2025-02-16 05:23
scala.vim
19.2
KB
-rw-r--r--
2025-02-16 05:23
scheme.vim
372
B
-rw-r--r--
2025-02-16 05:23
scss.vim
191
B
-rw-r--r--
2025-02-16 05:23
sdl.vim
2.76
KB
-rw-r--r--
2025-02-16 05:23
sh.vim
9.04
KB
-rw-r--r--
2025-02-16 05:23
sml.vim
6.42
KB
-rw-r--r--
2025-02-16 05:23
solidity.vim
12.5
KB
-rw-r--r--
2025-02-16 05:23
sql.vim
1.18
KB
-rw-r--r--
2025-02-16 05:23
sqlanywhere.vim
12.96
KB
-rw-r--r--
2025-02-16 05:23
sshconfig.vim
796
B
-rw-r--r--
2025-02-16 05:23
systemverilog.vim
10.55
KB
-rw-r--r--
2025-02-16 05:23
tcl.vim
2.48
KB
-rw-r--r--
2025-02-16 05:23
tcsh.vim
1.35
KB
-rw-r--r--
2025-02-16 05:23
teraterm.vim
1.38
KB
-rw-r--r--
2025-02-16 05:23
tex.vim
13.37
KB
-rw-r--r--
2025-02-16 05:23
tf.vim
1.57
KB
-rw-r--r--
2025-02-16 05:23
tilde.vim
1.11
KB
-rw-r--r--
2025-02-16 05:23
treetop.vim
785
B
-rw-r--r--
2025-02-16 05:23
typescript.vim
14.14
KB
-rw-r--r--
2025-02-16 05:23
vb.vim
4.69
KB
-rw-r--r--
2025-02-16 05:23
verilog.vim
7.98
KB
-rw-r--r--
2025-02-16 05:23
vhdl.vim
14.32
KB
-rw-r--r--
2025-02-16 05:23
vim.vim
609
B
-rw-r--r--
2025-02-16 05:23
vroom.vim
379
B
-rw-r--r--
2025-02-16 05:23
vue.vim
385
B
-rw-r--r--
2025-02-16 05:23
wast.vim
458
B
-rw-r--r--
2025-02-16 05:23
xf86conf.vim
786
B
-rw-r--r--
2025-02-16 05:23
xhtml.vim
269
B
-rw-r--r--
2025-02-16 05:23
xinetd.vim
1.28
KB
-rw-r--r--
2025-02-16 05:23
xml.vim
7.6
KB
-rw-r--r--
2025-02-16 05:23
xsd.vim
253
B
-rw-r--r--
2025-02-16 05:23
xslt.vim
297
B
-rw-r--r--
2025-02-16 05:23
yacc.vim
858
B
-rw-r--r--
2025-02-16 05:23
yaml.vim
5.45
KB
-rw-r--r--
2025-02-16 05:23
zig.vim
2.09
KB
-rw-r--r--
2025-02-16 05:23
zimbu.vim
3.85
KB
-rw-r--r--
2025-02-16 05:23
zsh.vim
411
B
-rw-r--r--
2025-02-16 05:23
Save
Rename
" Vim indent file " Language: SAS " Maintainer: Zhen-Huan Hu <wildkeny@gmail.com> " Version: 3.0.3 " Last Change: 2022 Apr 06 if exists("b:did_indent") finish endif let b:did_indent = 1 setlocal indentexpr=GetSASIndent() setlocal indentkeys+=;,=~data,=~proc,=~macro let b:undo_indent = "setl inde< indk<" if exists("*GetSASIndent") finish endif let s:cpo_save = &cpo set cpo&vim " Regex that captures the start of a data/proc section let s:section_str = '\v%(^|;)\s*%(data|proc)>' " Regex that captures the end of a run-processing section let s:section_run = '\v%(^|;)\s*run\s*;' " Regex that captures the end of a data/proc section let s:section_end = '\v%(^|;)\s*%(quit|enddata)\s*;' " Regex that captures the start of a control block (anything inside a section) let s:block_str = '\v<%(do>%([^;]+<%(to|over|while)>[^;]+)=|%(compute|define\s+%(column|footer|header|style|table|tagset|crosstabs|statgraph)|edit|layout|method|select)>[^;]+|begingraph)\s*;' " Regex that captures the end of a control block (anything inside a section) let s:block_end = '\v<%(end|endcomp|endlayout|endgraph)\s*;' " Regex that captures the start of a macro let s:macro_str = '\v%(^|;)\s*\%macro>' " Regex that captures the end of a macro let s:macro_end = '\v%(^|;)\s*\%mend\s*;' " Regex that defines the end of the program let s:program_end = '\v%(^|;)\s*endsas\s*;' " List of procs supporting run-processing let s:run_processing_procs = [ \ 'catalog', 'chart', 'datasets', 'document', 'ds2', 'plot', 'sql', \ 'gareabar', 'gbarline', 'gchart', 'gkpi', 'gmap', 'gplot', 'gradar', 'greplay', 'gslide', 'gtile', \ 'anova', 'arima', 'catmod', 'factex', 'glm', 'model', 'optex', 'plan', 'reg', \ 'iml', \ ] " Find the line number of previous keyword defined by the regex function! s:PrevMatch(lnum, regex) let prev_lnum = prevnonblank(a:lnum - 1) while prev_lnum > 0 let prev_line = getline(prev_lnum) if prev_line =~? a:regex break else let prev_lnum = prevnonblank(prev_lnum - 1) endif endwhile return prev_lnum endfunction " Main function function! GetSASIndent() let prev_lnum = prevnonblank(v:lnum - 1) if prev_lnum ==# 0 " Leave the indentation of the first line unchanged return indent(1) else let prev_line = getline(prev_lnum) " Previous non-blank line contains the start of a macro/section/block " while not the end of a macro/section/block (at the same line) if (prev_line =~? s:section_str && prev_line !~? s:section_run && prev_line !~? s:section_end) || \ (prev_line =~? s:block_str && prev_line !~? s:block_end) || \ (prev_line =~? s:macro_str && prev_line !~? s:macro_end) let ind = indent(prev_lnum) + shiftwidth() elseif prev_line =~? s:section_run && prev_line !~? s:section_end let prev_section_str_lnum = s:PrevMatch(v:lnum, s:section_str) let prev_section_end_lnum = max([ \ s:PrevMatch(v:lnum, s:section_end), \ s:PrevMatch(v:lnum, s:macro_end ), \ s:PrevMatch(v:lnum, s:program_end)]) " Check if the section supports run-processing if prev_section_end_lnum < prev_section_str_lnum && \ getline(prev_section_str_lnum) =~? '\v%(^|;)\s*proc\s+%(' . \ join(s:run_processing_procs, '|') . ')>' let ind = indent(prev_lnum) + shiftwidth() else let ind = indent(prev_lnum) endif else let ind = indent(prev_lnum) endif endif " Re-adjustments based on the inputs of the current line let curr_line = getline(v:lnum) if curr_line =~? s:program_end " End of the program " Same indentation as the first non-blank line return indent(nextnonblank(1)) elseif curr_line =~? s:macro_end " Current line is the end of a macro " Match the indentation of the start of the macro return indent(s:PrevMatch(v:lnum, s:macro_str)) elseif curr_line =~? s:block_end && curr_line !~? s:block_str " Re-adjust if current line is the end of a block " while not the beginning of a block (at the same line) " Returning the indent of previous block start directly " would not work due to nesting let ind = ind - shiftwidth() elseif curr_line =~? s:section_str || curr_line =~? s:section_run || curr_line =~? s:section_end " Re-adjust if current line is the start/end of a section " since the end of a section could be inexplicit let prev_section_str_lnum = s:PrevMatch(v:lnum, s:section_str) " Check if the previous section supports run-processing if getline(prev_section_str_lnum) =~? '\v%(^|;)\s*proc\s+%(' . \ join(s:run_processing_procs, '|') . ')>' let prev_section_end_lnum = max([ \ s:PrevMatch(v:lnum, s:section_end), \ s:PrevMatch(v:lnum, s:macro_end ), \ s:PrevMatch(v:lnum, s:program_end)]) else let prev_section_end_lnum = max([ \ s:PrevMatch(v:lnum, s:section_end), \ s:PrevMatch(v:lnum, s:section_run), \ s:PrevMatch(v:lnum, s:macro_end ), \ s:PrevMatch(v:lnum, s:program_end)]) endif if prev_section_end_lnum < prev_section_str_lnum let ind = ind - shiftwidth() endif endif return ind endfunction let &cpo = s:cpo_save unlet s:cpo_save