-
-
Save tony/a23eb36f188102120df6 to your computer and use it in GitHub Desktop.
color_coded freebsd syntax error
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SCRIPT /usr/local/share/vim/vim74/filetype.vim | |
Sourced 1 time | |
Total time: 0.119769 | |
Self time: 0.106623 | |
count total (s) self (s) | |
" Vim support file to detect file types | |
" | |
" Maintainer: Bram Moolenaar <Bram@vim.org> | |
" Last Change: 2013 Aug 03 | |
" Listen very carefully, I will say this only once | |
1 0.000013 if exists("did_load_filetypes") | |
finish | |
endif | |
1 0.000008 let did_load_filetypes = 1 | |
" Line continuation is used here, remove 'C' from 'cpoptions' | |
1 0.000020 let s:cpo_save = &cpo | |
1 0.000017 set cpo&vim | |
1 0.000005 augroup filetypedetect | |
" Ignored extensions | |
1 0.000011 if exists("*fnameescape") | |
1 0.000511 au BufNewFile,BufRead ?\+.orig,?\+.bak,?\+.old,?\+.new,?\+.dpkg-dist,?\+.dpkg-old,?\+.dpkg-new,?\+.dpkg-bak,?\+.rpmsave,?\+.rpmnew | |
\ exe "doau filetypedetect BufRead " . fnameescape(expand("<afile>:r")) | |
1 0.000069 au BufNewFile,BufRead *~ | |
\ let s:name = expand("<afile>") | | |
\ let s:short = substitute(s:name, '\~$', '', '') | | |
\ if s:name != s:short && s:short != "" | | |
\ exe "doau filetypedetect BufRead " . fnameescape(s:short) | | |
\ endif | | |
\ unlet! s:name s:short | |
1 0.000063 au BufNewFile,BufRead ?\+.in | |
\ if expand("<afile>:t") != "configure.in" | | |
\ exe "doau filetypedetect BufRead " . fnameescape(expand("<afile>:r")) | | |
\ endif | |
1 0.000006 elseif &verbose > 0 | |
echomsg "Warning: some filetypes will not be recognized because this version of Vim does not have fnameescape()" | |
endif | |
" Pattern used to match file names which should not be inspected. | |
" Currently finds compressed files. | |
1 0.000011 if !exists("g:ft_ignore_pat") | |
let g:ft_ignore_pat = '\.\(Z\|gz\|bz2\|zip\|tgz\)$' | |
endif | |
" Function used for patterns that end in a star: don't set the filetype if the | |
" file name matches ft_ignore_pat. | |
1 0.000010 func! s:StarSetf(ft) | |
if expand("<amatch>") !~ g:ft_ignore_pat | |
exe 'setf ' . a:ft | |
endif | |
endfunc | |
" Abaqus or Trasys | |
1 0.000056 au BufNewFile,BufRead *.inp call s:Check_inp() | |
1 0.000007 func! s:Check_inp() | |
if getline(1) =~ '^\*' | |
setf abaqus | |
else | |
let n = 1 | |
if line("$") > 500 | |
let nmax = 500 | |
else | |
let nmax = line("$") | |
endif | |
while n <= nmax | |
if getline(n) =~? "^header surface data" | |
setf trasys | |
break | |
endif | |
let n = n + 1 | |
endwhile | |
endif | |
endfunc | |
" A-A-P recipe | |
1 0.000056 au BufNewFile,BufRead *.aap setf aap | |
" A2ps printing utility | |
1 0.000233 au BufNewFile,BufRead */etc/a2ps.cfg,*/etc/a2ps/*.cfg,a2psrc,.a2psrc setf a2ps | |
" ABAB/4 | |
1 0.000056 au BufNewFile,BufRead *.abap setf abap | |
" ABC music notation | |
1 0.000053 au BufNewFile,BufRead *.abc setf abc | |
" ABEL | |
1 0.000053 au BufNewFile,BufRead *.abl setf abel | |
" AceDB | |
1 0.000052 au BufNewFile,BufRead *.wrm setf acedb | |
" Ada (83, 9X, 95) | |
1 0.000140 au BufNewFile,BufRead *.adb,*.ads,*.ada setf ada | |
1 0.000015 if has("vms") | |
au BufNewFile,BufRead *.gpr,*.ada_m,*.adc setf ada | |
else | |
1 0.000054 au BufNewFile,BufRead *.gpr setf ada | |
1 0.000003 endif | |
" AHDL | |
1 0.000055 au BufNewFile,BufRead *.tdf setf ahdl | |
" AMPL | |
1 0.000086 au BufNewFile,BufRead *.run setf ampl | |
" Ant | |
1 0.000057 au BufNewFile,BufRead build.xml setf ant | |
" Apache style config file | |
1 0.000057 au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle') | |
" Apache config file | |
1 0.000105 au BufNewFile,BufRead .htaccess,*/etc/httpd/*.conf setf apache | |
" XA65 MOS6510 cross assembler | |
1 0.000054 au BufNewFile,BufRead *.a65 setf a65 | |
" Applescript | |
1 0.000054 au BufNewFile,BufRead *.scpt setf applescript | |
" Applix ELF | |
1 0.000109 au BufNewFile,BufRead *.am | |
\ if expand("<afile>") !~? 'Makefile.am\>' | setf elf | endif | |
" ALSA configuration | |
1 0.000156 au BufNewFile,BufRead .asoundrc,*/usr/share/alsa/alsa.conf,*/etc/asound.conf setf alsaconf | |
" Arc Macro Language | |
1 0.000054 au BufNewFile,BufRead *.aml setf aml | |
" APT config file | |
1 0.000064 au BufNewFile,BufRead apt.conf setf aptconf | |
1 0.000066 au BufNewFile,BufRead */.aptitude/config setf aptconf | |
1 0.000086 au BufNewFile,BufRead */etc/apt/apt.conf.d/{[-_[:alnum:]]\+,[-_.[:alnum:]]\+.conf} setf aptconf | |
" Arch Inventory file | |
1 0.000116 au BufNewFile,BufRead .arch-inventory,=tagging-method setf arch | |
" ART*Enterprise (formerly ART-IM) | |
1 0.000055 au BufNewFile,BufRead *.art setf art | |
" AsciiDoc | |
1 0.000056 au BufNewFile,BufRead *.asciidoc setf asciidoc | |
" ASN.1 | |
1 0.000102 au BufNewFile,BufRead *.asn,*.asn1 setf asn | |
" Active Server Pages (with Visual Basic Script) | |
1 0.000063 au BufNewFile,BufRead *.asa | |
\ if exists("g:filetype_asa") | | |
\ exe "setf " . g:filetype_asa | | |
\ else | | |
\ setf aspvbs | | |
\ endif | |
" Active Server Pages (with Perl or Visual Basic Script) | |
1 0.000066 au BufNewFile,BufRead *.asp | |
\ if exists("g:filetype_asp") | | |
\ exe "setf " . g:filetype_asp | | |
\ elseif getline(1) . getline(2) . getline(3) =~? "perlscript" | | |
\ setf aspperl | | |
\ else | | |
\ setf aspvbs | | |
\ endif | |
" Grub (must be before catch *.lst) | |
1 0.000157 au BufNewFile,BufRead */boot/grub/menu.lst,*/boot/grub/grub.conf,*/etc/grub.conf setf grub | |
" Assembly (all kinds) | |
" *.lst is not pure assembly, it has two extra columns (address, byte codes) | |
1 0.000246 au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst call s:FTasm() | |
" This function checks for the kind of assembly that is wanted by the user, or | |
" can be detected from the first five lines of the file. | |
1 0.000008 func! s:FTasm() | |
" make sure b:asmsyntax exists | |
if !exists("b:asmsyntax") | |
let b:asmsyntax = "" | |
endif | |
if b:asmsyntax == "" | |
call s:FTasmsyntax() | |
endif | |
" if b:asmsyntax still isn't set, default to asmsyntax or GNU | |
if b:asmsyntax == "" | |
if exists("g:asmsyntax") | |
let b:asmsyntax = g:asmsyntax | |
else | |
let b:asmsyntax = "asm" | |
endif | |
endif | |
exe "setf " . fnameescape(b:asmsyntax) | |
endfunc | |
1 0.000006 func! s:FTasmsyntax() | |
" see if file contains any asmsyntax=foo overrides. If so, change | |
" b:asmsyntax appropriately | |
let head = " ".getline(1)." ".getline(2)." ".getline(3)." ".getline(4). | |
\" ".getline(5)." " | |
let match = matchstr(head, '\sasmsyntax=\zs[a-zA-Z0-9]\+\ze\s') | |
if match != '' | |
let b:asmsyntax = match | |
elseif ((head =~? '\.title') || (head =~? '\.ident') || (head =~? '\.macro') || (head =~? '\.subtitle') || (head =~? '\.library')) | |
let b:asmsyntax = "vmasm" | |
endif | |
endfunc | |
" Macro (VAX) | |
1 0.000059 au BufNewFile,BufRead *.mar setf vmasm | |
" Atlas | |
1 0.000100 au BufNewFile,BufRead *.atl,*.as setf atlas | |
" Autoit v3 | |
1 0.000056 au BufNewFile,BufRead *.au3 setf autoit | |
" Autohotkey | |
1 0.000055 au BufNewFile,BufRead *.ahk setf autohotkey | |
" Automake | |
1 0.000108 au BufNewFile,BufRead [mM]akefile.am,GNUmakefile.am setf automake | |
" Autotest .at files are actually m4 | |
1 0.000054 au BufNewFile,BufRead *.at setf m4 | |
" Avenue | |
1 0.000056 au BufNewFile,BufRead *.ave setf ave | |
" Awk | |
1 0.000068 au BufNewFile,BufRead *.awk setf awk | |
" B | |
1 0.000195 au BufNewFile,BufRead *.mch,*.ref,*.imp setf b | |
" BASIC or Visual Basic | |
1 0.000059 au BufNewFile,BufRead *.bas call s:FTVB("basic") | |
" Check if one of the first five lines contains "VB_Name". In that case it is | |
" probably a Visual Basic file. Otherwise it's assumed to be "alt" filetype. | |
1 0.000009 func! s:FTVB(alt) | |
if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'VB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)' | |
setf vb | |
else | |
exe "setf " . a:alt | |
endif | |
endfunc | |
" Visual Basic Script (close to Visual Basic) or Visual Basic .NET | |
1 0.000242 au BufNewFile,BufRead *.vb,*.vbs,*.dsm,*.ctl setf vb | |
" IBasic file (similar to QBasic) | |
1 0.000110 au BufNewFile,BufRead *.iba,*.ibi setf ibasic | |
" FreeBasic file (similar to QBasic) | |
1 0.000099 au BufNewFile,BufRead *.fb,*.bi setf freebasic | |
" Batch file for MSDOS. | |
1 0.000112 au BufNewFile,BufRead *.bat,*.sys setf dosbatch | |
" *.cmd is close to a Batch file, but on OS/2 Rexx files also use *.cmd. | |
1 0.000060 au BufNewFile,BufRead *.cmd | |
\ if getline(1) =~ '^/\*' | setf rexx | else | setf dosbatch | endif | |
" Batch file for 4DOS | |
1 0.000057 au BufNewFile,BufRead *.btm call s:FTbtm() | |
1 0.000007 func! s:FTbtm() | |
if exists("g:dosbatch_syntax_for_btm") && g:dosbatch_syntax_for_btm | |
setf dosbatch | |
else | |
setf btm | |
endif | |
endfunc | |
" BC calculator | |
1 0.000056 au BufNewFile,BufRead *.bc setf bc | |
" BDF font | |
1 0.000056 au BufNewFile,BufRead *.bdf setf bdf | |
" BibTeX bibliography database file | |
1 0.000056 au BufNewFile,BufRead *.bib setf bib | |
" BibTeX Bibliography Style | |
1 0.000056 au BufNewFile,BufRead *.bst setf bst | |
" BIND configuration | |
1 0.000132 au BufNewFile,BufRead named.conf,rndc.conf setf named | |
" BIND zone | |
1 0.000059 au BufNewFile,BufRead named.root setf bindzone | |
1 0.000056 au BufNewFile,BufRead *.db call s:BindzoneCheck('') | |
1 0.000008 func! s:BindzoneCheck(default) | |
if getline(1).getline(2).getline(3).getline(4) =~ '^; <<>> DiG [0-9.]\+ <<>>\|BIND.*named\|$ORIGIN\|$TTL\|IN\s\+SOA' | |
setf bindzone | |
elseif a:default != '' | |
exe 'setf ' . a:default | |
endif | |
endfunc | |
" Blank | |
1 0.000058 au BufNewFile,BufRead *.bl setf blank | |
" Blkid cache file | |
1 0.000110 au BufNewFile,BufRead */etc/blkid.tab,*/etc/blkid.tab.old setf xml | |
" C or lpc | |
1 0.000055 au BufNewFile,BufRead *.c call s:FTlpc() | |
1 0.000006 func! s:FTlpc() | |
if exists("g:lpc_syntax_for_c") | |
let lnum = 1 | |
while lnum <= 12 | |
if getline(lnum) =~# '^\(//\|inherit\|private\|protected\|nosave\|string\|object\|mapping\|mixed\)' | |
setf lpc | |
return | |
endif | |
let lnum = lnum + 1 | |
endwhile | |
endif | |
setf c | |
endfunc | |
" Calendar | |
1 0.000059 au BufNewFile,BufRead calendar setf calendar | |
" C# | |
1 0.000056 au BufNewFile,BufRead *.cs setf cs | |
" CSDL | |
1 0.000057 au BufNewFile,BufRead *.csdl setf csdl | |
" Cabal | |
1 0.000056 au BufNewFile,BufRead *.cabal setf cabal | |
" Cdrdao TOC | |
1 0.000058 au BufNewFile,BufRead *.toc setf cdrtoc | |
" Cdrdao config | |
1 0.000209 au BufNewFile,BufRead */etc/cdrdao.conf,*/etc/defaults/cdrdao,*/etc/default/cdrdao,.cdrdao setf cdrdaoconf | |
" Cfengine | |
1 0.000059 au BufNewFile,BufRead cfengine.conf setf cfengine | |
" ChaiScript | |
1 0.000056 au BufRead,BufNewFile *.chai setf chaiscript | |
" Comshare Dimension Definition Language | |
1 0.000056 au BufNewFile,BufRead *.cdl setf cdl | |
" Conary Recipe | |
1 0.000055 au BufNewFile,BufRead *.recipe setf conaryrecipe | |
" Controllable Regex Mutilator | |
1 0.000056 au BufNewFile,BufRead *.crm setf crm | |
" Cyn++ | |
1 0.000056 au BufNewFile,BufRead *.cyn setf cynpp | |
" Cynlib | |
" .cc and .cpp files can be C++ or Cynlib. | |
1 0.000078 au BufNewFile,BufRead *.cc | |
\ if exists("cynlib_syntax_for_cc")|setf cynlib|else|setf cpp|endif | |
1 0.000062 au BufNewFile,BufRead *.cpp | |
\ if exists("cynlib_syntax_for_cpp")|setf cynlib|else|setf cpp|endif | |
" C++ | |
1 0.000458 au BufNewFile,BufRead *.cxx,*.c++,*.hh,*.hxx,*.hpp,*.ipp,*.moc,*.tcc,*.inl setf cpp | |
1 0.000010 if has("fname_case") | |
1 0.000101 au BufNewFile,BufRead *.C,*.H setf cpp | |
1 0.000004 endif | |
" .h files can be C, Ch C++, ObjC or ObjC++. | |
" Set c_syntax_for_h if you want C, ch_syntax_for_h if you want Ch. ObjC is | |
" detected automatically. | |
1 0.000055 au BufNewFile,BufRead *.h call s:FTheader() | |
1 0.000006 func! s:FTheader() | |
if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1 | |
if exists("g:c_syntax_for_h") | |
setf objc | |
else | |
setf objcpp | |
endif | |
elseif exists("g:c_syntax_for_h") | |
setf c | |
elseif exists("g:ch_syntax_for_h") | |
setf ch | |
else | |
setf cpp | |
endif | |
endfunc | |
" Ch (CHscript) | |
1 0.000064 au BufNewFile,BufRead *.chf setf ch | |
" TLH files are C++ headers generated by Visual C++'s #import from typelibs | |
1 0.000058 au BufNewFile,BufRead *.tlh setf cpp | |
" Cascading Style Sheets | |
1 0.000059 au BufNewFile,BufRead *.css setf css | |
" Century Term Command Scripts (*.cmd too) | |
1 0.000057 au BufNewFile,BufRead *.con setf cterm | |
" Changelog | |
1 0.000213 au BufNewFile,BufRead changelog.Debian,changelog.dch,NEWS.Debian,NEWS.dch | |
\ setf debchangelog | |
1 0.000069 au BufNewFile,BufRead [cC]hange[lL]og | |
\ if getline(1) =~ '; urgency=' | |
\| setf debchangelog | |
\| else | |
\| setf changelog | |
\| endif | |
1 0.000062 au BufNewFile,BufRead NEWS | |
\ if getline(1) =~ '; urgency=' | |
\| setf debchangelog | |
\| endif | |
" CHILL | |
1 0.000064 au BufNewFile,BufRead *..ch setf chill | |
" Changes for WEB and CWEB or CHILL | |
1 0.000059 au BufNewFile,BufRead *.ch call s:FTchange() | |
" This function checks if one of the first ten lines start with a '@'. In | |
" that case it is probably a change file. | |
" If the first line starts with # or ! it's probably a ch file. | |
" If a line has "main", "include", "//" ir "/*" it's probably ch. | |
" Otherwise CHILL is assumed. | |
1 0.000006 func! s:FTchange() | |
let lnum = 1 | |
while lnum <= 10 | |
if getline(lnum)[0] == '@' | |
setf change | |
return | |
endif | |
if lnum == 1 && (getline(1)[0] == '#' || getline(1)[0] == '!') | |
setf ch | |
return | |
endif | |
if getline(lnum) =~ "MODULE" | |
setf chill | |
return | |
endif | |
if getline(lnum) =~ 'main\s*(\|#\s*include\|//' | |
setf ch | |
return | |
endif | |
let lnum = lnum + 1 | |
endwhile | |
setf chill | |
endfunc | |
" ChordPro | |
1 0.000258 au BufNewFile,BufRead *.chopro,*.crd,*.cho,*.crdpro,*.chordpro setf chordpro | |
" Clean | |
1 0.000109 au BufNewFile,BufRead *.dcl,*.icl setf clean | |
" Clever | |
1 0.000058 au BufNewFile,BufRead *.eni setf cl | |
" Clever or dtd | |
1 0.000058 au BufNewFile,BufRead *.ent call s:FTent() | |
1 0.000006 func! s:FTent() | |
" This function checks for valid cl syntax in the first five lines. | |
" Look for either an opening comment, '#', or a block start, '{". | |
" If not found, assume SGML. | |
let lnum = 1 | |
while lnum < 6 | |
let line = getline(lnum) | |
if line =~ '^\s*[#{]' | |
setf cl | |
return | |
elseif line !~ '^\s*$' | |
" Not a blank line, not a comment, and not a block start, | |
" so doesn't look like valid cl code. | |
break | |
endif | |
let lnum = lnum + 1 | |
endw | |
setf dtd | |
endfunc | |
" Clipper (or FoxPro; could also be eviews) | |
1 0.000068 au BufNewFile,BufRead *.prg | |
\ if exists("g:filetype_prg") | | |
\ exe "setf " . g:filetype_prg | | |
\ else | | |
\ setf clipper | | |
\ endif | |
" Clojure | |
1 0.000107 au BufNewFile,BufRead *.clj,*.cljs setf clojure | |
" Cmake | |
1 0.000169 au BufNewFile,BufRead CMakeLists.txt,*.cmake,*.cmake.in setf cmake | |
" Cmusrc | |
1 0.000099 au BufNewFile,BufRead */.cmus/{autosave,rc,command-history,*.theme} setf cmusrc | |
1 0.000072 au BufNewFile,BufRead */cmus/{rc,*.theme} setf cmusrc | |
" Cobol | |
1 0.000160 au BufNewFile,BufRead *.cbl,*.cob,*.lib setf cobol | |
" cobol or zope form controller python script? (heuristic) | |
1 0.000067 au BufNewFile,BufRead *.cpy | |
\ if getline(1) =~ '^##' | | |
\ setf python | | |
\ else | | |
\ setf cobol | | |
\ endif | |
" Coco/R | |
1 0.000059 au BufNewFile,BufRead *.atg setf coco | |
" Cold Fusion | |
1 0.000163 au BufNewFile,BufRead *.cfm,*.cfi,*.cfc setf cf | |
" Configure scripts | |
1 0.000114 au BufNewFile,BufRead configure.in,configure.ac setf config | |
" CUDA Cumpute Unified Device Architecture | |
1 0.000058 au BufNewFile,BufRead *.cu setf cuda | |
" WildPackets EtherPeek Decoder | |
1 0.000061 au BufNewFile,BufRead *.dcd setf dcd | |
" Enlightenment configuration files | |
1 0.000065 au BufNewFile,BufRead *enlightenment/*.cfg setf c | |
" Eterm | |
1 0.000059 au BufNewFile,BufRead *Eterm/*.cfg setf eterm | |
" Lynx config files | |
1 0.000059 au BufNewFile,BufRead lynx.cfg setf lynx | |
" Quake | |
1 0.000115 au BufNewFile,BufRead *baseq[2-3]/*.cfg,*id1/*.cfg setf quake | |
1 0.000068 au BufNewFile,BufRead *quake[1-3]/*.cfg setf quake | |
" Quake C | |
1 0.000066 au BufNewFile,BufRead *.qc setf c | |
" Configure files | |
1 0.000061 au BufNewFile,BufRead *.cfg setf cfg | |
" Cucumber | |
1 0.000059 au BufNewFile,BufRead *.feature setf cucumber | |
" Communicating Sequential Processes | |
1 0.000110 au BufNewFile,BufRead *.csp,*.fdr setf csp | |
" CUPL logic description and simulation | |
1 0.000059 au BufNewFile,BufRead *.pld setf cupl | |
1 0.000057 au BufNewFile,BufRead *.si setf cuplsim | |
" Debian Control | |
1 0.000061 au BufNewFile,BufRead */debian/control setf debcontrol | |
1 0.000064 au BufNewFile,BufRead control | |
\ if getline(1) =~ '^Source:' | |
\| setf debcontrol | |
\| endif | |
" Debian Sources.list | |
1 0.000074 au BufNewFile,BufRead */etc/apt/sources.list setf debsources | |
1 0.000122 au BufNewFile,BufRead */etc/apt/sources.list.d/*.list setf debsources | |
" Deny hosts | |
1 0.000062 au BufNewFile,BufRead denyhosts.conf setf denyhosts | |
" dnsmasq(8) configuration files | |
1 0.000062 au BufNewFile,BufRead */etc/dnsmasq.conf setf dnsmasq | |
" ROCKLinux package description | |
1 0.000058 au BufNewFile,BufRead *.desc setf desc | |
" the D language or dtrace | |
1 0.000074 au BufNewFile,BufRead *.d call s:DtraceCheck() | |
1 0.000009 func! s:DtraceCheck() | |
let lines = getline(1, min([line("$"), 100])) | |
if match(lines, '^module\>\|^import\>') > -1 | |
" D files often start with a module and/or import statement. | |
setf d | |
elseif match(lines, '^#!\S\+dtrace\|#pragma\s\+D\s\+option\|:\S\{-}:\S\{-}:') > -1 | |
setf dtrace | |
else | |
setf d | |
endif | |
endfunc | |
" Desktop files | |
1 0.000110 au BufNewFile,BufRead *.desktop,.directory setf desktop | |
" Dict config | |
1 0.000110 au BufNewFile,BufRead dict.conf,.dictrc setf dictconf | |
" Dictd config | |
1 0.000066 au BufNewFile,BufRead dictd.conf setf dictdconf | |
" Diff files | |
1 0.000171 au BufNewFile,BufRead *.diff,*.rej,*.patch setf diff | |
" Dircolors | |
1 0.000165 au BufNewFile,BufRead .dir_colors,.dircolors,*/etc/DIR_COLORS setf dircolors | |
" Diva (with Skill) or InstallShield | |
1 0.000085 au BufNewFile,BufRead *.rul | |
\ if getline(1).getline(2).getline(3).getline(4).getline(5).getline(6) =~? 'InstallShield' | | |
\ setf ishd | | |
\ else | | |
\ setf diva | | |
\ endif | |
" DCL (Digital Command Language - vms) or DNS zone file | |
1 0.000063 au BufNewFile,BufRead *.com call s:BindzoneCheck('dcl') | |
" DOT | |
1 0.000061 au BufNewFile,BufRead *.dot setf dot | |
" Dylan - lid files | |
1 0.000061 au BufNewFile,BufRead *.lid setf dylanlid | |
" Dylan - intr files (melange) | |
1 0.000058 au BufNewFile,BufRead *.intr setf dylanintr | |
" Dylan | |
1 0.000058 au BufNewFile,BufRead *.dylan setf dylan | |
" Microsoft Module Definition | |
1 0.000060 au BufNewFile,BufRead *.def setf def | |
" Dracula | |
1 0.000208 au BufNewFile,BufRead *.drac,*.drc,*lvs,*lpe setf dracula | |
" Datascript | |
1 0.000058 au BufNewFile,BufRead *.ds setf datascript | |
" dsl | |
1 0.000075 au BufNewFile,BufRead *.dsl setf dsl | |
" DTD (Document Type Definition for XML) | |
1 0.000068 au BufNewFile,BufRead *.dtd setf dtd | |
" DTS/DSTI (device tree files) | |
1 0.000112 au BufNewFile,BufRead *.dts,*.dtsi setf dts | |
" EDIF (*.edf,*.edif,*.edn,*.edo) | |
1 0.000063 au BufNewFile,BufRead *.ed\(f\|if\|n\|o\) setf edif | |
" Embedix Component Description | |
1 0.000061 au BufNewFile,BufRead *.ecd setf ecd | |
" Eiffel or Specman | |
1 0.000106 au BufNewFile,BufRead *.e,*.E call s:FTe() | |
" Elinks configuration | |
1 0.000134 au BufNewFile,BufRead */etc/elinks.conf,*/.elinks/elinks.conf setf elinks | |
1 0.000007 func! s:FTe() | |
let n = 1 | |
while n < 100 && n < line("$") | |
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$" | |
setf specman | |
return | |
endif | |
let n = n + 1 | |
endwhile | |
setf eiffel | |
endfunc | |
" ERicsson LANGuage; Yaws is erlang too | |
1 0.000167 au BufNewFile,BufRead *.erl,*.hrl,*.yaws setf erlang | |
" Elm Filter Rules file | |
1 0.000063 au BufNewFile,BufRead filter-rules setf elmfilt | |
" ESMTP rc file | |
1 0.000059 au BufNewFile,BufRead *esmtprc setf esmtprc | |
" ESQL-C | |
1 0.000107 au BufNewFile,BufRead *.ec,*.EC setf esqlc | |
" Esterel | |
1 0.000071 au BufNewFile,BufRead *.strl setf esterel | |
" Essbase script | |
1 0.000071 au BufNewFile,BufRead *.csc setf csc | |
" Exim | |
1 0.000061 au BufNewFile,BufRead exim.conf setf exim | |
" Expect | |
1 0.000072 au BufNewFile,BufRead *.exp setf expect | |
" Exports | |
1 0.000061 au BufNewFile,BufRead exports setf exports | |
" Falcon | |
1 0.000062 au BufNewFile,BufRead *.fal setf falcon | |
" Fantom | |
1 0.000113 au BufNewFile,BufRead *.fan,*.fwt setf fan | |
" Factor | |
1 0.000067 au BufNewFile,BufRead *.factor setf factor | |
" Fetchmail RC file | |
1 0.000062 au BufNewFile,BufRead .fetchmailrc setf fetchmail | |
" FlexWiki - disabled, because it has side effects when a .wiki file | |
" is not actually FlexWiki | |
"au BufNewFile,BufRead *.wiki setf flexwiki | |
" Focus Executable | |
1 0.000116 au BufNewFile,BufRead *.fex,*.focexec setf focexec | |
" Focus Master file (but not for auto.master) | |
1 0.000061 au BufNewFile,BufRead auto.master setf conf | |
1 0.000113 au BufNewFile,BufRead *.mas,*.master setf master | |
" Forth | |
1 0.000109 au BufNewFile,BufRead *.fs,*.ft setf forth | |
" Reva Forth | |
1 0.000063 au BufNewFile,BufRead *.frt setf reva | |
" Fortran | |
1 0.000010 if has("fname_case") | |
1 0.000501 au BufNewFile,BufRead *.F,*.FOR,*.FPP,*.FTN,*.F77,*.F90,*.F95,*.F03,*.F08 setf fortran | |
1 0.000004 endif | |
1 0.000552 au BufNewFile,BufRead *.f,*.for,*.fortran,*.fpp,*.ftn,*.f77,*.f90,*.f95,*.f03,*.f08 setf fortran | |
" Framescript | |
1 0.000064 au BufNewFile,BufRead *.fsl setf framescript | |
" FStab | |
1 0.000116 au BufNewFile,BufRead fstab,mtab setf fstab | |
" GDB command files | |
1 0.000068 au BufNewFile,BufRead .gdbinit setf gdb | |
" GDMO | |
1 0.000114 au BufNewFile,BufRead *.mo,*.gdmo setf gdmo | |
" Gedcom | |
1 0.000118 au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom | |
" Git | |
1 0.000066 au BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit | |
1 0.000074 au BufNewFile,BufRead *.git/MERGE_MSG setf gitcommit | |
1 0.000168 au BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig | |
1 0.000088 au BufNewFile,BufRead *.git/modules/*/COMMIT_EDITMSG setf gitcommit | |
1 0.000066 au BufNewFile,BufRead *.git/modules/*/config setf gitconfig | |
1 0.000069 au BufNewFile,BufRead */.config/git/config setf gitconfig | |
1 0.000066 au BufNewFile,BufRead git-rebase-todo setf gitrebase | |
1 0.000068 au BufNewFile,BufRead .msg.[0-9]* | |
\ if getline(1) =~ '^From.*# This line is ignored.$' | | |
\ setf gitsendemail | | |
\ endif | |
1 0.000069 au BufNewFile,BufRead *.git/* | |
\ if getline(1) =~ '^\x\{40\}\>\|^ref: ' | | |
\ setf git | | |
\ endif | |
" Gkrellmrc | |
1 0.000113 au BufNewFile,BufRead gkrellmrc,gkrellmrc_? setf gkrellmrc | |
" GP scripts (2.0 and onward) | |
1 0.000131 au BufNewFile,BufRead *.gp,.gprc setf gp | |
" GPG | |
1 0.000065 au BufNewFile,BufRead */.gnupg/options setf gpg | |
1 0.000065 au BufNewFile,BufRead */.gnupg/gpg.conf setf gpg | |
1 0.000070 au BufNewFile,BufRead */usr/*/gnupg/options.skel setf gpg | |
" gnash(1) configuration files | |
1 0.000221 au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash | |
" Gitolite | |
1 0.000068 au BufNewFile,BufRead gitolite.conf setf gitolite | |
1 0.000068 au BufNewFile,BufRead */gitolite-admin/conf/* call s:StarSetf('gitolite') | |
1 0.000122 au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc setf perl | |
" Gnuplot scripts | |
1 0.000065 au BufNewFile,BufRead *.gpi setf gnuplot | |
" GrADS scripts | |
1 0.000061 au BufNewFile,BufRead *.gs setf grads | |
" Gretl | |
1 0.000061 au BufNewFile,BufRead *.gretl setf gretl | |
" Groovy | |
1 0.000061 au BufNewFile,BufRead *.groovy setf groovy | |
" GNU Server Pages | |
1 0.000074 au BufNewFile,BufRead *.gsp setf gsp | |
" Group file | |
1 0.000445 au BufNewFile,BufRead */etc/group,*/etc/group-,*/etc/group.edit,*/etc/gshadow,*/etc/gshadow-,*/etc/gshadow.edit,*/var/backups/group.bak,*/var/backups/gshadow.bak setf group | |
" GTK RC | |
1 0.000118 au BufNewFile,BufRead .gtkrc,gtkrc setf gtkrc | |
" Haml | |
1 0.000061 au BufNewFile,BufRead *.haml setf haml | |
" Hamster Classic | Playground files | |
1 0.000121 au BufNewFile,BufRead *.hsc,*.hsm setf hamster | |
" Haskell | |
1 0.000123 au BufNewFile,BufRead *.hs,*.hs-boot setf haskell | |
1 0.000075 au BufNewFile,BufRead *.lhs setf lhaskell | |
1 0.000072 au BufNewFile,BufRead *.chs setf chaskell | |
" Haste | |
1 0.000061 au BufNewFile,BufRead *.ht setf haste | |
1 0.000070 au BufNewFile,BufRead *.htpp setf hastepreproc | |
" Hercules | |
1 0.000276 au BufNewFile,BufRead *.vc,*.ev,*.rs,*.sum,*.errsum setf hercules | |
" HEX (Intel) | |
1 0.000122 au BufNewFile,BufRead *.hex,*.h32 setf hex | |
" Tilde (must be before HTML) | |
1 0.000062 au BufNewFile,BufRead *.t.html setf tilde | |
" HTML (.shtml and .stm for server side) | |
1 0.000226 au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call s:FThtml() | |
" Distinguish between HTML, XHTML and Django | |
1 0.000007 func! s:FThtml() | |
let n = 1 | |
while n < 10 && n < line("$") | |
if getline(n) =~ '\<DTD\s\+XHTML\s' | |
setf xhtml | |
return | |
endif | |
if getline(n) =~ '{%\s*\(extends\|block\)\>' | |
setf htmldjango | |
return | |
endif | |
let n = n + 1 | |
endwhile | |
setf html | |
endfunc | |
" HTML with Ruby - eRuby | |
1 0.000141 au BufNewFile,BufRead *.erb,*.rhtml setf eruby | |
" HTML with M4 | |
1 0.000064 au BufNewFile,BufRead *.html.m4 setf htmlm4 | |
" HTML Cheetah template | |
1 0.000061 au BufNewFile,BufRead *.tmpl setf htmlcheetah | |
" Host config | |
1 0.000078 au BufNewFile,BufRead */etc/host.conf setf hostconf | |
" Hosts access | |
1 0.000131 au BufNewFile,BufRead */etc/hosts.allow,*/etc/hosts.deny setf hostsaccess | |
" Hyper Builder | |
1 0.000063 au BufNewFile,BufRead *.hb setf hb | |
" Httest | |
1 0.000125 au BufNewFile,BufRead *.htt,*.htb setf httest | |
" Icon | |
1 0.000067 au BufNewFile,BufRead *.icn setf icon | |
" IDL (Interface Description Language) | |
1 0.000067 au BufNewFile,BufRead *.idl call s:FTidl() | |
" Distinguish between standard IDL and MS-IDL | |
1 0.000006 func! s:FTidl() | |
let n = 1 | |
while n < 50 && n < line("$") | |
if getline(n) =~ '^\s*import\s\+"\(unknwn\|objidl\)\.idl"' | |
setf msidl | |
return | |
endif | |
let n = n + 1 | |
endwhile | |
setf idl | |
endfunc | |
" Microsoft IDL (Interface Description Language) Also *.idl | |
" MOF = WMI (Windows Management Instrumentation) Managed Object Format | |
1 0.000126 au BufNewFile,BufRead *.odl,*.mof setf msidl | |
" Icewm menu | |
1 0.000064 au BufNewFile,BufRead */.icewm/menu setf icemenu | |
" Indent profile (must come before IDL *.pro!) | |
1 0.000065 au BufNewFile,BufRead .indent.pro setf indent | |
1 0.000070 au BufNewFile,BufRead indent.pro call s:ProtoCheck('indent') | |
" IDL (Interactive Data Language) | |
1 0.000070 au BufNewFile,BufRead *.pro call s:ProtoCheck('idlang') | |
" Distinguish between "default" and Cproto prototype file. */ | |
1 0.000008 func! s:ProtoCheck(default) | |
" Cproto files have a comment in the first line and a function prototype in | |
" the second line, it always ends in ";". Indent files may also have | |
" comments, thus we can't match comments to see the difference. | |
" IDL files can have a single ';' in the second line, require at least one | |
" chacter before the ';'. | |
if getline(2) =~ '.;$' | |
setf cpp | |
else | |
exe 'setf ' . a:default | |
endif | |
endfunc | |
" Indent RC | |
1 0.000063 au BufNewFile,BufRead indentrc setf indent | |
" Inform | |
1 0.000125 au BufNewFile,BufRead *.inf,*.INF setf inform | |
" Initng | |
1 0.000136 au BufNewFile,BufRead */etc/initng/*/*.i,*.ii setf initng | |
" Innovation Data Processing | |
1 0.000177 au BufRead,BufNewFile upstream.dat\c,upstream.*.dat\c,*.upstream.dat\c setf upstreamdat | |
1 0.000194 au BufRead,BufNewFile upstream.log\c,upstream.*.log\c,*.upstream.log\c setf upstreamlog | |
1 0.000202 au BufRead,BufNewFile upstreaminstall.log\c,upstreaminstall.*.log\c,*.upstreaminstall.log\c setf upstreaminstalllog | |
1 0.000179 au BufRead,BufNewFile usserver.log\c,usserver.*.log\c,*.usserver.log\c setf usserverlog | |
1 0.000183 au BufRead,BufNewFile usw2kagt.log\c,usw2kagt.*.log\c,*.usw2kagt.log\c setf usw2kagtlog | |
" Ipfilter | |
1 0.000176 au BufNewFile,BufRead ipf.conf,ipf6.conf,ipf.rules setf ipfilter | |
" Informix 4GL (source - canonical, include file, I4GL+M4 preproc.) | |
1 0.000188 au BufNewFile,BufRead *.4gl,*.4gh,*.m4gl setf fgl | |
" .INI file for MSDOS | |
1 0.000068 au BufNewFile,BufRead *.ini setf dosini | |
" SysV Inittab | |
1 0.000063 au BufNewFile,BufRead inittab setf inittab | |
" Inno Setup | |
1 0.000067 au BufNewFile,BufRead *.iss setf iss | |
" JAL | |
1 0.000127 au BufNewFile,BufRead *.jal,*.JAL setf jal | |
" Jam | |
1 0.000125 au BufNewFile,BufRead *.jpl,*.jpr setf jam | |
" Java | |
1 0.000121 au BufNewFile,BufRead *.java,*.jav setf java | |
" JavaCC | |
1 0.000122 au BufNewFile,BufRead *.jj,*.jjt setf javacc | |
" JavaScript, ECMAScript | |
1 0.000304 au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx,*.json setf javascript | |
" Java Server Pages | |
1 0.000086 au BufNewFile,BufRead *.jsp setf jsp | |
" Java Properties resource file (note: doesn't catch font.properties.pl) | |
1 0.000190 au BufNewFile,BufRead *.properties,*.properties_??,*.properties_??_?? setf jproperties | |
1 0.000072 au BufNewFile,BufRead *.properties_??_??_* call s:StarSetf('jproperties') | |
" Jess | |
1 0.000071 au BufNewFile,BufRead *.clp setf jess | |
" Jgraph | |
1 0.000068 au BufNewFile,BufRead *.jgr setf jgraph | |
" Jovial | |
1 0.000191 au BufNewFile,BufRead *.jov,*.j73,*.jovial setf jovial | |
" Kixtart | |
1 0.000084 au BufNewFile,BufRead *.kix setf kix | |
" Kimwitu[++] | |
1 0.000062 au BufNewFile,BufRead *.k setf kwt | |
" KDE script | |
1 0.000072 au BufNewFile,BufRead *.ks setf kscript | |
" Kconfig | |
1 0.000128 au BufNewFile,BufRead Kconfig,Kconfig.debug setf kconfig | |
" Lace (ISE) | |
1 0.000129 au BufNewFile,BufRead *.ace,*.ACE setf lace | |
" Latte | |
1 0.000129 au BufNewFile,BufRead *.latte,*.lte setf latte | |
" Limits | |
1 0.000186 au BufNewFile,BufRead */etc/limits,*/etc/*limits.conf,*/etc/*limits.d/*.conf setf limits | |
" LambdaProlog (*.mod too, see Modsim) | |
1 0.000070 au BufNewFile,BufRead *.sig setf lprolog | |
" LDAP LDIF | |
1 0.000063 au BufNewFile,BufRead *.ldif setf ldif | |
" Ld loader | |
1 0.000063 au BufNewFile,BufRead *.ld setf ld | |
" Lex | |
1 0.000124 au BufNewFile,BufRead *.lex,*.l setf lex | |
" Libao | |
1 0.000127 au BufNewFile,BufRead */etc/libao.conf,*/.libao setf libao | |
" Libsensors | |
1 0.000141 au BufNewFile,BufRead */etc/sensors.conf,*/etc/sensors3.conf setf sensors | |
" LFTP | |
1 0.000188 au BufNewFile,BufRead lftp.conf,.lftprc,*lftp/rc setf lftp | |
" Lifelines (or Lex for C++!) | |
1 0.000066 au BufNewFile,BufRead *.ll setf lifelines | |
" Lilo: Linux loader | |
1 0.000070 au BufNewFile,BufRead lilo.conf setf lilo | |
" Lisp (*.el = ELisp, *.cl = Common Lisp, *.jl = librep Lisp) | |
1 0.000011 if has("fname_case") | |
1 0.000460 au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.jl,*.L,.emacs,.sawfishrc setf lisp | |
1 0.000004 else | |
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.jl,.emacs,.sawfishrc setf lisp | |
endif | |
" SBCL implementation of Common Lisp | |
1 0.000129 au BufNewFile,BufRead sbclrc,.sbclrc setf lisp | |
" Liquid | |
1 0.000073 au BufNewFile,BufRead *.liquid setf liquid | |
" Lite | |
1 0.000134 au BufNewFile,BufRead *.lite,*.lt setf lite | |
" LiteStep RC files | |
1 0.000076 au BufNewFile,BufRead */LiteStep/*/*.rc setf litestep | |
" Login access | |
1 0.000078 au BufNewFile,BufRead */etc/login.access setf loginaccess | |
" Login defs | |
1 0.000068 au BufNewFile,BufRead */etc/login.defs setf logindefs | |
" Logtalk | |
1 0.000071 au BufNewFile,BufRead *.lgt setf logtalk | |
" LOTOS | |
1 0.000125 au BufNewFile,BufRead *.lot,*.lotos setf lotos | |
" Lout (also: *.lt) | |
1 0.000129 au BufNewFile,BufRead *.lou,*.lout setf lout | |
" Lua | |
1 0.000080 au BufNewFile,BufRead *.lua setf lua | |
" Linden Scripting Language (Second Life) | |
1 0.000070 au BufNewFile,BufRead *.lsl setf lsl | |
" Lynx style file (or LotusScript!) | |
1 0.000071 au BufNewFile,BufRead *.lss setf lss | |
" M4 | |
1 0.000068 au BufNewFile,BufRead *.m4 | |
\ if expand("<afile>") !~? 'html.m4$\|fvwm2rc' | setf m4 | endif | |
" MaGic Point | |
1 0.000072 au BufNewFile,BufRead *.mgp setf mgp | |
" Mail (for Elm, trn, mutt, muttng, rn, slrn) | |
1 0.000736 au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\\\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail | |
" Mail aliases | |
1 0.000126 au BufNewFile,BufRead */etc/mail/aliases,*/etc/aliases setf mailaliases | |
" Mailcap configuration file | |
1 0.000133 au BufNewFile,BufRead .mailcap,mailcap setf mailcap | |
" Makefile | |
1 0.000247 au BufNewFile,BufRead *[mM]akefile,*.mk,*.mak,*.dsp setf make | |
" MakeIndex | |
1 0.000135 au BufNewFile,BufRead *.ist,*.mst setf ist | |
" Mallard | |
1 0.000066 au BufNewFile,BufRead *.page setf mallard | |
" Manpage | |
1 0.000078 au BufNewFile,BufRead *.man setf man | |
" Man config | |
1 0.000126 au BufNewFile,BufRead */etc/man.conf,man.config setf manconf | |
" Maple V | |
1 0.000190 au BufNewFile,BufRead *.mv,*.mpl,*.mws setf maple | |
" Map (UMN mapserver config file) | |
1 0.000088 au BufNewFile,BufRead *.map setf map | |
" Markdown | |
1 0.000365 au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,README.md setf markdown | |
" Mason | |
1 0.000129 au BufNewFile,BufRead *.mason,*.mhtml setf mason | |
" Matlab or Objective C | |
1 0.000064 au BufNewFile,BufRead *.m call s:FTm() | |
1 0.000007 func! s:FTm() | |
let n = 1 | |
while n < 10 | |
let line = getline(n) | |
if line =~ '^\s*\(#\s*\(include\|import\)\>\|/\*\|//\)' | |
setf objc | |
return | |
endif | |
if line =~ '^\s*%' | |
setf matlab | |
return | |
endif | |
if line =~ '^\s*(\*' | |
setf mma | |
return | |
endif | |
let n = n + 1 | |
endwhile | |
if exists("g:filetype_m") | |
exe "setf " . g:filetype_m | |
else | |
setf matlab | |
endif | |
endfunc | |
" Mathematica notebook | |
1 0.000077 au BufNewFile,BufRead *.nb setf mma | |
" Maya Extension Language | |
1 0.000081 au BufNewFile,BufRead *.mel setf mel | |
" Mercurial (hg) commit file | |
1 0.000071 au BufNewFile,BufRead hg-editor-*.txt setf hgcommit | |
" Mercurial config (looks like generic config file) | |
1 0.000132 au BufNewFile,BufRead *.hgrc,*hgrc setf cfg | |
" Messages (logs mostly) | |
1 0.000146 au BufNewFile,BufRead */log/{auth,cron,daemon,debug,kern,lpr,mail,messages,news/news,syslog,user}{,.log,.err,.info,.warn,.crit,.notice}{,.[0-9]*,-[0-9]*} setf messages | |
" Metafont | |
1 0.000071 au BufNewFile,BufRead *.mf setf mf | |
" MetaPost | |
1 0.000067 au BufNewFile,BufRead *.mp setf mp | |
" MGL | |
1 0.000076 au BufNewFile,BufRead *.mgl setf mgl | |
" MMIX or VMS makefile | |
1 0.000074 au BufNewFile,BufRead *.mms call s:FTmms() | |
" Symbian meta-makefile definition (MMP) | |
1 0.000073 au BufNewFile,BufRead *.mmp setf mmp | |
1 0.000006 func! s:FTmms() | |
let n = 1 | |
while n < 10 | |
let line = getline(n) | |
if line =~ '^\s*\(%\|//\)' || line =~ '^\*' | |
setf mmix | |
return | |
endif | |
if line =~ '^\s*#' | |
setf make | |
return | |
endif | |
let n = n + 1 | |
endwhile | |
setf mmix | |
endfunc | |
" Modsim III (or LambdaProlog) | |
1 0.000083 au BufNewFile,BufRead *.mod | |
\ if getline(1) =~ '\<module\>' | | |
\ setf lprolog | | |
\ else | | |
\ setf modsim3 | | |
\ endif | |
" Modula 2 | |
1 0.000315 au BufNewFile,BufRead *.m2,*.DEF,*.MOD,*.md,*.mi setf modula2 | |
" Modula 3 (.m3, .i3, .mg, .ig) | |
1 0.000069 au BufNewFile,BufRead *.[mi][3g] setf modula3 | |
" Monk | |
1 0.000256 au BufNewFile,BufRead *.isc,*.monk,*.ssc,*.tsc setf monk | |
" MOO | |
1 0.000074 au BufNewFile,BufRead *.moo setf moo | |
" Modconf | |
1 0.000190 au BufNewFile,BufRead */etc/modules.conf,*/etc/modules,*/etc/conf.modules setf modconf | |
" Mplayer config | |
1 0.000128 au BufNewFile,BufRead mplayer.conf,*/.mplayer/config setf mplayerconf | |
" Moterola S record | |
1 0.000203 au BufNewFile,BufRead *.s19,*.s28,*.s37 setf srec | |
" Mrxvtrc | |
1 0.000125 au BufNewFile,BufRead mrxvtrc,.mrxvtrc setf mrxvtrc | |
" Msql | |
1 0.000077 au BufNewFile,BufRead *.msql setf msql | |
" Mysql | |
1 0.000067 au BufNewFile,BufRead *.mysql setf mysql | |
" Mutt setup files (must be before catch *.rc) | |
1 0.000071 au BufNewFile,BufRead */etc/Muttrc.d/* call s:StarSetf('muttrc') | |
" M$ Resource files | |
1 0.000143 au BufNewFile,BufRead *.rc,*.rch setf rc | |
" MuPAD source | |
1 0.000067 au BufRead,BufNewFile *.mu setf mupad | |
" Mush | |
1 0.000067 au BufNewFile,BufRead *.mush setf mush | |
" Mutt setup file (also for Muttng) | |
1 0.000069 au BufNewFile,BufRead Mutt{ng,}rc setf muttrc | |
" Nano | |
1 0.000130 au BufNewFile,BufRead */etc/nanorc,.nanorc setf nanorc | |
" Nastran input/DMAP | |
"au BufNewFile,BufRead *.dat setf nastran | |
" Natural | |
1 0.000077 au BufNewFile,BufRead *.NS[ACGLMNPS] setf natural | |
" Netrc | |
1 0.000078 au BufNewFile,BufRead .netrc setf netrc | |
" Ninja file | |
1 0.000067 au BufNewFile,BufRead *.ninja setf ninja | |
" Novell netware batch files | |
1 0.000074 au BufNewFile,BufRead *.ncf setf ncf | |
" Nroff/Troff (*.ms and *.t are checked below) | |
1 0.000075 au BufNewFile,BufRead *.me | |
\ if expand("<afile>") != "read.me" && expand("<afile>") != "click.me" | | |
\ setf nroff | | |
\ endif | |
1 0.000320 au BufNewFile,BufRead *.tr,*.nr,*.roff,*.tmac,*.mom setf nroff | |
1 0.000074 au BufNewFile,BufRead *.[1-9] call s:FTnroff() | |
" This function checks if one of the first five lines start with a dot. In | |
" that case it is probably an nroff file: 'filetype' is set and 1 is returned. | |
1 0.000007 func! s:FTnroff() | |
if getline(1)[0] . getline(2)[0] . getline(3)[0] . getline(4)[0] . getline(5)[0] =~ '\.' | |
setf nroff | |
return 1 | |
endif | |
return 0 | |
endfunc | |
" Nroff or Objective C++ | |
1 0.000105 au BufNewFile,BufRead *.mm call s:FTmm() | |
1 0.000012 func! s:FTmm() | |
let n = 1 | |
while n < 10 | |
let line = getline(n) | |
if line =~ '^\s*\(#\s*\(include\|import\)\>\|/\*\)' | |
setf objcpp | |
return | |
endif | |
let n = n + 1 | |
endwhile | |
setf nroff | |
endfunc | |
" Not Quite C | |
1 0.000077 au BufNewFile,BufRead *.nqc setf nqc | |
" NSIS | |
1 0.000157 au BufNewFile,BufRead *.nsi,*.nsh setf nsis | |
" OCAML | |
1 0.000327 au BufNewFile,BufRead *.ml,*.mli,*.mll,*.mly,.ocamlinit setf ocaml | |
" Occam | |
1 0.000074 au BufNewFile,BufRead *.occ setf occam | |
" Omnimark | |
1 0.000139 au BufNewFile,BufRead *.xom,*.xin setf omnimark | |
" OpenROAD | |
1 0.000078 au BufNewFile,BufRead *.or setf openroad | |
" OPL | |
1 0.000077 au BufNewFile,BufRead *.[Oo][Pp][Ll] setf opl | |
" Oracle config file | |
1 0.000075 au BufNewFile,BufRead *.ora setf ora | |
" Packet filter conf | |
1 0.000071 au BufNewFile,BufRead pf.conf setf pf | |
" Pam conf | |
1 0.000070 au BufNewFile,BufRead */etc/pam.conf setf pamconf | |
" PApp | |
1 0.000184 au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp | |
" Password file | |
1 0.000514 au BufNewFile,BufRead */etc/passwd,*/etc/passwd-,*/etc/passwd.edit,*/etc/shadow,*/etc/shadow-,*/etc/shadow.edit,*/var/backups/passwd.bak,*/var/backups/shadow.bak setf passwd | |
" Pascal (also *.p) | |
1 0.000076 au BufNewFile,BufRead *.pas setf pascal | |
" Delphi project file | |
1 0.000078 au BufNewFile,BufRead *.dpr setf pascal | |
1 0.000089 au BufNewFile,BufRead *.pdf setf pdf | |
" Perl | |
1 0.000011 if has("fname_case") | |
1 0.000141 au BufNewFile,BufRead *.pl,*.PL call s:FTpl() | |
1 0.000004 else | |
au BufNewFile,BufRead *.pl call s:FTpl() | |
endif | |
1 0.000151 au BufNewFile,BufRead *.plx,*.al setf perl | |
1 0.000136 au BufNewFile,BufRead *.p6,*.pm6 setf perl6 | |
1 0.000007 func! s:FTpl() | |
if exists("g:filetype_pl") | |
exe "setf " . g:filetype_pl | |
else | |
" recognize Prolog by specific text in the first non-empty line | |
" require a blank after the '%' because Perl uses "%list" and "%translate" | |
let l = getline(nextnonblank(1)) | |
if l =~ '\<prolog\>' || l =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || l =~ ':-' | |
setf prolog | |
else | |
setf perl | |
endif | |
endif | |
endfunc | |
" Perl, XPM or XPM2 | |
1 0.000082 au BufNewFile,BufRead *.pm | |
\ if getline(1) =~ "XPM2" | | |
\ setf xpm2 | | |
\ elseif getline(1) =~ "XPM" | | |
\ setf xpm | | |
\ else | | |
\ setf perl | | |
\ endif | |
" Perl POD | |
1 0.000076 au BufNewFile,BufRead *.pod setf pod | |
" Php, php3, php4, etc. | |
" Also Phtml (was used for PHP 2 in the past) | |
" Also .ctp for Cake template file | |
1 0.000274 au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp setf php | |
" Pike | |
1 0.000254 au BufNewFile,BufRead *.pike,*.lpc,*.ulpc,*.pmod setf pike | |
" Pinfo config | |
1 0.000130 au BufNewFile,BufRead */etc/pinforc,*/.pinforc setf pinfo | |
" Palm Resource compiler | |
1 0.000076 au BufNewFile,BufRead *.rcp setf pilrc | |
" Pine config | |
1 0.000259 au BufNewFile,BufRead .pinerc,pinerc,.pinercex,pinercex setf pine | |
" PL/1, PL/I | |
1 0.000145 au BufNewFile,BufRead *.pli,*.pl1 setf pli | |
" PL/M (also: *.inp) | |
1 0.000231 au BufNewFile,BufRead *.plm,*.p36,*.pac setf plm | |
" PL/SQL | |
1 0.000137 au BufNewFile,BufRead *.pls,*.plsql setf plsql | |
" PLP | |
1 0.000078 au BufNewFile,BufRead *.plp setf plp | |
" PO and PO template (GNU gettext) | |
1 0.000148 au BufNewFile,BufRead *.po,*.pot setf po | |
" Postfix main config | |
1 0.000077 au BufNewFile,BufRead main.cf setf pfmain | |
" PostScript (+ font files, encapsulated PostScript, Adobe Illustrator) | |
1 0.000456 au BufNewFile,BufRead *.ps,*.pfa,*.afm,*.eps,*.epsf,*.epsi,*.ai setf postscr | |
" PostScript Printer Description | |
1 0.000088 au BufNewFile,BufRead *.ppd setf ppd | |
" Povray | |
1 0.000078 au BufNewFile,BufRead *.pov setf pov | |
" Povray configuration | |
1 0.000070 au BufNewFile,BufRead .povrayrc setf povini | |
" Povray, PHP or assembly | |
1 0.000078 au BufNewFile,BufRead *.inc call s:FTinc() | |
1 0.000007 func! s:FTinc() | |
if exists("g:filetype_inc") | |
exe "setf " . g:filetype_inc | |
else | |
let lines = getline(1).getline(2).getline(3) | |
if lines =~? "perlscript" | |
setf aspperl | |
elseif lines =~ "<%" | |
setf aspvbs | |
elseif lines =~ "<?" | |
setf php | |
else | |
call s:FTasmsyntax() | |
if exists("b:asmsyntax") | |
exe "setf " . fnameescape(b:asmsyntax) | |
else | |
setf pov | |
endif | |
endif | |
endif | |
endfunc | |
" Printcap and Termcap | |
1 0.000075 au BufNewFile,BufRead *printcap | |
\ let b:ptcap_type = "print" | setf ptcap | |
1 0.000079 au BufNewFile,BufRead *termcap | |
\ let b:ptcap_type = "term" | setf ptcap | |
" PCCTS / ANTRL | |
"au BufNewFile,BufRead *.g setf antrl | |
1 0.000068 au BufNewFile,BufRead *.g setf pccts | |
" PPWizard | |
1 0.000130 au BufNewFile,BufRead *.it,*.ih setf ppwiz | |
" Obj 3D file format | |
" TODO: is there a way to avoid MS-Windows Object files? | |
1 0.000096 au BufNewFile,BufRead *.obj setf obj | |
" Oracle Pro*C/C++ | |
1 0.000073 au BufNewFile,BufRead *.pc setf proc | |
" Privoxy actions file | |
1 0.000069 au BufNewFile,BufRead *.action setf privoxy | |
" Procmail | |
1 0.000131 au BufNewFile,BufRead .procmail,.procmailrc setf procmail | |
" Progress or CWEB | |
1 0.000069 au BufNewFile,BufRead *.w call s:FTprogress_cweb() | |
1 0.000007 func! s:FTprogress_cweb() | |
if exists("g:filetype_w") | |
exe "setf " . g:filetype_w | |
return | |
endif | |
if getline(1) =~ '&ANALYZE' || getline(3) =~ '&GLOBAL-DEFINE' | |
setf progress | |
else | |
setf cweb | |
endif | |
endfunc | |
" Progress or assembly | |
1 0.000069 au BufNewFile,BufRead *.i call s:FTprogress_asm() | |
1 0.000007 func! s:FTprogress_asm() | |
if exists("g:filetype_i") | |
exe "setf " . g:filetype_i | |
return | |
endif | |
" This function checks for an assembly comment the first ten lines. | |
" If not found, assume Progress. | |
let lnum = 1 | |
while lnum <= 10 && lnum < line('$') | |
let line = getline(lnum) | |
if line =~ '^\s*;' || line =~ '^\*' | |
call s:FTasm() | |
return | |
elseif line !~ '^\s*$' || line =~ '^/\*' | |
" Not an empty line: Doesn't look like valid assembly code. | |
" Or it looks like a Progress /* comment | |
break | |
endif | |
let lnum = lnum + 1 | |
endw | |
setf progress | |
endfunc | |
" Progress or Pascal | |
1 0.000070 au BufNewFile,BufRead *.p call s:FTprogress_pascal() | |
1 0.000006 func! s:FTprogress_pascal() | |
if exists("g:filetype_p") | |
exe "setf " . g:filetype_p | |
return | |
endif | |
" This function checks for valid Pascal syntax in the first ten lines. | |
" Look for either an opening comment or a program start. | |
" If not found, assume Progress. | |
let lnum = 1 | |
while lnum <= 10 && lnum < line('$') | |
let line = getline(lnum) | |
if line =~ '^\s*\(program\|unit\|procedure\|function\|const\|type\|var\)\>' | |
\ || line =~ '^\s*{' || line =~ '^\s*(\*' | |
setf pascal | |
return | |
elseif line !~ '^\s*$' || line =~ '^/\*' | |
" Not an empty line: Doesn't look like valid Pascal code. | |
" Or it looks like a Progress /* comment | |
break | |
endif | |
let lnum = lnum + 1 | |
endw | |
setf progress | |
endfunc | |
" Software Distributor Product Specification File (POSIX 1387.2-1995) | |
1 0.000081 au BufNewFile,BufRead *.psf setf psf | |
1 0.000153 au BufNewFile,BufRead INDEX,INFO | |
\ if getline(1) =~ '^\s*\(distribution\|installed_software\|root\|bundle\|product\)\s*$' | | |
\ setf psf | | |
\ endif | |
" Prolog | |
1 0.000082 au BufNewFile,BufRead *.pdb setf prolog | |
" Promela | |
1 0.000079 au BufNewFile,BufRead *.pml setf promela | |
" Google protocol buffers | |
1 0.000070 au BufNewFile,BufRead *.proto setf proto | |
" Protocols | |
1 0.000072 au BufNewFile,BufRead */etc/protocols setf protocols | |
" Pyrex | |
1 0.000149 au BufNewFile,BufRead *.pyx,*.pxd setf pyrex | |
" Python | |
1 0.000141 au BufNewFile,BufRead *.py,*.pyw setf python | |
" Quixote (Python-based web framework) | |
1 0.000081 au BufNewFile,BufRead *.ptl setf python | |
" Radiance | |
1 0.000148 au BufNewFile,BufRead *.rad,*.mat setf radiance | |
" Ratpoison config/command files | |
1 0.000142 au BufNewFile,BufRead .ratpoisonrc,ratpoisonrc setf ratpoison | |
" RCS file | |
1 0.000085 au BufNewFile,BufRead *\,v setf rcs | |
" Readline | |
1 0.000141 au BufNewFile,BufRead .inputrc,inputrc setf readline | |
" Registry for MS-Windows | |
1 0.000084 au BufNewFile,BufRead *.reg | |
\ if getline(1) =~? '^REGEDIT[0-9]*\s*$\|^Windows Registry Editor Version \d*\.\d*\s*$' | setf registry | endif | |
" Renderman Interface Bytestream | |
1 0.000081 au BufNewFile,BufRead *.rib setf rib | |
" Rexx | |
1 0.000608 au BufNewFile,BufRead *.rex,*.orx,*.rxo,*.rxj,*.jrexx,*.rexxj,*.rexx,*.testGroup,*.testUnit setf rexx | |
" R (Splus) | |
1 0.000011 if has("fname_case") | |
1 0.000130 au BufNewFile,BufRead *.s,*.S setf r | |
1 0.000003 else | |
au BufNewFile,BufRead *.s setf r | |
endif | |
" R Help file | |
1 0.000009 if has("fname_case") | |
1 0.000136 au BufNewFile,BufRead *.rd,*.Rd setf rhelp | |
1 0.000003 else | |
au BufNewFile,BufRead *.rd setf rhelp | |
endif | |
" R noweb file | |
1 0.000008 if has("fname_case") | |
1 0.000289 au BufNewFile,BufRead *.Rnw,*.rnw,*.Snw,*.snw setf rnoweb | |
1 0.000003 else | |
au BufNewFile,BufRead *.rnw,*.snw setf rnoweb | |
endif | |
" Rexx, Rebol or R | |
1 0.000136 au BufNewFile,BufRead *.r,*.R call s:FTr() | |
1 0.000006 func! s:FTr() | |
let max = line("$") > 50 ? 50 : line("$") | |
for n in range(1, max) | |
" Rebol is easy to recognize, check for that first | |
if getline(n) =~? '\<REBOL\>' | |
setf rebol | |
return | |
endif | |
endfor | |
for n in range(1, max) | |
" R has # comments | |
if getline(n) =~ '^\s*#' | |
setf r | |
return | |
endif | |
" Rexx has /* comments */ | |
if getline(n) =~ '^\s*/\*' | |
setf rexx | |
return | |
endif | |
endfor | |
" Nothing recognized, use user default or assume Rexx | |
if exists("g:filetype_r") | |
exe "setf " . g:filetype_r | |
else | |
" Rexx used to be the default, but R appears to be much more popular. | |
setf r | |
endif | |
endfunc | |
" Remind | |
1 0.000222 au BufNewFile,BufRead .reminders,*.remind,*.rem setf remind | |
" Resolv.conf | |
1 0.000072 au BufNewFile,BufRead resolv.conf setf resolv | |
" Relax NG Compact | |
1 0.000081 au BufNewFile,BufRead *.rnc setf rnc | |
" Relax NG XML | |
1 0.000081 au BufNewFile,BufRead *.rng setf rng | |
" RPL/2 | |
1 0.000080 au BufNewFile,BufRead *.rpl setf rpl | |
" Robots.txt | |
1 0.000072 au BufNewFile,BufRead robots.txt setf robots | |
" Rpcgen | |
1 0.000069 au BufNewFile,BufRead *.x setf rpcgen | |
" reStructuredText Documentation Format | |
1 0.000080 au BufNewFile,BufRead *.rst setf rst | |
" RTF | |
1 0.000080 au BufNewFile,BufRead *.rtf setf rtf | |
" Interactive Ruby shell | |
1 0.000140 au BufNewFile,BufRead .irbrc,irbrc setf ruby | |
" Ruby | |
1 0.000146 au BufNewFile,BufRead *.rb,*.rbw setf ruby | |
" RubyGems | |
1 0.000080 au BufNewFile,BufRead *.gemspec setf ruby | |
" Rackup | |
1 0.000082 au BufNewFile,BufRead *.ru setf ruby | |
" Bundler | |
1 0.000072 au BufNewFile,BufRead Gemfile setf ruby | |
" Ruby on Rails | |
1 0.000214 au BufNewFile,BufRead *.builder,*.rxml,*.rjs setf ruby | |
" Rantfile and Rakefile is like Ruby | |
1 0.000266 au BufNewFile,BufRead [rR]antfile,*.rant,[rR]akefile,*.rake setf ruby | |
" S-lang (or shader language, or SmallLisp) | |
1 0.000074 au BufNewFile,BufRead *.sl setf slang | |
" Samba config | |
1 0.000071 au BufNewFile,BufRead smb.conf setf samba | |
" SAS script | |
1 0.000095 au BufNewFile,BufRead *.sas setf sas | |
" Sass | |
1 0.000081 au BufNewFile,BufRead *.sass setf sass | |
" Sather | |
1 0.000081 au BufNewFile,BufRead *.sa setf sather | |
" Scilab | |
1 0.000161 au BufNewFile,BufRead *.sci,*.sce setf scilab | |
" SCSS | |
1 0.000072 au BufNewFile,BufRead *.scss setf scss | |
" SD: Streaming Descriptors | |
1 0.000073 au BufNewFile,BufRead *.sd setf sd | |
" SDL | |
1 0.000145 au BufNewFile,BufRead *.sdl,*.pr setf sdl | |
" sed | |
1 0.000081 au BufNewFile,BufRead *.sed setf sed | |
" Sieve (RFC 3028) | |
1 0.000083 au BufNewFile,BufRead *.siv setf sieve | |
" Sendmail | |
1 0.000073 au BufNewFile,BufRead sendmail.cf setf sm | |
" Sendmail .mc files are actually m4. Could also be MS Message text file. | |
1 0.000076 au BufNewFile,BufRead *.mc call s:McSetf() | |
1 0.000007 func! s:McSetf() | |
" Rely on the file to start with a comment. | |
" MS message text files use ';', Sendmail files use '#' or 'dnl' | |
for lnum in range(1, min([line("$"), 20])) | |
let line = getline(lnum) | |
if line =~ '^\s*\(#\|dnl\)' | |
setf m4 " Sendmail .mc file | |
return | |
elseif line =~ '^\s*;' | |
setf msmessages " MS Message text file | |
return | |
endif | |
endfor | |
setf m4 " Default: Sendmail .mc file | |
endfunc | |
" Services | |
1 0.000075 au BufNewFile,BufRead */etc/services setf services | |
" Service Location config | |
1 0.000073 au BufNewFile,BufRead */etc/slp.conf setf slpconf | |
" Service Location registration | |
1 0.000079 au BufNewFile,BufRead */etc/slp.reg setf slpreg | |
" Service Location SPI | |
1 0.000072 au BufNewFile,BufRead */etc/slp.spi setf slpspi | |
" Setserial config | |
1 0.000074 au BufNewFile,BufRead */etc/serial.conf setf setserial | |
" SGML | |
1 0.000164 au BufNewFile,BufRead *.sgm,*.sgml | |
\ if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'linuxdoc' | | |
\ setf sgmllnx | | |
\ elseif getline(1) =~ '<!DOCTYPE.*DocBook' || getline(2) =~ '<!DOCTYPE.*DocBook' | | |
\ let b:docbk_type = "sgml" | | |
\ let b:docbk_ver = 4 | | |
\ setf docbk | | |
\ else | | |
\ setf sgml | | |
\ endif | |
" SGMLDECL | |
1 0.000236 au BufNewFile,BufRead *.decl,*.dcl,*.dec | |
\ if getline(1).getline(2).getline(3) =~? '^<!SGML' | | |
\ setf sgmldecl | | |
\ endif | |
" SGML catalog file | |
1 0.000073 au BufNewFile,BufRead catalog setf catalog | |
1 0.000097 au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog') | |
" Shell scripts (sh, ksh, bash, bash2, csh); Allow .profile_foo etc. | |
" Gentoo ebuilds are actually bash scripts | |
1 0.000470 au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash_profile*,.bash_logout*,*.bash,*.ebuild call SetFileTypeSH("bash") | |
1 0.000157 au BufNewFile,BufRead .kshrc*,*.ksh call SetFileTypeSH("ksh") | |
1 0.000278 au BufNewFile,BufRead */etc/profile,.profile*,*.sh,*.env call SetFileTypeSH(getline(1)) | |
" Also called from scripts.vim. | |
1 0.000007 func! SetFileTypeSH(name) | |
if expand("<amatch>") =~ g:ft_ignore_pat | |
return | |
endif | |
if a:name =~ '\<csh\>' | |
" Some .sh scripts contain #!/bin/csh. | |
call SetFileTypeShell("csh") | |
return | |
elseif a:name =~ '\<tcsh\>' | |
" Some .sh scripts contain #!/bin/tcsh. | |
call SetFileTypeShell("tcsh") | |
return | |
elseif a:name =~ '\<zsh\>' | |
" Some .sh scripts contain #!/bin/zsh. | |
call SetFileTypeShell("zsh") | |
return | |
elseif a:name =~ '\<ksh\>' | |
let b:is_kornshell = 1 | |
if exists("b:is_bash") | |
unlet b:is_bash | |
endif | |
if exists("b:is_sh") | |
unlet b:is_sh | |
endif | |
elseif exists("g:bash_is_sh") || a:name =~ '\<bash\>' || a:name =~ '\<bash2\>' | |
let b:is_bash = 1 | |
if exists("b:is_kornshell") | |
unlet b:is_kornshell | |
endif | |
if exists("b:is_sh") | |
unlet b:is_sh | |
endif | |
elseif a:name =~ '\<sh\>' | |
let b:is_sh = 1 | |
if exists("b:is_kornshell") | |
unlet b:is_kornshell | |
endif | |
if exists("b:is_bash") | |
unlet b:is_bash | |
endif | |
endif | |
call SetFileTypeShell("sh") | |
endfunc | |
" For shell-like file types, check for an "exec" command hidden in a comment, | |
" as used for Tcl. | |
" Also called from scripts.vim, thus can't be local to this script. | |
1 0.000006 func! SetFileTypeShell(name) | |
if expand("<amatch>") =~ g:ft_ignore_pat | |
return | |
endif | |
let l = 2 | |
while l < 20 && l < line("$") && getline(l) =~ '^\s*\(#\|$\)' | |
" Skip empty and comment lines. | |
let l = l + 1 | |
endwhile | |
if l < line("$") && getline(l) =~ '\s*exec\s' && getline(l - 1) =~ '^\s*#.*\\$' | |
" Found an "exec" line after a comment with continuation | |
let n = substitute(getline(l),'\s*exec\s\+\([^ ]*/\)\=', '', '') | |
if n =~ '\<tclsh\|\<wish' | |
setf tcl | |
return | |
endif | |
endif | |
exe "setf " . a:name | |
endfunc | |
" tcsh scripts | |
1 0.000266 au BufNewFile,BufRead .tcshrc*,*.tcsh,tcsh.tcshrc,tcsh.login call SetFileTypeShell("tcsh") | |
" csh scripts, but might also be tcsh scripts (on some systems csh is tcsh) | |
1 0.000476 au BufNewFile,BufRead .login*,.cshrc*,csh.cshrc,csh.login,csh.logout,*.csh,.alias call s:CSH() | |
1 0.000007 func! s:CSH() | |
if exists("g:filetype_csh") | |
call SetFileTypeShell(g:filetype_csh) | |
elseif &shell =~ "tcsh" | |
call SetFileTypeShell("tcsh") | |
else | |
call SetFileTypeShell("csh") | |
endif | |
endfunc | |
" Z-Shell script | |
1 0.000229 au BufNewFile,BufRead .zprofile,*/etc/zprofile,.zfbfmarks setf zsh | |
1 0.000228 au BufNewFile,BufRead .zsh*,.zlog*,.zcompdump* call s:StarSetf('zsh') | |
1 0.000084 au BufNewFile,BufRead *.zsh setf zsh | |
" Scheme | |
1 0.000222 au BufNewFile,BufRead *.scm,*.ss,*.rkt setf scheme | |
" Screen RC | |
1 0.000140 au BufNewFile,BufRead .screenrc,screenrc setf screen | |
" Simula | |
1 0.000093 au BufNewFile,BufRead *.sim setf simula | |
" SINDA | |
1 0.000158 au BufNewFile,BufRead *.sin,*.s85 setf sinda | |
" SiSU | |
1 0.000360 au BufNewFile,BufRead *.sst,*.ssm,*.ssi,*.-sst,*._sst setf sisu | |
1 0.000205 au BufNewFile,BufRead *.sst.meta,*.-sst.meta,*._sst.meta setf sisu | |
" SKILL | |
1 0.000291 au BufNewFile,BufRead *.il,*.ils,*.cdf setf skill | |
" SLRN | |
1 0.000076 au BufNewFile,BufRead .slrnrc setf slrnrc | |
1 0.000074 au BufNewFile,BufRead *.score setf slrnsc | |
" Smalltalk (and TeX) | |
1 0.000084 au BufNewFile,BufRead *.st setf st | |
1 0.000101 au BufNewFile,BufRead *.cls | |
\ if getline(1) =~ '^%' | | |
\ setf tex | | |
\ elseif getline(1)[0] == '#' && getline(1) =~ 'rexx' | | |
\ setf rexx | | |
\ else | | |
\ setf st | | |
\ endif | |
" Smarty templates | |
1 0.000091 au BufNewFile,BufRead *.tpl setf smarty | |
" SMIL or XML | |
1 0.000083 au BufNewFile,BufRead *.smil | |
\ if getline(1) =~ '<?\s*xml.*?>' | | |
\ setf xml | | |
\ else | | |
\ setf smil | | |
\ endif | |
" SMIL or SNMP MIB file | |
1 0.000092 au BufNewFile,BufRead *.smi | |
\ if getline(1) =~ '\<smil\>' | | |
\ setf smil | | |
\ else | | |
\ setf mib | | |
\ endif | |
" SMITH | |
1 0.000159 au BufNewFile,BufRead *.smt,*.smith setf smith | |
" Snobol4 and spitbol | |
1 0.000162 au BufNewFile,BufRead *.sno,*.spt setf snobol4 | |
" SNMP MIB files | |
1 0.000151 au BufNewFile,BufRead *.mib,*.my setf mib | |
" Snort Configuration | |
1 0.000226 au BufNewFile,BufRead *.hog,snort.conf,vision.conf setf hog | |
1 0.000085 au BufNewFile,BufRead *.rules call s:FTRules() | |
1 0.000014 let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*' | |
1 0.000012 func! s:FTRules() | |
let path = expand('<amatch>:p') | |
if path =~ '^/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|lib/udev/\%(rules\.d/\)\=.*\.rules\)$' | |
setf udevrules | |
return | |
endif | |
if path =~ '^/etc/ufw/' | |
setf conf " Better than hog | |
return | |
endif | |
try | |
let config_lines = readfile('/etc/udev/udev.conf') | |
catch /^Vim\%((\a\+)\)\=:E484/ | |
setf hog | |
return | |
endtry | |
let dir = expand('<amatch>:p:h') | |
for line in config_lines | |
if line =~ s:ft_rules_udev_rules_pattern | |
let udev_rules = substitute(line, s:ft_rules_udev_rules_pattern, '\1', "") | |
if dir == udev_rules | |
setf udevrules | |
endif | |
break | |
endif | |
endfor | |
setf hog | |
endfunc | |
" Spec (Linux RPM) | |
1 0.000077 au BufNewFile,BufRead *.spec setf spec | |
" Speedup (AspenTech plant simulator) | |
1 0.000228 au BufNewFile,BufRead *.speedup,*.spdata,*.spd setf spup | |
" Slice | |
1 0.000087 au BufNewFile,BufRead *.ice setf slice | |
" Spice | |
1 0.000155 au BufNewFile,BufRead *.sp,*.spice setf spice | |
" Spyce | |
1 0.000161 au BufNewFile,BufRead *.spy,*.spi setf spyce | |
" Squid | |
1 0.000074 au BufNewFile,BufRead squid.conf setf squid | |
" SQL for Oracle Designer | |
1 0.000388 au BufNewFile,BufRead *.tyb,*.typ,*.tyc,*.pkb,*.pks setf sql | |
" SQL | |
1 0.000086 au BufNewFile,BufRead *.sql call s:SQL() | |
1 0.000007 func! s:SQL() | |
if exists("g:filetype_sql") | |
exe "setf " . g:filetype_sql | |
else | |
setf sql | |
endif | |
endfunc | |
" SQLJ | |
1 0.000085 au BufNewFile,BufRead *.sqlj setf sqlj | |
" SQR | |
1 0.000163 au BufNewFile,BufRead *.sqr,*.sqi setf sqr | |
" OpenSSH configuration | |
1 0.000140 au BufNewFile,BufRead ssh_config,*/.ssh/config setf sshconfig | |
" OpenSSH server configuration | |
1 0.000074 au BufNewFile,BufRead sshd_config setf sshdconfig | |
" Stata | |
1 0.000361 au BufNewFile,BufRead *.ado,*.class,*.do,*.imata,*.mata setf stata | |
" SMCL | |
1 0.000218 au BufNewFile,BufRead *.hlp,*.ihlp,*.smcl setf smcl | |
" Stored Procedures | |
1 0.000087 au BufNewFile,BufRead *.stp setf stp | |
" Standard ML | |
1 0.000086 au BufNewFile,BufRead *.sml setf sml | |
" Sratus VOS command macro | |
1 0.000076 au BufNewFile,BufRead *.cm setf voscm | |
" Sysctl | |
1 0.000155 au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf setf sysctl | |
" Synopsys Design Constraints | |
1 0.000088 au BufNewFile,BufRead *.sdc setf sdc | |
" Sudoers | |
1 0.000148 au BufNewFile,BufRead */etc/sudoers,sudoers.tmp setf sudoers | |
" SVG (Scalable Vector Graphics) | |
1 0.000097 au BufNewFile,BufRead *.svg setf svg | |
" If the file has an extension of 't' and is in a directory 't' then it is | |
" almost certainly a Perl test file. | |
" If the first line starts with '#' and contains 'perl' it's probably a Perl | |
" file. | |
" (Slow test) If a file contains a 'use' statement then it is almost certainly | |
" a Perl file. | |
1 0.000007 func! s:FTperl() | |
if expand("%:e") == 't' && expand("%:p:h:t") == 't' | |
setf perl | |
return 1 | |
endif | |
if getline(1)[0] == '#' && getline(1) =~ 'perl' | |
setf perl | |
return 1 | |
endif | |
if search('^use\s\s*\k', 'nc', 30) | |
setf perl | |
return 1 | |
endif | |
return 0 | |
endfunc | |
" Tads (or Nroff or Perl test file) | |
1 0.000076 au BufNewFile,BufRead *.t | |
\ if !s:FTnroff() && !s:FTperl() | setf tads | endif | |
" Tags | |
1 0.000082 au BufNewFile,BufRead tags setf tags | |
" TAK | |
1 0.000087 au BufNewFile,BufRead *.tak setf tak | |
" Task | |
1 0.000084 au BufRead,BufNewFile {pending,completed,undo}.data setf taskdata | |
1 0.000077 au BufRead,BufNewFile *.task setf taskedit | |
" Tcl (JACL too) | |
1 0.000368 au BufNewFile,BufRead *.tcl,*.tk,*.itcl,*.itk,*.jacl setf tcl | |
" TealInfo | |
1 0.000102 au BufNewFile,BufRead *.tli setf tli | |
" Telix Salt | |
1 0.000100 au BufNewFile,BufRead *.slt setf tsalt | |
" Terminfo | |
1 0.000086 au BufNewFile,BufRead *.ti setf terminfo | |
" TeX | |
1 0.000386 au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex | |
1 0.000087 au BufNewFile,BufRead *.tex call s:FTtex() | |
" Choose context, plaintex, or tex (LaTeX) based on these rules: | |
" 1. Check the first line of the file for "%&<format>". | |
" 2. Check the first 1000 non-comment lines for LaTeX or ConTeXt keywords. | |
" 3. Default to "latex" or to g:tex_flavor, can be set in user's vimrc. | |
1 0.000007 func! s:FTtex() | |
let firstline = getline(1) | |
if firstline =~ '^%&\s*\a\+' | |
let format = tolower(matchstr(firstline, '\a\+')) | |
let format = substitute(format, 'pdf', '', '') | |
if format == 'tex' | |
let format = 'plain' | |
endif | |
else | |
" Default value, may be changed later: | |
let format = exists("g:tex_flavor") ? g:tex_flavor : 'plain' | |
" Save position, go to the top of the file, find first non-comment line. | |
let save_cursor = getpos('.') | |
call cursor(1,1) | |
let firstNC = search('^\s*[^[:space:]%]', 'c', 1000) | |
if firstNC " Check the next thousand lines for a LaTeX or ConTeXt keyword. | |
let lpat = 'documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>' | |
let cpat = 'start\a\+\|setup\a\+\|usemodule\|enablemode\|enableregime\|setvariables\|useencoding\|usesymbols\|stelle\a\+\|verwende\a\+\|stel\a\+\|gebruik\a\+\|usa\a\+\|imposta\a\+\|regle\a\+\|utilisemodule\>' | |
let kwline = search('^\s*\\\%(' . lpat . '\)\|^\s*\\\(' . cpat . '\)', | |
\ 'cnp', firstNC + 1000) | |
if kwline == 1 " lpat matched | |
let format = 'latex' | |
elseif kwline == 2 " cpat matched | |
let format = 'context' | |
endif " If neither matched, keep default set above. | |
" let lline = search('^\s*\\\%(' . lpat . '\)', 'cn', firstNC + 1000) | |
" let cline = search('^\s*\\\%(' . cpat . '\)', 'cn', firstNC + 1000) | |
" if cline > 0 | |
" let format = 'context' | |
" endif | |
" if lline > 0 && (cline == 0 || cline > lline) | |
" let format = 'tex' | |
" endif | |
endif " firstNC | |
call setpos('.', save_cursor) | |
endif " firstline =~ '^%&\s*\a\+' | |
" Translation from formats to file types. TODO: add AMSTeX, RevTex, others? | |
if format == 'plain' | |
setf plaintex | |
elseif format == 'context' | |
setf context | |
else " probably LaTeX | |
setf tex | |
endif | |
return | |
endfunc | |
" ConTeXt | |
1 0.000221 au BufNewFile,BufRead tex/context/*/*.tex,*.mkii,*.mkiv setf context | |
" Texinfo | |
1 0.000222 au BufNewFile,BufRead *.texinfo,*.texi,*.txi setf texinfo | |
" TeX configuration | |
1 0.000086 au BufNewFile,BufRead texmf.cnf setf texmf | |
" Tidy config | |
1 0.000142 au BufNewFile,BufRead .tidyrc,tidyrc setf tidy | |
" TF mud client | |
1 0.000220 au BufNewFile,BufRead *.tf,.tfrc,tfrc setf tf | |
" TPP - Text Presentation Program | |
1 0.000089 au BufNewFile,BufReadPost *.tpp setf tpp | |
" Treetop | |
1 0.000082 au BufRead,BufNewFile *.treetop setf treetop | |
" Trustees | |
1 0.000079 au BufNewFile,BufRead trustees.conf setf trustees | |
" TSS - Geometry | |
1 0.000085 au BufNewFile,BufReadPost *.tssgm setf tssgm | |
" TSS - Optics | |
1 0.000076 au BufNewFile,BufReadPost *.tssop setf tssop | |
" TSS - Command Line (temporary) | |
1 0.000076 au BufNewFile,BufReadPost *.tsscl setf tsscl | |
" TWIG files | |
1 0.000080 au BufNewFile,BufReadPost *.twig setf twig | |
" Motif UIT/UIL files | |
1 0.000164 au BufNewFile,BufRead *.uit,*.uil setf uil | |
" Udev conf | |
1 0.000079 au BufNewFile,BufRead */etc/udev/udev.conf setf udevconf | |
" Udev permissions | |
1 0.000096 au BufNewFile,BufRead */etc/udev/permissions.d/*.permissions setf udevperm | |
" | |
" Udev symlinks config | |
1 0.000081 au BufNewFile,BufRead */etc/udev/cdsymlinks.conf setf sh | |
" UnrealScript | |
1 0.000079 au BufNewFile,BufRead *.uc setf uc | |
" Updatedb | |
1 0.000094 au BufNewFile,BufRead */etc/updatedb.conf setf updatedb | |
" Upstart (init(8)) config files | |
1 0.000083 au BufNewFile,BufRead */usr/share/upstart/*.conf setf upstart | |
1 0.000089 au BufNewFile,BufRead */usr/share/upstart/*.override setf upstart | |
1 0.000166 au BufNewFile,BufRead */etc/init/*.conf,*/etc/init/*.override setf upstart | |
1 0.000148 au BufNewFile,BufRead */.init/*.conf,*/.init/*.override setf upstart | |
1 0.000085 au BufNewFile,BufRead */.config/upstart/*.conf setf upstart | |
1 0.000088 au BufNewFile,BufRead */.config/upstart/*.override setf upstart | |
" Vera | |
1 0.000243 au BufNewFile,BufRead *.vr,*.vri,*.vrh setf vera | |
" Verilog HDL | |
1 0.000077 au BufNewFile,BufRead *.v setf verilog | |
" Verilog-AMS HDL | |
1 0.000147 au BufNewFile,BufRead *.va,*.vams setf verilogams | |
" VHDL | |
1 0.000450 au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst setf vhdl | |
1 0.000088 au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl') | |
" Vim script | |
1 0.000325 au BufNewFile,BufRead *.vim,*.vba,.exrc,_exrc setf vim | |
" Viminfo file | |
1 0.000142 au BufNewFile,BufRead .viminfo,_viminfo setf viminfo | |
" Virata Config Script File or Drupal module | |
1 0.000241 au BufRead,BufNewFile *.hw,*.module,*.pkg | |
\ if getline(1) =~ '<?php' | | |
\ setf php | | |
\ else | | |
\ setf virata | | |
\ endif | |
" Visual Basic (also uses *.bas) or FORM | |
1 0.000090 au BufNewFile,BufRead *.frm call s:FTVB("form") | |
" SaxBasic is close to Visual Basic | |
1 0.000090 au BufNewFile,BufRead *.sba setf vb | |
" Vgrindefs file | |
1 0.000076 au BufNewFile,BufRead vgrindefs setf vgrindefs | |
" VRML V1.0c | |
1 0.000100 au BufNewFile,BufRead *.wrl setf vrml | |
" Webmacro | |
1 0.000079 au BufNewFile,BufRead *.wm setf webmacro | |
" Wget config | |
1 0.000146 au BufNewFile,BufRead .wgetrc,wgetrc setf wget | |
" Website MetaLanguage | |
1 0.000089 au BufNewFile,BufRead *.wml setf wml | |
" Winbatch | |
1 0.000089 au BufNewFile,BufRead *.wbt setf winbatch | |
" WSML | |
1 0.000078 au BufNewFile,BufRead *.wsml setf wsml | |
" WvDial | |
1 0.000145 au BufNewFile,BufRead wvdial.conf,.wvdialrc setf wvdial | |
" CVS RC file | |
1 0.000078 au BufNewFile,BufRead .cvsrc setf cvsrc | |
" CVS commit file | |
1 0.000088 au BufNewFile,BufRead cvs\d\+ setf cvs | |
" WEB (*.web is also used for Winbatch: Guess, based on expecting "%" comment | |
" lines in a WEB file). | |
1 0.000109 au BufNewFile,BufRead *.web | |
\ if getline(1)[0].getline(2)[0].getline(3)[0].getline(4)[0].getline(5)[0] =~ "%" | | |
\ setf web | | |
\ else | | |
\ setf winbatch | | |
\ endif | |
" Windows Scripting Host and Windows Script Component | |
1 0.000083 au BufNewFile,BufRead *.ws[fc] setf wsh | |
" XHTML | |
1 0.000158 au BufNewFile,BufRead *.xhtml,*.xht setf xhtml | |
" X Pixmap (dynamically sets colors, use BufEnter to make it work better) | |
1 0.000024 au BufEnter *.xpm | |
\ if getline(1) =~ "XPM2" | | |
\ setf xpm2 | | |
\ else | | |
\ setf xpm | | |
\ endif | |
1 0.000021 au BufEnter *.xpm2 setf xpm2 | |
" XFree86 config | |
1 0.000089 au BufNewFile,BufRead XF86Config | |
\ if getline(1) =~ '\<XConfigurator\>' | | |
\ let b:xf86conf_xfree86_version = 3 | | |
\ endif | | |
\ setf xf86conf | |
1 0.000085 au BufNewFile,BufRead */xorg.conf.d/*.conf | |
\ let b:xf86conf_xfree86_version = 4 | | |
\ setf xf86conf | |
" Xorg config | |
1 0.000145 au BufNewFile,BufRead xorg.conf,xorg.conf-4 let b:xf86conf_xfree86_version = 4 | setf xf86conf | |
" Xinetd conf | |
1 0.000080 au BufNewFile,BufRead */etc/xinetd.conf setf xinetd | |
" XS Perl extension interface language | |
1 0.000080 au BufNewFile,BufRead *.xs setf xs | |
" X resources file | |
1 0.000408 au BufNewFile,BufRead .Xdefaults,.Xpdefaults,.Xresources,xdm-config,*.ad setf xdefaults | |
" Xmath | |
1 0.000174 au BufNewFile,BufRead *.msc,*.msf setf xmath | |
1 0.000093 au BufNewFile,BufRead *.ms | |
\ if !s:FTnroff() | setf xmath | endif | |
" XML specific variants: docbk and xbl | |
1 0.000090 au BufNewFile,BufRead *.xml call s:FTxml() | |
1 0.000014 func! s:FTxml() | |
let n = 1 | |
while n < 100 && n < line("$") | |
let line = getline(n) | |
" DocBook 4 or DocBook 5. | |
let is_docbook4 = line =~ '<!DOCTYPE.*DocBook' | |
let is_docbook5 = line =~ ' xmlns="http://docbook.org/ns/docbook"' | |
if is_docbook4 || is_docbook5 | |
let b:docbk_type = "xml" | |
if is_docbook5 | |
let b:docbk_ver = 5 | |
else | |
let b:docbk_ver = 4 | |
endif | |
setf docbk | |
return | |
endif | |
if line =~ 'xmlns:xbl="http://www.mozilla.org/xbl"' | |
setf xbl | |
return | |
endif | |
let n += 1 | |
endwhile | |
setf xml | |
endfunc | |
" XMI (holding UML models) is also XML | |
1 0.000091 au BufNewFile,BufRead *.xmi setf xml | |
" CSPROJ files are Visual Studio.NET's XML-based project config files | |
1 0.000146 au BufNewFile,BufRead *.csproj,*.csproj.user setf xml | |
" Qt Linguist translation source and Qt User Interface Files are XML | |
1 0.000153 au BufNewFile,BufRead *.ts,*.ui setf xml | |
" TPM's are RDF-based descriptions of TeX packages (Nikolai Weibull) | |
1 0.000091 au BufNewFile,BufRead *.tpm setf xml | |
" Xdg menus | |
1 0.000088 au BufNewFile,BufRead */etc/xdg/menus/*.menu setf xml | |
" ATI graphics driver configuration | |
1 0.000078 au BufNewFile,BufRead fglrxrc setf xml | |
" XLIFF (XML Localisation Interchange File Format) is also XML | |
1 0.000090 au BufNewFile,BufRead *.xlf setf xml | |
1 0.000078 au BufNewFile,BufRead *.xliff setf xml | |
" XML User Interface Language | |
1 0.000093 au BufNewFile,BufRead *.xul setf xml | |
" X11 xmodmap (also see below) | |
1 0.000077 au BufNewFile,BufRead *Xmodmap setf xmodmap | |
" Xquery | |
1 0.000467 au BufNewFile,BufRead *.xq,*.xql,*.xqm,*.xquery,*.xqy setf xquery | |
" XSD | |
1 0.000092 au BufNewFile,BufRead *.xsd setf xsd | |
" Xslt | |
1 0.000162 au BufNewFile,BufRead *.xsl,*.xslt setf xslt | |
" Yacc | |
1 0.000086 au BufNewFile,BufRead *.yy setf yacc | |
" Yacc or racc | |
1 0.000084 au BufNewFile,BufRead *.y call s:FTy() | |
1 0.000007 func! s:FTy() | |
let n = 1 | |
while n < 100 && n < line("$") | |
let line = getline(n) | |
if line =~ '^\s*%' | |
setf yacc | |
return | |
endif | |
if getline(n) =~ '^\s*\(#\|class\>\)' && getline(n) !~ '^\s*#\s*include' | |
setf racc | |
return | |
endif | |
let n = n + 1 | |
endwhile | |
setf yacc | |
endfunc | |
" Yaml | |
1 0.000163 au BufNewFile,BufRead *.yaml,*.yml setf yaml | |
" yum conf (close enough to dosini) | |
1 0.000079 au BufNewFile,BufRead */etc/yum.conf setf dosini | |
" Zimbu | |
1 0.000080 au BufNewFile,BufRead *.zu setf zimbu | |
" Zope | |
" dtml (zope dynamic template markup language), pt (zope page template), | |
" cpt (zope form controller page template) | |
1 0.000239 au BufNewFile,BufRead *.dtml,*.pt,*.cpt call s:FThtml() | |
" zsql (zope sql method) | |
1 0.000080 au BufNewFile,BufRead *.zsql call s:SQL() | |
" Z80 assembler asz80 | |
1 0.000091 au BufNewFile,BufRead *.z8a setf z8a | |
1 0.000004 augroup END | |
" Source the user-specified filetype file, for backwards compatibility with | |
" Vim 5.x. | |
1 0.000019 if exists("myfiletypefile") && filereadable(expand(myfiletypefile)) | |
execute "source " . myfiletypefile | |
endif | |
" Check for "*" after loading myfiletypefile, so that scripts.vim is only used | |
" when there are no matching file name extensions. | |
" Don't do this for compressed files. | |
1 0.000004 augroup filetypedetect | |
1 0.000103 au BufNewFile,BufRead * | |
\ if !did_filetype() && expand("<amatch>") !~ g:ft_ignore_pat | |
\ | runtime! scripts.vim | endif | |
1 0.000024 au StdinReadPost * if !did_filetype() | runtime! scripts.vim | endif | |
" Extra checks for when no filetype has been detected now. Mostly used for | |
" patterns that end in "*". E.g., "zsh*" matches "zsh.vim", but that's a Vim | |
" script file. | |
" Most of these should call s:StarSetf() to avoid names ending in .gz and the | |
" like are used. | |
" More Apache config files | |
1 0.000362 au BufNewFile,BufRead access.conf*,apache.conf*,apache2.conf*,httpd.conf*,srm.conf* call s:StarSetf('apache') | |
1 0.000397 au BufNewFile,BufRead */etc/apache2/*.conf*,*/etc/apache2/conf.*/*,*/etc/apache2/mods-*/*,*/etc/apache2/sites-*/*,*/etc/httpd/conf.d/*.conf* call s:StarSetf('apache') | |
" Asterisk config file | |
1 0.000080 au BufNewFile,BufRead *asterisk/*.conf* call s:StarSetf('asterisk') | |
1 0.000083 au BufNewFile,BufRead *asterisk*/*voicemail.conf* call s:StarSetf('asteriskvm') | |
" Bazaar version control | |
1 0.000077 au BufNewFile,BufRead bzr_log.* setf bzr | |
" BIND zone | |
1 0.000158 au BufNewFile,BufRead */named/db.*,*/bind/db.* call s:StarSetf('bindzone') | |
" Calendar | |
1 0.000239 au BufNewFile,BufRead */.calendar/*, | |
\*/share/calendar/*/calendar.*,*/share/calendar/calendar.* | |
\ call s:StarSetf('calendar') | |
" Changelog | |
1 0.000100 au BufNewFile,BufRead [cC]hange[lL]og* | |
\ if getline(1) =~ '; urgency=' | |
\| call s:StarSetf('debchangelog') | |
\|else | |
\| call s:StarSetf('changelog') | |
\|endif | |
" Crontab | |
1 0.000226 au BufNewFile,BufRead crontab,crontab.*,*/etc/cron.d/* call s:StarSetf('crontab') | |
" dnsmasq(8) configuration | |
1 0.000081 au BufNewFile,BufRead */etc/dnsmasq.d/* call s:StarSetf('dnsmasq') | |
" Dracula | |
1 0.000079 au BufNewFile,BufRead drac.* call s:StarSetf('dracula') | |
" Fvwm | |
1 0.000079 au BufNewFile,BufRead */.fvwm/* call s:StarSetf('fvwm') | |
1 0.000161 au BufNewFile,BufRead *fvwmrc*,*fvwm95*.hook | |
\ let b:fvwm_version = 1 | call s:StarSetf('fvwm') | |
1 0.000107 au BufNewFile,BufRead *fvwm2rc* | |
\ if expand("<afile>:e") == "m4" | |
\| call s:StarSetf('fvwm2m4') | |
\|else | |
\| let b:fvwm_version = 2 | call s:StarSetf('fvwm') | |
\|endif | |
" Gedcom | |
1 0.000079 au BufNewFile,BufRead */tmp/lltmp* call s:StarSetf('gedcom') | |
" GTK RC | |
1 0.000149 au BufNewFile,BufRead .gtkrc*,gtkrc* call s:StarSetf('gtkrc') | |
" Jam | |
1 0.000149 au BufNewFile,BufRead Prl*.*,JAM*.* call s:StarSetf('jam') | |
" Jargon | |
1 0.000094 au! BufNewFile,BufRead *jarg* | |
\ if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'THIS IS THE JARGON FILE' | |
\| call s:StarSetf('jargon') | |
\|endif | |
" Kconfig | |
1 0.000079 au BufNewFile,BufRead Kconfig.* call s:StarSetf('kconfig') | |
" Lilo: Linux loader | |
1 0.000078 au BufNewFile,BufRead lilo.conf* call s:StarSetf('lilo') | |
" Logcheck | |
1 0.000093 au BufNewFile,BufRead */etc/logcheck/*.d*/* call s:StarSetf('logcheck') | |
" Makefile | |
1 0.000079 au BufNewFile,BufRead [mM]akefile* call s:StarSetf('make') | |
" Ruby Makefile | |
1 0.000079 au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby') | |
" Mail (also matches muttrc.vim, so this is below the other checks) | |
1 0.000120 au BufNewFile,BufRead mutt[[:alnum:]._-]\\\{6\} setf mail | |
" Modconf | |
1 0.000087 au BufNewFile,BufRead */etc/modutils/* | |
\ if executable(expand("<afile>")) != 1 | |
\| call s:StarSetf('modconf') | |
\|endif | |
1 0.000081 au BufNewFile,BufRead */etc/modprobe.* call s:StarSetf('modconf') | |
" Mutt setup file | |
1 0.000155 au BufNewFile,BufRead .mutt{ng,}rc*,*/.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc') | |
1 0.000151 au BufNewFile,BufRead mutt{ng,}rc*,Mutt{ng,}rc* call s:StarSetf('muttrc') | |
" Nroff macros | |
1 0.000087 au BufNewFile,BufRead tmac.* call s:StarSetf('nroff') | |
" Pam conf | |
1 0.000090 au BufNewFile,BufRead */etc/pam.d/* call s:StarSetf('pamconf') | |
" Printcap and Termcap | |
1 0.000090 au BufNewFile,BufRead *printcap* | |
\ if !did_filetype() | |
\| let b:ptcap_type = "print" | call s:StarSetf('ptcap') | |
\|endif | |
1 0.000096 au BufNewFile,BufRead *termcap* | |
\ if !did_filetype() | |
\| let b:ptcap_type = "term" | call s:StarSetf('ptcap') | |
\|endif | |
" ReDIF | |
" Only used when the .rdf file was not detected to be XML. | |
1 0.000099 au BufRead,BufNewFile *.rdf call s:Redif() | |
1 0.000008 func! s:Redif() | |
let lnum = 1 | |
while lnum <= 5 && lnum < line('$') | |
if getline(lnum) =~ "^\ctemplate-type:" | |
setf redif | |
return | |
endif | |
let lnum = lnum + 1 | |
endwhile | |
endfunc | |
" Remind | |
1 0.000082 au BufNewFile,BufRead .reminders* call s:StarSetf('remind') | |
" Vim script | |
1 0.000082 au BufNewFile,BufRead *vimrc* call s:StarSetf('vim') | |
" Subversion commit file | |
1 0.000083 au BufNewFile,BufRead svn-commit*.tmp setf svn | |
" X resources file | |
1 0.000223 au BufNewFile,BufRead Xresources*,*/app-defaults/*,*/Xresources/* call s:StarSetf('xdefaults') | |
" XFree86 config | |
1 0.000084 au BufNewFile,BufRead XF86Config-4* | |
\ let b:xf86conf_xfree86_version = 4 | call s:StarSetf('xf86conf') | |
1 0.000087 au BufNewFile,BufRead XF86Config* | |
\ if getline(1) =~ '\<XConfigurator\>' | |
\| let b:xf86conf_xfree86_version = 3 | |
\|endif | |
\|call s:StarSetf('xf86conf') | |
" X11 xmodmap | |
1 0.000081 au BufNewFile,BufRead *xmodmap* call s:StarSetf('xmodmap') | |
" Xinetd conf | |
1 0.000093 au BufNewFile,BufRead */etc/xinetd.d/* call s:StarSetf('xinetd') | |
" yum conf (close enough to dosini) | |
1 0.000085 au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini') | |
" Z-Shell script | |
1 0.000170 au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh') | |
" Plain text files, needs to be far down to not override others. This avoids | |
" the "conf" type being used if there is a line starting with '#'. | |
1 0.000169 au BufNewFile,BufRead *.txt,*.text setf text | |
" Use the filetype detect plugins. They may overrule any of the previously | |
" detected filetypes. | |
1 0.001511 runtime! ftdetect/*.vim | |
" NOTE: The above command could have ended the filetypedetect autocmd group | |
" and started another one. Let's make sure it has ended to get to a consistent | |
" state. | |
1 0.000006 augroup END | |
" Generic configuration file (check this last, it's just guessing!) | |
1 0.000104 au filetypedetect BufNewFile,BufRead,StdinReadPost * | |
\ if !did_filetype() && expand("<amatch>") !~ g:ft_ignore_pat | |
\ && (getline(1) =~ '^#' || getline(2) =~ '^#' || getline(3) =~ '^#' | |
\ || getline(4) =~ '^#' || getline(5) =~ '^#') | | |
\ setf conf | | |
\ endif | |
" If the GUI is already running, may still need to install the Syntax menu. | |
" Don't do it when the 'M' flag is included in 'guioptions'. | |
1 0.000031 if has("menu") && has("gui_running") | |
\ && !exists("did_install_syntax_menu") && &guioptions !~# "M" | |
source <sfile>:p:h/menu.vim | |
endif | |
" Function called for testing all functions defined here. These are | |
" script-local, thus need to be executed here. | |
" Returns a string with error messages (hopefully empty). | |
1 0.000008 func! TestFiletypeFuncs(testlist) | |
let output = '' | |
for f in a:testlist | |
try | |
exe f | |
catch | |
let output = output . "\n" . f . ": " . v:exception | |
endtry | |
endfor | |
return output | |
endfunc | |
" Restore 'cpoptions' | |
1 0.000032 let &cpo = s:cpo_save | |
1 0.000016 unlet s:cpo_save | |
SCRIPT /usr/home/tony/.dot-config/.vim/ftdetect/bowerrc.vim | |
Sourced 1 time | |
Total time: 0.000096 | |
Self time: 0.000096 | |
count total (s) self (s) | |
SCRIPT /usr/home/tony/.dot-config/.vim/ftdetect/jshintrc.vim | |
Sourced 1 time | |
Total time: 0.000090 | |
Self time: 0.000090 | |
count total (s) self (s) | |
SCRIPT /usr/home/tony/.dot-config/.vim/ftdetect/watchmanconfig.vim | |
Sourced 1 time | |
Total time: 0.000091 | |
Self time: 0.000091 | |
count total (s) self (s) | |
SCRIPT /usr/local/share/vim/vim74/ftoff.vim | |
Sourced 1 time | |
Total time: 0.001663 | |
Self time: 0.001663 | |
count total (s) self (s) | |
" Vim support file to switch off detection of file types | |
" | |
" Maintainer: Bram Moolenaar <Bram@vim.org> | |
" Last change: 2001 Jun 11 | |
1 0.000013 if exists("did_load_filetypes") | |
1 0.000016 unlet did_load_filetypes | |
1 0.000004 endif | |
" Remove all autocommands in the filetypedetect group | |
1 0.001610 silent! au! filetypedetect * | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/Vim-Jinja2-Syntax/ftdetect/jinja.vim | |
Sourced 1 time | |
Total time: 0.000608 | |
Self time: 0.000608 | |
count total (s) self (s) | |
" Figure out which type of hilighting to use for html. | |
1 0.000012 fun! s:SelectHTML() | |
let n = 1 | |
while n < 50 && n <= line("$") | |
" check for jinja | |
if getline(n) =~ '{{.*}}\|{%-\?\s*\(end.*\|extends\|block\|macro\|set\|if\|for\|include\|trans\)\>' | |
set ft=jinja | |
return | |
endif | |
let n = n + 1 | |
endwhile | |
endfun | |
1 0.000545 autocmd BufNewFile,BufRead *.jinja2,*.j2,*.jinja,*.html,*.htm,*.nunjucks,*.nunjs call s:SelectHTML() | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/vim-jst/ftdetect/jst.vim | |
Sourced 1 time | |
Total time: 0.000513 | |
Self time: 0.000513 | |
count total (s) self (s) | |
au BufNewFile,BufRead *.ejs set filetype=jst | |
1 0.000099 au BufNewFile,BufRead *.jst set filetype=jst | |
1 0.000101 au BufNewFile,BufRead *.djs set filetype=jst | |
1 0.000081 au BufNewFile,BufRead *.hamljs set filetype=jst | |
1 0.000103 au BufNewFile,BufRead *.ect set filetype=jst | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/ultisnips/ftdetect/UltiSnips.vim | |
Sourced 1 time | |
Total time: 0.000166 | |
Self time: 0.000166 | |
count total (s) self (s) | |
" This has to be called before ftplugins are loaded. Therefore | |
" it is here in ftdetect though it maybe shouldn't | |
" This is necessary to prevent errors when using vim as a pager. | |
1 0.000016 if exists("vimpager") | |
finish | |
endif | |
1 0.000009 if has("autocmd") | |
1 0.000004 augroup UltiSnipsFileType | |
1 0.000072 au! | |
1 0.000024 autocmd FileType * call UltiSnips#FileTypeChanged() | |
1 0.000004 augroup END | |
1 0.000011 endif | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/ultisnips/ftdetect/snippets.vim | |
Sourced 1 time | |
Total time: 0.000130 | |
Self time: 0.000130 | |
count total (s) self (s) | |
" recognize .snippet files | |
1 0.000012 if has("autocmd") | |
1 0.000085 autocmd BufNewFile,BufRead *.snippets setf snippets | |
1 0.000011 endif | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/Dockerfile.vim | |
Sourced 1 time | |
Total time: 0.000274 | |
Self time: 0.000274 | |
count total (s) self (s) | |
" Dockerfile | |
1 0.000095 autocmd BufRead,BufNewFile Dockerfile set ft=Dockerfile | |
1 0.000080 autocmd BufRead,BufNewFile Dockerfile* setf Dockerfile | |
1 0.000089 autocmd BufRead,BufNewFile *.dock setf Dockerfile | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/blade.vim | |
Sourced 1 time | |
Total time: 0.000110 | |
Self time: 0.000110 | |
count total (s) self (s) | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/cabalconfig.vim | |
Sourced 1 time | |
Total time: 0.000100 | |
Self time: 0.000100 | |
count total (s) self (s) | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/coffee.vim | |
Sourced 1 time | |
Total time: 0.000598 | |
Self time: 0.000598 | |
count total (s) self (s) | |
" Language: CoffeeScript | |
" Maintainer: Mick Koch <mick@kochm.co> | |
" URL: http://github.com/kchmck/vim-coffee-script | |
" License: WTFPL | |
1 0.000083 autocmd BufNewFile,BufRead *.coffee set filetype=coffee | |
1 0.000143 autocmd BufNewFile,BufRead *Cakefile set filetype=coffee | |
1 0.000159 autocmd BufNewFile,BufRead *.coffeekup,*.ck set filetype=coffee | |
1 0.000079 autocmd BufNewFile,BufRead *._coffee set filetype=coffee | |
1 0.000011 function! s:DetectCoffee() | |
if getline(1) =~ '^#!.*\<coffee\>' | |
set filetype=coffee | |
endif | |
endfunction | |
1 0.000086 autocmd BufNewFile,BufRead * call s:DetectCoffee() | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/gofiletype.vim | |
Sourced 1 time | |
Total time: 0.000221 | |
Self time: 0.000221 | |
count total (s) self (s) | |
" We take care to preserve the user's fileencodings and fileformats, | |
" because those settings are global (not buffer local), yet we want | |
" to override them for loading Go files, which are defined to be UTF-8. | |
1 0.000012 let s:current_fileformats = '' | |
1 0.000007 let s:current_fileencodings = '' | |
" define fileencodings to open as utf-8 encoding even if it's ascii. | |
1 0.000007 function! s:gofiletype_pre() | |
let s:current_fileformats = &g:fileformats | |
let s:current_fileencodings = &g:fileencodings | |
set fileencodings=utf-8 fileformats=unix | |
setlocal filetype=go | |
endfunction | |
" restore fileencodings as others | |
1 0.000007 function! s:gofiletype_post() | |
let &g:fileformats = s:current_fileformats | |
let &g:fileencodings = s:current_fileencodings | |
endfunction | |
1 0.000046 au BufNewFile *.go setlocal filetype=go fileencoding=utf-8 fileformat=unix | |
1 0.000042 au BufRead *.go call s:gofiletype_pre() | |
1 0.000043 au BufReadPost *.go call s:gofiletype_post() | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/haml.vim | |
Sourced 1 time | |
Total time: 0.000443 | |
Self time: 0.000443 | |
count total (s) self (s) | |
autocmd BufNewFile,BufRead *.haml,*.hamlbars,*.hamlc setf haml | |
1 0.000115 autocmd BufNewFile,BufRead *.sass setf sass | |
1 0.000088 autocmd BufNewFile,BufRead *.scss setf scss | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/heist.vim | |
Sourced 1 time | |
Total time: 0.000086 | |
Self time: 0.000086 | |
count total (s) self (s) | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/hsc.vim | |
Sourced 1 time | |
Total time: 0.000085 | |
Self time: 0.000085 | |
count total (s) self (s) | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/i3.vim | |
Sourced 1 time | |
Total time: 0.000184 | |
Self time: 0.000184 | |
count total (s) self (s) | |
augroup i3_ftdetect | |
1 0.000068 au! | |
1 0.000080 au BufRead,BufNewFile *i3/config set ft=i3 | |
1 0.000012 augroup END | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/jade.vim | |
Sourced 1 time | |
Total time: 0.000111 | |
Self time: 0.000111 | |
count total (s) self (s) | |
" Jade | |
1 0.000093 autocmd BufNewFile,BufReadPost *.jade set filetype=jade | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/javascript.vim | |
Sourced 1 time | |
Total time: 0.000378 | |
Self time: 0.000378 | |
count total (s) self (s) | |
au BufNewFile,BufRead *.js setf javascript | |
1 0.000081 au BufNewFile,BufRead *.jsm setf javascript | |
1 0.000085 au BufNewFile,BufRead Jakefile setf javascript | |
1 0.000009 fun! s:SelectJavascript() | |
if getline(1) =~# '^#!.*/bin/env\s\+node\>' | |
set ft=javascript | |
endif | |
endfun | |
1 0.000086 au BufNewFile,BufRead * call s:SelectJavascript() | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/jmacro.vim | |
Sourced 1 time | |
Total time: 0.000087 | |
Self time: 0.000087 | |
count total (s) self (s) | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/json.vim | |
Sourced 1 time | |
Total time: 0.000197 | |
Self time: 0.000197 | |
count total (s) self (s) | |
autocmd BufNewFile,BufRead *.json set filetype=json | |
1 0.000088 autocmd BufNewFile,BufRead *.jsonp set filetype=json | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/less.vim | |
Sourced 1 time | |
Total time: 0.000087 | |
Self time: 0.000087 | |
count total (s) self (s) | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/markdown.vim | |
Sourced 1 time | |
Total time: 0.000374 | |
Self time: 0.000374 | |
count total (s) self (s) | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/mustache.vim | |
Sourced 1 time | |
Total time: 0.000520 | |
Self time: 0.000520 | |
count total (s) self (s) | |
if has("autocmd") | |
1 0.000331 au BufNewFile,BufRead *.mustache,*.hogan,*.hulk,*.hjs set filetype=html.mustache syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim | |
1 0.000155 au BufNewFile,BufRead *.handlebars,*.hbs set filetype=html.handlebars syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim | |
1 0.000012 endif | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/nginx.vim | |
Sourced 1 time | |
Total time: 0.000451 | |
Self time: 0.000451 | |
count total (s) self (s) | |
au BufRead,BufNewFile *.nginx set ft=nginx | |
1 0.000085 au BufRead,BufNewFile */etc/nginx/* set ft=nginx | |
1 0.000086 au BufRead,BufNewFile */usr/local/nginx/conf/* set ft=nginx | |
1 0.000093 au BufRead,BufNewFile nginx.conf set ft=nginx | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/play2.vim | |
Sourced 1 time | |
Total time: 0.000386 | |
Self time: 0.000386 | |
count total (s) self (s) | |
au BufRead,BufNewFile *.scala.html set filetype=html syntax=play2-html | |
1 0.000087 au BufRead,BufNewFile */conf/\(*\|\)routes set filetype=play2-routes | |
1 0.000104 au BufRead,BufNewFile */conf/*.conf setf play2-conf | |
1 0.000083 au BufRead,BufNewFile plugins.sbt set filetype=scala | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/ruby.vim | |
Sourced 1 time | |
Total time: 0.003081 | |
Self time: 0.003081 | |
count total (s) self (s) | |
function! s:setf(filetype) abort | |
if &filetype !=# a:filetype | |
let &filetype = a:filetype | |
endif | |
endfunction | |
" Ruby | |
1 0.000245 au BufNewFile,BufRead *.rb,*.rbw,*.gemspec call s:setf('ruby') | |
" Ruby on Rails | |
1 0.000347 au BufNewFile,BufRead *.builder,*.rxml,*.rjs,*.ruby call s:setf('ruby') | |
" Rakefile | |
1 0.000156 au BufNewFile,BufRead [rR]akefile,*.rake call s:setf('ruby') | |
" Rantfile | |
1 0.000156 au BufNewFile,BufRead [rR]antfile,*.rant call s:setf('ruby') | |
" IRB config | |
1 0.000151 au BufNewFile,BufRead .irbrc,irbrc call s:setf('ruby') | |
" Pry config | |
1 0.000081 au BufNewFile,BufRead .pryrc call s:setf('ruby') | |
" Rackup | |
1 0.000099 au BufNewFile,BufRead *.ru call s:setf('ruby') | |
" Capistrano | |
1 0.000165 au BufNewFile,BufRead Capfile,*.cap call s:setf('ruby') | |
" Bundler | |
1 0.000080 au BufNewFile,BufRead Gemfile call s:setf('ruby') | |
" Guard | |
1 0.000151 au BufNewFile,BufRead Guardfile,.Guardfile call s:setf('ruby') | |
" Chef | |
1 0.000082 au BufNewFile,BufRead Cheffile call s:setf('ruby') | |
1 0.000080 au BufNewFile,BufRead Berksfile call s:setf('ruby') | |
" Vagrant | |
1 0.000085 au BufNewFile,BufRead [vV]agrantfile call s:setf('ruby') | |
" Autotest | |
1 0.000080 au BufNewFile,BufRead .autotest call s:setf('ruby') | |
" eRuby | |
1 0.000150 au BufNewFile,BufRead *.erb,*.rhtml call s:setf('eruby') | |
" Thor | |
1 0.000153 au BufNewFile,BufRead [tT]horfile,*.thor call s:setf('ruby') | |
" Rabl | |
1 0.000090 au BufNewFile,BufRead *.rabl call s:setf('ruby') | |
" Jbuilder | |
1 0.000081 au BufNewFile,BufRead *.jbuilder call s:setf('ruby') | |
" Puppet librarian | |
1 0.000081 au BufNewFile,BufRead Puppetfile call s:setf('ruby') | |
" | |
" Buildr Buildfile | |
1 0.000082 au BufNewFile,BufRead [Bb]uildfile call s:setf('ruby') | |
" Appraisal | |
1 0.000174 au BufNewFile,BufRead Appraisals call s:setf('ruby') | |
" CocoaPods | |
1 0.000160 au BufNewFile,BufRead Podfile,*.podspec call s:setf('ruby') | |
" vim: nowrap sw=2 sts=2 ts=8 noet: | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/scala.vim | |
Sourced 1 time | |
Total time: 0.000317 | |
Self time: 0.000317 | |
count total (s) self (s) | |
fun! s:DetectScala() | |
if getline(1) =~# '^#!\(/usr\)\?/bin/env\s\+scalas\?' | |
set filetype=scala | |
endif | |
endfun | |
1 0.000085 au BufRead,BufNewFile *.scala set filetype=scala | |
1 0.000079 au BufRead,BufNewFile * call s:DetectScala() | |
" Install vim-sbt for additional syntax highlighting. | |
1 0.000093 au BufRead,BufNewFile *.sbt setfiletype sbt.scala | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/slim.vim | |
Sourced 1 time | |
Total time: 0.000091 | |
Self time: 0.000091 | |
count total (s) self (s) | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/sls.vim | |
Sourced 1 time | |
Total time: 0.000229 | |
Self time: 0.000229 | |
count total (s) self (s) | |
function! DetectSls() | |
if !did_filetype() | |
if match(getline(1), '^#!py') > -1 | |
set ft=python | |
else | |
set ft=sls | |
endif | |
endif | |
endfunction | |
1 0.000167 :au BufNewFile,BufRead *.sls,Saltfile call DetectSls() | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/stylus.vim | |
Sourced 1 time | |
Total time: 0.000200 | |
Self time: 0.000200 | |
count total (s) self (s) | |
" Stylus | |
1 0.000092 autocmd BufNewFile,BufReadPost *.styl set filetype=stylus | |
1 0.000090 autocmd BufNewFile,BufReadPost *.stylus set filetype=stylus | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/.neobundle/ftdetect/vagrant.vim | |
Sourced 1 time | |
Total time: 0.000112 | |
Self time: 0.000112 | |
count total (s) self (s) | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/neobundle.vim/ftdetect/vimrecipe.vim | |
Sourced 1 time | |
Total time: 0.000184 | |
Self time: 0.000184 | |
count total (s) self (s) | |
" Detect syntax file. | |
1 0.000165 autocmd BufNewFile,BufRead *.vimrecipe set filetype=vimrecipe | |
SCRIPT /usr/local/share/vim/vim74/ftplugin.vim | |
Sourced 1 time | |
Total time: 0.000209 | |
Self time: 0.000209 | |
count total (s) self (s) | |
" Vim support file to switch on loading plugins for file types | |
" | |
" Maintainer: Bram Moolenaar <Bram@vim.org> | |
" Last change: 2006 Apr 30 | |
1 0.000015 if exists("did_load_ftplugin") | |
finish | |
endif | |
1 0.000007 let did_load_ftplugin = 1 | |
1 0.000006 augroup filetypeplugin | |
1 0.000029 au FileType * call s:LoadFTPlugin() | |
1 0.000010 func! s:LoadFTPlugin() | |
if exists("b:undo_ftplugin") | |
exe b:undo_ftplugin | |
unlet! b:undo_ftplugin b:did_ftplugin | |
endif | |
let s = expand("<amatch>") | |
if s != "" | |
if &cpo =~# "S" && exists("b:did_ftplugin") | |
" In compatible mode options are reset to the global values, need to | |
" set the local values also when a plugin was already used. | |
unlet b:did_ftplugin | |
endif | |
" When there is a dot it is used to separate filetype names. Thus for | |
" "aaa.bbb" load "aaa" and then "bbb". | |
for name in split(s, '\.') | |
exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim ftplugin/' . name . '/*.vim' | |
endfor | |
endif | |
endfunc | |
1 0.000013 augroup END | |
SCRIPT /usr/local/share/vim/vim74/indent.vim | |
Sourced 1 time | |
Total time: 0.000159 | |
Self time: 0.000159 | |
count total (s) self (s) | |
" Vim support file to switch on loading indent files for file types | |
" | |
" Maintainer: Bram Moolenaar <Bram@vim.org> | |
" Last Change: 2008 Feb 22 | |
1 0.000013 if exists("did_indent_on") | |
finish | |
endif | |
1 0.000007 let did_indent_on = 1 | |
1 0.000005 augroup filetypeindent | |
1 0.000025 au FileType * call s:LoadIndent() | |
1 0.000008 func! s:LoadIndent() | |
if exists("b:undo_indent") | |
exe b:undo_indent | |
unlet! b:undo_indent b:did_indent | |
endif | |
let s = expand("<amatch>") | |
if s != "" | |
if exists("b:did_indent") | |
unlet b:did_indent | |
endif | |
" When there is a dot it is used to separate filetype names. Thus for | |
" "aaa.bbb" load "indent/aaa.vim" and then "indent/bbb.vim". | |
for name in split(s, '\.') | |
exe 'runtime! indent/' . name . '.vim' | |
endfor | |
endif | |
endfunc | |
1 0.000012 augroup END | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/color_coded/plugin/color_coded.vim | |
Sourced 1 time | |
Total time: 0.044246 | |
Self time: 0.004006 | |
count total (s) self (s) | |
" Vim global plugin for semantic highlighting using libclang | |
" Maintainer: Jeaye <contact@jeaye.com> | |
" ------------------------------------------------------------------------------ | |
1 0.000017 if v:version < 704 || !exists("*matchaddpos") | |
echohl WarningMsg | | |
\ echomsg "color_coded unavailable: requires Vim 7.4p330+" | | |
\ echohl None | |
finish | |
endif | |
1 0.000480 if !has('lua') | |
echohl WarningMsg | | |
\ echomsg "color_coded unavailable: requires lua" | | |
\ echohl None | |
finish | |
endif | |
1 0.000021 if exists("g:loaded_color_coded") || &cp | |
finish | |
endif | |
1 0.000009 if !exists("g:color_coded_enabled") | |
1 0.000008 let g:color_coded_enabled = 1 | |
1 0.000005 elseif g:color_coded_enabled == 0 | |
finish | |
endif | |
" ------------------------------------------------------------------------------ | |
1 0.000006 let g:loaded_color_coded = 1 | |
1 0.000063 let $VIMHOME = expand('<sfile>:p:h:h') | |
1 0.000014 let s:keepcpo = &cpo | |
1 0.000014 set cpo&vim | |
" ------------------------------------------------------------------------------ | |
" Only continue if the setup went well | |
1 0.002291 let s:color_coded_valid = color_coded#setup() | |
1 0.000010 if s:color_coded_valid == 1 | |
1 0.000034 command! CCerror call color_coded#last_error() | |
1 0.000017 command! CCtoggle call color_coded#toggle() | |
1 0.000009 augroup color_coded | |
1 0.000046 au VimEnter,ColorScheme * source $VIMHOME/after/syntax/color_coded.vim | |
1 0.000028 au VimEnter,BufEnter * call color_coded#enter() | |
1 0.000024 au WinEnter * call color_coded#enter() | |
1 0.000042 au TextChanged,TextChangedI * call color_coded#push() | |
1 0.000029 au CursorMoved,CursorMovedI * call color_coded#moved() | |
1 0.000028 au CursorHold,CursorHoldI * call color_coded#moved() | |
1 0.000023 au VimResized * call color_coded#moved() | |
" Leaving a color_coded buffer requires removing matched positions | |
1 0.000015 au BufLeave * call color_coded#clear_matches(color_coded#get_buffer_name()) | |
1 0.000017 au BufDelete * call color_coded#destroy(expand('<afile>')) | |
1 0.000004 augroup END | |
1 0.000055 nnoremap <silent> <ScrollWheelUp> | |
\ <ScrollWheelUp>:call color_coded#moved()<CR> | |
1 0.000041 inoremap <silent> <ScrollWheelUp> | |
\ <ScrollWheelUp><ESC>:call color_coded#moved()<CR><INS> | |
1 0.000039 nnoremap <silent> <ScrollWheelDown> | |
\ <ScrollWheelDown>:call color_coded#moved()<CR> | |
1 0.000051 inoremap <silent> <ScrollWheelDown> | |
\ <ScrollWheelDown><ESC>:call color_coded#moved()<CR><INS> | |
1 0.000040 nnoremap <silent> <S-ScrollWheelUp> | |
\ <S-ScrollWheelUp>:call color_coded#moved()<CR> | |
1 0.000040 inoremap <silent> <S-ScrollWheelUp> | |
\ <S-ScrollWheelUp><ESC>:call color_coded#moved()<CR><INS> | |
1 0.000043 nnoremap <silent> <S-ScrollWheelDown> | |
\ <S-ScrollWheelDown>:call color_coded#moved()<CR> | |
1 0.000047 inoremap <silent> <S-ScrollWheelDown> | |
\ <S-ScrollWheelDown><ESC>:call color_coded#moved()<CR><INS> | |
1 0.000038 nnoremap <silent> <C-ScrollWheelUp> | |
\ <C-ScrollWheelUp>:call color_coded#moved()<CR> | |
1 0.000042 inoremap <silent> <C-ScrollWheelUp> | |
\ <C-ScrollWheelUp><ESC>:call color_coded#moved()<CR><INS> | |
1 0.000039 nnoremap <silent> <C-ScrollWheelDown> | |
\ <C-ScrollWheelDown>:call color_coded#moved()<CR> | |
1 0.000040 inoremap <silent> <C-ScrollWheelDown> | |
\ <C-ScrollWheelDown><ESC>:call color_coded#moved()<CR><INS> | |
1 0.000003 endif | |
" ------------------------------------------------------------------------------ | |
1 0.000027 let &cpo = s:keepcpo | |
1 0.000025 unlet s:keepcpo | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/color_coded/autoload/color_coded.vim | |
Sourced 1 time | |
Total time: 0.001625 | |
Self time: 0.001625 | |
count total (s) self (s) | |
" Vim global plugin for semantic highlighting using libclang | |
" Maintainer: Jeaye <contact@jeaye.com> | |
" Setup | |
" ------------------------------------------------------------------------------ | |
1 0.000012 let s:color_coded_api_version = 0x97e07fc | |
1 0.000007 let s:color_coded_valid = 1 | |
1 0.000006 let s:color_coded_unique_counter = 1 | |
1 0.000006 let g:color_coded_matches = {} | |
1 0.000010 function! s:color_coded_create_defaults() | |
if !exists("g:color_coded_filetypes") | |
let g:color_coded_filetypes = ['c', 'h', 'cpp', 'hpp', 'cc', 'm', 'mm'] | |
endif | |
endfunction! | |
1 0.000008 function! s:color_coded_define_lua_helpers() | |
lua << EOF | |
function color_coded_buffer_name() | |
local name = vim.buffer().fname | |
if (name == nil or name == '') then | |
name = tostring(vim.buffer().number) | |
end | |
return name | |
end | |
function color_coded_buffer_details() | |
local line_count = #vim.buffer() | |
local buffer = vim.buffer() | |
local data = {} | |
for i = 1,#buffer do | |
-- NOTE: buffer is a userdata; must be copied into array | |
data[i] = buffer[i] | |
end | |
return color_coded_buffer_name(), table.concat(data, '\n') | |
end | |
EOF | |
endfunction! | |
1 0.000008 function! color_coded#setup() | |
" Try to get the lua binding working | |
lua << EOF | |
package.cpath = vim.eval("$VIMHOME") .. "/bin/color_coded.so" | |
local loaded = pcall(require, "color_coded") | |
if not loaded then | |
vim.command('echohl WarningMsg | ' .. | |
'echomsg "color_coded unavailable: you need to compile it ' .. | |
'(see README.md)" | ' .. | |
'echohl None') | |
vim.command("let s:color_coded_valid = 0") | |
return | |
else | |
local version = color_coded_api_version() | |
if version ~= vim.eval("s:color_coded_api_version") then | |
vim.command('echohl WarningMsg | ' .. | |
'echomsg "color_coded has been updated: you need to recompile it ' .. | |
'(see README.md)" | ' .. | |
'echohl None') | |
vim.command("let s:color_coded_valid = 0") | |
end | |
end | |
EOF | |
" Lua is prepared, finish setup | |
call s:color_coded_create_defaults() | |
call s:color_coded_define_lua_helpers() | |
return s:color_coded_valid | |
endfunction! | |
" Events | |
" ------------------------------------------------------------------------------ | |
1 0.000008 function! color_coded#push() | |
if index(g:color_coded_filetypes, &ft) < 0 || g:color_coded_enabled == 0 | |
return | |
endif | |
lua << EOF | |
local name, data = color_coded_buffer_details() | |
color_coded_push(name, data) | |
EOF | |
endfunction! | |
1 0.000007 function! color_coded#pull() | |
if index(g:color_coded_filetypes, &ft) < 0 || g:color_coded_enabled == 0 | |
return | |
endif | |
lua << EOF | |
local name = color_coded_buffer_name() | |
color_coded_pull(name) | |
EOF | |
endfunction! | |
1 0.000008 function! color_coded#moved() | |
if index(g:color_coded_filetypes, &ft) < 0 || g:color_coded_enabled == 0 | |
return | |
endif | |
lua << EOF | |
local name = color_coded_buffer_name() | |
color_coded_moved(name, vim.eval("line(\"w0\")"), vim.eval("line(\"w$\")")) | |
EOF | |
endfunction! | |
1 0.000007 function! color_coded#enter() | |
if index(g:color_coded_filetypes, &ft) < 0 || g:color_coded_enabled == 0 | |
return | |
endif | |
" Each new window controls highlighting separate from the buffer | |
if !exists("w:color_coded_own_syntax") || w:color_coded_name != color_coded#get_buffer_name() | |
execute 'ownsyntax ' . b:current_syntax | |
let w:color_coded_own_syntax = 1 | |
" Each window has a unique ID | |
let w:color_coded_unique_counter = s:color_coded_unique_counter | |
let s:color_coded_unique_counter += 1 | |
" Windows can be reused; clear it out if needed | |
if exists("w:color_coded_name") | |
call color_coded#clear_matches(w:color_coded_name) | |
endif | |
let w:color_coded_name = color_coded#get_buffer_name() | |
call color_coded#clear_matches(w:color_coded_name) | |
endif | |
lua << EOF | |
local name, data = color_coded_buffer_details() | |
color_coded_enter(name, data) | |
EOF | |
endfunction! | |
1 0.000009 function! color_coded#destroy(file) | |
if index(g:color_coded_filetypes, &ft) < 0 || g:color_coded_enabled == 0 | |
return | |
endif | |
let s:file = a:file | |
lua << EOF | |
local name = vim.eval('s:file') | |
color_coded_destroy(name) | |
EOF | |
let s:file = color_coded#get_buffer_name() | |
call color_coded#clear_matches(s:file) | |
unlet s:file | |
endfunction! | |
" Commands | |
" ------------------------------------------------------------------------------ | |
1 0.000008 function! color_coded#last_error() | |
lua << EOF | |
vim.command | |
( | |
"echo \"" .. string.gsub(color_coded_last_error(), "\"", "'") .. "\"" | |
) | |
EOF | |
endfunction! | |
1 0.000008 function! color_coded#toggle() | |
let g:color_coded_enabled = g:color_coded_enabled ? 0 : 1 | |
if g:color_coded_enabled == 0 | |
call color_coded#clear_all_matches() | |
echo "color_coded: disabled" | |
else | |
call color_coded#enter() | |
echo "color_coded: enabled" | |
endif | |
endfunction! | |
" Utilities | |
" ------------------------------------------------------------------------------ | |
" We keep two sets of buffer names right now | |
" 1) Lua's color_coded_buffer_name | |
" - Just the filename or buffer number | |
" - Used for interfacing with C++ | |
" 2) VimL's color_coded#get_buffer_name | |
" - A combination of 1) and a unique window counter | |
" - Used for storing per-window syntax matches | |
1 0.000007 function! color_coded#get_buffer_name() | |
lua << EOF | |
local name = color_coded_buffer_name() | |
vim.command("let s:file = '" .. name .. "'") | |
EOF | |
if exists("w:color_coded_unique_counter") | |
return s:file . w:color_coded_unique_counter | |
else | |
return s:file | |
endif | |
endfunction! | |
1 0.000012 function! color_coded#add_match(type, line, col, len) | |
let s:file = color_coded#get_buffer_name() | |
call add(g:color_coded_matches[s:file], | |
\matchaddpos(a:type, [[ a:line, a:col, a:len ]], -1)) | |
unlet s:file | |
endfunction! | |
" Clears color_coded matches only in the current buffer | |
1 0.000017 function! color_coded#clear_matches(file) | |
if has_key(g:color_coded_matches, a:file) == 1 | |
for id in g:color_coded_matches[a:file] | |
call matchdelete(id) | |
endfor | |
endif | |
let g:color_coded_matches[a:file] = [] | |
endfunction! | |
" Clears color_coded matches in all open buffers | |
1 0.000008 function! color_coded#clear_all_matches() | |
let g:color_coded_matches = {} | |
endfunction! | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/color_coded/after/syntax/color_coded.vim | |
Sourced 1 time | |
Total time: 0.000825 | |
Self time: 0.000825 | |
count total (s) self (s) | |
" Vim global plugin for semantic highlighting using libclang | |
" Maintainer: Jeaye <contact@jeaye.com> | |
1 0.000026 hi default Member ctermfg=Cyan guifg=Cyan | |
1 0.000016 hi default Variable ctermfg=Grey guifg=Grey | |
1 0.000013 hi default Namespace ctermfg=DarkYellow guifg=DarkYellow | |
1 0.000013 hi default EnumConstant ctermfg=LightGreen guifg=LightGreen | |
1 0.000010 hi link StructDecl Type | |
1 0.000008 hi link UnionDecl Type | |
1 0.000008 hi link ClassDecl Type | |
1 0.000009 hi link EnumDecl Type | |
1 0.000008 hi link FieldDecl Member | |
1 0.000008 hi link EnumConstantDecl EnumConstant | |
1 0.000022 hi link FunctionDecl Function | |
1 0.000009 hi link VarDecl Variable | |
1 0.000007 hi link ParmDecl Variable | |
1 0.000009 hi link ObjCInterfaceDecl Normal | |
1 0.000014 hi link ObjCCategoryDecl Normal | |
1 0.000008 hi link ObjCProtocolDecl Normal | |
1 0.000040 hi link ObjCPropertyDecl Normal | |
1 0.000010 hi link ObjCIvarDecl Normal | |
1 0.000009 hi link ObjCInstanceMethodDecl Normal | |
1 0.000009 hi link ObjCClassMethodDecl Normal | |
1 0.000010 hi link ObjCImplementationDecl Normal | |
1 0.000009 hi link ObjCCategoryImplDecl Normal | |
1 0.000009 hi link TypedefDecl Type | |
1 0.000008 hi link CXXMethod Function | |
1 0.000006 hi link Namespace Namespace | |
1 0.000008 hi link LinkageSpec Normal | |
1 0.000010 hi link Constructor Function | |
1 0.000009 hi link Destructor Function | |
1 0.000009 hi link ConversionFunction Function | |
1 0.000010 hi link TemplateTypeParameter Type | |
1 0.000009 hi link NonTypeTemplateParameter Variable | |
1 0.000011 hi link TemplateTemplateParameter Type | |
1 0.000009 hi link FunctionTemplate Function | |
1 0.000009 hi link ClassTemplate Type | |
1 0.000011 hi link ClassTemplatePartialSpecialization Type | |
1 0.000009 hi link NamespaceAlias Namespace | |
1 0.000009 hi link UsingDirective Type | |
1 0.000009 hi link UsingDeclaration Type | |
1 0.000010 hi link TypeAliasDecl Type | |
1 0.000010 hi link ObjCSynthesizeDecl Normal | |
1 0.000009 hi link ObjCDynamicDecl Normal | |
1 0.000025 hi link CXXAccessSpecifier Label | |
1 0.000010 hi link ObjCSuperClassRef Normal | |
1 0.000010 hi link ObjCProtocolRef Normal | |
1 0.000010 hi link ObjCClassRef Normal | |
1 0.000010 hi link TypeRef Type | |
1 0.000017 hi link CXXBaseSpecifier Type | |
1 0.000010 hi link TemplateRef Type | |
1 0.000013 hi link NamespaceRef Namespace | |
1 0.000009 hi link MemberRef Member | |
1 0.000010 hi link LabelRef Label | |
1 0.000011 hi link OverloadedDeclRef Function | |
1 0.000009 hi link VariableRef Variable | |
1 0.000009 hi link FirstInvalid Normal | |
1 0.000009 hi link InvalidFile Error | |
1 0.000010 hi link NoDeclFound Error | |
1 0.000009 hi link NotImplemented Normal | |
1 0.000013 hi link InvalidCode Error | |
1 0.000010 hi link FirstExpr Normal | |
1 0.000009 hi link DeclRefExpr Variable | |
1 0.000009 hi link MemberRefExpr Member | |
1 0.000010 hi link CallExpr Function | |
1 0.000011 hi link ObjCMessageExpr Normal | |
1 0.000009 hi link BlockExpr Normal | |
1 0.000011 hi link MacroDefinition Macro | |
1 0.000010 hi link MacroInstantiation Macro | |
1 0.000011 hi link IntegerLiteral Number | |
1 0.000010 hi link FloatingLiteral Float | |
1 0.000011 hi link ImaginaryLiteral Number | |
1 0.000011 hi link StringLiteral String | |
1 0.000011 hi link CharacterLiteral Character | |
1 0.000020 hi link Punctuation Normal | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/vim-clang-format/plugin/clang_format.vim | |
Sourced 1 time | |
Total time: 0.006794 | |
Self time: 0.005027 | |
count total (s) self (s) | |
if exists('g:loaded_clang_format') | |
finish | |
endif | |
1 0.000004 try | |
1 0.006361 0.004594 call operator#user#define('clang-format', 'operator#clang_format#do', 'let g:operator#clang_format#save_pos = getpos(".") \| let g:operator#clang_format#save_screen_pos = line("w0")') | |
catch /^Vim\%((\a\+)\)\=:E117/ | |
" vim-operator-user is not installed | |
1 0.000008 endtry | |
1 0.000040 command! -range=% -nargs=0 ClangFormat call clang_format#replace(<line1>, <line2>) | |
1 0.000033 command! -range=% -nargs=0 ClangFormatEchoFormattedCode echo clang_format#format(<line1>, <line2>) | |
1 0.000014 augroup plugin-clang-format-auto-format | |
1 0.000086 autocmd! | |
1 0.000022 autocmd BufWritePre * if &ft =~# '^\%(c\|cpp\|objc\)$' && g:clang_format#auto_format && !clang_format#is_invalid() | call clang_format#replace(1, line('$')) | endif | |
1 0.000044 autocmd FileType c,cpp,objc if g:clang_format#auto_format_on_insert_leave && !clang_format#is_invalid() | call clang_format#enable_format_on_insert() | endif | |
1 0.000039 autocmd FileType c,cpp,objc if g:clang_format#auto_formatexpr && !clang_format#is_invalid() | setlocal formatexpr=clang_format#replace(v:lnum,v:lnum+v:count-1) | endif | |
1 0.000004 augroup END | |
1 0.000024 command! ClangFormatAutoToggle call clang_format#toggle_auto_format() | |
1 0.000018 let g:loaded_clang_format = 1 | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/YouCompleteMe/plugin/youcompleteme.vim | |
Sourced 1 time | |
Total time: 0.001928 | |
Self time: 0.001246 | |
count total (s) self (s) | |
" Copyright (C) 2011, 2012 Google Inc. | |
" | |
" This file is part of YouCompleteMe. | |
" | |
" YouCompleteMe is free software: you can redistribute it and/or modify | |
" it under the terms of the GNU General Public License as published by | |
" the Free Software Foundation, either version 3 of the License, or | |
" (at your option) any later version. | |
" | |
" YouCompleteMe is distributed in the hope that it will be useful, | |
" but WITHOUT ANY WARRANTY; without even the implied warranty of | |
" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
" GNU General Public License for more details. | |
" | |
" You should have received a copy of the GNU General Public License | |
" along with YouCompleteMe. If not, see <http://www.gnu.org/licenses/>. | |
" This is basic vim plugin boilerplate | |
1 0.000018 let s:save_cpo = &cpo | |
1 0.000014 set cpo&vim | |
1 0.000008 function! s:restore_cpo() | |
let &cpo = s:save_cpo | |
unlet s:save_cpo | |
endfunction | |
1 0.000012 if exists( "g:loaded_youcompleteme" ) | |
call s:restore_cpo() | |
finish | |
elseif v:version < 703 || (v:version == 703 && !has('patch584')) | |
echohl WarningMsg | | |
\ echomsg "YouCompleteMe unavailable: requires Vim 7.3.584+" | | |
\ echohl None | |
call s:restore_cpo() | |
finish | |
elseif !has( 'python' ) | |
echohl WarningMsg | | |
\ echomsg "YouCompleteMe unavailable: requires Vim compiled with " . | |
\ "Python 2.x support" | | |
\ echohl None | |
call s:restore_cpo() | |
finish | |
endif | |
1 0.000066 let s:script_folder_path = escape( expand( '<sfile>:p:h' ), '\' ) | |
1 0.000013 let s:python_folder_path = s:script_folder_path . '/../python/' | |
1 0.000011 let s:ycmd_folder_path = s:script_folder_path . '/../third_party/ycmd/' | |
1 0.000008 function! s:YcmLibsPresentIn( path_prefix ) | |
if filereadable(a:path_prefix . 'ycm_client_support.so') && | |
\ filereadable(a:path_prefix . 'ycm_core.so') | |
return 1 | |
elseif filereadable(a:path_prefix . 'ycm_client_support.pyd') && | |
\ filereadable(a:path_prefix . 'ycm_core.pyd') | |
return 1 | |
elseif filereadable(a:path_prefix . 'ycm_client_support.dll') && | |
\ filereadable(a:path_prefix . 'ycm_core.dll') | |
return 1 | |
endif | |
return 0 | |
endfunction | |
1 0.000475 0.000039 if s:YcmLibsPresentIn( s:python_folder_path ) | |
echohl WarningMsg | | |
\ echomsg "YCM libraries found in old YouCompleteMe/python location; " . | |
\ "please RECOMPILE YCM." | | |
\ echohl None | |
call s:restore_cpo() | |
finish | |
endif | |
1 0.000017 let g:ycm_check_if_ycm_core_present = | |
\ get( g:, 'ycm_check_if_ycm_core_present', 1 ) | |
1 0.000240 0.000018 if g:ycm_check_if_ycm_core_present && | |
\ !s:YcmLibsPresentIn( s:ycmd_folder_path ) | |
echohl WarningMsg | | |
\ echomsg "ycm_client_support.[so|pyd|dll] and " . | |
\ "ycm_core.[so|pyd|dll] not detected; you need to compile " . | |
\ "YCM before using it. Read the docs!" | | |
\ echohl None | |
call s:restore_cpo() | |
finish | |
endif | |
1 0.000007 let g:loaded_youcompleteme = 1 | |
" NOTE: Most defaults are in default_settings.json. They are loaded into Vim | |
" global with the 'ycm_' prefix if such a key does not already exist; thus, the | |
" user can override the defaults. | |
" The only defaults that are here are the ones that are only relevant to the YCM | |
" Vim client and not the server. | |
1 0.000016 let g:ycm_allow_changing_updatetime = | |
\ get( g:, 'ycm_allow_changing_updatetime', 1 ) | |
1 0.000014 let g:ycm_open_loclist_on_ycm_diags = | |
\ get( g:, 'ycm_open_loclist_on_ycm_diags', 1 ) | |
1 0.000015 let g:ycm_add_preview_to_completeopt = | |
\ get( g:, 'ycm_add_preview_to_completeopt', 0 ) | |
1 0.000016 let g:ycm_autoclose_preview_window_after_completion = | |
\ get( g:, 'ycm_autoclose_preview_window_after_completion', 0 ) | |
1 0.000015 let g:ycm_autoclose_preview_window_after_insertion = | |
\ get( g:, 'ycm_autoclose_preview_window_after_insertion', 0 ) | |
1 0.000018 let g:ycm_key_list_select_completion = | |
\ get( g:, 'ycm_key_list_select_completion', ['<TAB>', '<Down>'] ) | |
1 0.000019 let g:ycm_key_list_previous_completion = | |
\ get( g:, 'ycm_key_list_previous_completion', ['<S-TAB>', '<Up>'] ) | |
1 0.000017 let g:ycm_key_invoke_completion = | |
\ get( g:, 'ycm_key_invoke_completion', '<C-Space>' ) | |
1 0.000015 let g:ycm_key_detailed_diagnostics = | |
\ get( g:, 'ycm_key_detailed_diagnostics', '<leader>d' ) | |
1 0.000013 let g:ycm_cache_omnifunc = | |
\ get( g:, 'ycm_cache_omnifunc', 1 ) | |
1 0.000012 let g:ycm_server_use_vim_stdout = | |
\ get( g:, 'ycm_server_use_vim_stdout', 0 ) | |
1 0.000015 let g:ycm_server_log_level = | |
\ get( g:, 'ycm_server_log_level', 'info' ) | |
1 0.000019 let g:ycm_server_keep_logfiles = | |
\ get( g:, 'ycm_server_keep_logfiles', 0 ) | |
1 0.000013 let g:ycm_extra_conf_vim_data = | |
\ get( g:, 'ycm_extra_conf_vim_data', [] ) | |
1 0.000015 let g:ycm_path_to_python_interpreter = | |
\ get( g:, 'ycm_path_to_python_interpreter', '' ) | |
1 0.000019 let g:ycm_show_diagnostics_ui = | |
\ get( g:, 'ycm_show_diagnostics_ui', | |
\ get( g:, 'ycm_register_as_syntastic_checker', 1 ) ) | |
1 0.000018 let g:ycm_enable_diagnostic_signs = | |
\ get( g:, 'ycm_enable_diagnostic_signs', | |
\ get( g:, 'syntastic_enable_signs', 1 ) ) | |
1 0.000023 let g:ycm_enable_diagnostic_highlighting = | |
\ get( g:, 'ycm_enable_diagnostic_highlighting', | |
\ get( g:, 'syntastic_enable_highlighting', 1 ) ) | |
1 0.000019 let g:ycm_echo_current_diagnostic = | |
\ get( g:, 'ycm_echo_current_diagnostic', | |
\ get( g:, 'syntastic_echo_current_error', 1 ) ) | |
1 0.000021 let g:ycm_always_populate_location_list = | |
\ get( g:, 'ycm_always_populate_location_list', | |
\ get( g:, 'syntastic_always_populate_loc_list', 0 ) ) | |
1 0.000020 let g:ycm_error_symbol = | |
\ get( g:, 'ycm_error_symbol', | |
\ get( g:, 'syntastic_error_symbol', '>>' ) ) | |
1 0.000026 let g:ycm_warning_symbol = | |
\ get( g:, 'ycm_warning_symbol', | |
\ get( g:, 'syntastic_warning_symbol', '>>' ) ) | |
1 0.000015 let g:ycm_goto_buffer_command = | |
\ get( g:, 'ycm_goto_buffer_command', 'same-buffer' ) | |
1 0.000014 let g:ycm_disable_for_files_larger_than_kb = | |
\ get( g:, 'ycm_disable_for_files_larger_than_kb', 1000 ) | |
" On-demand loading. Let's use the autoload folder and not slow down vim's | |
" startup procedure. | |
1 0.000006 augroup youcompletemeStart | |
1 0.000048 autocmd! | |
1 0.000033 autocmd VimEnter * call youcompleteme#Enable() | |
1 0.000004 augroup END | |
" This is basic vim plugin boilerplate | |
1 0.000070 0.000046 call s:restore_cpo() | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/YouCompleteMe/autoload/youcompleteme.vim | |
Sourced 1 time | |
Total time: 0.004300 | |
Self time: 0.004300 | |
count total (s) self (s) | |
" Copyright (C) 2011, 2012 Google Inc. | |
" | |
" This file is part of YouCompleteMe. | |
" | |
" YouCompleteMe is free software: you can redistribute it and/or modify | |
" it under the terms of the GNU General Public License as published by | |
" the Free Software Foundation, either version 3 of the License, or | |
" (at your option) any later version. | |
" | |
" YouCompleteMe is distributed in the hope that it will be useful, | |
" but WITHOUT ANY WARRANTY; without even the implied warranty of | |
" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
" GNU General Public License for more details. | |
" | |
" You should have received a copy of the GNU General Public License | |
" along with YouCompleteMe. If not, see <http://www.gnu.org/licenses/>. | |
" This is basic vim plugin boilerplate | |
1 0.000020 let s:save_cpo = &cpo | |
1 0.000014 set cpo&vim | |
" This needs to be called outside of a function | |
1 0.000065 let s:script_folder_path = escape( expand( '<sfile>:p:h' ), '\' ) | |
1 0.000008 let s:omnifunc_mode = 0 | |
1 0.000006 let s:old_cursor_position = [] | |
1 0.000006 let s:cursor_moved = 0 | |
1 0.000007 let s:moved_vertically_in_insert_mode = 0 | |
1 0.000007 let s:previous_num_chars_on_current_line = -1 | |
1 0.000026 let s:diagnostic_ui_filetypes = { | |
\ 'cpp': 1, | |
\ 'cs': 1, | |
\ 'c': 1, | |
\ 'objc': 1, | |
\ 'objcpp': 1, | |
\ } | |
1 0.000009 function! youcompleteme#Enable() | |
" When vim is in diff mode, don't run | |
if &diff | |
return | |
endif | |
call s:SetUpBackwardsCompatibility() | |
" This can be 0 if YCM libs are old or -1 if an exception occured while | |
" executing the function. | |
if s:SetUpPython() != 1 | |
return | |
endif | |
call s:SetUpCpoptions() | |
call s:SetUpCompleteopt() | |
call s:SetUpKeyMappings() | |
if g:ycm_show_diagnostics_ui | |
call s:TurnOffSyntasticForCFamily() | |
endif | |
call s:SetUpSigns() | |
call s:SetUpSyntaxHighlighting() | |
if g:ycm_allow_changing_updatetime && &updatetime > 2000 | |
set ut=2000 | |
endif | |
call youcompleteme#EnableCursorMovedAutocommands() | |
augroup youcompleteme | |
autocmd! | |
" Note that these events will NOT trigger for the file vim is started with; | |
" so if you do "vim foo.cc", these events will not trigger when that buffer | |
" is read. This is because youcompleteme#Enable() is called on VimEnter and | |
" that happens *after" BufRead/BufEnter has already triggered for the | |
" initial file. | |
" We also need to trigger buf init code on the FileType event because when | |
" the user does :enew and then :set ft=something, we need to run buf init | |
" code again. | |
autocmd BufReadPre * call s:OnBufferReadPre( expand( '<afile>:p' ) ) | |
autocmd BufRead,BufEnter,FileType * call s:OnBufferVisit() | |
autocmd BufUnload * call s:OnBufferUnload( expand( '<afile>:p' ) ) | |
autocmd CursorHold,CursorHoldI * call s:OnCursorHold() | |
autocmd InsertLeave * call s:OnInsertLeave() | |
autocmd InsertEnter * call s:OnInsertEnter() | |
autocmd VimLeave * call s:OnVimLeave() | |
augroup END | |
" Calling these once solves the problem of BufReadPre/BufRead/BufEnter not | |
" triggering for the first loaded file. This should be the last commands | |
" executed in this function! | |
call s:OnBufferReadPre( expand( '<afile>:p' ) ) | |
call s:OnBufferVisit() | |
endfunction | |
1 0.000013 function! youcompleteme#EnableCursorMovedAutocommands() | |
augroup ycmcompletemecursormove | |
autocmd! | |
autocmd CursorMovedI * call s:OnCursorMovedInsertMode() | |
autocmd CursorMoved * call s:OnCursorMovedNormalMode() | |
augroup END | |
endfunction | |
1 0.000009 function! youcompleteme#DisableCursorMovedAutocommands() | |
autocmd! ycmcompletemecursormove CursorMoved * | |
autocmd! ycmcompletemecursormove CursorMovedI * | |
endfunction | |
1 0.000007 function! s:SetUpPython() abort | |
py import sys | |
py import vim | |
exe 'python sys.path.insert( 0, "' . s:script_folder_path . '/../python" )' | |
exe 'python sys.path.insert( 0, "' . s:script_folder_path . | |
\ '/../third_party/ycmd" )' | |
py from ycmd import utils | |
exe 'py utils.AddNearestThirdPartyFoldersToSysPath("' | |
\ . s:script_folder_path . '")' | |
" We need to import ycmd's third_party folders as well since we import and | |
" use ycmd code in the client. | |
py utils.AddNearestThirdPartyFoldersToSysPath( utils.__file__ ) | |
py from ycm import base | |
py base.LoadJsonDefaultsIntoVim() | |
py from ycmd import user_options_store | |
py user_options_store.SetAll( base.BuildServerConf() ) | |
py from ycm import vimsupport | |
if !pyeval( 'base.CompatibleWithYcmCore()') | |
echohl WarningMsg | | |
\ echomsg "YouCompleteMe unavailable: YCM support libs too old, PLEASE RECOMPILE" | | |
\ echohl None | |
return 0 | |
endif | |
py from ycm.youcompleteme import YouCompleteMe | |
py ycm_state = YouCompleteMe( user_options_store.GetAll() ) | |
return 1 | |
endfunction | |
1 0.000007 function! s:SetUpKeyMappings() | |
" The g:ycm_key_select_completion and g:ycm_key_previous_completion used to | |
" exist and are now here purely for the sake of backwards compatibility; we | |
" don't want to break users if we can avoid it. | |
if exists('g:ycm_key_select_completion') && | |
\ index(g:ycm_key_list_select_completion, | |
\ g:ycm_key_select_completion) == -1 | |
call add(g:ycm_key_list_select_completion, g:ycm_key_select_completion) | |
endif | |
if exists('g:ycm_key_previous_completion') && | |
\ index(g:ycm_key_list_previous_completion, | |
\ g:ycm_key_previous_completion) == -1 | |
call add(g:ycm_key_list_previous_completion, g:ycm_key_previous_completion) | |
endif | |
for key in g:ycm_key_list_select_completion | |
" With this command, when the completion window is visible, the tab key | |
" (default) will select the next candidate in the window. In vim, this also | |
" changes the typed-in text to that of the candidate completion. | |
exe 'inoremap <expr>' . key . | |
\ ' pumvisible() ? "\<C-n>" : "\' . key .'"' | |
endfor | |
for key in g:ycm_key_list_previous_completion | |
" This selects the previous candidate for shift-tab (default) | |
exe 'inoremap <expr>' . key . | |
\ ' pumvisible() ? "\<C-p>" : "\' . key .'"' | |
endfor | |
if !empty( g:ycm_key_invoke_completion ) | |
let invoke_key = g:ycm_key_invoke_completion | |
" Inside the console, <C-Space> is passed as <Nul> to Vim | |
if invoke_key ==# '<C-Space>' && !has('gui_running') | |
let invoke_key = '<Nul>' | |
endif | |
" <c-x><c-o> trigger omni completion, <c-p> deselects the first completion | |
" candidate that vim selects by default | |
silent! exe 'inoremap <unique> ' . invoke_key . ' <C-X><C-O><C-P>' | |
endif | |
if !empty( g:ycm_key_detailed_diagnostics ) | |
silent! exe 'nnoremap <unique> ' . g:ycm_key_detailed_diagnostics . | |
\ ' :YcmShowDetailedDiagnostic<cr>' | |
endif | |
endfunction | |
1 0.000007 function! s:SetUpSigns() | |
" We try to ensure backwards compatibility with Syntastic if the user has | |
" already defined styling for Syntastic highlight groups. | |
if !hlexists( 'YcmErrorSign' ) | |
if hlexists( 'SyntasticErrorSign') | |
highlight link YcmErrorSign SyntasticErrorSign | |
else | |
highlight link YcmErrorSign error | |
endif | |
endif | |
if !hlexists( 'YcmWarningSign' ) | |
if hlexists( 'SyntasticWarningSign') | |
highlight link YcmWarningSign SyntasticWarningSign | |
else | |
highlight link YcmWarningSign todo | |
endif | |
endif | |
if !hlexists( 'YcmErrorLine' ) | |
highlight link YcmErrorLine SyntasticErrorLine | |
endif | |
if !hlexists( 'YcmWarningLine' ) | |
highlight link YcmWarningLine SyntasticWarningLine | |
endif | |
exe 'sign define YcmError text=' . g:ycm_error_symbol . | |
\ ' texthl=YcmErrorSign linehl=YcmErrorLine' | |
exe 'sign define YcmWarning text=' . g:ycm_warning_symbol . | |
\ ' texthl=YcmWarningSign linehl=YcmWarningLine' | |
endfunction | |
1 0.000008 function! s:SetUpSyntaxHighlighting() | |
" We try to ensure backwards compatibility with Syntastic if the user has | |
" already defined styling for Syntastic highlight groups. | |
if !hlexists( 'YcmErrorSection' ) | |
if hlexists( 'SyntasticError' ) | |
highlight link YcmErrorSection SyntasticError | |
else | |
highlight link YcmErrorSection SpellBad | |
endif | |
endif | |
if !hlexists( 'YcmWarningSection' ) | |
if hlexists( 'SyntasticWarning' ) | |
highlight link YcmWarningSection SyntasticWarning | |
else | |
highlight link YcmWarningSection SpellCap | |
endif | |
endif | |
endfunction | |
1 0.000008 function! s:SetUpBackwardsCompatibility() | |
let complete_in_comments_and_strings = | |
\ get( g:, 'ycm_complete_in_comments_and_strings', 0 ) | |
if complete_in_comments_and_strings | |
let g:ycm_complete_in_strings = 1 | |
let g:ycm_complete_in_comments = 1 | |
endif | |
" ycm_filetypes_to_completely_ignore is the old name for fileype_blacklist | |
if has_key( g:, 'ycm_filetypes_to_completely_ignore' ) | |
let g:filetype_blacklist = g:ycm_filetypes_to_completely_ignore | |
endif | |
endfunction | |
" Needed so that YCM is used instead of Syntastic | |
1 0.000007 function! s:TurnOffSyntasticForCFamily() | |
let g:syntastic_cpp_checkers = [] | |
let g:syntastic_c_checkers = [] | |
let g:syntastic_objc_checkers = [] | |
let g:syntastic_objcpp_checkers = [] | |
endfunction | |
1 0.000008 function! s:DiagnosticUiSupportedForCurrentFiletype() | |
return get( s:diagnostic_ui_filetypes, &filetype, 0 ) | |
endfunction | |
1 0.000007 function! s:AllowedToCompleteInCurrentFile() | |
if empty( &filetype ) || | |
\ getbufvar( winbufnr( winnr() ), "&buftype" ) ==# 'nofile' || | |
\ &filetype ==# 'qf' | |
return 0 | |
endif | |
if exists( 'b:ycm_largefile' ) | |
return 0 | |
endif | |
let whitelist_allows = has_key( g:ycm_filetype_whitelist, '*' ) || | |
\ has_key( g:ycm_filetype_whitelist, &filetype ) | |
let blacklist_allows = !has_key( g:ycm_filetype_blacklist, &filetype ) | |
return whitelist_allows && blacklist_allows | |
endfunction | |
1 0.000007 function! s:SetUpCpoptions() | |
" Without this flag in cpoptions, critical YCM mappings do not work. There's | |
" no way to not have this and have YCM working, so force the flag. | |
set cpoptions+=B | |
" This prevents the display of "Pattern not found" & similar messages during | |
" completion. This is only available since Vim 7.4.314 | |
if pyeval( 'vimsupport.VimVersionAtLeast("7.4.314")' ) | |
set shortmess+=c | |
endif | |
endfunction | |
1 0.000007 function! s:SetUpCompleteopt() | |
" Some plugins (I'm looking at you, vim-notes) change completeopt by for | |
" instance adding 'longest'. This breaks YCM. So we force our settings. | |
" There's no two ways about this: if you want to use YCM then you have to | |
" have these completeopt settings, otherwise YCM won't work at all. | |
" We need menuone in completeopt, otherwise when there's only one candidate | |
" for completion, the menu doesn't show up. | |
set completeopt-=menu | |
set completeopt+=menuone | |
" This is unnecessary with our features. People use this option to insert | |
" the common prefix of all the matches and then add more differentiating chars | |
" so that they can select a more specific match. With our features, they | |
" don't need to insert the prefix; they just type the differentiating chars. | |
" Also, having this option set breaks the plugin. | |
set completeopt-=longest | |
if g:ycm_add_preview_to_completeopt | |
set completeopt+=preview | |
endif | |
endfunction | |
" For various functions/use-cases, we want to keep track of whether the buffer | |
" has changed since the last time they were invoked. We keep the state of | |
" b:changedtick of the last time the specific function was called in | |
" b:ycm_changedtick. | |
1 0.000007 function! s:SetUpYcmChangedTick() | |
let b:ycm_changedtick = | |
\ get( b:, 'ycm_changedtick', { | |
\ 'file_ready_to_parse' : -1, | |
\ } ) | |
endfunction | |
1 0.000006 function! s:OnVimLeave() | |
py ycm_state.OnVimLeave() | |
endfunction | |
1 0.000006 function! s:OnBufferReadPre(filename) | |
let threshold = g:ycm_disable_for_files_larger_than_kb * 1024 | |
if threshold > 0 && getfsize( a:filename ) > threshold | |
echohl WarningMsg | | |
\ echomsg "YouCompleteMe is disabled in this buffer; " . | |
\ "the file exceeded the max size (see YCM options)." | | |
\ echohl None | |
let b:ycm_largefile = 1 | |
endif | |
endfunction | |
1 0.000006 function! s:OnBufferVisit() | |
" We need to do this even when we are not allowed to complete in the current | |
" file because we might be allowed to complete in the future! The canonical | |
" example is creating a new buffer with :enew and then setting a filetype. | |
call s:SetUpYcmChangedTick() | |
if !s:AllowedToCompleteInCurrentFile() | |
return | |
endif | |
call s:SetUpCompleteopt() | |
call s:SetCompleteFunc() | |
py ycm_state.OnBufferVisit() | |
call s:OnFileReadyToParse() | |
endfunction | |
1 0.000008 function! s:OnBufferUnload( deleted_buffer_file ) | |
if !s:AllowedToCompleteInCurrentFile() || empty( a:deleted_buffer_file ) | |
return | |
endif | |
py ycm_state.OnBufferUnload( vim.eval( 'a:deleted_buffer_file' ) ) | |
endfunction | |
1 0.000005 function! s:OnCursorHold() | |
if !s:AllowedToCompleteInCurrentFile() | |
return | |
endif | |
call s:SetUpCompleteopt() | |
call s:OnFileReadyToParse() | |
endfunction | |
1 0.000007 function! s:OnFileReadyToParse() | |
" We need to call this just in case there is no b:ycm_changetick; this can | |
" happen for special buffers. | |
call s:SetUpYcmChangedTick() | |
" Order is important here; we need to extract any done diagnostics before | |
" reparsing the file again. If we sent the new parse request first, then | |
" the response would always be pending when we called | |
" UpdateDiagnosticNotifications. | |
call s:UpdateDiagnosticNotifications() | |
let buffer_changed = b:changedtick != b:ycm_changedtick.file_ready_to_parse | |
if buffer_changed | |
py ycm_state.OnFileReadyToParse() | |
endif | |
let b:ycm_changedtick.file_ready_to_parse = b:changedtick | |
endfunction | |
1 0.000005 function! s:SetCompleteFunc() | |
let &completefunc = 'youcompleteme#Complete' | |
let &l:completefunc = 'youcompleteme#Complete' | |
if pyeval( 'ycm_state.NativeFiletypeCompletionUsable()' ) | |
let &omnifunc = 'youcompleteme#OmniComplete' | |
let &l:omnifunc = 'youcompleteme#OmniComplete' | |
" If we don't have native filetype support but the omnifunc is set to YCM's | |
" omnifunc because the previous file the user was editing DID have native | |
" support, we remove our omnifunc. | |
elseif &omnifunc == 'youcompleteme#OmniComplete' | |
let &omnifunc = '' | |
let &l:omnifunc = '' | |
endif | |
endfunction | |
1 0.000007 function! s:OnCursorMovedInsertMode() | |
if !s:AllowedToCompleteInCurrentFile() | |
return | |
endif | |
py ycm_state.OnCursorMoved() | |
call s:UpdateCursorMoved() | |
" Basically, we need to only trigger the completion menu when the user has | |
" inserted or deleted a character, NOT just when the user moves in insert mode | |
" (with, say, the arrow keys). If we trigger the menu even on pure moves, then | |
" it's impossible to move in insert mode since the up/down arrows start moving | |
" the selected completion in the completion menu. Yeah, people shouldn't be | |
" moving in insert mode at all (that's what normal mode is for) but explain | |
" that to the users who complain... | |
if !s:BufferTextChangedSinceLastMoveInInsertMode() | |
return | |
endif | |
call s:IdentifierFinishedOperations() | |
if g:ycm_autoclose_preview_window_after_completion | |
call s:ClosePreviewWindowIfNeeded() | |
endif | |
if g:ycm_auto_trigger || s:omnifunc_mode | |
call s:InvokeCompletion() | |
endif | |
" We have to make sure we correctly leave omnifunc mode even when the user | |
" inserts something like a "operator[]" candidate string which fails | |
" CurrentIdentifierFinished check. | |
if s:omnifunc_mode && !pyeval( 'base.LastEnteredCharIsIdentifierChar()') | |
let s:omnifunc_mode = 0 | |
endif | |
endfunction | |
1 0.000007 function! s:OnCursorMovedNormalMode() | |
if !s:AllowedToCompleteInCurrentFile() | |
return | |
endif | |
call s:OnFileReadyToParse() | |
py ycm_state.OnCursorMoved() | |
endfunction | |
1 0.000005 function! s:OnInsertLeave() | |
if !s:AllowedToCompleteInCurrentFile() | |
return | |
endif | |
let s:omnifunc_mode = 0 | |
call s:OnFileReadyToParse() | |
py ycm_state.OnInsertLeave() | |
if g:ycm_autoclose_preview_window_after_completion || | |
\ g:ycm_autoclose_preview_window_after_insertion | |
call s:ClosePreviewWindowIfNeeded() | |
endif | |
endfunction | |
1 0.000006 function! s:OnInsertEnter() | |
if !s:AllowedToCompleteInCurrentFile() | |
return | |
endif | |
let s:old_cursor_position = [] | |
endfunction | |
1 0.000005 function! s:UpdateCursorMoved() | |
let current_position = getpos('.') | |
let s:cursor_moved = current_position != s:old_cursor_position | |
let s:moved_vertically_in_insert_mode = s:old_cursor_position != [] && | |
\ current_position[ 1 ] != s:old_cursor_position[ 1 ] | |
let s:old_cursor_position = current_position | |
endfunction | |
1 0.000010 function! s:BufferTextChangedSinceLastMoveInInsertMode() | |
if s:moved_vertically_in_insert_mode | |
let s:previous_num_chars_on_current_line = -1 | |
return 0 | |
endif | |
let num_chars_in_current_cursor_line = strlen( getline('.') ) | |
if s:previous_num_chars_on_current_line == -1 | |
let s:previous_num_chars_on_current_line = num_chars_in_current_cursor_line | |
return 0 | |
endif | |
let changed_text_on_current_line = num_chars_in_current_cursor_line != | |
\ s:previous_num_chars_on_current_line | |
let s:previous_num_chars_on_current_line = num_chars_in_current_cursor_line | |
return changed_text_on_current_line | |
endfunction | |
1 0.000007 function! s:ClosePreviewWindowIfNeeded() | |
let current_buffer_name = bufname('') | |
" We don't want to try to close the preview window in special buffers like | |
" "[Command Line]"; if we do, Vim goes bonkers. Special buffers always start | |
" with '['. | |
if current_buffer_name[ 0 ] == '[' | |
return | |
endif | |
" This command does the actual closing of the preview window. If no preview | |
" window is shown, nothing happens. | |
pclose | |
endfunction | |
1 0.000008 function! s:UpdateDiagnosticNotifications() | |
let should_display_diagnostics = g:ycm_show_diagnostics_ui && | |
\ s:DiagnosticUiSupportedForCurrentFiletype() && | |
\ pyeval( 'ycm_state.NativeFiletypeCompletionUsable()' ) | |
if !should_display_diagnostics | |
return | |
endif | |
py ycm_state.UpdateDiagnosticInterface() | |
endfunction | |
1 0.000007 function! s:IdentifierFinishedOperations() | |
if !pyeval( 'base.CurrentIdentifierFinished()' ) | |
return | |
endif | |
py ycm_state.OnCurrentIdentifierFinished() | |
let s:omnifunc_mode = 0 | |
endfunction | |
" Returns 1 when inside comment and 2 when inside string | |
1 0.000006 function! s:InsideCommentOrString() | |
" Has to be col('.') -1 because col('.') doesn't exist at this point. We are | |
" in insert mode when this func is called. | |
let syntax_group = synIDattr( synIDtrans( synID( line( '.' ), col( '.' ) - 1, 1 ) ), 'name') | |
if stridx(syntax_group, 'Comment') > -1 | |
return 1 | |
endif | |
if stridx(syntax_group, 'String') > -1 | |
return 2 | |
endif | |
return 0 | |
endfunction | |
1 0.000007 function! s:InsideCommentOrStringAndShouldStop() | |
let retval = s:InsideCommentOrString() | |
let inside_comment = retval == 1 | |
let inside_string = retval == 2 | |
if inside_comment && g:ycm_complete_in_comments || | |
\ inside_string && g:ycm_complete_in_strings | |
return 0 | |
endif | |
return retval | |
endfunction | |
1 0.000006 function! s:OnBlankLine() | |
return pyeval( 'not vim.current.line or vim.current.line.isspace()' ) | |
endfunction | |
1 0.000006 function! s:InvokeCompletion() | |
if &completefunc != "youcompleteme#Complete" | |
return | |
endif | |
if s:InsideCommentOrStringAndShouldStop() || s:OnBlankLine() | |
return | |
endif | |
" This is tricky. First, having 'refresh' set to 'always' in the dictionary | |
" that our completion function returns makes sure that our completion function | |
" is called on every keystroke. Second, when the sequence of characters the | |
" user typed produces no results in our search an infinite loop can occur. The | |
" problem is that our feedkeys call triggers the OnCursorMovedI event which we | |
" are tied to. We prevent this infinite loop from starting by making sure that | |
" the user has moved the cursor since the last time we provided completion | |
" results. | |
if !s:cursor_moved | |
return | |
endif | |
" <c-x><c-u> invokes the user's completion function (which we have set to | |
" youcompleteme#Complete), and <c-p> tells Vim to select the previous | |
" completion candidate. This is necessary because by default, Vim selects the | |
" first candidate when completion is invoked, and selecting a candidate | |
" automatically replaces the current text with it. Calling <c-p> forces Vim to | |
" deselect the first candidate and in turn preserve the user's current text | |
" until he explicitly chooses to replace it with a completion. | |
call feedkeys( "\<C-X>\<C-U>\<C-P>", 'n' ) | |
endfunction | |
1 0.000004 python << EOF | |
def GetCompletionsInner(): | |
request = ycm_state.GetCurrentCompletionRequest() | |
request.Start() | |
while not request.Done(): | |
if bool( int( vim.eval( 'complete_check()' ) ) ): | |
return { 'words' : [], 'refresh' : 'always'} | |
results = base.AdjustCandidateInsertionText( request.Response() ) | |
return { 'words' : results, 'refresh' : 'always' } | |
EOF | |
1 0.000009 function! s:GetCompletions() | |
py results = GetCompletionsInner() | |
let results = pyeval( 'results' ) | |
return results | |
endfunction | |
" This is our main entry point. This is what vim calls to get completions. | |
1 0.000010 function! youcompleteme#Complete( findstart, base ) | |
" After the user types one character after the call to the omnifunc, the | |
" completefunc will be called because of our mapping that calls the | |
" completefunc on every keystroke. Therefore we need to delegate the call we | |
" 'stole' back to the omnifunc | |
if s:omnifunc_mode | |
return youcompleteme#OmniComplete( a:findstart, a:base ) | |
endif | |
if a:findstart | |
" InvokeCompletion has this check but we also need it here because of random | |
" Vim bugs and unfortunate interactions with the autocommands of other | |
" plugins | |
if !s:cursor_moved | |
" for vim, -2 means not found but don't trigger an error message | |
" see :h complete-functions | |
return -2 | |
endif | |
if !pyeval( 'ycm_state.IsServerAlive()' ) | |
return -2 | |
endif | |
py ycm_state.CreateCompletionRequest() | |
return pyeval( 'base.CompletionStartColumn()' ) | |
else | |
return s:GetCompletions() | |
endif | |
endfunction | |
1 0.000010 function! youcompleteme#OmniComplete( findstart, base ) | |
if a:findstart | |
if !pyeval( 'ycm_state.IsServerAlive()' ) | |
return -2 | |
endif | |
let s:omnifunc_mode = 1 | |
py ycm_state.CreateCompletionRequest( force_semantic = True ) | |
return pyeval( 'base.CompletionStartColumn()' ) | |
else | |
return s:GetCompletions() | |
endif | |
endfunction | |
1 0.000007 function! youcompleteme#ServerPid() | |
return pyeval( 'ycm_state.ServerPid()' ) | |
endfunction | |
1 0.000006 function! s:RestartServer() | |
py ycm_state.RestartServer() | |
endfunction | |
1 0.000032 command! YcmRestartServer call s:RestartServer() | |
1 0.000007 function! s:ShowDetailedDiagnostic() | |
py ycm_state.ShowDetailedDiagnostic() | |
endfunction | |
1 0.000027 command! YcmShowDetailedDiagnostic call s:ShowDetailedDiagnostic() | |
1 0.000005 function! s:DebugInfo() | |
echom "Printing YouCompleteMe debug information..." | |
let debug_info = pyeval( 'ycm_state.DebugInfo()' ) | |
for line in split( debug_info, "\n" ) | |
echom '-- ' . line | |
endfor | |
endfunction | |
1 0.000026 command! YcmDebugInfo call s:DebugInfo() | |
1 0.000007 function! s:CompleterCommand(...) | |
" CompleterCommand will call the OnUserCommand function of a completer. | |
" If the first arguments is of the form "ft=..." it can be used to specify the | |
" completer to use (for example "ft=cpp"). Else the native filetype completer | |
" of the current buffer is used. If no native filetype completer is found and | |
" no completer was specified this throws an error. You can use | |
" "ft=ycm:ident" to select the identifier completer. | |
" The remaining arguments will be passed to the completer. | |
let arguments = copy(a:000) | |
let completer = '' | |
if a:0 > 0 && strpart(a:1, 0, 3) == 'ft=' | |
if a:1 == 'ft=ycm:ident' | |
let completer = 'identifier' | |
endif | |
let arguments = arguments[1:] | |
endif | |
py ycm_state.SendCommandRequest( vim.eval( 'l:arguments' ), | |
\ vim.eval( 'l:completer' ) ) | |
endfunction | |
1 0.000008 function! youcompleteme#OpenGoToList() | |
set lazyredraw | |
cclose | |
execute 'belowright copen 3' | |
set nolazyredraw | |
au WinLeave <buffer> q " automatically leave, if an option is chosen | |
redraw! | |
endfunction | |
1 0.000036 command! -nargs=* -complete=custom,youcompleteme#SubCommandsComplete | |
\ YcmCompleter call s:CompleterCommand(<f-args>) | |
1 0.000011 function! youcompleteme#SubCommandsComplete( arglead, cmdline, cursorpos ) | |
return join( pyeval( 'ycm_state.GetDefinedSubcommands()' ), | |
\ "\n") | |
endfunction | |
1 0.000007 function! s:ForceCompile() | |
if !pyeval( 'ycm_state.NativeFiletypeCompletionUsable()' ) | |
echom "Native filetype completion not supported for current file, " | |
\ . "cannot force recompilation." | |
return 0 | |
endif | |
echom "Forcing compilation, this will block Vim until done." | |
py ycm_state.OnFileReadyToParse() | |
while 1 | |
let diagnostics_ready = pyeval( | |
\ 'ycm_state.DiagnosticsForCurrentFileReady()' ) | |
if diagnostics_ready | |
break | |
endif | |
sleep 100m | |
endwhile | |
return 1 | |
endfunction | |
1 0.000006 function! s:ForceCompileAndDiagnostics() | |
let compilation_succeeded = s:ForceCompile() | |
if !compilation_succeeded | |
return | |
endif | |
call s:UpdateDiagnosticNotifications() | |
echom "Diagnostics refreshed." | |
endfunction | |
1 0.000030 command! YcmForceCompileAndDiagnostics call s:ForceCompileAndDiagnostics() | |
1 0.000006 function! s:ShowDiagnostics() | |
let compilation_succeeded = s:ForceCompile() | |
if !compilation_succeeded | |
return | |
endif | |
let diags = pyeval( | |
\ 'ycm_state.GetDiagnosticsFromStoredRequest( qflist_format = True )' ) | |
if !empty( diags ) | |
call setloclist( 0, diags ) | |
if g:ycm_open_loclist_on_ycm_diags | |
lopen | |
endif | |
else | |
echom "No warnings or errors detected" | |
endif | |
endfunction | |
1 0.000024 command! YcmDiags call s:ShowDiagnostics() | |
" This is basic vim plugin boilerplate | |
1 0.000018 let &cpo = s:save_cpo | |
1 0.000017 unlet s:save_cpo | |
SCRIPT /usr/local/share/vim/vim74/ftplugof.vim | |
Sourced 1 time | |
Total time: 0.000180 | |
Self time: 0.000180 | |
count total (s) self (s) | |
" Vim support file to switch off loading plugins for file types | |
" | |
" Maintainer: Bram Moolenaar <Bram@vim.org> | |
" Last Change: 2011 Oct 20 | |
1 0.000015 if exists("did_load_ftplugin") | |
1 0.000015 unlet did_load_ftplugin | |
1 0.000006 endif | |
" Remove all autocommands in the filetypeplugin group, if any exist. | |
1 0.000010 if exists("#filetypeplugin") | |
1 0.000092 silent! au! filetypeplugin * | |
1 0.000012 endif | |
SCRIPT /usr/local/share/vim/vim74/indoff.vim | |
Sourced 1 time | |
Total time: 0.000106 | |
Self time: 0.000106 | |
count total (s) self (s) | |
" Vim support file to switch off loading indent files for file types | |
" | |
" Maintainer: Bram Moolenaar <Bram@vim.org> | |
" Last Change: 2001 Jun 11 | |
1 0.000013 if exists("did_indent_on") | |
1 0.000006 unlet did_indent_on | |
1 0.000003 endif | |
" Remove all autocommands in the filetypeindent group | |
1 0.000058 silent! au! filetypeindent * | |
SCRIPT /usr/local/share/vim/vim74/syntax/cpp.vim | |
Sourced 3 times | |
Total time: 0.071299 | |
Self time: 0.013069 | |
count total (s) self (s) | |
" Vim syntax file | |
" Language: C++ | |
" Current Maintainer: vim-jp (https://github.com/vim-jp/cpp-vim) | |
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu> | |
" Last Change: 2012 Jun 14 | |
" For version 5.x: Clear all syntax items | |
" For version 6.x: Quit when a syntax file was already loaded | |
3 0.000031 if version < 600 | |
syntax clear | |
elseif exists("b:current_syntax") | |
finish | |
endif | |
" Read the C syntax to start with | |
3 0.000013 if version < 600 | |
so <sfile>:p:h/c.vim | |
else | |
3 0.007759 runtime! syntax/c.vim | |
3 0.000032 unlet b:current_syntax | |
3 0.000010 endif | |
" C++ extensions | |
3 0.000043 syn keyword cppStatement new delete this friend using | |
3 0.000034 syn keyword cppAccess public protected private | |
3 0.000042 syn keyword cppType inline virtual explicit export bool wchar_t | |
3 0.000035 syn keyword cppExceptions throw try catch | |
3 0.000030 syn keyword cppOperator operator typeid | |
3 0.000055 syn keyword cppOperator and bitor or xor compl bitand and_eq or_eq xor_eq not not_eq | |
3 0.000093 syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*<"me=e-1 | |
3 0.000078 syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$" | |
3 0.000032 syn keyword cppStorageClass mutable | |
3 0.000039 syn keyword cppStructure class typename template namespace | |
3 0.000032 syn keyword cppBoolean true false | |
" C++ 11 extensions | |
3 0.000034 if !exists("cpp_no_cpp11") | |
3 0.000029 syn keyword cppType override final | |
3 0.000023 syn keyword cppExceptions noexcept | |
3 0.000027 syn keyword cppStorageClass constexpr decltype | |
3 0.000029 syn keyword cppConstant nullptr | |
3 0.000009 endif | |
" The minimum and maximum operators in GNU C++ | |
3 0.000053 syn match cppMinMax "[<>]?" | |
" Default highlighting | |
3 0.000024 if version >= 508 || !exists("did_cpp_syntax_inits") | |
3 0.000014 if version < 508 | |
let did_cpp_syntax_inits = 1 | |
command -nargs=+ HiLink hi link <args> | |
else | |
3 0.000104 command -nargs=+ HiLink hi def link <args> | |
3 0.000008 endif | |
3 0.000050 HiLink cppAccess cppStatement | |
3 0.000038 HiLink cppCast cppStatement | |
3 0.000044 HiLink cppExceptions Exception | |
3 0.000044 HiLink cppOperator Operator | |
3 0.000048 HiLink cppStatement Statement | |
3 0.000047 HiLink cppType Type | |
3 0.000048 HiLink cppStorageClass StorageClass | |
3 0.000044 HiLink cppStructure Structure | |
3 0.000052 HiLink cppBoolean Boolean | |
3 0.000049 HiLink cppConstant Constant | |
3 0.000019 delcommand HiLink | |
3 0.000007 endif | |
3 0.000023 let b:current_syntax = "cpp" | |
" vim: ts=8 | |
SCRIPT /usr/local/share/vim/vim74/syntax/c.vim | |
Sourced 3 times | |
Total time: 0.025077 | |
Self time: 0.025077 | |
count total (s) self (s) | |
" Vim syntax file | |
" Language: C | |
" Maintainer: Bram Moolenaar <Bram@vim.org> | |
" Last Change: 2013 Jul 05 | |
" Quit when a (custom) syntax file was already loaded | |
3 0.000041 if exists("b:current_syntax") | |
finish | |
endif | |
3 0.000058 let s:cpo_save = &cpo | |
3 0.000048 set cpo&vim | |
3 0.000170 let s:ft = matchstr(&ft, '^\([^.]\)\+') | |
" A bunch of useful C keywords | |
3 0.000083 syn keyword cStatement goto break return continue asm | |
3 0.000033 syn keyword cLabel case default | |
3 0.000075 syn keyword cConditional if else switch | |
3 0.000035 syn keyword cRepeat while for do | |
3 0.000039 syn keyword cTodo contained TODO FIXME XXX | |
" It's easy to accidentally add a space after a backslash that was intended | |
" for line continuation. Some compilers allow it, which makes it | |
" unpredictable and should be avoided. | |
3 0.000069 syn match cBadContinuation contained "\\\s\+$" | |
" cCommentGroup allows adding matches for special things in comments | |
3 0.000073 syn cluster cCommentGroup contains=cTodo,cBadContinuation | |
" String and Character constants | |
" Highlight special characters (those which have a backslash) differently | |
3 0.000093 syn match cSpecial display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)" | |
3 0.000032 if !exists("c_no_utf") | |
3 0.000069 syn match cSpecial display contained "\\\(u\x\{4}\|U\x\{8}\)" | |
3 0.000010 endif | |
3 0.000025 if exists("c_no_cformat") | |
syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend | |
" cCppString: same as cString, but ends at end of line | |
if !exists("cpp_no_cpp11") " ISO C++11 | |
syn region cCppString start=+\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell | |
else | |
syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell | |
endif | |
syn region cCppOut2 contained start="0" end="^\s*\(%:\|#\)\s*\(endif\>\|else\>\|elif\>\)" contains=cSpaceError,cCppSkip | |
syn region cCppSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppSkip | |
else | |
3 0.000027 if !exists("c_no_c99") " ISO C99 | |
3 0.000140 syn match cFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlLjzt]\|ll\|hh\)\=\([aAbdiuoxXDOUfFeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained | |
3 0.000014 else | |
syn match cFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained | |
endif | |
3 0.000049 syn match cFormat display "%%" contained | |
3 0.000172 syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend | |
" cCppString: same as cString, but ends at end of line | |
3 0.000202 syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell | |
3 0.000012 endif | |
3 0.000054 syn match cCharacter "L\='[^\\]'" | |
3 0.000085 syn match cCharacter "L'[^']*'" contains=cSpecial | |
3 0.000031 if exists("c_gnu") | |
syn match cSpecialError "L\='\\[^'\"?\\abefnrtv]'" | |
syn match cSpecialCharacter "L\='\\['\"?\\abefnrtv]'" | |
else | |
3 0.000071 syn match cSpecialError "L\='\\[^'\"?\\abfnrtv]'" | |
3 0.000062 syn match cSpecialCharacter "L\='\\['\"?\\abfnrtv]'" | |
3 0.000011 endif | |
3 0.000054 syn match cSpecialCharacter display "L\='\\\o\{1,3}'" | |
3 0.000051 syn match cSpecialCharacter display "'\\x\x\{1,2}'" | |
3 0.000060 syn match cSpecialCharacter display "L'\\x\x\+'" | |
3 0.000028 if !exists("c_no_c11") " ISO C11 | |
3 0.000024 if exists("c_no_cformat") | |
syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend | |
else | |
3 0.000175 syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend | |
3 0.000010 endif | |
3 0.000053 syn match cCharacter "[Uu]'[^\\]'" | |
3 0.000071 syn match cCharacter "[Uu]'[^']*'" contains=cSpecial | |
3 0.000028 if exists("c_gnu") | |
syn match cSpecialError "[Uu]'\\[^'\"?\\abefnrtv]'" | |
syn match cSpecialCharacter "[Uu]'\\['\"?\\abefnrtv]'" | |
else | |
3 0.000053 syn match cSpecialError "[Uu]'\\[^'\"?\\abfnrtv]'" | |
3 0.000055 syn match cSpecialCharacter "[Uu]'\\['\"?\\abfnrtv]'" | |
3 0.000020 endif | |
3 0.000056 syn match cSpecialCharacter display "[Uu]'\\\o\{1,3}'" | |
3 0.000054 syn match cSpecialCharacter display "[Uu]'\\x\x\+'" | |
3 0.000009 endif | |
"when wanted, highlight trailing white space | |
3 0.000027 if exists("c_space_errors") | |
if !exists("c_no_trail_space_error") | |
syn match cSpaceError display excludenl "\s\+$" | |
endif | |
if !exists("c_no_tab_space_error") | |
syn match cSpaceError display " \+\t"me=e-1 | |
endif | |
endif | |
" This should be before cErrInParen to avoid problems with #define ({ xxx }) | |
3 0.000026 if exists("c_curly_error") | |
syn match cCurlyError "}" | |
syn region cBlock start="{" end="}" contains=ALLBUT,cBadBlock,cCurlyError,@cParenGroup,cErrInParen,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell fold | |
else | |
3 0.000081 syn region cBlock start="{" end="}" transparent fold | |
3 0.000011 endif | |
"catch errors caused by wrong parenthesis and brackets | |
" also accept <% for {, %> for }, <: for [ and :> for ] (C99) | |
" But avoid matching <::. | |
3 0.000409 syn cluster cParenGroup contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserLabel,cBitField,cOctalZero,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom | |
3 0.000032 if exists("c_no_curly_error") | |
3 0.000038 if s:ft ==# 'cpp' && !exists("cpp_no_cpp11") | |
3 0.000172 syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cCppString,@Spell | |
" cCppParen: same as cParen but ends at end-of-line; used in cDefine | |
3 0.000215 syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell | |
3 0.000052 syn match cParenError display ")" | |
3 0.000054 syn match cErrInParen display contained "^^<%\|^%>" | |
3 0.000011 else | |
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell | |
" cCppParen: same as cParen but ends at end-of-line; used in cDefine | |
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell | |
syn match cParenError display ")" | |
syn match cErrInParen display contained "^[{}]\|^<%\|^%>" | |
endif | |
3 0.000020 elseif exists("c_no_bracket_error") | |
if s:ft ==# 'cpp' && !exists("cpp_no_cpp11") | |
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cCppString,@Spell | |
" cCppParen: same as cParen but ends at end-of-line; used in cDefine | |
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell | |
syn match cParenError display ")" | |
syn match cErrInParen display contained "<%\|%>" | |
else | |
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell | |
" cCppParen: same as cParen but ends at end-of-line; used in cDefine | |
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell | |
syn match cParenError display ")" | |
syn match cErrInParen display contained "[{}]\|<%\|%>" | |
endif | |
else | |
if s:ft ==# 'cpp' && !exists("cpp_no_cpp11") | |
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell | |
" cCppParen: same as cParen but ends at end-of-line; used in cDefine | |
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell | |
syn match cParenError display "[\])]" | |
syn match cErrInParen display contained "<%\|%>" | |
syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' contains=ALLBUT,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString,@Spell | |
else | |
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell | |
" cCppParen: same as cParen but ends at end-of-line; used in cDefine | |
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell | |
syn match cParenError display "[\])]" | |
syn match cErrInParen display contained "[\]{}]\|<%\|%>" | |
syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString,@Spell | |
endif | |
" cCppBracket: same as cParen but ends at end-of-line; used in cDefine | |
syn region cCppBracket transparent start='\[\|<::\@!' skip='\\$' excludenl end=']\|:>' end='$' contained contains=ALLBUT,@cParenGroup,cErrInParen,cParen,cBracket,cString,@Spell | |
syn match cErrInBracket display contained "[);{}]\|<%\|%>" | |
endif | |
3 0.000042 if s:ft ==# 'c' || exists("cpp_no_cpp11") | |
syn region cBadBlock keepend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold | |
endif | |
"integer number, or floating point number without a dot and with "f". | |
3 0.000017 syn case ignore | |
3 0.000144 syn match cNumbers display transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctalError,cOctal | |
" Same, but without octal error (for comments) | |
3 0.000103 syn match cNumbersCom display contained transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctal | |
3 0.000064 syn match cNumber display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>" | |
"hex number | |
3 0.000060 syn match cNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>" | |
" Flag the first zero of an octal number as something special | |
3 0.000076 syn match cOctal display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=cOctalZero | |
3 0.000047 syn match cOctalZero display contained "\<0" | |
3 0.000049 syn match cFloat display contained "\d\+f" | |
"floating point number, with dot, optional exponent | |
3 0.000067 syn match cFloat display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=" | |
"floating point number, starting with a dot, optional exponent | |
3 0.000062 syn match cFloat display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" | |
"floating point number, without dot, with exponent | |
3 0.000060 syn match cFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>" | |
3 0.000032 if !exists("c_no_c99") | |
"hexadecimal floating point number, optional leading digits, with dot, with exponent | |
3 0.000067 syn match cFloat display contained "0x\x*\.\x\+p[-+]\=\d\+[fl]\=\>" | |
"hexadecimal floating point number, with leading digits, optional dot, with exponent | |
3 0.000059 syn match cFloat display contained "0x\x\+\.\=p[-+]\=\d\+[fl]\=\>" | |
3 0.000011 endif | |
" flag an octal number with wrong digits | |
3 0.000049 syn match cOctalError display contained "0\o*[89]\d*" | |
3 0.000027 syn case match | |
3 0.000030 if exists("c_comment_strings") | |
" A comment can contain cString, cCharacter and cNumber. | |
" But a "*/" inside a cString in a cComment DOES end the comment! So we | |
" need to use a special type of cString: cCommentString, which also ends on | |
" "*/", and sees a "*" at the start of the line as comment again. | |
" Unfortunately this doesn't very well work for // type of comments :-( | |
syn match cCommentSkip contained "^\s*\*\($\|\s\+\)" | |
syn region cCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=cSpecial,cCommentSkip | |
syn region cComment2String contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=cSpecial | |
syn region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError,@Spell | |
if exists("c_no_comment_fold") | |
" Use "extend" here to have preprocessor lines not terminate halfway a | |
" comment. | |
syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError,@Spell extend | |
else | |
syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError,@Spell fold extend | |
endif | |
else | |
3 0.000159 syn region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cSpaceError,@Spell | |
3 0.000038 if exists("c_no_comment_fold") | |
syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cSpaceError,@Spell extend | |
else | |
3 0.000173 syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cSpaceError,@Spell fold extend | |
3 0.000010 endif | |
3 0.000007 endif | |
" keep a // comment separately, it terminates a preproc. conditional | |
3 0.000070 syn match cCommentError display "\*/" | |
3 0.000055 syn match cCommentStartError display "/\*"me=e-1 contained | |
3 0.000053 syn keyword cOperator sizeof | |
3 0.000036 if exists("c_gnu") | |
syn keyword cStatement __asm__ | |
syn keyword cOperator typeof __real__ __imag__ | |
endif | |
3 0.000042 syn keyword cType int long short char void | |
3 0.000034 syn keyword cType signed unsigned float double | |
3 0.000032 if !exists("c_no_ansi") || exists("c_ansi_typedefs") | |
3 0.000050 syn keyword cType size_t ssize_t off_t wchar_t ptrdiff_t sig_atomic_t fpos_t | |
3 0.000057 syn keyword cType clock_t time_t va_list jmp_buf FILE DIR div_t ldiv_t | |
3 0.000066 syn keyword cType mbstate_t wctrans_t wint_t wctype_t | |
3 0.000009 endif | |
3 0.000024 if !exists("c_no_c99") " ISO C99 | |
3 0.000096 syn keyword cType _Bool bool _Complex complex _Imaginary imaginary | |
3 0.000032 syn keyword cType int8_t int16_t int32_t int64_t | |
3 0.000046 syn keyword cType uint8_t uint16_t uint32_t uint64_t | |
3 0.000033 syn keyword cType int_least8_t int_least16_t int_least32_t int_least64_t | |
3 0.000034 syn keyword cType uint_least8_t uint_least16_t uint_least32_t uint_least64_t | |
3 0.000034 syn keyword cType int_fast8_t int_fast16_t int_fast32_t int_fast64_t | |
3 0.000032 syn keyword cType uint_fast8_t uint_fast16_t uint_fast32_t uint_fast64_t | |
3 0.000025 syn keyword cType intptr_t uintptr_t | |
3 0.000025 syn keyword cType intmax_t uintmax_t | |
3 0.000012 endif | |
3 0.000024 if exists("c_gnu") | |
syn keyword cType __label__ __complex__ __volatile__ | |
endif | |
3 0.000038 syn keyword cStructure struct union enum typedef | |
3 0.000047 syn keyword cStorageClass static register auto volatile extern const | |
3 0.000022 if exists("c_gnu") | |
syn keyword cStorageClass inline __attribute__ | |
endif | |
3 0.000022 if !exists("c_no_c99") | |
3 0.000040 syn keyword cStorageClass inline restrict | |
3 0.000009 endif | |
3 0.000022 if !exists("c_no_c11") | |
3 0.000028 syn keyword cStorageClass _Alignas alignas | |
3 0.000036 syn keyword cOperator _Alignof alignof | |
3 0.000026 syn keyword cStorageClass _Atomic | |
3 0.000031 syn keyword cOperator _Generic | |
3 0.000039 syn keyword cStorageClass _Noreturn noreturn | |
3 0.000036 syn keyword cOperator _Static_assert static_assert | |
3 0.000033 syn keyword cStorageClass _Thread_local thread_local | |
3 0.000028 syn keyword cType char16_t char32_t | |
3 0.000009 endif | |
3 0.000034 if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu") | |
3 0.000022 if exists("c_gnu") | |
syn keyword cConstant __GNUC__ __FUNCTION__ __PRETTY_FUNCTION__ __func__ | |
endif | |
3 0.000034 syn keyword cConstant __LINE__ __FILE__ __DATE__ __TIME__ __STDC__ | |
3 0.000029 syn keyword cConstant __STDC_VERSION__ | |
3 0.000033 syn keyword cConstant CHAR_BIT MB_LEN_MAX MB_CUR_MAX | |
3 0.000033 syn keyword cConstant UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX | |
3 0.000037 syn keyword cConstant CHAR_MIN INT_MIN LONG_MIN SHRT_MIN | |
3 0.000032 syn keyword cConstant CHAR_MAX INT_MAX LONG_MAX SHRT_MAX | |
3 0.000034 syn keyword cConstant SCHAR_MIN SINT_MIN SLONG_MIN SSHRT_MIN | |
3 0.000031 syn keyword cConstant SCHAR_MAX SINT_MAX SLONG_MAX SSHRT_MAX | |
3 0.000024 if !exists("c_no_c99") | |
3 0.000026 syn keyword cConstant __func__ | |
3 0.000029 syn keyword cConstant LLONG_MIN LLONG_MAX ULLONG_MAX | |
3 0.000034 syn keyword cConstant INT8_MIN INT16_MIN INT32_MIN INT64_MIN | |
3 0.000031 syn keyword cConstant INT8_MAX INT16_MAX INT32_MAX INT64_MAX | |
3 0.000034 syn keyword cConstant UINT8_MAX UINT16_MAX UINT32_MAX UINT64_MAX | |
3 0.000034 syn keyword cConstant INT_LEAST8_MIN INT_LEAST16_MIN INT_LEAST32_MIN INT_LEAST64_MIN | |
3 0.000044 syn keyword cConstant INT_LEAST8_MAX INT_LEAST16_MAX INT_LEAST32_MAX INT_LEAST64_MAX | |
3 0.000035 syn keyword cConstant UINT_LEAST8_MAX UINT_LEAST16_MAX UINT_LEAST32_MAX UINT_LEAST64_MAX | |
3 0.000035 syn keyword cConstant INT_FAST8_MIN INT_FAST16_MIN INT_FAST32_MIN INT_FAST64_MIN | |
3 0.000031 syn keyword cConstant INT_FAST8_MAX INT_FAST16_MAX INT_FAST32_MAX INT_FAST64_MAX | |
3 0.000185 syn keyword cConstant UINT_FAST8_MAX UINT_FAST16_MAX UINT_FAST32_MAX UINT_FAST64_MAX | |
3 0.000140 syn keyword cConstant INTPTR_MIN INTPTR_MAX UINTPTR_MAX | |
3 0.000138 syn keyword cConstant INTMAX_MIN INTMAX_MAX UINTMAX_MAX | |
3 0.000176 syn keyword cConstant PTRDIFF_MIN PTRDIFF_MAX SIG_ATOMIC_MIN SIG_ATOMIC_MAX | |
3 0.000229 syn keyword cConstant SIZE_MAX WCHAR_MIN WCHAR_MAX WINT_MIN WINT_MAX | |
3 0.000010 endif | |
3 0.000101 syn keyword cConstant FLT_RADIX FLT_ROUNDS | |
3 0.000150 syn keyword cConstant FLT_DIG FLT_MANT_DIG FLT_EPSILON | |
3 0.000142 syn keyword cConstant DBL_DIG DBL_MANT_DIG DBL_EPSILON | |
3 0.000142 syn keyword cConstant LDBL_DIG LDBL_MANT_DIG LDBL_EPSILON | |
3 0.000198 syn keyword cConstant FLT_MIN FLT_MAX FLT_MIN_EXP FLT_MAX_EXP | |
3 0.000032 syn keyword cConstant FLT_MIN_10_EXP FLT_MAX_10_EXP | |
3 0.000035 syn keyword cConstant DBL_MIN DBL_MAX DBL_MIN_EXP DBL_MAX_EXP | |
3 0.000028 syn keyword cConstant DBL_MIN_10_EXP DBL_MAX_10_EXP | |
3 0.000030 syn keyword cConstant LDBL_MIN LDBL_MAX LDBL_MIN_EXP LDBL_MAX_EXP | |
3 0.000028 syn keyword cConstant LDBL_MIN_10_EXP LDBL_MAX_10_EXP | |
3 0.000030 syn keyword cConstant HUGE_VAL CLOCKS_PER_SEC NULL | |
3 0.000038 syn keyword cConstant LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY | |
3 0.000025 syn keyword cConstant LC_NUMERIC LC_TIME | |
3 0.000031 syn keyword cConstant SIG_DFL SIG_ERR SIG_IGN | |
3 0.000059 syn keyword cConstant SIGABRT SIGFPE SIGILL SIGHUP SIGINT SIGSEGV SIGTERM | |
" Add POSIX signals as well... | |
3 0.000038 syn keyword cConstant SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP | |
3 0.000038 syn keyword cConstant SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV | |
3 0.000037 syn keyword cConstant SIGSTOP SIGTERM SIGTRAP SIGTSTP SIGTTIN SIGTTOU | |
3 0.000027 syn keyword cConstant SIGUSR1 SIGUSR2 | |
3 0.000034 syn keyword cConstant _IOFBF _IOLBF _IONBF BUFSIZ EOF WEOF | |
3 0.000035 syn keyword cConstant FOPEN_MAX FILENAME_MAX L_tmpnam | |
3 0.000044 syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET | |
3 0.000035 syn keyword cConstant TMP_MAX stderr stdin stdout | |
3 0.000030 syn keyword cConstant EXIT_FAILURE EXIT_SUCCESS RAND_MAX | |
" Add POSIX errors as well | |
3 0.000038 syn keyword cConstant E2BIG EACCES EAGAIN EBADF EBADMSG EBUSY | |
3 0.000037 syn keyword cConstant ECANCELED ECHILD EDEADLK EDOM EEXIST EFAULT | |
3 0.000040 syn keyword cConstant EFBIG EILSEQ EINPROGRESS EINTR EINVAL EIO EISDIR | |
3 0.000039 syn keyword cConstant EMFILE EMLINK EMSGSIZE ENAMETOOLONG ENFILE ENODEV | |
3 0.000038 syn keyword cConstant ENOENT ENOEXEC ENOLCK ENOMEM ENOSPC ENOSYS | |
3 0.000038 syn keyword cConstant ENOTDIR ENOTEMPTY ENOTSUP ENOTTY ENXIO EPERM | |
3 0.000042 syn keyword cConstant EPIPE ERANGE EROFS ESPIPE ESRCH ETIMEDOUT EXDEV | |
" math.h | |
3 0.000046 syn keyword cConstant M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2 M_PI_4 | |
3 0.000034 syn keyword cConstant M_1_PI M_2_PI M_2_SQRTPI M_SQRT2 M_SQRT1_2 | |
3 0.000008 endif | |
3 0.000026 if !exists("c_no_c99") " ISO C99 | |
3 0.000028 syn keyword cConstant true false | |
3 0.000008 endif | |
" Accept %: for # (C99) | |
3 0.000335 syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError | |
3 0.000073 syn match cPreConditMatch display "^\s*\(%:\|#\)\s*\(else\|endif\)\>" | |
3 0.000030 if !exists("c_no_if0") | |
3 0.000195 syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip | |
3 0.000184 syn region cCppOutWrapper start="^\s*\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold | |
3 0.000175 syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse | |
3 0.000035 if !exists("c_no_if0_fold") | |
3 0.000189 syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold | |
3 0.000013 else | |
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell | |
endif | |
3 0.000171 syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit | |
3 0.000184 syn region cCppInWrapper start="^\s*\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold | |
3 0.000149 syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\(%:\|#\)\s*endif\>" contains=TOP,cPreCondit | |
3 0.000032 if !exists("c_no_if0_fold") | |
3 0.000175 syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold | |
3 0.000013 else | |
syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 | |
endif | |
3 0.000177 syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)\([^/]\|/[^/*]\)*" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell | |
3 0.000184 syn region cCppOutSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppOutSkip | |
3 0.000257 syn region cCppInSkip contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(if\s\+\(\d\+\s*\($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" containedin=cCppOutElse,cCppInIf,cCppInSkip contains=TOP,cPreProc | |
3 0.000013 endif | |
3 0.000106 syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ | |
3 0.000051 syn match cIncluded display contained "<[^>]*>" | |
3 0.000114 syn match cInclude display "^\s*\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded | |
"syn match cLineSkip "\\$" | |
3 0.000547 syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti,cBadBlock | |
3 0.000164 syn region cDefine start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell | |
3 0.000175 syn region cPreProc start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell | |
" Highlight User Labels | |
3 0.000454 syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString | |
3 0.000048 if s:ft ==# 'c' || exists("cpp_no_cpp11") | |
syn region cMulti transparent start='?' skip='::' end=':' contains=ALLBUT,@cMultiGroup,@Spell | |
endif | |
" Avoid matching foo::bar() in C++ by requiring that the next char is not ':' | |
3 0.000044 syn cluster cLabelGroup contains=cUserLabel | |
3 0.000066 syn match cUserCont display "^\s*\I\i*\s*:$" contains=@cLabelGroup | |
3 0.000081 syn match cUserCont display ";\s*\I\i*\s*:$" contains=@cLabelGroup | |
3 0.000069 syn match cUserCont display "^\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup | |
3 0.000068 syn match cUserCont display ";\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup | |
3 0.000047 syn match cUserLabel display "\I\i*" contained | |
" Avoid recognizing most bitfields as labels | |
3 0.000079 syn match cBitField display "^\s*\I\i*\s*:\s*[1-9]"me=e-1 contains=cType | |
3 0.000075 syn match cBitField display ";\s*\I\i*\s*:\s*[1-9]"me=e-1 contains=cType | |
3 0.000029 if exists("c_minlines") | |
let b:c_minlines = c_minlines | |
else | |
3 0.000021 if !exists("c_no_if0") | |
3 0.000020 let b:c_minlines = 50 " #if 0 constructs can be long | |
3 0.000010 else | |
let b:c_minlines = 15 " mostly for () constructs | |
endif | |
3 0.000008 endif | |
3 0.000023 if exists("c_curly_error") | |
syn sync fromstart | |
else | |
3 0.000071 exec "syn sync ccomment cComment minlines=" . b:c_minlines | |
3 0.000010 endif | |
" Define the default highlighting. | |
" Only used when an item doesn't have highlighting yet | |
3 0.000030 hi def link cFormat cSpecial | |
3 0.000027 hi def link cCppString cString | |
3 0.000023 hi def link cCommentL cComment | |
3 0.000023 hi def link cCommentStart cComment | |
3 0.000033 hi def link cLabel Label | |
3 0.000031 hi def link cUserLabel Label | |
3 0.000034 hi def link cConditional Conditional | |
3 0.000031 hi def link cRepeat Repeat | |
3 0.000034 hi def link cCharacter Character | |
3 0.000028 hi def link cSpecialCharacter cSpecial | |
3 0.000043 hi def link cNumber Number | |
3 0.000033 hi def link cOctal Number | |
3 0.000033 hi def link cOctalZero PreProc " link this to Error if you want | |
3 0.000030 hi def link cFloat Float | |
3 0.000032 hi def link cOctalError cError | |
3 0.000036 hi def link cParenError cError | |
3 0.000027 hi def link cErrInParen cError | |
3 0.000020 hi def link cErrInBracket cError | |
3 0.000022 hi def link cCommentError cError | |
3 0.000023 hi def link cCommentStartError cError | |
3 0.000023 hi def link cSpaceError cError | |
3 0.000021 hi def link cSpecialError cError | |
3 0.000022 hi def link cCurlyError cError | |
3 0.000035 hi def link cOperator Operator | |
3 0.000029 hi def link cStructure Structure | |
3 0.000032 hi def link cStorageClass StorageClass | |
3 0.000030 hi def link cInclude Include | |
3 0.000030 hi def link cPreProc PreProc | |
3 0.000030 hi def link cDefine Macro | |
3 0.000027 hi def link cIncluded cString | |
3 0.000029 hi def link cError Error | |
3 0.000039 hi def link cStatement Statement | |
3 0.000024 hi def link cCppInWrapper cCppOutWrapper | |
3 0.000031 hi def link cCppOutWrapper cPreCondit | |
3 0.000031 hi def link cPreConditMatch cPreCondit | |
3 0.000035 hi def link cPreCondit PreCondit | |
3 0.000031 hi def link cType Type | |
3 0.000032 hi def link cConstant Constant | |
3 0.000026 hi def link cCommentString cString | |
3 0.000024 hi def link cComment2String cString | |
3 0.000022 hi def link cCommentSkip cComment | |
3 0.000032 hi def link cString String | |
3 0.000043 hi def link cComment Comment | |
3 0.000031 hi def link cSpecial SpecialChar | |
3 0.000032 hi def link cTodo Todo | |
3 0.000034 hi def link cBadContinuation Error | |
3 0.000023 hi def link cCppOutSkip cCppOutIf2 | |
3 0.000024 hi def link cCppInElse2 cCppOutIf2 | |
3 0.000026 hi def link cCppOutIf2 cCppOut2 " Old syntax group for #if 0 body | |
3 0.000027 hi def link cCppOut2 cCppOut " Old syntax group for #if of #if 0 | |
3 0.000032 hi def link cCppOut Comment | |
3 0.000022 let b:current_syntax = "c" | |
3 0.000014 unlet s:ft | |
3 0.000049 let &cpo = s:cpo_save | |
3 0.000017 unlet s:cpo_save | |
" vim: ts=8 | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/vim-cpp-enhanced-highlight/after/syntax/c.vim | |
Sourced 3 times | |
Total time: 0.032855 | |
Self time: 0.032855 | |
count total (s) self (s) | |
" Vim syntax file | |
" Language: C Additions | |
" Maintainer: Jon Haggblad <jon@haeggblad.com> | |
" Contributor: Mikhail Wolfson <mywolfson@gmail.com> | |
" URL: http://www.haeggblad.com | |
" Last Change: 6 Sep 2014 | |
" Version: 0.3 | |
" Changelog: | |
" 0.3 - integration of aftersyntaxc.vim | |
" 0.2 - Cleanup | |
" 0.1 - initial version. | |
" | |
" Syntax highlighting for functions in C. | |
" | |
" Based on: | |
" http://stackoverflow.com/questions/736701/class-function-names-highlighting-in-vim | |
" ----------------------------------------------------------------------------- | |
" Highlight function names. | |
" ----------------------------------------------------------------------------- | |
3 0.000109 syn match cCustomParen "(" contains=cParen contains=cCppParen | |
3 0.000077 syn match cCustomFunc "\w\+\s*(\@=" contains=cCustomParen | |
3 0.000036 hi def link cCustomFunc Function | |
" ----------------------------------------------------------------------------- | |
" Source: aftersyntaxc.vim | |
" ----------------------------------------------------------------------------- | |
" Common ANSI-standard functions | |
3 0.000054 syn keyword cAnsiFunction MULU_ DIVU_ MODU_ MUL_ DIV_ MOD_ | |
3 0.000029 syn keyword cAnsiFunction main typeof | |
3 0.000039 syn keyword cAnsiFunction open close read write lseek dup dup2 | |
3 0.000030 syn keyword cAnsiFunction fcntl ioctl | |
3 0.000030 syn keyword cAnsiFunction wctrans towctrans towupper | |
3 0.000040 syn keyword cAnsiFunction towlower wctype iswctype | |
3 0.000028 syn keyword cAnsiFunction iswxdigit iswupper iswspace | |
3 0.000027 syn keyword cAnsiFunction iswpunct iswprint iswlower | |
3 0.000032 syn keyword cAnsiFunction iswgraph iswdigit iswcntrl | |
3 0.000029 syn keyword cAnsiFunction iswalpha iswalnum wcsrtombs | |
3 0.000027 syn keyword cAnsiFunction mbsrtowcs wcrtomb mbrtowc | |
3 0.000026 syn keyword cAnsiFunction mbrlen mbsinit wctob | |
3 0.000026 syn keyword cAnsiFunction btowc wcsfxtime wcsftime | |
3 0.000027 syn keyword cAnsiFunction wmemset wmemmove wmemcpy | |
3 0.000027 syn keyword cAnsiFunction wmemcmp wmemchr wcstok | |
3 0.000031 syn keyword cAnsiFunction wcsstr wcsspn wcsrchr | |
3 0.000039 syn keyword cAnsiFunction wcspbrk wcslen wcscspn | |
3 0.000028 syn keyword cAnsiFunction wcschr wcsxfrm wcsncmp | |
3 0.000027 syn keyword cAnsiFunction wcscoll wcscmp wcsncat | |
3 0.000033 syn keyword cAnsiFunction wcscat wcsncpy wcscpy | |
3 0.000027 syn keyword cAnsiFunction wcstoull wcstoul wcstoll | |
3 0.000026 syn keyword cAnsiFunction wcstol wcstold wcstof | |
3 0.000027 syn keyword cAnsiFunction wcstod ungetwc putwchar | |
3 0.000043 syn keyword cAnsiFunction putwc getwchar getwc | |
3 0.000035 syn keyword cAnsiFunction fwide fputws fputwc | |
3 0.000028 syn keyword cAnsiFunction fgetws fgetwc wscanf | |
3 0.000028 syn keyword cAnsiFunction wprintf vwscanf vwprintf | |
3 0.000027 syn keyword cAnsiFunction vswscanf vswprintf vfwscanf | |
3 0.000030 syn keyword cAnsiFunction vfwprintf swscanf swprintf | |
3 0.000029 syn keyword cAnsiFunction fwscanf fwprintf zonetime | |
3 0.000029 syn keyword cAnsiFunction strfxtime strftime localtime | |
3 0.000030 syn keyword cAnsiFunction gmtime ctime asctime | |
3 0.000027 syn keyword cAnsiFunction time mkxtime mktime | |
3 0.000030 syn keyword cAnsiFunction difftime clock strlen | |
3 0.000030 syn keyword cAnsiFunction strerror memset strtok | |
3 0.000028 syn keyword cAnsiFunction strstr strspn strrchr | |
3 0.000030 syn keyword cAnsiFunction strpbrk strcspn strchr | |
3 0.000044 syn keyword cAnsiFunction memchr strxfrm strncmp | |
3 0.000029 syn keyword cAnsiFunction strcoll strcmp memcmp | |
3 0.000032 syn keyword cAnsiFunction strncat strcat strncpy | |
3 0.000028 syn keyword cAnsiFunction strcpy memmove memcpy | |
3 0.000027 syn keyword cAnsiFunction wcstombs mbstowcs wctomb | |
3 0.000025 syn keyword cAnsiFunction mbtowc mblen lldiv | |
3 0.000027 syn keyword cAnsiFunction ldiv div llabs | |
3 0.000028 syn keyword cAnsiFunction labs abs qsort | |
3 0.000031 syn keyword cAnsiFunction bsearch system getenv | |
3 0.000028 syn keyword cAnsiFunction exit atexit abort | |
3 0.000028 syn keyword cAnsiFunction realloc malloc free | |
3 0.000035 syn keyword cAnsiFunction calloc srand rand | |
3 0.000030 syn keyword cAnsiFunction strtoull strtoul strtoll | |
3 0.000038 syn keyword cAnsiFunction strtol strtold strtof | |
3 0.000026 syn keyword cAnsiFunction strtod atoll atol | |
3 0.000028 syn keyword cAnsiFunction atoi atof perror | |
3 0.000030 syn keyword cAnsiFunction ferror feof clearerr | |
3 0.000029 syn keyword cAnsiFunction rewind ftell fsetpos | |
3 0.000028 syn keyword cAnsiFunction fseek fgetpos fwrite | |
3 0.000027 syn keyword cAnsiFunction fread ungetc puts | |
3 0.000028 syn keyword cAnsiFunction putchar putc gets | |
3 0.000037 syn keyword cAnsiFunction getchar getc fputs | |
3 0.000033 syn keyword cAnsiFunction fputc fgets fgetc | |
3 0.000030 syn keyword cAnsiFunction vsscanf vsprintf vsnprintf | |
3 0.000029 syn keyword cAnsiFunction vscanf vprintf vfscanf | |
3 0.000028 syn keyword cAnsiFunction vfprintf sscanf sprintf | |
3 0.000027 syn keyword cAnsiFunction snprintf scanf printf | |
3 0.000030 syn keyword cAnsiFunction fscanf fprintf setvbuf | |
3 0.000027 syn keyword cAnsiFunction setbuf freopen fopen | |
3 0.000033 syn keyword cAnsiFunction fflush fclose tmpnam | |
3 0.000026 syn keyword cAnsiFunction tmpfile rename remove | |
3 0.000029 syn keyword cAnsiFunction offsetof va_start va_end | |
3 0.000041 syn keyword cAnsiFunction va_copy va_arg raise signal | |
3 0.000029 syn keyword cAnsiFunction longjmp setjmp isunordered | |
3 0.000030 syn keyword cAnsiFunction islessgreater islessequal isless | |
3 0.000027 syn keyword cAnsiFunction isgreaterequal isgreater fmal | |
3 0.000028 syn keyword cAnsiFunction fmaf fma fminl | |
3 0.000029 syn keyword cAnsiFunction fminf fmin fmaxl | |
3 0.000028 syn keyword cAnsiFunction fmaxf fmax fdiml | |
3 0.000029 syn keyword cAnsiFunction fdimf fdim nextafterxl | |
3 0.000031 syn keyword cAnsiFunction nextafterxf nextafterx nextafterl | |
3 0.000035 syn keyword cAnsiFunction nextafterf nextafter nanl | |
3 0.000034 syn keyword cAnsiFunction nanf nan copysignl | |
3 0.000037 syn keyword cAnsiFunction copysignf copysign remquol | |
3 0.000028 syn keyword cAnsiFunction remquof remquo remainderl | |
3 0.000029 syn keyword cAnsiFunction remainderf remainder fmodl | |
3 0.000028 syn keyword cAnsiFunction fmodf fmod truncl | |
3 0.000029 syn keyword cAnsiFunction truncf trunc llroundl | |
3 0.000027 syn keyword cAnsiFunction llroundf llround lroundl | |
3 0.000027 syn keyword cAnsiFunction lroundf lround roundl | |
3 0.000034 syn keyword cAnsiFunction roundf round llrintl | |
3 0.000027 syn keyword cAnsiFunction llrintf llrint lrintl | |
3 0.000030 syn keyword cAnsiFunction lrintf lrint rintl | |
3 0.000028 syn keyword cAnsiFunction rintf rint nearbyintl | |
3 0.000028 syn keyword cAnsiFunction nearbyintf nearbyint floorl | |
3 0.000030 syn keyword cAnsiFunction floorf floor ceill | |
3 0.000027 syn keyword cAnsiFunction ceilf ceil tgammal | |
3 0.000029 syn keyword cAnsiFunction tgammaf tgamma lgammal | |
3 0.000026 syn keyword cAnsiFunction lgammaf lgamma erfcl | |
3 0.000027 syn keyword cAnsiFunction erfcf erfc erfl | |
3 0.000026 syn keyword cAnsiFunction erff erf sqrtl | |
3 0.000027 syn keyword cAnsiFunction sqrtf sqrt powl | |
3 0.000039 syn keyword cAnsiFunction powf pow hypotl | |
3 0.000027 syn keyword cAnsiFunction hypotf hypot fabsl | |
3 0.000041 syn keyword cAnsiFunction fabsf fabs cbrtl | |
3 0.000028 syn keyword cAnsiFunction cbrtf cbrt scalblnl | |
3 0.000029 syn keyword cAnsiFunction scalblnf scalbln scalbnl | |
3 0.000027 syn keyword cAnsiFunction scalbnf scalbn modfl | |
3 0.000028 syn keyword cAnsiFunction modff modf logbl | |
3 0.000027 syn keyword cAnsiFunction logbf logb log2l | |
3 0.000027 syn keyword cAnsiFunction log2f log2 log1pl | |
3 0.000029 syn keyword cAnsiFunction log1pf log1p log10l | |
3 0.000026 syn keyword cAnsiFunction log10f log10 logl | |
3 0.000030 syn keyword cAnsiFunction logf log ldexpl | |
3 0.000025 syn keyword cAnsiFunction ldexpf ldexp ilogbl | |
3 0.000048 syn keyword cAnsiFunction ilogbf ilogb frexpl | |
3 0.000030 syn keyword cAnsiFunction frexpf frexp expm1l | |
3 0.000029 syn keyword cAnsiFunction expm1f expm1 exp2l | |
3 0.000029 syn keyword cAnsiFunction exp2f exp2 expl | |
3 0.000569 syn keyword cAnsiFunction expf exp tanhl | |
3 0.000564 syn keyword cAnsiFunction tanhf tanh sinhl | |
3 0.000564 syn keyword cAnsiFunction sinhf sinh coshl | |
3 0.000578 syn keyword cAnsiFunction coshf cosh atanhl | |
3 0.000572 syn keyword cAnsiFunction atanhf atanh asinhl | |
3 0.000576 syn keyword cAnsiFunction asinhf asinh acoshl | |
3 0.000565 syn keyword cAnsiFunction acoshf acosh tanl | |
3 0.000567 syn keyword cAnsiFunction tanf tan sinl | |
3 0.000580 syn keyword cAnsiFunction sinf sin cosl | |
3 0.000566 syn keyword cAnsiFunction cosf cos atan2l | |
3 0.000565 syn keyword cAnsiFunction atan2f atan2 atanl | |
3 0.000564 syn keyword cAnsiFunction atanf atan asinl | |
3 0.000565 syn keyword cAnsiFunction asinf asin acosl | |
3 0.000583 syn keyword cAnsiFunction acosf acos signbit | |
3 0.000572 syn keyword cAnsiFunction isnormal isnan isinf | |
3 0.000589 syn keyword cAnsiFunction isfinite fpclassify localeconv | |
3 0.000569 syn keyword cAnsiFunction setlocale wcstoumax wcstoimax | |
3 0.000626 syn keyword cAnsiFunction strtoumax strtoimax feupdateenv | |
3 0.000594 syn keyword cAnsiFunction fesetenv feholdexcept fegetenv | |
3 0.000576 syn keyword cAnsiFunction fesetround fegetround fetestexcept | |
3 0.000578 syn keyword cAnsiFunction fesetexceptflag feraiseexcept fegetexceptflag | |
3 0.000577 syn keyword cAnsiFunction feclearexcept toupper tolower | |
3 0.000576 syn keyword cAnsiFunction isxdigit isupper isspace | |
3 0.000581 syn keyword cAnsiFunction ispunct isprint islower | |
3 0.000612 syn keyword cAnsiFunction isgraph isdigit iscntrl | |
3 0.000607 syn keyword cAnsiFunction isalpha isalnum creall | |
3 0.000593 syn keyword cAnsiFunction crealf creal cprojl | |
3 0.000580 syn keyword cAnsiFunction cprojf cproj conjl | |
3 0.000656 syn keyword cAnsiFunction conjf conj cimagl | |
3 0.000588 syn keyword cAnsiFunction cimagf cimag cargl | |
3 0.000584 syn keyword cAnsiFunction cargf carg csqrtl | |
3 0.000584 syn keyword cAnsiFunction csqrtf csqrt cpowl | |
3 0.000586 syn keyword cAnsiFunction cpowf cpow cabsl | |
3 0.000590 syn keyword cAnsiFunction cabsf cabs clogl | |
3 0.000589 syn keyword cAnsiFunction clogf clog cexpl | |
3 0.000591 syn keyword cAnsiFunction cexpf cexp ctanhl | |
3 0.000601 syn keyword cAnsiFunction ctanhf ctanh csinhl | |
3 0.000589 syn keyword cAnsiFunction csinhf csinh ccoshl | |
3 0.000607 syn keyword cAnsiFunction ccoshf ccosh catanhl | |
3 0.000590 syn keyword cAnsiFunction catanhf catanh casinhl | |
3 0.000592 syn keyword cAnsiFunction casinhf casinh cacoshl | |
3 0.000604 syn keyword cAnsiFunction cacoshf cacosh ctanl | |
3 0.000592 syn keyword cAnsiFunction ctanf ctan csinl | |
3 0.000609 syn keyword cAnsiFunction csinf csin ccosl | |
3 0.000590 syn keyword cAnsiFunction ccosf ccos catanl | |
3 0.000410 syn keyword cAnsiFunction catanf catan casinl | |
3 0.000036 syn keyword cAnsiFunction casinf casin cacosl | |
3 0.000028 syn keyword cAnsiFunction cacosf cacos assert | |
3 0.000030 syn keyword cAnsiFunction UINTMAX_C INTMAX_C UINT64_C | |
3 0.000039 syn keyword cAnsiFunction UINT32_C UINT16_C UINT8_C | |
3 0.000031 syn keyword cAnsiFunction INT64_C INT32_C INT16_C INT8_C | |
" Common ANSI-standard Names | |
3 0.000040 syn keyword cAnsiName PRId8 PRIi16 PRIo32 PRIu64 | |
3 0.000033 syn keyword cAnsiName PRId16 PRIi32 PRIo64 PRIuLEAST8 | |
3 0.000032 syn keyword cAnsiName PRId32 PRIi64 PRIoLEAST8 PRIuLEAST16 | |
3 0.000032 syn keyword cAnsiName PRId64 PRIiLEAST8 PRIoLEAST16 PRIuLEAST32 | |
3 0.000031 syn keyword cAnsiName PRIdLEAST8 PRIiLEAST16 PRIoLEAST32 PRIuLEAST64 | |
3 0.000030 syn keyword cAnsiName PRIdLEAST16 PRIiLEAST32 PRIoLEAST64 PRIuFAST8 | |
3 0.000031 syn keyword cAnsiName PRIdLEAST32 PRIiLEAST64 PRIoFAST8 PRIuFAST16 | |
3 0.000036 syn keyword cAnsiName PRIdLEAST64 PRIiFAST8 PRIoFAST16 PRIuFAST32 | |
3 0.000030 syn keyword cAnsiName PRIdFAST8 PRIiFAST16 PRIoFAST32 PRIuFAST64 | |
3 0.000029 syn keyword cAnsiName PRIdFAST16 PRIiFAST32 PRIoFAST64 PRIuMAX | |
3 0.000029 syn keyword cAnsiName PRIdFAST32 PRIiFAST64 PRIoMAX PRIuPTR | |
3 0.000036 syn keyword cAnsiName PRIdFAST64 PRIiMAX PRIoPTR PRIx8 | |
3 0.000034 syn keyword cAnsiName PRIdMAX PRIiPTR PRIu8 PRIx16 | |
3 0.000029 syn keyword cAnsiName PRIdPTR PRIo8 PRIu16 PRIx32 | |
3 0.000031 syn keyword cAnsiName PRIi8 PRIo16 PRIu32 PRIx64 | |
3 0.000031 syn keyword cAnsiName PRIxLEAST8 SCNd8 SCNiFAST32 SCNuLEAST32 | |
3 0.000033 syn keyword cAnsiName PRIxLEAST16 SCNd16 SCNiFAST64 SCNuLEAST64 | |
3 0.000031 syn keyword cAnsiName PRIxLEAST32 SCNd32 SCNiMAX SCNuFAST8 | |
3 0.000033 syn keyword cAnsiName PRIxLEAST64 SCNd64 SCNiPTR SCNuFAST16 | |
3 0.000034 syn keyword cAnsiName PRIxFAST8 SCNdLEAST8 SCNo8 SCNuFAST32 | |
3 0.000031 syn keyword cAnsiName PRIxFAST16 SCNdLEAST16 SCNo16 SCNuFAST64 | |
3 0.000031 syn keyword cAnsiName PRIxFAST32 SCNdLEAST32 SCNo32 SCNuMAX | |
3 0.000030 syn keyword cAnsiName PRIxFAST64 SCNdLEAST64 SCNo64 SCNuPTR | |
3 0.000031 syn keyword cAnsiName PRIxMAX SCNdFAST8 SCNoLEAST8 SCNx8 | |
3 0.000034 syn keyword cAnsiName PRIxPTR SCNdFAST16 SCNoLEAST16 SCNx16 | |
3 0.000031 syn keyword cAnsiName PRIX8 SCNdFAST32 SCNoLEAST32 SCNx32 | |
3 0.000036 syn keyword cAnsiName PRIX16 SCNdFAST64 SCNoLEAST64 SCNx64 | |
3 0.000043 syn keyword cAnsiName PRIX32 SCNdMAX SCNoFAST8 SCNxLEAST8 | |
3 0.000037 syn keyword cAnsiName PRIX64 SCNdPTR SCNoFAST16 SCNxLEAST16 | |
3 0.000032 syn keyword cAnsiName PRIXLEAST8 SCNi8 SCNoFAST32 SCNxLEAST32 | |
3 0.000032 syn keyword cAnsiName PRIXLEAST16 SCNi16 SCNoFAST64 SCNxLEAST64 | |
3 0.000030 syn keyword cAnsiName PRIXLEAST32 SCNi32 SCNoMAX SCNxFAST8 | |
3 0.000032 syn keyword cAnsiName PRIXLEAST64 SCNi64 SCNoPTR SCNxFAST16 | |
3 0.000030 syn keyword cAnsiName PRIXFAST8 SCNiLEAST8 SCNu8 SCNxFAST32 | |
3 0.000036 syn keyword cAnsiName PRIXFAST16 SCNiLEAST16 SCNu16 SCNxFAST64 | |
3 0.000031 syn keyword cAnsiName PRIXFAST32 SCNiLEAST32 SCNu32 SCNxMAX | |
3 0.000030 syn keyword cAnsiName PRIXFAST64 SCNiLEAST64 SCNu64 SCNxPTR | |
3 0.000029 syn keyword cAnsiName PRIXMAX SCNiFAST8 SCNuLEAST8 | |
3 0.000034 syn keyword cAnsiName PRIXPTR SCNiFAST16 SCNuLEAST16 | |
3 0.000024 syn keyword cAnsiName errno environ | |
3 0.000027 syn keyword cAnsiName STDC CX_LIMITED_RANGE | |
3 0.000027 syn keyword cAnsiName STDC FENV_ACCESS | |
3 0.000025 syn keyword cAnsiName STDC FP_CONTRACT | |
3 0.000042 syn keyword cAnsiName and bitor not_eq xor | |
3 0.000037 syn keyword cAnsiName and_eq compl or xor_eq | |
3 0.000029 syn keyword cAnsiName bitand not or_eq | |
3 0.000028 hi def link cAnsiFunction cFunction | |
3 0.000025 hi def link cAnsiName cIdentifier | |
3 0.000030 hi def link cFunction Function | |
3 0.000031 hi def link cIdentifier Identifier | |
" Booleans | |
3 0.000068 syn keyword cBoolean true false TRUE FALSE | |
3 0.000032 hi def link cBoolean Boolean | |
" ----------------------------------------------------------------------------- | |
" Additional optional highlighting | |
" ----------------------------------------------------------------------------- | |
" Operators | |
"syn match cOperator "\(<<\|>>\|[-+*/%&^|<>!=]\)=" | |
"syn match cOperator "<<\|>>\|&&\|||\|++\|--\|->" | |
"syn match cOperator "[.!~*&%<>^|=,+-]" | |
"syn match cOperator "/[^/*=]"me=e-1 | |
"syn match cOperator "/$" | |
"syn match cOperator "&&\|||" | |
"syn match cOperator "[][]" | |
" | |
"" Preprocs | |
"syn keyword cDefined defined contained containedin=cDefine | |
"hi def link cDefined cDefine | |
"" Functions | |
"syn match cUserFunction "\<\h\w*\>\(\s\|\n\)*("me=e-1 contains=cType,cDelimiter,cDefine | |
"syn match cUserFunctionPointer "(\s*\*\s*\h\w*\s*)\(\s\|\n\)*(" contains=cDelimiter,cOperator | |
" | |
"hi def link cUserFunction cFunction | |
"hi def link cUserFunctionPointer cFunction | |
" | |
"" Delimiters | |
"syn match cDelimiter "[();\\]" | |
"" foldmethod=syntax fix, courtesy of Ivan Freitas | |
"syn match cBraces display "[{}]" | |
" Links | |
"hi def link cDelimiter Delimiter | |
" foldmethod=syntax fix, courtesy of Ivan Freitas | |
"hi def link cBraces Delimiter | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/vim-cpp-enhanced-highlight/after/syntax/cpp.vim | |
Sourced 3 times | |
Total time: 0.032044 | |
Self time: 0.032044 | |
count total (s) self (s) | |
" Vim syntax file | |
" Language: C++ Additions | |
" Maintainer: Jon Haggblad <jon@haeggblad.com> | |
" URL: http://www.haeggblad.com | |
" Last Change: 21 Sep 2014 | |
" Version: 0.5 | |
" Changelog: | |
" 0.1 - initial version. | |
" 0.2 - C++14 | |
" 0.3 - Incorporate lastest changes from Mizuchi/STL-Syntax | |
" 0.4 - Add template function highlight | |
" 0.5 - Redo template function highlight to be more robust. Add options. | |
" | |
" Additional Vim syntax highlighting for C++ (including C++11/14) | |
" | |
" This file contains additional syntax highlighting that I use for C++11/14 | |
" development in Vim. Compared to the standard syntax highlighting for C++ it | |
" adds highlighting of (user defined) functions and the containers and types | |
" in the standard library / boost. | |
" | |
" Based on: | |
" http://stackoverflow.com/questions/736701/class-function-names-highlighting-in-vim | |
" http://www.vim.org/scripts/script.php?script_id=4293 | |
" http://www.vim.org/scripts/script.php?script_id=2224 | |
" http://www.vim.org/scripts/script.php?script_id=1640 | |
" http://www.vim.org/scripts/script.php?script_id=3064 | |
" ----------------------------------------------------------------------------- | |
" Highlight Class and Function names. | |
" | |
" Based on the discussion in: | |
" http://stackoverflow.com/questions/736701/class-function-names-highlighting-in-vim | |
" ----------------------------------------------------------------------------- | |
" Functions | |
3 0.000107 syn match cCustomParen "(" contains=cParen contains=cCppParen | |
3 0.000112 syn match cCustomFunc "\w\+\s*(\@=" contains=cCustomParen | |
3 0.000038 hi def link cCustomFunc Function | |
" Template functions | |
3 0.000044 if exists('g:cpp_experimental_template_highlight') && g:cpp_experimental_template_highlight | |
syn region cCustomAngleBrackets matchgroup=AngleBracketContents start="\v%(<operator\_s*)@<!%(%(\_i|template\_s*)@<=\<[<=]@!|\<@<!\<[[:space:]<=]@!)" end='>' contains=@cppSTLgroup,cppStructure,cType,cCustomClass,cCustomAngleBrackets,cNumbers | |
syn match cCustomBrack "<\|>" contains=cCustomAngleBrackets | |
syn match cCustomTemplateFunc "\w\+\s*<.*>(\@=" contains=cCustomBrack,cCustomAngleBrackets | |
hi def link cCustomTemplateFunc Function | |
endif | |
" Class and namespace scope | |
3 0.000034 if exists('g:cpp_class_scope_highlight') && g:cpp_class_scope_highlight | |
syn match cCustomScope "::" | |
syn match cCustomClass "\w\+\s*::" contains=cCustomScope | |
hi def link cCustomClass Function " disabled for now | |
endif | |
" Alternative syntax that is used in: | |
" http://www.vim.org/scripts/script.php?script_id=3064 | |
"syn match cUserFunction "\<\h\w*\>\(\s\|\n\)*("me=e-1 contains=cType,cDelimiter,cDefine | |
"hi def link cCustomFunc Function | |
" Cluster for all the stdlib functions defined below | |
3 0.000198 syn cluster cppSTLgroup contains=cppSTLfunction,cppSTLfunctional,cppSTLconstant,cppSTLnamespace,cppSTLtype,cppSTLexception,cppSTLiterator,cppSTLiterator_tagcppSTLenumcppSTLioscppSTLcast | |
" ----------------------------------------------------------------------------- | |
" Standard library types and functions. | |
" | |
" Mainly based on the excellent STL Syntax vim script by | |
" Mizuchi <ytj000@gmail.com> | |
" http://www.vim.org/scripts/script.php?script_id=4293 | |
" which in turn is based on the scripts | |
" http://www.vim.org/scripts/script.php?script_id=2224 | |
" http://www.vim.org/scripts/script.php?script_id=1640 | |
" ----------------------------------------------------------------------------- | |
3 0.000028 syntax keyword cppSTLconstant badbit | |
3 0.000024 syntax keyword cppSTLconstant cerr | |
3 0.000022 syntax keyword cppSTLconstant cin | |
3 0.000023 syntax keyword cppSTLconstant clog | |
3 0.000024 syntax keyword cppSTLconstant cout | |
3 0.000022 syntax keyword cppSTLconstant digits | |
3 0.000028 syntax keyword cppSTLconstant digits10 | |
3 0.000028 syntax keyword cppSTLconstant eofbit | |
3 0.000023 syntax keyword cppSTLconstant failbit | |
3 0.000028 syntax keyword cppSTLconstant goodbit | |
3 0.000021 syntax keyword cppSTLconstant has_denorm | |
3 0.000023 syntax keyword cppSTLconstant has_denorm_loss | |
3 0.000021 syntax keyword cppSTLconstant has_infinity | |
3 0.000023 syntax keyword cppSTLconstant has_quiet_NaN | |
3 0.000021 syntax keyword cppSTLconstant has_signaling_NaN | |
3 0.000027 syntax keyword cppSTLconstant is_bounded | |
3 0.000021 syntax keyword cppSTLconstant is_exact | |
3 0.000021 syntax keyword cppSTLconstant is_iec559 | |
3 0.000022 syntax keyword cppSTLconstant is_integer | |
3 0.000021 syntax keyword cppSTLconstant is_modulo | |
3 0.000021 syntax keyword cppSTLconstant is_signed | |
3 0.000021 syntax keyword cppSTLconstant is_specialized | |
3 0.000021 syntax keyword cppSTLconstant max_digits10 | |
3 0.000021 syntax keyword cppSTLconstant max_exponent | |
3 0.000025 syntax keyword cppSTLconstant max_exponent10 | |
3 0.000022 syntax keyword cppSTLconstant min_exponent | |
3 0.000034 syntax keyword cppSTLconstant min_exponent10 | |
3 0.000022 syntax keyword cppSTLconstant nothrow | |
3 0.000023 syntax keyword cppSTLconstant npos | |
3 0.000022 syntax keyword cppSTLconstant radix | |
3 0.000022 syntax keyword cppSTLconstant round_style | |
3 0.000024 syntax keyword cppSTLconstant tinyness_before | |
3 0.000021 syntax keyword cppSTLconstant traps | |
3 0.000022 syntax keyword cppSTLconstant wcerr | |
3 0.000022 syntax keyword cppSTLconstant wcin | |
3 0.000021 syntax keyword cppSTLconstant wclog | |
3 0.000022 syntax keyword cppSTLconstant wcout | |
3 0.000024 syntax keyword cppSTLexception bad_alloc | |
3 0.000023 syntax keyword cppSTLexception bad_array_new_length | |
3 0.000025 syntax keyword cppSTLexception bad_exception | |
3 0.000032 syntax keyword cppSTLexception bad_typeid bad_cast | |
3 0.000030 syntax keyword cppSTLexception domain_error | |
3 0.000021 syntax keyword cppSTLexception exception | |
3 0.000022 syntax keyword cppSTLexception invalid_argument | |
3 0.000021 syntax keyword cppSTLexception length_error | |
3 0.000023 syntax keyword cppSTLexception logic_error | |
3 0.000021 syntax keyword cppSTLexception out_of_range | |
3 0.000023 syntax keyword cppSTLexception overflow_error | |
3 0.000021 syntax keyword cppSTLexception range_error | |
3 0.000021 syntax keyword cppSTLexception runtime_error | |
3 0.000021 syntax keyword cppSTLexception underflow_error | |
3 0.000022 syntax keyword cppSTLfunction abort | |
3 0.000023 syntax keyword cppSTLfunction abs | |
3 0.000021 syntax keyword cppSTLfunction accumulate | |
3 0.000023 syntax keyword cppSTLfunction acos | |
3 0.000022 syntax keyword cppSTLfunction adjacent_difference | |
3 0.000022 syntax keyword cppSTLfunction adjacent_find | |
3 0.000022 syntax keyword cppSTLfunction adjacent_find_if | |
3 0.000033 syntax keyword cppSTLfunction advance | |
3 0.000021 syntax keyword cppSTLfunctional binary_function | |
3 0.000021 syntax keyword cppSTLfunctional binary_negate | |
3 0.000021 syntax keyword cppSTLfunctional bit_and | |
3 0.000026 syntax keyword cppSTLfunctional bit_not | |
3 0.000021 syntax keyword cppSTLfunctional bit_or | |
3 0.000023 syntax keyword cppSTLfunctional divides | |
3 0.000022 syntax keyword cppSTLfunctional equal_to | |
3 0.000245 syntax keyword cppSTLfunctional greater | |
3 0.000024 syntax keyword cppSTLfunctional greater_equal | |
3 0.000021 syntax keyword cppSTLfunctional less | |
3 0.000028 syntax keyword cppSTLfunctional less_equal | |
3 0.000022 syntax keyword cppSTLfunctional logical_and | |
3 0.000025 syntax keyword cppSTLfunctional logical_not | |
3 0.000022 syntax keyword cppSTLfunctional logical_or | |
3 0.000027 syntax keyword cppSTLfunctional minus | |
3 0.000021 syntax keyword cppSTLfunctional modulus | |
3 0.000021 syntax keyword cppSTLfunctional multiplies | |
3 0.000025 syntax keyword cppSTLfunctional negate | |
3 0.000050 syntax keyword cppSTLfunctional not_equal_to | |
3 0.000023 syntax keyword cppSTLfunctional plus | |
3 0.000027 syntax keyword cppSTLfunctional unary_function | |
3 0.000022 syntax keyword cppSTLfunctional unary_negate | |
"syntax keyword cppSTLfunction any | |
3 0.000022 syntax keyword cppSTLfunction append | |
3 0.000022 syntax keyword cppSTLfunction arg | |
3 0.000024 syntax keyword cppSTLfunction asctime | |
3 0.000021 syntax keyword cppSTLfunction asin | |
3 0.000023 syntax keyword cppSTLfunction assert | |
3 0.000021 syntax keyword cppSTLfunction assign | |
3 0.000021 syntax keyword cppSTLfunction at | |
3 0.000052 syntax keyword cppSTLfunction atan | |
3 0.000038 syntax keyword cppSTLfunction atan2 | |
3 0.000024 syntax keyword cppSTLfunction atexit | |
3 0.000022 syntax keyword cppSTLfunction atof | |
3 0.000021 syntax keyword cppSTLfunction atoi | |
3 0.000022 syntax keyword cppSTLfunction atol | |
3 0.000021 syntax keyword cppSTLfunction atoll | |
3 0.000023 syntax keyword cppSTLfunction back | |
3 0.000022 syntax keyword cppSTLfunction back_inserter | |
3 0.000022 syntax keyword cppSTLfunction bad | |
3 0.000023 syntax keyword cppSTLfunction beg | |
3 0.000021 syntax keyword cppSTLfunction begin | |
3 0.000024 syntax keyword cppSTLfunction binary_compose | |
3 0.000021 syntax keyword cppSTLfunction binary_negate | |
3 0.000026 syntax keyword cppSTLfunction binary_search | |
3 0.000031 syntax keyword cppSTLfunction bind1st | |
3 0.000032 syntax keyword cppSTLfunction bind2nd | |
3 0.000054 syntax keyword cppSTLfunction binder1st | |
3 0.000023 syntax keyword cppSTLfunction binder2nd | |
3 0.000022 syntax keyword cppSTLfunction bsearch | |
3 0.000024 syntax keyword cppSTLfunction calloc | |
3 0.000022 syntax keyword cppSTLfunction capacity | |
3 0.000022 syntax keyword cppSTLfunction ceil | |
3 0.000038 syntax keyword cppSTLfunction clear | |
3 0.000024 syntax keyword cppSTLfunction clearerr | |
3 0.000023 syntax keyword cppSTLfunction clock | |
3 0.000022 syntax keyword cppSTLfunction close | |
3 0.000022 syntax keyword cppSTLfunction compare | |
3 0.000022 syntax keyword cppSTLfunction conj | |
3 0.000021 syntax keyword cppSTLfunction construct | |
3 0.000024 syntax keyword cppSTLfunction copy | |
3 0.000022 syntax keyword cppSTLfunction copy_backward | |
3 0.000022 syntax keyword cppSTLfunction cos | |
3 0.000052 syntax keyword cppSTLfunction cosh | |
3 0.000024 syntax keyword cppSTLfunction count | |
3 0.000021 syntax keyword cppSTLfunction count_if | |
3 0.000035 syntax keyword cppSTLfunction c_str | |
3 0.000024 syntax keyword cppSTLfunction ctime | |
3 0.000023 syntax keyword cppSTLfunction data | |
3 0.000024 syntax keyword cppSTLfunction denorm_min | |
3 0.000023 syntax keyword cppSTLfunction destroy | |
3 0.000021 syntax keyword cppSTLfunction difftime | |
3 0.000021 syntax keyword cppSTLfunction distance | |
3 0.000022 syntax keyword cppSTLfunction div | |
3 0.000024 syntax keyword cppSTLfunction empty | |
3 0.000026 syntax keyword cppSTLfunction end | |
3 0.000023 syntax keyword cppSTLfunction eof | |
3 0.000022 syntax keyword cppSTLfunction epsilon | |
3 0.000027 syntax keyword cppSTLfunction equal | |
3 0.000023 syntax keyword cppSTLfunction equal_range | |
3 0.000033 syntax keyword cppSTLfunction erase | |
3 0.000028 syntax keyword cppSTLfunction exit | |
3 0.000022 syntax keyword cppSTLfunction exp | |
3 0.000022 syntax keyword cppSTLfunction fabs | |
3 0.000027 syntax keyword cppSTLfunction fail | |
3 0.000023 syntax keyword cppSTLfunction failure | |
3 0.000025 syntax keyword cppSTLfunction fclose | |
3 0.000022 syntax keyword cppSTLfunction feof | |
3 0.000023 syntax keyword cppSTLfunction ferror | |
3 0.000021 syntax keyword cppSTLfunction fflush | |
3 0.000022 syntax keyword cppSTLfunction fgetc | |
3 0.000023 syntax keyword cppSTLfunction fgetpos | |
3 0.000021 syntax keyword cppSTLfunction fgets | |
3 0.000035 syntax keyword cppSTLfunction fill | |
3 0.000026 syntax keyword cppSTLfunction fill_n | |
3 0.000038 syntax keyword cppSTLfunction find | |
3 0.000026 syntax keyword cppSTLfunction find_end | |
3 0.000024 syntax keyword cppSTLfunction find_first_not_of | |
3 0.000021 syntax keyword cppSTLfunction find_first_of | |
3 0.000022 syntax keyword cppSTLfunction find_if | |
3 0.000024 syntax keyword cppSTLfunction find_last_not_of | |
3 0.000021 syntax keyword cppSTLfunction find_last_of | |
3 0.000022 syntax keyword cppSTLfunction first | |
3 0.000022 syntax keyword cppSTLfunction flags | |
3 0.000024 syntax keyword cppSTLfunction flip | |
3 0.000023 syntax keyword cppSTLfunction floor | |
3 0.000021 syntax keyword cppSTLfunction flush | |
3 0.000027 syntax keyword cppSTLfunction fmod | |
3 0.000024 syntax keyword cppSTLfunction fopen | |
3 0.000021 syntax keyword cppSTLfunction for_each | |
3 0.000028 syntax keyword cppSTLfunction fprintf | |
3 0.000022 syntax keyword cppSTLfunction fputc | |
3 0.000025 syntax keyword cppSTLfunction fputs | |
3 0.000022 syntax keyword cppSTLfunction fread | |
3 0.000023 syntax keyword cppSTLfunction free | |
3 0.000023 syntax keyword cppSTLfunction freopen | |
3 0.000021 syntax keyword cppSTLfunction frexp | |
3 0.000023 syntax keyword cppSTLfunction front | |
3 0.000022 syntax keyword cppSTLfunction fscanf | |
3 0.000022 syntax keyword cppSTLfunction fseek | |
3 0.000023 syntax keyword cppSTLfunction fsetpos | |
3 0.000021 syntax keyword cppSTLfunction ftell | |
3 0.000022 syntax keyword cppSTLfunction fwide | |
3 0.000022 syntax keyword cppSTLfunction fwprintf | |
3 0.000022 syntax keyword cppSTLfunction fwrite | |
3 0.000021 syntax keyword cppSTLfunction fwscanf | |
3 0.000023 syntax keyword cppSTLfunction gcount | |
3 0.000036 syntax keyword cppSTLfunction generate | |
3 0.000024 syntax keyword cppSTLfunction generate_n | |
3 0.000024 syntax keyword cppSTLfunction get | |
3 0.000023 syntax keyword cppSTLfunction get_allocator | |
3 0.000023 syntax keyword cppSTLfunction getc | |
3 0.000022 syntax keyword cppSTLfunction getchar | |
3 0.000022 syntax keyword cppSTLfunction getenv | |
3 0.000023 syntax keyword cppSTLfunction getline | |
3 0.000021 syntax keyword cppSTLfunction gets | |
3 0.000024 syntax keyword cppSTLfunction get_temporary_buffer | |
3 0.000023 syntax keyword cppSTLfunction gmtime | |
3 0.000062 syntax keyword cppSTLfunction good | |
3 0.000038 syntax keyword cppSTLfunction ignore | |
3 0.000024 syntax keyword cppSTLfunction imag | |
3 0.000022 syntax keyword cppSTLfunction in | |
3 0.000026 syntax keyword cppSTLfunction includes | |
3 0.000032 syntax keyword cppSTLfunction infinity | |
3 0.000023 syntax keyword cppSTLfunction inner_product | |
3 0.000022 syntax keyword cppSTLfunction inplace_merge | |
3 0.000022 syntax keyword cppSTLfunction insert | |
3 0.000021 syntax keyword cppSTLfunction inserter | |
3 0.000024 syntax keyword cppSTLfunction ios | |
3 0.000027 syntax keyword cppSTLfunction ios_base | |
3 0.000021 syntax keyword cppSTLfunction iostate | |
3 0.000021 syntax keyword cppSTLfunction iota | |
3 0.000023 syntax keyword cppSTLfunction isalnum | |
3 0.000022 syntax keyword cppSTLfunction isalpha | |
3 0.000021 syntax keyword cppSTLfunction iscntrl | |
3 0.000021 syntax keyword cppSTLfunction isdigit | |
3 0.000021 syntax keyword cppSTLfunction isgraph | |
3 0.000021 syntax keyword cppSTLfunction is_heap | |
3 0.000023 syntax keyword cppSTLfunction islower | |
3 0.000033 syntax keyword cppSTLfunction is_open | |
3 0.000022 syntax keyword cppSTLfunction isprint | |
3 0.000022 syntax keyword cppSTLfunction ispunct | |
3 0.000021 syntax keyword cppSTLfunction isspace | |
3 0.000022 syntax keyword cppSTLfunction isupper | |
3 0.000021 syntax keyword cppSTLfunction isxdigit | |
3 0.000023 syntax keyword cppSTLfunction iterator_category | |
3 0.000021 syntax keyword cppSTLfunction iter_swap | |
3 0.000024 syntax keyword cppSTLfunction jmp_buf | |
3 0.000021 syntax keyword cppSTLfunction key_comp | |
3 0.000024 syntax keyword cppSTLfunction labs | |
3 0.000022 syntax keyword cppSTLfunction ldexp | |
3 0.000024 syntax keyword cppSTLfunction ldiv | |
3 0.000022 syntax keyword cppSTLfunction length | |
3 0.000022 syntax keyword cppSTLfunction lexicographical_compare | |
3 0.000031 syntax keyword cppSTLfunction lexicographical_compare_3way | |
3 0.000023 syntax keyword cppSTLfunction llabs | |
3 0.000052 syntax keyword cppSTLfunction lldiv | |
3 0.000023 syntax keyword cppSTLfunction localtime | |
3 0.000024 syntax keyword cppSTLfunction log | |
3 0.000022 syntax keyword cppSTLfunction log10 | |
3 0.000022 syntax keyword cppSTLfunction longjmp | |
3 0.000021 syntax keyword cppSTLfunction lower_bound | |
3 0.000020 syntax keyword cppSTLfunction make_heap | |
3 0.000021 syntax keyword cppSTLfunction make_pair | |
3 0.000021 syntax keyword cppSTLfunction malloc | |
3 0.000021 syntax keyword cppSTLfunction max | |
3 0.000022 syntax keyword cppSTLfunction max_element | |
3 0.000021 syntax keyword cppSTLfunction max_size | |
3 0.000022 syntax keyword cppSTLfunction memchr | |
3 0.000021 syntax keyword cppSTLfunction memcpy | |
3 0.000023 syntax keyword cppSTLfunction mem_fun | |
3 0.000034 syntax keyword cppSTLfunction mem_fun_ref | |
3 0.000023 syntax keyword cppSTLfunction memmove | |
3 0.000022 syntax keyword cppSTLfunction memset | |
3 0.000022 syntax keyword cppSTLfunction merge | |
3 0.000022 syntax keyword cppSTLfunction min | |
3 0.000022 syntax keyword cppSTLfunction min_element | |
3 0.000021 syntax keyword cppSTLfunction mismatch | |
3 0.000020 syntax keyword cppSTLfunction mktime | |
3 0.000021 syntax keyword cppSTLfunction modf | |
3 0.000022 syntax keyword cppSTLfunction next_permutation | |
3 0.000022 syntax keyword cppSTLfunction none | |
3 0.000022 syntax keyword cppSTLfunction norm | |
3 0.000021 syntax keyword cppSTLfunction not1 | |
3 0.000028 syntax keyword cppSTLfunction not2 | |
3 0.000022 syntax keyword cppSTLfunction nth_element | |
3 0.000029 syntax keyword cppSTLtype numeric_limits | |
3 0.000023 syntax keyword cppSTLfunction open | |
3 0.000021 syntax keyword cppSTLfunction partial_sort | |
3 0.000024 syntax keyword cppSTLfunction partial_sort_copy | |
3 0.000022 syntax keyword cppSTLfunction partial_sum | |
3 0.000021 syntax keyword cppSTLfunction partition | |
3 0.000021 syntax keyword cppSTLfunction peek | |
3 0.000022 syntax keyword cppSTLfunction perror | |
3 0.000022 syntax keyword cppSTLfunction polar | |
3 0.000022 syntax keyword cppSTLfunction pop | |
3 0.000027 syntax keyword cppSTLfunction pop_back | |
3 0.000021 syntax keyword cppSTLfunction pop_front | |
3 0.000022 syntax keyword cppSTLfunction pop_heap | |
3 0.000021 syntax keyword cppSTLfunction pow | |
3 0.000021 syntax keyword cppSTLfunction power | |
3 0.000021 syntax keyword cppSTLfunction precision | |
3 0.000023 syntax keyword cppSTLfunction prev_permutation | |
3 0.000033 syntax keyword cppSTLfunction printf | |
3 0.000023 syntax keyword cppSTLfunction ptr_fun | |
3 0.000021 syntax keyword cppSTLfunction push | |
3 0.000021 syntax keyword cppSTLfunction push_back | |
3 0.000021 syntax keyword cppSTLfunction push_front | |
3 0.000022 syntax keyword cppSTLfunction push_heap | |
3 0.000022 syntax keyword cppSTLfunction put | |
3 0.000022 syntax keyword cppSTLfunction putback | |
3 0.000022 syntax keyword cppSTLfunction putc | |
3 0.000021 syntax keyword cppSTLfunction putchar | |
3 0.000024 syntax keyword cppSTLfunction puts | |
3 0.000021 syntax keyword cppSTLfunction qsort | |
3 0.000022 syntax keyword cppSTLfunction quiet_NaN | |
3 0.000024 syntax keyword cppSTLfunction raise | |
3 0.000026 syntax keyword cppSTLfunction rand | |
3 0.000028 syntax keyword cppSTLfunction random_sample | |
3 0.000024 syntax keyword cppSTLfunction random_sample_n | |
3 0.000023 syntax keyword cppSTLfunction random_shuffle | |
3 0.000022 syntax keyword cppSTLfunction rbegin | |
3 0.000023 syntax keyword cppSTLfunction rdbuf | |
3 0.000021 syntax keyword cppSTLfunction rdstate | |
3 0.000021 syntax keyword cppSTLfunction read | |
3 0.000024 syntax keyword cppSTLfunction real | |
3 0.000021 syntax keyword cppSTLfunction realloc | |
3 0.000022 syntax keyword cppSTLfunction remove | |
3 0.000021 syntax keyword cppSTLfunction remove_copy | |
3 0.000022 syntax keyword cppSTLfunction remove_copy_if | |
3 0.000022 syntax keyword cppSTLfunction remove_if | |
3 0.000021 syntax keyword cppSTLfunction rename | |
3 0.000023 syntax keyword cppSTLfunction rend | |
3 0.000022 syntax keyword cppSTLfunction replace | |
3 0.000022 syntax keyword cppSTLfunction replace_copy | |
3 0.000031 syntax keyword cppSTLfunction replace_copy_if | |
3 0.000021 syntax keyword cppSTLfunction replace_if | |
3 0.000024 syntax keyword cppSTLfunction reserve | |
3 0.000054 syntax keyword cppSTLfunction reset | |
3 0.000026 syntax keyword cppSTLfunction resize | |
3 0.000023 syntax keyword cppSTLfunction return_temporary_buffer | |
3 0.000021 syntax keyword cppSTLfunction reverse | |
3 0.000021 syntax keyword cppSTLfunction reverse_copy | |
3 0.000023 syntax keyword cppSTLfunction rewind | |
3 0.000021 syntax keyword cppSTLfunction rfind | |
3 0.000022 syntax keyword cppSTLfunction rotate | |
3 0.000021 syntax keyword cppSTLfunction rotate_copy | |
3 0.000021 syntax keyword cppSTLfunction round_error | |
3 0.000031 syntax keyword cppSTLfunction scanf | |
3 0.000025 syntax keyword cppSTLfunction search | |
3 0.000028 syntax keyword cppSTLfunction search_n | |
3 0.000025 syntax keyword cppSTLfunction second | |
3 0.000023 syntax keyword cppSTLfunction seekg | |
3 0.000023 syntax keyword cppSTLfunction seekp | |
3 0.000023 syntax keyword cppSTLfunction setbuf | |
3 0.000021 syntax keyword cppSTLfunction set_difference | |
3 0.000022 syntax keyword cppSTLfunction setf | |
3 0.000022 syntax keyword cppSTLfunction set_intersection | |
3 0.000021 syntax keyword cppSTLfunction setjmp | |
3 0.000023 syntax keyword cppSTLfunction setlocale | |
3 0.000028 syntax keyword cppSTLfunction set_new_handler | |
3 0.000023 syntax keyword cppSTLfunction set_symmetric_difference | |
3 0.000021 syntax keyword cppSTLfunction set_union | |
3 0.000024 syntax keyword cppSTLfunction setvbuf | |
3 0.000023 syntax keyword cppSTLfunction signal | |
3 0.000023 syntax keyword cppSTLfunction signaling_NaN | |
3 0.000022 syntax keyword cppSTLfunction sin | |
3 0.000032 syntax keyword cppSTLfunction sinh | |
3 0.000022 syntax keyword cppSTLfunction size | |
3 0.000022 syntax keyword cppSTLfunction sort | |
3 0.000022 syntax keyword cppSTLfunction sort_heap | |
3 0.000021 syntax keyword cppSTLfunction splice | |
3 0.000023 syntax keyword cppSTLfunction sprintf | |
3 0.000022 syntax keyword cppSTLfunction sqrt | |
3 0.000022 syntax keyword cppSTLfunction srand | |
3 0.000023 syntax keyword cppSTLfunction sscanf | |
3 0.000021 syntax keyword cppSTLfunction stable_partition | |
3 0.000021 syntax keyword cppSTLfunction stable_sort | |
3 0.000021 syntax keyword cppSTLfunction str | |
3 0.000027 syntax keyword cppSTLfunction strcat | |
3 0.000026 syntax keyword cppSTLfunction strchr | |
3 0.000023 syntax keyword cppSTLfunction strcmp | |
3 0.000028 syntax keyword cppSTLfunction strcoll | |
3 0.000022 syntax keyword cppSTLfunction strcpy | |
3 0.000022 syntax keyword cppSTLfunction strcspn | |
3 0.000023 syntax keyword cppSTLfunction strerror | |
3 0.000025 syntax keyword cppSTLfunction strftime | |
3 0.000022 syntax keyword cppSTLfunction string | |
3 0.000022 syntax keyword cppSTLfunction strlen | |
3 0.000022 syntax keyword cppSTLfunction strncat | |
3 0.000022 syntax keyword cppSTLfunction strncmp | |
3 0.000021 syntax keyword cppSTLfunction strncpy | |
3 0.000022 syntax keyword cppSTLfunction strpbrk | |
3 0.000022 syntax keyword cppSTLfunction strrchr | |
3 0.000025 syntax keyword cppSTLfunction strspn | |
3 0.000022 syntax keyword cppSTLfunction strstr | |
3 0.000022 syntax keyword cppSTLfunction strtod | |
3 0.000022 syntax keyword cppSTLfunction strtof | |
3 0.000021 syntax keyword cppSTLfunction strtok | |
3 0.000034 syntax keyword cppSTLfunction strtol | |
3 0.000023 syntax keyword cppSTLfunction strtold | |
3 0.000023 syntax keyword cppSTLfunction strtoll | |
3 0.000021 syntax keyword cppSTLfunction strtoul | |
3 0.000025 syntax keyword cppSTLfunction strxfrm | |
3 0.000022 syntax keyword cppSTLfunction substr | |
3 0.000022 syntax keyword cppSTLfunction swap | |
3 0.000023 syntax keyword cppSTLfunction swap_ranges | |
3 0.000022 syntax keyword cppSTLfunction swprintf | |
3 0.000023 syntax keyword cppSTLfunction swscanf | |
3 0.000024 syntax keyword cppSTLfunction sync_with_stdio | |
3 0.000022 syntax keyword cppSTLfunction system | |
3 0.000029 syntax keyword cppSTLfunction tan | |
3 0.000022 syntax keyword cppSTLfunction tanh | |
3 0.000024 syntax keyword cppSTLfunction tellg | |
3 0.000027 syntax keyword cppSTLfunction tellp | |
3 0.000022 syntax keyword cppSTLfunction test | |
3 0.000022 syntax keyword cppSTLfunction time | |
3 0.000042 syntax keyword cppSTLfunction tmpfile | |
3 0.000031 syntax keyword cppSTLfunction tmpnam | |
3 0.000022 syntax keyword cppSTLfunction tolower | |
3 0.000022 syntax keyword cppSTLfunction top | |
3 0.000023 syntax keyword cppSTLfunction to_string | |
3 0.000021 syntax keyword cppSTLfunction to_ulong | |
3 0.000023 syntax keyword cppSTLfunction toupper | |
3 0.000029 syntax keyword cppSTLfunction to_wstring | |
3 0.000022 syntax keyword cppSTLfunction transform | |
3 0.000022 syntax keyword cppSTLfunction unary_compose | |
3 0.000022 syntax keyword cppSTLfunction unget | |
3 0.000023 syntax keyword cppSTLfunction ungetc | |
3 0.000021 syntax keyword cppSTLfunction uninitialized_copy | |
3 0.000022 syntax keyword cppSTLfunction uninitialized_copy_n | |
3 0.000045 syntax keyword cppSTLfunction uninitialized_fill | |
3 0.000025 syntax keyword cppSTLfunction uninitialized_fill_n | |
3 0.000022 syntax keyword cppSTLfunction unique | |
3 0.000022 syntax keyword cppSTLfunction unique_copy | |
3 0.000022 syntax keyword cppSTLfunction unsetf | |
3 0.000021 syntax keyword cppSTLfunction upper_bound | |
3 0.000021 syntax keyword cppSTLfunction va_arg | |
3 0.000022 syntax keyword cppSTLfunction va_copy | |
3 0.000021 syntax keyword cppSTLfunction va_end | |
3 0.000022 syntax keyword cppSTLfunction value_comp | |
3 0.000021 syntax keyword cppSTLfunction va_start | |
3 0.000021 syntax keyword cppSTLfunction vfprintf | |
3 0.000022 syntax keyword cppSTLfunction vfwprintf | |
3 0.000021 syntax keyword cppSTLfunction vprintf | |
3 0.000022 syntax keyword cppSTLfunction vsprintf | |
3 0.000030 syntax keyword cppSTLfunction vswprintf | |
3 0.000022 syntax keyword cppSTLfunction vwprintf | |
3 0.000022 syntax keyword cppSTLfunction width | |
3 0.000023 syntax keyword cppSTLfunction wprintf | |
3 0.000022 syntax keyword cppSTLfunction write | |
3 0.000035 syntax keyword cppSTLfunction wscanf | |
3 0.000028 syntax keyword cppSTLios boolalpha | |
3 0.000022 syntax keyword cppSTLios dec | |
3 0.000021 syntax keyword cppSTLios defaultfloat | |
3 0.000023 syntax keyword cppSTLios endl | |
3 0.000021 syntax keyword cppSTLios ends | |
3 0.000021 syntax keyword cppSTLios fixed | |
3 0.000025 syntax keyword cppSTLios flush | |
3 0.000025 syntax keyword cppSTLios get_money | |
3 0.000021 syntax keyword cppSTLios get_time | |
3 0.000021 syntax keyword cppSTLios hex | |
3 0.000018 syntax keyword cppSTLios hexfloat | |
3 0.000031 syntax keyword cppSTLios internal | |
3 0.000023 syntax keyword cppSTLios noboolalpha | |
3 0.000022 syntax keyword cppSTLios noshowbase | |
3 0.000021 syntax keyword cppSTLios noshowpoint | |
3 0.000031 syntax keyword cppSTLios noshowpos | |
3 0.000023 syntax keyword cppSTLios noskipws | |
3 0.000021 syntax keyword cppSTLios nounitbuf | |
3 0.000021 syntax keyword cppSTLios nouppercase | |
3 0.000021 syntax keyword cppSTLios oct | |
3 0.000020 syntax keyword cppSTLios put_money | |
3 0.000023 syntax keyword cppSTLios put_time | |
3 0.000021 syntax keyword cppSTLios resetiosflags | |
3 0.000021 syntax keyword cppSTLios scientific | |
3 0.000021 syntax keyword cppSTLios setbase | |
3 0.000028 syntax keyword cppSTLios setfill | |
3 0.000030 syntax keyword cppSTLios setiosflags | |
3 0.000021 syntax keyword cppSTLios setprecision | |
3 0.000021 syntax keyword cppSTLios setw | |
3 0.000021 syntax keyword cppSTLios showbase | |
3 0.000026 syntax keyword cppSTLios showpoint | |
3 0.000022 syntax keyword cppSTLios showpos | |
3 0.000021 syntax keyword cppSTLios skipws | |
3 0.000021 syntax keyword cppSTLios unitbuf | |
3 0.000021 syntax keyword cppSTLios uppercase | |
"syntax keyword cppSTLios ws | |
3 0.000031 syntax keyword cppSTLiterator back_insert_iterator | |
3 0.000023 syntax keyword cppSTLiterator bidirectional_iterator | |
3 0.000023 syntax keyword cppSTLiterator const_iterator | |
3 0.000023 syntax keyword cppSTLiterator const_reverse_iterator | |
3 0.000024 syntax keyword cppSTLiterator forward_iterator | |
3 0.000022 syntax keyword cppSTLiterator front_insert_iterator | |
3 0.000022 syntax keyword cppSTLiterator input_iterator | |
3 0.000031 syntax keyword cppSTLiterator insert_iterator | |
3 0.000024 syntax keyword cppSTLiterator istreambuf_iterator | |
3 0.000027 syntax keyword cppSTLiterator istream_iterator | |
3 0.000022 syntax keyword cppSTLiterator iterator | |
3 0.000021 syntax keyword cppSTLiterator ostream_iterator | |
3 0.000023 syntax keyword cppSTLiterator output_iterator | |
3 0.000023 syntax keyword cppSTLiterator random_access_iterator | |
3 0.000023 syntax keyword cppSTLiterator raw_storage_iterator | |
3 0.000022 syntax keyword cppSTLiterator reverse_bidirectional_iterator | |
3 0.000022 syntax keyword cppSTLiterator reverse_iterator | |
3 0.000029 syntax keyword cppSTLiterator_tag bidirectional_iterator_tag | |
3 0.000021 syntax keyword cppSTLiterator_tag forward_iterator_tag | |
3 0.000021 syntax keyword cppSTLiterator_tag input_iterator_tag | |
3 0.000023 syntax keyword cppSTLiterator_tag output_iterator_tag | |
3 0.000021 syntax keyword cppSTLiterator_tag random_access_iterator_tag | |
3 0.000029 syntax keyword cppSTLnamespace rel_ops | |
3 0.000022 syntax keyword cppSTLnamespace std | |
3 0.000021 syntax keyword cppSTLtype allocator | |
3 0.000020 syntax keyword cppSTLtype auto_ptr | |
3 0.000021 syntax keyword cppSTLtype basic_filebuf | |
3 0.000024 syntax keyword cppSTLtype basic_fstream | |
3 0.000021 syntax keyword cppSTLtype basic_ifstream | |
3 0.000028 syntax keyword cppSTLtype basic_iostream | |
3 0.000021 syntax keyword cppSTLtype basic_istream | |
3 0.000021 syntax keyword cppSTLtype basic_istringstream | |
3 0.000021 syntax keyword cppSTLtype basic_ofstream | |
3 0.000021 syntax keyword cppSTLtype basic_ostream | |
3 0.000020 syntax keyword cppSTLtype basic_ostringstream | |
3 0.000022 syntax keyword cppSTLtype basic_streambuf | |
3 0.000023 syntax keyword cppSTLtype basic_string | |
3 0.000021 syntax keyword cppSTLtype basic_stringbuf | |
3 0.000021 syntax keyword cppSTLtype basic_stringstream | |
3 0.000031 syntax keyword cppSTLtype binary_compose | |
3 0.000022 syntax keyword cppSTLtype binder1st | |
3 0.000020 syntax keyword cppSTLtype binder2nd | |
3 0.000022 syntax keyword cppSTLtype bitset | |
3 0.000022 syntax keyword cppSTLtype char_traits | |
3 0.000021 syntax keyword cppSTLtype char_type | |
3 0.000026 syntax keyword cppSTLtype const_mem_fun1_t | |
3 0.000025 syntax keyword cppSTLtype const_mem_fun_ref1_t | |
3 0.000021 syntax keyword cppSTLtype const_mem_fun_ref_t | |
3 0.000022 syntax keyword cppSTLtype const_mem_fun_t | |
3 0.000025 syntax keyword cppSTLtype const_pointer | |
3 0.000022 syntax keyword cppSTLtype const_reference | |
3 0.000021 syntax keyword cppSTLtype deque | |
3 0.000021 syntax keyword cppSTLtype difference_type | |
3 0.000021 syntax keyword cppSTLtype div_t | |
3 0.000167 syntax keyword cppSTLtype double_t | |
3 0.000027 syntax keyword cppSTLtype filebuf | |
3 0.000022 syntax keyword cppSTLtype first_type | |
3 0.000021 syntax keyword cppSTLtype float_denorm_style | |
3 0.000021 syntax keyword cppSTLtype float_round_style | |
3 0.000021 syntax keyword cppSTLtype float_t | |
3 0.000029 syntax keyword cppSTLtype fstream | |
3 0.000033 syntax keyword cppSTLtype gslice_array | |
3 0.000023 syntax keyword cppSTLtype ifstream | |
3 0.000020 syntax keyword cppSTLtype imaxdiv_t | |
3 0.000020 syntax keyword cppSTLtype indirect_array | |
3 0.000020 syntax keyword cppSTLtype int_type | |
3 0.000023 syntax keyword cppSTLtype ios_base | |
3 0.000021 syntax keyword cppSTLtype iostream | |
3 0.000021 syntax keyword cppSTLtype istream | |
3 0.000022 syntax keyword cppSTLtype istringstream | |
3 0.000022 syntax keyword cppSTLtype istrstream | |
3 0.000033 syntax keyword cppSTLtype iterator_traits | |
3 0.000026 syntax keyword cppSTLtype key_compare | |
3 0.000022 syntax keyword cppSTLtype key_type | |
3 0.000021 syntax keyword cppSTLtype ldiv_t | |
3 0.000021 syntax keyword cppSTLtype list | |
3 0.000021 syntax keyword cppSTLtype lldiv_t | |
3 0.000020 syntax keyword cppSTLtype map | |
3 0.000021 syntax keyword cppSTLtype mapped_type | |
3 0.000020 syntax keyword cppSTLtype mask_array | |
3 0.000021 syntax keyword cppSTLtype mem_fun1_t | |
3 0.000024 syntax keyword cppSTLtype mem_fun_ref1_t | |
3 0.000020 syntax keyword cppSTLtype mem_fun_ref_t | |
3 0.000021 syntax keyword cppSTLtype mem_fun_t | |
3 0.000021 syntax keyword cppSTLtype multimap | |
3 0.000021 syntax keyword cppSTLtype multiset | |
3 0.000026 syntax keyword cppSTLtype nothrow_t | |
3 0.000027 syntax keyword cppSTLtype off_type | |
3 0.000020 syntax keyword cppSTLtype ofstream | |
3 0.000022 syntax keyword cppSTLtype ostream | |
3 0.000022 syntax keyword cppSTLtype ostringstream | |
3 0.000020 syntax keyword cppSTLtype ostrstream | |
3 0.000023 syntax keyword cppSTLtype pair | |
3 0.000021 syntax keyword cppSTLtype pointer | |
3 0.000024 syntax keyword cppSTLtype pointer_to_binary_function | |
3 0.000024 syntax keyword cppSTLtype pointer_to_unary_function | |
3 0.000021 syntax keyword cppSTLtype pos_type | |
3 0.000021 syntax keyword cppSTLtype priority_queue | |
3 0.000023 syntax keyword cppSTLtype queue | |
3 0.000023 syntax keyword cppSTLtype reference | |
3 0.000034 syntax keyword cppSTLtype second_type | |
3 0.000023 syntax keyword cppSTLtype sequence_buffer | |
3 0.000021 syntax keyword cppSTLtype set | |
3 0.000033 syntax keyword cppSTLtype sig_atomic_t | |
3 0.000022 syntax keyword cppSTLtype size_type | |
3 0.000025 syntax keyword cppSTLtype slice_array | |
3 0.000022 syntax keyword cppSTLtype stack | |
3 0.000021 syntax keyword cppSTLtype stream | |
3 0.000021 syntax keyword cppSTLtype streambuf | |
3 0.000022 syntax keyword cppSTLtype string | |
3 0.000022 syntax keyword cppSTLtype stringbuf | |
3 0.000022 syntax keyword cppSTLtype stringstream | |
3 0.000021 syntax keyword cppSTLtype strstream | |
3 0.000025 syntax keyword cppSTLtype strstreambuf | |
3 0.000023 syntax keyword cppSTLtype temporary_buffer | |
3 0.000020 syntax keyword cppSTLtype test_type | |
3 0.000021 syntax keyword cppSTLtype time_t | |
3 0.000022 syntax keyword cppSTLtype tm | |
3 0.000026 syntax keyword cppSTLtype traits_type | |
3 0.000021 syntax keyword cppSTLtype type_info | |
3 0.000019 syntax keyword cppSTLtype u16string | |
3 0.000019 syntax keyword cppSTLtype u32string | |
3 0.000022 syntax keyword cppSTLtype unary_compose | |
3 0.000020 syntax keyword cppSTLtype unary_negate | |
3 0.000020 syntax keyword cppSTLtype valarray | |
3 0.000024 syntax keyword cppSTLtype value_compare | |
3 0.000022 syntax keyword cppSTLtype value_type | |
3 0.000022 syntax keyword cppSTLtype vector | |
3 0.000022 syntax keyword cppSTLtype wfilebuf | |
3 0.000021 syntax keyword cppSTLtype wfstream | |
3 0.000022 syntax keyword cppSTLtype wifstream | |
3 0.000019 syntax keyword cppSTLtype wiostream | |
3 0.000020 syntax keyword cppSTLtype wistream | |
3 0.000022 syntax keyword cppSTLtype wistringstream | |
3 0.000020 syntax keyword cppSTLtype wofstream | |
3 0.000031 syntax keyword cppSTLtype wostream | |
3 0.000025 syntax keyword cppSTLtype wostringstream | |
3 0.000020 syntax keyword cppSTLtype wstreambuf | |
3 0.000021 syntax keyword cppSTLtype wstring | |
3 0.000020 syntax keyword cppSTLtype wstringbuf | |
3 0.000020 syntax keyword cppSTLtype wstringstream | |
3 0.000024 syntax keyword cppSTLfunction mblen | |
3 0.000022 syntax keyword cppSTLfunction mbtowc | |
3 0.000024 syntax keyword cppSTLfunction wctomb | |
3 0.000022 syntax keyword cppSTLfunction mbstowcs | |
3 0.000021 syntax keyword cppSTLfunction wcstombs | |
3 0.000022 syntax keyword cppSTLfunction mbsinit | |
3 0.000022 syntax keyword cppSTLfunction btowc | |
3 0.000021 syntax keyword cppSTLfunction wctob | |
3 0.000027 syntax keyword cppSTLfunction mbrlen | |
3 0.000021 syntax keyword cppSTLfunction mbrtowc | |
3 0.000022 syntax keyword cppSTLfunction wcrtomb | |
3 0.000025 syntax keyword cppSTLfunction mbsrtowcs | |
3 0.000021 syntax keyword cppSTLfunction wcsrtombs | |
3 0.000020 syntax keyword cppSTLtype mbstate_t | |
3 0.000021 syntax keyword cppSTLconstant MB_LEN_MAX | |
3 0.000023 syntax keyword cppSTLconstant MB_CUR_MAX | |
3 0.000024 syntax keyword cppSTLconstant __STDC_UTF_16__ | |
3 0.000025 syntax keyword cppSTLconstant __STDC_UTF_32__ | |
3 0.000022 syntax keyword cppSTLfunction iswalnum | |
3 0.000022 syntax keyword cppSTLfunction iswalpha | |
3 0.000021 syntax keyword cppSTLfunction iswlower | |
3 0.000021 syntax keyword cppSTLfunction iswupper | |
3 0.000031 syntax keyword cppSTLfunction iswdigit | |
3 0.000024 syntax keyword cppSTLfunction iswxdigit | |
3 0.000022 syntax keyword cppSTLfunction iswcntrl | |
3 0.000021 syntax keyword cppSTLfunction iswgraph | |
3 0.000027 syntax keyword cppSTLfunction iswspace | |
3 0.000022 syntax keyword cppSTLfunction iswprint | |
3 0.000021 syntax keyword cppSTLfunction iswpunct | |
3 0.000022 syntax keyword cppSTLfunction iswctype | |
3 0.000021 syntax keyword cppSTLfunction wctype | |
3 0.000021 syntax keyword cppSTLfunction towlower | |
3 0.000024 syntax keyword cppSTLfunction towupper | |
3 0.000031 syntax keyword cppSTLfunction towctrans | |
3 0.000022 syntax keyword cppSTLfunction wctrans | |
3 0.000027 syntax keyword cppSTLfunction wcstol | |
3 0.000023 syntax keyword cppSTLfunction wcstoll | |
3 0.000021 syntax keyword cppSTLfunction wcstoul | |
3 0.000023 syntax keyword cppSTLfunction wcstoull | |
3 0.000022 syntax keyword cppSTLfunction wcstof | |
3 0.000022 syntax keyword cppSTLfunction wcstod | |
3 0.000021 syntax keyword cppSTLfunction wcstold | |
3 0.000022 syntax keyword cppSTLfunction wcscpy | |
3 0.000022 syntax keyword cppSTLfunction wcsncpy | |
3 0.000022 syntax keyword cppSTLfunction wcscat | |
3 0.000021 syntax keyword cppSTLfunction wcsncat | |
3 0.000023 syntax keyword cppSTLfunction wcsxfrm | |
3 0.000026 syntax keyword cppSTLfunction wcslen | |
3 0.000023 syntax keyword cppSTLfunction wcscmp | |
3 0.000023 syntax keyword cppSTLfunction wcsncmp | |
3 0.000022 syntax keyword cppSTLfunction wcscoll | |
3 0.000032 syntax keyword cppSTLfunction wcschr | |
3 0.000023 syntax keyword cppSTLfunction wcsrchr | |
3 0.000022 syntax keyword cppSTLfunction wcsspn | |
3 0.000021 syntax keyword cppSTLfunction wcscspn | |
3 0.000025 syntax keyword cppSTLfunction wcspbrk | |
3 0.000022 syntax keyword cppSTLfunction wcsstr | |
3 0.000026 syntax keyword cppSTLfunction wcstok | |
3 0.000021 syntax keyword cppSTLfunction wmemcpy | |
3 0.000023 syntax keyword cppSTLfunction wmemmove | |
3 0.000021 syntax keyword cppSTLfunction wmemcmp | |
3 0.000021 syntax keyword cppSTLfunction wmemchr | |
3 0.000023 syntax keyword cppSTLfunction wmemset | |
3 0.000021 syntax keyword cppSTLtype wctrans_t | |
3 0.000020 syntax keyword cppSTLtype wctype_t | |
3 0.000034 syntax keyword cppSTLtype wint_t | |
3 0.000023 syntax keyword cppSTLconstant WEOF | |
3 0.000022 syntax keyword cppSTLconstant WCHAR_MIN | |
3 0.000020 syntax keyword cppSTLconstant WCHAR_MAX | |
3 0.000034 if !exists("cpp_no_cpp11") | |
3 0.000027 syntax keyword cppSTLtype nullptr_t max_align_t | |
3 0.000021 syntax keyword cppSTLtype type_index | |
" type_traits | |
3 0.000022 syntax keyword cppSTLtype is_void | |
3 0.000021 syntax keyword cppSTLtype is_integral | |
3 0.000021 syntax keyword cppSTLtype is_floating_point | |
3 0.000026 syntax keyword cppSTLtype is_array | |
3 0.000023 syntax keyword cppSTLtype is_enum | |
3 0.000020 syntax keyword cppSTLtype is_union | |
3 0.000033 syntax keyword cppSTLtype is_class | |
3 0.000027 syntax keyword cppSTLtype is_function | |
3 0.000021 syntax keyword cppSTLtype is_pointer | |
3 0.000024 syntax keyword cppSTLtype is_lvalue_reference | |
3 0.000021 syntax keyword cppSTLtype is_rvalue_reference | |
3 0.000025 syntax keyword cppSTLtype is_member_object_pointer | |
3 0.000033 syntax keyword cppSTLtype is_member_function_pointer | |
3 0.000024 syntax keyword cppSTLtype is_fundamental | |
3 0.000021 syntax keyword cppSTLtype is_arithmetic | |
3 0.000021 syntax keyword cppSTLtype is_scalar | |
3 0.000021 syntax keyword cppSTLtype is_object | |
3 0.000021 syntax keyword cppSTLtype is_compound | |
3 0.000021 syntax keyword cppSTLtype is_reference | |
3 0.000023 syntax keyword cppSTLtype is_member_pointer | |
3 0.000021 syntax keyword cppSTLtype is_const | |
3 0.000027 syntax keyword cppSTLtype is_volatile | |
3 0.000026 syntax keyword cppSTLtype is_trivial | |
3 0.000024 syntax keyword cppSTLtype is_trivially_copyable | |
3 0.000022 syntax keyword cppSTLtype is_standard_layout | |
3 0.000032 syntax keyword cppSTLtype is_pod | |
3 0.000023 syntax keyword cppSTLtype is_literal_type | |
3 0.000022 syntax keyword cppSTLtype is_empty | |
3 0.000024 syntax keyword cppSTLtype is_polymorphic | |
3 0.000021 syntax keyword cppSTLtype is_abstract | |
3 0.000022 syntax keyword cppSTLtype is_signed | |
3 0.000021 syntax keyword cppSTLtype is_unsigned | |
3 0.000021 syntax keyword cppSTLtype is_constructible | |
3 0.000022 syntax keyword cppSTLtype is_trivially_constructible | |
3 0.000023 syntax keyword cppSTLtype is_nothrow_constructible | |
3 0.000022 syntax keyword cppSTLtype is_default_constructible | |
3 0.000025 syntax keyword cppSTLtype is_trivially_default_constructible | |
3 0.000023 syntax keyword cppSTLtype is_nothrow_default_constructible | |
3 0.000033 syntax keyword cppSTLtype is_copy_constructible | |
3 0.000024 syntax keyword cppSTLtype is_trivially_copy_constructible | |
3 0.000022 syntax keyword cppSTLtype is_nothrow_copy_constructible | |
3 0.000030 syntax keyword cppSTLtype is_move_constructible | |
3 0.000022 syntax keyword cppSTLtype is_trivially_move_constructible | |
3 0.000024 syntax keyword cppSTLtype is_nothrow_move_constructible | |
3 0.000021 syntax keyword cppSTLtype is_assignable | |
3 0.000024 syntax keyword cppSTLtype is_trivially_assignable | |
3 0.000021 syntax keyword cppSTLtype is_nothrow_assignable | |
3 0.000021 syntax keyword cppSTLtype is_copy_assignable | |
3 0.000023 syntax keyword cppSTLtype is_trivially_copy_assignable | |
3 0.000021 syntax keyword cppSTLtype is_nothrow_copy_assignable | |
3 0.000022 syntax keyword cppSTLtype is_move_assignable | |
3 0.000022 syntax keyword cppSTLtype is_trivially_move_assignable | |
3 0.000022 syntax keyword cppSTLtype is_nothrow_move_assignable | |
3 0.000027 syntax keyword cppSTLtype is_destructible | |
3 0.000023 syntax keyword cppSTLtype is_trivially_destructible | |
3 0.000021 syntax keyword cppSTLtype alignment_of | |
3 0.000021 syntax keyword cppSTLtype rank | |
3 0.000036 syntax keyword cppSTLtype extent | |
3 0.000022 syntax keyword cppSTLtype is_same | |
3 0.000021 syntax keyword cppSTLtype is_base_of | |
3 0.000021 syntax keyword cppSTLtype is_convertible | |
3 0.000021 syntax keyword cppSTLtype remove_cv | |
3 0.000020 syntax keyword cppSTLtype remove_const | |
3 0.000023 syntax keyword cppSTLtype remove_volatile | |
3 0.000022 syntax keyword cppSTLtype add_cv | |
3 0.000021 syntax keyword cppSTLtype add_const | |
3 0.000021 syntax keyword cppSTLtype add_volatile | |
3 0.000021 syntax keyword cppSTLtype remove_reference | |
3 0.000022 syntax keyword cppSTLtype add_lvalue_reference | |
3 0.000028 syntax keyword cppSTLtype add_rvalue_reference | |
3 0.000034 syntax keyword cppSTLtype remove_pointer | |
3 0.000022 syntax keyword cppSTLtype add_pointer | |
3 0.000021 syntax keyword cppSTLtype make_signed | |
3 0.000021 syntax keyword cppSTLtype make_unsigned | |
3 0.000023 syntax keyword cppSTLtype remove_extent | |
3 0.000023 syntax keyword cppSTLtype remove_all_extents | |
3 0.000033 syntax keyword cppSTLtype aligned_storage | |
3 0.000024 syntax keyword cppSTLtype aligned_union | |
3 0.000025 syntax keyword cppSTLtype decay | |
3 0.000022 syntax keyword cppSTLtype enable_if | |
3 0.000021 syntax keyword cppSTLtype conditional | |
3 0.000023 syntax keyword cppSTLtype common_type | |
3 0.000022 syntax keyword cppSTLtype underlying_type | |
3 0.000020 syntax keyword cppSTLtype result_of | |
3 0.000023 syntax keyword cppSTLtype integral_constant | |
3 0.000027 syntax keyword cppSTLtype true_type | |
3 0.000022 syntax keyword cppSTLtype false_type | |
3 0.000022 syntax keyword cppSTLfunction declval | |
3 0.000024 syntax keyword cppSTLconstant piecewise_construct | |
3 0.000021 syntax keyword cppSTLtype piecewise_construct_t | |
" memory | |
3 0.000021 syntax keyword cppSTLtype unique_ptr | |
3 0.000021 syntax keyword cppSTLtype shared_ptr | |
3 0.000020 syntax keyword cppSTLtype weak_ptr | |
3 0.000022 syntax keyword cppSTLtype owner_less | |
3 0.000022 syntax keyword cppSTLtype enable_shared_from_this | |
3 0.000022 syntax keyword cppSTLexception bad_weak_ptr | |
3 0.000021 syntax keyword cppSTLtype default_delete | |
3 0.000021 syntax keyword cppSTLtype allocator_traits | |
3 0.000021 syntax keyword cppSTLtype allocator_type | |
3 0.000032 syntax keyword cppSTLtype allocator_arg_t | |
3 0.000030 syntax keyword cppSTLconstant allocator_arg | |
3 0.000021 syntax keyword cppSTLtype uses_allocator | |
3 0.000023 syntax keyword cppSTLtype scoped_allocator_adaptor | |
3 0.000024 syntax keyword cppSTLfunction declare_reachable | |
3 0.000023 syntax keyword cppSTLfunction undeclare_reachable | |
3 0.000023 syntax keyword cppSTLfunction declare_no_pointers | |
3 0.000024 syntax keyword cppSTLfunction undeclare_no_pointers | |
3 0.000024 syntax keyword cppSTLfunction get_pointer_safety | |
3 0.000021 syntax keyword cppSTLtype pointer_safety | |
3 0.000022 syntax keyword cppSTLtype pointer_traits | |
3 0.000023 syntax keyword cppSTLfunction addressof | |
3 0.000022 syntax keyword cppSTLfunction align | |
3 0.000021 syntax keyword cppSTLfunction make_shared | |
3 0.000021 syntax keyword cppSTLfunction allocate_shared | |
3 0.000033 syntax keyword cppSTLcast static_pointer_cast | |
3 0.000023 syntax keyword cppSTLcast dynamic_pointer_cast | |
3 0.000024 syntax keyword cppSTLcast const_pointer_cast | |
3 0.000022 syntax keyword cppSTLfunction get_deleter | |
" function object | |
3 0.000021 syntax keyword cppSTLfunction bind | |
3 0.000023 syntax keyword cppSTLtype is_bind_expression | |
3 0.000021 syntax keyword cppSTLtype is_placeholder | |
3 0.000048 syntax keyword cppSTLconstant _1 _2 _3 _4 _5 _6 _7 _8 _9 | |
3 0.000024 syntax keyword cppSTLfunction mem_fn | |
3 0.000022 syntax keyword cppSTLfunctional function | |
3 0.000021 syntax keyword cppSTLexception bad_function_call | |
3 0.000021 syntax keyword cppSTLtype reference_wrapper | |
3 0.000025 syntax keyword cppSTLfunction ref cref | |
" bitset | |
3 0.000032 syntax keyword cppSTLfunction all | |
3 0.000023 syntax keyword cppSTLfunction to_ullong | |
" iterator | |
3 0.000024 syntax keyword cppSTLiterator move_iterator | |
3 0.000024 syntax keyword cppSTLfunction make_move_iterator | |
3 0.000024 syntax keyword cppSTLfunction next prev | |
" program support utilities | |
3 0.000024 syntax keyword cppSTLfunction quick_exit | |
3 0.000025 syntax keyword cppSTLfunction _Exit | |
3 0.000026 syntax keyword cppSTLfunction at_quick_exit | |
3 0.000022 syntax keyword cppSTLfunction forward | |
" date and time | |
3 0.000029 syntax keyword cppSTLnamespace chrono | |
3 0.000021 syntax keyword cppSTLtype duration | |
3 0.000022 syntax keyword cppSTLtype system_clock | |
3 0.000021 syntax keyword cppSTLtype steady_clock | |
3 0.000023 syntax keyword cppSTLtype high_resolution_clock | |
3 0.000021 syntax keyword cppSTLtype time_point | |
3 0.000021 syntax keyword cppSTLcast duration_cast | |
3 0.000021 syntax keyword cppSTLcast time_point_cast | |
" tuple | |
3 0.000023 syntax keyword cppSTLtype tuple | |
3 0.000022 syntax keyword cppSTLfunction make_tuple | |
3 0.000023 syntax keyword cppSTLfunction tie | |
3 0.000023 syntax keyword cppSTLfunction forward_as_tuple | |
3 0.000024 syntax keyword cppSTLfunction tuple_cat | |
3 0.000027 syntax keyword cppSTLtype tuple_size tuple_element | |
" Container | |
3 0.000027 syntax keyword cppSTLtype array | |
3 0.000021 syntax keyword cppSTLtype forward_list | |
3 0.000038 syntax keyword cppSTLtype unordered_map | |
3 0.000022 syntax keyword cppSTLtype unordered_set | |
3 0.000022 syntax keyword cppSTLtype unordered_multimap | |
3 0.000021 syntax keyword cppSTLtype unordered_multiset | |
3 0.000022 syntax keyword cppSTLtype tuple | |
3 0.000021 syntax keyword cppSTLfunction cbegin | |
3 0.000023 syntax keyword cppSTLfunction cend | |
3 0.000022 syntax keyword cppSTLfunction crbegin | |
3 0.000021 syntax keyword cppSTLfunction crend | |
3 0.000022 syntax keyword cppSTLfunction shrink_to_fit | |
3 0.000022 syntax keyword cppSTLfunction emplace | |
3 0.000022 syntax keyword cppSTLfunction emplace_back | |
3 0.000027 syntax keyword cppSTLfunction emplace_front | |
3 0.000023 syntax keyword cppSTLfunction emplace_hint | |
"forward_list | |
3 0.000021 syntax keyword cppSTLfunction before_begin | |
3 0.000022 syntax keyword cppSTLfunction cbefore_begin | |
3 0.000027 syntax keyword cppSTLfunction insert_after | |
3 0.000022 syntax keyword cppSTLfunction emplace_after | |
3 0.000022 syntax keyword cppSTLfunction erase_after | |
3 0.000021 syntax keyword cppSTLfunction splice_after | |
" unordered | |
3 0.000022 syntax keyword cppSTLtype hash | |
3 0.000021 syntax keyword cppSTLtype hasher | |
3 0.000023 syntax keyword cppSTLtype key_equal | |
3 0.000021 syntax keyword cppSTLiterator local_iterator | |
3 0.000024 syntax keyword cppSTLiterator const_local_iterator | |
3 0.000032 syntax keyword cppSTLfunction bucket_count | |
3 0.000022 syntax keyword cppSTLfunction max_bucket_count | |
3 0.000021 syntax keyword cppSTLfunction bucket_size | |
3 0.000022 syntax keyword cppSTLfunction bucket | |
3 0.000028 syntax keyword cppSTLfunction load_factor | |
3 0.000022 syntax keyword cppSTLfunction max_load_factor | |
3 0.000021 syntax keyword cppSTLfunction rehash | |
3 0.000022 syntax keyword cppSTLfunction reserve | |
3 0.000021 syntax keyword cppSTLfunction hash_function | |
3 0.000022 syntax keyword cppSTLfunction key_eq | |
" algorithm | |
3 0.000026 syntax keyword cppSTLfunction all_of any_of none_of | |
3 0.000021 syntax keyword cppSTLfunction find_if_not | |
3 0.000024 syntax keyword cppSTLfunction copy_if | |
3 0.000029 syntax keyword cppSTLfunction copy_n | |
3 0.000022 syntax keyword cppSTLfunction move | |
3 0.000022 syntax keyword cppSTLfunction move_if_noexcept | |
3 0.000021 syntax keyword cppSTLfunction move_backward | |
3 0.000026 syntax keyword cppSTLfunction shuffle | |
3 0.000035 syntax keyword cppSTLfunction is_partitioned | |
3 0.000028 syntax keyword cppSTLfunction partition_copy | |
3 0.000025 syntax keyword cppSTLfunction partition_point | |
3 0.000022 syntax keyword cppSTLfunction is_sorted | |
3 0.000022 syntax keyword cppSTLfunction is_sorted_until | |
3 0.000021 syntax keyword cppSTLfunction is_heap_until | |
3 0.000022 syntax keyword cppSTLfunction minmax | |
3 0.000022 syntax keyword cppSTLfunction minmax_element | |
3 0.000021 syntax keyword cppSTLfunction is_permutation | |
3 0.000021 syntax keyword cppSTLfunction itoa | |
" numerics | |
3 0.000033 syntax keyword cppSTLfunction imaxabs | |
3 0.000023 syntax keyword cppSTLfunction imaxdiv | |
3 0.000022 syntax keyword cppSTLfunction remainder | |
3 0.000023 syntax keyword cppSTLfunction remquo | |
3 0.000025 syntax keyword cppSTLfunction fma | |
3 0.000030 syntax keyword cppSTLfunction fmax | |
3 0.000024 syntax keyword cppSTLfunction fmin | |
3 0.000022 syntax keyword cppSTLfunction fdim | |
3 0.000023 syntax keyword cppSTLfunction nan | |
3 0.000024 syntax keyword cppSTLfunction nanf | |
3 0.000021 syntax keyword cppSTLfunction nanl | |
3 0.000022 syntax keyword cppSTLfunction exp2 | |
3 0.000022 syntax keyword cppSTLfunction expm1 | |
3 0.000022 syntax keyword cppSTLfunction log1p | |
3 0.000022 syntax keyword cppSTLfunction log2 | |
3 0.000026 syntax keyword cppSTLfunction cbrt | |
3 0.000022 syntax keyword cppSTLfunction hypot | |
3 0.000022 syntax keyword cppSTLfunction asinh | |
3 0.000021 syntax keyword cppSTLfunction acosh | |
3 0.000023 syntax keyword cppSTLfunction atanh | |
3 0.000022 syntax keyword cppSTLfunction erf | |
3 0.000024 syntax keyword cppSTLfunction erfc | |
3 0.000021 syntax keyword cppSTLfunction lgamma | |
3 0.000027 syntax keyword cppSTLfunction tgamma | |
3 0.000022 syntax keyword cppSTLfunction trunc | |
3 0.000031 syntax keyword cppSTLfunction round | |
3 0.000023 syntax keyword cppSTLfunction lround | |
3 0.000022 syntax keyword cppSTLfunction llround | |
3 0.000022 syntax keyword cppSTLfunction nearbyint | |
3 0.000021 syntax keyword cppSTLfunction rint | |
3 0.000023 syntax keyword cppSTLfunction lrint | |
3 0.000021 syntax keyword cppSTLfunction llrint | |
3 0.000035 syntax keyword cppSTLfunction scalbn | |
3 0.000023 syntax keyword cppSTLfunction scalbln | |
3 0.000023 syntax keyword cppSTLfunction ilogb | |
3 0.000021 syntax keyword cppSTLfunction logb | |
3 0.000022 syntax keyword cppSTLfunction nextafter | |
3 0.000023 syntax keyword cppSTLfunction nexttoward | |
3 0.000022 syntax keyword cppSTLfunction copysign | |
3 0.000024 syntax keyword cppSTLfunction fpclassify | |
3 0.000021 syntax keyword cppSTLfunction isfinite | |
3 0.000024 syntax keyword cppSTLfunction isinf | |
3 0.000022 syntax keyword cppSTLfunction isnan | |
3 0.000021 syntax keyword cppSTLfunction isnormal | |
3 0.000022 syntax keyword cppSTLfunction signbit | |
3 0.000023 syntax keyword cppSTLconstant HUGE_VALF | |
3 0.000022 syntax keyword cppSTLconstant HUGE_VALL | |
3 0.000038 syntax keyword cppSTLconstant INFINITY | |
3 0.000023 syntax keyword cppSTLconstant NAN | |
3 0.000026 syntax keyword cppSTLconstant math_errhandling | |
3 0.000022 syntax keyword cppSTLconstant MATH_ERRNO | |
3 0.000022 syntax keyword cppSTLconstant MATH_ERREXCEPT | |
3 0.000023 syntax keyword cppSTLconstant FP_NORMAL | |
3 0.000022 syntax keyword cppSTLconstant FP_SUBNORMAL | |
3 0.000023 syntax keyword cppSTLconstant FP_ZERO | |
3 0.000025 syntax keyword cppSTLconstant FP_INFINITY | |
3 0.000022 syntax keyword cppSTLconstant FP_NAN | |
3 0.000022 syntax keyword cppSTLconstant FLT_EVAL_METHOD | |
" complex | |
3 0.000021 syntax keyword cppSTLfunction proj | |
" random | |
3 0.000023 syntax keyword cppSTLtype linear_congruential_engine | |
3 0.000033 syntax keyword cppSTLtype mersenne_twister_engine | |
3 0.000024 syntax keyword cppSTLtype subtract_with_carry_engine | |
3 0.000024 syntax keyword cppSTLtype discard_block_engine | |
3 0.000022 syntax keyword cppSTLtype independent_bits_engine | |
3 0.000022 syntax keyword cppSTLtype shuffle_order_engine | |
3 0.000021 syntax keyword cppSTLtype random_device | |
3 0.000021 syntax keyword cppSTLtype default_random_engine | |
3 0.000022 syntax keyword cppSTLtype minstd_rand0 | |
3 0.000020 syntax keyword cppSTLtype minstd_rand | |
3 0.000021 syntax keyword cppSTLtype mt19937 | |
3 0.000021 syntax keyword cppSTLtype mt19937_64 | |
3 0.000022 syntax keyword cppSTLtype ranlux24_base | |
3 0.000021 syntax keyword cppSTLtype ranlux48_base | |
3 0.000020 syntax keyword cppSTLtype ranlux24 | |
3 0.000021 syntax keyword cppSTLtype ranlux48 | |
3 0.000034 syntax keyword cppSTLtype knuth_b | |
3 0.000024 syntax keyword cppSTLfunction generate_canonical | |
3 0.000022 syntax keyword cppSTLtype uniform_int_distribution | |
3 0.000022 syntax keyword cppSTLtype uniform_real_distribution | |
3 0.000023 syntax keyword cppSTLtype bernoulli_distribution | |
3 0.000021 syntax keyword cppSTLtype binomial_distribution | |
3 0.000023 syntax keyword cppSTLtype negative_binomial_distribution | |
3 0.000021 syntax keyword cppSTLtype geometric_distribution | |
3 0.000022 syntax keyword cppSTLtype poisson_distribution | |
3 0.000025 syntax keyword cppSTLtype exponential_distribution | |
3 0.000021 syntax keyword cppSTLtype gamma_distribution | |
3 0.000023 syntax keyword cppSTLtype weibull_distribution | |
3 0.000022 syntax keyword cppSTLtype extreme_value_distribution | |
3 0.000022 syntax keyword cppSTLtype normal_distribution | |
3 0.000025 syntax keyword cppSTLtype lognormal_distribution | |
3 0.000023 syntax keyword cppSTLtype chi_squared_distribution | |
3 0.000021 syntax keyword cppSTLtype cauchy_distribution | |
3 0.000033 syntax keyword cppSTLtype fisher_f_distribution | |
3 0.000023 syntax keyword cppSTLtype student_t_distribution | |
3 0.000024 syntax keyword cppSTLtype discrete_distribution | |
3 0.000022 syntax keyword cppSTLtype piecewise_constant_distribution | |
3 0.000031 syntax keyword cppSTLtype piecewise_linear_distribution | |
3 0.000023 syntax keyword cppSTLtype seed_seq | |
" io | |
3 0.000022 syntax keyword cppSTLfunction iostream_category | |
3 0.000028 syntax keyword cppSTLenum io_errc | |
3 0.000028 syntax keyword cppSTLfunction vscanf vfscanf vsscanf | |
3 0.000027 syntax keyword cppSTLfunction snprintf vsnprintf | |
3 0.000026 syntax keyword cppSTLfunction vwscanf vfwscanf vswscanf | |
" locale | |
3 0.000029 syntax keyword cppSTLfunction isblank | |
3 0.000025 syntax keyword cppSTLfunction iswblank | |
3 0.000022 syntax keyword cppSTLtype wstring_convert | |
3 0.000021 syntax keyword cppSTLtype wbuffer_convert | |
3 0.000022 syntax keyword cppSTLtype codecvt_utf8 | |
3 0.000022 syntax keyword cppSTLtype codecvt_utf16 | |
3 0.000021 syntax keyword cppSTLtype codecvt_utf8_utf16 | |
3 0.000022 syntax keyword cppSTLtype codecvt_mode | |
" regex | |
3 0.000020 syntax keyword cppSTLtype basic_regex | |
3 0.000023 syntax keyword cppSTLtype sub_match | |
3 0.000028 syntax keyword cppSTLtype match_results | |
3 0.000021 syntax keyword cppSTLtype regex_traits | |
3 0.000027 syntax keyword cppSTLtype regex_match regex_search regex_replace | |
3 0.000023 syntax keyword cppSTLiterator regex_iterator | |
3 0.000028 syntax keyword cppSTLiterator regex_token_iterator | |
3 0.000034 syntax keyword cppSTLexception regex_error | |
3 0.000031 syntax keyword cppSTLtype syntax_option_type match_flag_type error_type | |
" atomic | |
3 0.000021 syntax keyword cppSTLtype atomic | |
3 0.000025 syntax keyword cppSTLfunction atomic_is_lock_free | |
3 0.000021 syntax keyword cppSTLfunction atomic_store | |
3 0.000023 syntax keyword cppSTLfunction atomic_store_explicit | |
3 0.000021 syntax keyword cppSTLfunction atomic_load | |
3 0.000021 syntax keyword cppSTLfunction atomic_load_explicit | |
3 0.000021 syntax keyword cppSTLfunction atomic_exchange | |
3 0.000023 syntax keyword cppSTLfunction atomic_exchange_explicit | |
3 0.000024 syntax keyword cppSTLfunction atomic_compare_exchange_weak | |
3 0.000025 syntax keyword cppSTLfunction atomic_compare_exchange_weak_explicit | |
3 0.000024 syntax keyword cppSTLfunction atomic_compare_exchange_strong | |
3 0.000031 syntax keyword cppSTLfunction atomic_compare_exchange_strong_explicit | |
3 0.000022 syntax keyword cppSTLfunction atomic_fetch_add | |
3 0.000025 syntax keyword cppSTLfunction atomic_fetch_add_explicit | |
3 0.000021 syntax keyword cppSTLfunction atomic_fetch_sub | |
3 0.000025 syntax keyword cppSTLfunction atomic_fetch_sub_explicit | |
3 0.000021 syntax keyword cppSTLfunction atomic_fetch_and | |
3 0.000022 syntax keyword cppSTLfunction atomic_fetch_and_explicit | |
3 0.000022 syntax keyword cppSTLfunction atomic_fetch_or | |
3 0.000022 syntax keyword cppSTLfunction atomic_fetch_or_explicit | |
3 0.000023 syntax keyword cppSTLfunction atomic_fetch_xor | |
3 0.000021 syntax keyword cppSTLfunction atomic_fetch_xor_explicit | |
3 0.000021 syntax keyword cppSTLtype atomic_flag | |
3 0.000024 syntax keyword cppSTLfunction atomic_flag_test_and_set | |
3 0.000025 syntax keyword cppSTLfunction atomic_flag_test_and_set_explicit | |
3 0.000023 syntax keyword cppSTLfunction atomic_flag_clear | |
3 0.000024 syntax keyword cppSTLfunction atomic_flag_clear_explicit | |
3 0.000023 syntax keyword cppSTLtype atomic_bool | |
3 0.000021 syntax keyword cppSTLtype atomic_char | |
3 0.000031 syntax keyword cppSTLtype atomic_schar | |
3 0.000022 syntax keyword cppSTLtype atomic_uchar | |
3 0.000021 syntax keyword cppSTLtype atomic_short | |
3 0.000021 syntax keyword cppSTLtype atomic_ushort | |
3 0.000020 syntax keyword cppSTLtype atomic_int | |
3 0.000020 syntax keyword cppSTLtype atomic_uint | |
3 0.000020 syntax keyword cppSTLtype atomic_long | |
3 0.000021 syntax keyword cppSTLtype atomic_ulong | |
3 0.000019 syntax keyword cppSTLtype atomic_llong | |
3 0.000021 syntax keyword cppSTLtype atomic_ullong | |
3 0.000021 syntax keyword cppSTLtype atomic_char16_t | |
3 0.000021 syntax keyword cppSTLtype atomic_char32_t | |
3 0.000025 syntax keyword cppSTLtype atomic_wchar_t | |
3 0.000021 syntax keyword cppSTLtype atomic_int_least8_t | |
3 0.000021 syntax keyword cppSTLtype atomic_uint_least8_t | |
3 0.000023 syntax keyword cppSTLtype atomic_int_least16_t | |
3 0.000021 syntax keyword cppSTLtype atomic_uint_least16_t | |
3 0.000022 syntax keyword cppSTLtype atomic_int_least32_t | |
3 0.000026 syntax keyword cppSTLtype atomic_uint_least32_t | |
3 0.000021 syntax keyword cppSTLtype atomic_int_least64_t | |
3 0.000033 syntax keyword cppSTLtype atomic_uint_least64_t | |
3 0.000023 syntax keyword cppSTLtype atomic_int_fast8_t | |
3 0.000022 syntax keyword cppSTLtype atomic_uint_fast8_t | |
3 0.000022 syntax keyword cppSTLtype atomic_int_fast16_t | |
3 0.000021 syntax keyword cppSTLtype atomic_uint_fast16_t | |
3 0.000021 syntax keyword cppSTLtype atomic_int_fast32_t | |
3 0.000021 syntax keyword cppSTLtype atomic_uint_fast32_t | |
3 0.000021 syntax keyword cppSTLtype atomic_int_fast64_t | |
3 0.000022 syntax keyword cppSTLtype atomic_uint_fast64_t | |
3 0.000032 syntax keyword cppSTLtype atomic_intptr_t | |
3 0.000022 syntax keyword cppSTLtype atomic_uintptr_t | |
3 0.000022 syntax keyword cppSTLtype atomic_size_t | |
3 0.000022 syntax keyword cppSTLtype atomic_ptrdiff_t | |
3 0.000021 syntax keyword cppSTLtype atomic_intmax_t | |
3 0.000021 syntax keyword cppSTLtype atomic_uintmax_t | |
3 0.000021 syntax keyword cppSTLtype memory_order | |
3 0.000022 syntax keyword cppSTLfunction atomic_init | |
3 0.000022 syntax keyword cppSTLfunction ATOMIC_VAR_INIT | |
3 0.000028 syntax keyword cppSTLconstant ATOMIC_FLAG_INIT | |
3 0.000024 syntax keyword cppSTLfunction kill_dependency | |
3 0.000024 syntax keyword cppSTLfunction atomic_thread_fence | |
3 0.000023 syntax keyword cppSTLfunction atomic_signal_fence | |
" thread | |
3 0.000025 syntax keyword cppSTLtype thread | |
3 0.000022 syntax keyword cppSTLnamespace this_thread | |
3 0.000022 syntax keyword cppSTLfunction yield | |
3 0.000021 syntax keyword cppSTLfunction get_id | |
3 0.000023 syntax keyword cppSTLfunction sleep_for | |
3 0.000022 syntax keyword cppSTLfunction sleep_until | |
3 0.000023 syntax keyword cppSTLfunction joinable | |
3 0.000021 syntax keyword cppSTLfunction get_id | |
3 0.000025 syntax keyword cppSTLfunction native_handle | |
3 0.000023 syntax keyword cppSTLfunction hardware_concurrency | |
3 0.000021 syntax keyword cppSTLfunction join | |
3 0.000021 syntax keyword cppSTLfunction detach | |
3 0.000022 syntax keyword cppSTLtype mutex | |
3 0.000021 syntax keyword cppSTLtype timed_mutex | |
3 0.000032 syntax keyword cppSTLtype recursive_mutex | |
3 0.000022 syntax keyword cppSTLtype recursive_timed_mutex | |
3 0.000020 syntax keyword cppSTLtype lock_guard | |
3 0.000020 syntax keyword cppSTLtype unique_lock | |
3 0.000021 syntax keyword cppSTLtype defer_lock_t | |
3 0.000021 syntax keyword cppSTLtype try_to_lock_t | |
3 0.000028 syntax keyword cppSTLtype adopt_lock_t | |
3 0.000032 syntax keyword cppSTLconstant defer_lock try_to_lock adopt_lock | |
3 0.000034 syntax keyword cppSTLfunction try_lock lock | |
3 0.000023 syntax keyword cppSTLfunction call_once | |
3 0.000021 syntax keyword cppSTLtype once_flag | |
3 0.000022 syntax keyword cppSTLtype condition_variable | |
3 0.000022 syntax keyword cppSTLtype condition_variable_any | |
3 0.000025 syntax keyword cppSTLfunction notify_all_at_thread_exit | |
3 0.000021 syntax keyword cppSTLenum cv_status | |
3 0.000024 syntax keyword cppSTLtype promise | |
3 0.000021 syntax keyword cppSTLtype packaged_task | |
3 0.000021 syntax keyword cppSTLtype future | |
3 0.000021 syntax keyword cppSTLtype shared_future | |
3 0.000022 syntax keyword cppSTLfunction async | |
3 0.000020 syntax keyword cppSTLenum launch | |
3 0.000021 syntax keyword cppSTLenum future_status | |
3 0.000020 syntax keyword cppSTLenum future_errc | |
3 0.000023 syntax keyword cppSTLtype future_error | |
3 0.000024 syntax keyword cppSTLfunction future_category | |
" string | |
3 0.000024 syntax keyword cppSTLfunction stoi | |
3 0.000023 syntax keyword cppSTLfunction stol | |
3 0.000033 syntax keyword cppSTLfunction stoll | |
3 0.000023 syntax keyword cppSTLfunction stoul | |
3 0.000022 syntax keyword cppSTLfunction stoull | |
3 0.000036 syntax keyword cppSTLfunction stof | |
3 0.000023 syntax keyword cppSTLfunction stod | |
3 0.000021 syntax keyword cppSTLfunction stold | |
" ratio | |
3 0.000024 syntax keyword cppSTLtype ratio | |
3 0.000022 syntax keyword cppSTLtype yocto | |
3 0.000020 syntax keyword cppSTLtype zepto | |
3 0.000021 syntax keyword cppSTLtype atto | |
3 0.000021 syntax keyword cppSTLtype femto | |
3 0.000021 syntax keyword cppSTLtype pico | |
3 0.000024 syntax keyword cppSTLtype nano | |
3 0.000031 syntax keyword cppSTLtype micro | |
3 0.000022 syntax keyword cppSTLtype milli | |
3 0.000021 syntax keyword cppSTLtype centi | |
3 0.000023 syntax keyword cppSTLtype deci | |
3 0.000021 syntax keyword cppSTLtype deca | |
3 0.000021 syntax keyword cppSTLtype hecto | |
3 0.000021 syntax keyword cppSTLtype kilo | |
3 0.000021 syntax keyword cppSTLtype mega | |
3 0.000021 syntax keyword cppSTLtype giga | |
3 0.000028 syntax keyword cppSTLtype tera | |
3 0.000021 syntax keyword cppSTLtype peta | |
3 0.000022 syntax keyword cppSTLtype exa | |
3 0.000021 syntax keyword cppSTLtype zetta | |
3 0.000021 syntax keyword cppSTLtype yotta | |
3 0.000022 syntax keyword cppSTLtype ratio_add | |
3 0.000022 syntax keyword cppSTLtype ratio_subtract | |
3 0.000021 syntax keyword cppSTLtype ratio_multiply | |
3 0.000037 syntax keyword cppSTLtype ratio_divide | |
3 0.000022 syntax keyword cppSTLtype ratio_equal | |
3 0.000021 syntax keyword cppSTLtype ratio_not_equal | |
3 0.000021 syntax keyword cppSTLtype ratio_less | |
3 0.000021 syntax keyword cppSTLtype ratio_less_equal | |
3 0.000021 syntax keyword cppSTLtype ratio_greater | |
3 0.000023 syntax keyword cppSTLtype ratio_greater_equal | |
"limits | |
3 0.000023 syntax keyword cppSTLfunction lowest | |
"cuchar | |
3 0.000023 syntax keyword cppSTLfunction mbrtoc16 | |
3 0.000023 syntax keyword cppSTLfunction c16rtomb | |
3 0.000021 syntax keyword cppSTLfunction mbrtoc32 | |
3 0.000027 syntax keyword cppSTLfunction c32rtomb | |
"cinttypes | |
3 0.000024 syntax keyword cppSTLfunction strtoimax | |
3 0.000037 syntax keyword cppSTLfunction strtoumax | |
3 0.000022 syntax keyword cppSTLfunction wcstoimax | |
3 0.000024 syntax keyword cppSTLfunction wcstoumax | |
3 0.000021 syntax keyword cppSTLtype nanoseconds | |
3 0.000021 syntax keyword cppSTLtype microseconds | |
3 0.000020 syntax keyword cppSTLtype milliseconds | |
3 0.000022 syntax keyword cppSTLtype seconds | |
3 0.000022 syntax keyword cppSTLtype minutes | |
3 0.000021 syntax keyword cppSTLtype hours | |
"raw string literals | |
3 0.000375 syntax region cppRawString matchgroup=cppRawDelimiter start=@\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(@ end=/)\z1"/ contains=@Spell | |
3 0.000060 syn match cNumber "0b[01]\+" | |
3 0.000015 endif " C++11 | |
3 0.000029 if !exists("cpp_no_cpp14") | |
"dynarray | |
3 0.000026 syntax keyword cppSTLtype dynarray | |
"thread | |
3 0.000022 syntax keyword cppSTLtype shared_mutex | |
3 0.000022 syntax keyword cppSTLtype shared_lock | |
"memory | |
3 0.000023 syntax keyword cppSTLfunction make_unique | |
3 0.000008 endif " C++14 | |
3 0.000026 if !exists("cpp_no_boost") | |
"optional is not a part of C++14 anymore | |
3 0.000023 syntax keyword cppSTLtype optional | |
"syntax keyword cppSTLfunction value | |
3 0.000022 syntax keyword cppSTLfunction value_or | |
3 0.000024 syntax keyword cppSTLfunction make_optional | |
3 0.000022 syntax keyword cppSTLnamespace boost | |
3 0.000021 syntax keyword cppSTLcast lexical_cast | |
3 0.000008 endif " Boost | |
" Default highlighting | |
3 0.000022 if version >= 508 || !exists("did_cpp_syntax_inits") | |
3 0.000012 if version < 508 | |
let did_cpp_syntax_inits = 1 | |
command -nargs=+ HiLink hi link <args> | |
else | |
3 0.000078 command -nargs=+ HiLink hi def link <args> | |
3 0.000010 endif | |
3 0.000063 HiLink cppSTLfunction Function | |
3 0.000051 HiLink cppSTLfunctional Typedef | |
3 0.000049 HiLink cppSTLconstant Constant | |
3 0.000047 HiLink cppSTLnamespace Constant | |
3 0.000045 HiLink cppSTLtype Typedef | |
3 0.000046 HiLink cppSTLexception Exception | |
3 0.000046 HiLink cppSTLiterator Typedef | |
3 0.000047 HiLink cppSTLiterator_tag Typedef | |
3 0.000046 HiLink cppSTLenum Typedef | |
3 0.000046 HiLink cppSTLios Function | |
3 0.000048 HiLink cppSTLcast Statement " be consistent with official syntax | |
3 0.000047 HiLink cppRawString String | |
3 0.000052 HiLink cppRawDelimiter Delimiter | |
3 0.000019 delcommand HiLink | |
3 0.000042 endif | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/vim-clang-format/autoload/clang_format.vim | |
Sourced 1 time | |
Total time: 0.001599 | |
Self time: 0.001119 | |
count total (s) self (s) | |
let s:save_cpo = &cpo | |
1 0.000017 set cpo&vim | |
" helper functions {{{ | |
1 0.000009 function! s:has_vimproc() | |
if !exists('s:exists_vimproc') | |
try | |
silent call vimproc#version() | |
let s:exists_vimproc = 1 | |
catch | |
let s:exists_vimproc = 0 | |
endtry | |
endif | |
return s:exists_vimproc | |
endfunction | |
1 0.000013 function! s:system(str, ...) | |
let command = a:str | |
let input = a:0 >= 1 ? a:1 : '' | |
if a:0 == 0 | |
let output = s:has_vimproc() ? | |
\ vimproc#system(command) : system(command) | |
elseif a:0 == 1 | |
let output = s:has_vimproc() ? | |
\ vimproc#system(command, input) : system(command, input) | |
else | |
" ignores 3rd argument unless you have vimproc. | |
let output = s:has_vimproc() ? | |
\ vimproc#system(command, input, a:2) : system(command, input) | |
endif | |
return output | |
endfunction | |
1 0.000006 function! s:build_extra_options() | |
let extra_options = "" | |
let opts = copy(g:clang_format#style_options) | |
if has_key(g:clang_format#filetype_style_options, &ft) | |
call extend(opts, g:clang_format#filetype_style_options[&ft]) | |
endif | |
for [key, value] in items(opts) | |
let extra_options .= printf(", %s: %s", key, value) | |
endfor | |
return extra_options | |
endfunction | |
1 0.000006 function! s:make_style_options() | |
let extra_options = s:build_extra_options() | |
return printf("'{BasedOnStyle: %s, IndentWidth: %d, UseTab: %s%s}'", | |
\ g:clang_format#code_style, | |
\ (exists('*shiftwidth') ? shiftwidth() : &l:shiftwidth), | |
\ &l:expandtab==1 ? "false" : "true", | |
\ extra_options) | |
endfunction | |
1 0.000006 function! s:success(result) | |
return (s:has_vimproc() ? vimproc#get_last_status() : v:shell_error) == 0 | |
\ && a:result !~# '^YAML:\d\+:\d\+: error: unknown key ' | |
\ && a:result !~# '^\n\?$' | |
endfunction | |
1 0.000005 function! s:error_message(result) | |
echoerr "clang-format has failed to format." | |
if a:result =~# '^YAML:\d\+:\d\+: error: unknown key ' | |
echohl ErrorMsg | |
for l in split(a:result, "\n")[0:1] | |
echomsg l | |
endfor | |
echohl None | |
endif | |
endfunction | |
1 0.000009 function! clang_format#get_version() | |
if &shell =~# 'csh$' && executable('/bin/bash') | |
let shell_save = &shell | |
set shell=/bin/bash | |
endif | |
try | |
return matchlist(s:system(g:clang_format#command.' --version 2>&1'), '\(\d\+\)\.\(\d\+\)')[1:2] | |
finally | |
if exists('l:shell_save') | |
let &shell = shell_save | |
endif | |
endtry | |
endfunction | |
1 0.000007 function! clang_format#is_invalid() | |
if !exists('s:command_available') | |
if ! executable(g:clang_format#command) | |
return 1 | |
endif | |
let s:command_available = 1 | |
endif | |
if !exists('s:version') | |
let v = clang_format#get_version() | |
if v[0] < 3 || (v[0] == 3 && v[1] < 4) | |
return 2 | |
endif | |
let s:version = v | |
endif | |
return 0 | |
endfunction | |
1 0.000006 function! s:verify_command() | |
let invalidity = clang_format#is_invalid() | |
if invalidity == 1 | |
echoerr "clang-format is not found. check g:clang_format#command." | |
elseif invalidity == 2 | |
echoerr 'clang-format 3.3 or earlier is not supported for the lack of aruguments' | |
endif | |
endfunction | |
" }}} | |
" variable definitions {{{ | |
1 0.000008 function! s:getg(name, default) | |
" backward compatibility | |
if exists('g:operator_'.substitute(a:name, '#', '_', '')) | |
echoerr 'g:operator_'.substitute(a:name, '#', '_', '').' is deprecated. Please use g:'.a:name | |
return g:operator_{substitute(a:name, '#', '_', '')} | |
else | |
return get(g:, a:name, a:default) | |
endif | |
endfunction | |
1 0.000104 0.000041 let g:clang_format#command = s:getg('clang_format#command', 'clang-format') | |
1 0.000075 0.000019 let g:clang_format#extra_args = s:getg('clang_format#extra_args', "") | |
1 0.000013 if type(g:clang_format#extra_args) == type([]) | |
let g:clang_format#extra_args = join(g:clang_format#extra_args, " ") | |
endif | |
1 0.000069 0.000016 let g:clang_format#code_style = s:getg('clang_format#code_style', 'google') | |
1 0.000071 0.000018 let g:clang_format#style_options = s:getg('clang_format#style_options', {}) | |
1 0.000076 0.000025 let g:clang_format#filetype_style_options = s:getg('clang_format#filetype_style_options', {}) | |
1 0.000070 0.000018 let g:clang_format#detect_style_file = s:getg('clang_format#detect_style_file', 1) | |
1 0.000068 0.000018 let g:clang_format#auto_format = s:getg('clang_format#auto_format', 0) | |
1 0.000070 0.000019 let g:clang_format#auto_format_on_insert_leave = s:getg('clang_format#auto_format_on_insert_leave', 0) | |
1 0.000069 0.000018 let g:clang_format#auto_formatexpr = s:getg('clang_format#auto_formatexpr', 0) | |
" }}} | |
" format codes {{{ | |
1 0.000006 function! s:detect_style_file() | |
let dirname = expand('%:p:h') | |
let style_file_name = has('win32') || has('win64') ? '_clang-format' : '.clang-format' | |
return findfile(style_file_name, dirname.';') != '' | |
endfunction | |
1 0.000015 function! clang_format#format(line1, line2) | |
let args = printf(" -lines=%d:%d", a:line1, a:line2) | |
if ! (g:clang_format#detect_style_file && s:detect_style_file()) | |
let args .= printf(" -style=%s ", s:make_style_options()) | |
else | |
let args .= " -style=file " | |
endif | |
let args .= g:clang_format#extra_args | |
let clang_format = printf("%s %s --", g:clang_format#command, args) | |
return s:system(clang_format, join(getline(1, '$'), "\n")) | |
endfunction | |
" }}} | |
" replace buffer {{{ | |
1 0.000009 function! clang_format#replace(line1, line2) | |
call s:verify_command() | |
let pos_save = getpos('.') | |
let sel_save = &l:selection | |
let &l:selection = "inclusive" | |
let [save_g_reg, save_g_regtype] = [getreg('g'), getregtype('g')] | |
try | |
let formatted = clang_format#format(a:line1, a:line2) | |
if s:success(formatted) | |
try | |
" Note: | |
" Replace current buffer with workaround not to move | |
" the cursor on undo (issue #8) | |
" | |
" The points are: | |
" - Do not touch the first line. | |
" - Use :put (p, P and :put! is not available). | |
" | |
" To meet above condition: | |
" - Delete all lines except for the first line. | |
" - Put formatted text except for the first line. | |
" | |
let i = stridx(formatted, "\n") | |
if i == -1 || getline(1) !=# formatted[:i-1] | |
throw "fallback" | |
endif | |
call setreg('g', formatted[i+1:], 'V') | |
undojoin | silent normal! 2gg"_dG | |
silent put g | |
catch | |
" Fallback: | |
" The previous way. It lets the cursor move to the first line | |
" on undo. | |
call setreg('g', formatted, 'V') | |
silent keepjumps normal! ggVG"gp | |
endtry | |
else | |
call s:error_message(formatted) | |
endif | |
finally | |
call setreg('g', save_g_reg, save_g_regtype) | |
let &l:selection = sel_save | |
call setpos('.', pos_save) | |
endtry | |
endfunction | |
" }}} | |
" auto formatting on insert leave {{{ | |
1 0.000008 let s:pos_on_insertenter = [] | |
1 0.000007 function! s:format_inserted_area() | |
let pos = getpos('.') | |
" When in the same buffer | |
if &modified && ! empty(s:pos_on_insertenter) && s:pos_on_insertenter[0] == pos[0] | |
call clang_format#replace(s:pos_on_insertenter[1], line('.')) | |
let s:pos_on_insertenter = [] | |
endif | |
endfunction | |
1 0.000008 function! clang_format#enable_format_on_insert() | |
augroup plugin-clang-format-auto-format-insert | |
autocmd! | |
autocmd InsertEnter <buffer> let s:pos_on_insertenter = getpos('.') | |
autocmd InsertLeave <buffer> call s:format_inserted_area() | |
augroup END | |
endfunction | |
" }}} | |
" toggle auto formatting {{{ | |
1 0.000008 function! clang_format#toggle_auto_format() | |
let g:clang_format#auto_format = !g:clang_format#auto_format | |
if g:clang_format#auto_format | |
echo "Auto clang-format: enabled" | |
else | |
echo "Auto clang-format: disabled" | |
endif | |
endfunction | |
" }}} | |
1 0.000017 let &cpo = s:save_cpo | |
1 0.000014 unlet s:save_cpo | |
SCRIPT /usr/local/share/vim/vim74/ftplugin/cpp.vim | |
Sourced 2 times | |
Total time: 0.022150 | |
Self time: 0.021381 | |
count total (s) self (s) | |
" Vim filetype plugin file | |
" Language: C++ | |
" Maintainer: Bram Moolenaar <Bram@vim.org> | |
" Last Change: 2001 Jan 15 | |
" Only do this when not done yet for this buffer | |
2 0.000038 if exists("b:did_ftplugin") | |
finish | |
endif | |
" Behaves just like C | |
2 0.015330 runtime! ftplugin/c.vim ftplugin/c_*.vim ftplugin/c/*.vim | |
SCRIPT /usr/local/share/vim/vim74/ftplugin/c.vim | |
Sourced 2 times | |
Total time: 0.000677 | |
Self time: 0.000677 | |
count total (s) self (s) | |
" Vim filetype plugin file | |
" Language: C | |
" Maintainer: Bram Moolenaar <Bram@vim.org> | |
" Last Change: 2012 Jul 10 | |
" Only do this when not done yet for this buffer | |
2 0.000028 if exists("b:did_ftplugin") | |
finish | |
endif | |
" Don't load another plugin for this buffer | |
2 0.000017 let b:did_ftplugin = 1 | |
" Using line continuation here. | |
2 0.000035 let s:cpo_save = &cpo | |
2 0.000035 set cpo-=C | |
2 0.000027 let b:undo_ftplugin = "setl fo< com< ofu< | if has('vms') | setl isk< | endif" | |
" Set 'formatoptions' to break comment lines but not other lines, | |
" and insert the comment leader when hitting <CR> or using "o". | |
2 0.000038 setlocal fo-=t fo+=croql | |
" Set completion with CTRL-X CTRL-O to autoloaded function. | |
2 0.000028 if exists('&ofu') | |
2 0.000019 setlocal ofu=ccomplete#Complete | |
2 0.000006 endif | |
" Set 'comments' to format dashed lists in comments. | |
2 0.000019 setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// | |
" In VMS C keywords contain '$' characters. | |
2 0.000030 if has("vms") | |
setlocal iskeyword+=$ | |
endif | |
" When the matchit plugin is loaded, this makes the % command skip parens and | |
" braces in comments. | |
2 0.000028 let b:match_words = &matchpairs . ',^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>' | |
2 0.000016 let b:match_skip = 's:comment\|string\|character' | |
" Win32 can filter files in the browse dialog | |
2 0.000045 if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") | |
if &ft == "cpp" | |
let b:browsefilter = "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" . | |
\ "C Header Files (*.h)\t*.h\n" . | |
\ "C Source Files (*.c)\t*.c\n" . | |
\ "All Files (*.*)\t*.*\n" | |
elseif &ft == "ch" | |
let b:browsefilter = "Ch Source Files (*.ch *.chf)\t*.ch;*.chf\n" . | |
\ "C Header Files (*.h)\t*.h\n" . | |
\ "C Source Files (*.c)\t*.c\n" . | |
\ "All Files (*.*)\t*.*\n" | |
else | |
let b:browsefilter = "C Source Files (*.c)\t*.c\n" . | |
\ "C Header Files (*.h)\t*.h\n" . | |
\ "Ch Source Files (*.ch *.chf)\t*.ch;*.chf\n" . | |
\ "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" . | |
\ "All Files (*.*)\t*.*\n" | |
endif | |
endif | |
2 0.000031 let &cpo = s:cpo_save | |
2 0.000028 unlet s:cpo_save | |
SCRIPT /usr/local/share/vim/vim74/indent/cpp.vim | |
Sourced 2 times | |
Total time: 0.000139 | |
Self time: 0.000139 | |
count total (s) self (s) | |
" Vim indent file | |
" Language: C++ | |
" Maintainer: Bram Moolenaar <Bram@vim.org> | |
" Last Change: 2008 Nov 29 | |
" Only load this indent file when no other was loaded. | |
2 0.000025 if exists("b:did_indent") | |
finish | |
endif | |
2 0.000014 let b:did_indent = 1 | |
" C++ indenting is built-in, thus this is very simple | |
2 0.000014 setlocal cindent | |
2 0.000032 let b:undo_indent = "setl cin<" | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/unite.vim/autoload/unite/sources/buffer/variables.vim | |
Sourced 1 time | |
Total time: 0.000216 | |
Self time: 0.000216 | |
count total (s) self (s) | |
"============================================================================= | |
" FILE: variables.vim | |
" AUTHOR: Shougo Matsushita <Shougo.Matsu at gmail.com> | |
" License: MIT license {{{ | |
" Permission is hereby granted, free of charge, to any person obtaining | |
" a copy of this software and associated documentation files (the | |
" "Software"), to deal in the Software without restriction, including | |
" without limitation the rights to use, copy, modify, merge, publish, | |
" distribute, sublicense, and/or sell copies of the Software, and to | |
" permit persons to whom the Software is furnished to do so, subject to | |
" the following conditions: | |
" | |
" The above copyright notice and this permission notice shall be included | |
" in all copies or substantial portions of the Software. | |
" | |
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |
" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |
" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | |
" IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | |
" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | |
" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | |
" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
" }}} | |
"============================================================================= | |
1 0.000025 let s:save_cpo = &cpo | |
1 0.000018 set cpo&vim | |
1 0.000007 let s:buffer_list = {} | |
1 0.000014 function! unite#sources#buffer#variables#append(bufnr) "{{{ | |
" Append the current buffer. | |
let s:buffer_list[a:bufnr] = { | |
\ 'action__buffer_nr' : a:bufnr, | |
\ 'source__time' : localtime(), | |
\ } | |
endfunction"}}} | |
1 0.000010 function! unite#sources#buffer#variables#get_buffer_list() "{{{ | |
return s:buffer_list | |
endfunction"}}} | |
1 0.000017 let &cpo = s:save_cpo | |
1 0.000006 unlet s:save_cpo | |
" vim: foldmethod=marker | |
SCRIPT /usr/home/tony/.dot-config/.vim/bundle/ctrlp.vim/autoload/ctrlp/utils.vim | |
Sourced 1 time | |
Total time: 0.000799 | |
Self time: 0.000459 | |
count total (s) self (s) | |
" ============================================================================= | |
" File: autoload/ctrlp/utils.vim | |
" Description: Utilities | |
" Author: Kien Nguyen <github.com/kien> | |
" ============================================================================= | |
" Static variables {{{1 | |
1 0.000018 fu! ctrlp#utils#lash() | |
retu &ssl || !exists('+ssl') ? '/' : '\' | |
endf | |
1 0.000009 fu! s:lash(...) | |
retu ( a:0 ? a:1 : getcwd() ) !~ '[\/]$' ? s:lash : '' | |
endf | |
1 0.000006 fu! ctrlp#utils#opts() | |
let s:lash = ctrlp#utils#lash() | |
let usrhome = $HOME . s:lash( $HOME ) | |
let cahome = exists('$XDG_CACHE_HOME') ? $XDG_CACHE_HOME : usrhome.'.cache' | |
let cadir = isdirectory(usrhome.'.ctrlp_cache') | |
\ ? usrhome.'.ctrlp_cache' : cahome.s:lash(cahome).'ctrlp' | |
if exists('g:ctrlp_cache_dir') | |
let cadir = expand(g:ctrlp_cache_dir, 1) | |
if isdirectory(cadir.s:lash(cadir).'.ctrlp_cache') | |
let cadir = cadir.s:lash(cadir).'.ctrlp_cache' | |
en | |
en | |
let s:cache_dir = cadir | |
endf | |
1 0.000381 0.000041 cal ctrlp#utils#opts() | |
1 0.000012 let s:wig_cond = v:version > 702 || ( v:version == 702 && has('patch051') ) | |
" Files and Directories {{{1 | |
1 0.000008 fu! ctrlp#utils#cachedir() | |
retu s:cache_dir | |
endf | |
1 0.000006 fu! ctrlp#utils#cachefile(...) | |
let [tail, dir] = [a:0 == 1 ? '.'.a:1 : '', a:0 == 2 ? a:1 : getcwd()] | |
let cache_file = substitute(dir, '\([\/]\|^\a\zs:\)', '%', 'g').tail.'.txt' | |
retu a:0 == 1 ? cache_file : s:cache_dir.s:lash(s:cache_dir).cache_file | |
endf | |
1 0.000008 fu! ctrlp#utils#readfile(file) | |
if filereadable(a:file) | |
let data = readfile(a:file) | |
if empty(data) || type(data) != 3 | |
unl data | |
let data = [] | |
en | |
retu data | |
en | |
retu [] | |
endf | |
1 0.000008 fu! ctrlp#utils#mkdir(dir) | |
if exists('*mkdir') && !isdirectory(a:dir) | |
sil! cal mkdir(a:dir, 'p') | |
en | |
retu a:dir | |
endf | |
1 0.000007 fu! ctrlp#utils#writecache(lines, ...) | |
if isdirectory(ctrlp#utils#mkdir(a:0 ? a:1 : s:cache_dir)) | |
sil! cal writefile(a:lines, a:0 >= 2 ? a:2 : ctrlp#utils#cachefile()) | |
en | |
endf | |
1 0.000006 fu! ctrlp#utils#glob(...) | |
let path = ctrlp#utils#fnesc(a:1, 'g') | |
retu s:wig_cond ? glob(path, a:2) : glob(path) | |
endf | |
1 0.000006 fu! ctrlp#utils#globpath(...) | |
retu call('globpath', s:wig_cond ? a:000 : a:000[:1]) | |
endf | |
1 0.000008 fu! ctrlp#utils#fnesc(path, type, ...) | |
if exists('*fnameescape') | |
if exists('+ssl') | |
if a:type == 'c' | |
let path = escape(a:path, '%#') | |
elsei a:type == 'f' | |
let path = fnameescape(a:path) | |
elsei a:type == 'g' | |
let path = escape(a:path, '?*') | |
en | |
let path = substitute(path, '[', '[[]', 'g') | |
el | |
let path = fnameescape(a:path) | |
en | |
el | |
if exists('+ssl') | |
if a:type == 'c' | |
let path = escape(a:path, '%#') | |
elsei a:type == 'f' | |
let path = escape(a:path, " \t\n%#*?|<\"") | |
elsei a:type == 'g' | |
let path = escape(a:path, '?*') | |
en | |
let path = substitute(path, '[', '[[]', 'g') | |
el | |
let path = escape(a:path, " \t\n*?[{`$\\%#'\"|!<") | |
en | |
en | |
retu a:0 ? escape(path, a:1) : path | |
endf | |
"}}} | |
" vim:fen:fdm=marker:fmr={{{,}}}:fdl=0:fdc=1:ts=2:sw=2:sts=2 | |
FUNCTION <SNR>3_SynSet() | |
Called 3 times | |
Total time: 0.131554 | |
Self time: 0.027891 | |
count total (s) self (s) | |
" clear syntax for :set syntax=OFF and any syntax name that doesn't exist | |
3 0.001961 syn clear | |
3 0.000276 if exists("b:current_syntax") | |
1 0.000174 unlet b:current_syntax | |
1 0.000111 endif | |
3 0.000431 let s = expand("<amatch>") | |
3 0.000244 if s == "ON" | |
" :set syntax=ON | |
if &filetype == "" | |
echohl ErrorMsg | |
echo "filetype unknown" | |
echohl None | |
endif | |
let s = &filetype | |
elseif s == "OFF" | |
let s = "" | |
endif | |
3 0.000239 if s != "" | |
" Load the syntax file(s). When there are several, separated by dots, | |
" load each in sequence. | |
6 0.000671 for name in split(s, '\.') | |
3 0.124738 0.021075 exe "runtime! syntax/" . name . ".vim syntax/" . name . "/*.vim" | |
3 0.000014 endfor | |
3 0.000006 endif | |
FUNCTION color_coded#get_buffer_name() | |
Called 62 times | |
Total time: 0.167316 | |
Self time: 0.167316 | |
count total (s) self (s) | |
62 0.005705 lua << EOF | |
local name = color_coded_buffer_name() | |
vim.command("let s:file = '" .. name .. "'") | |
EOF | |
62 0.019656 if exists("w:color_coded_unique_counter") | |
62 0.021683 return s:file . w:color_coded_unique_counter | |
else | |
return s:file | |
endif | |
FUNCTION <SNR>33_SelectJavascript() | |
Called 1 time | |
Total time: 0.000032 | |
Self time: 0.000032 | |
count total (s) self (s) | |
1 0.000023 if getline(1) =~# '^#!.*/bin/env\s\+node\>' | |
set ft=javascript | |
endif | |
FUNCTION <SNR>15_get_rtp_after() | |
Called 4 times | |
Total time: 0.000205 | |
Self time: 0.000205 | |
count total (s) self (s) | |
4 0.000196 return substitute( fnameescape(a:bundle.rtp . '/after'), '//', '/', 'g') | |
FUNCTION <SNR>121_OnBufferUnload() | |
Called 1 time | |
Total time: 0.010174 | |
Self time: 0.010085 | |
count total (s) self (s) | |
1 0.000108 0.000019 if !s:AllowedToCompleteInCurrentFile() || empty( a:deleted_buffer_file ) | |
return | |
endif | |
1 0.010055 py ycm_state.OnBufferUnload( vim.eval( 'a:deleted_buffer_file' ) ) | |
FUNCTION <SNR>121_SetUpYcmChangedTick() | |
Called 9 times | |
Total time: 0.001023 | |
Self time: 0.001023 | |
count total (s) self (s) | |
9 0.000796 let b:ycm_changedtick = get( b:, 'ycm_changedtick', { 'file_ready_to_parse' : -1, } ) | |
FUNCTION <SNR>81_ChangeDirectory() | |
Called 1 time | |
Total time: 0.005329 | |
Self time: 0.005329 | |
count total (s) self (s) | |
1 0.000406 if a:directory !=# getcwd() | |
1 0.000365 let cmd = g:rooter_use_lcd == 1 ? 'lcd' : 'cd' | |
1 0.000489 let dir = fnameescape(a:directory) | |
1 0.001759 execute ':' . cmd . ' ' . dir | |
1 0.000125 if !g:rooter_silent_chdir | |
1 0.001535 echo dir | |
1 0.000162 endif | |
1 0.000085 endif | |
FUNCTION <SNR>87_sub() | |
Called 9 times | |
Total time: 0.000383 | |
Self time: 0.000383 | |
count total (s) self (s) | |
9 0.000367 return substitute(a:str,'\v\C'.a:pat,a:rep,'') | |
FUNCTION unite#util#is_sudo() | |
Called 1 time | |
Total time: 0.000597 | |
Self time: 0.000597 | |
count total (s) self (s) | |
1 0.000539 return $SUDO_USER != '' && $USER !=# $SUDO_USER && $HOME !=# expand('~'.$USER) && $HOME ==# expand('~'.$SUDO_USER) | |
FUNCTION <SNR>121_SetUpCompleteopt() | |
Called 5 times | |
Total time: 0.000290 | |
Self time: 0.000290 | |
count total (s) self (s) | |
" Some plugins (I'm looking at you, vim-notes) change completeopt by for | |
" instance adding 'longest'. This breaks YCM. So we force our settings. | |
" There's no two ways about this: if you want to use YCM then you have to | |
" have these completeopt settings, otherwise YCM won't work at all. | |
" We need menuone in completeopt, otherwise when there's only one candidate | |
" for completion, the menu doesn't show up. | |
5 0.000056 set completeopt-=menu | |
5 0.000031 set completeopt+=menuone | |
" This is unnecessary with our features. People use this option to insert | |
" the common prefix of all the matches and then add more differentiating chars | |
" so that they can select a more specific match. With our features, they | |
" don't need to insert the prefix; they just type the differentiating chars. | |
" Also, having this option set breaks the plugin. | |
5 0.000025 set completeopt-=longest | |
5 0.000025 if g:ycm_add_preview_to_completeopt | |
5 0.000029 set completeopt+=preview | |
5 0.000009 endif | |
FUNCTION <SNR>81_ChangeToRootDirectory() | |
Called 1 time | |
Total time: 0.029537 | |
Self time: 0.003918 | |
count total (s) self (s) | |
1 0.000175 0.000062 if s:IsVirtualFileSystem() || !s:IsNormalFile() | |
return | |
endif | |
1 0.000012 let root_dir = getbufvar('%', 'rootDir') | |
1 0.000005 if empty(root_dir) | |
1 0.020411 0.000234 let root_dir = s:FindRootDirectory() | |
1 0.000262 if !empty(root_dir) | |
1 0.000644 call setbufvar('%', 'rootDir', root_dir) | |
1 0.000144 endif | |
1 0.000110 endif | |
1 0.000219 if empty(root_dir) | |
if g:rooter_change_directory_for_non_project_files | |
call s:ChangeDirectory(expand('%:p:h')) | |
endif | |
else | |
1 0.006323 0.000994 call s:ChangeDirectory(root_dir) | |
1 0.000101 endif | |
FUNCTION ctrlp#utils#writecache() | |
Called 2 times | |
Total time: 0.001075 | |
Self time: 0.000929 | |
count total (s) self (s) | |
2 0.000274 0.000128 if isdirectory(ctrlp#utils#mkdir(a:0 ? a:1 : s:cache_dir)) | |
2 0.000785 sil! cal writefile(a:lines, a:0 >= 2 ? a:2 : ctrlp#utils#cachefile()) | |
2 0.000008 en | |
FUNCTION <SNR>84_mergelists() | |
Called 2 times | |
Total time: 0.020076 | |
Self time: 0.000343 | |
count total (s) self (s) | |
2 0.019777 0.000093 let diskmrufs = ctrlp#utils#readfile(ctrlp#mrufiles#cachefile()) | |
2 0.000166 cal filter(diskmrufs, 'index(s:mrufs, v:val) < 0') | |
2 0.000035 let mrufs = s:mrufs + diskmrufs | |
2 0.000090 0.000041 retu s:chop(mrufs) | |
FUNCTION <SNR>84_chop() | |
Called 2 times | |
Total time: 0.000049 | |
Self time: 0.000049 | |
count total (s) self (s) | |
2 0.000039 if len(a:mrufs) > {s:max} | cal remove(a:mrufs, {s:max}, -1) | en | |
2 0.000006 retu a:mrufs | |
FUNCTION <SNR>133_lash() | |
Called 2 times | |
Total time: 0.000087 | |
Self time: 0.000087 | |
count total (s) self (s) | |
2 0.000084 retu ( a:0 ? a:1 : getcwd() ) !~ '[\/]$' ? s:lash : '' | |
FUNCTION rainbow#show() | |
Called 3 times | |
Total time: 0.001261 | |
Self time: 0.001261 | |
count total (s) self (s) | |
3 0.000032 if exists('b:rainbow_loaded') | |
3 0.000019 let b:rainbow_visible = 1 | |
15 0.000070 for id in range(b:rainbow_loaded) | |
12 0.000140 let ctermfg = b:rainbow_conf.ctermfgs[id % len(b:rainbow_conf.ctermfgs)] | |
12 0.000128 let guifg = b:rainbow_conf.guifgs[id % len(b:rainbow_conf.guifgs)] | |
12 0.000356 exe 'hi default rainbow_p'.id.' ctermfg='.ctermfg.' guifg='.guifg | |
12 0.000353 exe 'hi default rainbow_o'.id.' ctermfg='.ctermfg.' guifg='.guifg | |
12 0.000030 endfor | |
3 0.000006 endif | |
FUNCTION <SNR>117_color_coded_create_defaults() | |
Called 1 time | |
Total time: 0.000039 | |
Self time: 0.000039 | |
count total (s) self (s) | |
1 0.000015 if !exists("g:color_coded_filetypes") | |
1 0.000016 let g:color_coded_filetypes = ['c', 'h', 'cpp', 'hpp', 'cc', 'm', 'mm'] | |
1 0.000003 endif | |
FUNCTION <SNR>87_buffer_getvar() | |
Called 5 times | |
Total time: 0.000065 | |
Self time: 0.000065 | |
count total (s) self (s) | |
5 0.000058 return getbufvar(self['#'],a:var) | |
FUNCTION <SNR>81_IsVirtualFileSystem() | |
Called 1 time | |
Total time: 0.000101 | |
Self time: 0.000101 | |
count total (s) self (s) | |
1 0.000099 return match(expand('%:p'), '^\w\+://.*') != -1 | |
FUNCTION <SNR>120_YcmLibsPresentIn() | |
Called 2 times | |
Total time: 0.000657 | |
Self time: 0.000657 | |
count total (s) self (s) | |
2 0.000361 if filereadable(a:path_prefix . 'ycm_client_support.so') && filereadable(a:path_prefix . 'ycm_core.so') | |
1 0.000004 return 1 | |
elseif filereadable(a:path_prefix . 'ycm_client_support.pyd') && filereadable(a:path_prefix . 'ycm_core.pyd') | |
return 1 | |
elseif filereadable(a:path_prefix . 'ycm_client_support.dll') && filereadable(a:path_prefix . 'ycm_core.dll') | |
return 1 | |
endif | |
1 0.000002 return 0 | |
FUNCTION <SNR>81_FindInCurrentPath() | |
Called 2 times | |
Total time: 0.019072 | |
Self time: 0.019047 | |
count total (s) self (s) | |
2 0.000161 let dir_current_file = fnameescape(expand('%:p:h')) | |
2 0.000071 0.000046 if s:IsDirectory(a:pattern) | |
1 0.013393 let match = finddir(a:pattern, dir_current_file . ';') | |
1 0.000305 if empty(match) | |
return '' | |
endif | |
1 0.000655 return fnamemodify(match, ':p:h:h') | |
else | |
1 0.004025 let match = findfile(a:pattern, dir_current_file . ';') | |
1 0.000008 if empty(match) | |
1 0.000003 return '' | |
endif | |
return fnamemodify(match, ':p:h') | |
endif | |
FUNCTION fugitive#buffer() | |
Called 1 time | |
Total time: 0.000147 | |
Self time: 0.000029 | |
count total (s) self (s) | |
1 0.000146 0.000028 return s:buffer(a:0 ? a:1 : '%') | |
FUNCTION <SNR>117_color_coded_define_lua_helpers() | |
Called 1 time | |
Total time: 0.000176 | |
Self time: 0.000176 | |
count total (s) self (s) | |
1 0.000004 lua << EOF | |
function color_coded_buffer_name() | |
local name = vim.buffer().fname | |
if (name == nil or name == '') then | |
name = tostring(vim.buffer().number) | |
end | |
return name | |
end | |
function color_coded_buffer_details() | |
local line_count = #vim.buffer() | |
local buffer = vim.buffer() | |
local data = {} | |
for i = 1,#buffer do | |
-- NOTE: buffer is a userdata; must be copied into array | |
data[i] = buffer[i] | |
end | |
return color_coded_buffer_name(), table.concat(data, '\n') | |
end | |
EOF | |
FUNCTION neobundle#util#convert2list() | |
Called 7 times | |
Total time: 0.000098 | |
Self time: 0.000098 | |
count total (s) self (s) | |
7 0.000085 return type(a:expr) ==# type([]) ? a:expr : [a:expr] | |
FUNCTION <SNR>121_OnBufferReadPre() | |
Called 1 time | |
Total time: 0.000113 | |
Self time: 0.000113 | |
count total (s) self (s) | |
1 0.000011 let threshold = g:ycm_disable_for_files_larger_than_kb * 1024 | |
1 0.000079 if threshold > 0 && getfsize( a:filename ) > threshold | |
echohl WarningMsg | echomsg "YouCompleteMe is disabled in this buffer; " . "the file exceeded the max size (see YCM options)." | echohl None | |
let b:ycm_largefile = 1 | |
endif | |
FUNCTION unite#sources#history_yank#_append() | |
Called 3 times | |
Total time: 0.051513 | |
Self time: 0.010682 | |
count total (s) self (s) | |
3 0.005474 0.001097 call s:load() | |
3 0.000826 let prev_histories = copy(s:yank_histories) | |
3 0.026909 0.001117 call s:add_register('"') | |
3 0.000408 if g:unite_source_history_yank_save_clipboard | |
" Skip if registers are identical. | |
if @" !=# @+ | |
call s:add_register('+') | |
endif | |
endif | |
3 0.000417 if prev_histories !=# s:yank_histories | |
" Updated. | |
1 0.000254 if g:unite_source_history_yank_limit < len(s:yank_histories) | |
let s:yank_histories = s:yank_histories[ : g:unite_source_history_yank_limit - 1] | |
endif | |
1 0.011655 0.000993 call s:save() | |
1 0.000119 endif | |
FUNCTION <SNR>121_OnCursorMovedNormalMode() | |
Called 1 time | |
Total time: 0.479804 | |
Self time: 0.004482 | |
count total (s) self (s) | |
1 0.003762 0.000475 if !s:AllowedToCompleteInCurrentFile() | |
return | |
endif | |
1 0.472547 0.000512 call s:OnFileReadyToParse() | |
1 0.002870 py ycm_state.OnCursorMoved() | |
FUNCTION <SNR>121_OnBufferVisit() | |
Called 4 times | |
Total time: 1.502567 | |
Self time: 0.996722 | |
count total (s) self (s) | |
" We need to do this even when we are not allowed to complete in the current | |
" file because we might be allowed to complete in the future! The canonical | |
" example is creating a new buffer with :enew and then setting a filetype. | |
4 0.000172 0.000078 call s:SetUpYcmChangedTick() | |
4 0.000438 0.000086 if !s:AllowedToCompleteInCurrentFile() | |
return | |
endif | |
4 0.000275 0.000049 call s:SetUpCompleteopt() | |
4 0.200525 0.000069 call s:SetCompleteFunc() | |
4 0.996166 py ycm_state.OnBufferVisit() | |
4 0.304899 0.000182 call s:OnFileReadyToParse() | |
FUNCTION <SNR>87_buffer_getline() | |
Called 3 times | |
Total time: 0.000056 | |
Self time: 0.000056 | |
count total (s) self (s) | |
3 0.000050 return get(getbufline(self['#'], a:lnum), 0, '') | |
FUNCTION fugitive#detect() | |
Called 1 time | |
Total time: 0.012746 | |
Self time: 0.002743 | |
count total (s) self (s) | |
1 0.000410 if exists('b:git_dir') && (b:git_dir ==# '' || b:git_dir =~# '/$') | |
unlet b:git_dir | |
endif | |
1 0.000244 if !exists('b:git_dir') | |
1 0.007171 0.000854 let dir = fugitive#extract_git_dir(a:path) | |
1 0.000005 if dir !=# '' | |
1 0.000005 let b:git_dir = dir | |
1 0.000002 endif | |
1 0.000002 endif | |
1 0.000008 if exists('b:git_dir') | |
1 0.000018 if exists('#User#FugitiveBoot') | |
try | |
let [save_mls, &modelines] = [&mls, 0] | |
doautocmd User FugitiveBoot | |
finally | |
let &mls = save_mls | |
endtry | |
endif | |
1 0.000007 if !exists('g:fugitive_no_maps') | |
1 0.000047 cnoremap <buffer> <expr> <C-R><C-G> fnameescape(<SID>recall()) | |
1 0.000036 nnoremap <buffer> <silent> y<C-G> :call setreg(v:register, <SID>recall())<CR> | |
1 0.000002 endif | |
1 0.000187 0.000040 let buffer = fugitive#buffer() | |
1 0.000105 if expand('%:p') =~# '//' | |
call buffer.setvar('&path', s:sub(buffer.getvar('&path'), '^\.%(,|$)', '')) | |
endif | |
1 0.000041 0.000027 if stridx(buffer.getvar('&tags'), escape(b:git_dir, ', ')) == -1 | |
1 0.000094 if filereadable(b:git_dir.'/tags') | |
call buffer.setvar('&tags', escape(b:git_dir.'/tags', ', ').','.buffer.getvar('&tags')) | |
endif | |
1 0.000117 if &filetype !=# '' && filereadable(b:git_dir.'/'.&filetype.'.tags') | |
call buffer.setvar('&tags', escape(b:git_dir.'/'.&filetype.'.tags', ', ').','.buffer.getvar('&tags')) | |
endif | |
1 0.000002 endif | |
1 0.000002 try | |
1 0.000019 let [save_mls, &modelines] = [&mls, 0] | |
1 0.003557 0.000032 doautocmd User Fugitive | |
1 0.000003 finally | |
1 0.000011 let &mls = save_mls | |
1 0.000003 endtry | |
1 0.000001 endif | |
FUNCTION ctrlp#utils#mkdir() | |
Called 2 times | |
Total time: 0.000146 | |
Self time: 0.000146 | |
count total (s) self (s) | |
2 0.000111 if exists('*mkdir') && !isdirectory(a:dir) | |
sil! cal mkdir(a:dir, 'p') | |
en | |
2 0.000007 retu a:dir | |
FUNCTION neobundle#config#tsort() | |
Called 5 times | |
Total time: 0.000176 | |
Self time: 0.000176 | |
count total (s) self (s) | |
5 0.000027 let sorted = [] | |
5 0.000022 let mark = {} | |
5 0.000026 for target in a:bundles | |
call s:tsort_impl(target, a:bundles, mark, sorted) | |
endfor | |
5 0.000016 return sorted | |
FUNCTION <SNR>87_buffer_commit() | |
Called 1 time | |
Total time: 0.000260 | |
Self time: 0.000054 | |
count total (s) self (s) | |
1 0.000259 0.000053 return matchstr(self.spec(),'^fugitive://.\{-\}//\zs\w*') | |
FUNCTION <SNR>121_SetUpPython() | |
Called 1 time | |
Total time: 0.787193 | |
Self time: 0.787193 | |
count total (s) self (s) | |
1 0.000143 py import sys | |
1 0.000068 py import vim | |
1 0.000123 exe 'python sys.path.insert( 0, "' . s:script_folder_path . '/../python" )' | |
1 0.000103 exe 'python sys.path.insert( 0, "' . s:script_folder_path . '/../third_party/ycmd" )' | |
1 0.035027 py from ycmd import utils | |
1 0.002637 exe 'py utils.AddNearestThirdPartyFoldersToSysPath("' . s:script_folder_path . '")' | |
" We need to import ycmd's third_party folders as well since we import and | |
" use ycmd code in the client. | |
1 0.004835 py utils.AddNearestThirdPartyFoldersToSysPath( utils.__file__ ) | |
1 0.059275 py from ycm import base | |
1 0.001542 py base.LoadJsonDefaultsIntoVim() | |
1 0.000105 py from ycmd import user_options_store | |
1 0.001232 py user_options_store.SetAll( base.BuildServerConf() ) | |
1 0.000097 py from ycm import vimsupport | |
1 0.000092 if !pyeval( 'base.CompatibleWithYcmCore()') | |
echohl WarningMsg | echomsg "YouCompleteMe unavailable: YCM support libs too old, PLEASE RECOMPILE" | echohl None | |
return 0 | |
endif | |
1 0.660925 py from ycm.youcompleteme import YouCompleteMe | |
1 0.020901 py ycm_state = YouCompleteMe( user_options_store.GetAll() ) | |
1 0.000024 return 1 | |
FUNCTION <SNR>87_buffer_spec() | |
Called 4 times | |
Total time: 0.000711 | |
Self time: 0.000491 | |
count total (s) self (s) | |
4 0.000045 let bufname = bufname(self['#']) | |
4 0.000658 0.000438 return s:shellslash(bufname == '' ? '' : fnamemodify(bufname,':p')) | |
FUNCTION neobundle#config#search() | |
Called 1 time | |
Total time: 0.002589 | |
Self time: 0.001226 | |
count total (s) self (s) | |
1 0.000008 if empty(a:bundle_names) | |
return [] | |
endif | |
" For infinite loop. | |
1 0.000007 let l:self = get(a:000, 0, []) | |
1 0.000004 let _ = [] | |
1 0.000987 0.000946 let bundles = len(a:bundle_names) != 1 ? filter(neobundle#config#get_neobundles(), 'index(a:bundle_names, v:val.name) >= 0 && (empty(self) || index(self, v:val.name) < 0)') : has_key(s:neobundles, a:bundle_names[0]) ? [s:neobundles[a:bundle_names[0]]] : [] | |
5 0.000017 for bundle in bundles | |
4 0.000034 call add(l:self, bundle.name) | |
4 0.000023 if !empty(bundle.depends) | |
let _ += neobundle#config#search( map(copy(bundle.depends), 'v:val.name'), self) | |
endif | |
4 0.000024 call add(_, bundle) | |
4 0.000008 endfor | |
1 0.000005 if len(_) > 1 | |
1 0.001361 0.000039 let _ = neobundle#util#uniq(_) | |
1 0.000002 endif | |
1 0.000003 return _ | |
FUNCTION color_coded#setup() | |
Called 1 time | |
Total time: 0.038517 | |
Self time: 0.038302 | |
count total (s) self (s) | |
" Try to get the lua binding working | |
1 0.000454 lua << EOF | |
package.cpath = vim.eval("$VIMHOME") .. "/bin/color_coded.so" | |
local loaded = pcall(require, "color_coded") | |
if not loaded then | |
vim.command('echohl WarningMsg | ' .. | |
'echomsg "color_coded unavailable: you need to compile it ' .. | |
'(see README.md)" | ' .. | |
'echohl None') | |
vim.command("let s:color_coded_valid = 0") | |
return | |
else | |
local version = color_coded_api_version() | |
if version ~= vim.eval("s:color_coded_api_version") then | |
vim.command('echohl WarningMsg | ' .. | |
'echomsg "color_coded has been updated: you need to recompile it ' .. | |
'(see README.md)" | ' .. | |
'echohl None') | |
vim.command("let s:color_coded_valid = 0") | |
end | |
end | |
EOF | |
" Lua is prepared, finish setup | |
1 0.000108 0.000069 call s:color_coded_create_defaults() | |
1 0.000230 0.000054 call s:color_coded_define_lua_helpers() | |
1 0.000008 return s:color_coded_valid | |
FUNCTION ctrlp#utils#lash() | |
Called 3 times | |
Total time: 0.000064 | |
Self time: 0.000064 | |
count total (s) self (s) | |
3 0.000054 retu &ssl || !exists('+ssl') ? '/' : '\' | |
FUNCTION <SNR>120_restore_cpo() | |
Called 1 time | |
Total time: 0.000023 | |
Self time: 0.000023 | |
count total (s) self (s) | |
1 0.000016 let &cpo = s:save_cpo | |
1 0.000005 unlet s:save_cpo | |
FUNCTION <SNR>121_TurnOffSyntasticForCFamily() | |
Called 1 time | |
Total time: 0.000046 | |
Self time: 0.000046 | |
count total (s) self (s) | |
1 0.000021 let g:syntastic_cpp_checkers = [] | |
1 0.000010 let g:syntastic_c_checkers = [] | |
1 0.000006 let g:syntastic_objc_checkers = [] | |
1 0.000005 let g:syntastic_objcpp_checkers = [] | |
FUNCTION unite#sources#buffer#variables#append() | |
Called 2 times | |
Total time: 0.000054 | |
Self time: 0.000054 | |
count total (s) self (s) | |
" Append the current buffer. | |
2 0.000046 let s:buffer_list[a:bufnr] = { 'action__buffer_nr' : a:bufnr, 'source__time' : localtime(), } | |
FUNCTION ctrlp#mrufiles#cachefile() | |
Called 2 times | |
Total time: 0.019029 | |
Self time: 0.007291 | |
count total (s) self (s) | |
2 0.000030 if !exists('s:cadir') || !exists('s:cafile') | |
1 0.018934 0.007209 let s:cadir = ctrlp#utils#cachedir().ctrlp#utils#lash().'mru' | |
1 0.000030 0.000017 let s:cafile = s:cadir.ctrlp#utils#lash().'cache.txt' | |
1 0.000002 en | |
2 0.000008 retu s:cafile | |
FUNCTION youcompleteme#EnableCursorMovedAutocommands() | |
Called 1 time | |
Total time: 0.000189 | |
Self time: 0.000189 | |
count total (s) self (s) | |
1 0.000014 augroup ycmcompletemecursormove | |
1 0.000110 autocmd! | |
1 0.000031 autocmd CursorMovedI * call s:OnCursorMovedInsertMode() | |
1 0.000024 autocmd CursorMoved * call s:OnCursorMovedNormalMode() | |
1 0.000003 augroup END | |
FUNCTION <SNR>121_DiagnosticUiSupportedForCurrentFiletype() | |
Called 5 times | |
Total time: 0.000535 | |
Self time: 0.000535 | |
count total (s) self (s) | |
5 0.000417 return get( s:diagnostic_ui_filetypes, &filetype, 0 ) | |
FUNCTION color_coded#push() | |
Called 2 times | |
Total time: 0.133803 | |
Self time: 0.133803 | |
count total (s) self (s) | |
2 0.000479 if index(g:color_coded_filetypes, &ft) < 0 || g:color_coded_enabled == 0 | |
return | |
endif | |
2 0.000113 lua << EOF | |
local name, data = color_coded_buffer_details() | |
color_coded_push(name, data) | |
EOF | |
FUNCTION neobundle#util#uniq() | |
Called 1 time | |
Total time: 0.001322 | |
Self time: 0.001322 | |
count total (s) self (s) | |
1 0.000018 let list = a:0 ? map(copy(a:list), printf('[v:val, %s]', a:1)) : copy(a:list) | |
1 0.000004 let i = 0 | |
1 0.000003 let seen = {} | |
5 0.000030 while i < len(list) | |
4 0.000950 let key = string(a:0 ? list[i][1] : list[i]) | |
4 0.000077 if has_key(seen, key) | |
call remove(list, i) | |
else | |
4 0.000131 let seen[key] = 1 | |
4 0.000016 let i += 1 | |
4 0.000007 endif | |
4 0.000008 endwhile | |
1 0.000006 return a:0 ? map(list, 'v:val[0]') : list | |
FUNCTION <SNR>65_append() | |
Called 1 time | |
Total time: 0.000053 | |
Self time: 0.000053 | |
count total (s) self (s) | |
1 0.000011 if &filetype == 'unite' | |
" Ignore unite window. | |
return | |
endif | |
" Save unite window information. | |
1 0.000030 let w:unite_window = { 'time' : localtime(), 'cwd' : getcwd(),} | |
FUNCTION <SNR>121_SetUpSigns() | |
Called 1 time | |
Total time: 0.000302 | |
Self time: 0.000302 | |
count total (s) self (s) | |
" We try to ensure backwards compatibility with Syntastic if the user has | |
" already defined styling for Syntastic highlight groups. | |
1 0.000021 if !hlexists( 'YcmErrorSign' ) | |
1 0.000010 if hlexists( 'SyntasticErrorSign') | |
highlight link YcmErrorSign SyntasticErrorSign | |
else | |
1 0.000107 highlight link YcmErrorSign error | |
1 0.000003 endif | |
1 0.000002 endif | |
1 0.000010 if !hlexists( 'YcmWarningSign' ) | |
1 0.000009 if hlexists( 'SyntasticWarningSign') | |
highlight link YcmWarningSign SyntasticWarningSign | |
else | |
1 0.000010 highlight link YcmWarningSign todo | |
1 0.000002 endif | |
1 0.000002 endif | |
1 0.000009 if !hlexists( 'YcmErrorLine' ) | |
1 0.000012 highlight link YcmErrorLine SyntasticErrorLine | |
1 0.000002 endif | |
1 0.000009 if !hlexists( 'YcmWarningLine' ) | |
1 0.000013 highlight link YcmWarningLine SyntasticWarningLine | |
1 0.000002 endif | |
1 0.000024 exe 'sign define YcmError text=' . g:ycm_error_symbol . ' texthl=YcmErrorSign linehl=YcmErrorLine' | |
1 0.000021 exe 'sign define YcmWarning text=' . g:ycm_warning_symbol . ' texthl=YcmWarningSign linehl=YcmWarningLine' | |
FUNCTION <SNR>42_DetectScala() | |
Called 1 time | |
Total time: 0.000036 | |
Self time: 0.000036 | |
count total (s) self (s) | |
1 0.000028 if getline(1) =~# '^#!\(/usr\)\?/bin/env\s\+scalas\?' | |
set filetype=scala | |
endif | |
FUNCTION <SNR>107_load() | |
Called 3 times | |
Total time: 0.004377 | |
Self time: 0.004377 | |
count total (s) self (s) | |
3 0.003848 if !filereadable(g:unite_source_history_yank_file) || s:yank_histories_file_mtime == getftime(g:unite_source_history_yank_file) | |
3 0.000224 return | |
endif | |
let file = readfile(g:unite_source_history_yank_file) | |
if empty(file) | |
return | |
endif | |
try | |
sandbox let s:yank_histories = eval(file[0]) | |
" Type check. | |
let history = s:yank_histories[0] | |
let history[0] = history[0] | |
catch | |
let s:yank_histories = [] | |
endtry | |
let s:yank_histories_file_mtime = getftime(g:unite_source_history_yank_file) | |
let s:yank_histories = unite#util#uniq(s:yank_histories) | |
FUNCTION neobundle#util#print_error() | |
Called 1 time | |
Total time: 0.004188 | |
Self time: 0.000039 | |
count total (s) self (s) | |
1 0.004187 0.000038 return s:echo(a:expr, 1) | |
FUNCTION neobundle#util#join_rtp() | |
Called 4 times | |
Total time: 0.000205 | |
Self time: 0.000205 | |
count total (s) self (s) | |
4 0.000199 return (stridx(a:runtimepath, '\,') < 0 && stridx(a:rtp, ',') < 0) ? join(a:list, ',') : join(map(copy(a:list), 's:escape(v:val)'), ',') | |
FUNCTION neobundle#autoload#filetype() | |
Called 2 times | |
Total time: 1.618221 | |
Self time: 0.001786 | |
count total (s) self (s) | |
2 0.001181 0.000696 let bundles = filter(neobundle#config#get_autoload_bundles(), "has_key(v:val.autoload, 'filetypes')") | |
6 0.000169 0.000090 for filetype in add(neobundle#util#get_filetypes(), 'all') | |
4 1.361993 1.361929 call neobundle#config#source_bundles(filter(copy(bundles)," index(v:val.autoload.filetypes, filetype) >= 0")) | |
4 0.000011 endfor | |
FUNCTION UltiSnips#CursorMoved() | |
Called 1 time | |
Total time: 0.009502 | |
Self time: 0.009502 | |
count total (s) self (s) | |
1 0.009388 exec g:_uspy "UltiSnips_Manager._cursor_moved()" | |
FUNCTION <SNR>121_SetUpCpoptions() | |
Called 1 time | |
Total time: 0.000442 | |
Self time: 0.000442 | |
count total (s) self (s) | |
" Without this flag in cpoptions, critical YCM mappings do not work. There's | |
" no way to not have this and have YCM working, so force the flag. | |
1 0.000027 set cpoptions+=B | |
" This prevents the display of "Pattern not found" & similar messages during | |
" completion. This is only available since Vim 7.4.314 | |
1 0.000381 if pyeval( 'vimsupport.VimVersionAtLeast("7.4.314")' ) | |
1 0.000017 set shortmess+=c | |
1 0.000003 endif | |
FUNCTION neobundle#config#is_sourced() | |
Called 4 times | |
Total time: 0.000127 | |
Self time: 0.000084 | |
count total (s) self (s) | |
4 0.000123 0.000080 return get(neobundle#config#get(a:name), 'sourced', 0) | |
FUNCTION neobundle#autoload#source() | |
Called 4 times | |
Total time: 0.004357 | |
Self time: 0.003916 | |
count total (s) self (s) | |
4 0.004278 0.003837 let bundles = filter(neobundle#config#get_neobundles(), "has_key(v:val.autoload, 'on_source') && index(v:val.autoload.on_source, a:bundle_name) >= 0 && !v:val.sourced && v:val.lazy") | |
4 0.000028 if !empty(bundles) | |
call neobundle#config#source_bundles(bundles) | |
endif | |
FUNCTION <SNR>15_filetype_off() | |
Called 1 time | |
Total time: 0.011791 | |
Self time: 0.009568 | |
count total (s) self (s) | |
1 0.000009 redir => filetype_out | |
1 0.000012 silent filetype | |
1 0.000008 redir END | |
1 0.000029 if filetype_out =~# 'plugin:ON' || filetype_out =~# 'indent:ON' | |
1 0.006934 0.006433 filetype plugin indent off | |
1 0.000004 endif | |
1 0.000020 if filetype_out =~# 'detection:ON' | |
1 0.004749 0.003027 filetype off | |
1 0.000004 endif | |
1 0.000007 return filetype_out | |
FUNCTION <SNR>121_OnFileReadyToParse() | |
Called 5 times | |
Total time: 0.776752 | |
Self time: 0.671552 | |
count total (s) self (s) | |
" We need to call this just in case there is no b:ycm_changetick; this can | |
" happen for special buffers. | |
5 0.001476 0.000547 call s:SetUpYcmChangedTick() | |
" Order is important here; we need to extract any done diagnostics before | |
" reparsing the file again. If we sent the new parse request first, then | |
" the response would always be pending when we called | |
" UpdateDiagnosticNotifications. | |
5 0.105230 0.000959 call s:UpdateDiagnosticNotifications() | |
5 0.000715 let buffer_changed = b:changedtick != b:ycm_changedtick.file_ready_to_parse | |
5 0.000312 if buffer_changed | |
3 0.666673 py ycm_state.OnFileReadyToParse() | |
3 0.000457 endif | |
5 0.000357 let b:ycm_changedtick.file_ready_to_parse = b:changedtick | |
FUNCTION rainbow#hide() | |
Called 3 times | |
Total time: 0.000360 | |
Self time: 0.000360 | |
count total (s) self (s) | |
3 0.000028 if exists('b:rainbow_visible') | |
10 0.000047 for each in range(b:rainbow_loaded) | |
8 0.000104 exe 'hi clear rainbow_p'.each | |
8 0.000095 exe 'hi clear rainbow_o'.each | |
8 0.000015 endfor | |
2 0.000008 unlet b:rainbow_visible | |
2 0.000004 endif | |
FUNCTION <SNR>26_DetectCoffee() | |
Called 1 time | |
Total time: 0.000037 | |
Self time: 0.000037 | |
count total (s) self (s) | |
1 0.000027 if getline(1) =~ '^#!.*\<coffee\>' | |
set filetype=coffee | |
endif | |
FUNCTION neobundle#config#rtp_rm() | |
Called 4 times | |
Total time: 0.001938 | |
Self time: 0.001832 | |
count total (s) self (s) | |
4 0.000236 execute 'set rtp-='.fnameescape(a:bundle.rtp) | |
4 0.001440 if isdirectory(a:bundle.rtp.'/after') | |
2 0.000216 0.000110 execute 'set rtp-='.s:get_rtp_after(a:bundle) | |
2 0.000005 endif | |
FUNCTION rainbow#load() | |
Called 3 times | |
Total time: 0.018655 | |
Self time: 0.007666 | |
count total (s) self (s) | |
3 0.000018 let conf = b:rainbow_conf | |
3 0.000059 let maxlvl = has('gui_running')? len(conf.guifgs) : len(conf.ctermfgs) | |
12 0.000081 for i in range(len(conf.parentheses)) | |
9 0.000070 let p = conf.parentheses[i] | |
9 0.000077 if type(p) == type([]) | |
let op = len(p)==3? p[1] : has_key(conf, 'operators')? conf.operators : '' | |
let conf.parentheses[i] = op != ''? printf('start=#%s# step=%s end=#%s#', p[0], op, p[-1]) : printf('start=#%s# end=#%s#', p[0], p[-1]) | |
endif | |
9 0.000020 endfor | |
3 0.000026 let def_rg = 'syn region %s matchgroup=%s containedin=%s contains=%s,@NoSpell %s' | |
3 0.000019 let def_op = 'syn match %s %s containedin=%s contained' | |
3 0.001919 0.000052 call rainbow#clear() | |
3 0.000018 let b:rainbow_loaded = maxlvl | |
12 0.000053 for parenthesis_args in conf.parentheses | |
9 0.008168 0.000307 let [paren, containedin, contains, op] = s:resolve_parenthesis(parenthesis_args) | |
21 0.000126 if op == '' |let op = conf.operators |endif | |
45 0.000196 for lvl in range(maxlvl) | |
102 0.001842 if op != '' |exe printf(def_op, 'rainbow_o'.lvl, op, 'rainbow_r'.lvl) |endif | |
36 0.000132 if lvl == 0 | |
9 0.000052 if containedin == '' | |
9 0.000637 exe printf(def_rg, 'rainbow_r0', 'rainbow_p0', 'rainbow_r'.(maxlvl - 1), contains, paren) | |
9 0.000025 endif | |
9 0.000018 else | |
27 0.001949 exe printf(def_rg, 'rainbow_r'.lvl, 'rainbow_p'.lvl.(' contained'), 'rainbow_r'.((lvl + maxlvl - 1) % maxlvl), contains, paren) | |
27 0.000080 endif | |
36 0.000091 endfor | |
9 0.000052 if containedin != '' | |
exe printf(def_rg, 'rainbow_r0', 'rainbow_p0 contained', containedin.',rainbow_r'.(maxlvl - 1), contains, paren) | |
endif | |
9 0.000028 endfor | |
3 0.001317 0.000056 call rainbow#show() | |
FUNCTION color_coded#clear_matches() | |
Called 2 times | |
Total time: 0.001598 | |
Self time: 0.001598 | |
count total (s) self (s) | |
2 0.000299 if has_key(g:color_coded_matches, a:file) == 1 | |
1 0.000305 for id in g:color_coded_matches[a:file] | |
call matchdelete(id) | |
endfor | |
1 0.000091 endif | |
2 0.000313 let g:color_coded_matches[a:file] = [] | |
FUNCTION color_coded#enter() | |
Called 2 times | |
Total time: 0.057743 | |
Self time: 0.004636 | |
count total (s) self (s) | |
2 0.000522 if index(g:color_coded_filetypes, &ft) < 0 || g:color_coded_enabled == 0 | |
return | |
endif | |
" Each new window controls highlighting separate from the buffer | |
2 0.000537 if !exists("w:color_coded_own_syntax") || w:color_coded_name != color_coded#get_buffer_name() | |
2 2.083873 2.030948 execute 'ownsyntax ' . b:current_syntax | |
1 0.000006 let w:color_coded_own_syntax = 1 | |
" Each window has a unique ID | |
1 0.000008 let w:color_coded_unique_counter = s:color_coded_unique_counter | |
1 0.000006 let s:color_coded_unique_counter += 1 | |
" Windows can be reused; clear it out if needed | |
1 0.000009 if exists("w:color_coded_name") | |
call color_coded#clear_matches(w:color_coded_name) | |
endif | |
1 0.000179 0.000038 let w:color_coded_name = color_coded#get_buffer_name() | |
1 0.000079 0.000038 call color_coded#clear_matches(w:color_coded_name) | |
1 0.000002 endif | |
1 0.000002 lua << EOF | |
local name, data = color_coded_buffer_details() | |
color_coded_enter(name, data) | |
EOF | |
FUNCTION <SNR>87_buffer_type() | |
Called 1 time | |
Total time: 0.001324 | |
Self time: 0.000751 | |
count total (s) self (s) | |
1 0.000029 0.000017 if self.getvar('fugitive_type') != '' | |
let type = self.getvar('fugitive_type') | |
elseif fnamemodify(self.spec(),':p') =~# '.\git/refs/\|\.git/\w*HEAD$' | |
let type = 'head' | |
elseif self.getline(1) =~ '^tree \x\{40\}$' && self.getline(2) == '' | |
let type = 'tree' | |
elseif self.getline(1) =~ '^\d\{6\} \w\{4\} \x\{40\}\>\t' | |
let type = 'tree' | |
elseif self.getline(1) =~ '^\d\{6\} \x\{40\}\> \d\t' | |
let type = 'index' | |
elseif isdirectory(self.spec()) | |
let type = 'directory' | |
elseif self.spec() == '' | |
let type = 'null' | |
else | |
1 0.000005 let type = 'file' | |
1 0.000002 endif | |
1 0.000002 if a:0 | |
1 0.000028 return !empty(filter(copy(a:000),'v:val ==# type')) | |
else | |
return type | |
endif | |
FUNCTION fugitive#extract_git_dir() | |
Called 1 time | |
Total time: 0.006317 | |
Self time: 0.003139 | |
count total (s) self (s) | |
1 0.003395 0.001184 if s:shellslash(a:path) =~# '^fugitive://.*//' | |
return matchstr(s:shellslash(a:path), '\C^fugitive://\zs.\{-\}\ze//') | |
endif | |
1 0.000553 0.000496 let root = s:shellslash(simplify(fnamemodify(a:path, ':p:s?[\/]$??'))) | |
1 0.000005 let previous = "" | |
3 0.000020 while root !=# previous | |
3 0.000111 if root =~# '\v^//%([^/]+/?)?$' | |
" This is for accessing network shares from Cygwin Vim. There won't be | |
" any git directory called //.git or //serverName/.git so let's avoid | |
" checking for them since such checks are extremely slow. | |
break | |
endif | |
3 0.000089 if index(split($GIT_CEILING_DIRECTORIES, ':'), root) >= 0 | |
break | |
endif | |
3 0.000029 if root ==# $GIT_WORK_TREE && fugitive#is_git_dir($GIT_DIR) | |
return $GIT_DIR | |
endif | |
3 0.000340 0.000061 if fugitive#is_git_dir($GIT_DIR) | |
" Ensure that we've cached the worktree | |
call s:configured_tree($GIT_DIR) | |
if has_key(s:dir_for_worktree, root) | |
return s:dir_for_worktree[root] | |
endif | |
endif | |
3 0.000195 0.000058 let dir = s:sub(root, '[\/]$', '') . '/.git' | |
3 0.000188 let type = getftype(dir) | |
3 0.000270 0.000036 if type ==# 'dir' && fugitive#is_git_dir(dir) | |
1 0.000006 return dir | |
elseif type ==# 'link' && fugitive#is_git_dir(dir) | |
return resolve(dir) | |
elseif type !=# '' && filereadable(dir) | |
let line = get(readfile(dir, '', 1), 0, '') | |
if line =~# '^gitdir: \.' && fugitive#is_git_dir(root.'/'.line[8:-1]) | |
return simplify(root.'/'.line[8:-1]) | |
elseif line =~# '^gitdir: ' && fugitive#is_git_dir(line[8:-1]) | |
return line[8:-1] | |
endif | |
elseif fugitive#is_git_dir(root) | |
return root | |
endif | |
2 0.000012 let previous = root | |
2 0.000021 let root = fnamemodify(root, ':h') | |
2 0.000006 endwhile | |
return '' | |
FUNCTION neobundle#autoload#function() | |
Called 3 times | |
Total time: 0.014154 | |
Self time: 0.013346 | |
count total (s) self (s) | |
3 0.000037 let function = expand('<amatch>') | |
3 0.000102 let function_prefix = get(split(function, '#'), 0, '') . '#' | |
3 0.013869 0.013129 let bundles = filter(neobundle#config#get_autoload_bundles(), "get(v:val.autoload, 'function_prefix', '').'#' ==# function_prefix || (has_key(v:val.autoload, 'functions') && index(v:val.autoload.functions, function) >= 0)") | |
3 0.000126 0.000058 call neobundle#config#source_bundles(bundles) | |
FUNCTION <SNR>87_shellslash() | |
Called 6 times | |
Total time: 0.002488 | |
Self time: 0.001551 | |
count total (s) self (s) | |
6 0.001712 0.000775 if s:winshell() | |
return s:gsub(a:path,'\\','/') | |
else | |
6 0.000145 return a:path | |
endif | |
FUNCTION <SNR>81_FindRootDirectory() | |
Called 1 time | |
Total time: 0.020177 | |
Self time: 0.001105 | |
count total (s) self (s) | |
2 0.000019 for pattern in g:rooter_patterns | |
2 0.019473 0.000401 let result = s:FindInCurrentPath(pattern) | |
2 0.000324 if !empty(result) | |
1 0.000183 return result | |
endif | |
1 0.000007 endfor | |
return '' | |
FUNCTION neobundle#config#source_bundles() | |
Called 7 times | |
Total time: 1.615804 | |
Self time: 0.000273 | |
count total (s) self (s) | |
7 0.000053 if !empty(a:bundles) | |
1 0.074596 call neobundle#config#source(map(copy(a:bundles), "type(v:val) == type({}) ? v:val.name : v:val")) | |
1 0.000003 endif | |
FUNCTION ctrlp#utils#opts() | |
Called 1 time | |
Total time: 0.000340 | |
Self time: 0.000220 | |
count total (s) self (s) | |
1 0.000068 0.000035 let s:lash = ctrlp#utils#lash() | |
1 0.000081 0.000037 let usrhome = $HOME . s:lash( $HOME ) | |
1 0.000016 let cahome = exists('$XDG_CACHE_HOME') ? $XDG_CACHE_HOME : usrhome.'.cache' | |
1 0.000129 0.000086 let cadir = isdirectory(usrhome.'.ctrlp_cache') ? usrhome.'.ctrlp_cache' : cahome.s:lash(cahome).'ctrlp' | |
1 0.000010 if exists('g:ctrlp_cache_dir') | |
let cadir = expand(g:ctrlp_cache_dir, 1) | |
if isdirectory(cadir.s:lash(cadir).'.ctrlp_cache') | |
let cadir = cadir.s:lash(cadir).'.ctrlp_cache' | |
en | |
en | |
1 0.000005 let s:cache_dir = cadir | |
FUNCTION <SNR>87_define_commands() | |
Called 1 time | |
Total time: 0.001281 | |
Self time: 0.001281 | |
count total (s) self (s) | |
28 0.000119 for command in s:commands | |
27 0.001057 exe 'command! -buffer '.command | |
27 0.000066 endfor | |
FUNCTION neobundle#get_rtp_dir() | |
Called 4 times | |
Total time: 0.000370 | |
Self time: 0.000370 | |
count total (s) self (s) | |
4 0.000038 let dir = s:neobundle_dir . '/.neobundle' | |
4 0.000264 if !isdirectory(dir) | |
call mkdir(dir, 'p') | |
endif | |
4 0.000013 return dir | |
FUNCTION <SNR>121_SetUpBackwardsCompatibility() | |
Called 1 time | |
Total time: 0.000057 | |
Self time: 0.000057 | |
count total (s) self (s) | |
1 0.000016 let complete_in_comments_and_strings = get( g:, 'ycm_complete_in_comments_and_strings', 0 ) | |
1 0.000005 if complete_in_comments_and_strings | |
let g:ycm_complete_in_strings = 1 | |
let g:ycm_complete_in_comments = 1 | |
endif | |
" ycm_filetypes_to_completely_ignore is the old name for fileype_blacklist | |
1 0.000008 if has_key( g:, 'ycm_filetypes_to_completely_ignore' ) | |
let g:filetype_blacklist = g:ycm_filetypes_to_completely_ignore | |
endif | |
FUNCTION <SNR>121_OnVimLeave() | |
Called 1 time | |
Total time: 0.000250 | |
Self time: 0.000250 | |
count total (s) self (s) | |
1 0.000247 py ycm_state.OnVimLeave() | |
FUNCTION rainbow#clear() | |
Called 3 times | |
Total time: 0.001867 | |
Self time: 0.001507 | |
count total (s) self (s) | |
3 0.000418 0.000058 call rainbow#hide() | |
3 0.000023 if exists('b:rainbow_loaded') | |
10 0.000045 for each in range(b:rainbow_loaded) | |
8 0.000687 exe 'syn clear rainbow_r'.each | |
8 0.000608 exe 'syn clear rainbow_o'.each | |
8 0.000018 endfor | |
2 0.000007 unlet b:rainbow_loaded | |
2 0.000004 endif | |
FUNCTION ctrlp#utils#cachedir() | |
Called 1 time | |
Total time: 0.000009 | |
Self time: 0.000009 | |
count total (s) self (s) | |
1 0.000007 retu s:cache_dir | |
FUNCTION neobundle#autoload#explorer() | |
Called 4 times | |
Total time: 0.000855 | |
Self time: 0.000639 | |
count total (s) self (s) | |
4 0.000089 if bufnr('%') != expand('<abuf>') || a:path == '' | |
return | |
endif | |
4 0.000026 let path = a:path | |
" For ":edit ~". | |
4 0.000041 if fnamemodify(path, ':t') ==# '~' | |
let path = '~' | |
endif | |
4 0.000304 0.000088 let path = neobundle#util#expand(path) | |
4 0.000281 if !(isdirectory(path) || (!filereadable(path) && path =~ '^\h\w\+://')) | |
4 0.000013 return | |
endif | |
let bundles = filter(neobundle#config#get_autoload_bundles(), "get(v:val.autoload, 'explorer', 0)") | |
if empty(bundles) | |
augroup neobundle-explorer | |
autocmd! | |
augroup END | |
else | |
call neobundle#config#source_bundles(bundles) | |
execute 'doautocmd' a:event | |
endif | |
FUNCTION neobundle#call_hook() | |
Called 5 times | |
Total time: 0.000999 | |
Self time: 0.000754 | |
count total (s) self (s) | |
5 0.000184 0.000115 let bundles = neobundle#util#convert2list( (empty(a:000) ? neobundle#config#get_neobundles() : a:1)) | |
5 0.000169 let bundles = filter(copy(bundles), 'has_key(v:val.hooks, a:hook_name) && !has_key(v:val.called_hooks, a:hook_name)') | |
5 0.000039 if a:hook_name ==# 'on_source' || a:hook_name ==# 'on_post_source' | |
5 0.000358 0.000182 let bundles = filter(neobundle#config#tsort(filter(bundles, 'neobundle#config#is_sourced(v:val.name) && neobundle#config#is_installed(v:val.name)')), 'has_key(v:val.hooks, a:hook_name) && !has_key(v:val.called_hooks, a:hook_name)') | |
5 0.000012 endif | |
5 0.000022 for bundle in bundles | |
if type(bundle.hooks[a:hook_name]) == type('') | |
execute 'source' fnameescape(bundle.hooks[a:hook_name]) | |
else | |
call call(bundle.hooks[a:hook_name], [bundle], bundle) | |
endif | |
let bundle.called_hooks[a:hook_name] = 1 | |
endfor | |
FUNCTION <SNR>84_record() | |
Called 3 times | |
Total time: 0.022092 | |
Self time: 0.000339 | |
count total (s) self (s) | |
3 0.000036 if s:exclnomod && &l:modifiable | retu | en | |
3 0.000020 if s:exclnomod && !&l:modifiable | retu | en | |
3 0.000015 if s:locked | retu | en | |
3 0.000022 let bufnr = a:bufnr + 0 | |
3 0.000024 let bufname = bufname(bufnr) | |
3 0.000048 if bufnr > 0 && !empty(bufname) | |
3 0.000042 cal filter(s:mrbs, 'v:val != bufnr') | |
3 0.000023 cal insert(s:mrbs, bufnr) | |
3 0.021823 0.000070 cal s:addtomrufs(bufname) | |
3 0.000006 en | |
FUNCTION rainbow#hook() | |
Called 3 times | |
Total time: 0.019140 | |
Self time: 0.000485 | |
count total (s) self (s) | |
3 0.000111 let g_conf = extend(copy(s:rainbow_conf), exists('g:rainbow_conf')? g:rainbow_conf : {}) |unlet g_conf.separately | |
3 0.000044 if exists('g:rainbow_conf.separately') && has_key(g:rainbow_conf.separately, '*') | |
3 0.000036 let separately = copy(g:rainbow_conf.separately) | |
3 0.000006 else | |
let separately = extend(copy(s:rainbow_conf.separately), exists('g:rainbow_conf.separately')? g:rainbow_conf.separately : {}) | |
endif | |
3 0.000069 let b_conf = has_key(separately, &ft)? separately[&ft] : separately['*'] | |
3 0.000029 if type(b_conf) == type({}) | |
3 0.000041 let b:rainbow_conf = extend(g_conf, b_conf) | |
3 0.018729 0.000074 call rainbow#load() | |
3 0.000005 endif | |
FUNCTION <SNR>15_on_source() | |
Called 4 times | |
Total time: 1.183467 | |
Self time: 0.007733 | |
count total (s) self (s) | |
4 0.000022 if a:bundle.verbose && a:bundle.lazy | |
redraw | |
echo 'source:' a:bundle.name | |
endif | |
" Reload script files. | |
7 0.000843 for directory in filter(['plugin', 'after/plugin'], "isdirectory(a:bundle.rtp.'/'.v:val)") | |
6 0.004646 for file in split(glob(a:bundle.rtp.'/'.directory.'/**/*.vim'), '\n') | |
" NOTE: "silent!" is required to ignore E122, E174 and E227. | |
" try/catching them aborts sourcing of the file. | |
" "unsilent" then displays any messages while sourcing. | |
3 0.054887 0.001616 execute 'silent! unsilent source' fnameescape(file) | |
3 0.000012 endfor | |
3 0.000006 endfor | |
4 0.000120 if !has('vim_starting') && exists('#'.a:bundle.augroup.'#VimEnter') | |
2 1.131568 0.009105 execute 'doautocmd' a:bundle.augroup 'VimEnter' | |
1 0.000028 if has('gui_running') && &term ==# 'builtin_gui' && exists('#'.a:bundle.augroup.'#GUIEnter') | |
execute 'doautocmd' a:bundle.augroup 'GUIEnter' | |
endif | |
1 0.000001 endif | |
3 0.000018 if a:bundle.verbose && a:bundle.lazy | |
redraw | |
echo 'sourced:' a:bundle.name | |
endif | |
FUNCTION <SNR>84_addtomrufs() | |
Called 3 times | |
Total time: 0.021753 | |
Self time: 0.001649 | |
count total (s) self (s) | |
3 0.000300 let fn = fnamemodify(a:fname, get(g:, 'ctrlp_tilde_homedir', 0) ? ':p:~' : ':p') | |
3 0.000053 let fn = exists('+ssl') ? tr(fn, '/', '\') : fn | |
3 0.000144 let abs_fn = fnamemodify(fn,':p') | |
3 0.000873 if ( !empty({s:in}) && fn !~# {s:in} ) || ( !empty({s:ex}) && fn =~# {s:ex} ) || !empty(getbufvar('^' . abs_fn . '$', '&bt')) || !filereadable(abs_fn) | retu | |
en | |
3 0.000051 let idx = index(s:mrufs, fn, 0, !{s:cseno}) | |
3 0.000009 if idx | |
1 0.000020 cal filter(s:mrufs, 'v:val !='.( {s:cseno} ? '#' : '?' ).' fn') | |
1 0.000011 cal insert(s:mrufs, fn) | |
1 0.000012 if {s:soup} && idx < 0 | |
1 0.020183 0.000079 cal s:savetofile(s:mergelists()) | |
1 0.000002 en | |
1 0.000002 en | |
FUNCTION neobundle#config#get_autoload_bundles() | |
Called 6 times | |
Total time: 0.001485 | |
Self time: 0.001485 | |
count total (s) self (s) | |
6 0.001465 return filter(values(s:neobundles), "!v:val.sourced && v:val.lazy") | |
FUNCTION <SNR>86_UpdateList() | |
Called 1 time | |
Total time: 0.009013 | |
Self time: 0.009013 | |
count total (s) self (s) | |
" Function to update the window list with info about the current buffer | |
1 0.000262 if !exists('w:BufKillList') | |
let w:BufKillList = [] | |
endif | |
1 0.000260 if !exists('w:BufKillColumnList') | |
let w:BufKillColumnList = [] | |
endif | |
1 0.000310 if !exists('w:BufKillIndex') | |
let w:BufKillIndex = -1 | |
endif | |
1 0.000278 if !exists('w:BufKillLastCmd') | |
let w:BufKillLastCmd = '' | |
endif | |
1 0.000281 let bufferNum = bufnr('%') | |
1 0.000538 if (w:BufKillLastCmd=~'bufchange') | |
" When stepping through files, the w:BufKillList should not be changed | |
" here, only by the GotoBuffer command since the files must already | |
" exist in the list to jump to them. | |
else | |
" Increment index | |
1 0.000176 let w:BufKillIndex += 1 | |
1 0.000294 if w:BufKillIndex < len(w:BufKillList) | |
" The branch is diverging, remove the end of the list | |
call remove(w:BufKillList, w:BufKillIndex, -1) | |
" Same for column list | |
if w:BufKillIndex < len(w:BufKillColumnList) | |
call remove(w:BufKillColumnList, w:BufKillIndex, -1) | |
endif | |
endif | |
" Now remove any pre-existing instances of the buffer in the list | |
1 0.000316 let existingIndex = index(w:BufKillList, bufferNum) | |
1 0.000195 if existingIndex != -1 | |
1 0.000354 call remove(w:BufKillList, existingIndex) | |
1 0.000202 let w:BufKillIndex -= 1 | |
1 0.000209 if existingIndex < len(w:BufKillColumnList) | |
call remove(w:BufKillColumnList, existingIndex) | |
endif | |
1 0.000122 endif | |
" Now add the buffer to the list, at the end | |
1 0.000363 let w:BufKillList += [bufferNum] | |
1 0.000074 endif | |
" Reset since command processed | |
1 0.000258 let w:BufKillLastCmd = '' | |
FUNCTION ctrlp#utils#readfile() | |
Called 2 times | |
Total time: 0.000655 | |
Self time: 0.000655 | |
count total (s) self (s) | |
2 0.000373 if filereadable(a:file) | |
2 0.000225 let data = readfile(a:file) | |
2 0.000023 if empty(data) || type(data) != 3 | |
unl data | |
let data = [] | |
en | |
2 0.000007 retu data | |
en | |
retu [] | |
FUNCTION <SNR>48_LoadFTPlugin() | |
Called 2 times | |
Total time: 0.050451 | |
Self time: 0.028183 | |
count total (s) self (s) | |
2 0.000022 if exists("b:undo_ftplugin") | |
1 0.000052 exe b:undo_ftplugin | |
1 0.000006 unlet! b:undo_ftplugin b:did_ftplugin | |
1 0.000002 endif | |
2 0.000021 let s = expand("<amatch>") | |
2 0.000012 if s != "" | |
2 0.000051 if &cpo =~# "S" && exists("b:did_ftplugin") | |
" In compatible mode options are reset to the global values, need to | |
" set the local values also when a plugin was already used. | |
unlet b:did_ftplugin | |
endif | |
" When there is a dot it is used to separate filetype names. Thus for | |
" "aaa.bbb" load "aaa" and then "bbb". | |
4 0.000061 for name in split(s, '\.') | |
2 0.050132 0.027864 exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim ftplugin/' . name . '/*.vim' | |
2 0.000011 endfor | |
2 0.000004 endif | |
FUNCTION <SNR>63_append() | |
Called 2 times | |
Total time: 0.004594 | |
Self time: 0.002440 | |
count total (s) self (s) | |
2 0.000030 if bufnr('%') != expand('<abuf>') | |
return | |
endif | |
2 0.000036 if !has('vim_starting') || bufname(bufnr('%')) != '' | |
2 0.004500 0.002346 call unite#sources#buffer#variables#append(bufnr('%')) | |
2 0.000006 endif | |
FUNCTION <SNR>81_IsDirectory() | |
Called 2 times | |
Total time: 0.000025 | |
Self time: 0.000025 | |
count total (s) self (s) | |
2 0.000022 return stridx(a:pattern, '/') != -1 | |
FUNCTION <SNR>49_LoadIndent() | |
Called 2 times | |
Total time: 0.006623 | |
Self time: 0.006390 | |
count total (s) self (s) | |
2 0.000021 if exists("b:undo_indent") | |
1 0.000018 exe b:undo_indent | |
1 0.000006 unlet! b:undo_indent b:did_indent | |
1 0.000002 endif | |
2 0.000021 let s = expand("<amatch>") | |
2 0.000026 if s != "" | |
2 0.000014 if exists("b:did_indent") | |
unlet b:did_indent | |
endif | |
" When there is a dot it is used to separate filetype names. Thus for | |
" "aaa.bbb" load "indent/aaa.vim" and then "indent/bbb.vim". | |
4 0.000053 for name in split(s, '\.') | |
2 0.006382 0.006149 exe 'runtime! indent/' . name . '.vim' | |
2 0.000013 endfor | |
2 0.000004 endif | |
FUNCTION neobundle#config#source() | |
Called 1 time | |
Total time: 1.615531 | |
Self time: 0.002306 | |
count total (s) self (s) | |
1 0.000010 let is_force = get(a:000, 0, 1) | |
1 0.002672 0.000069 let bundles = neobundle#config#search( neobundle#util#convert2list(a:names)) | |
1 0.000099 0.000032 let rtps = neobundle#util#split_rtp(&runtimepath) | |
1 0.000220 0.000093 let bundles = filter(bundles, "!neobundle#config#is_sourced(v:val.name) || (v:val.rtp != '' && index(rtps, v:val.rtp) < 0)") | |
1 0.000006 if empty(bundles) | |
return | |
endif | |
1 0.000010 redir => filetype_before | |
1 0.000373 silent autocmd FileType | |
1 0.000015 redir END | |
1 0.000005 let reset_ftplugin = 0 | |
5 0.000029 for bundle in bundles | |
4 0.000018 let bundle.sourced = 1 | |
4 0.000015 let bundle.disabled = 0 | |
4 0.000039 let s:sourced_neobundles[bundle.name] = 1 | |
4 0.000026 if !empty(bundle.dummy_mappings) | |
for [mode, mapping] in bundle.dummy_mappings | |
silent! execute mode.'unmap' mapping | |
endfor | |
let bundle.dummy_mappings = [] | |
endif | |
4 0.005144 0.000145 call neobundle#config#rtp_add(bundle) | |
4 0.000051 if exists('g:loaded_neobundle') || is_force | |
4 0.000013 try | |
4 1.183559 0.000092 call s:on_source(bundle) | |
3 0.000008 catch | |
1 0.004237 0.000049 call neobundle#util#print_error( '[neobundle] Uncaught error while sourcing "' . bundle.name . '": '.v:exception . ' in ' . v:throwpoint) | |
1 0.000007 endtry | |
4 0.000006 endif | |
4 0.004473 0.000116 call neobundle#autoload#source(bundle.name) | |
4 0.000017 if !reset_ftplugin | |
2 0.004529 0.000065 let reset_ftplugin = s:is_reset_ftplugin(&filetype, bundle.rtp) | |
2 0.000004 endif | |
4 0.000031 endfor | |
1 0.000010 redir => filetype_after | |
1 0.000441 silent autocmd FileType | |
1 0.000017 redir END | |
1 0.000003 if reset_ftplugin | |
1 0.408791 0.000070 call s:reset_ftplugin() | |
1 0.000004 elseif filetype_before !=# filetype_after | |
execute 'doautocmd FileType' &filetype | |
endif | |
1 0.000008 if exists('g:loaded_neobundle') | |
1 0.000251 0.000019 call neobundle#call_hook('on_post_source', bundles) | |
1 0.000002 endif | |
FUNCTION <SNR>128_getg() | |
Called 9 times | |
Total time: 0.000474 | |
Self time: 0.000474 | |
count total (s) self (s) | |
" backward compatibility | |
9 0.000248 if exists('g:operator_'.substitute(a:name, '#', '_', '')) | |
echoerr 'g:operator_'.substitute(a:name, '#', '_', '').' is deprecated. Please use g:'.a:name | |
return g:operator_{substitute(a:name, '#', '_', '')} | |
else | |
9 0.000076 return get(g:, a:name, a:default) | |
endif | |
FUNCTION <SNR>97_Highlight_Matching_Pair() | |
Called 3 times | |
Total time: 0.017030 | |
Self time: 0.017030 | |
count total (s) self (s) | |
" Remove any previous match. | |
3 0.000608 if exists('w:paren_hl_on') && w:paren_hl_on | |
silent! call matchdelete(3) | |
let w:paren_hl_on = 0 | |
endif | |
" Avoid that we remove the popup menu. | |
" Return when there are no colors (looks like the cursor jumps). | |
3 0.000835 if pumvisible() || (&t_Co < 8 && !has("gui_running")) | |
return | |
endif | |
" Get the character under the cursor and check if it's in 'matchpairs'. | |
3 0.000605 let c_lnum = line('.') | |
3 0.000584 let c_col = col('.') | |
3 0.000410 let before = 0 | |
3 0.000617 let text = getline(c_lnum) | |
3 0.000730 let c = text[c_col - 1] | |
3 0.004280 let plist = split(&matchpairs, '.\zs[:,]') | |
3 0.000686 let i = index(plist, c) | |
3 0.000334 if i < 0 | |
" not found, in Insert mode try character before the cursor | |
3 0.000694 if c_col > 1 && (mode() == 'i' || mode() == 'R') | |
let before = 1 | |
let c = text[c_col - 2] | |
let i = index(plist, c) | |
endif | |
3 0.000352 if i < 0 | |
" not found, nothing to do | |
3 0.000255 return | |
endif | |
endif | |
" Figure out the arguments for searchpairpos(). | |
if i % 2 == 0 | |
let s_flags = 'nW' | |
let c2 = plist[i + 1] | |
else | |
let s_flags = 'nbW' | |
let c2 = c | |
let c = plist[i - 1] | |
endif | |
if c == '[' | |
let c = '\[' | |
let c2 = '\]' | |
endif | |
" Find the match. When it was just before the cursor move it there for a | |
" moment. | |
if before > 0 | |
let has_getcurpos = exists("*getcurpos") | |
if has_getcurpos | |
" getcurpos() is more efficient but doesn't exist before 7.4.313. | |
let save_cursor = getcurpos() | |
else | |
let save_cursor = winsaveview() | |
endif | |
call cursor(c_lnum, c_col - before) | |
endif | |
" Build an expression that detects whether the current cursor position is in | |
" certain syntax types (string, comment, etc.), for use as searchpairpos()'s | |
" skip argument. | |
" We match "escape" for special items, such as lispEscapeSpecial. | |
let s_skip = '!empty(filter(map(synstack(line("."), col(".")), ''synIDattr(v:val, "name")''), ' . '''v:val =~? "string\\|character\\|singlequote\\|escape\\|comment"''))' | |
" If executing the expression determines that the cursor is currently in | |
" one of the syntax types, then we want searchpairpos() to find the pair | |
" within those syntax types (i.e., not skip). Otherwise, the cursor is | |
" outside of the syntax types and s_skip should keep its value so we skip any | |
" matching pair inside the syntax types. | |
execute 'if' s_skip '| let s_skip = 0 | endif' | |
" Limit the search to lines visible in the window. | |
let stoplinebottom = line('w$') | |
let stoplinetop = line('w0') | |
if i % 2 == 0 | |
let stopline = stoplinebottom | |
else | |
let stopline = stoplinetop | |
endif | |
" Limit the search time to 300 msec to avoid a hang on very long lines. | |
" This fails when a timeout is not supported. | |
if mode() == 'i' || mode() == 'R' | |
let timeout = exists("b:matchparen_insert_timeout") ? b:matchparen_insert_timeout : g:matchparen_insert_timeout | |
else | |
let timeout = exists("b:matchparen_timeout") ? b:matchparen_timeout : g:matchparen_timeout | |
endif | |
try | |
let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline, timeout) | |
catch /E118/ | |
" Can't use the timeout, restrict the stopline a bit more to avoid taking | |
" a long time on closed folds and long lines. | |
" The "viewable" variables give a range in which we can scroll while | |
" keeping the cursor at the same position. | |
" adjustedScrolloff accounts for very large numbers of scrolloff. | |
let adjustedScrolloff = min([&scrolloff, (line('w$') - line('w0')) / 2]) | |
let bottom_viewable = min([line('$'), c_lnum + &lines - adjustedScrolloff - 2]) | |
let top_viewable = max([1, c_lnum-&lines+adjustedScrolloff + 2]) | |
" one of these stoplines will be adjusted below, but the current values are | |
" minimal boundaries within the current window | |
if i % 2 == 0 | |
if has("byte_offset") && has("syntax_items") && &smc > 0 | |
let stopbyte = min([line2byte("$"), line2byte(".") + col(".") + &smc * 2]) | |
let stopline = min([bottom_viewable, byte2line(stopbyte)]) | |
else | |
let stopline = min([bottom_viewable, c_lnum + 100]) | |
endif | |
let stoplinebottom = stopline | |
else | |
if has("byte_offset") && has("syntax_items") && &smc > 0 | |
let stopbyte = max([1, line2byte(".") + col(".") - &smc * 2]) | |
let stopline = max([top_viewable, byte2line(stopbyte)]) | |
else | |
let stopline = max([top_viewable, c_lnum - 100]) | |
endif | |
let stoplinetop = stopline | |
endif | |
let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline) | |
endtry | |
if before > 0 | |
if has_getcurpos | |
call setpos('.', save_cursor) | |
else | |
call winrestview(save_cursor) | |
endif | |
endif | |
" If a match is found setup match highlighting. | |
if m_lnum > 0 && m_lnum >= stoplinetop && m_lnum <= stoplinebottom | |
if exists('*matchaddpos') | |
call matchaddpos('MatchParen', [[c_lnum, c_col - before], [m_lnum, m_col]], 10, 3) | |
else | |
exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) . 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/' | |
endif | |
let w:paren_hl_on = 1 | |
endif | |
FUNCTION <SNR>107_save() | |
Called 1 time | |
Total time: 0.010662 | |
Self time: 0.010065 | |
count total (s) self (s) | |
1 0.001506 0.000909 if g:unite_source_history_yank_file == '' || unite#util#is_sudo() | |
return | |
endif | |
1 0.007312 call writefile([string(s:yank_histories)], g:unite_source_history_yank_file) | |
1 0.001234 let s:yank_histories_file_mtime = getftime(g:unite_source_history_yank_file) | |
FUNCTION fugitive#is_git_dir() | |
Called 6 times | |
Total time: 0.000773 | |
Self time: 0.000527 | |
count total (s) self (s) | |
6 0.000378 0.000132 let path = s:sub(a:path, '[\/]$', '') . '/' | |
6 0.000378 return isdirectory(path.'objects') && isdirectory(path.'refs') && getfsize(path.'HEAD') > 10 | |
FUNCTION <SNR>87_buffer() | |
Called 3 times | |
Total time: 0.000345 | |
Self time: 0.000306 | |
count total (s) self (s) | |
3 0.000087 let buffer = {'#': bufnr(a:0 ? a:1 : '%')} | |
3 0.000125 call extend(extend(buffer,s:buffer_prototype,'keep'),s:abstract_prototype,'keep') | |
3 0.000109 0.000070 if buffer.getvar('git_dir') !=# '' | |
3 0.000011 return buffer | |
endif | |
call s:throw('not a git repository: '.expand('%:p')) | |
FUNCTION <SNR>121_SetUpSyntaxHighlighting() | |
Called 1 time | |
Total time: 0.000094 | |
Self time: 0.000094 | |
count total (s) self (s) | |
" We try to ensure backwards compatibility with Syntastic if the user has | |
" already defined styling for Syntastic highlight groups. | |
1 0.000011 if !hlexists( 'YcmErrorSection' ) | |
1 0.000010 if hlexists( 'SyntasticError' ) | |
highlight link YcmErrorSection SyntasticError | |
else | |
1 0.000011 highlight link YcmErrorSection SpellBad | |
1 0.000002 endif | |
1 0.000002 endif | |
1 0.000009 if !hlexists( 'YcmWarningSection' ) | |
1 0.000010 if hlexists( 'SyntasticWarning' ) | |
highlight link YcmWarningSection SyntasticWarning | |
else | |
1 0.000011 highlight link YcmWarningSection SpellCap | |
1 0.000001 endif | |
1 0.000002 endif | |
FUNCTION <SNR>121_UpdateDiagnosticNotifications() | |
Called 5 times | |
Total time: 0.104271 | |
Self time: 0.103736 | |
count total (s) self (s) | |
5 0.024088 0.023553 let should_display_diagnostics = g:ycm_show_diagnostics_ui && s:DiagnosticUiSupportedForCurrentFiletype() && pyeval( 'ycm_state.NativeFiletypeCompletionUsable()' ) | |
5 0.000517 if !should_display_diagnostics | |
return | |
endif | |
5 0.078315 py ycm_state.UpdateDiagnosticInterface() | |
FUNCTION <SNR>87_can_diffoff() | |
Called 2 times | |
Total time: 0.000049 | |
Self time: 0.000049 | |
count total (s) self (s) | |
2 0.000045 return getwinvar(bufwinnr(a:buf), '&diff') && !empty(getbufvar(a:buf, 'git_dir')) && !empty(getwinvar(bufwinnr(a:buf), 'fugitive_diff_restore')) | |
FUNCTION <SNR>84_savetofile() | |
Called 2 times | |
Total time: 0.001135 | |
Self time: 0.000060 | |
count total (s) self (s) | |
2 0.001132 0.000057 cal ctrlp#utils#writecache(a:mrufs, s:cadir, s:cafile) | |
FUNCTION neobundle#autoload#filename() | |
Called 1 time | |
Total time: 0.000833 | |
Self time: 0.000573 | |
count total (s) self (s) | |
1 0.000807 0.000547 let bundles = filter(neobundle#config#get_autoload_bundles(), "has_key(v:val.autoload, 'filename_patterns')") | |
1 0.000008 if !empty(bundles) | |
call neobundle#config#source_bundles(filter(copy(bundles)," len(filter(copy(v:val.autoload.filename_patterns), 'a:filename =~? v:val')) > 0")) | |
endif | |
FUNCTION <SNR>121_AllowedToCompleteInCurrentFile() | |
Called 6 times | |
Total time: 0.003728 | |
Self time: 0.003728 | |
count total (s) self (s) | |
6 0.000939 if empty( &filetype ) || getbufvar( winbufnr( winnr() ), "&buftype" ) ==# 'nofile' || &filetype ==# 'qf' | |
return 0 | |
endif | |
6 0.000370 if exists( 'b:ycm_largefile' ) | |
return 0 | |
endif | |
6 0.000523 let whitelist_allows = has_key( g:ycm_filetype_whitelist, '*' ) || has_key( g:ycm_filetype_whitelist, &filetype ) | |
6 0.000499 let blacklist_allows = !has_key( g:ycm_filetype_blacklist, &filetype ) | |
6 0.000188 return whitelist_allows && blacklist_allows | |
FUNCTION neobundle#config#get_neobundles() | |
Called 5 times | |
Total time: 0.000482 | |
Self time: 0.000482 | |
count total (s) self (s) | |
5 0.000470 return values(s:neobundles) | |
FUNCTION <SNR>13_echo() | |
Called 1 time | |
Total time: 0.004149 | |
Self time: 0.004134 | |
count total (s) self (s) | |
1 0.000031 0.000016 let msg = neobundle#util#convert2list(a:expr) | |
1 0.000012 if has('vim_starting') | |
let m = join(msg, "\n") | |
if a:is_error | |
echohl WarningMsg | echomsg m | echohl None | |
else | |
echo m | |
endif | |
return | |
endif | |
1 0.000006 let more_save = &more | |
1 0.000005 let showcmd_save = &showcmd | |
1 0.000004 let ruler_save = &ruler | |
1 0.000002 try | |
1 0.000006 set nomore | |
1 0.000003 set noshowcmd | |
1 0.000002 set noruler | |
1 0.000010 let height = max([1, &cmdheight]) | |
2 0.000017 for i in range(0, len(msg)-1, height) | |
1 0.003837 redraw | |
1 0.000025 let m = join(msg[i : i+height-1], "\n") | |
1 0.000005 if a:is_error | |
1 0.000063 echohl WarningMsg | echomsg m | echohl None | |
1 0.000002 else | |
echo m | |
endif | |
1 0.000002 endfor | |
1 0.000003 finally | |
1 0.000007 let &more = more_save | |
1 0.000006 let &showcmd = showcmd_save | |
1 0.000006 let &ruler = ruler_save | |
1 0.000002 endtry | |
FUNCTION neobundle#util#expand() | |
Called 4 times | |
Total time: 0.000216 | |
Self time: 0.000216 | |
count total (s) self (s) | |
4 0.000158 let path = (a:path =~ '^\~') ? fnamemodify(a:path, ':p') : (a:path =~ '^\$\h\w*') ? substitute(a:path, '^\$\h\w*', '\=eval(submatch(0))', '') : a:path | |
4 0.000044 return (s:is_windows && path =~ '\\') ? neobundle#util#substitute_path_separator(path) : path | |
FUNCTION youcompleteme#Enable() | |
Called 1 time | |
Total time: 1.113757 | |
Self time: 0.001057 | |
count total (s) self (s) | |
" When vim is in diff mode, don't run | |
1 0.000005 if &diff | |
return | |
endif | |
1 0.000096 0.000039 call s:SetUpBackwardsCompatibility() | |
" This can be 0 if YCM libs are old or -1 if an exception occured while | |
" executing the function. | |
1 0.787251 0.000058 if s:SetUpPython() != 1 | |
return | |
endif | |
1 0.000559 0.000117 call s:SetUpCpoptions() | |
1 0.000108 0.000044 call s:SetUpCompleteopt() | |
1 0.000641 0.000036 call s:SetUpKeyMappings() | |
1 0.000004 if g:ycm_show_diagnostics_ui | |
1 0.000085 0.000039 call s:TurnOffSyntasticForCFamily() | |
1 0.000002 endif | |
1 0.000344 0.000042 call s:SetUpSigns() | |
1 0.000132 0.000038 call s:SetUpSyntaxHighlighting() | |
1 0.000007 if g:ycm_allow_changing_updatetime && &updatetime > 2000 | |
set ut=2000 | |
endif | |
1 0.000237 0.000048 call youcompleteme#EnableCursorMovedAutocommands() | |
1 0.000011 augroup youcompleteme | |
1 0.000035 autocmd! | |
" Note that these events will NOT trigger for the file vim is started with; | |
" so if you do "vim foo.cc", these events will not trigger when that buffer | |
" is read. This is because youcompleteme#Enable() is called on VimEnter and | |
" that happens *after" BufRead/BufEnter has already triggered for the | |
" initial file. | |
" We also need to trigger buf init code on the FileType event because when | |
" the user does :enew and then :set ft=something, we need to run buf init | |
" code again. | |
1 0.000021 autocmd BufReadPre * call s:OnBufferReadPre( expand( '<afile>:p' ) ) | |
1 0.000050 autocmd BufRead,BufEnter,FileType * call s:OnBufferVisit() | |
1 0.000015 autocmd BufUnload * call s:OnBufferUnload( expand( '<afile>:p' ) ) | |
1 0.000033 autocmd CursorHold,CursorHoldI * call s:OnCursorHold() | |
1 0.000021 autocmd InsertLeave * call s:OnInsertLeave() | |
1 0.000028 autocmd InsertEnter * call s:OnInsertEnter() | |
1 0.000024 autocmd VimLeave * call s:OnVimLeave() | |
1 0.000002 augroup END | |
" Calling these once solves the problem of BufReadPre/BufRead/BufEnter not | |
" triggering for the first loaded file. This should be the last commands | |
" executed in this function! | |
1 0.000322 0.000209 call s:OnBufferReadPre( expand( '<afile>:p' ) ) | |
1 0.323631 0.000036 call s:OnBufferVisit() | |
FUNCTION <SNR>107_add_register() | |
Called 3 times | |
Total time: 0.025792 | |
Self time: 0.025792 | |
count total (s) self (s) | |
3 0.001428 let reg = [getreg(a:name), getregtype(a:name)] | |
3 0.000686 if get(s:prev_registers, a:name, []) ==# reg | |
" Skip same register value. | |
2 0.000143 return | |
endif | |
1 0.000381 let len_history = len(reg[0]) | |
" Ignore too long yank. | |
1 0.020319 if len_history < 2 || len_history > 100000 || reg[0] =~ '[\x00-\x09\x10-\x1a\x1c-\x1f]\{3,}' | |
return | |
endif | |
1 0.000565 let s:prev_registers[a:name] = reg | |
" Append register value. | |
1 0.000334 call insert(s:yank_histories, reg) | |
FUNCTION <SNR>121_SetCompleteFunc() | |
Called 4 times | |
Total time: 0.200456 | |
Self time: 0.200456 | |
count total (s) self (s) | |
4 0.000051 let &completefunc = 'youcompleteme#Complete' | |
4 0.000030 let &l:completefunc = 'youcompleteme#Complete' | |
4 0.200178 if pyeval( 'ycm_state.NativeFiletypeCompletionUsable()' ) | |
4 0.000066 let &omnifunc = 'youcompleteme#OmniComplete' | |
4 0.000033 let &l:omnifunc = 'youcompleteme#OmniComplete' | |
" If we don't have native filetype support but the omnifunc is set to YCM's | |
" omnifunc because the previous file the user was editing DID have native | |
" support, we remove our omnifunc. | |
4 0.000014 elseif &omnifunc == 'youcompleteme#OmniComplete' | |
let &omnifunc = '' | |
let &l:omnifunc = '' | |
endif | |
FUNCTION <SNR>81_IsNormalFile() | |
Called 1 time | |
Total time: 0.000012 | |
Self time: 0.000012 | |
count total (s) self (s) | |
1 0.000011 return empty(&buftype) | |
FUNCTION <SNR>15_reset_ftplugin() | |
Called 1 time | |
Total time: 0.408721 | |
Self time: 0.009504 | |
count total (s) self (s) | |
1 0.011829 0.000038 let filetype_out = s:filetype_off() | |
1 0.000041 if filetype_out =~# 'detection:ON' && filetype_out =~# 'plugin:ON' && filetype_out =~# 'indent:ON' | |
1 0.129595 0.009289 silent! filetype plugin indent on | |
1 0.000004 else | |
if filetype_out =~# 'detection:ON' | |
silent! filetype on | |
endif | |
if filetype_out =~# 'plugin:ON' | |
silent! filetype plugin on | |
endif | |
if filetype_out =~# 'indent:ON' | |
silent! filetype indent on | |
endif | |
endif | |
1 0.000020 if filetype_out =~# 'detection:ON' | |
1 0.012627 0.000035 filetype detect | |
1 0.000003 endif | |
" Reload filetype plugins. | |
1 0.254556 0.000028 let &l:filetype = &l:filetype | |
FUNCTION <SNR>121_SetUpKeyMappings() | |
Called 1 time | |
Total time: 0.000605 | |
Self time: 0.000605 | |
count total (s) self (s) | |
" The g:ycm_key_select_completion and g:ycm_key_previous_completion used to | |
" exist and are now here purely for the sake of backwards compatibility; we | |
" don't want to break users if we can avoid it. | |
1 0.000016 if exists('g:ycm_key_select_completion') && index(g:ycm_key_list_select_completion, g:ycm_key_select_completion) == -1 | |
call add(g:ycm_key_list_select_completion, g:ycm_key_select_completion) | |
endif | |
1 0.000014 if exists('g:ycm_key_previous_completion') && index(g:ycm_key_list_previous_completion, g:ycm_key_previous_completion) == -1 | |
call add(g:ycm_key_list_previous_completion, g:ycm_key_previous_completion) | |
endif | |
3 0.000023 for key in g:ycm_key_list_select_completion | |
" With this command, when the completion window is visible, the tab key | |
" (default) will select the next candidate in the window. In vim, this also | |
" changes the typed-in text to that of the candidate completion. | |
2 0.000115 exe 'inoremap <expr>' . key . ' pumvisible() ? "\<C-n>" : "\' . key .'"' | |
2 0.000007 endfor | |
3 0.000021 for key in g:ycm_key_list_previous_completion | |
" This selects the previous candidate for shift-tab (default) | |
2 0.000140 exe 'inoremap <expr>' . key . ' pumvisible() ? "\<C-p>" : "\' . key .'"' | |
2 0.000011 endfor | |
1 0.000009 if !empty( g:ycm_key_invoke_completion ) | |
1 0.000008 let invoke_key = g:ycm_key_invoke_completion | |
" Inside the console, <C-Space> is passed as <Nul> to Vim | |
1 0.000008 if invoke_key ==# '<C-Space>' && !has('gui_running') | |
let invoke_key = '<Nul>' | |
endif | |
" <c-x><c-o> trigger omni completion, <c-p> deselects the first completion | |
" candidate that vim selects by default | |
1 0.000052 silent! exe 'inoremap <unique> ' . invoke_key . ' <C-X><C-O><C-P>' | |
1 0.000004 endif | |
1 0.000008 if !empty( g:ycm_key_detailed_diagnostics ) | |
1 0.000055 silent! exe 'nnoremap <unique> ' . g:ycm_key_detailed_diagnostics . ' :YcmShowDetailedDiagnostic<cr>' | |
1 0.000004 endif | |
FUNCTION neobundle#config#get() | |
Called 4 times | |
Total time: 0.000043 | |
Self time: 0.000043 | |
count total (s) self (s) | |
4 0.000037 return get(s:neobundles, a:name, {}) | |
FUNCTION <SNR>15_is_reset_ftplugin() | |
Called 2 times | |
Total time: 0.004464 | |
Self time: 0.004464 | |
count total (s) self (s) | |
3 0.000051 for filetype in split(a:filetype, '\.') | |
13 0.000080 for directory in ['ftplugin', 'indent', 'syntax', 'after/ftplugin', 'after/indent', 'after/syntax'] | |
12 0.000115 let base = a:rtp . '/' . directory | |
12 0.004023 if filereadable(base.'/'.filetype.'.vim') || (directory =~# 'ftplugin$' && isdirectory(base . '/' . filetype) || glob(base.'/'.filetype.'_*.vim') != '') | |
1 0.000005 return 1 | |
endif | |
11 0.000026 endfor | |
1 0.000002 endfor | |
1 0.000002 return 0 | |
FUNCTION <SNR>98_LocalBrowse() | |
Called 1 time | |
Total time: 0.003797 | |
Self time: 0.003797 | |
count total (s) self (s) | |
" unfortunate interaction -- debugging calls can't be used here; | |
" the BufEnter event causes triggering when attempts to write to | |
" the DBG buffer are made. | |
1 0.000338 if !exists("s:vimentered") | |
return | |
endif | |
" call Decho("s:LocalBrowse(dirname<".a:dirname.">){") | |
" echomsg "dirname<".a:dirname.">" | |
1 0.000284 if has("amiga") | |
" The check against '' is made for the Amiga, where the empty | |
" string is the current directory and not checking would break | |
" things such as the help command. | |
" call Decho("(LocalBrowse) dirname<".a:dirname."> (amiga)") | |
if a:dirname != '' && isdirectory(a:dirname) | |
sil! call netrw#LocalBrowseCheck(a:dirname) | |
endif | |
elseif isdirectory(a:dirname) | |
" echomsg "dirname<".dirname."> isdir" | |
" call Decho("(LocalBrowse) dirname<".a:dirname."> (not amiga)") | |
sil! call netrw#LocalBrowseCheck(a:dirname) | |
endif | |
" not a directory, ignore it | |
" call Decho("|return s:LocalBrowse }") | |
FUNCTION neobundle#util#split_rtp() | |
Called 5 times | |
Total time: 0.000362 | |
Self time: 0.000362 | |
count total (s) self (s) | |
5 0.000068 if stridx(a:runtimepath, '\,') < 0 | |
5 0.000279 return split(a:runtimepath, ',') | |
endif | |
let split = split(a:runtimepath, '\\\@<!\%(\\\\\)*\zs,') | |
return map(split,'substitute(v:val, ''\\\([\\,]\)'', "\\1", "g")') | |
FUNCTION neobundle#config#rtp_add() | |
Called 4 times | |
Total time: 0.004999 | |
Self time: 0.001325 | |
count total (s) self (s) | |
4 0.000039 if has_key(s:neobundles, a:bundle.name) | |
4 0.002019 0.000081 call neobundle#config#rtp_rm(s:neobundles[a:bundle.name]) | |
4 0.000007 endif | |
4 0.000018 if s:is_block && !a:bundle.force | |
" Add rtp lazily. | |
call add(s:lazy_rtp_bundles, a:bundle) | |
return | |
endif | |
4 0.000024 let rtp = a:bundle.rtp | |
4 0.000271 if isdirectory(rtp) | |
" Join to the tail in runtimepath. | |
4 0.000370 0.000075 let rtps = neobundle#util#split_rtp(&runtimepath) | |
4 0.000773 0.000198 let &runtimepath = neobundle#util#join_rtp( insert(rtps, rtp, index(rtps, neobundle#get_rtp_dir())), &runtimepath, rtp) | |
4 0.000012 endif | |
4 0.000288 if isdirectory(rtp.'/after') | |
2 0.000188 0.000089 execute 'set rtp+='.s:get_rtp_after(a:bundle) | |
2 0.000005 endif | |
4 0.000848 0.000081 call neobundle#call_hook('on_source', a:bundle) | |
FUNCTION color_coded#moved() | |
Called 1 time | |
Total time: 0.417366 | |
Self time: 0.138207 | |
count total (s) self (s) | |
1 0.000464 if index(g:color_coded_filetypes, &ft) < 0 || g:color_coded_enabled == 0 | |
return | |
endif | |
1 0.000104 lua << EOF | |
local name = color_coded_buffer_name() | |
color_coded_moved(name, vim.eval("line(\"w0\")"), vim.eval("line(\"w$\")")) | |
EOF | |
FUNCTION <SNR>87_winshell() | |
Called 6 times | |
Total time: 0.000937 | |
Self time: 0.000937 | |
count total (s) self (s) | |
6 0.000796 return &shell =~? 'cmd' || exists('+shellslash') && !&shellslash | |
FUNCTION neobundle#util#get_filetypes() | |
Called 2 times | |
Total time: 0.000079 | |
Self time: 0.000079 | |
count total (s) self (s) | |
2 0.000032 let filetype = exists('b:neocomplcache.context_filetype') ? b:neocomplcache.context_filetype : &filetype | |
2 0.000040 return split(filetype, '\.') | |
FUNCTION <SNR>82_resolve_parenthesis() | |
Called 9 times | |
Total time: 0.007861 | |
Self time: 0.007861 | |
count total (s) self (s) | |
9 0.003830 let ls = split(a:p, '\v%(%(start|step|end)\=(.)%(\1@!.)*\1[^ ]*|\w+%(\=[^ ]*)?) ?\zs', 0) | |
9 0.000193 let [paren, containedin, contains, op] = ['', '', 'TOP', ''] | |
36 0.000144 for s in ls | |
27 0.002103 let [k, v] = [matchstr(s, '^[^=]\+\ze='), matchstr(s, '^[^=]\+=\zs.*')] | |
27 0.000179 if k == 'step' | |
let op = v | |
elseif k == 'contains' | |
let contains = v | |
elseif k == 'containedin' | |
let containedin = v | |
else | |
27 0.000182 let paren .= s | |
27 0.000073 endif | |
27 0.000064 endfor | |
9 0.000091 return [paren, containedin, contains, op] | |
FUNCTION color_coded#add_match() | |
Called 60 times | |
Total time: 0.274459 | |
Self time: 0.110427 | |
count total (s) self (s) | |
60 0.190932 0.026900 let s:file = color_coded#get_buffer_name() | |
60 0.060418 call add(g:color_coded_matches[s:file],matchaddpos(a:type, [[ a:line, a:col, a:len ]], -1)) | |
60 0.010718 unlet s:file | |
FUNCTION UltiSnips#FileTypeChanged() | |
Called 2 times | |
Total time: 0.000945 | |
Self time: 0.000945 | |
count total (s) self (s) | |
2 0.000430 exec g:_uspy "UltiSnips_Manager.reset_buffer_filetypes()" | |
2 0.000495 exec g:_uspy "UltiSnips_Manager.add_buffer_filetypes('" . &ft . "')" | |
2 0.000010 return "" | |
FUNCTIONS SORTED ON TOTAL TIME | |
count total (s) self (s) function | |
2 1.618221 0.001786 neobundle#autoload#filetype() | |
7 1.615804 0.000273 neobundle#config#source_bundles() | |
1 1.615531 0.002306 neobundle#config#source() | |
4 1.502567 0.996722 <SNR>121_OnBufferVisit() | |
4 1.183467 0.007733 <SNR>15_on_source() | |
1 1.113757 0.001057 youcompleteme#Enable() | |
1 0.787193 <SNR>121_SetUpPython() | |
5 0.776752 0.671552 <SNR>121_OnFileReadyToParse() | |
1 0.479804 0.004482 <SNR>121_OnCursorMovedNormalMode() | |
1 0.417366 0.138207 color_coded#moved() | |
1 0.408721 0.009504 <SNR>15_reset_ftplugin() | |
60 0.274459 0.110427 color_coded#add_match() | |
4 0.200456 <SNR>121_SetCompleteFunc() | |
62 0.167316 color_coded#get_buffer_name() | |
2 0.133803 color_coded#push() | |
3 0.131554 0.027891 <SNR>3_SynSet() | |
5 0.104271 0.103736 <SNR>121_UpdateDiagnosticNotifications() | |
2 0.057743 0.004636 color_coded#enter() | |
3 0.051513 0.010682 unite#sources#history_yank#_append() | |
2 0.050451 0.028183 <SNR>48_LoadFTPlugin() | |
FUNCTIONS SORTED ON SELF TIME | |
count total (s) self (s) function | |
4 1.502567 0.996722 <SNR>121_OnBufferVisit() | |
1 0.787193 <SNR>121_SetUpPython() | |
5 0.776752 0.671552 <SNR>121_OnFileReadyToParse() | |
4 0.200456 <SNR>121_SetCompleteFunc() | |
62 0.167316 color_coded#get_buffer_name() | |
1 0.417366 0.138207 color_coded#moved() | |
2 0.133803 color_coded#push() | |
60 0.274459 0.110427 color_coded#add_match() | |
5 0.104271 0.103736 <SNR>121_UpdateDiagnosticNotifications() | |
1 0.038517 0.038302 color_coded#setup() | |
2 0.050451 0.028183 <SNR>48_LoadFTPlugin() | |
3 0.131554 0.027891 <SNR>3_SynSet() | |
3 0.025792 <SNR>107_add_register() | |
2 0.019072 0.019047 <SNR>81_FindInCurrentPath() | |
3 0.017030 <SNR>97_Highlight_Matching_Pair() | |
3 0.014154 0.013346 neobundle#autoload#function() | |
3 0.051513 0.010682 unite#sources#history_yank#_append() | |
1 0.010174 0.010085 <SNR>121_OnBufferUnload() | |
1 0.010662 0.010065 <SNR>107_save() | |
1 0.011791 0.009568 <SNR>15_filetype_off() | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ vim --version | |
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Apr 10 2015 01:38:11) | |
Included patches: 1-207, 209-355, 357-691 | |
Compiled by tony@x200t | |
Huge version without GUI. Features included (+) or not (-): | |
+acl +farsi +mouse_netterm +syntax | |
+arabic +file_in_path +mouse_sgr +tag_binary | |
+autocmd +find_in_path +mouse_sysmouse +tag_old_static | |
-balloon_eval +float +mouse_urxvt -tag_any_white | |
-browse +folding +mouse_xterm +tcl | |
++builtin_terms -footer +multi_byte +terminfo | |
+byte_offset +fork() +multi_lang +termresponse | |
+cindent -gettext -mzscheme +textobjects | |
-clientserver -hangul_input +netbeans_intg +title | |
-clipboard +iconv +path_extra -toolbar | |
+cmdline_compl +insert_expand +perl +user_commands | |
+cmdline_hist +jumplist +persistent_undo +vertsplit | |
+cmdline_info +keymap +postscript +virtualedit | |
+comments +langmap +printer +visual | |
+conceal +libcall +profile +visualextra | |
+cryptv +linebreak +python +viminfo | |
+cscope +lispindent -python3 +vreplace | |
+cursorbind +listcmds +quickfix +wildignore | |
+cursorshape +localmap +reltime +wildmenu | |
+dialog_con +lua/dyn +rightleft +windows | |
+diff +menu -ruby +writebackup | |
+digraphs +mksession +scrollbind -X11 | |
-dnd +modify_fname +signs -xfontset | |
-ebcdic +mouse +smartindent -xim | |
+emacs_tags -mouseshape -sniff -xsmp | |
+eval +mouse_dec +startuptime -xterm_clipboard | |
+ex_extra -mouse_gpm +statusline -xterm_save | |
+extra_search -mouse_jsbterm -sun_workshop -xpm | |
system vimrc file: "/usr/local/etc/vim/vimrc" | |
user vimrc file: "$HOME/.vimrc" | |
2nd user vimrc file: "~/.vim/vimrc" | |
user exrc file: "$HOME/.exrc" | |
fall-back for $VIM: "/usr/local/etc/vim" | |
f-b for $VIMRUNTIME: "/usr/local/share/vim/vim74" | |
Compilation: cc -c -I. -Iproto -DHAVE_CONFIG_H -DLIBICONV_PLUG -I/usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector -fno-strict-aliasing -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -I/usr/local/include/tcl8.6 | |
Linking: cc -Wl,-R/usr/local/lib/perl5/5.18/mach/CORE -fstack-protector -L/usr/local/lib -Wl,--as-needed -o vim -lm -lelf -pthread -ltermlib -Wl,-R/usr/local/lib/perl5/5.18/mach/CORE -pthread -Wl,-E -fstack-protector -L/usr/local/lib -L/usr/local/lib/perl5/5.18/mach/CORE -lperl -lm -lcrypt -lutil -L/usr/local/lib/python2.7/config -lpython2.7 -L/usr/local/lib -lintl -lutil -lm -Wl,--export-dynamic -L/usr/local/lib -ltcl86 -lz -lpthread -lm | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment