Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.217.105
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
vim /
vim82 /
indent /
Delete
Unzip
Name
Size
Permission
Date
Action
aap.vim
265
B
-rw-r--r--
2026-07-14 04:08
ada.vim
10.97
KB
-rw-r--r--
2026-07-14 04:08
ant.vim
290
B
-rw-r--r--
2026-07-14 04:08
automake.vim
243
B
-rw-r--r--
2026-07-14 04:08
awk.vim
7.59
KB
-rw-r--r--
2026-07-14 04:08
bash.vim
350
B
-rw-r--r--
2026-07-14 04:08
bib.vim
346
B
-rw-r--r--
2026-07-14 04:08
bst.vim
1.89
KB
-rw-r--r--
2026-07-14 04:08
bzl.vim
2.86
KB
-rw-r--r--
2026-07-14 04:08
c.vim
325
B
-rw-r--r--
2026-07-14 04:08
cdl.vim
4.24
KB
-rw-r--r--
2026-07-14 04:08
ch.vim
470
B
-rw-r--r--
2026-07-14 04:08
chaiscript.vim
1.11
KB
-rw-r--r--
2026-07-14 04:08
changelog.vim
264
B
-rw-r--r--
2026-07-14 04:08
clojure.vim
11.29
KB
-rw-r--r--
2026-07-14 04:08
cmake.vim
2.62
KB
-rw-r--r--
2026-07-14 04:08
cobol.vim
8.63
KB
-rw-r--r--
2026-07-14 04:08
config.vim
2.17
KB
-rw-r--r--
2026-07-14 04:08
context.vim
752
B
-rw-r--r--
2026-07-14 04:08
cpp.vim
329
B
-rw-r--r--
2026-07-14 04:08
cs.vim
1.71
KB
-rw-r--r--
2026-07-14 04:08
css.vim
1.77
KB
-rw-r--r--
2026-07-14 04:08
cucumber.vim
2.62
KB
-rw-r--r--
2026-07-14 04:08
cuda.vim
305
B
-rw-r--r--
2026-07-14 04:08
d.vim
572
B
-rw-r--r--
2026-07-14 04:08
dictconf.vim
337
B
-rw-r--r--
2026-07-14 04:08
dictdconf.vim
338
B
-rw-r--r--
2026-07-14 04:08
docbk.vim
336
B
-rw-r--r--
2026-07-14 04:08
dosbatch.vim
1.35
KB
-rw-r--r--
2026-07-14 04:08
dtd.vim
11.67
KB
-rw-r--r--
2026-07-14 04:08
dtrace.vim
451
B
-rw-r--r--
2026-07-14 04:08
dune.vim
332
B
-rw-r--r--
2026-07-14 04:08
dylan.vim
2.71
KB
-rw-r--r--
2026-07-14 04:08
eiffel.vim
3.24
KB
-rw-r--r--
2026-07-14 04:08
elm.vim
3.2
KB
-rw-r--r--
2026-07-14 04:08
erlang.vim
48.89
KB
-rw-r--r--
2026-07-14 04:08
eruby.vim
2.95
KB
-rw-r--r--
2026-07-14 04:08
eterm.vim
743
B
-rw-r--r--
2026-07-14 04:08
falcon.vim
13.75
KB
-rw-r--r--
2026-07-14 04:08
fortran.vim
7.48
KB
-rw-r--r--
2026-07-14 04:08
framescript.vim
891
B
-rw-r--r--
2026-07-14 04:08
gitconfig.vim
841
B
-rw-r--r--
2026-07-14 04:08
gitolite.vim
1.25
KB
-rw-r--r--
2026-07-14 04:08
go.vim
1.63
KB
-rw-r--r--
2026-07-14 04:08
haml.vim
2.15
KB
-rw-r--r--
2026-07-14 04:08
hamster.vim
1.65
KB
-rw-r--r--
2026-07-14 04:08
hog.vim
1.85
KB
-rw-r--r--
2026-07-14 04:08
html.vim
32.86
KB
-rw-r--r--
2026-07-14 04:08
htmldjango.vim
273
B
-rw-r--r--
2026-07-14 04:08
idlang.vim
1.64
KB
-rw-r--r--
2026-07-14 04:08
ishd.vim
1.83
KB
-rw-r--r--
2026-07-14 04:08
j.vim
1.77
KB
-rw-r--r--
2026-07-14 04:08
java.vim
4.19
KB
-rw-r--r--
2026-07-14 04:08
javascript.vim
15
KB
-rw-r--r--
2026-07-14 04:08
javascriptreact.vim
109
B
-rw-r--r--
2026-07-14 04:08
json.vim
4.42
KB
-rw-r--r--
2026-07-14 04:08
jsonc.vim
4.62
KB
-rw-r--r--
2026-07-14 04:08
jsp.vim
462
B
-rw-r--r--
2026-07-14 04:08
julia.vim
15.09
KB
-rw-r--r--
2026-07-14 04:08
ld.vim
1.82
KB
-rw-r--r--
2026-07-14 04:08
less.vim
243
B
-rw-r--r--
2026-07-14 04:08
lifelines.vim
638
B
-rw-r--r--
2026-07-14 04:08
liquid.vim
1.85
KB
-rw-r--r--
2026-07-14 04:08
lisp.vim
353
B
-rw-r--r--
2026-07-14 04:08
logtalk.vim
1.82
KB
-rw-r--r--
2026-07-14 04:08
lua.vim
1.88
KB
-rw-r--r--
2026-07-14 04:08
mail.vim
355
B
-rw-r--r--
2026-07-14 04:08
make.vim
3.48
KB
-rw-r--r--
2026-07-14 04:08
matlab.vim
4.81
KB
-rw-r--r--
2026-07-14 04:08
meson.vim
5.19
KB
-rw-r--r--
2026-07-14 04:08
mf.vim
156
B
-rw-r--r--
2026-07-14 04:08
mma.vim
2.22
KB
-rw-r--r--
2026-07-14 04:08
mp.vim
11.06
KB
-rw-r--r--
2026-07-14 04:08
nginx.vim
362
B
-rw-r--r--
2026-07-14 04:08
nsis.vim
3.23
KB
-rw-r--r--
2026-07-14 04:08
objc.vim
1.61
KB
-rw-r--r--
2026-07-14 04:08
ocaml.vim
8.98
KB
-rw-r--r--
2026-07-14 04:08
occam.vim
4.59
KB
-rw-r--r--
2026-07-14 04:08
pascal.vim
5.66
KB
-rw-r--r--
2026-07-14 04:08
perl.vim
5.77
KB
-rw-r--r--
2026-07-14 04:08
php.vim
25.29
KB
-rw-r--r--
2026-07-14 04:08
postscr.vim
1.67
KB
-rw-r--r--
2026-07-14 04:08
pov.vim
2.6
KB
-rw-r--r--
2026-07-14 04:08
prolog.vim
1.82
KB
-rw-r--r--
2026-07-14 04:08
ps1.vim
410
B
-rw-r--r--
2026-07-14 04:08
pyrex.vim
326
B
-rw-r--r--
2026-07-14 04:08
python.vim
6.82
KB
-rw-r--r--
2026-07-14 04:08
r.vim
13.71
KB
-rw-r--r--
2026-07-14 04:08
raku.vim
3.34
KB
-rw-r--r--
2026-07-14 04:08
raml.vim
285
B
-rw-r--r--
2026-07-14 04:08
readline.vim
786
B
-rw-r--r--
2026-07-14 04:08
rhelp.vim
2.77
KB
-rw-r--r--
2026-07-14 04:08
rmd.vim
2.14
KB
-rw-r--r--
2026-07-14 04:08
rnoweb.vim
1.06
KB
-rw-r--r--
2026-07-14 04:08
rpl.vim
1.82
KB
-rw-r--r--
2026-07-14 04:08
rrst.vim
1.17
KB
-rw-r--r--
2026-07-14 04:08
rst.vim
1.78
KB
-rw-r--r--
2026-07-14 04:08
ruby.vim
29.44
KB
-rw-r--r--
2026-07-14 04:08
rust.vim
6.35
KB
-rw-r--r--
2026-07-14 04:08
sas.vim
5.15
KB
-rw-r--r--
2026-07-14 04:08
sass.vim
950
B
-rw-r--r--
2026-07-14 04:08
scala.vim
19.2
KB
-rw-r--r--
2026-07-14 04:08
scheme.vim
372
B
-rw-r--r--
2026-07-14 04:08
scss.vim
191
B
-rw-r--r--
2026-07-14 04:08
sdl.vim
2.76
KB
-rw-r--r--
2026-07-14 04:08
sh.vim
9.04
KB
-rw-r--r--
2026-07-14 04:08
sml.vim
6.33
KB
-rw-r--r--
2026-07-14 04:08
sql.vim
1.18
KB
-rw-r--r--
2026-07-14 04:08
sqlanywhere.vim
12.96
KB
-rw-r--r--
2026-07-14 04:08
sshconfig.vim
796
B
-rw-r--r--
2026-07-14 04:08
systemd.vim
205
B
-rw-r--r--
2026-07-14 04:08
systemverilog.vim
8.43
KB
-rw-r--r--
2026-07-14 04:08
tcl.vim
2.48
KB
-rw-r--r--
2026-07-14 04:08
tcsh.vim
1.35
KB
-rw-r--r--
2026-07-14 04:08
teraterm.vim
1.38
KB
-rw-r--r--
2026-07-14 04:08
tex.vim
13.37
KB
-rw-r--r--
2026-07-14 04:08
tf.vim
1.51
KB
-rw-r--r--
2026-07-14 04:08
tilde.vim
1013
B
-rw-r--r--
2026-07-14 04:08
treetop.vim
708
B
-rw-r--r--
2026-07-14 04:08
typescript.vim
14.14
KB
-rw-r--r--
2026-07-14 04:08
vb.vim
2.04
KB
-rw-r--r--
2026-07-14 04:08
verilog.vim
7.98
KB
-rw-r--r--
2026-07-14 04:08
vhdl.vim
14.32
KB
-rw-r--r--
2026-07-14 04:08
vim.vim
5.63
KB
-rw-r--r--
2026-07-14 04:08
vroom.vim
379
B
-rw-r--r--
2026-07-14 04:08
wast.vim
458
B
-rw-r--r--
2026-07-14 04:08
xf86conf.vim
709
B
-rw-r--r--
2026-07-14 04:08
xhtml.vim
269
B
-rw-r--r--
2026-07-14 04:08
xinetd.vim
1.2
KB
-rw-r--r--
2026-07-14 04:08
xml.vim
7.6
KB
-rw-r--r--
2026-07-14 04:08
xsd.vim
253
B
-rw-r--r--
2026-07-14 04:08
xslt.vim
297
B
-rw-r--r--
2026-07-14 04:08
yacc.vim
781
B
-rw-r--r--
2026-07-14 04:08
yaml.vim
5.34
KB
-rw-r--r--
2026-07-14 04:08
zimbu.vim
3.85
KB
-rw-r--r--
2026-07-14 04:08
zsh.vim
411
B
-rw-r--r--
2026-07-14 04:08
Save
Rename
" Vim indent file " Language: JSONC (JSON with Comments) " Original Author: Izhak Jakov <izhak724@gmail.com> " Acknowledgement: Based off of vim-json maintained by Eli Parra <eli@elzr.com> " https://github.com/elzr/vim-json " Last Change: 2021-07-01 " 0. Initialization {{{1 " ================= " Only load this indent file when no other was loaded. if exists("b:did_indent") finish endif let b:did_indent = 1 setlocal nosmartindent " Now, set up our indentation expression and keys that trigger it. setlocal indentexpr=GetJSONCIndent() setlocal indentkeys=0{,0},0),0[,0],!^F,o,O,e " Only define the function once. if exists("*GetJSONCIndent") finish endif let s:cpo_save = &cpo set cpo&vim " 1. Variables {{{1 " ============ let s:line_term = '\s*\%(\%(\/\/\).*\)\=$' " Regex that defines blocks. let s:block_regex = '\%({\)\s*\%(|\%([*@]\=\h\w*,\=\s*\)\%(,\s*[*@]\=\h\w*\)*|\)\=' . s:line_term " 2. Auxiliary Functions {{{1 " ====================== " Check if the character at lnum:col is inside a string. function s:IsInString(lnum, col) return synIDattr(synID(a:lnum, a:col, 1), 'name') == 'jsonString' endfunction " Find line above 'lnum' that isn't empty, or in a string. function s:PrevNonBlankNonString(lnum) let lnum = prevnonblank(a:lnum) while lnum > 0 " If the line isn't empty or in a string, end search. let line = getline(lnum) if !(s:IsInString(lnum, 1) && s:IsInString(lnum, strlen(line))) break endif let lnum = prevnonblank(lnum - 1) endwhile return lnum endfunction " Check if line 'lnum' has more opening brackets than closing ones. function s:LineHasOpeningBrackets(lnum) let open_0 = 0 let open_2 = 0 let open_4 = 0 let line = getline(a:lnum) let pos = match(line, '[][(){}]', 0) while pos != -1 let idx = stridx('(){}[]', line[pos]) if idx % 2 == 0 let open_{idx} = open_{idx} + 1 else let open_{idx - 1} = open_{idx - 1} - 1 endif let pos = match(line, '[][(){}]', pos + 1) endwhile return (open_0 > 0) . (open_2 > 0) . (open_4 > 0) endfunction function s:Match(lnum, regex) let col = match(getline(a:lnum), a:regex) + 1 return col > 0 && !s:IsInString(a:lnum, col) ? col : 0 endfunction " 3. GetJSONCIndent Function {{{1 " ========================= function GetJSONCIndent() if !exists("s:inside_comment") let s:inside_comment = 0 endif " 3.1. Setup {{{2 " ---------- " Set up variables for restoring position in file. Could use v:lnum here. let vcol = col('.') " 3.2. Work on the current line {{{2 " ----------------------------- " Get the current line. let line = getline(v:lnum) let ind = -1 if s:inside_comment == 0 " TODO iterate through all the matches in a line let col = matchend(line, '\/\*') if col > 0 && !s:IsInString(v:lnum, col) let s:inside_comment = 1 endif endif " If we're in the middle of a comment if s:inside_comment == 1 let col = matchend(line, '\*\/') if col > 0 && !s:IsInString(v:lnum, col) let s:inside_comment = 0 endif return ind endif if line =~ '^\s*//' return ind endif " If we got a closing bracket on an empty line, find its match and indent " according to it. let col = matchend(line, '^\s*[]}]') if col > 0 && !s:IsInString(v:lnum, col) call cursor(v:lnum, col) let bs = strpart('{}[]', stridx('}]', line[col - 1]) * 2, 2) let pairstart = escape(bs[0], '[') let pairend = escape(bs[1], ']') let pairline = searchpair(pairstart, '', pairend, 'bW') if pairline > 0 let ind = indent(pairline) else let ind = virtcol('.') - 1 endif return ind endif " If we are in a multi-line string, don't do anything to it. if s:IsInString(v:lnum, matchend(line, '^\s*') + 1) return indent('.') endif " 3.3. Work on the previous line. {{{2 " ------------------------------- let lnum = prevnonblank(v:lnum - 1) if lnum == 0 return 0 endif " Set up variables for current line. let line = getline(lnum) let ind = indent(lnum) " If the previous line ended with a block opening, add a level of indent. " if s:Match(lnum, s:block_regex) " return indent(lnum) + shiftwidth() " endif " If the previous line contained an opening bracket, and we are still in it, " add indent depending on the bracket type. if line =~ '[[({]' let counts = s:LineHasOpeningBrackets(lnum) if counts[0] == '1' || counts[1] == '1' || counts[2] == '1' return ind + shiftwidth() else call cursor(v:lnum, vcol) end endif " }}}2 return ind endfunction " }}}1 let &cpo = s:cpo_save unlet s:cpo_save " vim:set sw=2 sts=2 ts=8 noet: