Skip to content

Instantly share code, notes, and snippets.

@tony

tony/profile.log Secret

Created April 10, 2015 11:13
Show Gist options
  • Save tony/a23eb36f188102120df6 to your computer and use it in GitHub Desktop.
Save tony/a23eb36f188102120df6 to your computer and use it in GitHub Desktop.
color_coded freebsd syntax error
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
" PDF
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()
$ 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