Skip to content

Instantly share code, notes, and snippets.

@Zhengquan
Created December 19, 2012 04:18
Show Gist options
  • Save Zhengquan/4334355 to your computer and use it in GitHub Desktop.
Save Zhengquan/4334355 to your computer and use it in GitHub Desktop.
vim-profiling information
SCRIPT /Users/yangkit/.vim/janus/vim/langs/ruby/ftplugin/ruby.vim
Sourced 4 times
Total time: 0.010662
Self time: 0.010662
count total (s) self (s)
" Vim filetype plugin
" Language: Ruby
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" URL: https://github.com/vim-ruby/vim-ruby
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" ----------------------------------------------------------------------------
4 0.000131 if (exists("b:did_ftplugin"))
finish
endif
4 0.000044 let b:did_ftplugin = 1
4 0.000089 let s:cpo_save = &cpo
4 0.000096 set cpo&vim
4 0.000108 if has("gui_running") && !has("gui_win32")
4 0.000072 setlocal keywordprg=ri\ -T
4 0.000020 else
setlocal keywordprg=ri
endif
" Matchit support
4 0.000065 if exists("loaded_matchit") && !exists("b:match_words")
4 0.000035 let b:match_ignorecase = 0
4 0.000134 let b:match_words =
\ '\<\%(if\|unless\|case\|while\|until\|for\|do\|class\|module\|def\|begin\)\>=\@!' .
\ ':' .
\ '\<\%(else\|elsif\|ensure\|when\|rescue\|break\|redo\|next\|retry\)\>' .
\ ':' .
\ '\<end\>' .
\ ',{:},\[:\],(:)'
4 0.000169 let b:match_skip =
\ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" .
\ "\\<ruby\\%(String\\|StringDelimiter\\|ASCIICode\\|Escape\\|" .
\ "Interpolation\\|NoInterpolation\\|Comment\\|Documentation\\|" .
\ "ConditionalModifier\\|RepeatModifier\\|OptionalDo\\|" .
\ "Function\\|BlockArgument\\|KeywordAsMethod\\|ClassVariable\\|" .
\ "InstanceVariable\\|GlobalVariable\\|Symbol\\)\\>'"
4 0.000016 endif
4 0.000061 setlocal formatoptions-=t formatoptions+=croql
4 0.000049 setlocal include=^\\s*\\<\\(load\\>\\\|require\\>\\\|autoload\\s*:\\=[\"']\\=\\h\\w*[\"']\\=,\\)
4 0.000036 setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.rb','')
4 0.000027 setlocal suffixesadd=.rb
4 0.000083 if exists("&ofu") && has("ruby")
4 0.000036 setlocal omnifunc=rubycomplete#Complete
4 0.000014 endif
" To activate, :set ballooneval
4 0.000052 if has('balloon_eval') && exists('+balloonexpr')
4 0.000033 setlocal balloonexpr=RubyBalloonexpr()
4 0.000013 endif
" TODO:
"setlocal define=^\\s*def
4 0.000034 setlocal comments=:#
4 0.000030 setlocal commentstring=#\ %s
4 0.000060 if !exists("s:ruby_path")
if exists("g:ruby_path")
let s:ruby_path = type(g:ruby_path) == type([]) ? join(g:ruby_path,',') : g:ruby_path
else
if has("ruby") && has("win32")
ruby ::VIM::command( 'let s:ruby_paths = split("%s",",")' % $:.join(%q{,}) )
elseif executable('ruby')
let s:code = "print $:.join(%q{,})"
if executable('env') && $PATH !~# '\s'
let prefix = 'env PATH='.$PATH.' '
else
let prefix = ''
endif
if &shellxquote == "'"
let s:ruby_paths = split(system(prefix.'ruby -e "' . s:code . '"'),',')
else
let s:ruby_paths = split(system(prefix."ruby -e '" . s:code . "'"),',')
endif
else
let s:ruby_paths = split($RUBYLIB,':')
endif
let s:ruby_path = substitute(join(s:ruby_paths,","), '\%(^\|,\)\.\%(,\|$\)', ',,', '')
if &g:path !~# '\v^\.%(,/%(usr|emx)/include)=,,$'
let s:ruby_path = substitute(&g:path,',,$',',','') . ',' . s:ruby_path
endif
endif
endif
4 0.000056 if stridx(&l:path, s:ruby_path) == -1
4 0.000052 let &l:path = s:ruby_path
4 0.000020 endif
4 0.000372 if exists('s:ruby_paths') && stridx(&l:tags, join(map(copy(s:ruby_paths),'v:val."/tags"'),',')) == -1
4 0.000337 let &l:tags = &tags . ',' . join(map(copy(s:ruby_paths),'v:val."/tags"'),',')
4 0.000022 endif
4 0.000068 if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "Ruby Source Files (*.rb)\t*.rb\n" .
\ "All Files (*.*)\t*.*\n"
endif
4 0.000177 let b:undo_ftplugin = "setl fo< inc< inex< sua< def< com< cms< path< tags< kp<"
\."| unlet! b:browsefilter b:match_ignorecase b:match_words b:match_skip"
\."| if exists('&ofu') && has('ruby') | setl ofu< | endif"
\."| if has('balloon_eval') && exists('+bexpr') | setl bexpr< | endif"
4 0.000077 if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps")
4 0.000347 nnoremap <silent> <buffer> [m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','b','n')<CR>
4 0.000168 nnoremap <silent> <buffer> ]m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','','n')<CR>
4 0.000153 nnoremap <silent> <buffer> [M :<C-U>call <SID>searchsyn('\<end\>','rubyDefine','b','n')<CR>
4 0.000144 nnoremap <silent> <buffer> ]M :<C-U>call <SID>searchsyn('\<end\>','rubyDefine','','n')<CR>
4 0.000235 xnoremap <silent> <buffer> [m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','b','v')<CR>
4 0.000155 xnoremap <silent> <buffer> ]m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','','v')<CR>
4 0.000140 xnoremap <silent> <buffer> [M :<C-U>call <SID>searchsyn('\<end\>','rubyDefine','b','v')<CR>
4 0.000128 xnoremap <silent> <buffer> ]M :<C-U>call <SID>searchsyn('\<end\>','rubyDefine','','v')<CR>
4 0.000185 nnoremap <silent> <buffer> [[ :<C-U>call <SID>searchsyn('\<\%(class\<Bar>module\)\>','rubyModule\<Bar>rubyClass','b','n')<CR>
4 0.000188 nnoremap <silent> <buffer> ]] :<C-U>call <SID>searchsyn('\<\%(class\<Bar>module\)\>','rubyModule\<Bar>rubyClass','','n')<CR>
4 0.000164 nnoremap <silent> <buffer> [] :<C-U>call <SID>searchsyn('\<end\>','rubyModule\<Bar>rubyClass','b','n')<CR>
4 0.000163 nnoremap <silent> <buffer> ][ :<C-U>call <SID>searchsyn('\<end\>','rubyModule\<Bar>rubyClass','','n')<CR>
4 0.000201 xnoremap <silent> <buffer> [[ :<C-U>call <SID>searchsyn('\<\%(class\<Bar>module\)\>','rubyModule\<Bar>rubyClass','b','v')<CR>
4 0.000181 xnoremap <silent> <buffer> ]] :<C-U>call <SID>searchsyn('\<\%(class\<Bar>module\)\>','rubyModule\<Bar>rubyClass','','v')<CR>
4 0.000149 xnoremap <silent> <buffer> [] :<C-U>call <SID>searchsyn('\<end\>','rubyModule\<Bar>rubyClass','b','v')<CR>
4 0.000135 xnoremap <silent> <buffer> ][ :<C-U>call <SID>searchsyn('\<end\>','rubyModule\<Bar>rubyClass','','v')<CR>
4 0.000124 let b:undo_ftplugin = b:undo_ftplugin
\."| sil! exe 'unmap <buffer> [[' | sil! exe 'unmap <buffer> ]]' | sil! exe 'unmap <buffer> []' | sil! exe 'unmap <buffer> ]['"
\."| sil! exe 'unmap <buffer> [m' | sil! exe 'unmap <buffer> ]m' | sil! exe 'unmap <buffer> [M' | sil! exe 'unmap <buffer> ]M'"
4 0.000134 if maparg('im','n') == ''
4 0.000126 onoremap <silent> <buffer> im :<C-U>call <SID>wrap_i('[m',']M')<CR>
4 0.000106 onoremap <silent> <buffer> am :<C-U>call <SID>wrap_a('[m',']M')<CR>
4 0.000100 xnoremap <silent> <buffer> im :<C-U>call <SID>wrap_i('[m',']M')<CR>
4 0.000097 xnoremap <silent> <buffer> am :<C-U>call <SID>wrap_a('[m',']M')<CR>
4 0.000097 let b:undo_ftplugin = b:undo_ftplugin
\."| sil! exe 'ounmap <buffer> im' | sil! exe 'ounmap <buffer> am'"
\."| sil! exe 'xunmap <buffer> im' | sil! exe 'xunmap <buffer> am'"
4 0.000012 endif
4 0.000106 if maparg('iM','n') == ''
4 0.000107 onoremap <silent> <buffer> iM :<C-U>call <SID>wrap_i('[[','][')<CR>
4 0.000098 onoremap <silent> <buffer> aM :<C-U>call <SID>wrap_a('[[','][')<CR>
4 0.000107 xnoremap <silent> <buffer> iM :<C-U>call <SID>wrap_i('[[','][')<CR>
4 0.000102 xnoremap <silent> <buffer> aM :<C-U>call <SID>wrap_a('[[','][')<CR>
4 0.000083 let b:undo_ftplugin = b:undo_ftplugin
\."| sil! exe 'ounmap <buffer> iM' | sil! exe 'ounmap <buffer> aM'"
\."| sil! exe 'xunmap <buffer> iM' | sil! exe 'xunmap <buffer> aM'"
4 0.000011 endif
4 0.000106 if maparg("\<C-]>",'n') == ''
4 0.000129 nnoremap <silent> <buffer> <C-]> :<C-U>exe v:count1."tag <C-R>=RubyCursorIdentifier()<CR>"<CR>
4 0.000130 nnoremap <silent> <buffer> g<C-]> :<C-U>exe "tjump <C-R>=RubyCursorIdentifier()<CR>"<CR>
4 0.000121 nnoremap <silent> <buffer> g] :<C-U>exe "tselect <C-R>=RubyCursorIdentifier()<CR>"<CR>
4 0.000121 nnoremap <silent> <buffer> <C-W>] :<C-U>exe v:count1."stag <C-R>=RubyCursorIdentifier()<CR>"<CR>
4 0.000119 nnoremap <silent> <buffer> <C-W><C-]> :<C-U>exe v:count1."stag <C-R>=RubyCursorIdentifier()<CR>"<CR>
4 0.000133 nnoremap <silent> <buffer> <C-W>g<C-]> :<C-U>exe "stjump <C-R>=RubyCursorIdentifier()<CR>"<CR>
4 0.000121 nnoremap <silent> <buffer> <C-W>g] :<C-U>exe "stselect <C-R>=RubyCursorIdentifier()<CR>"<CR>
4 0.000120 nnoremap <silent> <buffer> <C-W>} :<C-U>exe "ptag <C-R>=RubyCursorIdentifier()<CR>"<CR>
4 0.000118 nnoremap <silent> <buffer> <C-W>g} :<C-U>exe "ptjump <C-R>=RubyCursorIdentifier()<CR>"<CR>
4 0.000163 let b:undo_ftplugin = b:undo_ftplugin
\."| sil! exe 'nunmap <buffer> <C-]>'| sil! exe 'nunmap <buffer> g<C-]>'| sil! exe 'nunmap <buffer> g]'"
\."| sil! exe 'nunmap <buffer> <C-W>]'| sil! exe 'nunmap <buffer> <C-W><C-]>'"
\."| sil! exe 'nunmap <buffer> <C-W>g<C-]>'| sil! exe 'nunmap <buffer> <C-W>g]'"
\."| sil! exe 'nunmap <buffer> <C-W>}'| sil! exe 'nunmap <buffer> <C-W>g}'"
4 0.000017 endif
4 0.000123 if maparg("gf",'n') == ''
" By using findfile() rather than gf's normal behavior, we prevent
" erroneously editing a directory.
4 0.000138 nnoremap <silent> <buffer> gf :<C-U>exe <SID>gf(v:count1,"gf",'edit')<CR>
4 0.000149 nnoremap <silent> <buffer> <C-W>f :<C-U>exe <SID>gf(v:count1,"\<Lt>C-W>f",'split')<CR>
4 0.000158 nnoremap <silent> <buffer> <C-W><C-F> :<C-U>exe <SID>gf(v:count1,"\<Lt>C-W>\<Lt>C-F>",'split')<CR>
4 0.000153 nnoremap <silent> <buffer> <C-W>gf :<C-U>exe <SID>gf(v:count1,"\<Lt>C-W>gf",'tabedit')<CR>
4 0.000099 let b:undo_ftplugin = b:undo_ftplugin
\."| sil! exe 'nunmap <buffer> gf' | sil! exe 'nunmap <buffer> <C-W>f' | sil! exe 'nunmap <buffer> <C-W><C-F>' | sil! exe 'nunmap <buffer> <C-W>gf'"
4 0.000015 endif
4 0.000012 endif
4 0.000091 let &cpo = s:cpo_save
4 0.000028 unlet s:cpo_save
4 0.000048 if exists("g:did_ruby_ftplugin_functions")
4 0.000018 finish
SCRIPT /usr/local/Cellar/macvim/7.3-65/MacVim.app/Contents/Resources/vim/runtime/ftplugin/ruby.vim
Sourced 4 times
Total time: 0.000243
Self time: 0.000243
count total (s) self (s)
" Vim filetype plugin
" Language: Ruby
" Maintainer: Gavin Sinclair <gsinclair at gmail.com>
" Last Change: 2010 Mar 15
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" ----------------------------------------------------------------------------
"
" Original matchit support thanks to Ned Konz. See his ftplugin/ruby.vim at
" http://bike-nomad.com/vim/ruby.vim.
" ----------------------------------------------------------------------------
" Only do this when not done yet for this buffer
4 0.000094 if (exists("b:did_ftplugin"))
4 0.000023 finish
SCRIPT /Users/yangkit/.vim/janus/vim/langs/ruby/indent/ruby.vim
Sourced 4 times
Total time: 0.000483
Self time: 0.000483
count total (s) self (s)
" Vim indent file
" Language: Ruby
" Maintainer: Nikolai Weibull <now at bitwi.se>
" URL: https://github.com/vim-ruby/vim-ruby
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" 0. Initialization {{{1
" =================
" Only load this indent file when no other was loaded.
4 0.000063 if exists("b:did_indent")
finish
endif
4 0.000034 let b:did_indent = 1
4 0.000042 setlocal nosmartindent
" Now, set up our indentation expression and keys that trigger it.
4 0.000044 setlocal indentexpr=GetRubyIndent(v:lnum)
4 0.000036 setlocal indentkeys=0{,0},0),0],!^F,o,O,e
4 0.000040 setlocal indentkeys+==end,=else,=elsif,=when,=ensure,=rescue,==begin,==end
" Only define the function once.
4 0.000042 if exists("*GetRubyIndent")
4 0.000014 finish
SCRIPT /usr/local/Cellar/macvim/7.3-65/MacVim.app/Contents/Resources/vim/runtime/indent/ruby.vim
Sourced 4 times
Total time: 0.000180
Self time: 0.000180
count total (s) self (s)
" Vim indent file
" Language: Ruby
" Maintainer: Nikolai Weibull <now at bitwi.se>
" Last Change: 2009 Dec 17
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" 0. Initialization {{{1
" =================
" Only load this indent file when no other was loaded.
4 0.000075 if exists("b:did_indent")
4 0.000023 finish
SCRIPT /Users/yangkit/.vim/janus/vim/langs/ruby/syntax/ruby.vim
Sourced 6 times
Total time: 0.065878
Self time: 0.065878
count total (s) self (s)
" Vim syntax file
" Language: Ruby
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" URL: https://github.com/vim-ruby/vim-ruby
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" ----------------------------------------------------------------------------
"
" Previous Maintainer: Mirko Nasato
" Thanks to perl.vim authors, and to Reimer Behrends. :-) (MN)
" ----------------------------------------------------------------------------
6 0.000127 if exists("b:current_syntax")
finish
endif
6 0.000090 if has("folding") && exists("ruby_fold")
setlocal foldmethod=syntax
endif
6 0.000660 syn cluster rubyNotTop contains=@rubyExtendedStringSpecial,@rubyRegexpSpecial,@rubyDeclaration,rubyConditional,rubyExceptional,rubyMethodExceptional,rubyTodo
6 0.000056 if exists("ruby_space_errors")
if !exists("ruby_no_trail_space_error")
syn match rubySpaceError display excludenl "\s\+$"
endif
if !exists("ruby_no_tab_space_error")
syn match rubySpaceError display " \+\t"me=e-1
endif
endif
" Operators
6 0.000054 if exists("ruby_operators")
syn match rubyOperator "[~!^&|*/%+-]\|\%(class\s*\)\@<!<<\|<=>\|<=\|\%(<\|\<class\s\+\u\w*\s*\)\@<!<[^<]\@=\|===\|==\|=\~\|>>\|>=\|=\@<!>\|\*\*\|\.\.\.\|\.\.\|::"
syn match rubyOperator "->\|-=\|/=\|\*\*=\|\*=\|&&=\|&=\|&&\|||=\||=\|||\|%=\|+=\|!\~\|!="
syn region rubyBracketOperator matchgroup=rubyOperator start="\%(\w[?!]\=\|[]})]\)\@<=\[\s*" end="\s*]" contains=ALLBUT,@rubyNotTop
endif
" Expression Substitution and Backslash Notation
6 0.000224 syn match rubyStringEscape "\\\\\|\\[abefnrstv]\|\\\o\{1,3}\|\\x\x\{1,2}" contained display
6 0.000298 syn match rubyStringEscape "\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)" contained display
6 0.000128 syn match rubyQuoteEscape "\\[\\']" contained display
6 0.000252 syn region rubyInterpolation matchgroup=rubyInterpolationDelimiter start="#{" end="}" contained contains=ALLBUT,@rubyNotTop
6 0.000828 syn match rubyInterpolation "#\%(\$\|@@\=\)\w\+" display contained contains=rubyInterpolationDelimiter,rubyInstanceVariable,rubyClassVariable,rubyGlobalVariable,rubyPredefinedVariable
6 0.000150 syn match rubyInterpolationDelimiter "#\ze\%(\$\|@@\=\)\w\+" display contained
6 0.000442 syn match rubyInterpolation "#\$\%(-\w\|\W\)" display contained contains=rubyInterpolationDelimiter,rubyPredefinedVariable,rubyInvalidVariable
6 0.000134 syn match rubyInterpolationDelimiter "#\ze\$\%(-\w\|\W\)" display contained
6 0.000158 syn region rubyNoInterpolation start="\\#{" end="}" contained
6 0.000098 syn match rubyNoInterpolation "\\#{" display contained
6 0.000127 syn match rubyNoInterpolation "\\#\%(\$\|@@\=\)\w\+" display contained
6 0.000104 syn match rubyNoInterpolation "\\#\$\W" display contained
6 0.000223 syn match rubyDelimEscape "\\[(<{\[)>}\]]" transparent display contained contains=NONE
6 0.000289 syn region rubyNestedParentheses start="(" skip="\\\\\|\\)" matchgroup=rubyString end=")" transparent contained
6 0.000276 syn region rubyNestedCurlyBraces start="{" skip="\\\\\|\\}" matchgroup=rubyString end="}" transparent contained
6 0.000232 syn region rubyNestedAngleBrackets start="<" skip="\\\\\|\\>" matchgroup=rubyString end=">" transparent contained
6 0.000233 syn region rubyNestedSquareBrackets start="\[" skip="\\\\\|\\\]" matchgroup=rubyString end="\]" transparent contained
" These are mostly Oniguruma ready
6 0.000218 syn region rubyRegexpComment matchgroup=rubyRegexpSpecial start="(?#" skip="\\)" end=")" contained
6 0.000397 syn region rubyRegexpParens matchgroup=rubyRegexpSpecial start="(\(?:\|?<\=[=!]\|?>\|?<[a-z_]\w*>\|?[imx]*-[imx]*:\=\|\%(?#\)\@!\)" skip="\\)" end=")" contained transparent contains=@rubyRegexpSpecial
6 0.000564 syn region rubyRegexpBrackets matchgroup=rubyRegexpCharClass start="\[\^\=" skip="\\\]" end="\]" contained transparent contains=rubyStringEscape,rubyRegexpEscape,rubyRegexpCharClass oneline
6 0.000132 syn match rubyRegexpCharClass "\\[DdHhSsWw]" contained display
6 0.000393 syn match rubyRegexpCharClass "\[:\^\=\%(alnum\|alpha\|ascii\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|xdigit\):\]" contained
6 0.000131 syn match rubyRegexpEscape "\\[].*?+^$|\\/(){}[]" contained
6 0.000112 syn match rubyRegexpQuantifier "[*?+][?+]\=" contained display
6 0.000138 syn match rubyRegexpQuantifier "{\d\+\%(,\d*\)\=}?\=" contained display
6 0.000118 syn match rubyRegexpAnchor "[$^]\|\\[ABbGZz]" contained display
6 0.000094 syn match rubyRegexpDot "\." contained display
6 0.000100 syn match rubyRegexpSpecial "|" contained display
6 0.000140 syn match rubyRegexpSpecial "\\[1-9]\d\=\d\@!" contained display
6 0.000194 syn match rubyRegexpSpecial "\\k<\%([a-z_]\w*\|-\=\d\+\)\%([+-]\d\+\)\=>" contained display
6 0.000160 syn match rubyRegexpSpecial "\\k'\%([a-z_]\w*\|-\=\d\+\)\%([+-]\d\+\)\='" contained display
6 0.000161 syn match rubyRegexpSpecial "\\g<\%([a-z_]\w*\|-\=\d\+\)>" contained display
6 0.000139 syn match rubyRegexpSpecial "\\g'\%([a-z_]\w*\|-\=\d\+\)'" contained display
6 0.000356 syn cluster rubyStringSpecial contains=rubyInterpolation,rubyNoInterpolation,rubyStringEscape
6 0.000505 syn cluster rubyExtendedStringSpecial contains=@rubyStringSpecial,rubyNestedParentheses,rubyNestedCurlyBraces,rubyNestedAngleBrackets,rubyNestedSquareBrackets
6 0.001346 syn cluster rubyRegexpSpecial contains=rubyInterpolation,rubyNoInterpolation,rubyStringEscape,rubyRegexpSpecial,rubyRegexpEscape,rubyRegexpBrackets,rubyRegexpCharClass,rubyRegexpDot,rubyRegexpQuantifier,rubyRegexpAnchor,rubyRegexpParens,rubyRegexpComment
" Numbers and ASCII Codes
6 0.000357 syn match rubyASCIICode "\%(\w\|[]})\"'/]\)\@<!\%(?\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\=\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)\)"
6 0.000224 syn match rubyInteger "\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<0[xX]\x\+\%(_\x\+\)*\>" display
6 0.000232 syn match rubyInteger "\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<\%(0[dD]\)\=\%(0\|[1-9]\d*\%(_\d\+\)*\)\>" display
6 0.000187 syn match rubyInteger "\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<0[oO]\=\o\+\%(_\o\+\)*\>" display
6 0.000188 syn match rubyInteger "\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<0[bB][01]\+\%(_[01]\+\)*\>" display
6 0.000220 syn match rubyFloat "\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<\%(0\|[1-9]\d*\%(_\d\+\)*\)\.\d\+\%(_\d\+\)*\>" display
6 0.000272 syn match rubyFloat "\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<\%(0\|[1-9]\d*\%(_\d\+\)*\)\%(\.\d\+\%(_\d\+\)*\)\=\%([eE][-+]\=\d\+\%(_\d\+\)*\)\>" display
" Identifiers
6 0.000490 syn match rubyLocalVariableOrMethod "\<[_[:lower:]][_[:alnum:]]*[?!=]\=" contains=NONE display transparent
6 0.000537 syn match rubyBlockArgument "&[_[:lower:]][_[:alnum:]]" contains=NONE display transparent
6 0.000247 syn match rubyConstant "\%(\%([.@$]\@<!\.\)\@<!\<\|::\)\_s*\zs\u\w*\%(\>\|::\)\@=\%(\s*(\)\@!"
6 0.000126 syn match rubyClassVariable "@@\h\w*" display
6 0.000148 syn match rubyInstanceVariable "@\h\w*" display
6 0.000140 syn match rubyGlobalVariable "$\%(\h\w*\|-.\)"
6 0.000353 syn match rubySymbol "[]})\"':]\@<!:\%(\^\|\~\|<<\|<=>\|<=\|<\|===\|==\|=\~\|>>\|>=\|>\||\|-@\|-\|/\|\[]=\|\[]\|\*\*\|\*\|&\|%\|+@\|+\|`\)"
6 0.000198 syn match rubySymbol "[]})\"':]\@<!:\$\%(-.\|[`~<=>_,;:!?/.'"@$*\&+0]\)"
6 0.000183 syn match rubySymbol "[]})\"':]\@<!:\%(\$\|@@\=\)\=\h\w*"
6 0.000189 syn match rubySymbol "[]})\"':]\@<!:\h\w*\%([?!=]>\@!\)\="
6 0.000215 syn match rubySymbol "\%([{(,]\_s*\)\@<=\l\w*[!?]\=::\@!"he=e-1
6 0.000260 syn match rubySymbol "[]})\"':]\@<!\h\w*[!?]\=:\s\@="he=e-1
6 0.000232 syn match rubySymbol "\%([{(,]\_s*\)\@<=[[:space:],{]\l\w*[!?]\=::\@!"hs=s+1,he=e-1
6 0.000205 syn match rubySymbol "[[:space:],{]\h\w*[!?]\=:\s\@="hs=s+1,he=e-1
6 0.000363 syn region rubySymbol start="[]})\"':]\@<!:'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape fold
6 0.000257 syn region rubySymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial fold
6 0.000108 syn match rubyBlockParameter "\h\w*" contained
6 0.000299 syn region rubyBlockParameterList start="\%(\%(\<do\>\|{\)\s*\)\@<=|" end="|" oneline display contains=rubyBlockParameter
6 0.000119 syn match rubyInvalidVariable "$[^ A-Za-z_-]"
6 0.000130 syn match rubyPredefinedVariable #$[!$&"'*+,./0:;<=>?@\`~]#
6 0.000106 syn match rubyPredefinedVariable "$\d\+" display
6 0.000103 syn match rubyPredefinedVariable "$_\>" display
6 0.000116 syn match rubyPredefinedVariable "$-[0FIKadilpvw]\>" display
6 0.000273 syn match rubyPredefinedVariable "$\%(deferr\|defout\|stderr\|stdin\|stdout\)\>" display
6 0.000217 syn match rubyPredefinedVariable "$\%(DEBUG\|FILENAME\|KCODE\|LOADED_FEATURES\|LOAD_PATH\|PROGRAM_NAME\|SAFE\|VERBOSE\)\>" display
6 0.000198 syn match rubyPredefinedConstant "\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(MatchingData\|ARGF\|ARGV\|ENV\)\>\%(\s*(\)\@!"
6 0.000203 syn match rubyPredefinedConstant "\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(DATA\|FALSE\|NIL\)\>\%(\s*(\)\@!"
6 0.000222 syn match rubyPredefinedConstant "\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(STDERR\|STDIN\|STDOUT\|TOPLEVEL_BINDING\|TRUE\)\>\%(\s*(\)\@!"
6 0.000294 syn match rubyPredefinedConstant "\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(RUBY_\%(VERSION\|RELEASE_DATE\|PLATFORM\|PATCHLEVEL\|REVISION\|DESCRIPTION\|COPYRIGHT\|ENGINE\)\)\>\%(\s*(\)\@!"
" Normal Regular Expression
6 0.000509 syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|when\|not\|then\|else\)\|[;\~=!|&(,[>?:]\)\s*\)\@<=/" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial keepend fold
6 0.000309 syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/[ \t=]\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial fold
" Generalized Regular Expression
6 0.000321 syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r\z([~`!@#$%^&*_\-+=|\:;"',.? /]\)" end="\z1[iomxneus]*" skip="\\\\\|\\\z1" contains=@rubyRegexpSpecial fold
6 0.000256 syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r{" end="}[iomxneus]*" skip="\\\\\|\\}" contains=@rubyRegexpSpecial fold
6 0.000429 syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r<" end=">[iomxneus]*" skip="\\\\\|\\>" contains=@rubyRegexpSpecial,rubyNestedAngleBrackets,rubyDelimEscape fold
6 0.000258 syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r\[" end="\][iomxneus]*" skip="\\\\\|\\\]" contains=@rubyRegexpSpecial fold
6 0.000261 syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r(" end=")[iomxneus]*" skip="\\\\\|\\)" contains=@rubyRegexpSpecial fold
" Normal String and Shell Command Output
6 0.000259 syn region rubyString matchgroup=rubyStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial,@Spell fold
6 0.000375 syn region rubyString matchgroup=rubyStringDelimiter start="'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape,@Spell fold
6 0.000272 syn region rubyString matchgroup=rubyStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=@rubyStringSpecial fold
" Generalized Single Quoted String, Symbol and Array of Strings
6 0.000310 syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
6 0.000539 syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]{" end="}" skip="\\\\\|\\}" fold contains=rubyNestedCurlyBraces,rubyDelimEscape
6 0.000497 syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]<" end=">" skip="\\\\\|\\>" fold contains=rubyNestedAngleBrackets,rubyDelimEscape
6 0.000576 syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]\[" end="\]" skip="\\\\\|\\\]" fold contains=rubyNestedSquareBrackets,rubyDelimEscape
6 0.000685 syn region rubyString matchgroup=rubyStringDelimiter start="%[qw](" end=")" skip="\\\\\|\\)" fold contains=rubyNestedParentheses,rubyDelimEscape
6 0.000298 syn region rubyString matchgroup=rubyStringDelimiter start="%q " end=" " skip="\\\\\|\\)" fold
6 0.000288 syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s\z([~`!@#$%^&*_\-+=|\:;"',.? /]\)" end="\z1" skip="\\\\\|\\\z1" fold
6 0.000433 syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s{" end="}" skip="\\\\\|\\}" fold contains=rubyNestedCurlyBraces,rubyDelimEscape
6 0.000406 syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s<" end=">" skip="\\\\\|\\>" fold contains=rubyNestedAngleBrackets,rubyDelimEscape
6 0.000443 syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s\[" end="\]" skip="\\\\\|\\\]" fold contains=rubyNestedSquareBrackets,rubyDelimEscape
6 0.000494 syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s(" end=")" skip="\\\\\|\\)" fold contains=rubyNestedParentheses,rubyDelimEscape
" Generalized Double Quoted String and Array of Strings and Shell Command Output
" Note: %= is not matched here as the beginning of a double quoted string
6 0.000339 syn region rubyString matchgroup=rubyStringDelimiter start="%\z([~`!@#$%^&*_\-+|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=@rubyStringSpecial fold
6 0.000319 syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=@rubyStringSpecial fold
6 0.000527 syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\={" end="}" skip="\\\\\|\\}" contains=@rubyStringSpecial,rubyNestedCurlyBraces,rubyDelimEscape fold
6 0.000519 syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\=<" end=">" skip="\\\\\|\\>" contains=@rubyStringSpecial,rubyNestedAngleBrackets,rubyDelimEscape fold
6 0.000554 syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\=\[" end="\]" skip="\\\\\|\\\]" contains=@rubyStringSpecial,rubyNestedSquareBrackets,rubyDelimEscape fold
6 0.000470 syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\=(" end=")" skip="\\\\\|\\)" contains=@rubyStringSpecial,rubyNestedParentheses,rubyDelimEscape fold
6 0.000336 syn region rubyString matchgroup=rubyStringDelimiter start="%[Qx] " end=" " skip="\\\\\|\\)" contains=@rubyStringSpecial fold
" Here Document
6 0.000372 syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<-\=\zs\%(\h\w*\)+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
6 0.000355 syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<-\=\zs"\%([^"]*\)"+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
6 0.000393 syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<-\=\zs'\%([^']*\)'+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
6 0.000298 syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<-\=\zs`\%([^`]*\)`+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
6 0.000547 syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<\z(\h\w*\)\ze\%(.*<<-\=['`"]\=\h\)\@!+hs=s+2 matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,rubyHeredoc,@rubyStringSpecial fold keepend
6 0.000528 syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<"\z([^"]*\)"\ze\%(.*<<-\=['`"]\=\h\)\@!+hs=s+2 matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,rubyHeredoc,@rubyStringSpecial fold keepend
6 0.000586 syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<'\z([^']*\)'\ze\%(.*<<-\=['`"]\=\h\)\@!+hs=s+2 matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,rubyHeredoc fold keepend
6 0.000598 syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<`\z([^`]*\)`\ze\%(.*<<-\=['`"]\=\h\)\@!+hs=s+2 matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,rubyHeredoc,@rubyStringSpecial fold keepend
6 0.000588 syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]}).]\)\s\|\w\)\@<!<<-\z(\h\w*\)\ze\%(.*<<-\=['`"]\=\h\)\@!+hs=s+3 matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
6 0.000546 syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]}).]\)\s\|\w\)\@<!<<-"\z([^"]*\)"\ze\%(.*<<-\=['`"]\=\h\)\@!+hs=s+3 matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
6 0.000486 syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]}).]\)\s\|\w\)\@<!<<-'\z([^']*\)'\ze\%(.*<<-\=['`"]\=\h\)\@!+hs=s+3 matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart fold keepend
6 0.000504 syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]}).]\)\s\|\w\)\@<!<<-`\z([^`]*\)`\ze\%(.*<<-\=['`"]\=\h\)\@!+hs=s+3 matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
6 0.000109 if exists('main_syntax') && main_syntax == 'eruby'
let b:ruby_no_expensive = 1
end
6 0.000703 syn match rubyAliasDeclaration "[^[:space:];#.()]\+" contained contains=rubySymbol,rubyGlobalVariable,rubyPredefinedVariable nextgroup=rubyAliasDeclaration2 skipwhite
6 0.000441 syn match rubyAliasDeclaration2 "[^[:space:];#.()]\+" contained contains=rubySymbol,rubyGlobalVariable,rubyPredefinedVariable
6 0.000711 syn match rubyMethodDeclaration "[^[:space:];#(]\+" contained contains=rubyConstant,rubyBoolean,rubyPseudoVariable,rubyInstanceVariable,rubyClassVariable,rubyGlobalVariable
6 0.000309 syn match rubyClassDeclaration "[^[:space:];#<]\+" contained contains=rubyConstant,rubyOperator
6 0.000297 syn match rubyModuleDeclaration "[^[:space:];#<]\+" contained contains=rubyConstant,rubyOperator
6 0.000395 syn match rubyFunction "\<[_[:alpha:]][_[:alnum:]]*[?!=]\=[[:alnum:]_.:?!=]\@!" contained containedin=rubyMethodDeclaration
6 0.000481 syn match rubyFunction "\%(\s\|^\)\@<=[_[:alpha:]][_[:alnum:]]*[?!=]\=\%(\s\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2
6 0.000624 syn match rubyFunction "\%([[:space:].]\|^\)\@<=\%(\[\]=\=\|\*\*\|[+-]@\=\|[*/%|&^~]\|<<\|>>\|[<>]=\=\|<=>\|===\|==\|=\~\|`\)\%([[:space:];#(]\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration
6 0.000661 syn cluster rubyDeclaration contains=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration,rubyModuleDeclaration,rubyClassDeclaration,rubyFunction,rubyBlockParameter
" Keywords
" Note: the following keywords have already been defined:
" begin case class def do end for if module unless until while
6 0.000196 syn match rubyControl "\<\%(and\|break\|in\|next\|not\|or\|redo\|rescue\|retry\|return\)\>[?!]\@!"
6 0.000096 syn match rubyOperator "\<defined?" display
6 0.000141 syn match rubyKeyword "\<\%(super\|yield\)\>[?!]\@!"
6 0.000161 syn match rubyBoolean "\<\%(true\|false\)\>[?!]\@!"
6 0.000229 syn match rubyPseudoVariable "\<\%(nil\|self\|__ENCODING__\|__FILE__\|__LINE__\|__callee__\|__method__\)\>[?!]\@!" " TODO: reorganise
6 0.000130 syn match rubyBeginEnd "\<\%(BEGIN\|END\)\>[?!]\@!"
" Expensive Mode - match 'end' with the appropriate opening keyword for syntax
" based folding and special highlighting of module/class/method definitions
6 0.000181 if !exists("b:ruby_no_expensive") && !exists("ruby_no_expensive")
6 0.000244 syn match rubyDefine "\<alias\>" nextgroup=rubyAliasDeclaration skipwhite skipnl
6 0.000212 syn match rubyDefine "\<def\>" nextgroup=rubyMethodDeclaration skipwhite skipnl
6 0.000202 syn match rubyDefine "\<undef\>" nextgroup=rubyFunction skipwhite skipnl
6 0.000207 syn match rubyClass "\<class\>" nextgroup=rubyClassDeclaration skipwhite skipnl
6 0.000207 syn match rubyModule "\<module\>" nextgroup=rubyModuleDeclaration skipwhite skipnl
6 0.000306 syn region rubyMethodBlock start="\<def\>" matchgroup=rubyDefine end="\%(\<def\_s\+\)\@<!\<end\>" contains=ALLBUT,@rubyNotTop fold
6 0.000215 syn region rubyBlock start="\<class\>" matchgroup=rubyClass end="\<end\>" contains=ALLBUT,@rubyNotTop fold
6 0.000187 syn region rubyBlock start="\<module\>" matchgroup=rubyModule end="\<end\>" contains=ALLBUT,@rubyNotTop fold
" modifiers
6 0.000104 syn match rubyConditionalModifier "\<\%(if\|unless\)\>" display
6 0.000100 syn match rubyRepeatModifier "\<\%(while\|until\)\>" display
6 0.000180 syn region rubyDoBlock matchgroup=rubyControl start="\<do\>" end="\<end\>" contains=ALLBUT,@rubyNotTop fold
" curly bracket block or hash literal
6 0.000155 syn region rubyCurlyBlock start="{" end="}" contains=ALLBUT,@rubyNotTop fold
6 0.000207 syn region rubyArrayLiteral matchgroup=rubyArrayDelimiter start="\%(\w\|[\]})]\)\@<!\[" end="]" contains=ALLBUT,@rubyNotTop fold
" statements without 'do'
6 0.000186 syn region rubyBlockExpression matchgroup=rubyControl start="\<begin\>" end="\<end\>" contains=ALLBUT,@rubyNotTop fold
6 0.000201 syn region rubyCaseExpression matchgroup=rubyConditional start="\<case\>" end="\<end\>" contains=ALLBUT,@rubyNotTop fold
6 0.000580 syn region rubyConditionalExpression matchgroup=rubyConditional start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+=-]\|\%(\<[_[:lower:]][_[:alnum:]]*\)\@<![?!]\)\s*\)\@<=\%(if\|unless\)\>" end="\<end\>" contains=ALLBUT,@rubyNotTop fold
6 0.000253 syn match rubyConditional "\<\%(then\|else\|when\)\>[?!]\@!" contained containedin=rubyCaseExpression
6 0.000217 syn match rubyConditional "\<\%(then\|else\|elsif\)\>[?!]\@!" contained containedin=rubyConditionalExpression
6 0.000270 syn match rubyExceptional "\<\%(\%(\%(;\|^\)\s*\)\@<=rescue\|else\|ensure\)\>[?!]\@!" contained containedin=rubyBlockExpression
6 0.000242 syn match rubyMethodExceptional "\<\%(\%(\%(;\|^\)\s*\)\@<=rescue\|else\|ensure\)\>[?!]\@!" contained containedin=rubyMethodBlock
" statements with optional 'do'
6 0.000713 syn region rubyOptionalDoLine matchgroup=rubyRepeat start="\<for\>[?!]\@!" start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+-]\|\%(\<[_[:lower:]][_[:alnum:]]*\)\@<![!=?]\)\s*\)\@<=\<\%(until\|while\)\>" matchgroup=rubyOptionalDo end="\%(\<do\>\)" end="\ze\%(;\|$\)" oneline contains=ALLBUT,@rubyNotTop
6 0.000704 syn region rubyRepeatExpression start="\<for\>[?!]\@!" start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+-]\|\%(\<[_[:lower:]][_[:alnum:]]*\)\@<![!=?]\)\s*\)\@<=\<\%(until\|while\)\>" matchgroup=rubyRepeat end="\<end\>" contains=ALLBUT,@rubyNotTop nextgroup=rubyOptionalDoLine fold
6 0.000066 if !exists("ruby_minlines")
let ruby_minlines = 50
endif
6 0.000123 exec "syn sync minlines=" . ruby_minlines
6 0.000019 else
syn match rubyControl "\<def\>[?!]\@!" nextgroup=rubyMethodDeclaration skipwhite skipnl
syn match rubyControl "\<class\>[?!]\@!" nextgroup=rubyClassDeclaration skipwhite skipnl
syn match rubyControl "\<module\>[?!]\@!" nextgroup=rubyModuleDeclaration skipwhite skipnl
syn match rubyControl "\<\%(case\|begin\|do\|for\|if\|unless\|while\|until\|else\|elsif\|ensure\|then\|when\|end\)\>[?!]\@!"
syn match rubyKeyword "\<\%(alias\|undef\)\>[?!]\@!"
endif
" Special Methods
6 0.000060 if !exists("ruby_no_special_methods")
6 0.000145 syn keyword rubyAccess public protected private public_class_method private_class_method module_function
" attr is a common variable name
6 0.000167 syn match rubyAttribute "\%(\%(^\|;\)\s*\)\@<=attr\>\(\s*[.=]\)\@!"
6 0.000108 syn keyword rubyAttribute attr_accessor attr_reader attr_writer
6 0.000170 syn match rubyControl "\<\%(exit!\|\%(abort\|at_exit\|exit\|fork\|loop\|trap\)\>[?!]\@!\)"
6 0.000120 syn keyword rubyEval eval class_eval instance_eval module_eval
6 0.000119 syn keyword rubyException raise fail catch throw
" false positive with 'include?'
6 0.000121 syn match rubyInclude "\<include\>[?!]\@!"
6 0.000109 syn keyword rubyInclude autoload extend load require require_relative
6 0.000088 syn keyword rubyKeyword callcc caller lambda proc
6 0.000017 endif
" Comments and Documentation
6 0.000092 syn match rubySharpBang "\%^#!.*" display
6 0.000099 syn keyword rubyTodo FIXME NOTE TODO OPTIMIZE XXX contained
6 0.000355 syn match rubyComment "#.*" contains=rubySharpBang,rubySpaceError,rubyTodo,@Spell
6 0.000062 if !exists("ruby_no_comment_fold")
6 0.000360 syn region rubyMultilineComment start="\%(\%(^\s*#.*\n\)\@<!\%(^\s*#.*\n\)\)\%(\(^\s*#.*\n\)\{1,}\)\@=" end="\%(^\s*#.*\n\)\@<=\%(^\s*#.*\n\)\%(^\s*#\)\@!" contains=rubyComment transparent fold keepend
6 0.000392 syn region rubyDocumentation start="^=begin\ze\%(\s.*\)\=$" end="^=end\%(\s.*\)\=$" contains=rubySpaceError,rubyTodo,@Spell fold
6 0.000022 else
syn region rubyDocumentation start="^=begin\s*$" end="^=end\s*$" contains=rubySpaceError,rubyTodo,@Spell
endif
" Note: this is a hack to prevent 'keywords' being highlighted as such when called as methods with an explicit receiver
6 0.000310 syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(alias\|and\|begin\|break\|case\|class\|def\|defined\|do\|else\)\>" transparent contains=NONE
6 0.000289 syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(elsif\|end\|ensure\|false\|for\|if\|in\|module\|next\|nil\)\>" transparent contains=NONE
6 0.000287 syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(not\|or\|redo\|rescue\|retry\|return\|self\|super\|then\|true\)\>" transparent contains=NONE
6 0.000304 syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(undef\|unless\|until\|when\|while\|yield\|BEGIN\|END\|__FILE__\|__LINE__\)\>" transparent contains=NONE
6 0.000237 syn match rubyKeywordAsMethod "\<\%(alias\|begin\|case\|class\|def\|do\|end\)[?!]" transparent contains=NONE
6 0.000228 syn match rubyKeywordAsMethod "\<\%(if\|module\|undef\|unless\|until\|while\)[?!]" transparent contains=NONE
6 0.000345 syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(abort\|at_exit\|attr\|attr_accessor\|attr_reader\)\>" transparent contains=NONE
6 0.000263 syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(attr_writer\|autoload\|callcc\|catch\|caller\)\>" transparent contains=NONE
6 0.000283 syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(eval\|class_eval\|instance_eval\|module_eval\|exit\)\>" transparent contains=NONE
6 0.000263 syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(extend\|fail\|fork\|include\|lambda\)\>" transparent contains=NONE
6 0.000248 syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(load\|loop\|private\|proc\|protected\)\>" transparent contains=NONE
6 0.000267 syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(public\|require\|require_relative\|raise\|throw\|trap\)\>" transparent contains=NONE
" __END__ Directive
6 0.000159 syn region rubyData matchgroup=rubyDataDirective start="^__END__$" end="\%$" fold
6 0.000136 hi def link rubyClass rubyDefine
6 0.000117 hi def link rubyModule rubyDefine
6 0.000138 hi def link rubyMethodExceptional rubyDefine
6 0.000192 hi def link rubyDefine Define
6 0.000150 hi def link rubyFunction Function
6 0.000146 hi def link rubyConditional Conditional
6 0.000104 hi def link rubyConditionalModifier rubyConditional
6 0.000097 hi def link rubyExceptional rubyConditional
6 0.000137 hi def link rubyRepeat Repeat
6 0.000094 hi def link rubyRepeatModifier rubyRepeat
6 0.000087 hi def link rubyOptionalDo rubyRepeat
6 0.000126 hi def link rubyControl Statement
6 0.000140 hi def link rubyInclude Include
6 0.000122 hi def link rubyInteger Number
6 0.000122 hi def link rubyASCIICode Character
6 0.000124 hi def link rubyFloat Float
6 0.000119 hi def link rubyBoolean Boolean
6 0.000140 hi def link rubyException Exception
6 0.000064 if !exists("ruby_no_identifiers")
6 0.000135 hi def link rubyIdentifier Identifier
6 0.000015 else
hi def link rubyIdentifier NONE
endif
6 0.000097 hi def link rubyClassVariable rubyIdentifier
6 0.000122 hi def link rubyConstant Type
6 0.000095 hi def link rubyGlobalVariable rubyIdentifier
6 0.000093 hi def link rubyBlockParameter rubyIdentifier
6 0.000123 hi def link rubyInstanceVariable rubyIdentifier
6 0.000101 hi def link rubyPredefinedIdentifier rubyIdentifier
6 0.000101 hi def link rubyPredefinedConstant rubyPredefinedIdentifier
6 0.000106 hi def link rubyPredefinedVariable rubyPredefinedIdentifier
6 0.000168 hi def link rubySymbol Constant
6 0.000123 hi def link rubyKeyword Keyword
6 0.000128 hi def link rubyOperator Operator
6 0.000138 hi def link rubyBeginEnd Statement
6 0.000157 hi def link rubyAccess Statement
6 0.000160 hi def link rubyAttribute Statement
6 0.000159 hi def link rubyEval Statement
6 0.000146 hi def link rubyPseudoVariable Constant
6 0.000120 hi def link rubyComment Comment
6 0.000116 hi def link rubyData Comment
6 0.000121 hi def link rubyDataDirective Delimiter
6 0.000122 hi def link rubyDocumentation Comment
6 0.000127 hi def link rubyTodo Todo
6 0.000116 hi def link rubyQuoteEscape rubyStringEscape
6 0.000149 hi def link rubyStringEscape Special
6 0.000154 hi def link rubyInterpolationDelimiter Delimiter
6 0.000142 hi def link rubyNoInterpolation rubyString
6 0.000143 hi def link rubySharpBang PreProc
6 0.000166 hi def link rubyRegexpDelimiter rubyStringDelimiter
6 0.000121 hi def link rubySymbolDelimiter rubyStringDelimiter
6 0.000145 hi def link rubyStringDelimiter Delimiter
6 0.000114 hi def link rubyHeredoc rubyString
6 0.000141 hi def link rubyString String
6 0.000099 hi def link rubyRegexpEscape rubyRegexpSpecial
6 0.000093 hi def link rubyRegexpQuantifier rubyRegexpSpecial
6 0.000093 hi def link rubyRegexpAnchor rubyRegexpSpecial
6 0.000096 hi def link rubyRegexpDot rubyRegexpCharClass
6 0.000103 hi def link rubyRegexpCharClass rubyRegexpSpecial
6 0.000140 hi def link rubyRegexpSpecial Special
6 0.000135 hi def link rubyRegexpComment Comment
6 0.000131 hi def link rubyRegexp rubyString
6 0.000126 hi def link rubyInvalidVariable Error
6 0.000125 hi def link rubyError Error
6 0.000085 hi def link rubySpaceError rubyError
6 0.000061 let b:current_syntax = "ruby"
" vim: nowrap sw=2 sts=2 ts=8 noet:
SCRIPT /usr/local/Cellar/macvim/7.3-65/MacVim.app/Contents/Resources/vim/runtime/syntax/ruby.vim
Sourced 6 times
Total time: 0.000303
Self time: 0.000303
count total (s) self (s)
" Vim syntax file
" Language: Ruby
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2009 Dec 2
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" ----------------------------------------------------------------------------
"
" Previous Maintainer: Mirko Nasato
" Thanks to perl.vim authors, and to Reimer Behrends. :-) (MN)
" ----------------------------------------------------------------------------
6 0.000117 if exists("b:current_syntax")
6 0.000034 finish
SCRIPT /usr/local/Cellar/macvim/7.3-65/MacVim.app/Contents/Resources/vim/runtime/syntax/xhtml.vim
Sourced 2 times
Total time: 1.707468
Self time: 0.002604
count total (s) self (s)
" Vim syntax file
" Language: XHTML
" Maintainer: noone
" Last Change: 2003 Feb 04
" Load the HTML syntax for now.
2 0.001939 runtime! syntax/html.vim
2 0.000020 let b:current_syntax = "xhtml"
" vim: ts=8
SCRIPT /usr/local/Cellar/macvim/7.3-65/MacVim.app/Contents/Resources/vim/runtime/syntax/html.vim
Sourced 2 times
Total time: 1.694733
Self time: 0.021924
count total (s) self (s)
" Vim syntax file
" Language: HTML
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
" URL: http://www.fleiner.com/vim/syntax/html.vim
" Last Change: 2006 Jun 19
" Please check :help html.vim for some comments and a description of the options
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
2 0.000034 if !exists("main_syntax")
2 0.000014 if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
2 0.000033 let main_syntax = 'html'
2 0.000007 endif
" don't use standard HiLink, it will not work with included syntax files
2 0.000008 if version < 508
command! -nargs=+ HtmlHiLink hi link <args>
else
2 0.000064 command! -nargs=+ HtmlHiLink hi def link <args>
2 0.000008 endif
2 0.000013 syntax spell toplevel
2 0.000007 syn case ignore
" mark illegal characters
2 0.000043 syn match htmlError "[<>&]"
" tags
2 0.000109 syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc
2 0.000089 syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc
2 0.000075 syn match htmlValue contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1 contains=javaScriptExpression,@htmlPreproc
2 0.000107 syn region htmlEndTag start=+</+ end=+>+ contains=htmlTagN,htmlTagError
2 0.000236 syn region htmlTag start=+<[^/]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster
2 0.000109 syn match htmlTagN contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster
2 0.000098 syn match htmlTagN contained +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster
2 0.000029 syn match htmlTagError contained "[^>]<"ms=s+1
" tag names
2 0.000042 syn keyword htmlTagName contained address applet area a base basefont
2 0.000038 syn keyword htmlTagName contained big blockquote br caption center
2 0.000046 syn keyword htmlTagName contained cite code dd dfn dir div dl dt font
2 0.000028 syn keyword htmlTagName contained form hr html img
2 0.000030 syn keyword htmlTagName contained input isindex kbd li link map menu
2 0.000033 syn keyword htmlTagName contained meta ol option param pre p samp span
2 0.000051 syn keyword htmlTagName contained select small strike sub sup
2 0.000065 syn keyword htmlTagName contained table td textarea th tr tt ul var xmp
2 0.000059 syn match htmlTagName contained "\<\(b\|i\|u\|h[1-6]\|em\|strong\|head\|body\|title\)\>"
" new html 4.0 tags
2 0.000037 syn keyword htmlTagName contained abbr acronym bdo button col label
2 0.000039 syn keyword htmlTagName contained colgroup del fieldset iframe ins legend
2 0.000033 syn keyword htmlTagName contained object optgroup q s tbody tfoot thead
" legal arg names
2 0.000020 syn keyword htmlArg contained action
2 0.000036 syn keyword htmlArg contained align alink alt archive background bgcolor
2 0.000036 syn keyword htmlArg contained border bordercolor cellpadding
2 0.000048 syn keyword htmlArg contained cellspacing checked class clear code codebase color
2 0.000044 syn keyword htmlArg contained cols colspan content coords enctype face
2 0.000047 syn keyword htmlArg contained gutter height hspace id
2 0.000040 syn keyword htmlArg contained link lowsrc marginheight
2 0.000038 syn keyword htmlArg contained marginwidth maxlength method name prompt
2 0.000034 syn keyword htmlArg contained rel rev rows rowspan scrolling selected shape
2 0.000038 syn keyword htmlArg contained size src start target text type url
2 0.000041 syn keyword htmlArg contained usemap ismap valign value vlink vspace width wrap
2 0.000044 syn match htmlArg contained "\<\(http-equiv\|href\|title\)="me=e-1
" Netscape extensions
2 0.000031 syn keyword htmlTagName contained frame noframes frameset nobr blink
2 0.000027 syn keyword htmlTagName contained layer ilayer nolayer spacer
2 0.000030 syn keyword htmlArg contained frameborder noresize pagex pagey above below
2 0.000030 syn keyword htmlArg contained left top visibility clip id noshade
2 0.000028 syn match htmlArg contained "\<z-index\>"
" Microsoft extensions
2 0.000020 syn keyword htmlTagName contained marquee
" html 4.0 arg names
2 0.000035 syn match htmlArg contained "\<\(accept-charset\|label\)\>"
2 0.000033 syn keyword htmlArg contained abbr accept accesskey axis char charoff charset
2 0.000057 syn keyword htmlArg contained cite classid codetype compact data datetime
2 0.000031 syn keyword htmlArg contained declare defer dir disabled for frame
2 0.000034 syn keyword htmlArg contained headers hreflang lang language longdesc
2 0.000172 syn keyword htmlArg contained multiple nohref nowrap object profile readonly
2 0.000103 syn keyword htmlArg contained rules scheme scope span standby style
2 0.000079 syn keyword htmlArg contained summary tabindex valuetype version
" special characters
2 0.000044 syn match htmlSpecialChar "&#\=[0-9A-Za-z]\{1,8};"
" Comments (the real ones or the old netscape ones)
2 0.000022 if exists("html_wrong_comments")
syn region htmlComment start=+<!--+ end=+--\s*>+
else
2 0.000085 syn region htmlComment start=+<!+ end=+>+ contains=htmlCommentPart,htmlCommentError
2 0.000027 syn match htmlCommentError contained "[^><!]"
2 0.000042 syn region htmlCommentPart contained start=+--+ end=+--\s*+ contains=@htmlPreProc
2 0.000007 endif
2 0.000036 syn region htmlComment start=+<!DOCTYPE+ keepend end=+>+
" server-parsed commands
2 0.000102 syn region htmlPreProc start=+<!--#+ end=+-->+ contains=htmlPreStmt,htmlPreError,htmlPreAttr
2 0.000069 syn match htmlPreStmt contained "<!--#\(config\|echo\|exec\|fsize\|flastmod\|include\|printenv\|set\|if\|elif\|else\|endif\|geoguide\)\>"
2 0.000038 syn match htmlPreError contained "<!--#\S*"ms=s+4
2 0.000081 syn match htmlPreAttr contained "\w\+=[^"]\S\+" contains=htmlPreProcAttrError,htmlPreProcAttrName
2 0.000071 syn region htmlPreAttr contained start=+\w\+="+ skip=+\\\\\|\\"+ end=+"+ contains=htmlPreProcAttrName keepend
2 0.000027 syn match htmlPreProcAttrError contained "\w\+="he=e-1
2 0.000055 syn match htmlPreProcAttrName contained "\(expr\|errmsg\|sizefmt\|timefmt\|var\|cgi\|cmd\|file\|virtual\|value\)="he=e-1
2 0.000019 if !exists("html_no_rendering")
" rendering
syn cluster htmlTop contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,@htmlPreproc
syn region htmlBold start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
syn region htmlBold start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
syn region htmlBoldUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlBoldUnderlineItalic
syn region htmlBoldItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop,htmlBoldItalicUnderline
syn region htmlBoldItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop,htmlBoldItalicUnderline
syn region htmlBoldUnderlineItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop
syn region htmlBoldUnderlineItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop
syn region htmlBoldItalicUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlBoldUnderlineItalic
syn region htmlUnderline start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlUnderlineBold,htmlUnderlineItalic
syn region htmlUnderlineBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlUnderlineBoldItalic
syn region htmlUnderlineBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlUnderlineBoldItalic
syn region htmlUnderlineItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop,htmlUnderlineItalicBold
syn region htmlUnderlineItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop,htmlUnderlineItalicBold
syn region htmlUnderlineItalicBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop
syn region htmlUnderlineItalicBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop
syn region htmlUnderlineBoldItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop
syn region htmlUnderlineBoldItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop
syn region htmlItalic start="<i\>" end="</i>"me=e-4 contains=@htmlTop,htmlItalicBold,htmlItalicUnderline
syn region htmlItalic start="<em\>" end="</em>"me=e-5 contains=@htmlTop
syn region htmlItalicBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlItalicBoldUnderline
syn region htmlItalicBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlItalicBoldUnderline
syn region htmlItalicBoldUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop
syn region htmlItalicUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlItalicUnderlineBold
syn region htmlItalicUnderlineBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop
syn region htmlItalicUnderlineBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop
syn region htmlLink start="<a\>\_[^>]*\<href\>" end="</a>"me=e-4 contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc
syn region htmlH1 start="<h1\>" end="</h1>"me=e-5 contains=@htmlTop
syn region htmlH2 start="<h2\>" end="</h2>"me=e-5 contains=@htmlTop
syn region htmlH3 start="<h3\>" end="</h3>"me=e-5 contains=@htmlTop
syn region htmlH4 start="<h4\>" end="</h4>"me=e-5 contains=@htmlTop
syn region htmlH5 start="<h5\>" end="</h5>"me=e-5 contains=@htmlTop
syn region htmlH6 start="<h6\>" end="</h6>"me=e-5 contains=@htmlTop
syn region htmlHead start="<head\>" end="</head>"me=e-7 end="<body\>"me=e-5 end="<h[1-6]\>"me=e-3 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,htmlTitle,javaScript,cssStyle,@htmlPreproc
syn region htmlTitle start="<title\>" end="</title>"me=e-8 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc
endif
2 0.000045 syn keyword htmlTagName contained noscript
2 0.000044 syn keyword htmlSpecialTagName contained script style
2 0.000021 if main_syntax != 'java' || exists("java_javascript")
" JAVA SCRIPT
2 0.000715 syn include @htmlJavaScript syntax/javascript.vim
2 0.000015 unlet b:current_syntax
2 0.000114 syn region javaScript start=+<script[^>]*>+ keepend end=+</script>+me=s-1 contains=@htmlJavaScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc
2 0.000173 syn region htmlScriptTag contained start=+<script+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent
2 0.000048 HtmlHiLink htmlScriptTag htmlTag
" html events (i.e. arguments that include javascript commands)
2 0.000021 if exists("html_extended_events")
syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*'+ end=+'+ contains=htmlEventSQ
syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*"+ end=+"+ contains=htmlEventDQ
else
2 0.000059 syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*'+ end=+'+ keepend contains=htmlEventSQ
2 0.000058 syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*"+ end=+"+ keepend contains=htmlEventDQ
2 0.000006 endif
2 0.000038 syn region htmlEventSQ contained start=+'+ms=s+1 end=+'+me=s-1 contains=@htmlJavaScript
2 0.000035 syn region htmlEventDQ contained start=+"+ms=s+1 end=+"+me=s-1 contains=@htmlJavaScript
2 0.000033 HtmlHiLink htmlEventSQ htmlEvent
2 0.000030 HtmlHiLink htmlEventDQ htmlEvent
" a javascript expression is used as an arg value
2 0.000074 syn region javaScriptExpression contained start=+&{+ keepend end=+};+ contains=@htmlJavaScript,@htmlPreproc
2 0.000008 endif
2 0.000018 if main_syntax != 'java' || exists("java_vb")
" VB SCRIPT
2 0.001874 syn include @htmlVbScript syntax/vb.vim
2 0.000024 unlet b:current_syntax
2 0.000180 syn region javaScript start=+<script [^>]*language *=[^>]*vbscript[^>]*>+ keepend end=+</script>+me=s-1 contains=@htmlVbScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc
2 0.000009 endif
2 0.000039 syn cluster htmlJavaScript add=@htmlPreproc
2 0.000029 if main_syntax != 'java' || exists("java_css")
" embedded style sheets
2 0.000102 syn keyword htmlArg contained media
2 0.002131 syn include @htmlCss syntax/css.vim
2 0.000031 unlet b:current_syntax
2 0.000271 syn region cssStyle start=+<style+ keepend end=+</style>+ contains=@htmlCss,htmlTag,htmlEndTag,htmlCssStyleComment,@htmlPreproc
2 0.000042 syn match htmlCssStyleComment contained "\(<!--\|-->\)"
2 0.004345 syn region htmlCssDefinition matchgroup=htmlArg start='style="' keepend matchgroup=htmlString end='"' contains=css.*Attr,css.*Prop,cssComment,cssLength,cssColor,cssURL,cssImportant,cssError,cssString,@htmlPreproc
2 0.000062 HtmlHiLink htmlStyleArg htmlString
2 0.000007 endif
2 0.000026 if main_syntax == "html"
" synchronizing (does not always work if a comment includes legal
" html tags, but doing it right would mean to always start
" at the first line, which is too slow)
2 0.000075 syn sync match htmlHighlight groupthere NONE "<[/a-zA-Z]"
2 0.000048 syn sync match htmlHighlight groupthere javaScript "<script"
2 0.000041 syn sync match htmlHighlightSkip "^.*['\"].*$"
2 0.000015 syn sync minlines=10
2 0.000007 endif
" The default highlighting.
2 0.000023 if version >= 508 || !exists("did_html_syn_inits")
2 0.000012 if version < 508
let did_html_syn_inits = 1
endif
2 0.000096 HtmlHiLink htmlTag Function
2 0.000076 HtmlHiLink htmlEndTag Identifier
2 0.000052 HtmlHiLink htmlArg Type
2 0.000046 HtmlHiLink htmlTagName htmlStatement
2 0.000049 HtmlHiLink htmlSpecialTagName Exception
2 0.000047 HtmlHiLink htmlValue String
2 0.000049 HtmlHiLink htmlSpecialChar Special
2 0.000024 if !exists("html_no_rendering")
HtmlHiLink htmlH1 Title
HtmlHiLink htmlH2 htmlH1
HtmlHiLink htmlH3 htmlH2
HtmlHiLink htmlH4 htmlH3
HtmlHiLink htmlH5 htmlH4
HtmlHiLink htmlH6 htmlH5
HtmlHiLink htmlHead PreProc
HtmlHiLink htmlTitle Title
HtmlHiLink htmlBoldItalicUnderline htmlBoldUnderlineItalic
HtmlHiLink htmlUnderlineBold htmlBoldUnderline
HtmlHiLink htmlUnderlineItalicBold htmlBoldUnderlineItalic
HtmlHiLink htmlUnderlineBoldItalic htmlBoldUnderlineItalic
HtmlHiLink htmlItalicUnderline htmlUnderlineItalic
HtmlHiLink htmlItalicBold htmlBoldItalic
HtmlHiLink htmlItalicBoldUnderline htmlBoldUnderlineItalic
HtmlHiLink htmlItalicUnderlineBold htmlBoldUnderlineItalic
HtmlHiLink htmlLink Underlined
if !exists("html_my_rendering")
hi def htmlBold term=bold cterm=bold gui=bold
hi def htmlBoldUnderline term=bold,underline cterm=bold,underline gui=bold,underline
hi def htmlBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic
hi def htmlBoldUnderlineItalic term=bold,italic,underline cterm=bold,italic,underline gui=bold,italic,underline
hi def htmlUnderline term=underline cterm=underline gui=underline
hi def htmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline
hi def htmlItalic term=italic cterm=italic gui=italic
endif
endif
2 0.000052 HtmlHiLink htmlPreStmt PreProc
2 0.000049 HtmlHiLink htmlPreError Error
2 0.000047 HtmlHiLink htmlPreProc PreProc
2 0.000047 HtmlHiLink htmlPreAttr String
2 0.000048 HtmlHiLink htmlPreProcAttrName PreProc
2 0.000047 HtmlHiLink htmlPreProcAttrError Error
2 0.000039 HtmlHiLink htmlSpecial Special
2 0.000045 HtmlHiLink htmlSpecialChar Special
2 0.000045 HtmlHiLink htmlString String
2 0.000054 HtmlHiLink htmlStatement Statement
2 0.000046 HtmlHiLink htmlComment Comment
2 0.000045 HtmlHiLink htmlCommentPart Comment
2 0.000053 HtmlHiLink htmlValue String
2 0.000041 HtmlHiLink htmlCommentError htmlError
2 0.000034 HtmlHiLink htmlTagError htmlError
2 0.000034 HtmlHiLink htmlEvent javaScript
2 0.000053 HtmlHiLink htmlError Error
2 0.000047 HtmlHiLink javaScript Special
2 0.000035 HtmlHiLink javaScriptExpression javaScript
2 0.000044 HtmlHiLink htmlCssStyleComment Comment
2 0.000047 HtmlHiLink htmlCssDefinition Special
2 0.000005 endif
2 0.000011 delcommand HtmlHiLink
2 0.000019 let b:current_syntax = "html"
2 0.000013 if main_syntax == 'html'
2 0.000013 unlet main_syntax
2 0.000005 endif
" vim: ts=8
SCRIPT /Users/yangkit/.vim/janus/vim/langs/javascript/syntax/javascript.vim
Sourced 4 times
Total time: 0.009624
Self time: 0.009624
count total (s) self (s)
" Vim syntax file
" Language: JavaScript
" Maintainer: Yi Zhao (ZHAOYI) <zzlinux AT hotmail DOT com>
" Last Change By: Marc Harter
" Last Change: February 18, 2011
" Version: 0.7.9
" Changes: Updates JSDoc syntax
"
" TODO:
" - Add the HTML syntax inside the JSDoc
4 0.000057 if !exists("main_syntax")
2 0.000014 if version < 600
syntax clear
elseif exists("b:current_syntax")
2 0.000009 finish
endif
let main_syntax = 'javascript'
endif
"" Drop fold if it is set but VIM doesn't support it.
2 0.000016 let b:javascript_fold='true'
2 0.000009 if version < 600 " Don't support the old version
unlet! b:javascript_fold
endif
"" dollar sign is permittd anywhere in an identifier
2 0.000260 setlocal iskeyword+=$
2 0.000016 syntax sync fromstart
"" JavaScript comments
2 0.000124 syntax keyword javaScriptCommentTodo TODO FIXME XXX TBD contained
2 0.000083 syntax region javaScriptLineComment start=+\/\/+ end=+$+ keepend contains=javaScriptCommentTodo,@Spell
2 0.000059 syntax region javaScriptEnvComment start="\%^#!" end="$" display
2 0.000084 syntax region javaScriptLineComment start=+^\s*\/\/+ skip=+\n\s*\/\/+ end=+$+ keepend contains=javaScriptCommentTodo,@Spell fold
2 0.000039 syntax region javaScriptCvsTag start="\$\cid:" end="\$" oneline contained
2 0.000099 syntax region javaScriptComment start="/\*" end="\*/" contains=javaScriptCommentTodo,javaScriptCvsTag,@Spell fold
"" JSDoc / JSDoc Toolkit
2 0.000023 if !exists("javascript_ignore_javaScriptdoc")
2 0.000008 syntax case ignore
"" syntax coloring for javadoc comments (HTML)
"syntax include @javaHtml <sfile>:p:h/html.vim
"unlet b:current_syntax
2 0.000145 syntax region javaScriptDocComment matchgroup=javaScriptComment start="/\*\*\s*" end="\*/" contains=javaScriptDocTags,javaScriptCommentTodo,javaScriptCvsTag,@javaScriptHtml,@Spell fold
" tags containing a param
2 0.000133 syntax match javaScriptDocTags contained "@\(augments\|base\|borrows\|class\|constructs\|default\|exception\|exports\|extends\|file\|member\|memberOf\|methodOf\|module\|name\|namespace\|optional\|requires\|title\|throws\|version\)\>" nextgroup=javaScriptDocParam skipwhite
" tags containing type and param
2 0.000058 syntax match javaScriptDocTags contained "@\(argument\|param\|property\)\>" nextgroup=javaScriptDocType skipwhite
" tags containing type but no param
2 0.000058 syntax match javaScriptDocTags contained "@\(type\|return\|returns\|api\)\>" nextgroup=javaScriptDocTypeNoParam skipwhite
" tags containing references
2 0.000054 syntax match javaScriptDocTags contained "@\(lends\|link\|see\)\>" nextgroup=javaScriptDocSeeTag skipwhite
" other tags (no extra syntax)
2 0.000151 syntax match javaScriptDocTags contained "@\(access\|addon\|alias\|author\|beta\|constant\|const\|constructor\|copyright\|deprecated\|description\|event\|example\|exec\|field\|fileOverview\|fileoverview\|function\|global\|ignore\|inner\|license\|overview\|private\|protected\|project\|public\|readonly\|since\|static\)\>"
2 0.000056 syntax region javaScriptDocType start="{" end="}" oneline contained nextgroup=javaScriptDocParam skipwhite
2 0.000063 syntax match javaScriptDocType contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+" nextgroup=javaScriptDocParam skipwhite
2 0.000043 syntax region javaScriptDocTypeNoParam start="{" end="}" oneline contained
2 0.000036 syntax match javaScriptDocTypeNoParam contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+"
2 0.000040 syntax match javaScriptDocParam contained "\%(#\|\"\|{\|}\|\w\|\.\|:\|\/\)\+"
2 0.000062 syntax region javaScriptDocSeeTag contained matchgroup=javaScriptDocSeeTag start="{" end="}" contains=javaScriptDocTags
2 0.000008 syntax case match
2 0.000006 endif "" JSDoc end
2 0.000006 syntax case match
"" Syntax in the JavaScript code
2 0.000047 syntax match javaScriptSpecial "\\\d\d\d\|\\x\x\{2\}\|\\u\x\{4\}\|\\."
2 0.000076 syntax region javaScriptStringD start=+"+ skip=+\\\\\|\\$"+ end=+"+ contains=javaScriptSpecial,@htmlPreproc
2 0.000095 syntax region javaScriptStringS start=+'+ skip=+\\\\\|\\$'+ end=+'+ contains=javaScriptSpecial,@htmlPreproc
2 0.000061 syntax region javaScriptRegexpCharClass start=+\[+ end=+\]+ contained
2 0.000165 syntax region javaScriptRegexpString start=+\(\(\(return\|case\)\s\+\)\@<=\|\(\([)\]"']\|\d\|\w\)\s*\)\@<!\)/\(\*\|/\)\@!+ skip=+\\\\\|\\/+ end=+/[gimy]\{,4}+ contains=javaScriptSpecial,javaScriptRegexpCharClass,@htmlPreproc oneline
2 0.000055 syntax match javaScriptNumber /\<-\=\d\+L\=\>\|\<0[xX]\x\+\>/
2 0.000055 syntax match javaScriptFloat /\<-\=\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\>/
2 0.000035 syntax match javaScriptLabel /\<\w\+\(\s*:\)\@=/
"" JavaScript Prototype
2 0.000023 syntax keyword javaScriptPrototype prototype
"" Program Keywords
2 0.000023 syntax keyword javaScriptSource import export
2 0.000038 syntax keyword javaScriptType const undefined var void yield
2 0.000030 syntax keyword javaScriptOperator delete new in instanceof let typeof
2 0.000023 syntax keyword javaScriptBoolean true false
2 0.000031 syntax keyword javaScriptNull null
2 0.000021 syntax keyword javaScriptThis this
"" Statement Keywords
2 0.000022 syntax keyword javaScriptConditional if else
2 0.000024 syntax keyword javaScriptRepeat do while for
2 0.000029 syntax keyword javaScriptBranch break continue switch case default return
2 0.000035 syntax keyword javaScriptStatement try catch throw with finally
2 0.000057 syntax keyword javaScriptGlobalObjects Array Boolean Date Function Infinity JavaArray JavaClass JavaObject JavaPackage Math Number NaN Object Packages RegExp String Undefined java netscape sun
2 0.000035 syntax keyword javaScriptExceptions Error EvalError RangeError ReferenceError SyntaxError TypeError URIError
2 0.000076 syntax keyword javaScriptFutureKeys abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws goto private transient debugger implements protected volatile double import public
"" DOM/HTML/CSS specified things
" DOM2 Objects
2 0.000056 syntax keyword javaScriptGlobalObjects DOMImplementation DocumentFragment Document Node NodeList NamedNodeMap CharacterData Attr Element Text Comment CDATASection DocumentType Notation Entity EntityReference ProcessingInstruction
2 0.000024 syntax keyword javaScriptExceptions DOMException
" DOM2 CONSTANT
2 0.000053 syntax keyword javaScriptDomErrNo INDEX_SIZE_ERR DOMSTRING_SIZE_ERR HIERARCHY_REQUEST_ERR WRONG_DOCUMENT_ERR INVALID_CHARACTER_ERR NO_DATA_ALLOWED_ERR NO_MODIFICATION_ALLOWED_ERR NOT_FOUND_ERR NOT_SUPPORTED_ERR INUSE_ATTRIBUTE_ERR INVALID_STATE_ERR SYNTAX_ERR INVALID_MODIFICATION_ERR NAMESPACE_ERR INVALID_ACCESS_ERR
2 0.000044 syntax keyword javaScriptDomNodeConsts ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE CDATA_SECTION_NODE ENTITY_REFERENCE_NODE ENTITY_NODE PROCESSING_INSTRUCTION_NODE COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE DOCUMENT_FRAGMENT_NODE NOTATION_NODE
" HTML events and internal variables
2 0.000008 syntax case ignore
2 0.000243 syntax keyword javaScriptHtmlEvents onblur onclick oncontextmenu ondblclick onfocus onkeydown onkeypress onkeyup onmousedown onmousemove onmouseout onmouseover onmouseup onresize
2 0.000009 syntax case match
" Follow stuff should be highligh within a special context
" While it can't be handled with context depended with Regex based highlight
" So, turn it off by default
2 0.000020 if exists("javascript_enable_domhtmlcss")
" DOM2 things
syntax match javaScriptDomElemAttrs contained /\%(nodeName\|nodeValue\|nodeType\|parentNode\|childNodes\|firstChild\|lastChild\|previousSibling\|nextSibling\|attributes\|ownerDocument\|namespaceURI\|prefix\|localName\|tagName\)\>/
syntax match javaScriptDomElemFuncs contained /\%(insertBefore\|replaceChild\|removeChild\|appendChild\|hasChildNodes\|cloneNode\|normalize\|isSupported\|hasAttributes\|getAttribute\|setAttribute\|removeAttribute\|getAttributeNode\|setAttributeNode\|removeAttributeNode\|getElementsByTagName\|getAttributeNS\|setAttributeNS\|removeAttributeNS\|getAttributeNodeNS\|setAttributeNodeNS\|getElementsByTagNameNS\|hasAttribute\|hasAttributeNS\)\>/ nextgroup=javaScriptParen skipwhite
" HTML things
syntax match javaScriptHtmlElemAttrs contained /\%(className\|clientHeight\|clientLeft\|clientTop\|clientWidth\|dir\|id\|innerHTML\|lang\|length\|offsetHeight\|offsetLeft\|offsetParent\|offsetTop\|offsetWidth\|scrollHeight\|scrollLeft\|scrollTop\|scrollWidth\|style\|tabIndex\|title\)\>/
syntax match javaScriptHtmlElemFuncs contained /\%(blur\|click\|focus\|scrollIntoView\|addEventListener\|dispatchEvent\|removeEventListener\|item\)\>/ nextgroup=javaScriptParen skipwhite
" CSS Styles in JavaScript
syntax keyword javaScriptCssStyles contained color font fontFamily fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontWeight letterSpacing lineBreak lineHeight quotes rubyAlign rubyOverhang rubyPosition
syntax keyword javaScriptCssStyles contained textAlign textAlignLast textAutospace textDecoration textIndent textJustify textJustifyTrim textKashidaSpace textOverflowW6 textShadow textTransform textUnderlinePosition
syntax keyword javaScriptCssStyles contained unicodeBidi whiteSpace wordBreak wordSpacing wordWrap writingMode
syntax keyword javaScriptCssStyles contained bottom height left position right top width zIndex
syntax keyword javaScriptCssStyles contained border borderBottom borderLeft borderRight borderTop borderBottomColor borderLeftColor borderTopColor borderBottomStyle borderLeftStyle borderRightStyle borderTopStyle borderBottomWidth borderLeftWidth borderRightWidth borderTopWidth borderColor borderStyle borderWidth borderCollapse borderSpacing captionSide emptyCells tableLayout
syntax keyword javaScriptCssStyles contained margin marginBottom marginLeft marginRight marginTop outline outlineColor outlineStyle outlineWidth padding paddingBottom paddingLeft paddingRight paddingTop
syntax keyword javaScriptCssStyles contained listStyle listStyleImage listStylePosition listStyleType
syntax keyword javaScriptCssStyles contained background backgroundAttachment backgroundColor backgroundImage gackgroundPosition backgroundPositionX backgroundPositionY backgroundRepeat
syntax keyword javaScriptCssStyles contained clear clip clipBottom clipLeft clipRight clipTop content counterIncrement counterReset cssFloat cursor direction display filter layoutGrid layoutGridChar layoutGridLine layoutGridMode layoutGridType
syntax keyword javaScriptCssStyles contained marks maxHeight maxWidth minHeight minWidth opacity MozOpacity overflow overflowX overflowY verticalAlign visibility zoom cssText
syntax keyword javaScriptCssStyles contained scrollbar3dLightColor scrollbarArrowColor scrollbarBaseColor scrollbarDarkShadowColor scrollbarFaceColor scrollbarHighlightColor scrollbarShadowColor scrollbarTrackColor
" Highlight ways
syntax match javaScriptDotNotation "\." nextgroup=javaScriptPrototype,javaScriptDomElemAttrs,javaScriptDomElemFuncs,javaScriptHtmlElemAttrs,javaScriptHtmlElemFuncs
syntax match javaScriptDotNotation "\.style\." nextgroup=javaScriptCssStyles
endif "DOM/HTML/CSS
"" end DOM/HTML/CSS specified things
"" Code blocks
" there is a name collision with javaScriptExpression in html.vim, hence the use of the '2' here
2 0.000676 syntax cluster javaScriptExpression2 contains=javaScriptComment,javaScriptLineComment,javaScriptDocComment,javaScriptStringD,javaScriptStringS,javaScriptRegexpString,javaScriptNumber,javaScriptFloat,javaScriptSource,javaScriptThis,javaScriptType,javaScriptOperator,javaScriptBoolean,javaScriptNull,javaScriptFunction,javaScriptGlobalObjects,javaScriptExceptions,javaScriptFutureKeys,javaScriptDomErrNo,javaScriptDomNodeConsts,javaScriptHtmlEvents,javaScriptDotNotation,javaScriptBracket,javaScriptParen,javaScriptBlock,javaScriptParenError
2 0.000144 syntax cluster javaScriptAll contains=@javaScriptExpression2,javaScriptLabel,javaScriptConditional,javaScriptRepeat,javaScriptBranch,javaScriptStatement,javaScriptTernaryIf
2 0.000179 syntax region javaScriptBracket matchgroup=javaScriptBracket transparent start="\[" end="\]" contains=@javaScriptAll,javaScriptParensErrB,javaScriptParensErrC,javaScriptBracket,javaScriptParen,javaScriptBlock,@htmlPreproc
2 0.000155 syntax region javaScriptParen matchgroup=javaScriptParen transparent start="(" end=")" contains=@javaScriptAll,javaScriptParensErrA,javaScriptParensErrC,javaScriptParen,javaScriptBracket,javaScriptBlock,@htmlPreproc
2 0.000184 syntax region javaScriptBlock matchgroup=javaScriptBlock transparent start="{" end="}" contains=@javaScriptAll,javaScriptParensErrA,javaScriptParensErrB,javaScriptParen,javaScriptBracket,javaScriptBlock,@htmlPreproc
2 0.000074 syntax region javaScriptTernaryIf matchgroup=javaScriptTernaryIfOperator start=+?+ end=+:+ contains=@javaScriptExpression2
"" catch errors caused by wrong parenthesis
2 0.000044 syntax match javaScriptParensError ")\|}\|\]"
2 0.000032 syntax match javaScriptParensErrA contained "\]"
2 0.000021 syntax match javaScriptParensErrB contained ")"
2 0.000020 syntax match javaScriptParensErrC contained "}"
2 0.000016 if main_syntax == "javascript"
syntax sync clear
syntax sync ccomment javaScriptComment minlines=200
syntax sync match javaScriptHighlight grouphere javaScriptBlock /{/
endif
"" Fold control
2 0.000018 if exists("b:javascript_fold")
2 0.000078 syntax match javaScriptFunction /\<function\>/ nextgroup=javaScriptFuncName skipwhite
2 0.000062 syntax match javaScriptOpAssign /=\@<!=/ nextgroup=javaScriptFuncBlock skipwhite skipempty
2 0.000155 syntax region javaScriptFuncName contained matchgroup=javaScriptFuncName start=/\%(\$\|\w\)*\s*(/ end=/)/ contains=javaScriptLineComment,javaScriptComment nextgroup=javaScriptFuncBlock skipwhite skipempty
2 0.000147 syntax region javaScriptFuncBlock contained matchgroup=javaScriptFuncBlock start="{" end="}" contains=@javaScriptAll,javaScriptParensErrA,javaScriptParensErrB,javaScriptParen,javaScriptBracket,javaScriptBlock fold
2 0.000006 else
syntax keyword javaScriptFunction function
endif
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
2 0.000014 if version >= 508 || !exists("did_javascript_syn_inits")
2 0.000008 if version < 508
let did_javascript_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
2 0.000031 command -nargs=+ HiLink hi def link <args>
2 0.000004 endif
2 0.000076 HiLink javaScriptComment Comment
2 0.000050 HiLink javaScriptLineComment Comment
2 0.000045 HiLink javaScriptEnvComment PreProc
2 0.000044 HiLink javaScriptDocComment Comment
2 0.000047 HiLink javaScriptCommentTodo Todo
2 0.000055 HiLink javaScriptCvsTag Function
2 0.000045 HiLink javaScriptDocTags Special
2 0.000044 HiLink javaScriptDocSeeTag Function
2 0.000050 HiLink javaScriptDocType Type
2 0.000048 HiLink javaScriptDocTypeNoParam Type
2 0.000046 HiLink javaScriptDocParam Label
2 0.000044 HiLink javaScriptStringS String
2 0.000043 HiLink javaScriptStringD String
2 0.000043 HiLink javaScriptTernaryIfOperator Conditional
2 0.000052 HiLink javaScriptRegexpString String
2 0.000044 HiLink javaScriptRegexpCharClass Character
2 0.000042 HiLink javaScriptCharacter Character
2 0.000044 HiLink javaScriptPrototype Type
2 0.000044 HiLink javaScriptConditional Conditional
2 0.000042 HiLink javaScriptBranch Conditional
2 0.000042 HiLink javaScriptRepeat Repeat
2 0.000043 HiLink javaScriptStatement Statement
2 0.000041 HiLink javaScriptFunction Function
2 0.000041 HiLink javaScriptError Error
2 0.000041 HiLink javaScriptParensError Error
2 0.000042 HiLink javaScriptParensErrA Error
2 0.000042 HiLink javaScriptParensErrB Error
2 0.000040 HiLink javaScriptParensErrC Error
2 0.000042 HiLink javaScriptOperator Operator
2 0.000053 HiLink javaScriptType Type
2 0.000043 HiLink javaScriptThis Type
2 0.000051 HiLink javaScriptNull Type
2 0.000052 HiLink javaScriptNumber Number
2 0.000043 HiLink javaScriptFloat Number
2 0.000042 HiLink javaScriptBoolean Boolean
2 0.000042 HiLink javaScriptLabel Label
2 0.000043 HiLink javaScriptSpecial Special
2 0.000041 HiLink javaScriptSource Special
2 0.000087 HiLink javaScriptGlobalObjects Special
2 0.000065 HiLink javaScriptExceptions Special
2 0.000045 HiLink javaScriptDomErrNo Constant
2 0.000043 HiLink javaScriptDomNodeConsts Constant
2 0.000042 HiLink javaScriptDomElemAttrs Label
2 0.000042 HiLink javaScriptDomElemFuncs PreProc
2 0.000066 HiLink javaScriptHtmlEvents Special
2 0.000045 HiLink javaScriptHtmlElemAttrs Label
2 0.000042 HiLink javaScriptHtmlElemFuncs PreProc
2 0.000046 HiLink javaScriptCssStyles Label
2 0.000011 delcommand HiLink
2 0.000004 endif
" Define the htmlJavaScript for HTML syntax html.vim
"syntax clear htmlJavaScript
"syntax clear javaScriptExpression
2 0.000103 syntax cluster htmlJavaScript contains=@javaScriptAll,javaScriptBracket,javaScriptParen,javaScriptBlock,javaScriptParenError
2 0.000121 syntax cluster javaScriptExpression contains=@javaScriptAll,javaScriptBracket,javaScriptParen,javaScriptBlock,javaScriptParenError,@htmlPreproc
" Vim's default html.vim highlights all javascript as 'Special'
2 0.000042 hi! def link javaScript NONE
2 0.000024 let b:current_syntax = "javascript"
2 0.000018 if main_syntax == 'javascript'
unlet main_syntax
endif
" vim: ts=4
SCRIPT /usr/local/Cellar/macvim/7.3-65/MacVim.app/Contents/Resources/vim/runtime/syntax/javascript.vim
Sourced 4 times
Total time: 0.003483
Self time: 0.003483
count total (s) self (s)
" Vim syntax file
" Language: JavaScript
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
" Updaters: Scott Shattuck (ss) <ss@technicalpursuit.com>
" URL: http://www.fleiner.com/vim/syntax/javascript.vim
" Changes: (ss) added keywords, reserved words, and other identifiers
" (ss) repaired several quoting and grouping glitches
" (ss) fixed regex parsing issue with multiple qualifiers [gi]
" (ss) additional factoring of keywords, globals, and members
" Last Change: 2010 Mar 25
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
" tuning parameters:
" unlet javaScript_fold
4 0.000056 if !exists("main_syntax")
2 0.000009 if version < 600
syntax clear
elseif exists("b:current_syntax")
2 0.000006 finish
endif
let main_syntax = 'javascript'
endif
" Drop fold if it set but vim doesn't support it.
2 0.000012 if version < 600 && exists("javaScript_fold")
unlet javaScript_fold
endif
2 0.000114 syn keyword javaScriptCommentTodo TODO FIXME XXX TBD contained
2 0.000090 syn match javaScriptLineComment "\/\/.*" contains=@Spell,javaScriptCommentTodo
2 0.000079 syn match javaScriptCommentSkip "^[ \t]*\*\($\|[ \t]\+\)"
2 0.000094 syn region javaScriptComment start="/\*" end="\*/" contains=@Spell,javaScriptCommentTodo
2 0.000038 syn match javaScriptSpecial "\\\d\d\d\|\\."
2 0.000079 syn region javaScriptStringD start=+"+ skip=+\\\\\|\\"+ end=+"\|$+ contains=javaScriptSpecial,@htmlPreproc
2 0.000073 syn region javaScriptStringS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ contains=javaScriptSpecial,@htmlPreproc
2 0.000031 syn match javaScriptSpecialCharacter "'\\.'"
2 0.000058 syn match javaScriptNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
2 0.000103 syn region javaScriptRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gi]\{0,2\}\s*$+ end=+/[gi]\{0,2\}\s*[;.,)\]}]+me=e-1 contains=@htmlPreproc oneline
2 0.000029 syn keyword javaScriptConditional if else switch
2 0.000027 syn keyword javaScriptRepeat while for do in
2 0.000026 syn keyword javaScriptBranch break continue
2 0.000034 syn keyword javaScriptOperator new delete instanceof typeof
2 0.000045 syn keyword javaScriptType Array Boolean Date Function Number Object String RegExp
2 0.000025 syn keyword javaScriptStatement return with
2 0.000024 syn keyword javaScriptBoolean true false
2 0.000033 syn keyword javaScriptNull null undefined
2 0.000026 syn keyword javaScriptIdentifier arguments this var let
2 0.000024 syn keyword javaScriptLabel case default
2 0.000025 syn keyword javaScriptException try catch finally throw
2 0.000025 syn keyword javaScriptMessage alert confirm prompt status
2 0.000024 syn keyword javaScriptGlobal self window top parent
2 0.000024 syn keyword javaScriptMember document event location
2 0.000030 syn keyword javaScriptDeprecated escape unescape
2 0.000079 syn keyword javaScriptReserved abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile
2 0.000024 if exists("javaScript_fold")
syn match javaScriptFunction "\<function\>"
syn region javaScriptFunctionFold start="\<function\>.*[^};]$" end="^\z1}.*$" transparent fold keepend
syn sync match javaScriptSync grouphere javaScriptFunctionFold "\<function\>"
syn sync match javaScriptSync grouphere NONE "^}"
setlocal foldmethod=syntax
setlocal foldtext=getline(v:foldstart)
else
2 0.000028 syn keyword javaScriptFunction function
2 0.000033 syn match javaScriptBraces "[{}\[\]]"
2 0.000025 syn match javaScriptParens "[()]"
2 0.000007 endif
2 0.000009 syn sync fromstart
2 0.000009 syn sync maxlines=100
2 0.000014 if main_syntax == "javascript"
syn sync ccomment javaScriptComment
endif
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
2 0.000013 if version >= 508 || !exists("did_javascript_syn_inits")
2 0.000007 if version < 508
let did_javascript_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
2 0.000032 command -nargs=+ HiLink hi def link <args>
2 0.000005 endif
2 0.000068 HiLink javaScriptComment Comment
2 0.000048 HiLink javaScriptLineComment Comment
2 0.000046 HiLink javaScriptCommentTodo Todo
2 0.000044 HiLink javaScriptSpecial Special
2 0.000072 HiLink javaScriptStringS String
2 0.000044 HiLink javaScriptStringD String
2 0.000044 HiLink javaScriptCharacter Character
2 0.000035 HiLink javaScriptSpecialCharacter javaScriptSpecial
2 0.000042 HiLink javaScriptNumber javaScriptValue
2 0.000043 HiLink javaScriptConditional Conditional
2 0.000042 HiLink javaScriptRepeat Repeat
2 0.000042 HiLink javaScriptBranch Conditional
2 0.000043 HiLink javaScriptOperator Operator
2 0.000052 HiLink javaScriptType Type
2 0.000042 HiLink javaScriptStatement Statement
2 0.000042 HiLink javaScriptFunction Function
2 0.000040 HiLink javaScriptBraces Function
2 0.000041 HiLink javaScriptError Error
2 0.000029 HiLink javaScrParenError javaScriptError
2 0.000050 HiLink javaScriptNull Keyword
2 0.000043 HiLink javaScriptBoolean Boolean
2 0.000051 HiLink javaScriptRegexpString String
2 0.000041 HiLink javaScriptIdentifier Identifier
2 0.000042 HiLink javaScriptLabel Label
2 0.000040 HiLink javaScriptException Exception
2 0.000041 HiLink javaScriptMessage Keyword
2 0.000040 HiLink javaScriptGlobal Keyword
2 0.000040 HiLink javaScriptMember Keyword
2 0.000039 HiLink javaScriptDeprecated Exception
2 0.000039 HiLink javaScriptReserved Keyword
2 0.000040 HiLink javaScriptDebug Debug
2 0.000039 HiLink javaScriptConstant Label
2 0.000008 delcommand HiLink
2 0.000004 endif
2 0.000016 let b:current_syntax = "javascript"
2 0.000014 if main_syntax == 'javascript'
unlet main_syntax
endif
" vim: ts=8
SCRIPT /usr/local/Cellar/macvim/7.3-65/MacVim.app/Contents/Resources/vim/runtime/syntax/vb.vim
Sourced 2 times
Total time: 0.019876
Self time: 0.019876
count total (s) self (s)
" Vim syntax file
" Language: Visual Basic
" Maintainer: Tim Chase <vb.vim@tim.thechases.com>
" Former Maintainer: Robert M. Cortopassi <cortopar@mindspring.com>
" (tried multiple times to contact, but email bounced)
" Last Change:
" 2005 May 25 Synched with work by Thomas Barthel
" 2004 May 30 Added a few keywords
" This was thrown together after seeing numerous requests on the
" VIM and VIM-DEV mailing lists. It is by no means complete.
" Send comments, suggestions and requests to the maintainer.
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
2 0.000025 if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" VB is case insensitive
2 0.000008 syn case ignore
2 0.000076 syn keyword vbConditional If Then ElseIf Else Select Case
2 0.000041 syn keyword vbOperator AddressOf And ByRef ByVal Eqv Imp In
2 0.000032 syn keyword vbOperator Is Like Mod Not Or To Xor
2 0.000031 syn match vbOperator "[()+.,\-/*=&]"
2 0.000027 syn match vbOperator "[<>]=\="
2 0.000022 syn match vbOperator "<>"
2 0.000024 syn match vbOperator "\s\+_$"
2 0.000023 syn keyword vbBoolean True False
2 0.000023 syn keyword vbConst Null Nothing
2 0.000027 syn keyword vbRepeat Do For ForEach Loop Next
2 0.000027 syn keyword vbRepeat Step To Until Wend While
2 0.000027 syn keyword vbEvents AccessKeyPress Activate ActiveRowChanged
2 0.000028 syn keyword vbEvents AfterAddFile AfterChangeFileName AfterCloseFile
2 0.000025 syn keyword vbEvents AfterColEdit AfterColUpdate AfterDelete
2 0.000029 syn keyword vbEvents AfterInsert AfterLabelEdit AfterRemoveFile
2 0.000035 syn keyword vbEvents AfterUpdate AfterWriteFile AmbientChanged
2 0.000035 syn keyword vbEvents ApplyChanges Associate AsyncProgress
2 0.000037 syn keyword vbEvents AsyncReadComplete AsyncReadProgress AxisActivated
2 0.000034 syn keyword vbEvents AxisLabelActivated AxisLabelSelected
2 0.000037 syn keyword vbEvents AxisLabelUpdated AxisSelected AxisTitleActivated
2 0.000035 syn keyword vbEvents AxisTitleSelected AxisTitleUpdated AxisUpdated
2 0.000044 syn keyword vbEvents BeforeClick BeforeColEdit BeforeColUpdate
2 0.000037 syn keyword vbEvents BeforeConnect BeforeDelete BeforeInsert
2 0.000034 syn keyword vbEvents BeforeLabelEdit BeforeLoadFile BeforeUpdate
2 0.000035 syn keyword vbEvents BeginRequest BeginTrans ButtonClick
2 0.000037 syn keyword vbEvents ButtonCompleted ButtonDropDown ButtonGotFocus
2 0.000041 syn keyword vbEvents ButtonLostFocus CallbackKeyDown Change Changed
2 0.000039 syn keyword vbEvents ChartActivated ChartSelected ChartUpdated Click
2 0.000042 syn keyword vbEvents Close CloseQuery CloseUp ColEdit ColResize
2 0.000041 syn keyword vbEvents Collapse ColumnClick CommitTrans Compare
2 0.000044 syn keyword vbEvents ConfigChageCancelled ConfigChanged
2 0.000039 syn keyword vbEvents ConfigChangedCancelled Connect ConnectionRequest
2 0.000033 syn keyword vbEvents CurrentRecordChanged DECommandAdded
2 0.000026 syn keyword vbEvents DECommandPropertyChanged DECommandRemoved
2 0.000026 syn keyword vbEvents DEConnectionAdded DEConnectionPropertyChanged
2 0.000026 syn keyword vbEvents DEConnectionRemoved DataArrival DataChanged
2 0.000028 syn keyword vbEvents DataUpdated DateClicked DblClick Deactivate
2 0.000026 syn keyword vbEvents DevModeChange DeviceArrival DeviceOtherEvent
2 0.000025 syn keyword vbEvents DeviceQueryRemove DeviceQueryRemoveFailed
2 0.000024 syn keyword vbEvents DeviceRemoveComplete DeviceRemovePending
2 0.000026 syn keyword vbEvents Disconnect DisplayChanged Dissociate
2 0.000036 syn keyword vbEvents DoGetNewFileName Done DonePainting DownClick
2 0.000032 syn keyword vbEvents DragDrop DragOver DropDown EditProperty EditQuery
2 0.000030 syn keyword vbEvents EndRequest EnterCell EnterFocus ExitFocus Expand
2 0.000028 syn keyword vbEvents FontChanged FootnoteActivated FootnoteSelected
2 0.000027 syn keyword vbEvents FootnoteUpdated Format FormatSize GotFocus
2 0.000026 syn keyword vbEvents HeadClick HeightChanged Hide InfoMessage
2 0.000025 syn keyword vbEvents IniProperties InitProperties Initialize
2 0.000026 syn keyword vbEvents ItemActivated ItemAdded ItemCheck ItemClick
2 0.000028 syn keyword vbEvents ItemReloaded ItemRemoved ItemRenamed
2 0.000030 syn keyword vbEvents ItemSeletected KeyDown KeyPress KeyUp LeaveCell
2 0.000026 syn keyword vbEvents LegendActivated LegendSelected LegendUpdated
2 0.000025 syn keyword vbEvents LinkClose LinkError LinkExecute LinkNotify
2 0.000027 syn keyword vbEvents LinkOpen Load LostFocus MouseDown MouseMove
2 0.000027 syn keyword vbEvents MouseUp NodeCheck NodeClick OLECompleteDrag
2 0.000052 syn keyword vbEvents OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData
2 0.000029 syn keyword vbEvents OLEStartDrag ObjectEvent ObjectMove OnAddNew
2 0.000036 syn keyword vbEvents OnComm Paint PanelClick PanelDblClick PathChange
2 0.000031 syn keyword vbEvents PatternChange PlotActivated PlotSelected
2 0.000027 syn keyword vbEvents PlotUpdated PointActivated PointLabelActivated
2 0.000028 syn keyword vbEvents PointLabelSelected PointLabelUpdated PointSelected
2 0.000025 syn keyword vbEvents PointUpdated PowerQuerySuspend PowerResume
2 0.000025 syn keyword vbEvents PowerStatusChanged PowerSuspend ProcessTag
2 0.000025 syn keyword vbEvents ProcessingTimeout QueryChangeConfig QueryClose
2 0.000027 syn keyword vbEvents QueryComplete QueryCompleted QueryTimeout
2 0.000026 syn keyword vbEvents QueryUnload ReadProperties RepeatedControlLoaded
2 0.000024 syn keyword vbEvents RepeatedControlUnloaded Reposition
2 0.000030 syn keyword vbEvents RequestChangeFileName RequestWriteFile Resize
2 0.000026 syn keyword vbEvents ResultsChanged RetainedProject RollbackTrans
2 0.000026 syn keyword vbEvents RowColChange RowCurrencyChange RowResize
2 0.000028 syn keyword vbEvents RowStatusChanged Scroll SelChange SelectionChanged
2 0.000025 syn keyword vbEvents SendComplete SendProgress SeriesActivated
2 0.000027 syn keyword vbEvents SeriesSelected SeriesUpdated SettingChanged Show
2 0.000026 syn keyword vbEvents SplitChange Start StateChanged StatusUpdate
2 0.000027 syn keyword vbEvents SysColorsChanged Terminate TimeChanged Timer
2 0.000025 syn keyword vbEvents TitleActivated TitleSelected TitleUpdated
2 0.000022 syn keyword vbEvents UnboundAddData UnboundDeleteRow
2 0.000031 syn keyword vbEvents UnboundGetRelativeBookmark UnboundReadData
2 0.000029 syn keyword vbEvents UnboundWriteData Unformat Unload UpClick Updated
2 0.000025 syn keyword vbEvents UserEvent Validate ValidationError
2 0.000026 syn keyword vbEvents VisibleRecordChanged WillAssociate WillChangeData
2 0.000024 syn keyword vbEvents WillDissociate WillExecute WillUpdateRows
2 0.000019 syn keyword vbEvents WriteProperties
2 0.000034 syn keyword vbFunction Abs Array Asc AscB AscW Atn Avg BOF CBool CByte
2 0.000040 syn keyword vbFunction CCur CDate CDbl CInt CLng CSng CStr CVDate CVErr
2 0.000038 syn keyword vbFunction CVar CallByName Cdec Choose Chr ChrB ChrW Command
2 0.000034 syn keyword vbFunction Cos Count CreateObject CurDir DDB Date DateAdd
2 0.000031 syn keyword vbFunction DateDiff DatePart DateSerial DateValue Day Dir
2 0.000039 syn keyword vbFunction DoEvents EOF Environ Error Exp FV FileAttr
2 0.000032 syn keyword vbFunction FileDateTime FileLen FilterFix Fix Format
2 0.000027 syn keyword vbFunction FormatCurrency FormatDateTime FormatNumber
2 0.000029 syn keyword vbFunction FormatPercent FreeFile GetAllStrings GetAttr
2 0.000028 syn keyword vbFunction GetAutoServerSettings GetObject GetSetting Hex
2 0.000031 syn keyword vbFunction Hour IIf IMEStatus IPmt InStr Input InputB
2 0.000032 syn keyword vbFunction InputBox InstrB Int IsArray IsDate IsEmpty IsError
2 0.000033 syn keyword vbFunction IsMissing IsNull IsNumeric IsObject Join LBound
2 0.000033 syn keyword vbFunction LCase LOF LTrim Left LeftB Len LenB LoadPicture
2 0.000030 syn keyword vbFunction LoadResData LoadResPicture LoadResString Loc Log
2 0.000031 syn keyword vbFunction MIRR Max Mid MidB Min Minute Month MonthName
2 0.000040 syn keyword vbFunction MsgBox NPV NPer Now Oct PPmt PV Partition Pmt
2 0.000033 syn keyword vbFunction QBColor RGB RTrim Rate Replace Right RightB Rnd
2 0.000036 syn keyword vbFunction Round SLN SYD Second Seek Sgn Shell Sin Space Spc
2 0.000033 syn keyword vbFunction Split Sqr StDev StDevP Str StrComp StrConv
2 0.000035 syn keyword vbFunction StrReverse String Sum Switch Tab Tan Time
2 0.000033 syn keyword vbFunction TimeSerial TimeValue Timer Trim TypeName UBound
2 0.000031 syn keyword vbFunction UCase Val Var VarP VarType Weekday WeekdayName
2 0.000020 syn keyword vbFunction Year
2 0.000029 syn keyword vbMethods AboutBox Accept Activate Add AddCustom AddFile
2 0.000026 syn keyword vbMethods AddFromFile AddFromGuid AddFromString
2 0.000028 syn keyword vbMethods AddFromTemplate AddItem AddNew AddToAddInToolbar
2 0.000032 syn keyword vbMethods AddToolboxProgID Append AppendAppendChunk
2 0.000030 syn keyword vbMethods AppendChunk Arrange Assert AsyncRead BatchUpdate
2 0.000028 syn keyword vbMethods BeginQueryEdit BeginTrans Bind BuildPath
2 0.000026 syn keyword vbMethods CanPropertyChange Cancel CancelAsyncRead
2 0.000028 syn keyword vbMethods CancelBatch CancelUpdate CaptureImage CellText
2 0.000028 syn keyword vbMethods CellValue Circle Clear ClearFields ClearSel
2 0.000028 syn keyword vbMethods ClearSelCols ClearStructure Clone Close Cls
2 0.000053 syn keyword vbMethods ColContaining CollapseAll ColumnSize CommitTrans
2 0.000032 syn keyword vbMethods CompactDatabase Compose Connect Copy CopyFile
2 0.000029 syn keyword vbMethods CopyFolder CopyQueryDef Count CreateDatabase
2 0.000027 syn keyword vbMethods CreateDragImage CreateEmbed CreateField
2 0.000029 syn keyword vbMethods CreateFolder CreateGroup CreateIndex CreateLink
2 0.000027 syn keyword vbMethods CreatePreparedStatement CreatePropery CreateQuery
2 0.000027 syn keyword vbMethods CreateQueryDef CreateRelation CreateTableDef
2 0.000026 syn keyword vbMethods CreateTextFile CreateToolWindow CreateUser
2 0.000688 syn keyword vbMethods CreateWorkspace Customize Cut Delete
2 0.000216 syn keyword vbMethods DeleteColumnLabels DeleteColumns DeleteFile
2 0.000209 syn keyword vbMethods DeleteFolder DeleteLines DeleteRowLabels
2 0.000312 syn keyword vbMethods DeleteRows DeselectAll DesignerWindow DoVerb Drag
2 0.000364 syn keyword vbMethods Draw DriveExists Edit EditCopy EditPaste EndDoc
2 0.000253 syn keyword vbMethods EnsureVisible EstablishConnection Execute Exists
2 0.000251 syn keyword vbMethods Expand Export ExportReport ExtractIcon Fetch
2 0.000308 syn keyword vbMethods FetchVerbs FileExists Files FillCache Find
2 0.000311 syn keyword vbMethods FindFirst FindItem FindLast FindNext FindPrevious
2 0.000196 syn keyword vbMethods FolderExists Forward GetAbsolutePathName
2 0.000252 syn keyword vbMethods GetBaseName GetBookmark GetChunk GetClipString
2 0.000307 syn keyword vbMethods GetData GetDrive GetDriveName GetFile GetFileName
2 0.000257 syn keyword vbMethods GetFirstVisible GetFolder GetFormat GetHeader
2 0.000197 syn keyword vbMethods GetLineFromChar GetNumTicks GetParentFolderName
2 0.000194 syn keyword vbMethods GetRows GetSelectedPart GetSelection
2 0.000195 syn keyword vbMethods GetSpecialFolder GetTempName GetText
2 0.000254 syn keyword vbMethods GetVisibleCount GoBack GoForward Hide HitTest
2 0.000318 syn keyword vbMethods HoldFields Idle Import InitializeLabels Insert
2 0.000197 syn keyword vbMethods InsertColumnLabels InsertColumns InsertFile
2 0.000195 syn keyword vbMethods InsertLines InsertObjDlg InsertRowLabels
2 0.000423 syn keyword vbMethods InsertRows Item Keys KillDoc Layout Line Lines
2 0.000277 syn keyword vbMethods LinkExecute LinkPoke LinkRequest LinkSend Listen
2 0.000122 syn keyword vbMethods LoadFile LoadResData LoadResPicture LoadResString
2 0.000239 syn keyword vbMethods LogEvent MakeCompileFile MakeCompiledFile
2 0.000342 syn keyword vbMethods MakeReplica MoreResults Move MoveData MoveFile
2 0.000259 syn keyword vbMethods MoveFirst MoveFolder MoveLast MoveNext
2 0.000257 syn keyword vbMethods MovePrevious NavigateTo NewPage NewPassword
2 0.000258 syn keyword vbMethods NextRecordset OLEDrag OnAddinsUpdate OnConnection
2 0.000198 syn keyword vbMethods OnDisconnection OnStartupComplete Open
2 0.000200 syn keyword vbMethods OpenAsTextStream OpenConnection OpenDatabase
2 0.000260 syn keyword vbMethods OpenQueryDef OpenRecordset OpenResultset OpenURL
2 0.000323 syn keyword vbMethods Overlay PSet PaintPicture PastSpecialDlg Paste
2 0.000327 syn keyword vbMethods PeekData Play Point PopulatePartial PopupMenu
2 0.000322 syn keyword vbMethods Print PrintForm PrintReport PropertyChanged Quit
2 0.000087 syn keyword vbMethods Raise RandomDataFill RandomFillColumns
2 0.000032 syn keyword vbMethods RandomFillRows ReFill Read ReadAll ReadFromFile
2 0.000028 syn keyword vbMethods ReadLine ReadProperty Rebind Refresh RefreshLink
2 0.000026 syn keyword vbMethods RegisterDatabase ReleaseInstance Reload Remove
2 0.000028 syn keyword vbMethods RemoveAddInFromToolbar RemoveAll RemoveItem Render
2 0.000035 syn keyword vbMethods RepairDatabase ReplaceLine Reply ReplyAll Requery
2 0.000027 syn keyword vbMethods ResetCustom ResetCustomLabel ResolveName
2 0.000027 syn keyword vbMethods RestoreToolbar Resync Rollback RollbackTrans
2 0.000029 syn keyword vbMethods RowBookmark RowContaining RowTop Save SaveAs
2 0.000030 syn keyword vbMethods SaveFile SaveToFile SaveToOle1File SaveToolbar
2 0.000033 syn keyword vbMethods Scale ScaleX ScaleY Scroll SelPrint SelectAll
2 0.000031 syn keyword vbMethods SelectPart Send SendData Set SetAutoServerSettings
2 0.000038 syn keyword vbMethods SetData SetFocus SetOption SetSelection SetSize
2 0.000033 syn keyword vbMethods SetText SetViewport Show ShowColor ShowFont
2 0.000028 syn keyword vbMethods ShowHelp ShowOpen ShowPrinter ShowSave
2 0.000032 syn keyword vbMethods ShowWhatsThis SignOff SignOn Size Skip SkipLine
2 0.000028 syn keyword vbMethods Span Split SplitContaining StartLabelEdit
2 0.000029 syn keyword vbMethods StartLogging Stop Synchronize Tag TextHeight
2 0.000052 syn keyword vbMethods TextWidth ToDefaults Trace TwipsToChartPart
2 0.000036 syn keyword vbMethods TypeByChartType URLFor Update UpdateControls
2 0.000031 syn keyword vbMethods UpdateRecord UpdateRow Upto ValidateControls Value
2 0.000027 syn keyword vbMethods WhatsThisMode Write WriteBlankLines WriteLine
2 0.000030 syn keyword vbMethods WriteProperty WriteTemplate ZOrder
2 0.000034 syn keyword vbMethods rdoCreateEnvironment rdoRegisterDataSource
2 0.000083 syn keyword vbStatement Alias AppActivate As Base Beep Begin Call ChDir
2 0.000048 syn keyword vbStatement ChDrive Close Const Date Declare DefBool DefByte
2 0.000038 syn keyword vbStatement DefCur DefDate DefDbl DefDec DefInt DefLng DefObj
2 0.000034 syn keyword vbStatement DefSng DefStr DefVar Deftype DeleteSetting Dim Do
2 0.000042 syn keyword vbStatement Each ElseIf End Enum Erase Error Event Exit
2 0.000037 syn keyword vbStatement Explicit FileCopy For ForEach Function Get GoSub
2 0.000034 syn keyword vbStatement GoTo Gosub Implements Kill LSet Let Lib LineInput
2 0.000037 syn keyword vbStatement Load Lock Loop Mid MkDir Name Next On OnError Open
2 0.000038 syn keyword vbStatement Option Preserve Private Property Public Put RSet
2 0.000033 syn keyword vbStatement RaiseEvent Randomize ReDim Redim Rem Reset Resume
2 0.000031 syn keyword vbStatement Return RmDir SavePicture SaveSetting Seek SendKeys
2 0.000034 syn keyword vbStatement Sendkeys Set SetAttr Static Step Stop Sub Time
2 0.000031 syn keyword vbStatement Type Unload Unlock Until Wend While Width With
2 0.000018 syn keyword vbStatement Write
2 0.000034 syn keyword vbKeyword As Binary ByRef ByVal Date Empty Error Friend Get
2 0.000035 syn keyword vbKeyword Input Is Len Lock Me Mid New Nothing Null On
2 0.000031 syn keyword vbKeyword Option Optional ParamArray Print Private Property
2 0.000033 syn keyword vbKeyword Public PublicNotCreateable OnNewProcessSingleUse
2 0.000031 syn keyword vbKeyword InSameProcessMultiUse GlobalMultiUse Resume Seek
2 0.000029 syn keyword vbKeyword Set Static Step String Time WithEvents
2 0.000019 syn keyword vbTodo contained TODO
"Datatypes
2 0.000033 syn keyword vbTypes Boolean Byte Currency Date Decimal Double Empty
2 0.000029 syn keyword vbTypes Integer Long Object Single String Variant
"VB defined values
2 0.000029 syn keyword vbDefine dbBigInt dbBinary dbBoolean dbByte dbChar
2 0.000030 syn keyword vbDefine dbCurrency dbDate dbDecimal dbDouble dbFloat
2 0.000029 syn keyword vbDefine dbGUID dbInteger dbLong dbLongBinary dbMemo
2 0.000029 syn keyword vbDefine dbNumeric dbSingle dbText dbTime dbTimeStamp
2 0.000021 syn keyword vbDefine dbVarBinary
"VB defined values
2 0.000028 syn keyword vbDefine vb3DDKShadow vb3DFace vb3DHighlight vb3DLight
2 0.000027 syn keyword vbDefine vb3DShadow vbAbort vbAbortRetryIgnore
2 0.000025 syn keyword vbDefine vbActiveBorder vbActiveTitleBar vbAlias
2 0.000025 syn keyword vbDefine vbApplicationModal vbApplicationWorkspace
2 0.000027 syn keyword vbDefine vbAppTaskManager vbAppWindows vbArchive vbArray
2 0.000029 syn keyword vbDefine vbBack vbBinaryCompare vbBlack vbBlue vbBoolean
2 0.000027 syn keyword vbDefine vbButtonFace vbButtonShadow vbButtonText vbByte
2 0.000029 syn keyword vbDefine vbCalGreg vbCalHijri vbCancel vbCr vbCritical
2 0.000030 syn keyword vbDefine vbCrLf vbCurrency vbCyan vbDatabaseCompare
2 0.000039 syn keyword vbDefine vbDataObject vbDate vbDecimal vbDefaultButton1
2 0.000038 syn keyword vbDefine vbDefaultButton2 vbDefaultButton3 vbDefaultButton4
2 0.000041 syn keyword vbDefine vbDesktop vbDirectory vbDouble vbEmpty vbError
2 0.000039 syn keyword vbDefine vbExclamation vbFirstFourDays vbFirstFullWeek
2 0.000036 syn keyword vbDefine vbFirstJan1 vbFormCode vbFormControlMenu
2 0.000037 syn keyword vbDefine vbFormFeed vbFormMDIForm vbFriday vbFromUnicode
2 0.000034 syn keyword vbDefine vbGrayText vbGreen vbHidden vbHide vbHighlight
2 0.000029 syn keyword vbDefine vbHighlightText vbHiragana vbIgnore vbIMEAlphaDbl
2 0.000025 syn keyword vbDefine vbIMEAlphaSng vbIMEDisable vbIMEHiragana
2 0.000027 syn keyword vbDefine vbIMEKatakanaDbl vbIMEKatakanaSng vbIMEModeAlpha
2 0.000023 syn keyword vbDefine vbIMEModeAlphaFull vbIMEModeDisable
2 0.000024 syn keyword vbDefine vbIMEModeHangul vbIMEModeHangulFull
2 0.000023 syn keyword vbDefine vbIMEModeHiragana vbIMEModeKatakana
2 0.000033 syn keyword vbDefine vbIMEModeKatakanaHalf vbIMEModeNoControl
2 0.000029 syn keyword vbDefine vbIMEModeOff vbIMEModeOn vbIMENoOp vbIMEOff
2 0.000026 syn keyword vbDefine vbIMEOn vbInactiveBorder vbInactiveCaptionText
2 0.000027 syn keyword vbDefine vbInactiveTitleBar vbInfoBackground vbInformation
2 0.000032 syn keyword vbDefine vbInfoText vbInteger vbKatakana vbKey0 vbKey1
2 0.000039 syn keyword vbDefine vbKey2 vbKey3 vbKey4 vbKey5 vbKey6 vbKey7 vbKey8
2 0.000069 syn keyword vbDefine vbKey9 vbKeyA vbKeyAdd vbKeyB vbKeyBack vbKeyC
2 0.000038 syn keyword vbDefine vbKeyCancel vbKeyCapital vbKeyClear vbKeyControl
2 0.000038 syn keyword vbDefine vbKeyD vbKeyDecimal vbKeyDelete vbKeyDivide
2 0.000043 syn keyword vbDefine vbKeyDown vbKeyE vbKeyEnd vbKeyEscape vbKeyExecute
2 0.000043 syn keyword vbDefine vbKeyF vbKeyF1 vbKeyF10 vbKeyF11 vbKeyF12 vbKeyF13
2 0.000039 syn keyword vbDefine vbKeyF14 vbKeyF15 vbKeyF16 vbKeyF2 vbKeyF3 vbKeyF4
2 0.000038 syn keyword vbDefine vbKeyF5 vbKeyF6 vbKeyF7 vbKeyF8 vbKeyF9 vbKeyG
2 0.000046 syn keyword vbDefine vbKeyH vbKeyHelp vbKeyHome vbKeyI vbKeyInsert
2 0.000040 syn keyword vbDefine vbKeyJ vbKeyK vbKeyL vbKeyLButton vbKeyLeft vbKeyM
2 0.000036 syn keyword vbDefine vbKeyMButton vbKeyMenu vbKeyMultiply vbKeyN
2 0.000033 syn keyword vbDefine vbKeyNumlock vbKeyNumpad0 vbKeyNumpad1
2 0.000033 syn keyword vbDefine vbKeyNumpad2 vbKeyNumpad3 vbKeyNumpad4
2 0.000031 syn keyword vbDefine vbKeyNumpad5 vbKeyNumpad6 vbKeyNumpad7
2 0.000032 syn keyword vbDefine vbKeyNumpad8 vbKeyNumpad9 vbKeyO vbKeyP
2 0.000036 syn keyword vbDefine vbKeyPageDown vbKeyPageUp vbKeyPause vbKeyPrint
2 0.000038 syn keyword vbDefine vbKeyQ vbKeyR vbKeyRButton vbKeyReturn vbKeyRight
2 0.000039 syn keyword vbDefine vbKeyS vbKeySelect vbKeySeparator vbKeyShift
2 0.000039 syn keyword vbDefine vbKeySnapshot vbKeySpace vbKeySubtract vbKeyT
2 0.000038 syn keyword vbDefine vbKeyTab vbKeyU vbKeyUp vbKeyV vbKeyW vbKeyX
2 0.000041 syn keyword vbDefine vbKeyY vbKeyZ vbLf vbLong vbLowerCase vbMagenta
2 0.000036 syn keyword vbDefine vbMaximizedFocus vbMenuBar vbMenuText
2 0.000036 syn keyword vbDefine vbMinimizedFocus vbMinimizedNoFocus vbMonday
2 0.000036 syn keyword vbDefine vbMsgBox vbMsgBoxHelpButton vbMsgBoxRight
2 0.000043 syn keyword vbDefine vbMsgBoxRtlReading vbMsgBoxSetForeground
2 0.000042 syn keyword vbDefine vbMsgBoxText vbNarrow vbNewLine vbNo vbNormal
2 0.000038 syn keyword vbDefine vbNormalFocus vbNormalNoFocus vbNull vbNullChar
2 0.000036 syn keyword vbDefine vbNullString vbObject vbObjectError vbOK
2 0.000037 syn keyword vbDefine vbOKCancel vbOKOnly vbProperCase vbQuestion
2 0.000040 syn keyword vbDefine vbReadOnly vbRed vbRetry vbRetryCancel vbSaturday
2 0.000039 syn keyword vbDefine vbScrollBars vbSingle vbString vbSunday vbSystem
2 0.000037 syn keyword vbDefine vbSystemModal vbTab vbTextCompare vbThursday
2 0.000039 syn keyword vbDefine vbTitleBarText vbTuesday vbUnicode vbUpperCase
2 0.000036 syn keyword vbDefine vbUseSystem vbUseSystemDayOfWeek vbVariant
2 0.000040 syn keyword vbDefine vbVerticalTab vbVolume vbWednesday vbWhite vbWide
2 0.000036 syn keyword vbDefine vbWindowBackground vbWindowFrame vbWindowText
2 0.000037 syn keyword vbDefine vbYellow vbYes vbYesNo vbYesNoCancel
"Numbers
"integer number, or floating point number without a dot.
2 0.000047 syn match vbNumber "\<\d\+\>"
"floating point number, with dot
2 0.000053 syn match vbNumber "\<\d\+\.\d*\>"
"floating point number, starting with a dot
2 0.000038 syn match vbNumber "\.\d\+\>"
"syn match vbNumber "{[[:xdigit:]-]\+}\|&[hH][[:xdigit:]]\+&"
"syn match vbNumber ":[[:xdigit:]]\+"
"syn match vbNumber "[-+]\=\<\d\+\>"
2 0.000052 syn match vbFloat "[-+]\=\<\d\+[eE][\-+]\=\d\+"
2 0.000163 syn match vbFloat "[-+]\=\<\d\+\.\d*\([eE][\-+]\=\d\+\)\="
2 0.000055 syn match vbFloat "[-+]\=\<\.\d\+\([eE][\-+]\=\d\+\)\="
" String and Character contstants
2 0.000059 syn region vbString start=+"+ end=+"\|$+
2 0.000083 syn region vbComment start="\(^\|\s\)REM\s" end="$" contains=vbTodo
2 0.000072 syn region vbComment start="\(^\|\s\)\'" end="$" contains=vbTodo
2 0.000042 syn match vbLineNumber "^\d\+\(\s\|$\)"
2 0.000049 syn match vbTypeSpecifier "[a-zA-Z0-9][\$%&!#]"ms=s+1
2 0.000048 syn match vbTypeSpecifier "#[a-zA-Z0-9]"me=e-1
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
2 0.000031 if version >= 508 || !exists("did_vb_syntax_inits")
2 0.000012 if version < 508
let did_vb_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
2 0.000045 command -nargs=+ HiLink hi def link <args>
2 0.000007 endif
2 0.000110 HiLink vbBoolean Boolean
2 0.000063 HiLink vbLineNumber Comment
2 0.000058 HiLink vbComment Comment
2 0.000061 HiLink vbConditional Conditional
2 0.000060 HiLink vbConst Constant
2 0.000061 HiLink vbDefine Constant
2 0.000059 HiLink vbError Error
2 0.000065 HiLink vbFunction Identifier
2 0.000064 HiLink vbIdentifier Identifier
2 0.000065 HiLink vbNumber Number
2 0.000064 HiLink vbFloat Float
2 0.000063 HiLink vbMethods PreProc
2 0.000065 HiLink vbOperator Operator
2 0.000063 HiLink vbRepeat Repeat
2 0.000062 HiLink vbString String
2 0.000064 HiLink vbStatement Statement
2 0.000063 HiLink vbKeyword Statement
2 0.000093 HiLink vbEvents Special
2 0.000065 HiLink vbTodo Todo
2 0.000064 HiLink vbTypes Type
2 0.000064 HiLink vbTypeSpecifier Type
2 0.000013 delcommand HiLink
2 0.000007 endif
2 0.000023 let b:current_syntax = "vb"
" vim: ts=8
SCRIPT /usr/local/Cellar/macvim/7.3-65/MacVim.app/Contents/Resources/vim/runtime/syntax/css.vim
Sourced 2 times
Total time: 0.021194
Self time: 0.021194
count total (s) self (s)
" Vim syntax file
" Language: Cascading Style Sheets
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
" URL: http://www.fleiner.com/vim/syntax/css.vim
" Last Change: 2011 Dec 14
" CSS2 by Nikolai Weibull
" Full CSS2, HTML4 support by Yeti
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
2 0.000039 if !exists("main_syntax")
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
let main_syntax = 'css'
endif
2 0.000008 syn case ignore
2 0.000072 syn keyword cssTagName abbr acronym address applet area a b base
2 0.000060 syn keyword cssTagName basefont bdo big blockquote body br button
2 0.000070 syn keyword cssTagName caption center cite code col colgroup dd del
2 0.000057 syn keyword cssTagName dfn dir div dl dt em fieldset font form frame
2 0.000048 syn keyword cssTagName frameset h1 h2 h3 h4 h5 h6 head hr html img i
2 0.000073 syn keyword cssTagName iframe img input ins isindex kbd label legend li
2 0.000065 syn keyword cssTagName link map menu meta noframes noscript ol optgroup
2 0.000062 syn keyword cssTagName option p param pre q s samp script select small
2 0.000048 syn keyword cssTagName span strike strong style sub sup tbody td
2 0.000057 syn keyword cssTagName textarea tfoot th thead title tr tt ul u var
2 0.000050 syn match cssTagName "\<table\>"
2 0.000035 syn match cssTagName "\*"
2 0.000055 syn match cssTagName "@page\>" nextgroup=cssDefinition
2 0.000026 syn match cssSelectorOp "[+>.]"
2 0.000028 syn match cssSelectorOp2 "[~|]\?=" contained
2 0.000113 syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" transparent contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
2 0.000008 try
2 0.000057 syn match cssIdentifier "#[A-Za-z¿-ˇ_@][A-Za-z¿-ˇ0-9_@-]*"
2 0.000010 catch /^.*/
syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*"
endtry
2 0.000076 syn match cssMedia "@media\>" nextgroup=cssMediaType skipwhite skipnl
2 0.000110 syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all nextgroup=cssMediaComma,cssMediaBlock skipwhite skipnl
2 0.000072 syn match cssMediaComma "," nextgroup=cssMediaType skipwhite skipnl
2 0.000230 syn region cssMediaBlock transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssError,cssComment,cssDefinition,cssURL,cssUnicodeEscape,cssIdentifier
2 0.000039 syn match cssValueInteger contained "[-+]\=\d\+"
2 0.000044 syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\="
2 0.000062 syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\)"
2 0.000051 syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)"
2 0.000054 syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)"
2 0.000108 syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)"
2 0.000088 syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl
2 0.002073 syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssFontProp,cssFontAttr,cssCommonAttr,cssStringQ,cssStringQQ,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssUnicodeRange,cssFontDescriptorAttr
2 0.000083 syn match cssFontDescriptorProp contained "\<\(unicode-range\|unit-per-em\|panose-1\|cap-height\|x-height\|definition-src\)\>"
2 0.000051 syn keyword cssFontDescriptorProp contained src stemv stemh slope ascent descent widths bbox baseline centerline mathline topline
2 0.000020 syn keyword cssFontDescriptorAttr contained all
2 0.000114 syn region cssFontDescriptorFunction contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline keepend
2 0.000030 syn match cssUnicodeRange contained "U+[0-9A-Fa-f?]\+"
2 0.000027 syn match cssUnicodeRange contained "U+\x\+-\x\+"
2 0.000060 syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow
" FIXME: These are actually case-insentivie too, but (a) specs recommend using
" mixed-case (b) it's hard to highlight the word `Background' correctly in
" all situations
2 0.000079 syn case match
2 0.000094 syn keyword cssColor contained ActiveBorder ActiveCaption AppWorkspace ButtonFace ButtonHighlight ButtonShadow ButtonText CaptionText GrayText Highlight HighlightText InactiveBorder InactiveCaption InactiveCaptionText InfoBackground InfoText Menu MenuText Scrollbar ThreeDDarkShadow ThreeDFace ThreeDHighlight ThreeDLightShadow ThreeDShadow Window WindowFrame WindowText Background
2 0.000009 syn case ignore
2 0.000041 syn match cssColor contained "\<transparent\>"
2 0.000047 syn match cssColor contained "\<white\>"
2 0.000045 syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>"
2 0.000038 syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>"
"syn match cssColor contained "\<rgb\s*(\s*\d\+\(\.\d*\)\=%\=\s*,\s*\d\+\(\.\d*\)\=%\=\s*,\s*\d\+\(\.\d*\)\=%\=\s*)"
2 0.000073 syn region cssURL contained matchgroup=cssFunctionName start="\<url\s*(" end=")" oneline keepend
2 0.000099 syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\)\s*(" end=")" oneline keepend
2 0.000054 syn match cssImportant contained "!\s*important\>"
2 0.000053 syn keyword cssCommonAttr contained auto none inherit
2 0.000049 syn keyword cssCommonAttr contained top bottom
2 0.000048 syn keyword cssCommonAttr contained medium normal
2 0.000094 syn match cssFontProp contained "\<font\(-\(family\|style\|variant\|weight\|size\(-adjust\)\=\|stretch\)\)\=\>"
2 0.000067 syn match cssFontAttr contained "\<\(sans-\)\=\<serif\>"
2 0.000089 syn match cssFontAttr contained "\<small\(-\(caps\|caption\)\)\=\>"
2 0.000091 syn match cssFontAttr contained "\<x\{1,2\}-\(large\|small\)\>"
2 0.000079 syn match cssFontAttr contained "\<message-box\>"
2 0.000073 syn match cssFontAttr contained "\<status-bar\>"
2 0.000098 syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\|status-bar\)-\)\=\(condensed\|expanded\)\>"
2 0.000072 syn keyword cssFontAttr contained cursive fantasy monospace italic oblique
2 0.000062 syn keyword cssFontAttr contained bold bolder lighter larger smaller
2 0.000050 syn keyword cssFontAttr contained icon menu
2 0.000058 syn match cssFontAttr contained "\<caption\>"
2 0.000072 syn keyword cssFontAttr contained large smaller larger
2 0.000056 syn keyword cssFontAttr contained narrower wider
2 0.000065 syn keyword cssColorProp contained color
2 0.000092 syn match cssColorProp contained "\<background\(-\(color\|image\|attachment\|position\)\)\=\>"
2 0.000055 syn keyword cssColorAttr contained center scroll fixed
2 0.000065 syn match cssColorAttr contained "\<repeat\(-[xy]\)\=\>"
2 0.000058 syn match cssColorAttr contained "\<no-repeat\>"
2 0.000144 syn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>"
2 0.000073 syn match cssTextAttr contained "\<line-through\>"
2 0.000068 syn match cssTextAttr contained "\<text-indent\>"
2 0.000070 syn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>"
2 0.000063 syn keyword cssTextAttr contained underline overline blink sub super middle
2 0.000067 syn keyword cssTextAttr contained capitalize uppercase lowercase center justify baseline sub super
2 0.000090 syn match cssBoxProp contained "\<\(margin\|padding\|border\)\(-\(top\|right\|bottom\|left\)\)\=\>"
2 0.000096 syn match cssBoxProp contained "\<border-\(\(\(top\|right\|bottom\|left\)-\)\=\(width\|color\|style\)\)\=\>"
2 0.000059 syn match cssBoxProp contained "\<\(width\|z-index\)\>"
2 0.000076 syn match cssBoxProp contained "\<\(min\|max\)-\(width\|height\)\>"
2 0.000072 syn keyword cssBoxProp contained width height float clear overflow clip visibility
2 0.000061 syn keyword cssBoxAttr contained thin thick both
2 0.000077 syn keyword cssBoxAttr contained dotted dashed solid double groove ridge inset outset
2 0.000065 syn keyword cssBoxAttr contained hidden visible scroll collapse
2 0.000059 syn keyword cssGeneratedContentProp contained content quotes
2 0.000089 syn match cssGeneratedContentProp contained "\<counter-\(reset\|increment\)\>"
2 0.000091 syn match cssGeneratedContentProp contained "\<list-style\(-\(type\|position\|image\)\)\=\>"
2 0.000062 syn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>"
2 0.000054 syn match cssAuralAttr contained "\<lower\>"
2 0.000091 syn match cssGeneratedContentAttr contained "\<\(lower\|upper\)-\(roman\|alpha\|greek\|latin\)\>"
2 0.000057 syn match cssGeneratedContentAttr contained "\<\(hiragana\|katakana\)\(-iroha\)\=\>"
2 0.000074 syn match cssGeneratedContentAttr contained "\<\(decimal\(-leading-zero\)\=\|cjk-ideographic\)\>"
2 0.000054 syn keyword cssGeneratedContentAttr contained disc circle square hebrew armenian georgian
2 0.000033 syn keyword cssGeneratedContentAttr contained inside outside
2 0.000053 syn match cssPagingProp contained "\<page\(-break-\(before\|after\|inside\)\)\=\>"
2 0.000080 syn keyword cssPagingProp contained size marks inside orphans widows
2 0.000050 syn keyword cssPagingAttr contained landscape portrait crop cross always avoid
2 0.000031 syn keyword cssUIProp contained cursor
2 0.000051 syn match cssUIProp contained "\<outline\(-\(width\|style\|color\)\)\=\>"
2 0.000044 syn match cssUIAttr contained "\<[ns]\=[ew]\=-resize\>"
2 0.000042 syn keyword cssUIAttr contained default crosshair pointer move wait help
2 0.000044 syn keyword cssUIAttr contained thin thick
2 0.000047 syn keyword cssUIAttr contained dotted dashed solid double groove ridge inset outset
2 0.000029 syn keyword cssUIAttr contained invert
2 0.000036 syn match cssRenderAttr contained "\<marker\>"
2 0.000068 syn match cssRenderProp contained "\<\(display\|marker-offset\|unicode-bidi\|white-space\|list-item\|run-in\|inline-table\)\>"
2 0.000037 syn keyword cssRenderProp contained position top bottom direction
2 0.000039 syn match cssRenderProp contained "\<\(left\|right\)\>"
2 0.000036 syn keyword cssRenderAttr contained block inline compact
2 0.000081 syn match cssRenderAttr contained "\<table\(-\(row-gorup\|\(header\|footer\)-group\|row\|column\(-group\)\=\|cell\|caption\)\)\=\>"
2 0.000057 syn keyword cssRenderAttr contained static relative absolute fixed
2 0.000043 syn keyword cssRenderAttr contained ltr rtl embed bidi-override pre nowrap
2 0.000048 syn match cssRenderAttr contained "\<bidi-override\>"
2 0.000085 syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>"
2 0.000132 syn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numerals\)\)\=\)\>"
2 0.000077 syn keyword cssAuralProp contained volume during azimuth elevation stress richness
2 0.000068 syn match cssAuralAttr contained "\<\(x-\)\=\(soft\|loud\)\>"
2 0.000048 syn keyword cssAuralAttr contained silent
2 0.000057 syn match cssAuralAttr contained "\<spell-out\>"
2 0.000049 syn keyword cssAuralAttr contained non mix
2 0.000062 syn match cssAuralAttr contained "\<\(left\|right\)-side\>"
2 0.000073 syn match cssAuralAttr contained "\<\(far\|center\)-\(left\|center\|right\)\>"
2 0.000051 syn keyword cssAuralAttr contained leftwards rightwards behind
2 0.000060 syn keyword cssAuralAttr contained below level above higher
2 0.000090 syn match cssAuralAttr contained "\<\(x-\)\=\(slow\|fast\)\>"
2 0.000055 syn keyword cssAuralAttr contained faster slower
2 0.000058 syn keyword cssAuralAttr contained male female child code digits continuous
2 0.000094 syn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\|speak-header\)\>"
2 0.000064 syn keyword cssTableAttr contained fixed collapse separate show hide once always
" FIXME: This allows cssMediaBlock before the semicolon, which is wrong.
2 0.000241 syn region cssInclude start="@import" end=";" contains=cssComment,cssURL,cssUnicodeEscape,cssMediaType
2 0.000049 syn match cssBraces contained "[{}]"
2 0.000026 syn match cssError contained "{@<>"
2 0.005318 syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape
2 0.000073 syn match cssBraceError "}"
2 0.000111 syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssPseudoClassId,cssUnicodeEscape
2 0.000052 syn keyword cssPseudoClassId contained link visited active hover focus before after left right
2 0.000052 syn match cssPseudoClassId contained "\<first\(-\(line\|letter\|child\)\)\=\>"
2 0.000068 syn region cssPseudoClassLang matchgroup=cssPseudoClassId start=":lang(" end=")" oneline
2 0.000061 syn region cssComment start="/\*" end="\*/" contains=@Spell
2 0.000036 syn match cssUnicodeEscape "\\\x\{1,6}\s\?"
2 0.000026 syn match cssSpecialCharQQ +\\"+ contained
2 0.000030 syn match cssSpecialCharQ +\\'+ contained
2 0.000102 syn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEscape,cssSpecialCharQQ
2 0.000125 syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ
2 0.000078 syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+"
2 0.000036 if main_syntax == "css"
syn sync minlines=10
endif
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
2 0.000030 if version >= 508 || !exists("did_css_syn_inits")
2 0.000015 if version < 508
let did_css_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
2 0.000052 command -nargs=+ HiLink hi def link <args>
2 0.000009 endif
2 0.000091 HiLink cssComment Comment
2 0.000133 HiLink cssTagName Statement
2 0.000070 HiLink cssSelectorOp Special
2 0.000068 HiLink cssSelectorOp2 Special
2 0.000081 HiLink cssFontProp StorageClass
2 0.000080 HiLink cssColorProp StorageClass
2 0.000080 HiLink cssTextProp StorageClass
2 0.000081 HiLink cssBoxProp StorageClass
2 0.000086 HiLink cssRenderProp StorageClass
2 0.000080 HiLink cssAuralProp StorageClass
2 0.000089 HiLink cssRenderProp StorageClass
2 0.000087 HiLink cssGeneratedContentProp StorageClass
2 0.000079 HiLink cssPagingProp StorageClass
2 0.000077 HiLink cssTableProp StorageClass
2 0.000078 HiLink cssUIProp StorageClass
2 0.000080 HiLink cssFontAttr Type
2 0.000079 HiLink cssColorAttr Type
2 0.000079 HiLink cssTextAttr Type
2 0.000073 HiLink cssBoxAttr Type
2 0.000072 HiLink cssRenderAttr Type
2 0.000081 HiLink cssAuralAttr Type
2 0.000090 HiLink cssGeneratedContentAttr Type
2 0.000083 HiLink cssPagingAttr Type
2 0.000080 HiLink cssTableAttr Type
2 0.000087 HiLink cssUIAttr Type
2 0.000098 HiLink cssCommonAttr Type
2 0.000058 HiLink cssPseudoClassId PreProc
2 0.000052 HiLink cssPseudoClassLang Constant
2 0.000058 HiLink cssValueLength Number
2 0.000059 HiLink cssValueInteger Number
2 0.000058 HiLink cssValueNumber Number
2 0.000059 HiLink cssValueAngle Number
2 0.000057 HiLink cssValueTime Number
2 0.000059 HiLink cssValueFrequency Number
2 0.000046 HiLink cssFunction Constant
2 0.000055 HiLink cssURL String
2 0.000053 HiLink cssFunctionName Function
2 0.000054 HiLink cssColor Constant
2 0.000053 HiLink cssIdentifier Function
2 0.000041 HiLink cssInclude Include
2 0.000052 HiLink cssImportant Special
2 0.000052 HiLink cssBraces Function
2 0.000041 HiLink cssBraceError Error
2 0.000040 HiLink cssError Error
2 0.000039 HiLink cssInclude Include
2 0.000041 HiLink cssUnicodeEscape Special
2 0.000042 HiLink cssStringQQ String
2 0.000040 HiLink cssStringQ String
2 0.000049 HiLink cssMedia Special
2 0.000051 HiLink cssMediaType Special
2 0.000052 HiLink cssMediaComma Normal
2 0.000042 HiLink cssFontDescriptor Special
2 0.000043 HiLink cssFontDescriptorFunction Constant
2 0.000041 HiLink cssFontDescriptorProp StorageClass
2 0.000040 HiLink cssFontDescriptorAttr Type
2 0.000039 HiLink cssUnicodeRange Constant
2 0.000050 HiLink cssClassName Function
2 0.000011 delcommand HiLink
2 0.000005 endif
2 0.000024 let b:current_syntax = "css"
2 0.000015 if main_syntax == 'css'
unlet main_syntax
endif
" vim: ts=8
SCRIPT /Users/yangkit/.vim/janus/vim/tools/css-color/after/syntax/css.vim
Sourced 2 times
Total time: 1.618734
Self time: 1.481674
count total (s) self (s)
" Language: Colored CSS Color Preview
" Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
" Last Change: 2010 Jul 3
" Licence: No Warranties. WTFPL. But please tell me!
" Version: 0.7.1
" vim:et:ts=2 sw=2 sts=2
2 0.000340 let s:hex={}
514 0.001315 for i in range(0, 255)
512 0.005357 let s:hex[ printf( '%02x', i ) ] = i
512 0.000877 endfor
2 0.000017 let s:black = '#000000'
2 0.000015 let s:white = '#ffffff'
2 0.000022 function! s:FGForBG(color)
" pick suitable text color given a background color
let color = tolower(a:color)
let r = s:hex[color[0:1]]
let g = s:hex[color[2:3]]
let b = s:hex[color[4:5]]
return r*30 + g*59 + b*11 > 12000 ? s:black : s:white
endfunction
2 0.000020 let b:color_pattern = {}
2 0.000015 let s:color_prefix = 'gui'
2 0.000018 let s:fg_color_calc = 'let color = "#" . toupper(a:color)'
2 0.000018 function! s:MatchColorValue(color, pattern)
if ! len(a:color) | return | endif
if has_key( b:color_pattern, a:pattern ) | return | endif
let b:color_pattern[a:pattern] = 1
let pattern = a:pattern
" iff pattern ends on word character, require word break to match
if pattern =~ '\>$' | let pattern .= '\>' | endif
let group = 'cssColor' . tolower(a:color)
exe 'syn match' group '/'.pattern.'/ contained'
exe 'syn cluster cssColors add='.group
exe s:fg_color_calc
exe 'hi' group s:color_prefix.'bg='.color s:color_prefix.'fg='.s:FGForBG(a:color)
return ''
endfunction
2 0.000013 function! s:HexForRGBValue(r,g,b)
" Convert 80% -> 204, 100% -> 255, etc.
let rgb = map( [a:r,a:g,a:b], 'v:val =~ "%$" ? ( 255 * v:val ) / 100 : v:val' )
return printf( '%02x%02x%02x', rgb[0], rgb[1], rgb[2] )
endfunction
2 0.000013 function! s:HexForHSLValue(h,s,l)
" Convert 80% -> 0.8, 100% -> 1.0, etc.
let [s,l] = map( [a:s, a:l], 'v:val =~ "%$" ? v:val / 100.0 : str2float(v:val)' )
" algorithm transcoded to vim from http://www.w3.org/TR/css3-color/#hsl-color
let hh = ( a:h % 360 ) / 360.0
let m2 = l <= 0.5 ? l * ( s + 1 ) : l + s - l * s
let m1 = l * 2 - m2
let rgb = []
for h in [ hh + (1/3.0), hh, hh - (1/3.0) ]
let h = h < 0 ? h + 1 : h > 1 ? h - 1 : h
let v =
\ h * 6 < 1 ? m1 + ( m2 - m1 ) * h * 6 :
\ h * 2 < 1 ? m2 :
\ h * 3 < 2 ? m1 + ( m2 - m1 ) * ( 2/3.0 - h ) * 6 :
\ m1
if v > 1.0 | return '' | endif
let rgb += [ float2nr( 255 * v ) ]
endfor
return printf( '%02x%02x%02x', rgb[0], rgb[1], rgb[2] )
endfunction
2 0.000017 function! s:PreviewCSSColorInLine()
" TODO use cssColor matchdata
"
" N.B. these substitute() calls are here just for the side effect
" of invoking s:MatchColorValue during substitution -- because
" match() and friends do not allow finding all matches in a single
" scan without examining the start of the string over and over
call substitute( substitute( substitute( substitute( getline('.'),
\ '#\(\x\)\(\x\)\(\x\)\>', '\=s:MatchColorValue(submatch(1).submatch(1).submatch(2).submatch(2).submatch(3).submatch(3), submatch(0))', 'g' ),
\ '#\(\x\{6}\)\>', '\=s:MatchColorValue(submatch(1), submatch(0))', 'g' ),
\ 'rgba\?(\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*\%(,[^)]*\)\?)', '\=s:MatchColorValue(s:HexForRGBValue(submatch(1),submatch(2),submatch(3)),submatch(0))', 'g' ),
\ 'hsla\?(\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*\%(,[^)]*\)\?)', '\=s:MatchColorValue(s:HexForHSLValue(submatch(1),submatch(2),submatch(3)),submatch(0))', 'g' )
endfunction
2 0.000031 if has("gui_running") || &t_Co==256
" HACK modify cssDefinition to add @cssColors to its contains
2 0.000019 redir => cssdef
2 0.000393 silent! syn list cssDefinition
2 0.000023 redir END
2 0.000018 if len( cssdef )
6 0.000081 for out in split( cssdef, "\n" )
4 0.000061 if out !~ '^cssDefinition ' | continue | endif
2 0.000063 let out = substitute( out, ' \+xxx \+', ' ', '' )
2 0.000052 let out = substitute( out, ' contains=\zs', '@cssColors,', '' )
2 0.001362 exe 'syn region' out
2 0.000009 endfor
2 0.000005 endif
2 0.000019 if ! has('gui_running')
let s:black = 0
let s:white = 15
let s:color_prefix = 'cterm'
let s:fg_color_calc = 'let color = s:XTermColorForRGB(a:color)'
" preset 16 vt100 colors
let s:xtermcolor = [
\ [ 0x00, 0x00, 0x00, 0 ],
\ [ 0xCD, 0x00, 0x00, 1 ],
\ [ 0x00, 0xCD, 0x00, 2 ],
\ [ 0xCD, 0xCD, 0x00, 3 ],
\ [ 0x00, 0x00, 0xEE, 4 ],
\ [ 0xCD, 0x00, 0xCD, 5 ],
\ [ 0x00, 0xCD, 0xCD, 6 ],
\ [ 0xE5, 0xE5, 0xE5, 7 ],
\ [ 0x7F, 0x7F, 0x7F, 8 ],
\ [ 0xFF, 0x00, 0x00, 9 ],
\ [ 0x00, 0xFF, 0x00, 10 ],
\ [ 0xFF, 0xFF, 0x00, 11 ],
\ [ 0x5C, 0x5C, 0xFF, 12 ],
\ [ 0xFF, 0x00, 0xFF, 13 ],
\ [ 0x00, 0xFF, 0xFF, 14 ],
\ [ 0xFF, 0xFF, 0xFF, 15 ]]
" grayscale ramp
" (value is 8+10*lum for lum in 0..23)
let s:xtermcolor += [
\ [ 0x08, 0x08, 0x08, 232 ],
\ [ 0x12, 0x12, 0x12, 233 ],
\ [ 0x1C, 0x1C, 0x1C, 234 ],
\ [ 0x26, 0x26, 0x26, 235 ],
\ [ 0x30, 0x30, 0x30, 236 ],
\ [ 0x3A, 0x3A, 0x3A, 237 ],
\ [ 0x44, 0x44, 0x44, 238 ],
\ [ 0x4E, 0x4E, 0x4E, 239 ],
\ [ 0x58, 0x58, 0x58, 240 ],
\ [ 0x62, 0x62, 0x62, 241 ],
\ [ 0x6C, 0x6C, 0x6C, 242 ],
\ [ 0x76, 0x76, 0x76, 243 ],
\ [ 0x80, 0x80, 0x80, 244 ],
\ [ 0x8A, 0x8A, 0x8A, 245 ],
\ [ 0x94, 0x94, 0x94, 246 ],
\ [ 0x9E, 0x9E, 0x9E, 247 ],
\ [ 0xA8, 0xA8, 0xA8, 248 ],
\ [ 0xB2, 0xB2, 0xB2, 249 ],
\ [ 0xBC, 0xBC, 0xBC, 250 ],
\ [ 0xC6, 0xC6, 0xC6, 251 ],
\ [ 0xD0, 0xD0, 0xD0, 252 ],
\ [ 0xDA, 0xDA, 0xDA, 253 ],
\ [ 0xE4, 0xE4, 0xE4, 254 ],
\ [ 0xEE, 0xEE, 0xEE, 255 ]]
" the 6 values used in the xterm color cube
" 0 95 135 175 215 255
let s:cubergb = [ 0x00, 0x5F, 0x87, 0xAF, 0xD7, 0xFF ]
" 0..255 mapped to 0..5 based on the color cube values
let s:xvquant = repeat([0],48)
\ + repeat([1],68)
\ + repeat([2],40)
\ + repeat([3],40)
\ + repeat([4],40)
\ + repeat([5],20)
" tweak the mapping for the exact matches (0 and 1 already correct)
let s:xvquant[s:cubergb[2]] = 2
let s:xvquant[s:cubergb[3]] = 3
let s:xvquant[s:cubergb[4]] = 4
let s:xvquant[s:cubergb[5]] = 5
" selects the nearest xterm color for a rgb value like #FF0000
function! s:XTermColorForRGB(color)
let best_match=0
let smallest_distance = 10000000000
let color = tolower(a:color)
let r = s:hex[color[0:1]]
let g = s:hex[color[2:3]]
let b = s:hex[color[4:5]]
let vr = s:xvquant[r]
let vg = s:xvquant[g]
let vb = s:xvquant[b]
let cidx = vr * 36 + vg * 6 + vb + 16
let ccol = [ s:cubergb[vr], s:cubergb[vg], s:cubergb[vg], cidx ]
for [tr,tg,tb,idx] in [ ccol ] + s:xtermcolor
let dr = tr - r
let dg = tg - g
let db = tb - b
let distance = dr*dr + dg*dg + db*db
if distance == 0 | return idx | endif
if distance > smallest_distance | continue | endif
let smallest_distance = distance
let best_match = idx
endfor
return best_match
endfunction
endif
2 0.000299 hi cssColor000000 guibg=#000000 guifg=#FFFFFF ctermbg=16 ctermfg=231 | syn cluster cssColors add=cssColor000000
2 0.000139 hi cssColor000080 guibg=#000080 guifg=#FFFFFF ctermbg=235 ctermfg=231 | syn cluster cssColors add=cssColor000080
2 0.000115 hi cssColor00008b guibg=#00008B guifg=#FFFFFF ctermbg=4 ctermfg=231 | syn cluster cssColors add=cssColor00008b
2 0.000110 hi cssColor0000cd guibg=#0000CD guifg=#FFFFFF ctermbg=4 ctermfg=231 | syn cluster cssColors add=cssColor0000cd
2 0.000105 hi cssColor0000ff guibg=#0000FF guifg=#FFFFFF ctermbg=4 ctermfg=231 | syn cluster cssColors add=cssColor0000ff
2 0.000106 hi cssColor006400 guibg=#006400 guifg=#FFFFFF ctermbg=235 ctermfg=231 | syn cluster cssColors add=cssColor006400
2 0.000114 hi cssColor008000 guibg=#008000 guifg=#FFFFFF ctermbg=2 ctermfg=231 | syn cluster cssColors add=cssColor008000
2 0.000115 hi cssColor008080 guibg=#008080 guifg=#FFFFFF ctermbg=30 ctermfg=231 | syn cluster cssColors add=cssColor008080
2 0.000130 hi cssColor008b8b guibg=#008B8B guifg=#FFFFFF ctermbg=30 ctermfg=231 | syn cluster cssColors add=cssColor008b8b
2 0.000133 hi cssColor00bfff guibg=#00BFFF guifg=#000000 ctermbg=6 ctermfg=16 | syn cluster cssColors add=cssColor00bfff
2 0.000106 hi cssColor00ced1 guibg=#00CED1 guifg=#000000 ctermbg=6 ctermfg=16 | syn cluster cssColors add=cssColor00ced1
2 0.000123 hi cssColor00fa9a guibg=#00FA9A guifg=#000000 ctermbg=6 ctermfg=16 | syn cluster cssColors add=cssColor00fa9a
2 0.000110 hi cssColor00ff00 guibg=#00FF00 guifg=#000000 ctermbg=10 ctermfg=16 | syn cluster cssColors add=cssColor00ff00
2 0.000165 hi cssColor00ff7f guibg=#00FF7F guifg=#000000 ctermbg=6 ctermfg=16 | syn cluster cssColors add=cssColor00ff7f
2 0.000222 hi cssColor00ffff guibg=#00FFFF guifg=#000000 ctermbg=51 ctermfg=16 | syn cluster cssColors add=cssColor00ffff
2 0.000119 hi cssColor191970 guibg=#191970 guifg=#FFFFFF ctermbg=237 ctermfg=231 | syn cluster cssColors add=cssColor191970
2 0.000109 hi cssColor1e90ff guibg=#1E90FF guifg=#000000 ctermbg=12 ctermfg=16 | syn cluster cssColors add=cssColor1e90ff
2 0.000108 hi cssColor20b2aa guibg=#20B2AA guifg=#000000 ctermbg=37 ctermfg=16 | syn cluster cssColors add=cssColor20b2aa
2 0.000107 hi cssColor228b22 guibg=#228B22 guifg=#FFFFFF ctermbg=2 ctermfg=231 | syn cluster cssColors add=cssColor228b22
2 0.000116 hi cssColor2e8b57 guibg=#2E8B57 guifg=#FFFFFF ctermbg=240 ctermfg=231 | syn cluster cssColors add=cssColor2e8b57
2 0.000106 hi cssColor2f4f4f guibg=#2F4F4F guifg=#FFFFFF ctermbg=238 ctermfg=231 | syn cluster cssColors add=cssColor2f4f4f
2 0.000103 hi cssColor32cd32 guibg=#32CD32 guifg=#000000 ctermbg=2 ctermfg=16 | syn cluster cssColors add=cssColor32cd32
2 0.000112 hi cssColor3cb371 guibg=#3CB371 guifg=#000000 ctermbg=71 ctermfg=16 | syn cluster cssColors add=cssColor3cb371
2 0.000104 hi cssColor40e0d0 guibg=#40E0D0 guifg=#000000 ctermbg=80 ctermfg=16 | syn cluster cssColors add=cssColor40e0d0
2 0.000118 hi cssColor4169e1 guibg=#4169E1 guifg=#FFFFFF ctermbg=12 ctermfg=231 | syn cluster cssColors add=cssColor4169e1
2 0.000109 hi cssColor4682b4 guibg=#4682B4 guifg=#FFFFFF ctermbg=67 ctermfg=231 | syn cluster cssColors add=cssColor4682b4
2 0.000167 hi cssColor483d8b guibg=#483D8B guifg=#FFFFFF ctermbg=240 ctermfg=231 | syn cluster cssColors add=cssColor483d8b
2 0.000154 hi cssColor48d1cc guibg=#48D1CC guifg=#000000 ctermbg=80 ctermfg=16 | syn cluster cssColors add=cssColor48d1cc
2 0.000112 hi cssColor4b0082 guibg=#4B0082 guifg=#FFFFFF ctermbg=238 ctermfg=231 | syn cluster cssColors add=cssColor4b0082
2 0.000138 hi cssColor556b2f guibg=#556B2F guifg=#FFFFFF ctermbg=239 ctermfg=231 | syn cluster cssColors add=cssColor556b2f
2 0.000117 hi cssColor5f9ea0 guibg=#5F9EA0 guifg=#000000 ctermbg=73 ctermfg=16 | syn cluster cssColors add=cssColor5f9ea0
2 0.000103 hi cssColor6495ed guibg=#6495ED guifg=#000000 ctermbg=12 ctermfg=16 | syn cluster cssColors add=cssColor6495ed
2 0.000100 hi cssColor66cdaa guibg=#66CDAA guifg=#000000 ctermbg=79 ctermfg=16 | syn cluster cssColors add=cssColor66cdaa
2 0.000112 hi cssColor696969 guibg=#696969 guifg=#FFFFFF ctermbg=242 ctermfg=231 | syn cluster cssColors add=cssColor696969
2 0.000109 hi cssColor6a5acd guibg=#6A5ACD guifg=#FFFFFF ctermbg=12 ctermfg=231 | syn cluster cssColors add=cssColor6a5acd
2 0.000108 hi cssColor6b8e23 guibg=#6B8E23 guifg=#FFFFFF ctermbg=241 ctermfg=231 | syn cluster cssColors add=cssColor6b8e23
2 0.000125 hi cssColor708090 guibg=#708090 guifg=#000000 ctermbg=66 ctermfg=16 | syn cluster cssColors add=cssColor708090
2 0.000102 hi cssColor778899 guibg=#778899 guifg=#000000 ctermbg=102 ctermfg=16 | syn cluster cssColors add=cssColor778899
2 0.000101 hi cssColor7b68ee guibg=#7B68EE guifg=#000000 ctermbg=12 ctermfg=16 | syn cluster cssColors add=cssColor7b68ee
2 0.000101 hi cssColor7cfc00 guibg=#7CFC00 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColor7cfc00
2 0.000106 hi cssColor7fff00 guibg=#7FFF00 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColor7fff00
2 0.000128 hi cssColor7fffd4 guibg=#7FFFD4 guifg=#000000 ctermbg=122 ctermfg=16 | syn cluster cssColors add=cssColor7fffd4
2 0.000105 hi cssColor800000 guibg=#800000 guifg=#FFFFFF ctermbg=88 ctermfg=231 | syn cluster cssColors add=cssColor800000
2 0.000100 hi cssColor800080 guibg=#800080 guifg=#FFFFFF ctermbg=240 ctermfg=231 | syn cluster cssColors add=cssColor800080
2 0.000133 hi cssColor808000 guibg=#808000 guifg=#FFFFFF ctermbg=240 ctermfg=231 | syn cluster cssColors add=cssColor808000
2 0.000116 hi cssColor808080 guibg=#808080 guifg=#000000 ctermbg=244 ctermfg=16 | syn cluster cssColors add=cssColor808080
2 0.000107 hi cssColor87ceeb guibg=#87CEEB guifg=#000000 ctermbg=117 ctermfg=16 | syn cluster cssColors add=cssColor87ceeb
2 0.000102 hi cssColor87cefa guibg=#87CEFA guifg=#000000 ctermbg=117 ctermfg=16 | syn cluster cssColors add=cssColor87cefa
2 0.000109 hi cssColor8a2be2 guibg=#8A2BE2 guifg=#FFFFFF ctermbg=12 ctermfg=231 | syn cluster cssColors add=cssColor8a2be2
2 0.000131 hi cssColor8b0000 guibg=#8B0000 guifg=#FFFFFF ctermbg=88 ctermfg=231 | syn cluster cssColors add=cssColor8b0000
2 0.000155 hi cssColor8b008b guibg=#8B008B guifg=#FFFFFF ctermbg=5 ctermfg=231 | syn cluster cssColors add=cssColor8b008b
2 0.000150 hi cssColor8b4513 guibg=#8B4513 guifg=#FFFFFF ctermbg=94 ctermfg=231 | syn cluster cssColors add=cssColor8b4513
2 0.000109 hi cssColor8fbc8f guibg=#8FBC8F guifg=#000000 ctermbg=108 ctermfg=16 | syn cluster cssColors add=cssColor8fbc8f
2 0.000102 hi cssColor90ee90 guibg=#90EE90 guifg=#000000 ctermbg=249 ctermfg=16 | syn cluster cssColors add=cssColor90ee90
2 0.000111 hi cssColor9370d8 guibg=#9370D8 guifg=#000000 ctermbg=12 ctermfg=16 | syn cluster cssColors add=cssColor9370d8
2 0.000109 hi cssColor9400d3 guibg=#9400D3 guifg=#FFFFFF ctermbg=5 ctermfg=231 | syn cluster cssColors add=cssColor9400d3
2 0.000112 hi cssColor98fb98 guibg=#98FB98 guifg=#000000 ctermbg=250 ctermfg=16 | syn cluster cssColors add=cssColor98fb98
2 0.000101 hi cssColor9932cc guibg=#9932CC guifg=#FFFFFF ctermbg=5 ctermfg=231 | syn cluster cssColors add=cssColor9932cc
2 0.000101 hi cssColor9acd32 guibg=#9ACD32 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColor9acd32
2 0.000110 hi cssColora0522d guibg=#A0522D guifg=#FFFFFF ctermbg=130 ctermfg=231 | syn cluster cssColors add=cssColora0522d
2 0.000108 hi cssColora52a2a guibg=#A52A2A guifg=#FFFFFF ctermbg=124 ctermfg=231 | syn cluster cssColors add=cssColora52a2a
2 0.000112 hi cssColora9a9a9 guibg=#A9A9A9 guifg=#000000 ctermbg=248 ctermfg=16 | syn cluster cssColors add=cssColora9a9a9
2 0.000102 hi cssColoradd8e6 guibg=#ADD8E6 guifg=#000000 ctermbg=152 ctermfg=16 | syn cluster cssColors add=cssColoradd8e6
2 0.000123 hi cssColoradff2f guibg=#ADFF2F guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColoradff2f
2 0.000107 hi cssColorafeeee guibg=#AFEEEE guifg=#000000 ctermbg=159 ctermfg=16 | syn cluster cssColors add=cssColorafeeee
2 0.000109 hi cssColorb0c4de guibg=#B0C4DE guifg=#000000 ctermbg=152 ctermfg=16 | syn cluster cssColors add=cssColorb0c4de
2 0.000111 hi cssColorb0e0e6 guibg=#B0E0E6 guifg=#000000 ctermbg=152 ctermfg=16 | syn cluster cssColors add=cssColorb0e0e6
2 0.000103 hi cssColorb22222 guibg=#B22222 guifg=#FFFFFF ctermbg=124 ctermfg=231 | syn cluster cssColors add=cssColorb22222
2 0.000105 hi cssColorb8860b guibg=#B8860B guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColorb8860b
2 0.000112 hi cssColorba55d3 guibg=#BA55D3 guifg=#000000 ctermbg=5 ctermfg=16 | syn cluster cssColors add=cssColorba55d3
2 0.000228 hi cssColorbc8f8f guibg=#BC8F8F guifg=#000000 ctermbg=138 ctermfg=16 | syn cluster cssColors add=cssColorbc8f8f
2 0.000127 hi cssColorbdb76b guibg=#BDB76B guifg=#000000 ctermbg=247 ctermfg=16 | syn cluster cssColors add=cssColorbdb76b
2 0.000199 hi cssColorc0c0c0 guibg=#C0C0C0 guifg=#000000 ctermbg=250 ctermfg=16 | syn cluster cssColors add=cssColorc0c0c0
2 0.000135 hi cssColorc71585 guibg=#C71585 guifg=#FFFFFF ctermbg=5 ctermfg=231 | syn cluster cssColors add=cssColorc71585
2 0.000119 hi cssColorcd5c5c guibg=#CD5C5C guifg=#000000 ctermbg=167 ctermfg=16 | syn cluster cssColors add=cssColorcd5c5c
2 0.000126 hi cssColorcd853f guibg=#CD853F guifg=#000000 ctermbg=173 ctermfg=16 | syn cluster cssColors add=cssColorcd853f
2 0.000118 hi cssColord2691e guibg=#D2691E guifg=#000000 ctermbg=166 ctermfg=16 | syn cluster cssColors add=cssColord2691e
2 0.000156 hi cssColord2b48c guibg=#D2B48C guifg=#000000 ctermbg=180 ctermfg=16 | syn cluster cssColors add=cssColord2b48c
2 0.000141 hi cssColord3d3d3 guibg=#D3D3D3 guifg=#000000 ctermbg=252 ctermfg=16 | syn cluster cssColors add=cssColord3d3d3
2 0.000149 hi cssColord87093 guibg=#D87093 guifg=#000000 ctermbg=168 ctermfg=16 | syn cluster cssColors add=cssColord87093
2 0.000116 hi cssColord8bfd8 guibg=#D8BFD8 guifg=#000000 ctermbg=252 ctermfg=16 | syn cluster cssColors add=cssColord8bfd8
2 0.000111 hi cssColorda70d6 guibg=#DA70D6 guifg=#000000 ctermbg=249 ctermfg=16 | syn cluster cssColors add=cssColorda70d6
2 0.000112 hi cssColordaa520 guibg=#DAA520 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColordaa520
2 0.000112 hi cssColordc143c guibg=#DC143C guifg=#FFFFFF ctermbg=161 ctermfg=231 | syn cluster cssColors add=cssColordc143c
2 0.000107 hi cssColordcdcdc guibg=#DCDCDC guifg=#000000 ctermbg=253 ctermfg=16 | syn cluster cssColors add=cssColordcdcdc
2 0.000102 hi cssColordda0dd guibg=#DDA0DD guifg=#000000 ctermbg=182 ctermfg=16 | syn cluster cssColors add=cssColordda0dd
2 0.000116 hi cssColordeb887 guibg=#DEB887 guifg=#000000 ctermbg=180 ctermfg=16 | syn cluster cssColors add=cssColordeb887
2 0.000123 hi cssColore0ffff guibg=#E0FFFF guifg=#000000 ctermbg=195 ctermfg=16 | syn cluster cssColors add=cssColore0ffff
2 0.000117 hi cssColore6e6fa guibg=#E6E6FA guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColore6e6fa
2 0.000103 hi cssColore9967a guibg=#E9967A guifg=#000000 ctermbg=174 ctermfg=16 | syn cluster cssColors add=cssColore9967a
2 0.000127 hi cssColoree82ee guibg=#EE82EE guifg=#000000 ctermbg=251 ctermfg=16 | syn cluster cssColors add=cssColoree82ee
2 0.000114 hi cssColoreee8aa guibg=#EEE8AA guifg=#000000 ctermbg=223 ctermfg=16 | syn cluster cssColors add=cssColoreee8aa
2 0.000114 hi cssColorf08080 guibg=#F08080 guifg=#000000 ctermbg=210 ctermfg=16 | syn cluster cssColors add=cssColorf08080
2 0.000128 hi cssColorf0e68c guibg=#F0E68C guifg=#000000 ctermbg=222 ctermfg=16 | syn cluster cssColors add=cssColorf0e68c
2 0.000128 hi cssColorf0f8ff guibg=#F0F8FF guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorf0f8ff
2 0.000121 hi cssColorf0fff0 guibg=#F0FFF0 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorf0fff0
2 0.000107 hi cssColorf0ffff guibg=#F0FFFF guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorf0ffff
2 0.000111 hi cssColorf4a460 guibg=#F4A460 guifg=#000000 ctermbg=215 ctermfg=16 | syn cluster cssColors add=cssColorf4a460
2 0.000106 hi cssColorf5deb3 guibg=#F5DEB3 guifg=#000000 ctermbg=223 ctermfg=16 | syn cluster cssColors add=cssColorf5deb3
2 0.000115 hi cssColorf5f5dc guibg=#F5F5DC guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorf5f5dc
2 0.000103 hi cssColorf5f5f5 guibg=#F5F5F5 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorf5f5f5
2 0.000103 hi cssColorf5fffa guibg=#F5FFFA guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorf5fffa
2 0.000102 hi cssColorf8f8ff guibg=#F8F8FF guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorf8f8ff
2 0.000114 hi cssColorfa8072 guibg=#FA8072 guifg=#000000 ctermbg=209 ctermfg=16 | syn cluster cssColors add=cssColorfa8072
2 0.000103 hi cssColorfaebd7 guibg=#FAEBD7 guifg=#000000 ctermbg=7 ctermfg=16 | syn cluster cssColors add=cssColorfaebd7
2 0.000102 hi cssColorfaf0e6 guibg=#FAF0E6 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfaf0e6
2 0.000103 hi cssColorfafad2 guibg=#FAFAD2 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfafad2
2 0.000155 hi cssColorfdf5e6 guibg=#FDF5E6 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfdf5e6
2 0.000114 hi cssColorff0000 guibg=#FF0000 guifg=#FFFFFF ctermbg=196 ctermfg=231 | syn cluster cssColors add=cssColorff0000
2 0.000120 hi cssColorff00ff guibg=#FF00FF guifg=#FFFFFF ctermbg=13 ctermfg=231 | syn cluster cssColors add=cssColorff00ff
2 0.000104 hi cssColorff1493 guibg=#FF1493 guifg=#FFFFFF ctermbg=5 ctermfg=231 | syn cluster cssColors add=cssColorff1493
2 0.000105 hi cssColorff4500 guibg=#FF4500 guifg=#FFFFFF ctermbg=9 ctermfg=231 | syn cluster cssColors add=cssColorff4500
2 0.000104 hi cssColorff6347 guibg=#FF6347 guifg=#000000 ctermbg=203 ctermfg=16 | syn cluster cssColors add=cssColorff6347
2 0.000125 hi cssColorff69b4 guibg=#FF69B4 guifg=#000000 ctermbg=205 ctermfg=16 | syn cluster cssColors add=cssColorff69b4
2 0.000122 hi cssColorff7f50 guibg=#FF7F50 guifg=#000000 ctermbg=209 ctermfg=16 | syn cluster cssColors add=cssColorff7f50
2 0.000153 hi cssColorff8c00 guibg=#FF8C00 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColorff8c00
2 0.000130 hi cssColorffa07a guibg=#FFA07A guifg=#000000 ctermbg=216 ctermfg=16 | syn cluster cssColors add=cssColorffa07a
2 0.000154 hi cssColorffa500 guibg=#FFA500 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColorffa500
2 0.000107 hi cssColorffb6c1 guibg=#FFB6C1 guifg=#000000 ctermbg=217 ctermfg=16 | syn cluster cssColors add=cssColorffb6c1
2 0.000103 hi cssColorffc0cb guibg=#FFC0CB guifg=#000000 ctermbg=218 ctermfg=16 | syn cluster cssColors add=cssColorffc0cb
2 0.000104 hi cssColorffd700 guibg=#FFD700 guifg=#000000 ctermbg=11 ctermfg=16 | syn cluster cssColors add=cssColorffd700
2 0.000104 hi cssColorffdab9 guibg=#FFDAB9 guifg=#000000 ctermbg=223 ctermfg=16 | syn cluster cssColors add=cssColorffdab9
2 0.000105 hi cssColorffdead guibg=#FFDEAD guifg=#000000 ctermbg=223 ctermfg=16 | syn cluster cssColors add=cssColorffdead
2 0.000115 hi cssColorffe4b5 guibg=#FFE4B5 guifg=#000000 ctermbg=223 ctermfg=16 | syn cluster cssColors add=cssColorffe4b5
2 0.000105 hi cssColorffe4c4 guibg=#FFE4C4 guifg=#000000 ctermbg=224 ctermfg=16 | syn cluster cssColors add=cssColorffe4c4
2 0.000113 hi cssColorffe4e1 guibg=#FFE4E1 guifg=#000000 ctermbg=224 ctermfg=16 | syn cluster cssColors add=cssColorffe4e1
2 0.000103 hi cssColorffebcd guibg=#FFEBCD guifg=#000000 ctermbg=7 ctermfg=16 | syn cluster cssColors add=cssColorffebcd
2 0.000102 hi cssColorffefd5 guibg=#FFEFD5 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorffefd5
2 0.000101 hi cssColorfff0f5 guibg=#FFF0F5 guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorfff0f5
2 0.000104 hi cssColorfff5ee guibg=#FFF5EE guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfff5ee
2 0.000116 hi cssColorfff8dc guibg=#FFF8DC guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfff8dc
2 0.000102 hi cssColorfffacd guibg=#FFFACD guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfffacd
2 0.000102 hi cssColorfffaf0 guibg=#FFFAF0 guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorfffaf0
2 0.000115 hi cssColorfffafa guibg=#FFFAFA guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorfffafa
2 0.000112 hi cssColorffff00 guibg=#FFFF00 guifg=#000000 ctermbg=11 ctermfg=16 | syn cluster cssColors add=cssColorffff00
2 0.000101 hi cssColorffffe0 guibg=#FFFFE0 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorffffe0
2 0.000103 hi cssColorfffff0 guibg=#FFFFF0 guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorfffff0
2 0.000101 hi cssColorffffff guibg=#FFFFFF guifg=#000000 ctermbg=231 ctermfg=16 | syn cluster cssColors add=cssColorffffff
" w3c Colors
2 0.000030 syn keyword cssColor000000 black contained
2 0.000018 syn keyword cssColorc0c0c0 silver contained
2 0.000017 syn keyword cssColor808080 gray contained
2 0.000015 syn keyword cssColorffffff white contained
2 0.000022 syn keyword cssColor800000 maroon contained
2 0.000016 syn keyword cssColorff0000 red contained
2 0.000023 syn keyword cssColor800080 purple contained
2 0.000018 syn keyword cssColorff00ff fuchsia contained
2 0.000017 syn keyword cssColor008000 green contained
2 0.000017 syn keyword cssColor00ff00 lime contained
2 0.000016 syn keyword cssColor808000 olive contained
2 0.000012 syn keyword cssColorffff00 yellow contained
2 0.000015 syn keyword cssColor000080 navy contained
2 0.000016 syn keyword cssColor0000ff blue contained
2 0.000016 syn keyword cssColor008080 teal contained
2 0.000016 syn keyword cssColor00ffff aqua contained
" extra colors
2 0.000016 syn keyword cssColorf0f8ff AliceBlue contained
2 0.000015 syn keyword cssColorfaebd7 AntiqueWhite contained
2 0.000016 syn keyword cssColor7fffd4 Aquamarine contained
2 0.000014 syn keyword cssColorf0ffff Azure contained
2 0.000014 syn keyword cssColorf5f5dc Beige contained
2 0.000013 syn keyword cssColorffe4c4 Bisque contained
2 0.000014 syn keyword cssColorffebcd BlanchedAlmond contained
2 0.000017 syn keyword cssColor8a2be2 BlueViolet contained
2 0.000014 syn keyword cssColora52a2a Brown contained
2 0.000015 syn keyword cssColordeb887 BurlyWood contained
2 0.000017 syn keyword cssColor5f9ea0 CadetBlue contained
2 0.000016 syn keyword cssColor7fff00 Chartreuse contained
2 0.000036 syn keyword cssColord2691e Chocolate contained
2 0.000015 syn keyword cssColorff7f50 Coral contained
2 0.000018 syn keyword cssColor6495ed CornflowerBlue contained
2 0.000014 syn keyword cssColorfff8dc Cornsilk contained
2 0.000015 syn keyword cssColordc143c Crimson contained
2 0.000018 syn keyword cssColor00ffff Cyan contained
2 0.000018 syn keyword cssColor00008b DarkBlue contained
2 0.000017 syn keyword cssColor008b8b DarkCyan contained
2 0.000016 syn keyword cssColorb8860b DarkGoldenRod contained
2 0.000015 syn keyword cssColora9a9a9 DarkGray contained
2 0.000017 syn keyword cssColor006400 DarkGreen contained
2 0.000014 syn keyword cssColora9a9a9 DarkGrey contained
2 0.000014 syn keyword cssColorbdb76b DarkKhaki contained
2 0.000016 syn keyword cssColor8b008b DarkMagenta contained
2 0.000017 syn keyword cssColor556b2f DarkOliveGreen contained
2 0.000016 syn keyword cssColor9932cc DarkOrchid contained
2 0.000017 syn keyword cssColor8b0000 DarkRed contained
2 0.000014 syn keyword cssColore9967a DarkSalmon contained
2 0.000016 syn keyword cssColor8fbc8f DarkSeaGreen contained
2 0.000017 syn keyword cssColor483d8b DarkSlateBlue contained
2 0.000018 syn keyword cssColor2f4f4f DarkSlateGray contained
2 0.000016 syn keyword cssColor2f4f4f DarkSlateGrey contained
2 0.000017 syn keyword cssColor00ced1 DarkTurquoise contained
2 0.000017 syn keyword cssColor9400d3 DarkViolet contained
2 0.000014 syn keyword cssColorff8c00 Darkorange contained
2 0.000014 syn keyword cssColorff1493 DeepPink contained
2 0.000021 syn keyword cssColor00bfff DeepSkyBlue contained
2 0.000018 syn keyword cssColor696969 DimGray contained
2 0.000015 syn keyword cssColor696969 DimGrey contained
2 0.000022 syn keyword cssColor1e90ff DodgerBlue contained
2 0.000016 syn keyword cssColorb22222 FireBrick contained
2 0.000014 syn keyword cssColorfffaf0 FloralWhite contained
2 0.000017 syn keyword cssColor228b22 ForestGreen contained
2 0.000015 syn keyword cssColordcdcdc Gainsboro contained
2 0.000015 syn keyword cssColorf8f8ff GhostWhite contained
2 0.000015 syn keyword cssColorffd700 Gold contained
2 0.000015 syn keyword cssColordaa520 GoldenRod contained
2 0.000017 syn keyword cssColoradff2f GreenYellow contained
2 0.000016 syn keyword cssColor808080 Grey contained
2 0.000015 syn keyword cssColorf0fff0 HoneyDew contained
2 0.000014 syn keyword cssColorff69b4 HotPink contained
2 0.000015 syn keyword cssColorcd5c5c IndianRed contained
2 0.000015 syn keyword cssColor4b0082 Indigo contained
2 0.000013 syn keyword cssColorfffff0 Ivory contained
2 0.000015 syn keyword cssColorf0e68c Khaki contained
2 0.000014 syn keyword cssColore6e6fa Lavender contained
2 0.000014 syn keyword cssColorfff0f5 LavenderBlush contained
2 0.000015 syn keyword cssColor7cfc00 LawnGreen contained
2 0.000014 syn keyword cssColorfffacd LemonChiffon contained
2 0.000016 syn keyword cssColoradd8e6 LightBlue contained
2 0.000015 syn keyword cssColorf08080 LightCoral contained
2 0.000014 syn keyword cssColore0ffff LightCyan contained
2 0.000016 syn keyword cssColorfafad2 LightGoldenRodYellow contained
2 0.000015 syn keyword cssColord3d3d3 LightGray contained
2 0.000016 syn keyword cssColor90ee90 LightGreen contained
2 0.000015 syn keyword cssColord3d3d3 LightGrey contained
2 0.000013 syn keyword cssColorffb6c1 LightPink contained
2 0.000013 syn keyword cssColorffa07a LightSalmon contained
2 0.000017 syn keyword cssColor20b2aa LightSeaGreen contained
2 0.000016 syn keyword cssColor87cefa LightSkyBlue contained
2 0.000016 syn keyword cssColor778899 LightSlateGray contained
2 0.000017 syn keyword cssColor778899 LightSlateGrey contained
2 0.000015 syn keyword cssColorb0c4de LightSteelBlue contained
2 0.000013 syn keyword cssColorffffe0 LightYellow contained
2 0.000017 syn keyword cssColor32cd32 LimeGreen contained
2 0.000013 syn keyword cssColorfaf0e6 Linen contained
2 0.000014 syn keyword cssColorff00ff Magenta contained
2 0.000018 syn keyword cssColor66cdaa MediumAquaMarine contained
2 0.000017 syn keyword cssColor0000cd MediumBlue contained
2 0.000031 syn keyword cssColorba55d3 MediumOrchid contained
2 0.000017 syn keyword cssColor9370d8 MediumPurple contained
2 0.000017 syn keyword cssColor3cb371 MediumSeaGreen contained
2 0.000017 syn keyword cssColor7b68ee MediumSlateBlue contained
2 0.000017 syn keyword cssColor00fa9a MediumSpringGreen contained
2 0.000017 syn keyword cssColor48d1cc MediumTurquoise contained
2 0.000015 syn keyword cssColorc71585 MediumVioletRed contained
2 0.000016 syn keyword cssColor191970 MidnightBlue contained
2 0.000015 syn keyword cssColorf5fffa MintCream contained
2 0.000014 syn keyword cssColorffe4e1 MistyRose contained
2 0.000013 syn keyword cssColorffe4b5 Moccasin contained
2 0.000014 syn keyword cssColorffdead NavajoWhite contained
2 0.000014 syn keyword cssColorfdf5e6 OldLace contained
2 0.000016 syn keyword cssColor6b8e23 OliveDrab contained
2 0.000013 syn keyword cssColorffa500 Orange contained
2 0.000014 syn keyword cssColorff4500 OrangeRed contained
2 0.000015 syn keyword cssColorda70d6 Orchid contained
2 0.000015 syn keyword cssColoreee8aa PaleGoldenRod contained
2 0.000016 syn keyword cssColor98fb98 PaleGreen contained
2 0.000016 syn keyword cssColorafeeee PaleTurquoise contained
2 0.000015 syn keyword cssColord87093 PaleVioletRed contained
2 0.000014 syn keyword cssColorffefd5 PapayaWhip contained
2 0.000013 syn keyword cssColorffdab9 PeachPuff contained
2 0.000014 syn keyword cssColorcd853f Peru contained
2 0.000014 syn keyword cssColorffc0cb Pink contained
2 0.000013 syn keyword cssColordda0dd Plum contained
2 0.000015 syn keyword cssColorb0e0e6 PowderBlue contained
2 0.000015 syn keyword cssColorbc8f8f RosyBrown contained
2 0.000017 syn keyword cssColor4169e1 RoyalBlue contained
2 0.000017 syn keyword cssColor8b4513 SaddleBrown contained
2 0.000014 syn keyword cssColorfa8072 Salmon contained
2 0.000015 syn keyword cssColorf4a460 SandyBrown contained
2 0.000017 syn keyword cssColor2e8b57 SeaGreen contained
2 0.000014 syn keyword cssColorfff5ee SeaShell contained
2 0.000015 syn keyword cssColora0522d Sienna contained
2 0.000016 syn keyword cssColor87ceeb SkyBlue contained
2 0.000016 syn keyword cssColor6a5acd SlateBlue contained
2 0.000017 syn keyword cssColor708090 SlateGray contained
2 0.000016 syn keyword cssColor708090 SlateGrey contained
2 0.000013 syn keyword cssColorfffafa Snow contained
2 0.000017 syn keyword cssColor00ff7f SpringGreen contained
2 0.000016 syn keyword cssColor4682b4 SteelBlue contained
2 0.000016 syn keyword cssColord2b48c Tan contained
2 0.000015 syn keyword cssColord8bfd8 Thistle contained
2 0.000014 syn keyword cssColorff6347 Tomato contained
2 0.000016 syn keyword cssColor40e0d0 Turquoise contained
2 0.000013 syn keyword cssColoree82ee Violet contained
2 0.000013 syn keyword cssColorf5deb3 Wheat contained
2 0.000014 syn keyword cssColorf5f5f5 WhiteSmoke contained
2 0.000015 syn keyword cssColor9acd32 YellowGreen contained
2 0.000060 let view = winsaveview()
2 1.587670 1.450610 %call s:PreviewCSSColorInLine()
2 0.000091 call winrestview(view)
" fix highlighting of "white" in `white-space` etc
" this really belongs in Vim's own syntax/css.vim ...
2 0.000300 setlocal iskeyword+=-
2 0.000060 autocmd CursorMoved <buffer> silent call s:PreviewCSSColorInLine()
2 0.000043 autocmd CursorMovedI <buffer> silent call s:PreviewCSSColorInLine()
2 0.000038 endif
SCRIPT /Users/yangkit/.vim/janus/vim/langs/coffeescript/after/syntax/html.vim
Sourced 2 times
Total time: 0.010068
Self time: 0.002584
count total (s) self (s)
" Language: CoffeeScript
" Maintainer: Mick Koch <kchmck@gmail.com>
" URL: http://github.com/kchmck/vim-coffee-script
" License: WTFPL
" Syntax highlighting for text/coffeescript script tags
2 0.000543 syn include @htmlCoffeeScript syntax/coffee.vim
2 0.000150 syn region coffeeScript start=+<script [^>]*type *=[^>]*text/coffeescript[^>]*>+
SCRIPT /Users/yangkit/.vim/janus/vim/langs/coffeescript/syntax/coffee.vim
Sourced 2 times
Total time: 0.007464
Self time: 0.007143
count total (s) self (s)
" Language: CoffeeScript
" Maintainer: Mick Koch <kchmck@gmail.com>
" URL: http://github.com/kchmck/vim-coffee-script
" License: WTFPL
" Bail if our syntax is already loaded.
2 0.000034 if exists('b:current_syntax') && b:current_syntax == 'coffee'
finish
endif
" Include JavaScript for coffeeEmbed.
2 0.000739 syn include @coffeeJS syntax/javascript.vim
" Highlight long strings.
2 0.000032 syn sync minlines=100
" CoffeeScript identifiers can have dollar signs.
2 0.000259 setlocal isident+=$
" These are `matches` instead of `keywords` because vim's highlighting
" priority for keywords is higher than matches. This causes keywords to be
" highlighted inside matches, even if a match says it shouldn't contain them --
" like with coffeeAssign and coffeeDot.
2 0.000051 syn match coffeeStatement /\<\%(return\|break\|continue\|throw\)\>/ display
2 0.000048 hi def link coffeeStatement Statement
2 0.000037 syn match coffeeRepeat /\<\%(for\|while\|until\|loop\)\>/ display
2 0.000035 hi def link coffeeRepeat Repeat
2 0.000045 syn match coffeeConditional /\<\%(if\|else\|unless\|switch\|when\|then\)\>/
\ display
2 0.000033 hi def link coffeeConditional Conditional
2 0.000030 syn match coffeeException /\<\%(try\|catch\|finally\)\>/ display
2 0.000031 hi def link coffeeException Exception
2 0.000058 syn match coffeeKeyword /\<\%(new\|in\|of\|by\|and\|or\|not\|is\|isnt\|class\|extends\|super\|do\)\>/
\ display
" The `own` keyword is only a keyword after `for`.
2 0.000053 syn match coffeeKeyword /\<for\s\+own\>/ contained containedin=coffeeRepeat
\ display
2 0.000036 hi def link coffeeKeyword Keyword
2 0.000042 syn match coffeeOperator /\<\%(instanceof\|typeof\|delete\)\>/ display
2 0.000044 hi def link coffeeOperator Operator
" The first case matches symbol operators only if they have an operand before.
2 0.000062 syn match coffeeExtendedOp /\%(\S\s*\)\@<=[+\-*/%&|\^=!<>?.]\{-1,}\|[-=]>\|--\|++\|:/
\ display
2 0.000029 syn match coffeeExtendedOp /\<\%(and\|or\)=/ display
2 0.000013 hi def link coffeeExtendedOp coffeeOperator
" This is separate from `coffeeExtendedOp` to help differentiate commas from
" dots.
2 0.000020 syn match coffeeSpecialOp /[,;]/ display
2 0.000033 hi def link coffeeSpecialOp SpecialChar
2 0.000037 syn match coffeeBoolean /\<\%(true\|on\|yes\|false\|off\|no\)\>/ display
2 0.000032 hi def link coffeeBoolean Boolean
2 0.000028 syn match coffeeGlobal /\<\%(null\|undefined\)\>/ display
2 0.000032 hi def link coffeeGlobal Type
" A special variable
2 0.000032 syn match coffeeSpecialVar /\<\%(this\|prototype\|arguments\)\>/ display
2 0.000033 hi def link coffeeSpecialVar Special
" An @-variable
2 0.000026 syn match coffeeSpecialIdent /@\%(\I\i*\)\?/ display
2 0.000040 hi def link coffeeSpecialIdent Identifier
" A class-like name that starts with a capital letter
2 0.000031 syn match coffeeObject /\<\u\w*\>/ display
2 0.000052 hi def link coffeeObject Structure
" A constant-like name in SCREAMING_CAPS
2 0.000043 syn match coffeeConstant /\<\u[A-Z0-9_]\+\>/ display
2 0.000050 hi def link coffeeConstant Constant
" A variable name
2 0.000084 syn cluster coffeeIdentifier contains=coffeeSpecialVar,coffeeSpecialIdent,
\ coffeeObject,coffeeConstant
" A non-interpolated string
2 0.000037 syn cluster coffeeBasicString contains=@Spell,coffeeEscape
" An interpolated string
2 0.000034 syn cluster coffeeInterpString contains=@coffeeBasicString,coffeeInterp
" Regular strings
2 0.000075 syn region coffeeString start=/"/ skip=/\\\\\|\\"/ end=/"/
\ contains=@coffeeInterpString
2 0.000074 syn region coffeeString start=/'/ skip=/\\\\\|\\'/ end=/'/
\ contains=@coffeeBasicString
2 0.000069 hi def link coffeeString String
" A integer, including a leading plus or minus
2 0.000051 syn match coffeeNumber /\i\@<![-+]\?\d\+\%([eE][+-]\?\d\+\)\?/ display
" A hex, binary, or octal number
2 0.000027 syn match coffeeNumber /\<0[xX]\x\+\>/ display
2 0.000025 syn match coffeeNumber /\<0[bB][01]\+\>/ display
2 0.000028 syn match coffeeNumber /\<0[oO][0-7]\+\>/ display
2 0.000037 hi def link coffeeNumber Number
" A floating-point number, including a leading plus or minus
2 0.000047 syn match coffeeFloat /\i\@<![-+]\?\d*\.\@<!\.\d\+\%([eE][+-]\?\d\+\)\?/
\ display
2 0.000033 hi def link coffeeFloat Float
" An error for reserved keywords
2 0.000061 if !exists("coffee_no_reserved_words_error")
2 0.000134 syn match coffeeReservedError /\<\%(case\|default\|function\|var\|void\|with\|const\|let\|enum\|export\|import\|native\|__hasProp\|__extends\|__slice\|__bind\|__indexOf\|implements\|interface\|let\|package\|private\|protected\|public\|static\|yield\)\>/
\ display
2 0.000039 hi def link coffeeReservedError Error
2 0.000006 endif
" A normal object assignment
2 0.000051 syn match coffeeObjAssign /@\?\I\i*\s*\ze::\@!/ contains=@coffeeIdentifier display
2 0.000039 hi def link coffeeObjAssign Identifier
2 0.000026 syn keyword coffeeTodo TODO FIXME XXX contained
2 0.000031 hi def link coffeeTodo Todo
2 0.000037 syn match coffeeComment /#.*/ contains=@Spell,coffeeTodo
2 0.000033 hi def link coffeeComment Comment
2 0.000065 syn region coffeeBlockComment start=/####\@!/ end=/###/
\ contains=@Spell,coffeeTodo
2 0.000013 hi def link coffeeBlockComment coffeeComment
" A comment in a heregex
2 0.000051 syn region coffeeHeregexComment start=/#/ end=/\ze\/\/\/\|$/ contained
\ contains=@Spell,coffeeTodo
2 0.000012 hi def link coffeeHeregexComment coffeeComment
" Embedded JavaScript
2 0.000071 syn region coffeeEmbed matchgroup=coffeeEmbedDelim
\ start=/`/ skip=/\\\\\|\\`/ end=/`/
\ contains=@coffeeJS
2 0.000040 hi def link coffeeEmbedDelim Delimiter
2 0.000044 syn region coffeeInterp matchgroup=coffeeInterpDelim start=/#{/ end=/}/ contained
\ contains=@coffeeAll
2 0.000035 hi def link coffeeInterpDelim PreProc
" A string escape sequence
2 0.000040 syn match coffeeEscape /\\\d\d\d\|\\x\x\{2\}\|\\u\x\{4\}\|\\./ contained display
2 0.000033 hi def link coffeeEscape SpecialChar
" A regex -- must not follow a parenthesis, number, or identifier, and must not
" be followed by a number
2 0.000097 syn region coffeeRegex start=/\%(\%()\|\i\@<!\d\)\s*\|\i\)\@<!\/=\@!\s\@!/
\ skip=/\[[^\]]\{-}\/[^\]]\{-}\]/
\ end=/\/[gimy]\{,4}\d\@!/
\ oneline contains=@coffeeBasicString
2 0.000034 hi def link coffeeRegex String
" A heregex
2 0.000064 syn region coffeeHeregex start=/\/\/\// end=/\/\/\/[gimy]\{,4}/
\ contains=@coffeeInterpString,coffeeHeregexComment
\ fold
2 0.000011 hi def link coffeeHeregex coffeeRegex
" Heredoc strings
2 0.000038 syn region coffeeHeredoc start=/"""/ end=/"""/ contains=@coffeeInterpString
\ fold
2 0.000037 syn region coffeeHeredoc start=/'''/ end=/'''/ contains=@coffeeBasicString
\ fold
2 0.000034 hi def link coffeeHeredoc String
" An error for trailing whitespace, as long as the line isn't just whitespace
2 0.000023 if !exists("coffee_no_trailing_space_error")
2 0.000029 syn match coffeeSpaceError /\S\@<=\s\+$/ display
2 0.000035 hi def link coffeeSpaceError Error
2 0.000006 endif
" An error for trailing semicolons, for help transitioning from JavaScript
2 0.000018 if !exists("coffee_no_trailing_semicolon_error")
2 0.000023 syn match coffeeSemicolonError /;$/ display
2 0.000034 hi def link coffeeSemicolonError Error
2 0.000004 endif
" Ignore reserved words in dot accesses.
2 0.000037 syn match coffeeDotAccess /\.\@<!\.\s*\I\i*/he=s+1 contains=@coffeeIdentifier
2 0.000013 hi def link coffeeDotAccess coffeeExtendedOp
" Ignore reserved words in prototype accesses.
2 0.000030 syn match coffeeProtoAccess /::\s*\I\i*/he=s+2 contains=@coffeeIdentifier
2 0.000012 hi def link coffeeProtoAccess coffeeExtendedOp
" This is required for interpolations to work.
2 0.000041 syn region coffeeCurlies matchgroup=coffeeCurly start=/{/ end=/}/
\ contains=@coffeeAll
2 0.000040 syn region coffeeBrackets matchgroup=coffeeBracket start=/\[/ end=/\]/
\ contains=@coffeeAll
2 0.000037 syn region coffeeParens matchgroup=coffeeParen start=/(/ end=/)/
\ contains=@coffeeAll
" These are highlighted the same as commas since they tend to go together.
2 0.000012 hi def link coffeeBlock coffeeSpecialOp
2 0.000009 hi def link coffeeBracket coffeeBlock
2 0.000009 hi def link coffeeCurly coffeeBlock
2 0.000007 hi def link coffeeParen coffeeBlock
" This is used instead of TOP to keep things coffee-specific for good
" embedding. `contained` groups aren't included.
2 0.000325 syn cluster coffeeAll contains=coffeeStatement,coffeeRepeat,coffeeConditional,
\ coffeeException,coffeeKeyword,coffeeOperator,
\ coffeeExtendedOp,coffeeSpecialOp,coffeeBoolean,
\ coffeeGlobal,coffeeSpecialVar,coffeeSpecialIdent,
\ coffeeObject,coffeeConstant,coffeeString,
\ coffeeNumber,coffeeFloat,coffeeReservedError,
\ coffeeObjAssign,coffeeComment,coffeeBlockComment,
\ coffeeEmbed,coffeeRegex,coffeeHeregex,
\ coffeeHeredoc,coffeeSpaceError,
\ coffeeSemicolonError,coffeeDotAccess,
\ coffeeProtoAccess,coffeeCurlies,coffeeBrackets,
\ coffeeParens
2 0.000022 if !exists('b:current_syntax')
let b:current_syntax = 'coffee'
endif
FUNCTION Powerline#Functions#fugitive#GetBranch()
Called 32 times
Total time: 0.033550
Self time: 0.002407
count total (s) self (s)
32 0.031651 0.000508 let ret = fugitive#statusline()
32 0.001584 let ret = substitute(ret, '\c\v\[?GIT\(([a-z0-9\-_\./:]+)\)\]?', a:symbol .' \1', 'g')
32 0.000119 return ret
FUNCTION <SNR>55_repo_head_ref()
Called 32 times
Total time: 0.003501
Self time: 0.002798
count total (s) self (s)
32 0.003437 0.002734 return readfile(self.dir('HEAD'))[0]
FUNCTION <SNR>124_app_has()
Called 16 times
Total time: 0.001649
Self time: 0.001330
count total (s) self (s)
16 0.000344 let map = {'test': 'test/','spec': 'spec/','cucumber': 'features/','turnip': 'spec/acceptance/','sass': 'public/stylesheets/sass/','lesscss': 'app/stylesheets/','coffee': 'app/scripts/'}
16 0.000325 0.000177 if self.cache.needs('features')
call self.cache.set('features',{})
endif
16 0.000381 0.000210 let features = self.cache.get('features')
16 0.000109 if !has_key(features,a:feature)
let path = get(map,a:feature,a:feature.'/')
let features[a:feature] = isdirectory(rails#app().path(path))
endif
16 0.000075 return features[a:feature]
FUNCTION <SNR>130_Render()
Called 15 times
Total time: 0.404871
Self time: 0.011542
count total (s) self (s)
15 0.000392 let [&ma, lines, s:height] = [1, a:lines, min([len(a:lines), s:winh])]
15 0.000132 let pat = s:byfname ? split(a:pat, '^[^;]\+\\\@<!\zs;', 1)[0] : a:pat
" Setup the match window
15 0.000631 sil! exe '%d _ | res' s:height
" Print the new items
15 0.000081 if empty(lines)
let [s:matched, s:lines] = [[], []]
cal setline(1, ' == NO ENTRIES ==')
setl noma nocul
cal s:unmarksigns()
if s:dohighlight() | cal clearmatches() | en
retu
en
15 0.000263 let s:matched = copy(lines)
" Sorting
15 0.000668 0.000160 if !s:nosort()
15 0.000124 let s:compat = s:martcs.pat
15 0.382779 0.004366 cal sort(lines, 's:mixedsort')
15 0.000075 unl s:compat
15 0.000023 en
15 0.000183 if s:mwreverse | cal reverse(lines) | en
15 0.000332 let s:lines = copy(lines)
15 0.012792 0.001588 cal map(lines, 's:formatline(v:val)')
15 0.000463 cal setline(1, lines)
15 0.000412 setl noma cul
15 0.000673 exe 'keepj norm!' ( s:mwreverse ? 'G' : 'gg' ).'1|'
15 0.000624 0.000199 cal s:unmarksigns()
15 0.000475 0.000159 cal s:remarksigns()
15 0.000103 if exists('s:cline') && s:nolim != 1
cal cursor(s:cline, 1)
en
" Highlighting
15 0.000658 0.000128 if s:dohighlight()
15 0.002176 0.000243 cal s:highlight(pat, s:mathi[1])
15 0.000021 en
FUNCTION <SNR>124_BufFinderCommands()
Called 2 times
Total time: 0.023634
Self time: 0.000963
count total (s) self (s)
2 0.000053 command! -buffer -bar -nargs=+ Rnavcommand :call s:Navcommand(<bang>0,<f-args>)
2 0.001132 0.000047 call s:addfilecmds("metal")
2 0.001064 0.000030 call s:addfilecmds("model")
2 0.001049 0.000028 call s:addfilecmds("view")
2 0.001392 0.000032 call s:addfilecmds("controller")
2 0.001051 0.000033 call s:addfilecmds("mailer")
2 0.001141 0.000030 call s:addfilecmds("migration")
2 0.001149 0.000031 call s:addfilecmds("schema")
2 0.001547 0.000036 call s:addfilecmds("observer")
2 0.001265 0.000043 call s:addfilecmds("helper")
2 0.001025 0.000030 call s:addfilecmds("layout")
2 0.001062 0.000029 call s:addfilecmds("fixtures")
2 0.001317 0.000031 call s:addfilecmds("locale")
2 0.000642 0.000088 if rails#app().has('test') || rails#app().has('spec')
call s:addfilecmds("unittest")
call s:addfilecmds("functionaltest")
endif
2 0.000870 0.000107 if rails#app().has('test') || rails#app().has('spec') || rails#app().has('cucumber')
call s:addfilecmds("integrationtest")
endif
2 0.000278 0.000036 if rails#app().has('spec')
call s:addfilecmds("spec")
endif
2 0.001088 0.000027 call s:addfilecmds("stylesheet")
2 0.001175 0.000030 call s:addfilecmds("javascript")
2 0.001050 0.000030 call s:addfilecmds("plugin")
2 0.001036 0.000027 call s:addfilecmds("task")
2 0.001044 0.000025 call s:addfilecmds("lib")
2 0.001060 0.000028 call s:addfilecmds("environment")
2 0.001060 0.000028 call s:addfilecmds("initializer")
FUNCTION RailsFilePath()
Called 6 times
Total time: 0.003326
Self time: 0.000333
count total (s) self (s)
6 0.000054 if !exists("b:rails_root")
return ""
else
6 0.003227 0.000234 return rails#buffer().name()
endif
FUNCTION <SNR>84_warn()
Called 2 times
Total time: 0.000266
Self time: 0.000266
count total (s) self (s)
2 0.000112 echohl WarningMsg
2 0.000057 echomsg a:str
2 0.000021 echohl None
2 0.000061 let v:warningmsg = a:str
FUNCTION <SNR>84_shellesc()
Called 4 times
Total time: 0.000213
Self time: 0.000213
count total (s) self (s)
4 0.000139 if a:arg =~ '^[A-Za-z0-9_/.-]\+$'
2 0.000008 return a:arg
else
2 0.000046 return shellescape(a:arg)
endif
FUNCTION <SNR>130_getinput()
Called 17 times
Total time: 0.002362
Self time: 0.002362
count total (s) self (s)
17 0.000233 let [prt, spi] = [s:prompt, ( a:0 ? a:1 : '' )]
17 0.000106 if s:abbrev != {}
let gmd = has_key(s:abbrev, 'gmode') ? s:abbrev['gmode'] : ''
let str = ( gmd =~ 't' && !a:0 ) || spi == 'c' ? prt[0] : join(prt, '')
if gmd =~ 't' && gmd =~ 'k' && !a:0 && matchstr(str, '.$') =~ '\k'
retu join(prt, '')
en
let [pf, rz] = [( s:byfname ? 'f' : 'p' ), ( s:regexp ? 'r' : 'z' )]
for dict in s:abbrev['abbrevs']
let dmd = has_key(dict, 'mode') ? dict['mode'] : ''
let pat = escape(dict['pattern'], '~')
if ( dmd == '' || ( dmd =~ pf && dmd =~ rz && !a:0 ) || dmd =~ '['.spi.']' ) && str =~ pat
let [str, s:did_exp] = [join(split(str, pat, 1), dict['expanded']), 1]
en
endfo
if gmd =~ 't' && !a:0
let prt[0] = str
el
retu str
en
en
17 0.000259 retu spi == 'c' ? prt[0] : join(prt, '')
FUNCTION <SNR>124_buffer_path()
Called 2 times
Total time: 0.000113
Self time: 0.000071
count total (s) self (s)
2 0.000111 0.000069 return s:gsub(fnamemodify(bufname(self.number()),':p'),'\\ @!','/')
FUNCTION <SNR>124_BufCommands()
Called 2 times
Total time: 0.028909
Self time: 0.000742
count total (s) self (s)
2 0.023673 0.000039 call s:BufFinderCommands()
2 0.001762 0.000053 call s:BufNavCommands()
2 0.000528 0.000042 call s:BufScriptWrappers()
2 0.000068 command! -buffer -bar -nargs=? -bang -count -complete=customlist,s:Complete_rake Rake :call s:Rake(<bang>0,!<count> && <line1> ? -1 : <count>,<q-args>)
2 0.000048 command! -buffer -bar -nargs=? -bang -range -complete=customlist,s:Complete_preview Rpreview :call s:Preview(<bang>0,<line1>,<q-args>)
2 0.000036 command! -buffer -bar -nargs=? -bang -complete=customlist,s:Complete_environments Rlog :call s:Log(<bang>0,<q-args>)
2 0.000034 command! -buffer -bar -nargs=* -bang -complete=customlist,s:Complete_set Rset :call s:Set(<bang>0,<f-args>)
2 0.000026 command! -buffer -bar -nargs=0 Rtags :execute rails#app().tags_command()
" Embedding all this logic directly into the command makes the error
" messages more concise.
2 0.000075 command! -buffer -bar -nargs=? -bang Rdoc : if <bang>0 || <q-args> =~ "^\\([:'-]\\|g:\\)" | exe RailsHelpCommand(<q-args>) | else | call s:Doc(<bang>0,<q-args>) | endif
2 0.000056 command! -buffer -bar -nargs=0 -bang Rrefresh :if <bang>0|unlet! g:autoloaded_rails|source `=s:file`|endif|call s:Refresh(<bang>0)
2 0.000025 if exists(":NERDTree")
2 0.000033 command! -buffer -bar -nargs=? -complete=customlist,s:Complete_cd Rtree :NERDTree `=rails#app().path(<f-args>)`
2 0.000003 endif
2 0.000013 if exists("g:loaded_dbext")
command! -buffer -bar -nargs=? -complete=customlist,s:Complete_environments Rdbext :call s:BufDatabase(2,<q-args>)|let b:dbext_buffer_defaulted = 1
endif
2 0.000020 let ext = expand("%:e")
2 0.001159 0.000047 if RailsFilePath() =~ '\<app/views/'
" TODO: complete controller names with trailing slashes here
command! -buffer -bar -bang -nargs=? -range -complete=customlist,s:controllerList Rextract :<line1>,<line2>call s:Extract(<bang>0,<f-args>)
endif
2 0.001283 0.000057 if RailsFilePath() =~ '\<db/migrate/.*\.rb$'
command! -buffer -bar Rinvert :call s:Invert(<bang>0)
endif
FUNCTION <SNR>124_cache_needs()
Called 22 times
Total time: 0.000207
Self time: 0.000207
count total (s) self (s)
22 0.000181 return !has_key(self.dict,a:key)
FUNCTION <SNR>44_Detect()
Called 2 times
Total time: 3.574276
Self time: 0.001003
count total (s) self (s)
2 0.000032 if exists('b:rails_root')
return s:BufInit(b:rails_root)
endif
2 0.000097 let fn = substitute(fnamemodify(a:filename,":p"),'\c^file://','','')
2 0.000053 let sep = matchstr(fn,'^[^\\/]\{3,\}\zs[\\/]')
2 0.000011 if sep != ""
let fn = getcwd().sep.fn
endif
2 0.000084 if fn =~ '[\/]config[\/]environment\.rb$'
return s:BufInit(strpart(fn,0,strlen(fn)-22))
endif
2 0.000030 if isdirectory(fn)
let fn = fnamemodify(fn,':s?[\/]$??')
else
2 0.000101 let fn = fnamemodify(fn,':s?\(.*\)[\/][^\/]*$?\1?')
2 0.000006 endif
2 0.000011 let ofn = ""
2 0.000013 let nfn = fn
6 0.000064 while nfn != ofn && nfn != ""
6 0.000949 0.000187 if exists("s:_".s:escvar(nfn))
2 3.572539 0.000028 return s:BufInit(nfn)
endif
4 0.000025 let ofn = nfn
4 0.000058 let nfn = fnamemodify(nfn,':h')
4 0.000019 endwhile
let ofn = ""
while fn != ofn
if filereadable(fn . "/config/environment.rb")
return s:BufInit(fn)
endif
let ofn = fn
let fn = fnamemodify(ofn,':s?\(.*\)[\/]\(app\|config\|db\|doc\|extras\|features\|lib\|log\|public\|script\|spec\|stories\|test\|tmp\|vendor\)\($\|[\/].*$\)?\1?')
endwhile
return 0
FUNCTION <SNR>130_dohighlight()
Called 15 times
Total time: 0.000530
Self time: 0.000282
count total (s) self (s)
15 0.000512 0.000264 retu s:mathi[0] && exists('*clearmatches') && !ctrlp#nosy()
FUNCTION <SNR>44_escvar()
Called 8 times
Total time: 0.000904
Self time: 0.000904
count total (s) self (s)
8 0.000155 let r = fnamemodify(a:r,':~')
8 0.000568 let r = substitute(r,'\W','\="_".char2nr(submatch(0))."_"','g')
8 0.000119 let r = substitute(r,'^\d','_&','')
8 0.000032 return r
FUNCTION ctrlp#acceptfile()
Called 2 times
Total time: 14.443130
Self time: 0.001440
count total (s) self (s)
2 0.000236 let [md, filpath] = [a:mode, fnamemodify(a:line, ':p')]
2 0.067233 0.000063 cal s:PrtExit()
2 0.000636 0.000584 let [bufnr, tail] = [bufnr('^'.filpath.'$'), s:tail()]
2 0.000035 let j2l = a:0 ? a:1 : matchstr(tail, '^ +\zs\d\+$')
2 0.000033 if ( s:jmptobuf =~ md || ( s:jmptobuf && md =~ '[et]' ) ) && bufnr > 0 && !( md == 'e' && bufnr == bufnr('%') )
let [jmpb, bufwinnr] = [1, bufwinnr(bufnr)]
let buftab = ( s:jmptobuf =~# '[tTVH]' || s:jmptobuf > 1 ) ? s:buftab(bufnr, md) : [0, 0]
en
" Switch to existing buffer or open new one
2 0.000021 if exists('jmpb') && bufwinnr > 0 && !( md == 't' && ( s:jmptobuf !~# toupper(md) || buftab[0] ) )
exe bufwinnr.'winc w'
if j2l | cal ctrlp#j2l(j2l) | en
elsei exists('jmpb') && buftab[0] && !( md =~ '[evh]' && s:jmptobuf !~# toupper(md) )
exe 'tabn' buftab[0]
exe buftab[1].'winc w'
if j2l | cal ctrlp#j2l(j2l) | en
el
" Determine the command to use
2 0.000017 let useb = bufnr > 0 && buflisted(bufnr) && empty(tail)
2 0.000410 0.000069 let cmd = md == 't' || s:splitwin == 1 ? ( useb ? 'tab sb' : 'tabe' ) : md == 'h' || s:splitwin == 2 ? ( useb ? 'sb' : 'new' ) : md == 'v' || s:splitwin == 3 ? ( useb ? 'vert sb' : 'vne' ) : call('ctrlp#normcmd', useb ? ['b', 'bo vert sb'] : ['e'])
" Reset &switchbuf option
2 0.000036 let [swb, &swb] = [&swb, '']
" Open new window/buffer
2 0.000025 let [fid, tail] = [( useb ? bufnr : filpath ), ( a:0 ? ' +'.a:1 : tail )]
2 0.000019 let args = [cmd, fid, tail, 1, [useb, j2l]]
2 14.374238 0.000111 cal call('s:openfile', args)
2 0.000046 let &swb = swb
2 0.000004 en
FUNCTION <SNR>130_matchlens()
Called 1227 times
Total time: 0.188821
Self time: 0.135531
count total (s) self (s)
1227 0.019845 if empty(a:pat) || index(['^', '$'], a:pat) >= 0 | retu {} | en
1147 0.005871 let st = a:0 ? a:1 : 0
1147 0.006046 let lens = a:0 >= 2 ? a:2 : {}
1147 0.005288 let nr = a:0 >= 3 ? a:3 : 0
1147 0.005693 if nr > 20 | retu {} | en
1147 0.022361 if match(a:str, a:pat, st) >= 0
577 0.024215 let [mst, mnd] = [matchstr(a:str, a:pat, st), matchend(a:str, a:pat, st)]
577 0.009998 let lens = extend(lens, { nr : [strlen(mst), mst] })
577 0.008582 let lens = s:matchlens(a:str, a:pat, mnd, lens, nr + 1)
577 0.001043 en
1147 0.002875 retu lens
FUNCTION <SNR>124_pathjoin()
Called 4 times
Total time: 0.003879
Self time: 0.003879
count total (s) self (s)
4 0.000023 let i = 0
4 0.000082 let path = ""
12 0.000058 while i < a:0
8 0.000090 if type(a:000[i]) == type([])
8 0.000054 let list = a:000[i]
8 0.000027 let j = 0
54 0.000248 while j < len(list)
46 0.001363 let escaped = substitute(list[j],'[\\, ]','\\&','g')
46 0.000277 if exists("+shellslash") && !&shellslash
let escaped = substitute(escaped,'^\(\w:\\\)\\','\1','')
endif
46 0.000379 let path .= ',' . escaped
46 0.000157 let j += 1
46 0.000131 endwhile
8 0.000013 else
let path .= "," . a:000[i]
endif
8 0.000023 let i += 1
8 0.000013 endwhile
4 0.000075 return substitute(path,'^,','','')
FUNCTION <SNR>84_buffer_alter_paths()
Called 2 times
Total time: 6.515011
Self time: 0.001405
count total (s) self (s)
2 0.000062 0.000040 if self.getvar('&suffixesadd') =~# '\.rb\>'
2 6.513635 0.000667 let new = sort(values(self.project().gems()))
2 0.000369 0.000073 let index = index(new, self.project().path())
2 0.000009 if index > 0
call insert(new,remove(new,index))
endif
2 0.000059 0.000039 let old = type(self.getvar('bundler_paths')) == type([]) ? self.getvar('bundler_paths') : []
6 0.000051 for [option, suffix] in [['path', 'lib'], ['tags', 'tags']]
4 0.000118 0.000068 let value = self.getvar('&'.option)
4 0.000022 if !empty(old)
let drop = s:build_path_option(old,suffix)
let index = stridx(value,drop)
if index > 0
let value = value[0:index-1] . value[index+strlen(drop):-1]
endif
endif
4 0.000367 0.000147 call self.setvar('&'.option,value.s:build_path_option(new,suffix))
4 0.000025 endfor
2 0.000053 0.000023 call self.setvar('bundler_paths',new)
2 0.000005 endif
FUNCTION <SNR>124_buffer_app()
Called 54 times
Total time: 0.004899
Self time: 0.001701
count total (s) self (s)
54 0.001789 0.000645 if self.getvar('rails_root') != ''
54 0.003012 0.000958 return rails#app(self.getvar('rails_root'))
else
return 0
endif
FUNCTION ctrlp#utils#cachedir()
Called 4 times
Total time: 0.000027
Self time: 0.000027
count total (s) self (s)
4 0.000020 retu s:cache_dir
FUNCTION ctrlp#init()
Called 2 times
Total time: 0.090059
Self time: 0.000643
count total (s) self (s)
2 0.007955 0.000091 if exists('s:init') || s:iscmdwin() | retu | en
2 0.000041 let [s:ermsg, v:errmsg] = [v:errmsg, '']
2 0.000053 let [s:matches, s:init] = [1, 1]
2 0.004284 0.000065 cal s:Reset(a:0 ? a:1 : {})
2 0.004589 0.000081 noa cal s:Open()
2 0.006670 0.000063 cal s:SetWD(a:0 ? a:1 : {})
2 0.000064 0.000038 cal s:MapNorms()
2 0.005039 0.000031 cal s:MapSpecs()
2 0.000846 0.000026 cal ctrlp#syntax()
2 0.001245 0.000042 cal ctrlp#setlines(s:settype(a:type))
2 0.000058 0.000037 cal s:SetDefTxt()
2 0.059178 0.000038 cal s:BuildPrompt(1)
2 0.000019 if s:keyloop | cal s:KeyLoop() | en
FUNCTION <SNR>79_ExpandMap()
Called 2 times
Total time: 0.000073
Self time: 0.000073
count total (s) self (s)
2 0.000012 let map = a:map
2 0.000026 if map =~ '<Plug>'
let map = substitute(map, '\(<Plug>\w\+\)', '\=maparg(submatch(1), "i")', 'g')
endif
2 0.000009 return map
FUNCTION <SNR>55_repo_dir()
Called 32 times
Total time: 0.000703
Self time: 0.000703
count total (s) self (s)
32 0.000658 return join([self.git_dir]+a:000,'/')
FUNCTION RailsRoot()
Called 14 times
Total time: 0.000186
Self time: 0.000186
count total (s) self (s)
14 0.000106 if exists("b:rails_root")
14 0.000051 return b:rails_root
else
return ""
endif
FUNCTION <SNR>130_setupblank()
Called 2 times
Total time: 0.000428
Self time: 0.000428
count total (s) self (s)
2 0.000129 setl noswf nonu nobl nowrap nolist nospell nocuc wfh
2 0.000122 setl fdc=0 fdl=99 tw=0 bt=nofile bh=unload
2 0.000021 if v:version > 702
2 0.000132 setl nornu noudf cc=0
2 0.000007 en
FUNCTION <SNR>124_BufNavCommands()
Called 2 times
Total time: 0.001709
Self time: 0.001709
count total (s) self (s)
2 0.000034 command! -buffer -bar -nargs=? -complete=customlist,s:Complete_cd Rcd :cd `=rails#app().path(<q-args>)`
2 0.000031 command! -buffer -bar -nargs=? -complete=customlist,s:Complete_cd Rlcd :lcd `=rails#app().path(<q-args>)`
2 0.000070 command! -buffer -bar -nargs=* -count=1 -complete=customlist,s:Complete_find Rfind :call s:warn( 'Rfind has been deprecated in favor of :1R or :find' )|call s:Find(<count>,'<bang>' ,<f-args>)
2 0.000065 command! -buffer -bar -nargs=* -count=1 -complete=customlist,s:Complete_find REfind :call s:warn('REfind has been deprecated in favor of :1RE or :find')|call s:Find(<count>,'E<bang>',<f-args>)
2 0.000064 command! -buffer -bar -nargs=* -count=1 -complete=customlist,s:Complete_find RSfind :call s:warn('RSfind has been deprecated in favor of :1RS or :find')|call s:Find(<count>,'S<bang>',<f-args>)
2 0.000066 command! -buffer -bar -nargs=* -count=1 -complete=customlist,s:Complete_find RVfind :call s:warn('RVfind has been deprecated in favor of :1RV or :find')|call s:Find(<count>,'V<bang>',<f-args>)
2 0.000064 command! -buffer -bar -nargs=* -count=1 -complete=customlist,s:Complete_find RTfind :call s:warn('RTfind has been deprecated in favor of :1RT or :find')|call s:Find(<count>,'T<bang>',<f-args>)
2 0.000069 command! -buffer -bar -nargs=* -count=1 -complete=customlist,s:Complete_find Rsfind :call s:warn('Rsfind has been deprecated in favor of :1RS or :sfind')|<count>RSfind<bang> <args>
2 0.000069 command! -buffer -bar -nargs=* -count=1 -complete=customlist,s:Complete_find Rtabfind :call s:warn('Rtabfind has been deprecated in favor of :1RT or :tabfind')|<count>RTfind<bang> <args>
2 0.000063 command! -buffer -bar -nargs=* -bang -complete=customlist,s:Complete_edit Redit :call s:warn( 'Redit has been deprecated in favor of :R')|call s:Edit(<count>,'<bang>' ,<f-args>)
2 0.000058 command! -buffer -bar -nargs=* -bang -complete=customlist,s:Complete_edit REedit :call s:warn('REedit has been deprecated in favor of :RE')|call s:Edit(<count>,'E<bang>',<f-args>)
2 0.000058 command! -buffer -bar -nargs=* -bang -complete=customlist,s:Complete_edit RSedit :call s:warn('RSedit has been deprecated in favor of :RS')|call s:Edit(<count>,'S<bang>',<f-args>)
2 0.000059 command! -buffer -bar -nargs=* -bang -complete=customlist,s:Complete_edit RVedit :call s:warn('RVedit has been deprecated in favor of :RV')|call s:Edit(<count>,'V<bang>',<f-args>)
2 0.000059 command! -buffer -bar -nargs=* -bang -complete=customlist,s:Complete_edit RTedit :call s:warn('RTedit has been deprecated in favor of :RT')|call s:Edit(<count>,'T<bang>',<f-args>)
2 0.000071 command! -buffer -bar -nargs=* -range=0 -complete=customlist,s:Complete_edit RDedit :call s:warn('RDedit has been deprecated in favor of :RD')|call s:Edit(<count>,'<line1>D<bang>',<f-args>)
2 0.000061 command! -buffer -bar -nargs=* -range=0 -complete=customlist,s:Complete_related A :call s:Alternate('<bang>', <line1>,<line2>,<count>,<f-args>)
2 0.000060 command! -buffer -bar -nargs=* -range=0 -complete=customlist,s:Complete_related AE :call s:Alternate('E<bang>',<line1>,<line2>,<count>,<f-args>)
2 0.000058 command! -buffer -bar -nargs=* -range=0 -complete=customlist,s:Complete_related AS :call s:Alternate('S<bang>',<line1>,<line2>,<count>,<f-args>)
2 0.000058 command! -buffer -bar -nargs=* -range=0 -complete=customlist,s:Complete_related AV :call s:Alternate('V<bang>',<line1>,<line2>,<count>,<f-args>)
2 0.000064 command! -buffer -bar -nargs=* -range=0 -complete=customlist,s:Complete_related AT :call s:Alternate('T<bang>',<line1>,<line2>,<count>,<f-args>)
2 0.000062 command! -buffer -bar -nargs=* -range=0 -complete=customlist,s:Complete_related AD :call s:Alternate('D<bang>',<line1>,<line2>,<count>,<f-args>)
2 0.000061 command! -buffer -bar -nargs=* -range=0 -complete=customlist,s:Complete_related AN :call s:Related('<bang>' ,<line1>,<line2>,<count>,<f-args>)
2 0.000058 command! -buffer -bar -nargs=* -range=0 -complete=customlist,s:Complete_related R :call s:Related('<bang>' ,<line1>,<line2>,<count>,<f-args>)
2 0.000059 command! -buffer -bar -nargs=* -range=0 -complete=customlist,s:Complete_related RE :call s:Related('E<bang>',<line1>,<line2>,<count>,<f-args>)
2 0.000060 command! -buffer -bar -nargs=* -range=0 -complete=customlist,s:Complete_related RS :call s:Related('S<bang>',<line1>,<line2>,<count>,<f-args>)
2 0.000062 command! -buffer -bar -nargs=* -range=0 -complete=customlist,s:Complete_related RV :call s:Related('V<bang>',<line1>,<line2>,<count>,<f-args>)
2 0.000060 command! -buffer -bar -nargs=* -range=0 -complete=customlist,s:Complete_related RT :call s:Related('T<bang>',<line1>,<line2>,<count>,<f-args>)
2 0.000058 command! -buffer -bar -nargs=* -range=0 -complete=customlist,s:Complete_related RD :call s:Related('D<bang>',<line1>,<line2>,<count>,<f-args>)
FUNCTION <SNR>55_repo()
Called 64 times
Total time: 0.007437
Self time: 0.007437
count total (s) self (s)
64 0.001396 let dir = a:0 ? a:1 : (exists('b:git_dir') && b:git_dir !=# '' ? b:git_dir : fugitive#extract_git_dir(expand('%:p')))
64 0.000328 if dir !=# ''
64 0.000660 if has_key(s:repos, dir)
64 0.000608 let repo = get(s:repos, dir)
64 0.000137 else
let repo = {'git_dir': dir}
let s:repos[dir] = repo
endif
64 0.003031 return extend(extend(repo, s:repo_prototype, 'keep'), s:abstract_prototype, 'keep')
endif
call s:throw('not a git repository: '.expand('%:p'))
FUNCTION ctrlp#utils#writecache()
Called 2 times
Total time: 0.000625
Self time: 0.000540
count total (s) self (s)
2 0.000127 0.000042 if isdirectory(ctrlp#utils#mkdir(a:0 ? a:1 : s:cache_dir))
2 0.000480 sil! cal writefile(a:lines, a:0 >= 2 ? a:2 : ctrlp#utils#cachefile())
2 0.000009 en
FUNCTION <SNR>124_BufSyntax()
Called 2 times
Total time: 1.718541
Self time: 0.007317
count total (s) self (s)
2 0.000029 if (!exists("g:rails_syntax") || g:rails_syntax)
2 0.000135 0.000030 let buffer = rails#buffer()
2 0.000015 let s:javascript_functions = "$ $$ $A $F $H $R $w jQuery"
2 0.000439 0.000129 let classes = s:gsub(join(rails#app().user_classes(),' '),'::',' ')
2 0.000014 if &syntax == 'ruby'
2 0.000008 if classes != ''
2 0.000502 exe "syn keyword rubyRailsUserClass ".classes." containedin=rubyClassDeclaration,rubyModuleDeclaration,rubyClass,rubyModule"
2 0.000005 endif
2 0.000197 0.000044 if buffer.type_name() == ''
syn keyword rubyRailsMethod params request response session headers cookies flash
endif
2 0.000193 0.000022 if buffer.type_name('api')
syn keyword rubyRailsAPIMethod api_method inflect_names
endif
2 0.000333 0.000040 if buffer.type_name() ==# 'model' || buffer.type_name('model-arb')
2 0.000032 syn keyword rubyRailsARMethod default_scope named_scope scope serialize
2 0.000030 syn keyword rubyRailsARAssociationMethod belongs_to has_one has_many has_and_belongs_to_many composed_of accepts_nested_attributes_for
2 0.000124 syn keyword rubyRailsARCallbackMethod before_create before_destroy before_save before_update before_validation before_validation_on_create before_validation_on_update
2 0.000125 syn keyword rubyRailsARCallbackMethod after_create after_destroy after_save after_update after_validation after_validation_on_create after_validation_on_update
2 0.000075 syn keyword rubyRailsARCallbackMethod around_create around_destroy around_save around_update
2 0.000089 syn keyword rubyRailsARCallbackMethod after_commit after_find after_initialize after_rollback after_touch
2 0.000060 syn keyword rubyRailsARClassMethod attr_accessible attr_protected attr_readonly
2 0.000207 syn keyword rubyRailsARValidationMethod validate validates validate_on_create validate_on_update validates_acceptance_of validates_associated validates_confirmation_of validates_each validates_exclusion_of validates_format_of validates_inclusion_of validates_length_of validates_numericality_of validates_presence_of validates_size_of validates_uniqueness_of validates_with
2 0.000020 syn keyword rubyRailsMethod logger
2 0.000004 endif
2 0.000197 0.000028 if buffer.type_name('model-aro')
syn keyword rubyRailsARMethod observe
endif
2 0.000175 0.000021 if buffer.type_name('mailer')
syn keyword rubyRailsMethod logger url_for polymorphic_path polymorphic_url
syn keyword rubyRailsRenderMethod mail render
syn keyword rubyRailsControllerMethod attachments default helper helper_attr helper_method
endif
2 0.000201 0.000024 if buffer.type_name('helper','view')
syn keyword rubyRailsViewMethod polymorphic_path polymorphic_url
exe "syn keyword rubyRailsHelperMethod ".s:gsub(s:helpermethods(),'<%(content_for|select)\s+','')
syn match rubyRailsHelperMethod '\<select\>\%(\s*{\|\s*do\>\|\s*(\=\s*&\)\@!'
syn match rubyRailsHelperMethod '\<\%(content_for?\=\|current_page?\)'
syn match rubyRailsViewMethod '\.\@<!\<\(h\|html_escape\|u\|url_encode\)\>'
if buffer.type_name('view-partial')
syn keyword rubyRailsMethod local_assigns
endif
elseif buffer.type_name('controller')
syn keyword rubyRailsMethod params request response session headers cookies flash
syn keyword rubyRailsRenderMethod render
syn keyword rubyRailsMethod logger polymorphic_path polymorphic_url
syn keyword rubyRailsControllerMethod helper helper_attr helper_method filter layout url_for serialize exempt_from_layout filter_parameter_logging hide_action cache_sweeper protect_from_forgery caches_page cache_page caches_action expire_page expire_action rescue_from
syn keyword rubyRailsRenderMethod head redirect_to render_to_string respond_with
syn match rubyRailsRenderMethod '\<respond_to\>?\@!'
syn keyword rubyRailsFilterMethod before_filter append_before_filter prepend_before_filter after_filter append_after_filter prepend_after_filter around_filter append_around_filter prepend_around_filter skip_before_filter skip_after_filter skip_filter
syn keyword rubyRailsFilterMethod verify
endif
2 0.000204 0.000025 if buffer.type_name('db-migration','db-schema')
syn keyword rubyRailsMigrationMethod create_table change_table drop_table rename_table add_column rename_column change_column change_column_default remove_column add_index remove_index rename_index execute
endif
2 0.000168 0.000020 if buffer.type_name('test')
if !empty(rails#app().user_assertions())
exe "syn keyword rubyRailsUserMethod ".join(rails#app().user_assertions())
endif
syn keyword rubyRailsTestMethod add_assertion assert assert_block assert_equal assert_in_delta assert_instance_of assert_kind_of assert_match assert_nil assert_no_match assert_not_equal assert_not_nil assert_not_same assert_nothing_raised assert_nothing_thrown assert_operator assert_raise assert_respond_to assert_same assert_send assert_throws assert_recognizes assert_generates assert_routing flunk fixtures fixture_path use_transactional_fixtures use_instantiated_fixtures assert_difference assert_no_difference assert_valid
syn keyword rubyRailsTestMethod test setup teardown
if !buffer.type_name('test-unit')
syn match rubyRailsTestControllerMethod '\.\@<!\<\%(get\|post\|put\|delete\|head\|process\|assigns\)\>'
syn keyword rubyRailsTestControllerMethod get_via_redirect post_via_redirect put_via_redirect delete_via_redirect request_via_redirect
syn keyword rubyRailsTestControllerMethod assert_response assert_redirected_to assert_template assert_recognizes assert_generates assert_routing assert_dom_equal assert_dom_not_equal assert_select assert_select_rjs assert_select_encoded assert_select_email assert_tag assert_no_tag
endif
elseif buffer.type_name('spec')
syn keyword rubyRailsTestMethod describe context it its specify shared_context shared_examples_for it_should_behave_like before after around subject fixtures controller_name helper_name scenario feature background
syn match rubyRailsTestMethod '\<let\>!\='
syn keyword rubyRailsTestMethod violated pending expect double mock mock_model stub_model
syn match rubyRailsTestMethod '\.\@<!\<stub\>!\@!'
if !buffer.type_name('spec-model')
syn match rubyRailsTestControllerMethod '\.\@<!\<\%(get\|post\|put\|delete\|head\|process\|assigns\)\>'
syn keyword rubyRailsTestControllerMethod integrate_views render_views
syn keyword rubyRailsMethod params request response session flash
syn keyword rubyRailsMethod polymorphic_path polymorphic_url
endif
endif
2 0.000172 0.000021 if buffer.type_name('task')
syn match rubyRailsRakeMethod '^\s*\zs\%(task\|file\|namespace\|desc\|before\|after\|on\)\>\%(\s*=\)\@!'
endif
2 0.000167 0.000021 if buffer.type_name('model-awss')
syn keyword rubyRailsMethod member
endif
2 0.000165 0.000019 if buffer.type_name('config-routes')
syn match rubyRailsMethod '\.\zs\%(connect\|named_route\)\>'
syn keyword rubyRailsMethod match get put post delete redirect root resource resources collection member nested scope namespace controller constraints mount
endif
2 0.000019 syn keyword rubyRailsMethod debugger
2 0.000043 syn keyword rubyRailsMethod alias_attribute alias_method_chain attr_accessor_with_default attr_internal attr_internal_accessor attr_internal_reader attr_internal_writer delegate mattr_accessor mattr_reader mattr_writer superclass_delegating_accessor superclass_delegating_reader superclass_delegating_writer
2 0.000060 syn keyword rubyRailsMethod cattr_accessor cattr_reader cattr_writer class_inheritable_accessor class_inheritable_array class_inheritable_array_writer class_inheritable_hash class_inheritable_hash_writer class_inheritable_option class_inheritable_reader class_inheritable_writer inheritable_attributes read_inheritable_attribute reset_inheritable_attributes write_inheritable_array write_inheritable_attribute write_inheritable_hash
2 0.000020 syn keyword rubyRailsInclude require_dependency
2 0.000131 syn region rubyString matchgroup=rubyStringDelimiter start=+\%(:order\s*=>\s*\)\@<="+ skip=+\\\\\|\\"+ end=+"+ contains=@rubyStringSpecial,railsOrderSpecial
2 0.000160 syn region rubyString matchgroup=rubyStringDelimiter start=+\%(:order\s*=>\s*\)\@<='+ skip=+\\\\\|\\'+ end=+'+ contains=@rubyStringSpecial,railsOrderSpecial
2 0.000042 syn match railsOrderSpecial +\c\<\%(DE\|A\)SC\>+ contained
2 0.000119 syn region rubyString matchgroup=rubyStringDelimiter start=+\%(:conditions\s*=>\s*\[\s*\)\@<="+ skip=+\\\\\|\\"+ end=+"+ contains=@rubyStringSpecial,railsConditionsSpecial
2 0.000111 syn region rubyString matchgroup=rubyStringDelimiter start=+\%(:conditions\s*=>\s*\[\s*\)\@<='+ skip=+\\\\\|\\'+ end=+'+ contains=@rubyStringSpecial,railsConditionsSpecial
2 0.000134 syn match railsConditionsSpecial +?\|:\h\w*+ contained
2 0.000071 syn cluster rubyNotTop add=railsOrderSpecial,railsConditionsSpecial
" XHTML highlighting inside %Q<>
2 0.000010 unlet! b:current_syntax
2 0.000024 let removenorend = !exists("g:html_no_rendering")
2 0.000032 let g:html_no_rendering = 1
2 1.709895 0.002384 syn include @htmlTop syntax/xhtml.vim
2 0.000012 if removenorend
2 0.000010 unlet! g:html_no_rendering
2 0.000004 endif
2 0.000010 let b:current_syntax = "ruby"
" Restore syn sync, as best we can
2 0.000015 if !exists("g:ruby_minlines")
let g:ruby_minlines = 50
endif
2 0.000009 syn sync fromstart
2 0.000034 exe "syn sync minlines=" . g:ruby_minlines
2 0.000006 syn case match
2 0.000098 syn region rubyString matchgroup=rubyStringDelimiter start=+%Q\=<+ end=+>+ contains=@htmlTop,@rubyStringSpecial
2 0.000018 syn cluster htmlArgCluster add=@rubyStringSpecial
2 0.000016 syn cluster htmlPreProc add=@rubyStringSpecial
2 0.000009 elseif &syntax =~# '^eruby\>' || &syntax == 'haml'
syn case match
if classes != ''
exe 'syn keyword '.&syntax.'RailsUserClass '.classes.' contained containedin=@'.&syntax.'RailsRegions'
endif
if &syntax == 'haml'
exe 'syn cluster hamlRailsRegions contains=hamlRubyCodeIncluded,hamlRubyCode,hamlRubyHash,@hamlEmbeddedRuby,rubyInterpolation'
else
exe 'syn cluster erubyRailsRegions contains=erubyOneLiner,erubyBlock,erubyExpression,rubyInterpolation'
endif
exe 'syn keyword '.&syntax.'RailsHelperMethod '.s:gsub(s:helpermethods(),'<%(content_for|select)\s+','').' contained containedin=@'.&syntax.'RailsRegions'
exe 'syn match '.&syntax.'RailsHelperMethod "\<select\>\%(\s*{\|\s*do\>\|\s*(\=\s*&\)\@!" contained containedin=@'.&syntax.'RailsRegions'
exe 'syn match '.&syntax.'RailsHelperMethod "\<\%(content_for?\=\|current_page?\)" contained containedin=@'.&syntax.'RailsRegions'
exe 'syn keyword '.&syntax.'RailsMethod debugger polymorphic_path polymorphic_url contained containedin=@'.&syntax.'RailsRegions'
exe 'syn match '.&syntax.'RailsViewMethod "\.\@<!\<\(h\|html_escape\|u\|url_encode\)\>" contained containedin=@'.&syntax.'RailsRegions'
if buffer.type_name('view-partial')
exe 'syn keyword '.&syntax.'RailsMethod local_assigns contained containedin=@'.&syntax.'RailsRegions'
endif
exe 'syn keyword '.&syntax.'RailsRenderMethod render contained containedin=@'.&syntax.'RailsRegions'
exe 'syn case match'
set isk+=$
exe 'syn keyword javascriptRailsFunction contained '.s:javascript_functions
exe 'syn cluster htmlJavaScript add=javascriptRailsFunction'
elseif &syntax == "yaml"
syn case match
" Modeled after syntax/eruby.vim
unlet! b:current_syntax
let g:main_syntax = 'eruby'
syn include @rubyTop syntax/ruby.vim
unlet g:main_syntax
syn cluster yamlRailsRegions contains=yamlRailsOneLiner,yamlRailsBlock,yamlRailsExpression
syn region yamlRailsOneLiner matchgroup=yamlRailsDelimiter start="^%%\@!" end="$" contains=@rubyRailsTop containedin=ALLBUT,@yamlRailsRegions,yamlRailsComment keepend oneline
syn region yamlRailsBlock matchgroup=yamlRailsDelimiter start="<%%\@!" end="%>" contains=@rubyTop containedin=ALLBUT,@yamlRailsRegions,yamlRailsComment
syn region yamlRailsExpression matchgroup=yamlRailsDelimiter start="<%=" end="%>" contains=@rubyTop containedin=ALLBUT,@yamlRailsRegions,yamlRailsComment
syn region yamlRailsComment matchgroup=yamlRailsDelimiter start="<%#" end="%>" contains=rubyTodo,@Spell containedin=ALLBUT,@yamlRailsRegions,yamlRailsComment keepend
syn match yamlRailsMethod '\.\@<!\<\(h\|html_escape\|u\|url_encode\)\>' contained containedin=@yamlRailsRegions
if classes != ''
exe "syn keyword yamlRailsUserClass ".classes." contained containedin=@yamlRailsRegions"
endif
let b:current_syntax = "yaml"
elseif &syntax == "html"
syn case match
set isk+=$
exe "syn keyword javascriptRailsFunction contained ".s:javascript_functions
syn cluster htmlJavaScript add=javascriptRailsFunction
elseif &syntax == "javascript" || &syntax == "coffee"
" The syntax file included with Vim incorrectly sets syn case ignore.
syn case match
set isk+=$
exe "syn keyword javascriptRailsFunction ".s:javascript_functions
elseif &syntax == "scss" || &syntax == "sass"
syn match sassFunction "\<\%(\%(asset\|image\|font\|video\|audio\|javascript\|stylesheet\)-\%(url\|path\)\)\>(\@=" contained
syn match sassFunction "\<\asset-data-url\>(\@=" contained
endif
2 0.000003 endif
2 0.001176 0.000063 call s:HiDefaults()
FUNCTION <SNR>124_pathsplit()
Called 4 times
Total time: 0.001425
Self time: 0.001425
count total (s) self (s)
4 0.000058 if type(a:path) == type([]) | return copy(a:path) | endif
4 0.001024 let split = split(a:path,'\\\@<!\%(\\\\\)*\zs,')
4 0.000329 return map(split,'substitute(v:val,''\\\([\\, ]\)'',''\1'',"g")')
FUNCTION <SNR>55_buffer_getline()
Called 6 times
Total time: 0.000081
Self time: 0.000081
count total (s) self (s)
6 0.000072 return getbufline(self['#'],a:lnum)[0]
FUNCTION AutoPairsForceInit()
Called 4 times
Total time: 0.003764
Self time: 0.000758
count total (s) self (s)
4 0.000044 if exists('b:autopairs_loaded')
2 0.000005 return
end
" for auto-pairs starts with 'a', so the priority is higher than supertab and vim-endwise
"
" vim-endwise doesn't support <Plug>AutoPairsReturn
" when use <Plug>AutoPairsReturn will cause <Plug> isn't expanded
"
" supertab doesn't support <SID>AutoPairsReturn
" when use <SID>AutoPairsReturn will cause Duplicated <CR>
"
" and when load after vim-endwise will cause unexpected endwise inserted.
" so always load AutoPairs at last
" Buffer level keys mapping
" comptible with other plugin
2 0.000007 if g:AutoPairsMapCR
2 0.000180 let old_cr = maparg('<CR>', 'i')
2 0.000012 if old_cr == ''
let old_cr = '<CR>'
else
2 0.000123 0.000050 let old_cr = s:ExpandMap(old_cr)
2 0.000005 endif
" compatible with clang_complete
" https://github.com/jiangmiao/auto-pairs/issues/18
2 0.000017 let pattern = '<SNR>\d\+_HandlePossibleSelectionEnter()'
2 0.000057 if old_cr =~ pattern
execute 'imap <expr> <script> <SID>AutoPairsClangCompleteCR ' . matchstr(old_cr, pattern)
let old_cr = substitute(old_cr, pattern , '<SID>AutoPairsClangCompleteCR', '')
endif
2 0.000030 if old_cr !~ 'AutoPairsReturn'
" generally speaking, <silent> should not be here because every plugin
" has there own silent solution. but for some plugin which wasn't double silent
" mapping, when maparg expand the map will lose the silent info, so <silent> always.
" use inoremap for neocomplcache
2 0.000156 execute 'inoremap <script> <buffer> <silent> <CR> '.old_cr.'<SID>AutoPairsReturn'
2 0.000006 end
2 0.000003 endif
2 0.002983 0.000050 call AutoPairsInit()
FUNCTION <SNR>31_LoadFTPlugin()
Called 4 times
Total time: 0.047124
Self time: 0.035935
count total (s) self (s)
4 0.000065 if exists("b:undo_ftplugin")
2 0.001477 exe b:undo_ftplugin
2 0.000017 unlet! b:undo_ftplugin b:did_ftplugin
2 0.000005 endif
4 0.000064 let s = expand("<amatch>")
4 0.000029 if s != ""
4 0.000106 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".
8 0.000101 for name in split(s, '\.')
4 0.045023 0.033834 exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim ftplugin/' . name . '/*.vim'
4 0.000020 endfor
4 0.000010 endif
FUNCTION <SNR>150_IsValidFile()
Called 13 times
Total time: 0.002042
Self time: 0.001804
count total (s) self (s)
13 0.000464 0.000226 call s:LogDebugMessage('Checking if file is valid [' . a:fname . ']')
13 0.000097 if a:fname == '' || a:ftype == ''
call s:LogDebugMessage('Empty filename or type')
return 0
endif
13 0.000536 if !filereadable(a:fname) && getbufvar(a:fname, 'netrw_tmpfile') == ''
call s:LogDebugMessage('File not readable')
return 0
endif
13 0.000132 if !has_key(s:known_types, a:ftype)
if exists('g:tagbar_type_' . a:ftype)
" Filetype definition must have been specified in an 'ftplugin'
" file, so load it now
call s:LoadUserTypeDefs(a:ftype)
else
call s:LogDebugMessage('Unsupported filetype: ' . a:ftype)
return 0
endif
endif
13 0.000027 return 1
FUNCTION <SNR>124_Abbrev()
Called 68 times
Total time: 0.033501
Self time: 0.015607
count total (s) self (s)
68 0.000705 if !exists("b:rails_abbreviations")
2 0.000020 let b:rails_abbreviations = {}
2 0.000005 endif
68 0.000395 if a:0 > 3 || (a:bang && (a:0 != 1))
return s:error("Rabbrev: invalid arguments")
endif
68 0.000207 if a:0 == 0
for key in sort(keys(b:rails_abbreviations))
echo key . join(b:rails_abbreviations[key],"\t")
endfor
return
endif
68 0.000367 let lhs = a:1
68 0.003038 0.001097 let root = s:sub(lhs,'%(::|\(|\[)$','')
68 0.000267 if a:bang
if has_key(b:rails_abbreviations,root)
call remove(b:rails_abbreviations,root)
endif
exe "iunabbrev <buffer> ".root
return
endif
68 0.000279 if a:0 > 3 || a:0 < 2
return s:error("Rabbrev: invalid arguments")
endif
68 0.000315 let rhs = a:2
68 0.000535 if has_key(b:rails_abbreviations,root)
call remove(b:rails_abbreviations,root)
endif
68 0.000568 if lhs =~ '($'
42 0.000684 let b:rails_abbreviations[root] = ["(", rhs . (a:0 > 2 ? "\t".a:3 : "")]
42 0.000146 if a:0 > 2
call s:AddParenExpand(root,rhs,a:3)
else
42 0.011219 0.000620 call s:AddParenExpand(root,rhs)
42 0.000079 endif
42 0.000123 return
endif
26 0.000072 if a:0 > 2
return s:error("Rabbrev: invalid arguments")
endif
26 0.000210 if lhs =~ ':$'
16 0.003240 0.000204 call s:AddColonExpand(root,rhs)
16 0.000048 elseif lhs =~ '\[$'
call s:AddBracketExpand(root,rhs)
elseif lhs =~ '\w$'
10 0.002481 0.000163 call s:AddTabExpand(lhs,rhs)
10 0.000018 else
return s:error("Rabbrev: unimplemented")
endif
26 0.000569 let b:rails_abbreviations[root] = [matchstr(lhs,'\W*$'),rhs]
FUNCTION <SNR>51_addtomrufs()
Called 12 times
Total time: 0.003210
Self time: 0.003210
count total (s) self (s)
12 0.000714 let fn = fnamemodify(a:fname, ':p')
12 0.000232 let fn = exists('+ssl') ? tr(fn, '/', '\') : fn
12 0.001732 if ( !empty({s:in}) && fn !~# {s:in} ) || ( !empty({s:ex}) && fn =~# {s:ex} ) || !empty(getbufvar('^'.fn.'$', '&bt')) || !filereadable(fn) | retu
en
10 0.000348 cal filter(s:mrufs, 'v:val !='.( {s:cseno} ? '#' : '?' ).' fn')
10 0.000088 cal insert(s:mrufs, fn)
FUNCTION <SNR>130_lastvisual()
Called 2 times
Total time: 0.000393
Self time: 0.000340
count total (s) self (s)
2 0.000027 let cview = winsaveview()
2 0.000038 let [ovreg, ovtype] = [getreg('v'), getregtype('v')]
2 0.000031 let [oureg, outype] = [getreg('"'), getregtype('"')]
2 0.000057 sil! norm! gv"vy
2 0.000108 0.000055 let selected = s:regisfilter('v')
2 0.000028 cal setreg('v', ovreg, ovtype)
2 0.000022 cal setreg('"', oureg, outype)
2 0.000061 cal winrestview(cview)
2 0.000009 retu selected
FUNCTION ctrlp#setlcdir()
Called 2 times
Total time: 0.001385
Self time: 0.000381
count total (s) self (s)
2 0.000038 if exists('*haslocaldir')
2 0.001328 0.000324 cal ctrlp#setdir(getcwd(), haslocaldir() ? 'lc!' : 'cd!')
2 0.000007 en
FUNCTION <SNR>124_readable_define_pattern()
Called 2 times
Total time: 0.002775
Self time: 0.000214
count total (s) self (s)
2 0.000957 0.000043 if self.name() =~ '\.yml$'
return '^\%(\h\k*:\)\@='
endif
2 0.000011 let define = '^\s*def\s\+\(self\.\)\='
2 0.000782 0.000034 if self.name() =~# '\.rake$'
let define .= "\\\|^\\s*\\%(task\\\|file\\)\\s\\+[:'\"]"
endif
2 0.000751 0.000038 if self.name() =~# '/schema\.rb$'
let define .= "\\\|^\\s*create_table\\s\\+[:'\"]"
endif
2 0.000209 0.000023 if self.type_name('test')
let define .= '\|^\s*test\s*[''"]'
endif
2 0.000006 return define
FUNCTION fugitive#buffer()
Called 2 times
Total time: 0.000169
Self time: 0.000028
count total (s) self (s)
2 0.000167 0.000026 return s:buffer(a:0 ? a:1 : '%')
FUNCTION <SNR>130_AcceptSelection()
Called 2 times
Total time: 14.444251
Self time: 0.000454
count total (s) self (s)
2 0.000061 if a:mode != 'e' && s:OpenMulti(a:mode) != -1 | retu | en
2 0.000353 0.000039 let str = s:getinput()
2 0.000370 0.000055 if a:mode == 'e' | if s:SpecInputs(str) | retu | en | en
" Get the selected line
2 0.000065 0.000027 let line = ctrlp#getcline()
2 0.000019 if a:mode != 'e' && !s:itemtype && line == '' && str !~ '\v^(\.\.([\/]\.\.)*[\/]?[.\/]*|/|\\|\?|\@.+)$'
cal s:CreateNewFile(a:mode) | retu
en
2 0.000018 if empty(line) | retu | en
" Do something with it
2 0.000018 if s:openfunc != {} && has_key(s:openfunc, s:ctype)
let actfunc = s:openfunc[s:ctype]
el
2 0.000025 let actfunc = s:itemtype < 3 ? 'ctrlp#acceptfile' : s:getextvar('accept')
2 0.000005 en
2 14.443244 0.000114 cal call(actfunc, [a:mode, line])
FUNCTION <SNR>130_glbpath()
Called 22 times
Total time: 0.000914
Self time: 0.000292
count total (s) self (s)
22 0.000895 0.000273 retu call('ctrlp#utils#globpath', a:000)
FUNCTION <SNR>150_ExecuteCtagsOnFile()
Called 2 times
Total time: 0.479255
Self time: 0.001610
count total (s) self (s)
2 0.000128 0.000062 call s:LogDebugMessage('ExecuteCtagsOnFile called [' . a:fname . ']')
2 0.000025 let typeinfo = s:known_types[a:ftype]
2 0.000018 if has_key(typeinfo, 'ctagsargs')
let ctags_args = ' ' . typeinfo.ctagsargs . ' '
else
2 0.000012 let ctags_args = ' -f - '
2 0.000016 let ctags_args .= ' --format=2 '
2 0.000015 let ctags_args .= ' --excmd=pattern '
2 0.000013 let ctags_args .= ' --fields=nksSa '
2 0.000014 let ctags_args .= ' --extra= '
2 0.000013 let ctags_args .= ' --sort=yes '
" Include extra type definitions
2 0.000015 if has_key(typeinfo, 'deffile')
let ctags_args .= ' --options=' . typeinfo.deffile . ' '
endif
2 0.000013 let ctags_type = typeinfo.ctagstype
2 0.000011 let ctags_kinds = ''
10 0.000039 for kind in typeinfo.kinds
8 0.000057 let ctags_kinds .= kind.short
8 0.000018 endfor
2 0.000057 let ctags_args .= ' --language-force=' . ctags_type . ' --' . ctags_type . '-kinds=' . ctags_kinds . ' '
2 0.000007 endif
2 0.000024 if has_key(typeinfo, 'ctagsbin')
" reset 'wildignore' temporarily in case *.exe is included in it
let wildignore_save = &wildignore
set wildignore&
let ctags_bin = expand(typeinfo.ctagsbin)
let &wildignore = wildignore_save
else
2 0.000021 let ctags_bin = g:tagbar_ctags_bin
2 0.000008 endif
2 0.000791 0.000073 let ctags_cmd = s:EscapeCtagsCmd(ctags_bin, ctags_args, a:fname)
2 0.000008 if ctags_cmd == ''
return ''
endif
2 0.476893 0.000114 let ctags_output = s:ExecuteCtags(ctags_cmd)
2 0.000404 if v:shell_error || ctags_output =~ 'Warning: cannot open source file'
echoerr 'Tagbar: Could not execute ctags for ' . a:fname . '!'
echomsg 'Executed command: "' . ctags_cmd . '"'
if !empty(ctags_output)
call s:LogDebugMessage('Command output:')
call s:LogDebugMessage(ctags_output)
echomsg 'Command output:'
for line in split(ctags_output, '\n')
echomsg line
endfor
endif
return -1
endif
2 0.000297 0.000215 call s:LogDebugMessage('Ctags executed successfully')
2 0.000013 return ctags_output
FUNCTION <SNR>130_fnesc()
Called 28 times
Total time: 0.003850
Self time: 0.000488
count total (s) self (s)
28 0.003826 0.000464 retu call('ctrlp#utils#fnesc', a:000)
FUNCTION <SNR>55_define_commands()
Called 2 times
Total time: 0.001557
Self time: 0.001557
count total (s) self (s)
48 0.000158 for command in s:commands
46 0.001253 exe 'command! -buffer '.command
46 0.000085 endfor
FUNCTION <SNR>130_multipliers()
Called 325 times
Total time: 0.012558
Self time: 0.012558
count total (s) self (s)
325 0.001834 let mp0 = !a:1 ? 0 : 2
325 0.002291 let mp1 = !a:2 ? 0 : 1 + ( !mp0 ? 1 : mp0 )
325 0.002398 let mp2 = !a:3 ? 0 : 1 + ( !( mp0 + mp1 ) ? 1 : ( mp0 + mp1 ) )
325 0.002905 let mp3 = !a:4 ? 0 : 1 + ( !( mp0 + mp1 + mp2 ) ? 1 : ( mp0 + mp1 + mp2 ) )
325 0.001997 retu [mp0, mp1, mp2, mp3]
FUNCTION <SNR>84_FindBundlerRoot()
Called 2 times
Total time: 0.000741
Self time: 0.000631
count total (s) self (s)
2 0.000092 0.000045 let path = s:shellslash(a:path)
2 0.000075 let fn = fnamemodify(path,':s?[\/]$??')
2 0.000009 let ofn = ""
2 0.000008 let nfn = fn
8 0.000047 while fn != ofn
8 0.000188 if filereadable(fn.'/Gemfile')
2 0.000132 0.000069 return s:sub(simplify(fnamemodify(fn,':p')),'[\\/]$','')
endif
6 0.000027 let ofn = fn
6 0.000059 let fn = fnamemodify(ofn,':h')
6 0.000015 endwhile
return ''
FUNCTION <SNR>124_BufSettings()
Called 2 times
Total time: 0.018333
Self time: 0.001309
count total (s) self (s)
2 0.000040 if !exists('b:rails_root')
return ''
endif
2 0.000152 0.000036 let self = rails#buffer()
2 0.013313 0.000105 call s:SetBasePath()
2 0.000319 0.000056 let rp = s:gsub(self.app().path(),'[ ,]','\\&')
2 0.000035 if stridx(&tags,rp.'/tmp/tags') == -1
2 0.000047 let &l:tags = rp . '/tmp/tags,' . &tags . ',' . rp . '/tags'
2 0.000004 endif
2 0.000080 0.000027 call self.setvar('&includeexpr','RailsIncludeexpr()')
2 0.000178 0.000053 call self.setvar('&suffixesadd', s:sub(self.getvar('&suffixesadd'),'^$','.rb'))
2 0.000063 0.000024 let ft = self.getvar('&filetype')
2 0.000062 if ft =~# '^\%(e\=ruby\|[yh]aml\|coffee\|css\|s[ac]ss\|lesscss\)\>'
2 0.000073 0.000022 call self.setvar('&shiftwidth',2)
2 0.000065 0.000021 call self.setvar('&softtabstop',2)
2 0.000064 0.000020 call self.setvar('&expandtab',1)
2 0.000076 0.000036 if exists('+completefunc') && self.getvar('&completefunc') ==# '' && &g:completefunc ==# ''
2 0.000068 0.000023 call self.setvar('&completefunc','syntaxcomplete#Complete')
2 0.000004 endif
2 0.000003 endif
2 0.000020 if ft =~# '^ruby\>'
2 0.002896 0.000068 call self.setvar('&define',self.define_pattern())
" This really belongs in after/ftplugin/ruby.vim but we'll be nice
2 0.000072 0.000034 if exists('g:loaded_surround') && self.getvar('surround_101') == ''
2 0.000069 0.000024 call self.setvar('surround_5', "\r\nend")
2 0.000065 0.000022 call self.setvar('surround_69', "\1expr: \1\rend")
2 0.000062 0.000020 call self.setvar('surround_101', "\r\nend")
2 0.000004 endif
2 0.000026 if exists(':UltiSnipsAddFiletypes')
UltiSnipsAddFiletypes rails
endif
2 0.000014 elseif ft =~# 'yaml\>' || fnamemodify(self.name(),':e') ==# 'yml'
call self.setvar('&define',self.define_pattern())
elseif ft =~# '^eruby\>'
if exists("g:loaded_allml")
call self.setvar('allml_stylesheet_link_tag', "<%= stylesheet_link_tag '\r' %>")
call self.setvar('allml_javascript_include_tag', "<%= javascript_include_tag '\r' %>")
call self.setvar('allml_doctype_index', 10)
endif
if exists("g:loaded_ragtag")
call self.setvar('ragtag_stylesheet_link_tag', "<%= stylesheet_link_tag '\r' %>")
call self.setvar('ragtag_javascript_include_tag', "<%= javascript_include_tag '\r' %>")
call self.setvar('ragtag_doctype_index', 10)
endif
elseif ft =~# '^haml\>'
if exists("g:loaded_allml")
call self.setvar('allml_stylesheet_link_tag', "= stylesheet_link_tag '\r'")
call self.setvar('allml_javascript_include_tag', "= javascript_include_tag '\r'")
call self.setvar('allml_doctype_index', 10)
endif
if exists("g:loaded_ragtag")
call self.setvar('ragtag_stylesheet_link_tag', "= stylesheet_link_tag '\r'")
call self.setvar('ragtag_javascript_include_tag', "= javascript_include_tag '\r'")
call self.setvar('ragtag_doctype_index', 10)
endif
endif
2 0.000029 if ft =~# '^eruby\>' || ft =~# '^yaml\>'
" surround.vim
if exists("g:loaded_surround")
if self.getvar('surround_45') == '' || self.getvar('surround_45') == "<% \r %>" " -
call self.setvar('surround_45', "<% \r %>")
endif
if self.getvar('surround_61') == '' " =
call self.setvar('surround_61', "<%= \r %>")
endif
if self.getvar("surround_35") == '' " #
call self.setvar('surround_35', "<%# \r %>")
endif
if self.getvar('surround_101') == '' || self.getvar('surround_101')== "<% \r %>\n<% end %>" "e
call self.setvar('surround_5', "<% \r %>\n<% end %>")
call self.setvar('surround_69', "<% \1expr: \1 %>\r<% end %>")
call self.setvar('surround_101', "<% \r %>\n<% end %>")
endif
endif
endif
FUNCTION DetectNode()
Called 2 times
Total time: 0.000063
Self time: 0.000063
count total (s) self (s)
2 0.000021 if !did_filetype()
if getline(1) =~ '^#.*\<node\>'
setfiletype javascript
endif
endif
FUNCTION <SNR>124_BufDatabase()
Called 4 times
Total time: 0.000117
Self time: 0.000117
count total (s) self (s)
4 0.000069 if exists("s:lock_database") || !exists('g:loaded_dbext') || !exists('b:rails_root')
4 0.000015 return
endif
let self = rails#app()
let s:lock_database = 1
if (a:0 && a:1 > 1)
call self.cache.clear('dbext_settings')
endif
if (a:0 > 1 && a:2 != '')
let env = a:2
else
let env = s:environment()
endif
if (!self.cache.has('dbext_settings') || !has_key(self.cache.get('dbext_settings'),env)) && (a:0 ? a:1 : 0) <= 0
unlet! s:lock_database
return
endif
let dict = self.dbext_settings(env)
for key in ['type', 'profile', 'bin', 'user', 'passwd', 'dbname', 'srvname', 'host', 'port', 'dsnname', 'extra', 'integratedlogin']
let b:dbext_{key} = get(dict,key,'')
endfor
if b:dbext_type == 'PGSQL'
let $PGPASSWORD = b:dbext_passwd
elseif exists('$PGPASSWORD')
let $PGPASSWORD = ''
endif
unlet! s:lock_database
FUNCTION <SNR>130_MapSpecs()
Called 2 times
Total time: 0.005008
Self time: 0.005008
count total (s) self (s)
2 0.000017 if !( exists('s:smapped') && s:smapped == s:bufnr )
" Correct arrow keys in terminal
if ( has('termresponse') && v:termresponse =~ "\<ESC>" ) || &term =~? '\vxterm|<k?vt|gnome|screen|linux|ansi'
for each in ['\A <up>','\B <down>','\C <right>','\D <left>']
exe s:lcmap.' <esc>['.each
endfo
en
en
242 0.000728 for [ke, va] in items(s:prtmaps) | for kp in va
106 0.003545 exe s:lcmap kp ':<c-u>cal <SID>'.ke.'<cr>'
174 0.000253 endfo | endfo
2 0.000010 let s:smapped = s:bufnr
FUNCTION <SNR>130_MatchIt()
Called 15 times
Total time: 0.036323
Self time: 0.028483
count total (s) self (s)
15 0.000134 let [lines, id] = [[], 0]
15 0.000200 let pat = s:byfname ? map(split(a:pat, '^[^;]\+\\\@<!\zs;', 1), 's:martcs.v:val') : s:martcs.a:pat
403 0.001011 for item in a:items
403 0.001191 let id += 1
791 0.009720 try | if !( s:ispath && item == a:exc ) && call(s:mfunc, [item, pat]) >= 0
150 0.001108 cal add(lines, item)
545 0.000884 en | cat | brea | endt
418 0.002354 if a:limit > 0 && len(lines) >= a:limit | brea | en
388 0.000470 endfo
15 0.014880 0.007040 let s:mdata = [s:dyncwd, s:itemtype, s:regexp, s:sublist(a:items, id, -1)]
15 0.000086 retu lines
FUNCTION <SNR>150_Init()
Called 32 times
Total time: 0.002820
Self time: 0.002820
count total (s) self (s)
32 0.000186 if s:checked_ctags == 2 && a:silent
return 0
elseif s:checked_ctags != 1
if !s:CheckForExCtags(a:silent)
return 0
endif
endif
32 0.000133 if !s:checked_ctags_types
call s:GetSupportedFiletypes()
endif
32 0.000116 if !s:type_init_done
call s:InitTypes()
endif
32 0.000123 if !s:autocommands_done
call s:CreateAutocommands()
call s:AutoUpdate(fnamemodify(expand('%'), ':p'), 0)
endif
32 0.000070 return 1
FUNCTION ctrlp#syntax()
Called 2 times
Total time: 0.000820
Self time: 0.000485
count total (s) self (s)
2 0.000049 0.000022 if ctrlp#nosy() | retu | en
46 0.000602 0.000294 for [ke, va] in items(s:hlgrps) | cal ctrlp#hicheck('CtrlP'.ke, va) | endfo
2 0.000030 if !hlexists('CtrlPLinePre') && synIDattr(synIDtrans(hlID('Normal')), 'bg') !~ '^-1$\|^$'
sil! exe 'hi CtrlPLinePre '.( has("gui_running") ? 'gui' : 'cterm' ).'fg=bg'
en
2 0.000044 sy match CtrlPNoEntries '^ == NO ENTRIES ==$'
2 0.000022 if hlexists('CtrlPLinePre')
2 0.000025 sy match CtrlPLinePre '^>'
2 0.000004 en
FUNCTION ctrlp#mrufiles#bufs()
Called 2 times
Total time: 0.000015
Self time: 0.000015
count total (s) self (s)
2 0.000012 retu s:mrbs
FUNCTION rails#app()
Called 68 times
Total time: 0.001482
Self time: 0.001296
count total (s) self (s)
68 0.000759 0.000573 let root = a:0 ? a:1 : RailsRoot()
" TODO: populate dynamically
" TODO: normalize path
68 0.000472 return get(s:apps,root,0)
FUNCTION ctrlp#setlines()
Called 2 times
Total time: 0.001186
Self time: 0.000113
count total (s) self (s)
2 0.000016 if a:0 | let s:itemtype = a:1 | en
2 0.000310 0.000019 cal s:modevar()
2 0.000015 let types = ['ctrlp#files()', 'ctrlp#buffers()', 'ctrlp#mrufiles#list()']
2 0.000010 if !empty(g:ctrlp_ext_vars)
cal map(copy(g:ctrlp_ext_vars), 'add(types, v:val["init"])')
en
2 0.000817 0.000035 let g:ctrlp_lines = eval(types[s:itemtype])
FUNCTION RailsBufInit()
Called 2 times
Total time: 3.572131
Self time: 1.736076
count total (s) self (s)
2 0.000024 let firsttime = !(exists("b:rails_root") && b:rails_root == a:path)
2 0.000011 let b:rails_root = a:path
2 0.000015 if !has_key(s:apps,a:path)
let s:apps[a:path] = deepcopy(s:app_prototype)
let s:apps[a:path].root = a:path
let s:apps[a:path]._root = a:path
endif
2 0.000025 let app = s:apps[a:path]
2 0.000130 0.000034 let buffer = rails#buffer()
" Apparently rails#buffer().calculate_file_type() can be slow if the
" underlying file system is slow (even though it doesn't really do anything
" IO related). This caching is a temporary hack; if it doesn't cause
" problems it should probably be refactored.
2 0.002408 0.000056 let b:rails_cached_file_type = buffer.calculate_file_type()
2 0.000252 0.000046 call app.source_callback("config/syntax.vim")
2 0.000038 if expand('%:t') =~ '\.yml\.example$'
setlocal filetype=yaml
elseif expand('%:e') =~ '^\%(rjs\|rxml\|builder\|jbuilder\)$'
setlocal filetype=ruby
elseif firsttime
" Activate custom syntax
2 1.744792 0.000043 let &syntax = &syntax
2 0.000004 endif
2 0.000026 if expand('%:e') == 'log'
nnoremap <buffer> <silent> R :checktime<CR>
nnoremap <buffer> <silent> G :checktime<Bar>$<CR>
nnoremap <buffer> <silent> q :bwipe<CR>
setlocal modifiable filetype=railslog noswapfile autoread foldmethod=syntax
if exists('+concealcursor')
setlocal concealcursor=nc conceallevel=2
else
silent %s/\%(\e\[[0-9;]*m\|\r$\)//ge
endif
setlocal readonly nomodifiable
$
endif
2 0.018485 0.000152 call s:BufSettings()
2 0.028959 0.000050 call s:BufCommands()
2 0.038749 0.000097 call s:BufAbbreviations()
2 0.000334 0.000076 let t = rails#buffer().type_name()
2 0.000015 let t = "-".t
2 0.001010 0.000022 let f = '/'.RailsFilePath()
2 0.000035 if f =~ '[ !#$%\,]'
let f = ''
endif
2 0.002283 runtime! macros/rails.vim
2 0.000241 0.000178 silent doautocmd User Rails
2 0.000022 if t != '-'
2 0.000237 0.000166 exe "silent doautocmd User Rails".s:gsub(t,'-','.')
2 0.000006 endif
2 0.000012 if f != ''
2 0.000141 0.000127 exe "silent doautocmd User Rails".f
2 0.000005 endif
2 0.000218 0.000036 call app.source_callback("config/rails.vim")
2 0.000073 0.000052 call s:BufModelines()
2 0.001200 0.000039 call s:BufMappings()
2 0.000010 return b:rails_root
FUNCTION ctrlp#recordhist()
Called 2 times
Total time: 0.001346
Self time: 0.000270
count total (s) self (s)
2 0.000028 let str = join(s:prompt, '')
2 0.000025 if empty(str) || !s:maxhst | retu | en
2 0.000010 let hst = s:hstry
2 0.000031 if len(hst) > 1 && hst[1] == str | retu | en
2 0.000024 cal extend(hst, [str], 1)
2 0.000036 if len(hst) > s:maxhst | cal remove(hst, s:maxhst, -1) | en
2 0.001179 0.000103 cal ctrlp#utils#writecache(hst, s:gethistloc()[0], s:gethistloc()[1])
FUNCTION <SNR>130_SetDefTxt()
Called 2 times
Total time: 0.000021
Self time: 0.000021
count total (s) self (s)
2 0.000018 if s:deftxt == '0' || ( s:deftxt == 1 && !s:ispath ) | retu | en
let txt = s:deftxt
if !type(txt)
let txt = txt && !stridx(s:crfpath, s:dyncwd) ? ctrlp#rmbasedir([s:crfpath])[0] : ''
let txt = txt != '' ? txt.s:lash(s:crfpath) : ''
el
let txt = expand(txt, 1)
en
let s:prompt[0] = txt
FUNCTION <SNR>124_SetBasePath()
Called 2 times
Total time: 0.013208
Self time: 0.001319
count total (s) self (s)
2 0.000157 0.000026 let self = rails#buffer()
2 0.000295 0.000061 if self.app().path() =~ '://'
return
endif
2 0.000932 0.000091 let transformed_path = s:pathsplit(s:pathjoin([self.app().path()]))[0]
2 0.000089 0.000044 let add_dot = self.getvar('&path') =~# '^\.\%(,\|$\)'
2 0.001430 0.000059 let old_path = s:pathsplit(s:sub(self.getvar('&path'),'^\.%(,|$)',''))
2 0.000466 0.000207 call filter(old_path,'!s:startswith(v:val,transformed_path)')
2 0.000033 let path = ['app', 'app/models', 'app/controllers', 'app/helpers', 'config', 'lib', 'app/views']
2 0.001969 0.000066 if self.controller_name() != ''
let path += ['app/views/'.self.controller_name(), 'public']
endif
2 0.000579 0.000061 if self.app().has('test')
let path += ['test', 'test/unit', 'test/functional', 'test/integration']
endif
2 0.000457 0.000048 if self.app().has('spec')
let path += ['spec', 'spec/models', 'spec/controllers', 'spec/helpers', 'spec/views', 'spec/lib', 'spec/requests', 'spec/integration']
endif
2 0.000036 let path += ['app/*', 'vendor', 'vendor/plugins/*/lib', 'vendor/plugins/*/test', 'vendor/rails/*/lib', 'vendor/rails/*/test']
2 0.002920 0.000394 call map(path,'self.app().path(v:val)')
2 0.003749 0.000097 call self.setvar('&path',(add_dot ? '.,' : '').s:pathjoin([self.app().path()],path,old_path))
FUNCTION <SNR>94_Highlight_Matching_Pair()
Called 19 times
Total time: 0.003123
Self time: 0.003123
count total (s) self (s)
" Remove any previous match.
19 0.000178 if exists('w:paren_hl_on') && w:paren_hl_on
3match none
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).
19 0.000326 if pumvisible() || (&t_Co < 8 && !has("gui_running"))
return
endif
" Get the character under the cursor and check if it's in 'matchpairs'.
19 0.000135 let c_lnum = line('.')
19 0.000126 let c_col = col('.')
19 0.000070 let before = 0
19 0.000223 let c = getline(c_lnum)[c_col - 1]
19 0.000474 let plist = split(&matchpairs, '.\zs[:,]')
19 0.000172 let i = index(plist, c)
19 0.000060 if i < 0
" not found, in Insert mode try character before the cursor
19 0.000133 if c_col > 1 && (mode() == 'i' || mode() == 'R')
let before = 1
let c = getline(c_lnum)[c_col - 2]
let i = index(plist, c)
endif
19 0.000046 if i < 0
" not found, nothing to do
19 0.000043 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 save_cursor = winsaveview()
call cursor(c_lnum, c_col - before)
endif
" When not in a string or comment ignore matches inside them.
" We match "escape" for special items, such as lispEscapeSpecial.
let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' . '=~? "string\\|character\\|singlequote\\|escape\\|comment"'
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
try
" Limit the search time to 300 msec to avoid a hang on very long lines.
" This fails when a timeout is not supported.
let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline, 300)
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
call winrestview(save_cursor)
endif
" If a match is found setup match highlighting.
if m_lnum > 0 && m_lnum >= stoplinetop && m_lnum <= stoplinebottom
exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) . 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
let w:paren_hl_on = 1
endif
FUNCTION <SNR>84_buffer_getvar()
Called 14 times
Total time: 0.000187
Self time: 0.000187
count total (s) self (s)
14 0.000169 return getbufvar(self['#'],a:var)
FUNCTION ctrlp#modfilecond()
Called 2 times
Total time: 0.000042
Self time: 0.000042
count total (s) self (s)
2 0.000039 retu &mod && !&hid && &bh != 'hide' && s:bufwins(bufnr('%')) == 1 && !&cf && ( ( !&awa && a:w ) || filewritable(fnamemodify(bufname('%'), ':p')) != 1 )
FUNCTION ctrlp#statusline()
Called 15 times
Total time: 0.005990
Self time: 0.003334
count total (s) self (s)
15 0.000120 if !exists('s:statypes')
2 0.000025 let s:statypes = [ ['files', 'fil'], ['buffers', 'buf'], ['mru files', 'mru'], ]
2 0.000010 if !empty(g:ctrlp_ext_vars)
cal map(copy(g:ctrlp_ext_vars), 'add(s:statypes, [ v:val["lname"], v:val["sname"] ])')
en
2 0.000002 en
15 0.000072 let tps = s:statypes
15 0.000120 let max = len(tps) - 1
15 0.000438 0.000262 let nxt = tps[s:walker(max, s:itemtype, 1)][1]
15 0.000347 0.000221 let prv = tps[s:walker(max, s:itemtype, -1)][1]
15 0.000139 let s:ctype = tps[s:itemtype][0]
15 0.000086 let focus = s:focus ? 'prt' : 'win'
15 0.000084 let byfname = s:byfname ? 'file' : 'path'
15 0.000227 let marked = s:opmul != '0' ? exists('s:marked') ? ' <'.s:dismrk().'>' : ' <->' : ''
15 0.000068 if s:status != {}
15 0.000271 let args = [focus, byfname, s:regexp, prv, s:ctype, nxt, marked]
15 0.003067 0.000713 let &l:stl = call(s:status['main'], args)
15 0.000044 el
let item = '%#CtrlPMode1# '.s:ctype.' %*'
let focus = '%#CtrlPMode2# '.focus.' %*'
let byfname = '%#CtrlPMode1# '.byfname.' %*'
let regex = s:regexp ? '%#CtrlPMode2# regex %*' : ''
let slider = ' <'.prv.'>={'.item.'}=<'.nxt.'>'
let dir = ' %=%<%#CtrlPMode2# %{getcwd()} %*'
let &l:stl = focus.byfname.regex.slider.marked.dir
en
FUNCTION <SNR>150_LogDebugMessage()
Called 98 times
Total time: 0.002125
Self time: 0.002125
count total (s) self (s)
98 0.000442 if s:debug
execute 'redir >> ' . s:debug_file
silent echon strftime('%H:%M:%S') . ': ' . a:msg . "\n"
redir END
endif
FUNCTION 326()
Called 32 times
Total time: 0.000605
Self time: 0.000605
count total (s) self (s)
32 0.000293 let idx = self.kinddict[a:kind]
32 0.000236 return self.kinds[idx]
FUNCTION <SNR>29_BMHash()
Called 2 times
Total time: 0.000186
Self time: 0.000186
count total (s) self (s)
" Make name all upper case, so that chars are between 32 and 96
2 0.000045 let nm = substitute(a:name, ".*", '\U\0', "")
2 0.000019 if has("ebcdic")
" HACK: Replace all non alphabetics with 'Z'
" Just to make it work for now.
let nm = substitute(nm, "[^A-Z]", 'Z', "g")
let sp = char2nr('A') - 1
else
2 0.000012 let sp = char2nr(' ')
2 0.000003 endif
" convert first six chars into a number for sorting:
2 0.000069 return (char2nr(nm[0]) - sp) * 0x800000 + (char2nr(nm[1]) - sp) * 0x20000 + (char2nr(nm[2]) - sp) * 0x1000 + (char2nr(nm[3]) - sp) * 0x80 + (char2nr(nm[4]) - sp) * 0x20 + (char2nr(nm[5]) - sp)
FUNCTION 304()
Called 132 times
Total time: 0.011478
Self time: 0.009999
count total (s) self (s)
132 0.000875 let fileinfo = self.fileinfo
132 0.004204 0.002725 if s:known_files.has(fileinfo.fpath) && has_key(fileinfo._tagfolds_old[self.fields.kind], self.fullpath)
" The file has been updated and the tag was there before, so copy its
" old fold state
let fileinfo.tagfolds[self.fields.kind][self.fullpath] = fileinfo._tagfolds_old[self.fields.kind][self.fullpath]
elseif self.depth >= fileinfo.foldlevel
let fileinfo.tagfolds[self.fields.kind][self.fullpath] = 1
else
132 0.002010 let fileinfo.tagfolds[self.fields.kind][self.fullpath] = fileinfo.kindfolds[self.fields.kind]
132 0.000293 endif
FUNCTION <SNR>124_buffer_type_name()
Called 48 times
Total time: 0.004704
Self time: 0.002583
count total (s) self (s)
48 0.001078 0.000792 let type = getbufvar(self.number(),'rails_cached_file_type')
48 0.000232 if type == ''
let type = self.calculate_file_type()
endif
48 0.002920 0.001085 return call('s:match_type',[type == '-' ? '' : type] + a:000)
FUNCTION rails#buffer()
Called 18 times
Total time: 0.000968
Self time: 0.000968
count total (s) self (s)
18 0.000941 return extend(extend({'#': bufnr(a:0 ? a:1 : '%')},s:buffer_prototype,'keep'),s:readable_prototype,'keep')
endif
FUNCTION 298()
Called 134 times
Total time: 0.011122
Self time: 0.011122
count total (s) self (s)
134 0.001165 let self.name = a:name
134 0.001000 let self.fields = {}
134 0.000788 let self.fields.line = 0
134 0.000731 let self.fields.column = 1
134 0.000763 let self.prototype = ''
134 0.000735 let self.path = ''
134 0.000853 let self.fullpath = a:name
134 0.000751 let self.depth = 0
134 0.000877 let self.parent = {}
134 0.000717 let self.tline = -1
134 0.000815 let self.fileinfo = {}
134 0.000896 let self.typeinfo = {}
FUNCTION <SNR>130_compmatlen()
Called 325 times
Total time: 0.165652
Self time: 0.018552
count total (s) self (s)
" By match length
325 0.081718 0.007808 let mln1 = s:shortest(s:matchlens(a:1, s:compat))
325 0.080849 0.007659 let mln2 = s:shortest(s:matchlens(a:2, s:compat))
325 0.001930 retu mln1 == mln2 ? 0 : mln1 > mln2 ? 1 : -1
FUNCTION <SNR>130_nosort()
Called 15 times
Total time: 0.000508
Self time: 0.000508
count total (s) self (s)
15 0.000480 retu s:matcher != {} || s:nolim == 1 || ( s:itemtype == 2 && s:mrudef ) || ( s:itemtype =~ '\v^(1|2)$' && s:prompt == ['', '', ''] ) || !s:dosort
FUNCTION <SNR>130_shortest()
Called 650 times
Total time: 0.010696
Self time: 0.010696
count total (s) self (s)
650 0.009782 retu min(map(values(a:lens), 'v:val[0]'))
FUNCTION 337()
Called 149 times
Total time: 0.001670
Self time: 0.001670
count total (s) self (s)
149 0.001421 return has_key(self._files, a:fname)
FUNCTION 338()
Called 2 times
Total time: 0.000113
Self time: 0.000081
count total (s) self (s)
2 0.000074 0.000042 if s:known_files.has(a:fname)
2 0.000026 call remove(self._files, a:fname)
2 0.000006 endif
FUNCTION indent_guides#lighten_or_darken_color()
Called 12 times
Total time: 0.004913
Self time: 0.000644
count total (s) self (s)
12 0.000067 let l:new_color = ''
12 0.000067 if (&g:background == 'dark')
12 0.004536 0.000267 let l:new_color = color_helper#hex_color_lighten(a:color, s:change_percent)
12 0.000026 else
let l:new_color = color_helper#hex_color_darken (a:color, s:change_percent)
endif
12 0.000035 return l:new_color
FUNCTION <SNR>124_RefreshBuffer()
Called 4 times
Total time: 0.000176
Self time: 0.000176
count total (s) self (s)
4 0.000057 if exists("b:rails_refresh") && b:rails_refresh
let oldroot = b:rails_root
unlet! b:rails_root
let b:rails_refresh = 0
call RailsBufInit(oldroot)
unlet! b:rails_refresh
endif
FUNCTION <SNR>109_UpdateNERDTree()
Called 4 times
Total time: 0.001181
Self time: 0.001181
count total (s) self (s)
4 0.000076 let stay = 0
4 0.000095 if(exists("a:1"))
let stay = a:1
end
4 0.000054 if exists("t:NERDTreeBufName")
4 0.000683 let nr = bufwinnr(t:NERDTreeBufName)
4 0.000035 if nr != -1
exe nr . "wincmd w"
exe substitute(mapcheck("R"), "<CR>", "", "")
if !stay
wincmd p
end
endif
4 0.000009 endif
FUNCTION color_helper#rgb_color_to_hex()
Called 12 times
Total time: 0.001349
Self time: 0.000733
count total (s) self (s)
12 0.000064 let l:hex_color = '#'
12 0.000458 0.000204 let l:hex_color .= color_helper#dec_to_hex(a:rgb_color[0], 2) " red
12 0.000370 0.000190 let l:hex_color .= color_helper#dec_to_hex(a:rgb_color[1], 2) " green
12 0.000365 0.000183 let l:hex_color .= color_helper#dec_to_hex(a:rgb_color[2], 2) " blue
12 0.000045 return l:hex_color
FUNCTION <SNR>32_LoadIndent()
Called 4 times
Total time: 0.007320
Self time: 0.006474
count total (s) self (s)
4 0.000049 if exists("b:undo_indent")
exe b:undo_indent
unlet! b:undo_indent b:did_indent
endif
4 0.000047 let s = expand("<amatch>")
4 0.000023 if s != ""
4 0.000027 if exists("b:did_indent")
2 0.000064 unlet b:did_indent
2 0.000009 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".
8 0.000149 for name in split(s, '\.')
4 0.006787 0.005941 exe 'runtime! indent/' . name . '.vim'
4 0.000014 endfor
4 0.000009 endif
FUNCTION <SNR>84_build_path_option()
Called 4 times
Total time: 0.000099
Self time: 0.000099
count total (s) self (s)
4 0.000083 return join(map(copy(a:paths),'",".escape(s:shellslash(v:val."/".a:suffix),", ")'),'')
FUNCTION <SNR>124_sub()
Called 126 times
Total time: 0.003085
Self time: 0.003085
count total (s) self (s)
126 0.002896 return substitute(a:str,'\v\C'.a:pat,a:rep,'')
FUNCTION <SNR>130_openfile()
Called 2 times
Total time: 14.374127
Self time: 1.882015
count total (s) self (s)
2 0.000010 let cmd = a:cmd
2 0.000090 0.000048 if a:chkmod && cmd =~ '^[eb]$' && ctrlp#modfilecond(!( cmd == 'b' && &aw ))
let cmd = cmd == 'b' ? 'sb' : 'sp'
en
2 0.000024 let cmd = cmd =~ '^tab' ? ctrlp#tabcount().cmd : cmd
2 0.000017 let j2l = a:0 && a:1[0] ? a:1[1] : 0
2 14.372300 1.881615 exe cmd.( a:0 && a:1[0] ? '' : a:tail ) s:fnesc(a:fid, 'f')
2 0.000055 if j2l
cal ctrlp#j2l(j2l)
en
2 0.000030 if !empty(a:tail)
sil! norm! zvzz
en
2 0.000026 if cmd != 'bad'
2 0.001476 0.000091 cal ctrlp#setlcdir()
2 0.000003 en
FUNCTION <SNR>84_shellslash()
Called 2 times
Total time: 0.000047
Self time: 0.000047
count total (s) self (s)
2 0.000017 if exists('+shellslash') && !&shellslash
return s:gsub(a:path,'\\','/')
else
2 0.000007 return a:path
endif
FUNCTION <SNR>130_PrtExit()
Called 2 times
Total time: 0.067170
Self time: 0.000170
count total (s) self (s)
2 0.000041 if !has('autocmd') | cal s:Close() | en
2 0.067121 0.000121 exe ( winnr('$') == 1 ? 'bw!' : 'winc p' )
FUNCTION Powerline#Functions#GetMode()
Called 32 times
Total time: 0.004706
Self time: 0.004706
count total (s) self (s)
32 0.000324 let mode = mode()
32 0.000182 if mode ==# 'v'
let mode = get(g:, "Powerline_mode_v", "VISUAL")
elseif mode ==# 'V'
let mode = get(g:, "Powerline_mode_V", "V‚ãÖLINE")
elseif mode ==# ''
let mode = get(g:, "Powerline_mode_cv", "V‚ãÖBLOCK")
elseif mode ==# 's'
let mode = get(g:, "Powerline_mode_s", "SELECT")
elseif mode ==# 'S'
let mode = get(g:, "Powerline_mode_S", "S‚ãÖLINE")
elseif mode ==# ''
let mode = get(g:, "Powerline_mode_cs", "S‚ãÖBLOCK")
elseif mode =~# '\vi'
let mode = get(g:, "Powerline_mode_i", "INSERT")
elseif mode =~# '\v(R|Rv)'
let mode = get(g:, "Powerline_mode_R", "REPLACE")
else
" Fallback to normal mode
32 0.000377 let mode = get(g:, "Powerline_mode_n", "NORMAL")
32 0.000069 endif
32 0.000123 return mode
FUNCTION indent_guides#gui_highlight_colors()
Called 6 times
Total time: 0.007420
Self time: 0.002507
count total (s) self (s)
6 0.000040 let l:hi_normal_guibg = ''
" capture the backgroud color from the normal highlight
6 0.000170 if s:hi_normal =~ s:color_hex_bg_pat
" hex color code is being used, eg. '#FFFFFF'
6 0.000182 let l:hi_normal_guibg = matchstr(s:hi_normal, s:color_hex_bg_pat)
6 0.000026 elseif s:hi_normal =~ s:color_name_bg_pat
" color name is being used, eg. 'white'
let l:color_name = matchstr(s:hi_normal, s:color_name_bg_pat)
let l:hi_normal_guibg = color_helper#color_name_to_hex(l:color_name)
else
" background color could not be detected, default to basic colors
call indent_guides#basic_highlight_colors()
endif
6 0.000104 if l:hi_normal_guibg =~ s:color_hex_pat
" calculate the highlight background colors
6 0.002809 0.000125 let l:hi_odd_bg = indent_guides#lighten_or_darken_color(l:hi_normal_guibg)
6 0.002325 0.000096 let l:hi_even_bg = indent_guides#lighten_or_darken_color(l:hi_odd_bg)
" define the new highlights
6 0.000917 exe 'hi IndentGuidesOdd guibg=' . l:hi_odd_bg . ' guifg=' . l:hi_even_bg
6 0.000490 exe 'hi IndentGuidesEven guibg=' . l:hi_even_bg . ' guifg=' . l:hi_odd_bg
6 0.000019 end
FUNCTION <SNR>130_autocmds()
Called 2 times
Total time: 0.000095
Self time: 0.000095
count total (s) self (s)
2 0.000026 if !has('autocmd') | retu | en
2 0.000028 if exists('#CtrlPLazy')
au! CtrlPLazy
en
2 0.000007 if s:lazy
aug CtrlPLazy
au!
au CursorHold ControlP cal s:ForceUpdate()
aug END
en
FUNCTION <SNR>130_settype()
Called 2 times
Total time: 0.000017
Self time: 0.000017
count total (s) self (s)
2 0.000015 retu a:type < 0 ? exists('s:itemtype') ? s:itemtype : 0 : a:type
FUNCTION <SNR>72_FilterLocList()
Called 34 times
Total time: 0.003306
Self time: 0.002552
count total (s) self (s)
34 0.001256 0.000502 let llist = a:0 ? a:1 : s:LocList()
34 0.000148 let rv = []
34 0.000181 for error in llist
let passes_filters = 1
for key in keys(a:filters)
if error[key] !=? a:filters[key]
let passes_filters = 0
break
endif
endfor
if passes_filters
call add(rv, error)
endif
endfor
34 0.000105 return rv
FUNCTION Powerline#Functions#GetFilepath()
Called 32 times
Total time: 0.003986
Self time: 0.003986
count total (s) self (s)
" Recalculate the filepath when cwd changes.
32 0.001540 let cwd = getcwd()
32 0.000550 if exists("b:Powerline_cwd") && cwd != b:Powerline_cwd
unlet! b:Powerline_filepath
endif
32 0.000227 let b:Powerline_cwd = cwd
32 0.000312 if exists('b:Powerline_filepath')
30 0.000149 return b:Powerline_filepath
endif
2 0.000037 let dirsep = has('win32') && ! &shellslash ? '\' : '/'
2 0.000172 let filepath = expand('%:p')
2 0.000020 if empty(filepath)
return ''
endif
2 0.000011 let ret = ''
2 0.000020 if g:Powerline_stl_path_style == 'short'
" Display a short path where the first directory is displayed with its
" full name, and the subsequent directories are shortened to their
" first letter, i.e. "/home/user/foo/foo/bar/baz.vim" becomes
" "~/foo/f/b/baz.vim"
"
" This displays the shortest possible path, relative to ~ or the
" current directory.
let mod = (exists('+acd') && &acd) ? ':~:h' : ':~:.:h'
let fpath = split(fnamemodify(filepath, mod), dirsep)
let fpath_shortparts = map(fpath[1:], 'v:val[0]')
let ret = join(extend([fpath[0]], fpath_shortparts), dirsep) . dirsep
elseif g:Powerline_stl_path_style == 'relative'
" Display a relative path, similar to the %f statusline item
2 0.000138 let ret = fnamemodify(filepath, ':~:.:h') . dirsep
2 0.000013 elseif g:Powerline_stl_path_style == 'full'
" Display the full path, similar to the %F statusline item
let ret = fnamemodify(filepath, ':h') . dirsep
endif
2 0.000017 if ret == ('.' . dirsep)
let ret = ''
endif
2 0.000017 let b:Powerline_filepath = ret
2 0.000010 return ret
FUNCTION <SNR>84_buffer()
Called 2 times
Total time: 0.000165
Self time: 0.000138
count total (s) self (s)
2 0.000030 let buffer = {'#': bufnr(a:0 ? a:1 : '%')}
2 0.000049 call extend(extend(buffer,s:buffer_prototype,'keep'),s:abstract_prototype,'keep')
2 0.000070 0.000043 if buffer.getvar('bundler_root') !=# ''
2 0.000008 return buffer
endif
call s:throw('not a Bundler project: '.(a:0 ? a:1 : expand('%')))
FUNCTION <SNR>130_getenv()
Called 2 times
Total time: 0.001054
Self time: 0.000646
count total (s) self (s)
2 0.000169 let [s:cwd, s:winres] = [getcwd(), [winrestcmd(), &lines, winnr('$')]]
2 0.000241 let [s:crfile, s:crfpath] = [expand('%:p', 1), expand('%:p:h', 1)]
2 0.000044 let [s:crword, s:crline] = [expand('<cword>', 1), getline('.')]
2 0.000041 let [s:winh, s:crcursor] = [min([s:mxheight, &lines]), getpos('.')]
2 0.000462 0.000069 let [s:crbufnr, s:crvisual] = [bufnr('%'), s:lastvisual()]
2 0.000084 0.000069 let [s:mrbs, s:crgfile] = [ctrlp#mrufiles#bufs(), expand('<cfile>', 1)]
FUNCTION indent_guides#highlight_colors()
Called 6 times
Total time: 0.007696
Self time: 0.000276
count total (s) self (s)
6 0.000027 if s:auto_colors
6 0.000058 if has('gui_running')
6 0.007512 0.000092 call indent_guides#gui_highlight_colors()
6 0.000013 else
call indent_guides#basic_highlight_colors()
endif
6 0.000009 endif
FUNCTION <SNR>124_BufModelines()
Called 2 times
Total time: 0.000021
Self time: 0.000021
count total (s) self (s)
2 0.000012 if !g:rails_modelines
2 0.000004 return
endif
let lines = getline("$")."\n".getline(line("$")-1)."\n".getline(1)."\n".getline(2)."\n".getline(3)."\n"
let pat = '\s\+\zs.\{-\}\ze\%(\n\|\s\s\|#{\@!\|%>\|-->\|$\)'
let cnt = 1
let mat = matchstr(lines,'\C\<Rset'.pat)
let matend = matchend(lines,'\C\<Rset'.pat)
while mat != "" && cnt < 10
let mat = s:sub(mat,'\s+$','')
let mat = s:gsub(mat,'\|','\\|')
if mat != ''
silent! exe "Rset <B> ".mat
endif
let mat = matchstr(lines,'\C\<Rset'.pat,matend)
let matend = matchend(lines,'\C\<Rset'.pat,matend)
let cnt += 1
endwhile
FUNCTION <SNR>130_buffunc()
Called 4 times
Total time: 0.000131
Self time: 0.000131
count total (s) self (s)
4 0.000039 if a:e && has_key(s:buffunc, 'enter')
cal call(s:buffunc['enter'], [])
elsei !a:e && has_key(s:buffunc, 'exit')
cal call(s:buffunc['exit'], [])
en
FUNCTION color_helper#hex_color_lighten()
Called 12 times
Total time: 0.004269
Self time: 0.001315
count total (s) self (s)
12 0.001801 0.000196 let l:rgb = color_helper#hex_color_to_rgb(a:color)
12 0.000069 let l:rgb_lightened = []
48 0.000153 for i in l:rgb
36 0.000467 call add(l:rgb_lightened, float2nr(i + ((255 - i) * a:percent)))
36 0.000070 endfor
12 0.001489 0.000140 return color_helper#rgb_color_to_hex(l:rgb_lightened)
FUNCTION <SNR>150_ProcessFile()
Called 2 times
Total time: 0.698797
Self time: 0.035491
count total (s) self (s)
2 0.000077 0.000037 call s:LogDebugMessage('ProcessFile called [' . a:fname . ']')
2 0.000371 0.000034 if !s:IsValidFile(a:fname, a:ftype)
call s:LogDebugMessage('Not a valid file, returning')
return
endif
" If the file has only been updated preserve the fold states, otherwise
" create a new entry
2 0.000047 0.000027 if s:known_files.has(a:fname)
let fileinfo = s:known_files.get(a:fname)
call fileinfo.reset()
else
2 0.000861 0.000046 let fileinfo = s:FileInfo.New(a:fname, a:ftype)
2 0.000005 endif
2 0.000026 let tempfile = tempname()
2 0.000030 let ext = fnamemodify(fileinfo.fpath, ':e')
2 0.000012 if ext != ''
2 0.000021 let tempfile .= '.' . ext
2 0.000005 endif
2 0.010202 call writefile(getbufline(fileinfo.bufnr, 1, '$'), tempfile)
2 0.000126 let fileinfo.mtime = getftime(tempfile)
2 0.479481 0.000226 let ctags_output = s:ExecuteCtagsOnFile(tempfile, a:ftype)
2 0.000225 call delete(tempfile)
2 0.000020 if ctags_output == -1
call s:LogDebugMessage('Ctags error when processing file')
" Put an empty entry into known_files so the error message is only
" shown once
call s:known_files.put({}, a:fname)
return
elseif ctags_output == ''
call s:LogDebugMessage('Ctags output empty')
" No need to go through the tag processing if there are no tags, and
" preserving the old fold state isn't necessary either
call s:known_files.put(s:FileInfo.New(a:fname, a:ftype), a:fname)
return
endif
2 0.000035 let typeinfo = fileinfo.typeinfo
" Parse the ctags output lines
2 0.000070 0.000032 call s:LogDebugMessage('Parsing ctags output')
2 0.003442 let rawtaglist = split(ctags_output, '\n\+')
134 0.000562 for line in rawtaglist
" skip comments
132 0.001531 if line =~# '^!_TAG_'
continue
endif
132 0.002472 let parts = split(line, ';"')
132 0.000864 if len(parts) == 2 " Is a valid tag line
132 0.098865 0.004321 let taginfo = s:ParseTagline(parts[0], parts[1], typeinfo, fileinfo)
132 0.001530 let fileinfo.fline[taginfo.fields.line] = taginfo
132 0.001403 call add(fileinfo.tags, taginfo)
132 0.000306 endif
132 0.000264 endfor
" Process scoped tags
2 0.000014 let processedtags = []
2 0.000017 if has_key(typeinfo, 'kind2scope')
2 0.000092 0.000038 call s:LogDebugMessage('Processing scoped tags')
2 0.000013 let scopedtags = []
2 0.000017 let is_scoped = 'has_key(typeinfo.kind2scope, v:val.fields.kind) || has_key(v:val, "scope")'
2 0.001259 let scopedtags += filter(copy(fileinfo.tags), is_scoped)
2 0.001076 call filter(fileinfo.tags, '!(' . is_scoped . ')')
2 0.002758 0.000106 call s:AddScopedTags(scopedtags, processedtags, {}, 0, typeinfo, fileinfo)
2 0.000009 if !empty(scopedtags)
echoerr 'Tagbar: ''scopedtags'' not empty after processing,' 'this should never happen!' 'Please contact the script maintainer with an example.'
endif
2 0.000003 endif
2 0.000074 0.000035 call s:LogDebugMessage('Number of top-level tags: ' . len(processedtags))
" Create a placeholder tag for the 'kind' header for folding purposes
10 0.000034 for kind in typeinfo.kinds
8 0.001745 let curtags = filter(copy(fileinfo.tags), 'v:val.fields.kind ==# kind.short')
8 0.000381 0.000194 call s:LogDebugMessage('Processing kind: ' . kind.short . ', number of tags: ' . len(curtags))
8 0.000043 if empty(curtags)
6 0.000020 continue
endif
2 0.000279 0.000042 let kindtag = s:KindheaderTag.New(kind.long)
2 0.000014 let kindtag.short = kind.short
2 0.000016 let kindtag.numtags = len(curtags)
2 0.000009 let kindtag.fileinfo = fileinfo
125 0.000265 for tag in curtags
123 0.000512 let tag.parent = kindtag
123 0.000212 endfor
2 0.000004 endfor
2 0.000009 if !empty(processedtags)
2 0.000016 call extend(fileinfo.tags, processedtags)
2 0.000003 endif
" Clear old folding information from previous file version to prevent leaks
2 0.000081 0.000026 call fileinfo.clearOldFolds()
" Sort the tags
2 0.000031 let s:compare_typeinfo = typeinfo
2 0.084973 0.000033 call fileinfo.sortTags()
2 0.000153 0.000060 call s:known_files.put(fileinfo)
FUNCTION 314()
Called 32 times
Total time: 0.001783
Self time: 0.001783
count total (s) self (s)
32 0.000185 if a:full && self.path != ''
let str = self.path . self.typeinfo.sro . self.name
else
32 0.000174 let str = self.name
32 0.000057 endif
32 0.000274 if has_key(self.fields, 'signature')
if a:longsig
let str .= self.fields.signature
else
let str .= '()'
endif
endif
32 0.000099 return str
FUNCTION <SNR>130_opts()
Called 2 times
Total time: 0.003391
Self time: 0.003338
count total (s) self (s)
2 0.000093 unl! s:usrign s:usrcmd s:urprtmaps
12 0.000110 for each in ['byfname', 'regexp', 'extensions'] | if exists('s:'.each)
6 0.000073 let {each} = s:{each}
10 0.000028 en | endfo
72 0.000504 for [ke, va] in items(s:opts)
70 0.001218 let {va[0]} = exists(s:pref.ke) ? {s:pref.ke} : va[1]
70 0.000137 endfo
2 0.000007 unl va
12 0.000089 for [ke, va] in items(s:new_opts)
10 0.000201 let {va} = {exists(s:pref.ke) ? s:pref.ke : va}
10 0.000022 endfo
2 0.000008 unl va
8 0.000060 for [ke, va] in items(s:lc_opts)
6 0.000055 if exists(s:bpref.ke)
unl {va}
let {va} = {s:bpref.ke}
en
6 0.000010 endfo
2 0.000010 if a:0 && a:1 != {}
unl va
for [ke, va] in items(a:1)
let opke = substitute(ke, '\(\w:\)\?ctrlp_', '', '')
if has_key(s:lc_opts, opke)
let sva = s:lc_opts[opke]
unl {sva}
let {sva} = va
en
endfo
en
8 0.000039 for each in ['byfname', 'regexp'] | if exists(each)
4 0.000031 let s:{each} = {each}
6 0.000011 en | endfo
2 0.000018 if !exists('g:ctrlp_newcache') | let g:ctrlp_newcache = 0 | en
2 0.000016 let s:maxdepth = min([s:maxdepth, 100])
2 0.000013 let s:mxheight = max([s:mxheight, 1])
2 0.000010 let s:glob = s:showhidden ? '.*\|*' : '*'
2 0.000022 let s:igntype = empty(s:usrign) ? -1 : type(s:usrign)
2 0.000089 0.000036 let s:lash = ctrlp#utils#lash()
2 0.000009 if s:keyloop
let [s:lazy, s:glbs['imd']] = [0, 0]
en
2 0.000006 if s:lazy
cal extend(s:glbs, { 'ut': ( s:lazy > 1 ? s:lazy : 250 ) })
en
" Extensions
2 0.000021 if !( exists('extensions') && extensions == s:extensions )
for each in s:extensions
exe 'ru autoload/ctrlp/'.each.'.vim'
endfo
en
" Keymaps
2 0.000014 if type(s:urprtmaps) == 4
cal extend(s:prtmaps, s:urprtmaps)
en
FUNCTION ctrlp#utils#fnesc()
Called 28 times
Total time: 0.003362
Self time: 0.003362
count total (s) self (s)
28 0.000228 if exists('*fnameescape')
28 0.000229 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
28 0.000748 let path = fnameescape(a:path)
28 0.000048 en
28 0.000037 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
28 0.000249 retu a:0 ? escape(path, a:1) : path
FUNCTION Powerline#Functions#syntastic#GetErrors()
Called 32 times
Total time: 0.008483
Self time: 0.002446
count total (s) self (s)
32 0.000346 if ! exists('g:syntastic_stl_format')
" Syntastic hasn't been loaded yet
return ''
endif
" Temporarily change syntastic output format
32 0.000230 let old_stl_format = g:syntastic_stl_format
32 0.000584 let g:syntastic_stl_format = '%E{ ERRORS (%e) '. a:line_symbol .' %fe }%W{ WARNINGS (%w) '. a:line_symbol .' %fw }'
32 0.006463 0.000426 let ret = SyntasticStatuslineFlag()
32 0.000223 let g:syntastic_stl_format = old_stl_format
32 0.000100 return ret
FUNCTION <SNR>55_buffer_commit()
Called 34 times
Total time: 0.007054
Self time: 0.001336
count total (s) self (s)
34 0.006984 0.001266 return matchstr(self.spec(),'^fugitive://.\{-\}//\zs\w*')
FUNCTION Pl#Statusline()
Called 32 times
Total time: 0.004564
Self time: 0.004564
count total (s) self (s)
32 0.000575 let mode = mode()
32 0.000179 if ! a:current
let mode = 'N' " Normal (non-current)
elseif mode =~# '\v(v|V|)'
let mode = 'v' " Visual mode
elseif mode =~# '\v(s|S|)'
let mode = 's' " Select mode
elseif mode =~# '\vi'
let mode = 'i' " Insert mode
elseif mode =~# '\v(R|Rv)'
let mode = 'r' " Replace mode
else
" Fallback to normal mode
32 0.000175 let mode = 'n' " Normal (current)
32 0.000067 endif
32 0.000578 return g:Pl#THEME[a:statusline].mode_statuslines[mode]
FUNCTION <SNR>130_MapNorms()
Called 2 times
Total time: 0.000026
Self time: 0.000026
count total (s) self (s)
2 0.000021 if exists('s:nmapped') && s:nmapped == s:bufnr | retu | en
let pcmd = "nn \<buffer> \<silent> \<k%s> :\<c-u>cal \<SID>%s(\"%s\")\<cr>"
let cmd = substitute(pcmd, 'k%s', 'char-%d', '')
let pfunc = 'PrtFocusMap'
let ranges = [32, 33, 125, 126] + range(35, 91) + range(93, 123)
for each in [34, 92, 124]
exe printf(cmd, each, pfunc, escape(nr2char(each), '"|\'))
endfo
for each in ranges
exe printf(cmd, each, pfunc, nr2char(each))
endfo
for each in range(0, 9)
exe printf(pcmd, each, pfunc, each)
endfo
for [ke, va] in items(s:kprange)
exe printf(pcmd, ke, pfunc, va)
endfo
let s:nmapped = s:bufnr
FUNCTION Pl#UpdateStatusline()
Called 18 times
Total time: 0.031397
Self time: 0.008163
count total (s) self (s)
18 0.000208 if empty(g:Pl#THEME)
" Load statuslines if they aren't loaded yet
call Pl#Load()
endif
234 0.001153 for i in range(0, len(g:Pl#THEME) - 1)
216 0.026827 0.003593 if Pl#Match#Validate(g:Pl#THEME[i])
" Update window-local statusline
18 0.000449 let &l:statusline = '%!Pl#Statusline('. i .','. a:current .')'
18 0.000048 endif
216 0.000368 endfor
FUNCTION <SNR>124_startswith()
Called 32 times
Total time: 0.000507
Self time: 0.000507
count total (s) self (s)
32 0.000463 return strpart(a:string, 0, strlen(a:prefix)) ==# a:prefix
FUNCTION <SNR>130_highlight()
Called 15 times
Total time: 0.001933
Self time: 0.001933
count total (s) self (s)
15 0.000133 if s:matcher != {} | retu | en
15 0.000110 cal clearmatches()
15 0.000095 if !empty(a:pat) && s:ispath
13 0.000127 let pat = s:regexp ? substitute(a:pat, '\\\@<!\^', '^> \\zs', 'g') : a:pat
13 0.000042 if s:byfname
let pat = substitute(pat, '\[\^\(.\{-}\)\]\\{-}', '[^\\/\1]\\{-}', 'g')
let pat = substitute(pat, '\$\@<!$', '\\ze[^\\/]*$', 'g')
en
13 0.000813 cal matchadd(a:grp, ( s:martcs == '' ? '\c' : '\C' ).pat)
13 0.000286 cal matchadd('CtrlPLinePre', '^>')
13 0.000026 en
FUNCTION <SNR>55_buffer_spec()
Called 40 times
Total time: 0.006099
Self time: 0.004870
count total (s) self (s)
40 0.000480 let bufname = bufname(self['#'])
40 0.005531 0.004302 return s:shellslash(bufname == '' ? '' : fnamemodify(bufname,':p'))
FUNCTION Pl#Match#Validate()
Called 216 times
Total time: 0.023234
Self time: 0.023234
count total (s) self (s)
216 0.002239 let match = a:theme.matches[1]
216 0.001185 if match == 'none'
return 0
elseif match == 'any'
216 0.001650 let matches = a:theme.matches[2]
216 0.001184 if ! len(matches)
" Empty match array matches everything
18 0.000057 return 1
endif
396 0.002005 for [eval, re] in matches
198 0.005209 if match(eval(eval), '\v'. re) != -1
return 1
endif
198 0.000368 endfor
198 0.000487 return 0
endif
FUNCTION <SNR>72_EchoCurrentError()
Called 17 times
Total time: 0.005270
Self time: 0.001964
count total (s) self (s)
"If we have an error or warning at the current line, show it
17 0.002302 0.000499 let errors = s:FilterLocList({'lnum': line("."), "type": 'e'})
17 0.001891 0.000388 let warnings = s:FilterLocList({'lnum': line("."), "type": 'w'})
17 0.000215 let b:syntastic_echoing_error = len(errors) || len(warnings)
17 0.000081 if len(errors)
return s:WideMsg(errors[0]['text'])
endif
17 0.000070 if len(warnings)
return s:WideMsg(warnings[0]['text'])
endif
"Otherwise, clear the status line
17 0.000068 if b:syntastic_echoing_error
echo
let b:syntastic_echoing_error = 0
endif
FUNCTION AutoPairsInit()
Called 2 times
Total time: 0.002933
Self time: 0.001552
count total (s) self (s)
2 0.000021 let b:autopairs_loaded = 1
2 0.000015 let b:autopairs_enabled = 1
" buffer level map pairs keys
14 0.000160 for [open, close] in items(g:AutoPairs)
12 0.001176 0.000208 call AutoPairsMap(open)
12 0.000087 if open != close
6 0.000492 0.000079 call AutoPairsMap(close)
6 0.000016 end
12 0.000157 let g:AutoPairsClosedPairs[close] = open
12 0.000037 endfor
" Still use <buffer> level mapping for <BS> <SPACE>
2 0.000006 if g:AutoPairsMapBS
" Use <C-R> instead of <expr> for issue #14 sometimes press BS output strange words
2 0.000062 execute 'inoremap <buffer> <silent> <BS> <C-R>=AutoPairsDelete()<CR>'
2 0.000003 end
2 0.000006 if g:AutoPairsMapSpace
2 0.000060 execute 'inoremap <buffer> <silent> <SPACE> <C-R>=AutoPairsSpace()<CR>'
2 0.000003 end
2 0.000011 if g:AutoPairsShortcutFastWrap != ''
2 0.000068 execute 'inoremap <buffer> <silent> '.g:AutoPairsShortcutFastWrap.' <C-R>=AutoPairsFastWrap()<CR>'
2 0.000002 end
2 0.000009 if g:AutoPairsShortcutBackInsert != ''
2 0.000068 execute 'inoremap <buffer> <silent> '.g:AutoPairsShortcutBackInsert.' <C-R>=AutoPairsBackInsert()<CR>'
2 0.000003 end
2 0.000008 if g:AutoPairsShortcutToggle != ''
" use <expr> to ensure showing the status when toggle
2 0.000063 execute 'inoremap <buffer> <silent> <expr> '.g:AutoPairsShortcutToggle.' AutoPairsToggle()'
2 0.000078 execute 'noremap <buffer> <silent> '.g:AutoPairsShortcutToggle.' :call AutoPairsToggle()<CR>'
2 0.000002 end
2 0.000008 if g:AutoPairsShortcutJump != ''
2 0.000067 execute 'inoremap <buffer> <silent> ' . g:AutoPairsShortcutJump. ' <ESC>:call AutoPairsJump()<CR>a'
2 0.000069 execute 'noremap <buffer> <silent> ' . g:AutoPairsShortcutJump. ' :call AutoPairsJump()<CR>'
2 0.000003 end
FUNCTION <SNR>124_app_path()
Called 66 times
Total time: 0.001007
Self time: 0.001007
count total (s) self (s)
66 0.000927 return join([self.root]+a:000,'/')
FUNCTION <SNR>88_Detect()
Called 2 times
Total time: 0.001604
Self time: 0.000150
count total (s) self (s)
2 0.000018 if !exists('b:rake_root')
2 0.001510 0.000056 let dir = s:find_root(a:path)
2 0.000012 if dir !=# ''
let b:rake_root = dir
endif
2 0.000003 endif
2 0.000020 if exists('b:rake_root')
silent doautocmd User Rake
endif
FUNCTION <SNR>124_buffer_name()
Called 16 times
Total time: 0.006802
Self time: 0.003368
count total (s) self (s)
16 0.001781 0.000178 let app = self.app()
16 0.001849 0.001399 let f = s:gsub(resolve(fnamemodify(bufname(self.number()),':p')),'\\ @!','/')
16 0.000555 0.000236 let f = s:sub(f,'/$','')
16 0.000322 let sep = matchstr(f,'^[^\\/]\{3,\}\zs[\\/]')
16 0.000076 if sep != ""
let f = getcwd().sep.f
endif
16 0.001485 0.000650 if s:startswith(tolower(f),s:gsub(tolower(app.path()),'\\ @!','/')) || f == ""
16 0.000513 0.000286 return strpart(f,strlen(app.path())+1)
else
if !exists("s:path_warn")
let s:path_warn = 1
call s:warn("File ".f." does not appear to be under the Rails root ".self.app().path().". Please report to the rails.vim author!")
endif
return f
endif
FUNCTION fugitive#extract_git_dir()
Called 2 times
Total time: 0.002160
Self time: 0.001245
count total (s) self (s)
2 0.000116 0.000051 if s:shellslash(a:path) =~# '^fugitive://.*//'
return matchstr(s:shellslash(a:path), '\C^fugitive://\zs.\{-\}\ze//')
endif
2 0.000266 0.000217 let root = s:shellslash(simplify(fnamemodify(a:path, ':p:s?[\/]$??')))
2 0.000011 let previous = ""
8 0.000046 while root !=# previous
8 0.000408 0.000150 let dir = s:sub(root, '[\/]$', '') . '/.git'
8 0.000132 let type = getftype(dir)
8 0.000237 0.000073 if type ==# 'dir' && fugitive#is_git_dir(dir)
2 0.000010 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
6 0.000027 let previous = root
6 0.000060 let root = fnamemodify(root, ':h')
6 0.000015 endwhile
return ''
FUNCTION <SNR>130_tail()
Called 2 times
Total time: 0.000052
Self time: 0.000052
count total (s) self (s)
2 0.000022 if exists('s:optail') && !empty('s:optail')
let tailpref = s:optail !~ '^\s*+' ? ' +' : ' '
retu tailpref.s:optail
en
2 0.000004 retu ''
FUNCTION <SNR>124_BufAbbreviations()
Called 2 times
Total time: 0.038652
Self time: 0.003054
count total (s) self (s)
2 0.000056 command! -buffer -bar -nargs=* -bang Rabbrev :call s:Abbrev(<bang>0,<f-args>)
" Some of these were cherry picked from the TextMate snippets
2 0.000013 if g:rails_abbreviations
2 0.000149 0.000032 let buffer = rails#buffer()
" Limit to the right filetypes. But error on the liberal side
2 0.000481 0.000054 if buffer.type_name('controller','view','helper','test-functional','test-integration')
Rabbrev pa[ params
Rabbrev rq[ request
Rabbrev rs[ response
Rabbrev se[ session
Rabbrev hd[ headers
Rabbrev coo[ cookies
Rabbrev fl[ flash
Rabbrev rr( render
Rabbrev ra( render :action\ =>\
Rabbrev rc( render :controller\ =>\
Rabbrev rf( render :file\ =>\
Rabbrev ri( render :inline\ =>\
Rabbrev rj( render :json\ =>\
Rabbrev rl( render :layout\ =>\
Rabbrev rp( render :partial\ =>\
Rabbrev rt( render :text\ =>\
Rabbrev rx( render :xml\ =>\
endif
2 0.000324 0.000037 if buffer.type_name('view','helper')
Rabbrev dotiw distance_of_time_in_words
Rabbrev taiw time_ago_in_words
endif
2 0.000267 0.000034 if buffer.type_name('controller')
Rabbrev re( redirect_to
Rabbrev rea( redirect_to :action\ =>\
Rabbrev rec( redirect_to :controller\ =>\
Rabbrev rst( respond_to
endif
2 0.000506 0.000060 if buffer.type_name() ==# 'model' || buffer.type_name('model-arb')
2 0.001327 0.000109 Rabbrev bt( belongs_to
2 0.001180 0.000076 Rabbrev ho( has_one
2 0.001170 0.000071 Rabbrev hm( has_many
2 0.001076 0.000084 Rabbrev habtm( has_and_belongs_to_many
2 0.000916 0.000072 Rabbrev co( composed_of
2 0.001076 0.000060 Rabbrev va( validates_associated
2 0.001244 0.000079 Rabbrev vb( validates_acceptance_of
2 0.001440 0.000094 Rabbrev vc( validates_confirmation_of
2 0.001107 0.000088 Rabbrev ve( validates_exclusion_of
2 0.000935 0.000075 Rabbrev vf( validates_format_of
2 0.001091 0.000064 Rabbrev vi( validates_inclusion_of
2 0.001074 0.000056 Rabbrev vl( validates_length_of
2 0.000873 0.000055 Rabbrev vn( validates_numericality_of
2 0.000972 0.000058 Rabbrev vp( validates_presence_of
2 0.001363 0.000082 Rabbrev vu( validates_uniqueness_of
2 0.000005 endif
2 0.000375 0.000043 if buffer.type_name('db-migration','db-schema')
Rabbrev mac( add_column
Rabbrev mrnc( rename_column
Rabbrev mrc( remove_column
Rabbrev mct( create_table
Rabbrev mcht( change_table
Rabbrev mrnt( rename_table
Rabbrev mdt( drop_table
Rabbrev mcc( t.column
endif
2 0.000291 0.000036 if buffer.type_name('test')
Rabbrev ase( assert_equal
Rabbrev asko( assert_kind_of
Rabbrev asnn( assert_not_nil
Rabbrev asr( assert_raise
Rabbrev asre( assert_response
Rabbrev art( assert_redirected_to
endif
2 0.001413 0.000074 Rabbrev :a :action\ =>\
" hax
2 0.001326 0.000074 Rabbrev :c :co________\ =>\
2 0.000029 inoreabbrev <buffer> <silent> :c <C-R>=<SID>TheCWord()<CR>
2 0.000963 0.000054 Rabbrev :i :id\ =>\
2 0.000931 0.000051 Rabbrev :o :object\ =>\
2 0.001142 0.000052 Rabbrev :p :partial\ =>\
2 0.000980 0.000067 Rabbrev logd( logger.debug
2 0.000916 0.000064 Rabbrev logi( logger.info
2 0.000883 0.000064 Rabbrev logw( logger.warn
2 0.001022 0.000050 Rabbrev loge( logger.error
2 0.000937 0.000051 Rabbrev logf( logger.fatal
2 0.000851 0.000053 Rabbrev fi( find
2 0.000927 0.000051 Rabbrev AR:: ActiveRecord
2 0.000913 0.000049 Rabbrev AV:: ActionView
2 0.000924 0.000050 Rabbrev AC:: ActionController
2 0.001045 0.000052 Rabbrev AD:: ActionDispatch
2 0.000917 0.000053 Rabbrev AS:: ActiveSupport
2 0.000921 0.000049 Rabbrev AM:: ActionMailer
2 0.000901 0.000049 Rabbrev AO:: ActiveModel
2 0.000923 0.000048 Rabbrev AE:: ActiveResource
2 0.000004 endif
FUNCTION <SNR>130_strwidth()
Called 150 times
Total time: 0.002414
Self time: 0.002414
count total (s) self (s)
150 0.002213 retu exists('*strdisplaywidth') ? strdisplaywidth(a:str) : strlen(a:str)
FUNCTION <SNR>124_app_user_classes()
Called 2 times
Total time: 0.000154
Self time: 0.000107
count total (s) self (s)
2 0.000040 0.000023 if self.cache.needs("user_classes")
let controllers = self.relglob("app/controllers/","**/*",".rb")
call map(controllers,'v:val == "application" ? v:val."_controller" : v:val')
let classes = self.relglob("app/models/","**/*",".rb") + controllers + self.relglob("app/helpers/","**/*",".rb") + self.relglob("lib/","**/*",".rb")
call map(classes,'rails#camelize(v:val)')
call self.cache.set("user_classes",classes)
endif
2 0.000051 0.000021 return self.cache.get('user_classes')
FUNCTION <SNR>150_CompareByKind()
Called 787 times
Total time: 0.075003
Self time: 0.075003
count total (s) self (s)
787 0.005812 let typeinfo = s:compare_typeinfo
787 0.007656 if typeinfo.kinddict[a:tag1.fields.kind] <# typeinfo.kinddict[a:tag2.fields.kind]
38 0.000114 return -1
elseif typeinfo.kinddict[a:tag1.fields.kind] ># typeinfo.kinddict[a:tag2.fields.kind]
24 0.000060 return 1
else
" Ignore '~' prefix for C++ destructors to sort them directly under
" the constructors
725 0.005551 if a:tag1.name[0] ==# '~'
let name1 = a:tag1.name[1:]
else
725 0.004248 let name1 = a:tag1.name
725 0.001596 endif
725 0.005111 if a:tag2.name[0] ==# '~'
let name2 = a:tag2.name[1:]
else
725 0.004265 let name2 = a:tag2.name
725 0.001467 endif
725 0.003523 if name1 <=# name2
381 0.001023 return -1
else
344 0.000886 return 1
endif
endif
FUNCTION ctrlp#hicheck()
Called 16 times
Total time: 0.000308
Self time: 0.000308
count total (s) self (s)
16 0.000215 if !hlexists(a:grp)
exe 'hi link' a:grp a:defgrp
en
FUNCTION ctrlp#utils#mkdir()
Called 2 times
Total time: 0.000085
Self time: 0.000085
count total (s) self (s)
2 0.000056 if exists('*mkdir') && !isdirectory(a:dir)
sil! cal mkdir(a:dir, 'p')
en
2 0.000006 retu a:dir
FUNCTION <SNR>130_MatchedItems()
Called 15 times
Total time: 0.045024
Self time: 0.008158
count total (s) self (s)
15 0.000170 let exc = exists('s:crfilerel') ? s:crfilerel : ''
15 0.007568 0.007025 let items = s:narrowable() ? s:matched + s:mdata[3] : a:items
15 0.000094 if s:matcher != {}
let argms = [items, a:pat, a:limit, s:mmode(), s:ispath, exc, s:regexp]
let lines = call(s:matcher['match'], argms)
el
15 0.036619 0.000296 let lines = s:MatchIt(items, a:pat, a:limit, exc)
15 0.000029 en
15 0.000098 let s:matches = len(lines)
15 0.000046 unl! s:did_exp
15 0.000038 retu lines
FUNCTION <SNR>84_buffer_project()
Called 4 times
Total time: 0.000455
Self time: 0.000115
count total (s) self (s)
4 0.000444 0.000104 return s:project(self.getvar('bundler_root'))
FUNCTION <SNR>150_GetNearbyTag()
Called 43 times
Total time: 0.035057
Self time: 0.034083
count total (s) self (s)
43 0.002621 0.002252 let fileinfo = s:known_files.getCurrent()
43 0.000272 if empty(fileinfo)
return {}
endif
43 0.000255 let typeinfo = fileinfo.typeinfo
43 0.000147 if a:0 > 0
let curline = a:1
else
43 0.000324 let curline = line('.')
43 0.000109 endif
43 0.000211 let tag = {}
" If a tag appears in a file more than once (for example namespaces in
" C++) only one of them has a 'tline' entry and can thus be highlighted.
" The only way to solve this would be to go over the whole tag list again,
" making everything slower. Since this should be a rare occurence and
" highlighting isn't /that/ important ignore it for now.
519 0.009175 for line in range(curline, 1, -1)
517 0.003301 if has_key(fileinfo.fline, line)
41 0.000380 let curtag = fileinfo.fline[line]
41 0.001285 0.000680 if a:all || typeinfo.getKind(curtag.fields.kind).stl
41 0.000236 let tag = curtag
41 0.000125 break
endif
endif
476 0.000603 endfor
43 0.000184 return tag
FUNCTION <SNR>124_readfile()
Called 2 times
Total time: 0.000194
Self time: 0.000194
count total (s) self (s)
2 0.000080 let nr = bufnr('^'.a:path.'$')
2 0.000011 if nr < 0 && exists('+shellslash') && ! &shellslash
let nr = bufnr('^'.s:gsub(a:path,'/','\\').'$')
endif
2 0.000008 if bufloaded(nr)
2 0.000065 return getbufline(nr,1,a:0 ? a:1 : '$')
elseif !filereadable(a:path)
return []
elseif a:0
return readfile(a:path,'',a:1)
else
return readfile(a:path)
endif
FUNCTION indent_guides#indent_highlight_pattern()
Called 360 times
Total time: 0.014690
Self time: 0.014690
count total (s) self (s)
360 0.004688 let l:pattern = '^' . a:indent_pattern . '*\%' . a:column_start . 'v\zs'
360 0.005372 let l:pattern .= a:indent_pattern . '*\%' . (a:column_start + a:indent_size) . 'v'
360 0.002302 let l:pattern .= '\ze'
360 0.001205 return l:pattern
FUNCTION <SNR>29_BMMunge()
Called 2 times
Total time: 0.000778
Self time: 0.000388
count total (s) self (s)
2 0.000016 let name = a:fname
2 0.000011 if name == ''
if !exists("g:menutrans_no_file")
let g:menutrans_no_file = "[No file]"
endif
let name = g:menutrans_no_file
else
2 0.000116 let name = fnamemodify(name, ':p:~')
2 0.000006 endif
" detach file name and separate it out:
2 0.000021 let name2 = fnamemodify(name, ':t')
2 0.000009 if a:bnum >= 0
2 0.000017 let name2 = name2 . ' (' . a:bnum . ')'
2 0.000003 endif
2 0.000446 0.000056 let name = name2 . "\t" . <SID>BMTruncName(fnamemodify(name,':h'))
2 0.000032 let name = escape(name, "\\. \t|")
2 0.000026 let name = substitute(name, "&", "&&", "g")
2 0.000022 let name = substitute(name, "\n", "^@", "g")
2 0.000006 return name
FUNCTION <SNR>78_NameOfMark()
Called 156 times
Total time: 0.003678
Self time: 0.003678
count total (s) self (s)
156 0.000747 let name = a:mark
156 0.001138 if a:mark =~# '\W'
let name = stridx(s:all_marks, a:mark) + 10
endif
156 0.000397 return name
FUNCTION <SNR>150_ParseTagline()
Called 132 times
Total time: 0.094544
Self time: 0.064891
count total (s) self (s)
132 0.002558 let basic_info = split(a:part1, '\t')
132 0.020646 0.002471 let taginfo = s:NormalTag.New(basic_info[0])
132 0.001317 let taginfo.file = basic_info[1]
" the pattern can contain tabs and thus may have been split up, so join
" the rest of the items together again
132 0.002111 let pattern = join(basic_info[2:], "\t")
132 0.000650 let start = 2 " skip the slash and the ^
132 0.001331 let end = strlen(pattern) - 1
132 0.001222 if pattern[end - 1] ==# '$'
132 0.000635 let end -= 1
132 0.000669 let dollar = '\$'
132 0.000299 else
let dollar = ''
endif
132 0.001753 let pattern = strpart(pattern, start, end - start)
132 0.001521 let taginfo.pattern = '\V\^\C' . pattern . dollar
" When splitting fields make sure not to create empty keys or values in
" case a value illegally contains tabs
132 0.004042 let fields = split(a:part2, '^\t\|\t\ze\w\+:')
132 0.001421 let taginfo.fields.kind = remove(fields, 0)
271 0.001427 for field in fields
" can't use split() since the value can contain ':'
139 0.001371 let delimit = stridx(field, ':')
139 0.001347 let key = strpart(field, 0, delimit)
" Remove all tabs that may illegally be in the value
139 0.003148 let val = substitute(strpart(field, delimit + 1), '\t', '', 'g')
139 0.000984 if len(val) > 0
139 0.001099 let taginfo.fields[key] = val
139 0.000321 endif
139 0.000368 endfor
" Needed for jsctags
132 0.001001 if has_key(taginfo.fields, 'lineno')
let taginfo.fields.line = taginfo.fields.lineno
endif
" Make some information easier accessible
132 0.000919 if has_key(a:typeinfo, 'scope2kind')
257 0.001756 for scope in keys(a:typeinfo.scope2kind)
132 0.001101 if has_key(taginfo.fields, scope)
7 0.000044 let taginfo.scope = scope
7 0.000055 let taginfo.path = taginfo.fields[scope]
7 0.000080 let taginfo.fullpath = taginfo.path . a:typeinfo.sro . taginfo.name
7 0.000019 break
endif
125 0.000269 endfor
132 0.002654 let taginfo.depth = len(split(taginfo.path, '\V' . a:typeinfo.sro))
132 0.000464 endif
132 0.000805 let taginfo.fileinfo = a:fileinfo
132 0.000707 let taginfo.typeinfo = a:typeinfo
" Needed for folding
132 0.000370 try
132 0.013126 0.001648 call taginfo.initFoldState()
132 0.000442 catch /^Vim(\a\+):E716:/ " 'Key not present in Dictionary'
" The tag has a 'kind' that doesn't exist in the type definition
echoerr 'Your ctags and Tagbar configurations are out of sync!' 'Please read '':help tagbar-extend''.'
endtry
132 0.000454 return taginfo
FUNCTION ctrlp#utils#cachefile()
Called 2 times
Total time: 0.000267
Self time: 0.000228
count total (s) self (s)
2 0.000086 let [tail, dir] = [a:0 == 1 ? '.'.a:1 : '', a:0 == 2 ? a:1 : getcwd()]
2 0.000100 let cache_file = substitute(dir, '\([\/]\|^\a\zs:\)', '%', 'g').tail.'.txt'
2 0.000076 0.000037 retu a:0 == 1 ? cache_file : s:cache_dir.s:lash(s:cache_dir).cache_file
FUNCTION <SNR>131_lash()
Called 6 times
Total time: 0.000147
Self time: 0.000147
count total (s) self (s)
6 0.000137 retu ( a:0 ? a:1 : getcwd() ) !~ '[\/]$' ? s:lash : ''
FUNCTION <SNR>130_Reset()
Called 2 times
Total time: 0.004219
Self time: 0.000238
count total (s) self (s)
2 0.000035 let opts = has_key(a:args, 'opts') ? [a:args['opts']] : []
2 0.003443 0.000052 cal call('s:opts', opts)
2 0.000143 0.000048 cal s:autocmds()
2 0.000483 0.000033 cal ctrlp#utils#opts()
2 0.000107 0.000062 cal s:execextvar('opts')
FUNCTION <SNR>130_iscmdwin()
Called 2 times
Total time: 0.007864
Self time: 0.007864
count total (s) self (s)
2 0.000026 let ermsg = v:errmsg
2 0.003876 sil! noa winc p
2 0.003865 sil! noa winc p
2 0.000047 let [v:errmsg, ermsg] = [ermsg, v:errmsg]
2 0.000038 retu ermsg =~ '^E11:'
FUNCTION ctrlp#utils#globpath()
Called 22 times
Total time: 0.000622
Self time: 0.000622
count total (s) self (s)
22 0.000603 retu call('globpath', s:wig_cond ? a:000 : a:000[:1])
FUNCTION indent_guides#init_script_vars()
Called 6 times
Total time: 0.002519
Self time: 0.001596
count total (s) self (s)
6 0.000064 let s:indent_size = &l:shiftwidth
6 0.000314 0.000123 let s:guide_size = indent_guides#calculate_guide_size()
6 0.000864 0.000132 let s:hi_normal = indent_guides#capture_highlight('Normal')
" remove 'font=<value>' from the s:hi_normal string (only seems to happen on Vim startup in Windows)
6 0.000234 let s:hi_normal = substitute(s:hi_normal, ' font=[A-Za-z0-9:]\+', "", "")
" shortcuts to the global variables - this makes the code easier to read
6 0.000060 let s:debug = g:indent_guides_debug
6 0.000060 let s:indent_levels = g:indent_guides_indent_levels
6 0.000043 let s:auto_colors = g:indent_guides_auto_colors
6 0.000073 let s:color_hex_pat = g:indent_guides_color_hex_pattern
6 0.000068 let s:color_hex_bg_pat = g:indent_guides_color_hex_guibg_pattern
6 0.000069 let s:color_name_bg_pat = g:indent_guides_color_name_guibg_pattern
6 0.000044 let s:start_level = g:indent_guides_start_level
" str2float not available in vim versions <= 7.1
6 0.000052 if has('float')
6 0.000097 let s:change_percent = g:indent_guides_color_change_percent / str2float('100.0')
6 0.000014 else
let s:change_percent = g:indent_guides_color_change_percent / 100.0
endif
6 0.000022 if s:debug
echo 's:indent_size = ' . s:indent_size
echo 's:guide_size = ' . s:guide_size
echo 's:hi_normal = ' . s:hi_normal
echo 's:indent_levels = ' . s:indent_levels
echo 's:auto_colors = ' . s:auto_colors
echo 's:change_percent = ' . string(s:change_percent)
echo 's:color_hex_pat = ' . s:color_hex_pat
echo 's:color_hex_bg_pat = ' . s:color_hex_bg_pat
echo 's:color_name_bg_pat = ' . s:color_name_bg_pat
echo 's:start_level = ' . s:start_level
endif
FUNCTION <SNR>150_AddScopedTags()
Called 4 times
Total time: 0.004338
Self time: 0.002652
count total (s) self (s)
4 0.000044 if !empty(a:parent)
2 0.000014 let curpath = a:parent.fullpath
2 0.000018 let pscope = a:typeinfo.kind2scope[a:parent.fields.kind]
2 0.000005 else
2 0.000011 let curpath = ''
2 0.000008 let pscope = ''
2 0.000004 endif
4 0.000025 let is_cur_tag = 'v:val.depth == a:depth'
4 0.000030 if !empty(curpath)
" Check whether the tag is either a direct child at the current depth
" or at least a proper grandchild with pseudo-tags in between. If it
" is a direct child also check for matching scope.
2 0.000031 let is_cur_tag .= ' && (v:val.path ==# curpath || match(v:val.path, ''\V\^\C'' . curpath . a:typeinfo.sro) == 0) && (v:val.path ==# curpath ? (v:val.scope ==# pscope) : 1)'
2 0.000005 endif
4 0.000222 let curtags = filter(copy(a:tags), is_cur_tag)
4 0.000025 if !empty(curtags)
4 0.000205 call filter(a:tags, '!(' . is_cur_tag . ')')
4 0.000024 let realtags = []
4 0.000020 let pseudotags = []
13 0.000079 while !empty(curtags)
9 0.000069 let tag = remove(curtags, 0)
9 0.000085 if tag.path != curpath
" tag is child of a pseudo-tag, so create a new pseudo-tag and
" add all its children to it
let pseudotag = s:ProcessPseudoTag(curtags, tag, a:parent, a:typeinfo, a:fileinfo)
call add(pseudotags, pseudotag)
else
9 0.000099 call add(realtags, tag)
9 0.000019 endif
9 0.000018 endwhile
" Recursively add the children of the tags on the current level
13 0.000045 for tag in realtags
9 0.000056 let tag.parent = a:parent
9 0.000079 if !has_key(a:typeinfo.kind2scope, tag.fields.kind)
7 0.000025 continue
endif
2 0.000012 if !has_key(tag, 'children')
2 0.000014 let tag.children = []
2 0.000005 endif
2 0.000044 call s:AddScopedTags(a:tags, tag.children, tag, a:depth + 1, a:typeinfo, a:fileinfo)
2 0.000004 endfor
4 0.000039 call extend(a:processedtags, realtags)
" Recursively add the children of the tags that are children of the
" pseudo-tags on the current level
4 0.000020 for tag in pseudotags
call s:ProcessPseudoChildren(a:tags, tag, a:depth, a:typeinfo, a:fileinfo)
endfor
4 0.000032 call extend(a:processedtags, pseudotags)
4 0.000008 endif
" Now we have to check if there are any pseudo-tags at the current level
" so we have to check for real tags at a lower level, i.e. grandchildren
4 0.000027 let is_grandchild = 'v:val.depth > a:depth'
4 0.000021 if !empty(curpath)
2 0.000019 let is_grandchild .= ' && match(v:val.path, ''\V\^\C'' . curpath . a:typeinfo.sro) == 0'
2 0.000003 endif
4 0.000044 let grandchildren = filter(copy(a:tags), is_grandchild)
4 0.000017 if !empty(grandchildren)
call s:AddScopedTags(a:tags, a:processedtags, a:parent, a:depth + 1, a:typeinfo, a:fileinfo)
endif
FUNCTION <SNR>130_narrowable()
Called 15 times
Total time: 0.000543
Self time: 0.000543
count total (s) self (s)
15 0.000520 retu exists('s:act_add') && exists('s:matched') && s:matched != [] && exists('s:mdata') && s:mdata[:2] == [s:dyncwd, s:itemtype, s:regexp] && s:matcher == {} && !exists('s:did_exp')
FUNCTION <SNR>144_PreviewCSSColorInLine()
Called 1307 times
Total time: 0.130008
Self time: 0.130008
count total (s) self (s)
" TODO use cssColor matchdata
"
" N.B. these substitute() calls are here just for the side effect
" of invoking s:MatchColorValue during substitution -- because
" match() and friends do not allow finding all matches in a single
" scan without examining the start of the string over and over
1307 0.122174 call substitute( substitute( substitute( substitute( getline('.'), '#\(\x\)\(\x\)\(\x\)\>', '\=s:MatchColorValue(submatch(1).submatch(1).submatch(2).submatch(2).submatch(3).submatch(3), submatch(0))', 'g' ), '#\(\x\{6}\)\>', '\=s:MatchColorValue(submatch(1), submatch(0))', 'g' ), 'rgba\?(\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*\%(,[^)]*\)\?)', '\=s:MatchColorValue(s:HexForRGBValue(submatch(1),submatch(2),submatch(3)),submatch(0))', 'g' ), 'hsla\?(\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*\%(,[^)]*\)\?)', '\=s:MatchColorValue(s:HexForHSLValue(submatch(1),submatch(2),submatch(3)),submatch(0))', 'g' )
FUNCTION <SNR>29_BMAdd()
Called 2 times
Total time: 0.001908
Self time: 0.000270
count total (s) self (s)
2 0.000020 if s:bmenu_wait == 0
" when adding too many buffers, redraw in short format
2 0.000016 if s:bmenu_count == &menuitems && s:bmenu_short == 0
call s:BMShow()
else
2 0.001805 0.000167 call <SID>BMFilename(expand("<afile>"), expand("<abuf>"))
2 0.000021 let s:bmenu_count = s:bmenu_count + 1
2 0.000004 endif
2 0.000003 endif
FUNCTION <SNR>130_remarksigns()
Called 15 times
Total time: 0.000316
Self time: 0.000163
count total (s) self (s)
15 0.000296 0.000143 if !s:dosigns() | retu | en
for ic in range(1, len(s:lines))
let line = s:ispath ? fnamemodify(s:lines[ic - 1], ':p') : s:lines[ic - 1]
let key = s:dictindex(s:marked, line)
if key > 0
exe 'sign place' key 'line='.ic.' name=ctrlpmark buffer='.s:bufnr
en
endfo
FUNCTION ctrlp#utils#opts()
Called 2 times
Total time: 0.000450
Self time: 0.000308
count total (s) self (s)
2 0.000060 0.000026 let s:lash = ctrlp#utils#lash()
2 0.000106 0.000047 let usrhome = $HOME.s:lash($HOME)
2 0.000036 let cahome = exists('$XDG_CACHE_HOME') ? $XDG_CACHE_HOME : usrhome.'.cache'
2 0.000136 0.000087 let cadir = isdirectory(usrhome.'.ctrlp_cache') ? usrhome.'.ctrlp_cache' : cahome.s:lash(cahome).'ctrlp'
2 0.000019 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
2 0.000014 let s:cache_dir = cadir
FUNCTION ctrlp#utils#lash()
Called 4 times
Total time: 0.000087
Self time: 0.000087
count total (s) self (s)
4 0.000068 retu &ssl || !exists('+ssl') ? '/' : '\'
FUNCTION tagbar#currenttag()
Called 32 times
Total time: 0.037787
Self time: 0.004143
count total (s) self (s)
32 0.000189 if a:0 > 0
" also test for non-zero value for backwards compatibility
let longsig = a:1 =~# 's' || (type(a:1) == type(0) && a:1 != 0)
let fullpath = a:1 =~# 'f'
let prototype = a:1 =~# 'p'
else
32 0.000161 let longsig = 0
32 0.000139 let fullpath = 0
32 0.000136 let prototype = 0
32 0.000062 endif
32 0.003233 0.000413 if !s:Init(1)
return a:default
endif
32 0.029576 0.000535 let tag = s:GetNearbyTag(0)
32 0.000189 if !empty(tag)
32 0.000106 if prototype
return tag.getPrototype(1)
else
32 0.002469 0.000686 return printf(a:fmt, tag.str(longsig, fullpath))
endif
else
return a:default
endif
FUNCTION AutoPairsMap()
Called 18 times
Total time: 0.001381
Self time: 0.001381
count total (s) self (s)
18 0.000357 let escaped_key = substitute(a:key, "'", "''", 'g')
" use expr will cause search() doesn't work
18 0.000947 execute 'inoremap <buffer> <silent> '.a:key." <C-R>=AutoPairsInsert('".escaped_key."')<CR>"
FUNCTION ctrlp#setdir()
Called 4 times
Total time: 0.001582
Self time: 0.000904
count total (s) self (s)
4 0.000053 let cmd = a:0 ? a:1 : 'lc!'
4 0.001238 0.000560 sil! exe cmd s:fnesc(a:path, 'c')
4 0.000268 let [s:crfilerel, s:dyncwd] = [fnamemodify(s:crfile, ':.'), getcwd()]
FUNCTION <SNR>130_formatline()
Called 150 times
Total time: 0.011204
Self time: 0.008790
count total (s) self (s)
150 0.000762 let str = a:str
150 0.000491 if s:itemtype == 1
let bfnr = bufnr('^'.fnamemodify(str, ':p').'$')
let idc = ( bfnr == bufnr('#') ? '#' : '' ) . ( getbufvar(bfnr, '&ma') ? '' : '-' ) . ( getbufvar(bfnr, '&ro') ? '=' : '' ) . ( getbufvar(bfnr, '&mod') ? '+' : '' )
let str .= idc != '' ? ' '.idc : ''
en
150 0.004534 0.002120 let cond = s:ispath && ( s:winw - 4 ) < s:strwidth(str)
150 0.001432 retu '> '.( cond ? s:pathshorten(str) : str )
FUNCTION <SNR>130_ispathitem()
Called 2 times
Total time: 0.000016
Self time: 0.000016
count total (s) self (s)
2 0.000014 retu s:itemtype < 3 || ( s:itemtype > 2 && s:getextvar('type') == 'path' )
FUNCTION <SNR>130_findroot()
Called 6 times
Total time: 0.010251
Self time: 0.002130
count total (s) self (s)
6 0.000064 let [depth, fnd] = [a:depth + 1, 0]
6 0.000031 if type(a:mark) == 1
let fnd = s:glbpath(s:fnesc(a:curr, 'g', ','), a:mark, 1) != ''
elsei type(a:mark) == 3
26 0.000087 for markr in a:mark
22 0.004297 0.000489 if s:glbpath(s:fnesc(a:curr, 'g', ','), markr, 1) != ''
2 0.000009 let fnd = 1
2 0.000004 brea
en
20 0.000024 endfo
6 0.000007 en
6 0.000014 if fnd
2 0.000609 0.000031 if !a:type | cal ctrlp#setdir(a:curr) | en
2 0.000020 retu [exists('markr') ? markr : a:mark, a:curr]
elsei depth > s:maxdepth
cal ctrlp#setdir(s:cwd)
el
4 0.000327 0.000045 let parent = s:getparent(a:curr)
4 0.000021 if parent != a:curr
4 0.000041 retu s:findroot(parent, a:mark, depth, a:type)
en
en
retu []
FUNCTION rvm#string()
Called 32 times
Total time: 0.001559
Self time: 0.001559
count total (s) self (s)
32 0.001491 return matchstr($GEM_HOME,'[^/]*$')
FUNCTION <SNR>130_walker()
Called 30 times
Total time: 0.000302
Self time: 0.000302
count total (s) self (s)
30 0.000261 retu a:d >= 0 ? a:p < a:m ? a:p + a:d : 0 : a:p > 0 ? a:p + a:d : a:m
FUNCTION <SNR>44_autoload()
Called 2 times
Total time: 0.000066
Self time: 0.000066
count total (s) self (s)
2 0.000020 if !exists("g:autoloaded_rails") && v:version >= 700
runtime! autoload/rails.vim
endif
2 0.000011 if exists("g:autoloaded_rails")
2 0.000005 if a:0
exe a:1
endif
2 0.000004 return 1
endif
if !exists("g:rails_no_autoload_warning")
let g:rails_no_autoload_warning = 1
if v:version >= 700
call s:error("Disabling rails.vim: autoload/rails.vim is missing")
else
call s:error("Disabling rails.vim: Vim version 7 or higher required")
endif
endif
return ""
FUNCTION <SNR>130_compfnlen()
Called 325 times
Total time: 0.015987
Self time: 0.015987
count total (s) self (s)
" By filename length
325 0.006852 let len1 = strlen(split(a:1, s:lash)[-1])
325 0.006110 let len2 = strlen(split(a:2, s:lash)[-1])
325 0.001842 retu len1 == len2 ? 0 : len1 > len2 ? 1 : -1
FUNCTION <SNR>130_SplitPattern()
Called 15 times
Total time: 0.005483
Self time: 0.004290
count total (s) self (s)
15 0.000098 let str = a:str
15 0.000139 if s:migemo && s:regexp && len(str) > 0 && executable('cmigemo')
let str = s:migemo(str)
en
15 0.000082 let s:savestr = str
15 0.000044 if s:regexp
let pat = s:regexfilter(str)
el
15 0.000270 let lst = split(str, '\zs')
15 0.000156 if exists('+ssl') && !&ssl
cal map(lst, 'escape(v:val, ''\'')')
en
60 0.000292 for each in ['^', '$', '.']
45 0.001226 cal map(lst, 'escape(v:val, each)')
45 0.000104 endfo
15 0.000029 en
15 0.000079 if exists('lst')
15 0.000061 let pat = ''
15 0.000071 if !empty(lst)
13 0.000072 if s:byfname && index(lst, ';') > 0
let fbar = index(lst, ';')
let lst_1 = s:sublist(lst, 0, fbar - 1)
let lst_2 = len(lst) - 1 > fbar ? s:sublist(lst, fbar + 1, -1) : ['']
let pat = s:buildpat(lst_1).';'.s:buildpat(lst_2)
el
13 0.001372 0.000179 let pat = s:buildpat(lst)
13 0.000025 en
13 0.000017 en
15 0.000018 en
15 0.000120 retu escape(pat, '~')
FUNCTION <SNR>124_buffer_number()
Called 210 times
Total time: 0.001185
Self time: 0.001185
count total (s) self (s)
210 0.000950 return self['#']
FUNCTION <SNR>124_buffer_getvar()
Called 122 times
Total time: 0.002486
Self time: 0.001796
count total (s) self (s)
122 0.002342 0.001652 return getbufvar(self.number(),a:varname)
FUNCTION Pl#StatuslineCallback()
Called 15 times
Total time: 0.001755
Self time: 0.001755
count total (s) self (s)
" Replace %1, %2, etc. in the statusline with the callback args
15 0.001708 return substitute( a:statusline, '\v\%(\d+)', '\=a:args[submatch(1)]', 'g')
FUNCTION <SNR>124_gsub()
Called 314 times
Total time: 0.006139
Self time: 0.006139
count total (s) self (s)
314 0.005671 return substitute(a:str,'\v\C'.a:pat,a:rep,'g')
FUNCTION <SNR>49__update_mru()
Called 6 times
Total time: 0.000321
Self time: 0.000321
count total (s) self (s)
6 0.000060 let bnum = a:acmd_bufnr + 0
6 0.000022 if bnum == 0
return
endif
6 0.000133 call filter(s:buffergator_mru, 'v:val !=# bnum')
6 0.000054 call insert(s:buffergator_mru, bnum, 0)
FUNCTION <SNR>124_cache_get()
Called 22 times
Total time: 0.000258
Self time: 0.000258
count total (s) self (s)
22 0.000080 if a:0 == 1
22 0.000129 return self.dict[a:1]
else
return self.dict
endif
FUNCTION <SNR>130_getparent()
Called 654 times
Total time: 0.056021
Self time: 0.056021
count total (s) self (s)
654 0.041418 let parent = substitute(a:item, '[\/][^\/]\+[\/:]\?$', '', '')
654 0.007390 if parent == '' || parent !~ '[\/]'
let parent .= s:lash
en
654 0.001947 retu parent
FUNCTION fugitive#statusline()
Called 32 times
Total time: 0.031143
Self time: 0.004089
count total (s) self (s)
32 0.000352 if !exists('b:git_dir')
return ''
endif
32 0.000159 let status = ''
32 0.011163 0.001156 if s:buffer().commit() != ''
let status .= ':' . s:buffer().commit()[0:7]
endif
32 0.017704 0.000657 let status .= '('.fugitive#head(7).')'
32 0.000487 if &statusline =~# '%[MRHWY]' && &statusline !~# '%[mrhwy]'
return ',GIT'.status
else
32 0.000208 return '[Git'.status.']'
endif
FUNCTION <SNR>37_SynSet()
Called 6 times
Total time: 0.090570
Self time: 0.024113
count total (s) self (s)
" clear syntax for :set syntax=OFF and any syntax name that doesn't exist
6 0.001161 syn clear
6 0.000056 if exists("b:current_syntax")
unlet b:current_syntax
endif
6 0.000052 let s = expand("<amatch>")
6 0.000032 if s == "ON"
" :set syntax=ON
if &filetype == ""
echohl ErrorMsg
echo "filetype unknown"
echohl None
endif
let s = &filetype
endif
6 0.000020 if s != ""
" Load the syntax file(s). When there are several, separated by dots,
" load each in sequence.
12 0.000124 for name in split(s, '\.')
6 0.088820 0.022363 exe "runtime! syntax/" . name . ".vim syntax/" . name . "/*.vim"
6 0.000026 endfor
6 0.000010 endif
FUNCTION <SNR>150_HighlightTag()
Called 11 times
Total time: 0.007456
Self time: 0.001440
count total (s) self (s)
11 0.000071 let tagline = 0
11 0.000068 let force = a:0 > 0 ? a:1 : 0
11 0.000030 if a:0 > 1
let tag = s:GetNearbyTag(1, a:2)
else
11 0.006221 0.000205 let tag = s:GetNearbyTag(1)
11 0.000030 endif
11 0.000059 if !empty(tag)
9 0.000049 let tagline = tag.tline
9 0.000013 endif
" Don't highlight the tag again if it's the same one as last time.
" This prevents the Tagbar window from jumping back after scrolling with
" the mouse.
11 0.000074 if !force && tagline == s:last_highlight_tline
9 0.000019 return
else
2 0.000021 let s:last_highlight_tline = tagline
2 0.000005 endif
2 0.000487 let tagbarwinnr = bufwinnr('__Tagbar__')
2 0.000011 if tagbarwinnr == -1
2 0.000005 return
endif
let prevwinnr = winnr()
call s:winexec(tagbarwinnr . 'wincmd w')
match none
" No tag above cursor position so don't do anything
if tagline == 0
call s:winexec(prevwinnr . 'wincmd w')
redraw
return
endif
if g:tagbar_autoshowtag || a:openfolds
call s:OpenParents(tag)
endif
" Check whether the tag is inside a closed fold and highlight the parent
" instead in that case
let tagline = tag.getClosedParentTline()
" Go to the line containing the tag
execute tagline
" Make sure the tag is visible in the window
call winline()
let foldpat = '[' . s:icon_open . s:icon_closed . ' ]'
let pattern = '/^\%' . tagline . 'l\s*' . foldpat . '[-+# ]\zs[^( ]\+\ze/'
call s:LogDebugMessage("Highlight pattern: '" . pattern . "'")
execute 'match TagbarHighlight ' . pattern
if a:0 <= 1 " no line explicitly given, so assume we were in the file window
call s:winexec(prevwinnr . 'wincmd w')
endif
redraw
FUNCTION <SNR>11_DetectCoffee()
Called 2 times
Total time: 0.000083
Self time: 0.000083
count total (s) self (s)
2 0.000069 if getline(1) =~ '^#!.*\<coffee\>'
set filetype=coffee
endif
FUNCTION <SNR>72_AutoToggleLocList()
Called 2 times
Total time: 0.000270
Self time: 0.000127
count total (s) self (s)
2 0.000189 0.000046 if s:BufHasErrorsOrWarningsToDisplay()
if g:syntastic_auto_loc_list == 1
call s:ShowLocList()
endif
else
2 0.000011 if g:syntastic_auto_loc_list > 0
"TODO: this will close the loc list window if one was opened by
"something other than syntastic
2 0.000007 lclose
2 0.000004 endif
2 0.000003 endif
FUNCTION <SNR>124_buffer_setvar()
Called 22 times
Total time: 0.000541
Self time: 0.000429
count total (s) self (s)
22 0.000508 0.000396 return setbufvar(self.number(),a:varname,a:val)
FUNCTION 327()
Called 2 times
Total time: 0.000815
Self time: 0.000815
count total (s) self (s)
2 0.000036 let newobj = copy(self)
" The complete file path
2 0.000020 let newobj.fpath = a:fname
2 0.000142 let newobj.bufnr = bufnr(a:fname)
" File modification time
2 0.000049 let newobj.mtime = getftime(a:fname)
" The vim file type
2 0.000015 let newobj.ftype = a:ftype
" List of the tags that are present in the file, sorted according to the
" value of 'g:tagbar_sort'
2 0.000013 let newobj.tags = []
" Dictionary of the tags, indexed by line number in the file
2 0.000014 let newobj.fline = {}
" Dictionary of the tags, indexed by line number in the tagbar
2 0.000013 let newobj.tline = {}
" Dictionary of the folding state of 'kind's, indexed by short name
2 0.000014 let newobj.kindfolds = {}
2 0.000019 let typeinfo = s:known_types[a:ftype]
2 0.000016 let newobj.typeinfo = typeinfo
" copy the default fold state from the type info
10 0.000042 for kind in typeinfo.kinds
8 0.000101 let newobj.kindfolds[kind.short] = g:tagbar_foldlevel == 0 ? 1 : kind.fold
8 0.000021 endfor
" Dictionary of dictionaries of the folding state of individual tags,
" indexed by kind and full path
2 0.000014 let newobj.tagfolds = {}
10 0.000031 for kind in typeinfo.kinds
8 0.000067 let newobj.tagfolds[kind.short] = {}
8 0.000019 endfor
" The current foldlevel of the file
2 0.000014 let newobj.foldlevel = g:tagbar_foldlevel
2 0.000008 return newobj
FUNCTION <SNR>55_buffer_type()
Called 2 times
Total time: 0.000987
Self time: 0.000506
count total (s) self (s)
2 0.000042 0.000023 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
2 0.000008 let type = 'file'
2 0.000003 endif
2 0.000005 if a:0
2 0.000044 return !empty(filter(copy(a:000),'v:val ==# type'))
else
return type
endif
FUNCTION <SNR>72_LocList()
Called 68 times
Total time: 0.001539
Self time: 0.001539
count total (s) self (s)
68 0.000640 if !exists("b:syntastic_loclist")
2 0.000020 let b:syntastic_loclist = []
2 0.000005 endif
68 0.000287 return b:syntastic_loclist
FUNCTION indent_guides#init_matches()
Called 6 times
Total time: 0.000128
Self time: 0.000128
count total (s) self (s)
6 0.000100 let w:indent_guides_matches = exists('w:indent_guides_matches') ? w:indent_guides_matches : []
FUNCTION ctrlp#getcline()
Called 2 times
Total time: 0.000038
Self time: 0.000038
count total (s) self (s)
2 0.000033 retu !empty(s:lines) ? s:lines[line('.') - 1] : ''
FUNCTION <SNR>130_comptime()
Called 325 times
Total time: 0.013744
Self time: 0.013744
count total (s) self (s)
" By last modified time
325 0.010403 let [time1, time2] = [getftime(a:1), getftime(a:2)]
325 0.002228 retu time1 == time2 ? 0 : time1 < time2 ? 1 : -1
FUNCTION <SNR>130_log()
Called 4 times
Total time: 0.000149
Self time: 0.000149
count total (s) self (s)
4 0.000049 if exists('g:ctrlp_log') && g:ctrlp_log | if a:m
let cadir = ctrlp#utils#cachedir()
sil! exe 'redi! >' cadir.s:lash(cadir).'ctrlp.log'
el
sil! redi END
en | en
FUNCTION <SNR>130_unmarksigns()
Called 17 times
Total time: 0.000503
Self time: 0.000278
count total (s) self (s)
17 0.000464 0.000239 if !s:dosigns() | retu | en
for key in keys(s:marked)
exe 'sign unplace' key 'buffer='.s:bufnr
endfo
FUNCTION <SNR>130_sublist()
Called 15 times
Total time: 0.007840
Self time: 0.007840
count total (s) self (s)
15 0.007801 retu v:version > 701 ? a:l[(a:s):(a:e)] : s:sublist7071(a:l, a:s, a:e)
FUNCTION <SNR>55_repo_head()
Called 32 times
Total time: 0.012531
Self time: 0.003289
count total (s) self (s)
32 0.008619 0.000775 let head = s:repo().head_ref()
32 0.000489 if head =~# '^ref: '
32 0.002483 0.001085 let branch = s:sub(head,'^ref: %(refs/%(heads/|remotes/|tags/)=)=','')
32 0.000140 elseif head =~# '^\x\{40\}$'
" truncate hash to a:1 characters if we're in detached head mode
let len = a:0 ? a:1 : 0
let branch = len ? head[0:len-1] : ''
endif
32 0.000111 return branch
FUNCTION <SNR>124_resetomnicomplete()
Called 4 times
Total time: 0.000196
Self time: 0.000196
count total (s) self (s)
4 0.000065 if exists("+completefunc") && &completefunc == 'syntaxcomplete#Complete'
4 0.000042 if exists("g:loaded_syntax_completion")
" Ugly but necessary, until we have our own completion
unlet g:loaded_syntax_completion
silent! delfunction syntaxcomplete#Complete
endif
4 0.000008 endif
FUNCTION <SNR>124_AddColonExpand()
Called 16 times
Total time: 0.003036
Self time: 0.000267
count total (s) self (s)
16 0.003021 0.000252 call s:AddSelectiveExpand(a:abbr,'[:.]',a:expn)
FUNCTION <SNR>130_nocache()
Called 2 times
Total time: 0.000080
Self time: 0.000080
count total (s) self (s)
2 0.000007 if !s:caching
retu 1
elsei s:caching > 1
if !( exists(s:ccex) && !{s:ccex} ) || has_key(s:ficounts, s:dyncwd)
retu get(s:ficounts, s:dyncwd, [0, 0])[0] < s:caching
elsei a:0 && filereadable(a:1)
retu len(ctrlp#utils#readfile(a:1)) < s:caching
en
retu 1
en
2 0.000003 retu 0
FUNCTION <SNR>72_BufHasErrorsOrWarningsToDisplay()
Called 34 times
Total time: 0.001410
Self time: 0.000625
count total (s) self (s)
34 0.001220 0.000435 if empty(s:LocList())
34 0.000099 return 0
endif
return len(s:Errors()) || !g:syntastic_quiet_warnings
FUNCTION <SNR>124_addfilecmds()
Called 38 times
Total time: 0.021112
Self time: 0.020363
count total (s) self (s)
38 0.001279 0.000530 let l = s:sub(a:type,'^.','\l&')
38 0.000186 let cmds = 'ESVTD '
38 0.000128 let cmd = ''
266 0.001055 while cmds != ''
228 0.002218 let cplt = " -complete=customlist,".s:sid.l."List"
228 0.011030 exe "command! -buffer -bar ".(cmd == 'D' ? '-range=0 ' : '')."-nargs=*".cplt." R".cmd.l." :call s:".l.'Edit("'.(cmd == 'D' ? '<line1>' : '').cmd.'<bang>",<f-args>)'
228 0.001810 let cmd = strpart(cmds,0,1)
228 0.001507 let cmds = strpart(cmds,1)
228 0.000471 endwhile
FUNCTION <SNR>130_gethistloc()
Called 4 times
Total time: 0.000451
Self time: 0.000230
count total (s) self (s)
4 0.000095 0.000068 let utilcadir = ctrlp#utils#cachedir()
4 0.000178 0.000075 let cache_dir = utilcadir.s:lash(utilcadir).'hist'
4 0.000164 0.000073 retu [cache_dir, cache_dir.s:lash(cache_dir).'cache.txt']
FUNCTION 333()
Called 43 times
Total time: 0.000369
Self time: 0.000369
count total (s) self (s)
43 0.000281 return self._current
FUNCTION <SNR>130_getextvar()
Called 4 times
Total time: 0.000064
Self time: 0.000064
count total (s) self (s)
4 0.000012 if s:itemtype > 2
let vars = g:ctrlp_ext_vars[s:itemtype - 3]
retu has_key(vars, a:key) ? vars[a:key] : -1
en
4 0.000006 retu -1
FUNCTION 334()
Called 11 times
Total time: 0.000129
Self time: 0.000129
count total (s) self (s)
11 0.000090 let self._current = a:fileinfo
FUNCTION <SNR>130_comparent()
Called 325 times
Total time: 0.103034
Self time: 0.031016
count total (s) self (s)
" By same parent dir
325 0.002759 if !stridx(s:crfpath, s:dyncwd)
325 0.026019 0.009740 let [as1, as2] = [s:dyncwd.s:lash().a:1, s:dyncwd.s:lash().a:2]
325 0.064534 0.008795 let [loc1, loc2] = [s:getparent(as1), s:getparent(as2)]
325 0.004085 if loc1 == s:crfpath && loc2 != s:crfpath | retu -1 | en
295 0.003220 if loc2 == s:crfpath && loc1 != s:crfpath | retu 1 | en
265 0.000570 retu 0
en
retu 0
FUNCTION <SNR>124_app_source_callback()
Called 4 times
Total time: 0.000388
Self time: 0.000289
count total (s) self (s)
4 0.000106 0.000064 if self.cache.needs('existence')
call self.cache.set('existence',{})
endif
4 0.000116 0.000059 let cache = self.cache.get('existence')
4 0.000032 if !has_key(cache,a:file)
let cache[a:file] = self.has_file(a:file)
endif
4 0.000019 if cache[a:file]
sandbox source `=self.path(a:file)`
endif
FUNCTION <SNR>88_shellslash()
Called 8 times
Total time: 0.000171
Self time: 0.000171
count total (s) self (s)
8 0.000057 if exists('+shellslash') && !&shellslash
return s:gsub(a:path,'\\','/')
else
8 0.000026 return a:path
endif
FUNCTION <SNR>124_readable_calculate_file_type()
Called 2 times
Total time: 0.002352
Self time: 0.001135
count total (s) self (s)
2 0.000897 0.000045 let f = self.name()
2 0.000017 let e = fnamemodify(f,':e')
2 0.000007 let r = "-"
2 0.000136 0.000023 let full_path = self.path()
2 0.000083 let nr = bufnr('^'.full_path.'$')
2 0.000012 if nr < 0 && exists('+shellslash') && ! &shellslash
let nr = bufnr('^'.s:gsub(full_path,'/','\\').'$')
endif
2 0.000007 if f == ""
let r = f
elseif nr > 0 && getbufvar(nr,'rails_file_type') != ''
return getbufvar(nr,'rails_file_type')
elseif f =~ '_controller\.rb$' || f =~ '\<app/controllers/.*\.rb$'
if join(s:readfile(full_path,50),"\n") =~ '\<wsdl_service_name\>'
let r = "controller-api"
else
let r = "controller"
endif
elseif f =~ '_api\.rb'
let r = "api"
elseif f =~ '\<test/test_helper\.rb$'
let r = "test"
elseif f =~ '\<spec/spec_helper\.rb$'
let r = "spec"
elseif f =~ '_helper\.rb$'
let r = "helper"
elseif f =~ '\<app/metal/.*\.rb$'
let r = "metal"
elseif f =~ '\<app/mailers/.*\.rb'
let r = "mailer"
elseif f =~ '\<app/models/'
2 0.000325 0.000131 let top = join(s:readfile(full_path,50),"\n")
2 0.000075 let class = matchstr(top,'\<Acti\w\w\u\w\+\%(::\h\w*\)\+\>')
2 0.000014 if class == "ActiveResource::Base"
let class = "ares"
let r = "model-ares"
elseif class == 'ActionMailer::Base'
let r = "mailer"
elseif class != ''
2 0.000089 0.000031 let class = tolower(s:gsub(class,'[^A-Z]',''))
2 0.000012 let r = "model-".class
2 0.000005 elseif f =~ '_mailer\.rb$'
let r = "mailer"
elseif top =~ '\<\%(self\.\%(table_name\|primary_key\)\|has_one\|has_many\|belongs_to\)\>'
let r = "model-arb"
else
let r = "model"
endif
2 0.000006 elseif f =~ '\<app/views/.*/_\k\+\.\k\+\%(\.\k\+\)\=$'
let r = "view-partial-" . e
elseif f =~ '\<app/views/layouts\>.*\.'
let r = "view-layout-" . e
elseif f =~ '\<app/views\>.*\.'
let r = "view-" . e
elseif f =~ '\<lib/.*\.rb$'
let r = 'lib'
elseif f =~ '\<test/\%(unit\|models\|helpers\)/.*_test\.rb$'
let r = "test-unit"
elseif f =~ '\<test/\%(functional\|controllers\)/.*_test\.rb$'
let r = "test-functional"
elseif f =~ '\<test/integration/.*_test\.rb$'
let r = "test-integration"
elseif f =~ '\<test/\w*s/.*_test\.rb$'
let r = s:sub(f,'.*<test/(\w*)s/.*','test-\1')
elseif f =~ '\<spec/lib/.*_spec\.rb$'
let r = 'spec-lib'
elseif f =~ '\<spec/\w*s/.*_spec\.rb$'
let r = s:sub(f,'.*<spec/(\w*)s/.*','spec-\1')
elseif f =~ '\<features/.*\.feature$'
let r = 'cucumber-feature'
elseif f =~ '\<features/step_definitions/.*_steps\.rb$'
let r = 'cucumber-steps'
elseif f =~ '\<features/.*\.rb$'
let r = 'cucumber'
elseif f =~ '\<spec/.*\.feature$'
let r = 'turnip-feature'
elseif f =~ '\<\%(test\|spec\)/fixtures\>'
if e == "yml"
let r = "fixtures-yaml"
else
let r = "fixtures" . (e == "" ? "" : "-" . e)
endif
elseif f =~ '\<\%(test\|spec\)/\%(factories\|fabricators\)\>'
let r = "fixtures-replacement"
elseif f =~ '\<test/.*_test\.rb'
let r = "test"
elseif f =~ '\<spec/.*_spec\.rb'
let r = "spec"
elseif f =~ '\<spec/support/.*\.rb'
let r = "spec"
elseif f =~ '\<db/migrate\>'
let r = "db-migration"
elseif f=~ '\<db/schema\.rb$'
let r = "db-schema"
elseif f =~ '\<vendor/plugins/.*/recipes/.*\.rb$' || f =~ '\.rake$' || f =~ '\<\%(Rake\|Cap\)file$' || f =~ '\<config/deploy\.rb$'
let r = "task"
elseif f =~ '\<log/.*\.log$'
let r = "log"
elseif e == "css" || e =~ "s[ac]ss" || e == "less"
let r = "stylesheet-".e
elseif e == "js"
let r = "javascript"
elseif e == "coffee"
let r = "javascript-coffee"
elseif e == "html"
let r = e
elseif f =~ '\<config/routes\>.*\.rb$'
let r = "config-routes"
elseif f =~ '\<config/'
let r = "config"
endif
2 0.000006 return r
FUNCTION <SNR>62_SetUpForNewFiletype()
Called 10 times
Total time: 0.002128
Self time: 0.002128
count total (s) self (s)
10 0.000069 let ft = a:filetype
"for compound filetypes, if we dont know how to handle the full filetype
"then break it down and use the first part that we know how to handle
10 0.000137 if ft =~ '\.' && !has_key(s:delimiterMap, ft)
let filetypes = split(a:filetype, '\.')
for i in filetypes
if has_key(s:delimiterMap, i)
let ft = i
break
endif
endfor
endif
10 0.000068 let b:NERDSexyComMarker = ''
10 0.000119 if has_key(s:delimiterMap, ft)
10 0.000127 let b:NERDCommenterDelims = s:delimiterMap[ft]
50 0.000242 for i in ['left', 'leftAlt', 'right', 'rightAlt']
40 0.000307 if !has_key(b:NERDCommenterDelims, i)
let b:NERDCommenterDelims[i] = ''
endif
40 0.000070 endfor
10 0.000022 else
let b:NERDCommenterDelims = s:CreateDelimMapFromCms()
endif
FUNCTION <SNR>55_buffer_getvar()
Called 42 times
Total time: 0.000733
Self time: 0.000733
count total (s) self (s)
42 0.000627 return getbufvar(self['#'],a:var)
FUNCTION <SNR>130_SpecInputs()
Called 2 times
Total time: 0.000315
Self time: 0.000315
count total (s) self (s)
2 0.000082 if a:str =~ '\v^(\.\.([\/]\.\.)*[\/]?[.\/]*)$' && s:spi
let cwd = s:dyncwd
cal ctrlp#setdir(a:str =~ '^\.\.\.*$' ? '../'.repeat('../', strlen(a:str) - 2) : a:str)
if cwd != s:dyncwd | cal ctrlp#setlines() | en
cal s:PrtClear()
retu 1
elsei a:str == s:lash && s:spi
cal s:SetWD({ 'mode': 'rd' })
cal ctrlp#setlines()
cal s:PrtClear()
retu 1
elsei a:str =~ '^@.\+' && s:spi
retu s:at(a:str)
elsei a:str == '?'
cal s:PrtExit()
let hlpwin = &columns > 159 ? '| vert res 80' : ''
sil! exe 'bo vert h ctrlp-mappings' hlpwin '| norm! 0'
retu 1
en
2 0.000005 retu 0
FUNCTION 330()
Called 2 times
Total time: 0.084940
Self time: 0.000195
count total (s) self (s)
2 0.000022 if has_key(s:compare_typeinfo, 'sort')
if s:compare_typeinfo.sort
call s:SortTags(self.tags, 's:CompareByKind')
else
call s:SortTags(self.tags, 's:CompareByLine')
endif
elseif g:tagbar_sort
2 0.084808 0.000063 call s:SortTags(self.tags, 's:CompareByKind')
2 0.000005 else
call s:SortTags(self.tags, 's:CompareByLine')
endif
FUNCTION <SNR>130_mtype()
Called 2 times
Total time: 0.000017
Self time: 0.000017
count total (s) self (s)
2 0.000014 retu s:itemtype > 2 ? s:getextvar('type') : 'path'
FUNCTION <SNR>130_Update()
Called 15 times
Total time: 0.465187
Self time: 0.007858
count total (s) self (s)
" Get the previous string if existed
15 0.000210 let oldstr = exists('s:savestr') ? s:savestr : ''
" Get the new string sans tail
15 0.002206 0.000255 let str = s:sanstail(a:str)
" Stop if the string's unchanged
15 0.000204 if str == oldstr && !empty(str) && !exists('s:force') | retu | en
15 0.000388 let s:martcs = &scs && str =~ '\u' ? '\C' : ''
15 0.005943 0.000460 let pat = s:matcher == {} ? s:SplitPattern(str) : str
15 0.050889 0.005865 let lines = s:nolim == 1 && empty(str) ? copy(g:ctrlp_lines) : s:MatchedItems(g:ctrlp_lines, pat, s:winh)
15 0.405126 0.000255 cal s:Render(lines, pat)
FUNCTION <SNR>124_AddParenExpand()
Called 42 times
Total time: 0.010599
Self time: 0.001655
count total (s) self (s)
42 0.000147 if a:0
call s:AddSelectiveExpand(a:abbr,'(',a:expn,a:1)
else
42 0.009802 0.000858 call s:AddSelectiveExpand(a:abbr,'(',a:expn,'')
42 0.000090 endif
FUNCTION <SNR>130_execextvar()
Called 6 times
Total time: 0.000131
Self time: 0.000131
count total (s) self (s)
6 0.000049 if !empty(g:ctrlp_ext_vars)
cal map(filter(copy(g:ctrlp_ext_vars), 'has_key(v:val, a:key)'), 'eval(v:val[a:key])')
en
FUNCTION fugitive#is_git_dir()
Called 8 times
Total time: 0.000543
Self time: 0.000322
count total (s) self (s)
8 0.000339 0.000118 let path = s:sub(a:path, '[\/]$', '') . '/'
8 0.000188 return isdirectory(path.'objects') && isdirectory(path.'refs') && getfsize(path.'HEAD') > 10
FUNCTION <SNR>55_buffer()
Called 38 times
Total time: 0.003829
Self time: 0.003138
count total (s) self (s)
38 0.000648 let buffer = {'#': bufnr(a:0 ? a:1 : '%')}
38 0.001460 call extend(extend(buffer,s:buffer_prototype,'keep'),s:abstract_prototype,'keep')
38 0.001372 0.000681 if buffer.getvar('git_dir') !=# ''
38 0.000166 return buffer
endif
call s:throw('not a git repository: '.expand('%:p'))
FUNCTION <SNR>49_UpdateBuffergator()
Called 4 times
Total time: 0.000068
Self time: 0.000068
count total (s) self (s)
4 0.000026 if !(g:buffergator_autoupdate)
4 0.000013 return
endif
let l:calling = bufnr("%")
let l:self_call = 0
let l:buffergators = s:_find_buffers_with_var("is_buffergator_buffer",1)
call s:_catalog_viewer.update_buffers_info()
" BufDelete is the last Autocommand executed, but it's done BEFORE the
" buffer is actually deleted. - preemptively remove the buffer from
" the list if this is a delete event
if a:event == "delete"
call filter(s:_catalog_viewer.buffers_catalog,'v:val["bufnum"] != ' . a:affected)
endif
for l:gator in l:buffergators
if bufwinnr(l:gator) > 0
if l:calling != l:gator
execute bufwinnr(l:gator) . "wincmd w"
else
let l:self_call = 1
endif
" do not execute for tab view catalogs
if has_key(b:buffergator_catalog_viewer, "tab_catalog")
continue
endif
call s:_catalog_viewer.render_buffer()
if !l:self_call
call s:_catalog_viewer.highlight_current_line()
endif
endif
endfor
if exists("b:is_buffergator_buffer") && !l:self_call
execute "wincmd p"
elseif a:event == 'delete' && !l:self_call
execute "wincmd ^"
endif
FUNCTION <SNR>130_regisfilter()
Called 2 times
Total time: 0.000053
Self time: 0.000053
count total (s) self (s)
2 0.000048 retu substitute(getreg(a:reg), "[\t\n]", ' ', 'g')
FUNCTION <SNR>130_lash()
Called 658 times
Total time: 0.016473
Self time: 0.016473
count total (s) self (s)
658 0.015624 retu ( a:0 ? a:1 : s:dyncwd ) !~ '[\/]$' ? s:lash : ''
FUNCTION color_helper#dec_to_hex()
Called 36 times
Total time: 0.000616
Self time: 0.000616
count total (s) self (s)
36 0.000571 return toupper(printf('%0' . a:padding . 'x', a:arg + 0))
FUNCTION <SNR>55_diff_window_count()
Called 4 times
Total time: 0.000268
Self time: 0.000268
count total (s) self (s)
4 0.000030 let c = 0
8 0.000082 for nr in range(1,winnr('$'))
4 0.000056 let c += getwinvar(nr,'&diff')
4 0.000014 endfor
4 0.000017 return c
FUNCTION <SNR>150_SortTags()
Called 4 times
Total time: 0.086188
Self time: 0.083655
count total (s) self (s)
4 0.081851 0.006848 call sort(a:tags, a:comparemethod)
136 0.000390 for tag in a:tags
132 0.000842 if has_key(tag, 'children')
2 0.000063 call s:SortTags(tag.children, a:comparemethod)
2 0.000004 endif
132 0.000196 endfor
FUNCTION <SNR>124_BufMappings()
Called 2 times
Total time: 0.001161
Self time: 0.001161
count total (s) self (s)
2 0.000163 nnoremap <buffer> <silent> <Plug>RailsFind :<C-U>call <SID>Find(v:count1,'E')<CR>
2 0.000071 nnoremap <buffer> <silent> <Plug>RailsSplitFind :<C-U>call <SID>Find(v:count1,'S')<CR>
2 0.000064 nnoremap <buffer> <silent> <Plug>RailsVSplitFind :<C-U>call <SID>Find(v:count1,'V')<CR>
2 0.000061 nnoremap <buffer> <silent> <Plug>RailsTabFind :<C-U>call <SID>Find(v:count1,'T')<CR>
2 0.000009 if g:rails_mappings
2 0.000198 if !hasmapto("<Plug>RailsFind")
2 0.000054 nmap <buffer> gf <Plug>RailsFind
2 0.000004 endif
2 0.000178 if !hasmapto("<Plug>RailsSplitFind")
2 0.000053 nmap <buffer> <C-W>f <Plug>RailsSplitFind
2 0.000004 endif
2 0.000169 if !hasmapto("<Plug>RailsTabFind")
2 0.000053 nmap <buffer> <C-W>gf <Plug>RailsTabFind
2 0.000002 endif
2 0.000020 if exists("$CREAM")
imap <buffer> <C-CR> <C-O><Plug>RailsFind
imap <buffer> <M-[> <C-O><Plug>RailsAlternate
imap <buffer> <M-]> <C-O><Plug>RailsRelated
endif
2 0.000003 endif
" SelectBuf you're a dirty hack
2 0.000011 let v:errmsg = ""
FUNCTION <SNR>130_BuildPrompt()
Called 15 times
Total time: 0.696594
Self time: 0.223369
count total (s) self (s)
15 0.000198 let base = ( s:regexp ? 'r' : '>' ).( s:byfname ? 'd' : '>' ).'> '
15 0.002353 0.000305 let str = escape(s:getinput(), '\')
15 0.000276 let lazy = str == '' || exists('s:force') || !has('autocmd') ? 0 : s:lazy
15 0.000168 if a:upd && !lazy && ( s:matches || s:regexp || exists('s:did_exp') || str =~ '\(\\\(<\|>\)\|[*|]\)\|\(\\\:\([^:]\|\\:\)*$\)' )
15 0.465566 0.000379 sil! cal s:Update(str)
15 0.000026 en
15 0.006290 0.000300 sil! cal ctrlp#statusline()
" Toggling
15 0.000292 let [hiactive, hicursor, base] = s:focus ? ['CtrlPPrtText', 'CtrlPPrtCursor', base] : ['CtrlPPrtBase', 'CtrlPPrtBase', tr(base, '>', '-')]
15 0.000073 let hibase = 'CtrlPPrtBase'
" Build it
15 0.217891 redr
15 0.000272 let prt = copy(s:prompt)
15 0.000415 cal map(prt, 'escape(v:val, ''"\'')')
15 0.001877 exe 'echoh' hibase '| echon "'.base.'" | echoh' hiactive '| echon "'.prt[0].'" | echoh' hicursor '| echon "'.prt[1].'" | echoh' hiactive '| echon "'.prt[2].'" | echoh None'
" Append the cursor at the end
15 0.000146 if empty(prt[1]) && s:focus
15 0.000487 exe 'echoh' hibase '| echon "_" | echoh None'
15 0.000029 en
FUNCTION <SNR>84_Detect()
Called 2 times
Total time: 6.516877
Self time: 0.000270
count total (s) self (s)
2 0.000017 if !exists('b:bundler_root')
2 0.000778 0.000037 let dir = s:FindBundlerRoot(a:path)
2 0.000010 if dir != ''
2 0.000013 let b:bundler_root = dir
2 0.000004 endif
2 0.000002 endif
2 0.000014 if exists('b:bundler_root')
2 6.516009 0.000143 silent doautocmd User Bundler
2 0.000014 endif
FUNCTION <SNR>51_record()
Called 12 times
Total time: 0.004457
Self time: 0.001247
count total (s) self (s)
12 0.000121 if s:locked | retu | en
12 0.000134 let bufnr = a:bufnr + 0
12 0.000136 let bufname = bufname(bufnr)
12 0.000112 if bufnr > 0 && !empty(bufname)
12 0.000307 cal filter(s:mrbs, 'v:val != bufnr')
12 0.000110 cal insert(s:mrbs, bufnr)
12 0.003423 0.000213 cal s:addtomrufs(bufname)
12 0.000026 en
FUNCTION <SNR>55_sub()
Called 48 times
Total time: 0.001877
Self time: 0.001877
count total (s) self (s)
48 0.001791 return substitute(a:str,'\v\C'.a:pat,a:rep,'')
FUNCTION color_helper#hex_to_dec()
Called 36 times
Total time: 0.000530
Self time: 0.000530
count total (s) self (s)
36 0.000466 return (a:arg =~? '^0x') ? a:arg + 0 : ('0x'.a:arg) + 0
FUNCTION <SNR>130_sanstail()
Called 15 times
Total time: 0.001951
Self time: 0.001951
count total (s) self (s)
15 0.000726 let str = s:spi ? substitute(a:str, '^\(@.*$\|\\\\\ze@\|\.\.\zs[.\/]\+$\)', '', 'g') : a:str
15 0.000347 let [str, pat] = [substitute(str, '\\\\', '\', 'g'), '\([^:]\|\\:\)*$']
15 0.000056 unl! s:optail
15 0.000296 if str =~ '\\\@<!:'.pat
let s:optail = matchstr(str, '\\\@<!:\zs'.pat)
let str = substitute(str, '\\\@<!:'.pat, '', '')
en
15 0.000215 retu substitute(str, '\\\ze:', '', 'g')
FUNCTION fugitive#head()
Called 32 times
Total time: 0.017047
Self time: 0.001422
count total (s) self (s)
32 0.000310 if !exists('b:git_dir')
return ''
endif
32 0.016477 0.000852 return s:repo().head(a:0 ? a:1 : 0)
FUNCTION <SNR>84_buffer_setvar()
Called 6 times
Total time: 0.000151
Self time: 0.000151
count total (s) self (s)
6 0.000140 return setbufvar(self['#'],a:var,a:value)
FUNCTION <SNR>124_AddTabExpand()
Called 10 times
Total time: 0.002318
Self time: 0.000201
count total (s) self (s)
10 0.002306 0.000189 call s:AddSelectiveExpand(a:abbr,'..',a:expn)
FUNCTION <SNR>130_dosigns()
Called 32 times
Total time: 0.000378
Self time: 0.000378
count total (s) self (s)
32 0.000329 retu exists('s:marked') && s:bufnr > 0 && s:opmul != '0' && has('signs')
FUNCTION <SNR>130_mixedsort()
Called 325 times
Total time: 0.378413
Self time: 0.060160
count total (s) self (s)
325 0.182259 0.009329 let [cln, cml] = [ctrlp#complen(a:1, a:2), s:compmatlen(a:1, a:2)]
325 0.001013 if s:ispath
325 0.001210 let ms = []
325 0.001057 if s:height < 21
325 0.021160 0.005173 let ms += [s:compfnlen(a:1, a:2)]
325 0.023071 0.009327 if s:itemtype !~ '^[12]$' | let ms += [s:comptime(a:1, a:2)] | en
325 0.110668 0.007634 if !s:itemtype | let ms += [s:comparent(a:1, a:2)] | en
325 0.000521 en
325 0.003238 if s:itemtype =~ '^[12]$'
let ms += [s:compmref(a:1, a:2)]
let cln = cml ? cln : 0
en
325 0.002736 let ms += [cml, 0, 0, 0]
325 0.019517 0.006959 let mp = call('s:multipliers', ms[:3])
325 0.005039 retu cln + ms[0] * mp[0] + ms[1] * mp[1] + ms[2] * mp[2] + ms[3] * mp[3]
en
retu cln + cml * 2
FUNCTION <SNR>130_nosplit()
Called 2 times
Total time: 0.000075
Self time: 0.000075
count total (s) self (s)
2 0.000073 retu !empty(s:nosplit) && match([bufname('%'), &l:ft, &l:bt], s:nosplit) >= 0
FUNCTION indent_guides#clear_matches()
Called 6 times
Total time: 0.012052
Self time: 0.011924
count total (s) self (s)
6 0.000198 0.000070 call indent_guides#init_matches()
6 0.000046 if !empty(w:indent_guides_matches)
6 0.000029 let l:index = 0
366 0.000964 for l:match_id in w:indent_guides_matches
360 0.000706 try
360 0.002623 call matchdelete(l:match_id)
360 0.000706 catch /E803:/
" Do nothing
endtry
360 0.002889 call remove(w:indent_guides_matches, l:index)
360 0.001693 let l:index += l:index
360 0.000651 endfor
6 0.000010 endif
FUNCTION <SNR>29_BMTruncName()
Called 2 times
Total time: 0.000390
Self time: 0.000390
count total (s) self (s)
2 0.000011 let name = a:fname
2 0.000009 if g:bmenu_max_pathlen < 5
let name = ""
else
2 0.000012 let len = strlen(name)
2 0.000007 if len > g:bmenu_max_pathlen
2 0.000014 let amountl = (g:bmenu_max_pathlen / 2) - 2
2 0.000013 let amountr = g:bmenu_max_pathlen - amountl - 3
2 0.000024 let pattern = '^\(.\{,' . amountl . '}\).\{-}\(.\{,' . amountr . '}\)$'
2 0.000122 let left = substitute(name, pattern, '\1', '')
2 0.000105 let right = substitute(name, pattern, '\2', '')
2 0.000021 if strlen(left) + strlen(right) < len
2 0.000015 let name = left . '...' . right
2 0.000003 endif
2 0.000003 endif
2 0.000002 endif
2 0.000005 return name
FUNCTION 329()
Called 2 times
Total time: 0.000055
Self time: 0.000055
count total (s) self (s)
2 0.000027 if exists('self._tagfolds_old')
unlet self._tagfolds_old
endif
FUNCTION <SNR>130_mfunc()
Called 2 times
Total time: 0.000064
Self time: 0.000064
count total (s) self (s)
2 0.000008 let mfunc = 'match'
2 0.000006 if s:byfname && s:ispath
let mfunc = 's:matchfname'
elsei s:itemtype > 2
let matchtypes = { 'tabs': 's:matchtabs', 'tabe': 's:matchtabe' }
if has_key(matchtypes, s:matchtype)
let mfunc = matchtypes[s:matchtype]
en
en
2 0.000004 retu mfunc
FUNCTION <SNR>150_ExecuteCtags()
Called 2 times
Total time: 0.476779
Self time: 0.001028
count total (s) self (s)
2 0.000058 0.000027 call s:LogDebugMessage('Executing ctags command: ' . a:ctags_cmd)
2 0.000011 if exists('+shellslash')
let shellslash_save = &shellslash
set noshellslash
endif
2 0.000016 if &shell =~ 'cmd\.exe'
let shellxquote_save = &shellxquote
set shellxquote=\"
let shellcmdflag_save = &shellcmdflag
set shellcmdflag=/s\ /c
endif
2 0.476424 0.000704 let ctags_output = system(a:ctags_cmd)
2 0.000074 if &shell =~ 'cmd\.exe'
let &shellxquote = shellxquote_save
let &shellcmdflag = shellcmdflag_save
endif
2 0.000020 if exists('+shellslash')
let &shellslash = shellslash_save
endif
2 0.000051 return ctags_output
FUNCTION <SNR>55_shellslash()
Called 44 times
Total time: 0.001343
Self time: 0.001343
count total (s) self (s)
44 0.000520 if exists('+shellslash') && !&shellslash
return s:gsub(a:path,'\\','/')
else
44 0.000184 return a:path
endif
FUNCTION <SNR>130_PrtAdd()
Called 13 times
Total time: 0.638240
Self time: 0.000786
count total (s) self (s)
13 0.000091 unl! s:hstgot
13 0.000121 let s:act_add = 1
13 0.000157 let s:prompt[0] .= a:char
13 0.637751 0.000297 cal s:BuildPrompt(1)
13 0.000062 unl s:act_add
FUNCTION PowerlineStatuslineCallback_ctrlp_main()
Called 15 times
Total time: 0.002354
Self time: 0.000599
count total (s) self (s)
15 0.002318 0.000563 return Pl#StatuslineCallback('%(%(%#Ple7ffffff62875fd7N# %-3{"%3"} %)%#Pl62875fd7e7ffffffN#%)%(%(%#Pl375f00afe7ffffffb# %-9{"%4"} %)%#Ple7ffffff62875fd7N#%)%(%(%#Ple7ffffff62875fd7N# %-3{"%5"} %)%#Pl62875fd7375f00afN#%)%(%(%#Plc4ff0000375f00afb# %{"%6" == " <+>" ? "" : strpart("%6", 2, len("%6") - 3)} %)%#Pl375f00af375f00afN#%)%<%#Ple7ffffff375f00afN#%=%(%#Pl375f00af375f00afN#%(%#Plbdd7d7ff375f00afN# %{"%0"} %)%)%(%#Plbdd7d7ff375f00afN#│%(%#Plbdd7d7ff375f00afN# %{"%1"} %)%)%(%#Pl62875fd7375f00afN#%(%#Ple7ffffff62875fd7N# %{substitute(getcwd(), expand("$HOME"), "~", "g")} %)%)', a:000)
FUNCTION <SNR>130_PrtFocusMap()
Called 13 times
Total time: 0.638737
Self time: 0.000497
count total (s) self (s)
13 0.638698 0.000458 cal call(( s:focus ? 's:PrtAdd' : 's:PrtSelectJump' ), [a:char])
FUNCTION <SNR>88_find_root()
Called 2 times
Total time: 0.001454
Self time: 0.001283
count total (s) self (s)
2 0.000220 0.000158 let root = s:shellslash(simplify(fnamemodify(a:path, ':p:s?[\/]$??')))
8 0.000071 for p in [$GEM_HOME] + split($GEM_PATH,':')
6 0.000241 0.000132 if p !=# '' && s:shellslash(p.'/gems/') ==# (root)[0 : strlen(p)+5]
return simplify(s:shellslash(p.'/gems/')).matchstr(root[strlen(p)+6:-1],'[^\\/]*')
endif
6 0.000010 endfor
2 0.000077 let previous = ''
8 0.000072 while root !=# previous && root !=# '/'
8 0.000292 if filereadable(root.'/Rakefile') || (isdirectory(root.'/lib') && filereadable(root.'/Gemfile'))
2 0.000056 if filereadable(root.'/config/environment.rb')
2 0.000010 return ''
else
return root
endif
endif
6 0.000030 let previous = root
6 0.000061 let root = fnamemodify(root, ':h')
6 0.000025 endwhile
return ''
FUNCTION <SNR>124_readable_controller_name()
Called 2 times
Total time: 0.001903
Self time: 0.000782
count total (s) self (s)
2 0.000924 0.000038 let f = self.name()
2 0.000074 0.000033 if has_key(self,'getvar') && self.getvar('rails_controller') != ''
return self.getvar('rails_controller')
elseif f =~ '\<app/views/layouts/'
return s:sub(f,'.*<app/views/layouts/(.{-})\..*','\1')
elseif f =~ '\<app/views/'
return s:sub(f,'.*<app/views/(.{-})/\k+\.\k+%(\.\k+)=$','\1')
elseif f =~ '\<app/helpers/.*_helper\.rb$'
return s:sub(f,'.*<app/helpers/(.{-})_helper\.rb$','\1')
elseif f =~ '\<app/controllers/.*\.rb$'
return s:sub(f,'.*<app/controllers/(.{-})%(_controller)=\.rb$','\1')
elseif f =~ '\<app/mailers/.*\.rb$'
return s:sub(f,'.*<app/mailers/(.{-})\.rb$','\1')
elseif f =~ '\<app/apis/.*_api\.rb$'
return s:sub(f,'.*<app/apis/(.{-})_api\.rb$','\1')
elseif f =~ '\<test/\%(functional\|controllers\)/.*_test\.rb$'
return s:sub(f,'.*<test/%(functional|controllers)/(.{-})%(_controller)=_test\.rb$','\1')
elseif f =~ '\<test/\%(unit/\)\?helpers/.*_helper_test\.rb$'
return s:sub(f,'.*<test/%(unit/)?helpers/(.{-})_helper_test\.rb$','\1')
elseif f =~ '\<spec/controllers/.*_spec\.rb$'
return s:sub(f,'.*<spec/controllers/(.{-})%(_controller)=_spec\.rb$','\1')
elseif f =~ '\<spec/helpers/.*_helper_spec\.rb$'
return s:sub(f,'.*<spec/helpers/(.{-})_helper_spec\.rb$','\1')
elseif f =~ '\<spec/views/.*/\w\+_view_spec\.rb$'
return s:sub(f,'.*<spec/views/(.{-})/\w+_view_spec\.rb$','\1')
elseif f =~ '\<app/models/.*\.rb$' && self.type_name('mailer')
return s:sub(f,'.*<app/models/(.{-})\.rb$','\1')
elseif f =~ '\<\%(public\|app/assets\)/stylesheets/.*\.css\%(\.\w\+\)\=$'
return s:sub(f,'.*<%(public|app/assets)/stylesheets/(.{-})\.css%(\.\w+)=$','\1')
elseif f =~ '\<\%(public\|app/assets\)/javascripts/.*\.js\%(\.\w\+\)\=$'
return s:sub(f,'.*<%(public|app/assets)/javascripts/(.{-})\.js%(\.\w+)=$','\1')
elseif a:0 && a:1
return rails#pluralize(self.model_name())
endif
2 0.000004 return ""
FUNCTION ctrlp#normcmd()
Called 2 times
Total time: 0.000341
Self time: 0.000266
count total (s) self (s)
2 0.000106 0.000031 if a:0 < 2 && s:nosplit() | retu a:cmd | en
2 0.000062 let norwins = filter(range(1, winnr('$')), 'empty(getbufvar(winbufnr(v:val), "&bt"))')
4 0.000016 for each in norwins
2 0.000012 let bufnr = winbufnr(each)
2 0.000019 if empty(bufname(bufnr)) && empty(getbufvar(bufnr, '&ft'))
let fstemp = each | brea
en
2 0.000003 endfo
2 0.000019 let norwin = empty(norwins) ? 0 : norwins[0]
2 0.000006 if norwin
2 0.000014 if index(norwins, winnr()) < 0
exe ( exists('fstemp') ? fstemp : norwin ).'winc w'
en
2 0.000007 retu a:cmd
en
retu a:0 ? a:1 : 'bo vne'
FUNCTION <SNR>130_Open()
Called 2 times
Total time: 0.004508
Self time: 0.002835
count total (s) self (s)
2 0.000132 0.000047 cal s:log(1)
2 0.001094 0.000040 cal s:getenv()
2 0.000067 0.000027 cal s:execextvar('enter')
2 0.000715 sil! exe 'keepa' ( s:mwbottom ? 'bo' : 'to' ) '1new ControlP'
2 0.000117 0.000051 cal s:buffunc(1)
2 0.000026 let [s:bufnr, s:winw] = [bufnr('%'), winwidth(0)]
2 0.000021 let [s:focus, s:prompt] = [1, ['', '', '']]
2 0.000005 abc <buffer>
2 0.000011 if !exists('s:hstry')
let hst = filereadable(s:gethistloc()[1]) ? s:gethistdata() : ['']
let s:hstry = empty(hst) || !s:maxhst ? [''] : hst
en
68 0.000456 for [ke, va] in items(s:glbs) | if exists('+'.ke)
34 0.000964 sil! exe 'let s:glb_'.ke.' = &'.ke.' | let &'.ke.' = '.string(va)
66 0.000098 en | endfo
2 0.000029 if s:opmul != '0' && has('signs')
2 0.000166 sign define ctrlpmark text=+> texthl=Search
2 0.000007 en
2 0.000474 0.000046 cal s:setupblank()
FUNCTION <SNR>95_LocalBrowse()
Called 4 times
Total time: 0.000307
Self time: 0.000307
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.
" echomsg "dirname<".a:dirname.">"
4 0.000050 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.
if a:dirname != '' && isdirectory(a:dirname)
sil! call netrw#LocalBrowseCheck(a:dirname)
endif
elseif isdirectory(a:dirname)
" echomsg "dirname<".dirname."> isdir"
sil! call netrw#LocalBrowseCheck(a:dirname)
endif
" not a directory, ignore it
FUNCTION indent_guides#calculate_guide_size()
Called 6 times
Total time: 0.000191
Self time: 0.000191
count total (s) self (s)
6 0.000049 let l:guide_size = g:indent_guides_guide_size
6 0.000047 if l:guide_size == 0 || l:guide_size > s:indent_size
let l:guide_size = s:indent_size
endif
6 0.000023 return l:guide_size
FUNCTION <SNR>121_LocalBrowseShellCmdRefresh()
Called 4 times
Total time: 0.004075
Self time: 0.004075
count total (s) self (s)
" call Dfunc("LocalBrowseShellCmdRefresh() browselist=".(exists("s:netrw_browselist")? string(s:netrw_browselist) : "empty")." ".tabpagenr("$")." tabs")
" determine which buffers currently reside in a tab
4 0.000069 if !exists("s:netrw_browselist")
" call Dret("LocalBrowseShellCmdRefresh : browselist is empty")
return
endif
4 0.000049 if !exists("w:netrw_bannercnt")
" call Dret("LocalBrowseShellCmdRefresh : don't refresh when focus not on netrw window")
return
endif
4 0.000049 if exists("s:locbrowseshellcmd")
4 0.000024 if s:locbrowseshellcmd
let s:locbrowseshellcmd= 0
" call Dret("LocalBrowseShellCmdRefresh : NetrwBrowse itself caused the refresh")
return
endif
4 0.000037 let s:locbrowseshellcmd= 0
4 0.000012 endif
4 0.000029 let itab = 1
4 0.000031 let buftablist = []
8 0.000091 while itab <= tabpagenr("$")
4 0.000061 let buftablist = buftablist + tabpagebuflist()
4 0.000041 let itab = itab + 1
4 0.000019 tabn
4 0.000013 endwhile
" call Decho("buftablist".string(buftablist))
" call Decho("s:netrw_browselist<".(exists("s:netrw_browselist")? string(s:netrw_browselist) : "").">")
" GO through all buffers on netrw_browselist (ie. just local-netrw buffers):
" | refresh any netrw window
" | wipe out any non-displaying netrw buffer
4 0.000047 let curwin = winnr()
4 0.000023 let ibl = 0
4 0.000036 for ibuf in s:netrw_browselist
" call Decho("bufwinnr(".ibuf.") index(buftablist,".ibuf.")=".index(buftablist,ibuf))
if bufwinnr(ibuf) == -1 && index(buftablist,ibuf) == -1
" wipe out any non-displaying netrw buffer
" call Decho("wiping buf#".ibuf,"<".bufname(ibuf).">")
exe "sil! bd ".fnameescape(ibuf)
call remove(s:netrw_browselist,ibl)
" call Decho("browselist=".string(s:netrw_browselist))
continue
elseif index(tabpagebuflist(),ibuf) != -1
" refresh any netrw buffer
" call Decho("refresh buf#".ibuf.'-> win#'.bufwinnr(ibuf))
exe bufwinnr(ibuf)."wincmd w"
keepj call s:NetrwRefresh(1,s:NetrwBrowseChgDir(1,'./'))
endif
let ibl= ibl + 1
endfor
4 0.002670 exe curwin."wincmd w"
" call Dret("LocalBrowseShellCmdRefresh")
FUNCTION indent_guides#capture_highlight()
Called 6 times
Total time: 0.000732
Self time: 0.000732
count total (s) self (s)
6 0.000061 redir => l:output
6 0.000392 exe "silent hi " . a:group_name
6 0.000066 redir END
6 0.000152 let l:output = substitute(l:output, "\n", "", "")
6 0.000032 return l:output
FUNCTION indent_guides#enable()
Called 6 times
Total time: 0.065253
Self time: 0.028296
count total (s) self (s)
6 0.000065 let g:indent_guides_autocmds_enabled = 1
6 0.002614 0.000095 call indent_guides#init_script_vars()
6 0.007796 0.000100 call indent_guides#highlight_colors()
6 0.012151 0.000099 call indent_guides#clear_matches()
" loop through each indent level and define a highlight pattern
" will automagically figure out whether to use tabs or spaces
186 0.000795 for l:level in range(s:start_level, s:indent_levels)
180 0.001941 let l:group = 'IndentGuides' . ((l:level % 2 == 0) ? 'Even' : 'Odd')
180 0.001918 let l:column_start = (l:level - 1) * s:indent_size + 1
180 0.010844 0.003402 let l:soft_pattern = indent_guides#indent_highlight_pattern('\s', l:column_start, s:guide_size)
180 0.010371 0.003123 let l:hard_pattern = indent_guides#indent_highlight_pattern('\t', l:column_start, s:indent_size)
" define the higlight patterns and add to matches list
180 0.000704 if g:indent_guides_space_guides
180 0.007423 call add(w:indent_guides_matches, matchadd(l:group, l:soft_pattern))
180 0.000411 end
180 0.006464 call add(w:indent_guides_matches, matchadd(l:group, l:hard_pattern))
180 0.000452 endfor
FUNCTION 335()
Called 29 times
Total time: 0.000373
Self time: 0.000373
count total (s) self (s)
29 0.000314 return get(self._files, a:fname, {})
FUNCTION indent_guides#process_autocmds()
Called 6 times
Total time: 0.065486
Self time: 0.000233
count total (s) self (s)
6 0.000045 if g:indent_guides_autocmds_enabled
6 0.065353 0.000100 call indent_guides#enable()
6 0.000016 else
call indent_guides#disable()
end
FUNCTION <SNR>130_SetWD()
Called 2 times
Total time: 0.006607
Self time: 0.000655
count total (s) self (s)
2 0.000031 if has_key(a:args, 'args') && stridx(a:args['args'], '--dir') >= 0 && exists('s:dyncwd')
cal ctrlp#setdir(s:dyncwd) | retu
en
2 0.000022 if has_key(a:args, 'dir') && a:args['dir'] != ''
cal ctrlp#setdir(a:args['dir']) | retu
en
2 0.000025 let pmode = has_key(a:args, 'mode') ? a:args['mode'] : s:pathmode
2 0.000198 let [s:crfilerel, s:dyncwd] = [fnamemodify(s:crfile, ':.'), getcwd()]
2 0.000055 if s:crfile =~ '^.\+://' | retu | en
2 0.000046 if pmode =~ 'c' || ( pmode =~ 'a' && stridx(s:crfpath, s:cwd) < 0 ) || ( !type(pmode) && pmode )
if exists('+acd') | let [s:glb_acd, &acd] = [&acd, 0] | en
cal ctrlp#setdir(s:crfpath)
en
2 0.000012 if pmode =~ 'r' || pmode == 2
2 0.000019 let markers = ['.git', '.hg', '.svn', '.bzr', '_darcs']
2 0.000033 let spath = pmode =~ 'd' ? s:dyncwd : pmode =~ 'w' ? s:cwd : s:crfpath
2 0.000020 if type(s:rmarkers) == 3 && !empty(s:rmarkers)
if s:findroot(spath, s:rmarkers, 0, 0) != [] | retu | en
cal filter(markers, 'index(s:rmarkers, v:val) < 0')
en
2 0.006019 0.000067 cal s:findroot(spath, markers, 0, 0)
2 0.000003 en
FUNCTION <SNR>55_Detect()
Called 2 times
Total time: 0.006949
Self time: 0.000767
count total (s) self (s)
2 0.000022 if exists('b:git_dir') && (b:git_dir ==# '' || b:git_dir =~# '/$')
unlet b:git_dir
endif
2 0.000011 if !exists('b:git_dir')
2 0.002211 0.000051 let dir = fugitive#extract_git_dir(a:path)
2 0.000010 if dir !=# ''
2 0.000012 let b:git_dir = dir
2 0.000004 endif
2 0.000004 endif
2 0.000014 if exists('b:git_dir')
2 0.003930 0.000100 silent doautocmd User Fugitive
2 0.000075 cnoremap <buffer> <expr> <C-R><C-G> <SID>recall()
2 0.000068 nnoremap <buffer> <silent> y<C-G> :call setreg(v:register, <SID>recall())<CR>
2 0.000196 0.000027 let buffer = fugitive#buffer()
2 0.000057 if expand('%:p') =~# '//'
call buffer.setvar('&path', s:sub(buffer.getvar('&path'), '^\.%(,|$)', ''))
endif
" Look for tags file in .git dir and add them to &tags
" See http://tbaggery.com/2011/08/08/effortless-ctags-with-git.html
2 0.000018 let tagsfile = b:git_dir.'/tags'
2 0.000088 0.000065 if stridx(buffer.getvar('&tags'), escape(tagsfile, ', ')) == -1
2 0.000048 if filereadable(tagsfile)
call buffer.setvar('&tags', escape(tagsfile, ', ').','.buffer.getvar('&tags'))
endif
2 0.000008 if &filetype !=# ''
2 0.000022 let tagsfile = b:git_dir.'/'.&filetype.'.tags'
2 0.000032 if filereadable(tagsfile)
call buffer.setvar('&tags', escape(tagsfile, ', ').','.buffer.getvar('&tags'))
endif
2 0.000003 endif
2 0.000002 endif
2 0.000002 endif
FUNCTION <SNR>124_match_type()
Called 48 times
Total time: 0.001835
Self time: 0.001835
count total (s) self (s)
48 0.000165 if a:0
40 0.001453 return !empty(filter(copy(a:000),'a:type =~# "^".v:val."\\%(-\\|$\\)"'))
else
8 0.000024 return a:type
endif
FUNCTION ctrlp#complen()
Called 325 times
Total time: 0.007278
Self time: 0.007278
count total (s) self (s)
" By length
325 0.004312 let [len1, len2] = [strlen(a:1), strlen(a:2)]
325 0.001905 retu len1 == len2 ? 0 : len1 > len2 ? 1 : -1
FUNCTION <SNR>84_project_gems()
Called 2 times
Total time: 6.512774
Self time: 0.003938
count total (s) self (s)
2 0.000070 0.000034 let lock_file = self.path('Gemfile.lock')
2 0.000040 let time = getftime(lock_file)
2 0.000020 if time != -1 && time != get(self,'_lock_time',-1)
" Explicitly setting $PATH means /etc/zshenv on OS X can't touch it.
2 0.000092 if executable('env')
2 0.000189 0.000043 let prefix = 'env PATH='.s:shellesc($PATH).' '
2 0.000004 else
let prefix = ''
endif
2 0.000020 let self._gems = {}
2 0.000011 let gems = self._gems
2 0.000781 let lines = readfile(lock_file)
2 0.000110 let gem_paths = split($GEM_PATH ==# '' ? system(prefix.'ruby -rubygems -e "print Gem.path.join(%(:))"') : $GEM_PATH, ':\|;')
10 0.000042 for line in lines
10 0.000383 if line !~ '\v\s+[a-zA-Z0-9_-]+\s+\(\d+'
8 0.000033 continue
endif
2 0.000053 let name = split(line, ' ')[0]
2 0.000063 let v = substitute(line, '.*(\|).*', '', 'g')
6 0.000024 for path in gem_paths
4 0.000081 let dir = join([path, 'gems', name.'-'.v], '/')
4 0.000056 if isdirectory(dir)
let gems[name] = dir
break
endif
4 0.000008 endfor
2 0.000014 if !has_key(gems, name)
2 0.000010 let failed = 1
2 0.000004 break
endif
endfor
2 0.000013 if !empty(gems) && !exists('failed')
let self._lock_time = time
call self.alter_buffer_paths()
return gems
endif
2 6.509307 0.000919 let output = system(prefix.'ruby -C '.s:shellesc(self.path()).' -rubygems -e "require %{bundler}; Bundler.load.specs.map {|s| puts %[#{s.name} #{s.full_gem_path}]}"')
2 0.000030 if v:shell_error
14 0.000165 for line in split(output,"\n")
12 0.000111 if line !~ '^\t'
2 0.000357 0.000091 call s:warn(line)
2 0.000006 endif
12 0.000232 endfor
2 0.000004 else
for line in split(output,"\n")
let self._gems[split(line,' ')[0]] = matchstr(line,' \zs.*')
endfor
let self._lock_time = time
call self.alter_buffer_paths()
endif
2 0.000004 endif
2 0.000051 return get(self,'_gems',{})
FUNCTION <SNR>44_BufInit()
Called 2 times
Total time: 3.572511
Self time: 0.000172
count total (s) self (s)
2 0.000198 0.000056 let s:_{s:escvar(a:path)} = 1
2 0.000090 0.000024 if s:autoload()
2 3.572216 0.000085 return RailsBufInit(a:path)
endif
FUNCTION color_helper#hex_color_to_rgb()
Called 12 times
Total time: 0.001605
Self time: 0.001075
count total (s) self (s)
12 0.000070 let l:rgb = []
12 0.000171 if a:hex_color =~ g:indent_guides_color_hex_pattern
12 0.000428 0.000226 let l:red = color_helper#hex_to_dec(strpart(a:hex_color, 1, 2))
12 0.000354 0.000189 let l:green = color_helper#hex_to_dec(strpart(a:hex_color, 3, 2))
12 0.000347 0.000184 let l:blue = color_helper#hex_to_dec(strpart(a:hex_color, 5, 2))
12 0.000101 let l:rgb = [l:red, l:green, l:blue]
12 0.000027 end
12 0.000030 return l:rgb
FUNCTION 297()
Called 134 times
Total time: 0.018412
Self time: 0.007290
count total (s) self (s)
134 0.003937 let newobj = copy(self)
134 0.013239 0.002117 call newobj._init(a:name)
134 0.000544 return newobj
FUNCTION <SNR>78_IncludeMarks()
Called 159 times
Total time: 0.016000
Self time: 0.016000
count total (s) self (s)
159 0.003030 if exists('b:showmarks_include') && exists('b:showmarks_previous_include') && b:showmarks_include != b:showmarks_previous_include
" The user changed the marks to include; hide all marks; change the
" included mark list, then show all marks. Prevent infinite
" recursion during this switch.
if exists('s:use_previous_include')
" Recursive call from ShowMarksHideAll()
return b:showmarks_previous_include
elseif exists('s:use_new_include')
" Recursive call from ShowMarks()
return b:showmarks_include
else
let s:use_previous_include = 1
call <sid>ShowMarksHideAll()
unlet s:use_previous_include
let s:use_new_include = 1
call <sid>ShowMarks()
unlet s:use_new_include
endif
endif
159 0.001010 if !exists('g:showmarks_include')
let g:showmarks_include = s:all_marks
endif
159 0.001028 if !exists('b:showmarks_include')
1 0.000006 let b:showmarks_include = g:showmarks_include
1 0.000001 endif
" Save this include setting so we can detect if it was changed.
159 0.001145 let b:showmarks_previous_include = b:showmarks_include
159 0.000591 return b:showmarks_include
FUNCTION 336()
Called 2 times
Total time: 0.000093
Self time: 0.000093
count total (s) self (s)
2 0.000013 if a:0 == 1
let self._files[a:1] = a:fileinfo
else
2 0.000016 let fname = a:fileinfo.fpath
2 0.000029 let self._files[fname] = a:fileinfo
2 0.000006 endif
FUNCTION <SNR>124_BufScriptWrappers()
Called 2 times
Total time: 0.000486
Self time: 0.000486
count total (s) self (s)
2 0.000047 command! -buffer -bar -nargs=* -complete=customlist,s:Complete_script Rscript :execute rails#app().script_command(<bang>0,<f-args>)
2 0.000044 command! -buffer -bar -nargs=* -complete=customlist,s:Complete_generate Rgenerate :execute rails#app().generate_command(<bang>0,<f-args>)
2 0.000042 command! -buffer -bar -nargs=* -complete=customlist,s:Complete_destroy Rdestroy :execute rails#app().destroy_command(<bang>0,<f-args>)
2 0.000042 command! -buffer -bar -nargs=? -bang -complete=customlist,s:Complete_server Rserver :execute rails#app().server_command(<bang>0,<q-args>)
2 0.000075 command! -buffer -bang -nargs=1 -range=0 -complete=customlist,s:Complete_ruby Rrunner :execute rails#app().runner_command(<bang>0 ? -2 : (<count>==<line2>?<count>:-1),<f-args>)
2 0.000071 command! -buffer -nargs=1 -range=0 -complete=customlist,s:Complete_ruby Rp :execute rails#app().runner_command(<count>==<line2>?<count>:-1,'p begin '.<f-args>.' end')
2 0.000081 command! -buffer -nargs=1 -range=0 -complete=customlist,s:Complete_ruby Rpp :execute rails#app().runner_command(<count>==<line2>?<count>:-1,'require %{pp}; pp begin '.<f-args>.' end')
2 0.000070 command! -buffer -nargs=1 -range=0 -complete=customlist,s:Complete_ruby Ry :execute rails#app().runner_command(<count>==<line2>?<count>:-1,'y begin '.<f-args>.' end')
FUNCTION SyntasticStatuslineFlag()
Called 32 times
Total time: 0.006037
Self time: 0.004770
count total (s) self (s)
32 0.001664 0.000397 if s:BufHasErrorsOrWarningsToDisplay()
let errors = s:Errors()
let warnings = s:Warnings()
let num_errors = len(errors)
let num_warnings = len(warnings)
let output = g:syntastic_stl_format
"hide stuff wrapped in %E(...) unless there are errors
let output = substitute(output, '\C%E{\([^}]*\)}', num_errors ? '\1' : '' , 'g')
"hide stuff wrapped in %W(...) unless there are warnings
let output = substitute(output, '\C%W{\([^}]*\)}', num_warnings ? '\1' : '' , 'g')
"hide stuff wrapped in %B(...) unless there are both errors and warnings
let output = substitute(output, '\C%B{\([^}]*\)}', (num_warnings && num_errors) ? '\1' : '' , 'g')
"sub in the total errors/warnings/both
let output = substitute(output, '\C%w', num_warnings, 'g')
let output = substitute(output, '\C%e', num_errors, 'g')
let output = substitute(output, '\C%t', len(s:LocList()), 'g')
"first error/warning line num
let output = substitute(output, '\C%F', s:LocList()[0]['lnum'], 'g')
"first error line num
let output = substitute(output, '\C%fe', num_errors ? errors[0]['lnum'] : '', 'g')
"first warning line num
let output = substitute(output, '\C%fw', num_warnings ? warnings[0]['lnum'] : '', 'g')
return output
else
32 0.000074 return ''
endif
FUNCTION <SNR>84_sub()
Called 2 times
Total time: 0.000063
Self time: 0.000063
count total (s) self (s)
2 0.000060 return substitute(a:str,'\v\C'.a:pat,a:rep,'')
FUNCTION <SNR>150_AutoUpdate()
Called 11 times
Total time: 0.718220
Self time: 0.008452
count total (s) self (s)
11 0.000594 0.000298 call s:LogDebugMessage('AutoUpdate called [' . a:fname . ']')
" Get the filetype of the file we're about to process
11 0.000706 let bufnr = bufnr(a:fname)
11 0.000143 let ftype = getbufvar(bufnr, '&filetype')
" Don't do anything if we're in the tagbar window
11 0.000066 if ftype == 'tagbar'
call s:LogDebugMessage('In Tagbar window, stopping processing')
return
endif
" Only consider the main filetype in cases like 'python.django'
11 0.000224 let sftype = get(split(ftype, '\.'), 0, '')
11 0.000468 0.000256 call s:LogDebugMessage("Vim filetype: '" . ftype . "', " . "sanitized filetype: '" . sftype . "'")
" Don't do anything if the file isn't supported
11 0.001865 0.000160 if !s:IsValidFile(a:fname, sftype)
call s:LogDebugMessage('Not a valid file, stopping processing')
return
endif
11 0.000053 let updated = 0
" Process the file if it's unknown or the information is outdated.
" Also test for entries that exist but are empty, which will be the case
" if there was an error during the ctags execution.
" Testing the mtime of the file is necessary in case it got changed
" outside of Vim, for example by checking out a different version from a
" VCS.
11 0.000569 0.000309 if s:known_files.has(a:fname) && !empty(s:known_files.get(a:fname))
9 0.000195 0.000113 let curfile = s:known_files.get(a:fname)
" if a:force || getbufvar(curfile.bufnr, '&modified') ||
9 0.000381 if a:force || (filereadable(a:fname) && getftime(a:fname) > curfile.mtime)
call s:LogDebugMessage('File data outdated, updating' . ' [' . a:fname . ']')
call s:ProcessFile(a:fname, sftype)
let updated = 1
else
9 0.000362 0.000176 call s:LogDebugMessage('File data seems up to date' . ' [' . a:fname . ']')
9 0.000016 endif
9 0.000048 elseif !s:known_files.has(a:fname)
2 0.000075 0.000034 call s:LogDebugMessage('New file, processing [' . a:fname . ']')
2 0.699061 0.000264 call s:ProcessFile(a:fname, sftype)
2 0.000022 let updated = 1
2 0.000006 endif
11 0.000353 0.000198 let fileinfo = s:known_files.get(a:fname)
" If we don't have an entry for the file by now something must have gone
" wrong, so don't change the tagbar content
11 0.000069 if empty(fileinfo)
call s:LogDebugMessage('fileinfo empty after processing' . ' [' . a:fname . ']')
return
endif
" Display the tagbar content if the tags have been updated or a different
" file is being displayed
11 0.002540 if bufwinnr('__Tagbar__') != -1 && (s:new_window || updated || a:fname != s:known_files.getCurrent().fpath)
call s:RenderContent(fileinfo)
endif
" Call setCurrent after rendering so RenderContent can check whether the
" same file is being redisplayed
11 0.000063 if !empty(fileinfo)
11 0.000434 0.000218 call s:LogDebugMessage('Setting current file [' . a:fname . ']')
11 0.000269 0.000140 call s:known_files.setCurrent(fileinfo)
11 0.000022 endif
11 0.007633 0.000177 call s:HighlightTag(0)
11 0.000391 0.000173 call s:LogDebugMessage('AutoUpdate finished successfully')
FUNCTION <SNR>130_buildpat()
Called 13 times
Total time: 0.001193
Self time: 0.001193
count total (s) self (s)
13 0.000097 let pat = a:lst[0]
49 0.000262 for item in range(1, len(a:lst) - 1)
36 0.000519 let pat .= '[^'.a:lst[item - 1].']\{-}'.a:lst[item]
36 0.000077 endfo
13 0.000045 retu pat
FUNCTION <SNR>84_define_commands()
Called 2 times
Total time: 0.000460
Self time: 0.000460
count total (s) self (s)
16 0.000055 for command in s:commands
14 0.000348 exe 'command! -buffer '.command
14 0.000033 endfor
FUNCTION <SNR>124_HiDefaults()
Called 2 times
Total time: 0.001113
Self time: 0.001113
count total (s) self (s)
2 0.000040 hi def link rubyRailsAPIMethod rubyRailsMethod
2 0.000029 hi def link rubyRailsARAssociationMethod rubyRailsARMethod
2 0.000026 hi def link rubyRailsARCallbackMethod rubyRailsARMethod
2 0.000026 hi def link rubyRailsARClassMethod rubyRailsARMethod
2 0.000027 hi def link rubyRailsARValidationMethod rubyRailsARMethod
2 0.000026 hi def link rubyRailsARMethod rubyRailsMethod
2 0.000026 hi def link rubyRailsRenderMethod rubyRailsMethod
2 0.000018 hi def link rubyRailsHelperMethod rubyRailsMethod
2 0.000026 hi def link rubyRailsViewMethod rubyRailsMethod
2 0.000028 hi def link rubyRailsMigrationMethod rubyRailsMethod
2 0.000026 hi def link rubyRailsControllerMethod rubyRailsMethod
2 0.000026 hi def link rubyRailsFilterMethod rubyRailsMethod
2 0.000027 hi def link rubyRailsTestControllerMethod rubyRailsTestMethod
2 0.000026 hi def link rubyRailsTestMethod rubyRailsMethod
2 0.000016 hi def link rubyRailsRakeMethod rubyRailsMethod
2 0.000037 hi def link rubyRailsMethod railsMethod
2 0.000036 hi def link rubyRailsInclude rubyInclude
2 0.000034 hi def link rubyRailsUserClass railsUserClass
2 0.000025 hi def link rubyRailsUserMethod railsUserMethod
2 0.000008 hi def link erubyRailsHelperMethod erubyRailsMethod
2 0.000008 hi def link erubyRailsViewMethod erubyRailsMethod
2 0.000007 hi def link erubyRailsRenderMethod erubyRailsMethod
2 0.000025 hi def link erubyRailsMethod railsMethod
2 0.000024 hi def link erubyRailsUserMethod railsUserMethod
2 0.000025 hi def link erubyRailsUserClass railsUserClass
2 0.000008 hi def link hamlRailsHelperMethod hamlRailsMethod
2 0.000006 hi def link hamlRailsViewMethod hamlRailsMethod
2 0.000006 hi def link hamlRailsRenderMethod hamlRailsMethod
2 0.000025 hi def link hamlRailsMethod railsMethod
2 0.000024 hi def link hamlRailsUserMethod railsUserMethod
2 0.000024 hi def link hamlRailsUserClass railsUserClass
2 0.000042 hi def link railsUserMethod railsMethod
2 0.000031 hi def link yamlRailsDelimiter Delimiter
2 0.000025 hi def link yamlRailsMethod railsMethod
2 0.000029 hi def link yamlRailsComment Comment
2 0.000025 hi def link yamlRailsUserClass railsUserClass
2 0.000024 hi def link yamlRailsUserMethod railsUserMethod
2 0.000025 hi def link javascriptRailsFunction railsMethod
2 0.000024 hi def link railsUserClass railsClass
2 0.000046 hi def link railsMethod Function
2 0.000028 hi def link railsClass Type
2 0.000019 hi def link railsOrderSpecial railsStringSpecial
2 0.000017 hi def link railsConditionsSpecial railsStringSpecial
2 0.000029 hi def link railsStringSpecial Identifier
FUNCTION <SNR>124_AddSelectiveExpand()
Called 68 times
Total time: 0.013830
Self time: 0.008644
count total (s) self (s)
68 0.004628 0.001798 let expn = s:gsub(s:gsub(a:expn ,'[\"|]','\\&'),'\<','\\<Lt>')
68 0.004040 0.001684 let expn2 = s:gsub(s:gsub(a:0 ? a:1 : '','[\"|]','\\&'),'\<','\\<Lt>')
68 0.000227 if a:0
42 0.002548 exe "inoreabbrev <buffer> <silent> ".a:abbr." <C-R>=<SID>selectiveexpand(".string(a:pat).",\"".expn."\",".string(a:abbr).",\"".expn2."\")<CR>"
42 0.000103 else
26 0.001182 exe "inoreabbrev <buffer> <silent> ".a:abbr." <C-R>=<SID>selectiveexpand(".string(a:pat).",\"".expn."\",".string(a:abbr).")<CR>"
26 0.000052 endif
FUNCTION ctrlp#files()
Called 2 times
Total time: 0.000782
Self time: 0.000435
count total (s) self (s)
2 0.000293 0.000026 let cafile = ctrlp#utils#cachefile()
2 0.000171 0.000091 if g:ctrlp_newcache || !filereadable(cafile) || s:nocache(cafile)
let [lscmd, s:initcwd, g:ctrlp_allfiles] = [s:lsCmd(), s:dyncwd, []]
" Get the list of files
if empty(lscmd)
cal s:GlobPath(s:fnesc(s:dyncwd, 'g', ','), 0)
el
sil! cal ctrlp#progress('Indexing...')
try | cal s:UserCmd(lscmd)
cat | retu [] | endt
en
" Remove base directory
cal ctrlp#rmbasedir(g:ctrlp_allfiles)
if len(g:ctrlp_allfiles) <= s:compare_lim
cal sort(g:ctrlp_allfiles, 'ctrlp#complen')
en
cal s:writecache(cafile)
let catime = getftime(cafile)
el
2 0.000032 let catime = getftime(cafile)
2 0.000044 if !( exists('s:initcwd') && s:initcwd == s:dyncwd ) || get(s:ficounts, s:dyncwd, [0, catime])[1] != catime
let s:initcwd = s:dyncwd
let g:ctrlp_allfiles = ctrlp#utils#readfile(cafile)
en
2 0.000003 en
2 0.000041 cal extend(s:ficounts, { s:dyncwd : [len(g:ctrlp_allfiles), catime] })
2 0.000007 retu g:ctrlp_allfiles
FUNCTION <SNR>84_project()
Called 4 times
Total time: 0.000272
Self time: 0.000272
count total (s) self (s)
4 0.000068 let dir = a:0 ? a:1 : (exists('b:bundler_root') && b:bundler_root !=# '' ? b:bundler_root : s:FindBundlerRoot(expand('%:p')))
4 0.000019 if dir !=# ''
4 0.000030 if has_key(s:projects,dir)
4 0.000032 let project = get(s:projects,dir)
4 0.000008 else
let project = {'root': dir}
let s:projects[dir] = project
endif
4 0.000057 return extend(extend(project,s:project_prototype,'keep'),s:abstract_prototype,'keep')
endif
call s:throw('not a Bundler project: '.(a:0 ? a:1 : expand('%')))
FUNCTION <SNR>130_modevar()
Called 2 times
Total time: 0.000291
Self time: 0.000130
count total (s) self (s)
2 0.000037 0.000020 let s:matchtype = s:mtype()
2 0.000037 0.000021 let s:ispath = s:ispathitem()
2 0.000011 if !s:ispath | let s:byfname = 0 | en
2 0.000082 0.000018 let s:mfunc = s:mfunc()
2 0.000056 0.000023 let s:nolim = s:getextvar('nolim')
2 0.000048 0.000017 let s:dosort = s:getextvar('sort')
2 0.000013 let s:spi = !s:itemtype || s:getextvar('specinput') > 0
FUNCTION ctrlp#nosy()
Called 17 times
Total time: 0.000275
Self time: 0.000275
count total (s) self (s)
17 0.000247 retu !( has('syntax') && exists('g:syntax_on') )
FUNCTION <SNR>84_project_path()
Called 6 times
Total time: 0.000104
Self time: 0.000104
count total (s) self (s)
6 0.000097 return join([self.root]+a:000,'/')
FUNCTION <SNR>29_BMFilename()
Called 2 times
Total time: 0.001638
Self time: 0.000674
count total (s) self (s)
2 0.000041 if isdirectory(a:name)
return
endif
2 0.000820 0.000042 let munge = <SID>BMMunge(a:name, a:num)
2 0.000216 0.000030 let hash = <SID>BMHash(munge)
2 0.000007 if s:bmenu_short == 0
2 0.000026 let name = 'an ' . g:bmenu_priority . '.' . hash . ' &Buffers.' . munge
2 0.000003 else
let name = 'an ' . g:bmenu_priority . '.' . hash . '.' . hash . ' &Buffers.' . <SID>BMHash2(munge) . munge
endif
" set 'cpo' to include the <CR>
2 0.000024 let cpo_save = &cpo
2 0.000032 set cpo&vim
2 0.000377 exe name . ' :confirm b' . a:num . '<CR>'
2 0.000041 let &cpo = cpo_save
FUNCTION <SNR>150_EscapeCtagsCmd()
Called 2 times
Total time: 0.000718
Self time: 0.000537
count total (s) self (s)
2 0.000112 0.000045 call s:LogDebugMessage('EscapeCtagsCmd called')
2 0.000087 0.000040 call s:LogDebugMessage('ctags_bin: ' . a:ctags_bin)
2 0.000066 0.000033 call s:LogDebugMessage('ctags_args: ' . a:args)
2 0.000017 if exists('+shellslash')
let shellslash_save = &shellslash
set noshellslash
endif
2 0.000007 if a:0 == 1
2 0.000027 let fname = shellescape(a:1)
2 0.000003 else
let fname = ''
endif
2 0.000033 let ctags_cmd = shellescape(a:ctags_bin) . ' ' . a:args . ' ' . fname
" Stupid cmd.exe quoting
2 0.000031 if &shell =~ 'cmd\.exe'
let reserved_chars = '&()@^'
" not allowed in filenames, but escape anyway just in case
let reserved_chars .= '<>|'
let pattern = join(split(reserved_chars, '\zs'), '\|')
let ctags_cmd = substitute(ctags_cmd, '\V\(' . pattern . '\)', '^\0', 'g')
endif
2 0.000010 if exists('+shellslash')
let &shellslash = shellslash_save
endif
" Needed for cases where 'encoding' is different from the system's
" encoding
2 0.000017 if has('multi_byte')
2 0.000013 if g:tagbar_systemenc != &encoding
let ctags_cmd = iconv(ctags_cmd, &encoding, g:tagbar_systemenc)
elseif $LANG != ''
2 0.000046 let ctags_cmd = iconv(ctags_cmd, &encoding, $LANG)
2 0.000003 endif
2 0.000002 endif
2 0.000062 0.000028 call s:LogDebugMessage('Escaped ctags command: ' . ctags_cmd)
2 0.000009 if ctags_cmd == ''
echoerr 'Tagbar: Encoding conversion failed!' 'Please make sure your system is set up correctly' 'and that Vim is compiled with the "+iconv" feature.'
endif
2 0.000007 return ctags_cmd
FUNCTION <SNR>78_ShowMarks()
Called 3 times
Total time: 0.040774
Self time: 0.021096
count total (s) self (s)
3 0.000035 if g:showmarks_enable == 0
return
endif
3 0.000187 if ((match(g:showmarks_ignore_type, "[Hh]") > -1) && (&buftype == "help" )) || ((match(g:showmarks_ignore_type, "[Qq]") > -1) && (&buftype == "quickfix")) || ((match(g:showmarks_ignore_type, "[Pp]") > -1) && (&pvw == 1 )) || ((match(g:showmarks_ignore_type, "[Rr]") > -1) && (&readonly == 1 )) || ((match(g:showmarks_ignore_type, "[Mm]") > -1) && (&modifiable == 0 ))
return
endif
3 0.000019 let n = 0
3 0.000435 0.000067 let s:maxmarks = strlen(s:IncludeMarks())
159 0.000548 while n < s:maxmarks
156 0.017682 0.002050 let c = strpart(s:IncludeMarks(), n, 1)
156 0.005426 0.001748 let nm = s:NameOfMark(c)
156 0.001338 let id = n + (s:maxmarks * winbufnr(0))
156 0.001161 let ln = line("'".c)
156 0.001447 if ln == 0 && (exists('b:placed_'.nm) && b:placed_{nm} != ln)
exe 'sign unplace '.id.' buffer='.winbufnr(0)
elseif ln > 1 || c !~ '[a-zA-Z]'
" Have we already placed a mark here in this call to ShowMarks?
if exists('mark_at'.ln)
" Already placed a mark, set the highlight to multiple
if c =~# '[a-zA-Z]' && b:ShowMarksLink{mark_at{ln}} != 'ShowMarksHLm'
let b:ShowMarksLink{mark_at{ln}} = 'ShowMarksHLm'
exe 'hi link '.s:ShowMarksDLink{mark_at{ln}}.mark_at{ln}.' '.b:ShowMarksLink{mark_at{ln}}
endif
else
if !exists('b:ShowMarksLink'.nm) || b:ShowMarksLink{nm} != s:ShowMarksDLink{nm}
let b:ShowMarksLink{nm} = s:ShowMarksDLink{nm}
exe 'hi link '.s:ShowMarksDLink{nm}.nm.' '.b:ShowMarksLink{nm}
endif
let mark_at{ln} = nm
if !exists('b:placed_'.nm) || b:placed_{nm} != ln
exe 'sign unplace '.id.' buffer='.winbufnr(0)
exe 'sign place '.id.' name=ShowMark'.nm.' line='.ln.' buffer='.winbufnr(0)
let b:placed_{nm} = ln
endif
endif
endif
156 0.000744 let n = n + 1
156 0.000306 endw
FUNCTION <SNR>130_Close()
Called 2 times
Total time: 0.004921
Self time: 0.003322
count total (s) self (s)
2 0.000091 0.000026 cal s:buffunc(0)
2 0.000456 try | bun!
2 0.000021 cat | clo! | endt
2 0.000112 0.000034 cal s:unmarksigns()
68 0.000561 for key in keys(s:glbs) | if exists('+'.key)
34 0.001659 sil! exe 'let &'.key.' = s:glb_'.key
66 0.000138 en | endfo
2 0.000025 if exists('s:glb_acd') | let &acd = s:glb_acd | en
2 0.000012 let g:ctrlp_lines = []
2 0.000030 if s:winres[1] >= &lines && s:winres[2] == winnr('$')
2 0.000035 exe s:winres[0]
2 0.000004 en
2 0.000047 unl! s:focus s:hisidx s:hstgot s:marked s:statypes s:cline s:init s:savestr s:mrbs s:did_exp
2 0.001380 0.000034 cal ctrlp#recordhist()
2 0.000087 0.000041 cal s:execextvar('exit')
2 0.000084 0.000020 cal s:log(0)
2 0.000012 let v:errmsg = s:ermsg
2 0.000075 ec
FUNCTIONS SORTED ON TOTAL TIME
count total (s) self (s) function
2 14.444251 0.000454 <SNR>130_AcceptSelection()
2 14.443130 0.001440 ctrlp#acceptfile()
2 14.374127 1.882015 <SNR>130_openfile()
2 6.516877 0.000270 <SNR>84_Detect()
2 6.515011 0.001405 <SNR>84_buffer_alter_paths()
2 6.512774 0.003938 <SNR>84_project_gems()
2 3.574276 0.001003 <SNR>44_Detect()
2 3.572511 0.000172 <SNR>44_BufInit()
2 3.572131 1.736076 RailsBufInit()
2 1.718541 0.007317 <SNR>124_BufSyntax()
11 0.718220 0.008452 <SNR>150_AutoUpdate()
2 0.698797 0.035491 <SNR>150_ProcessFile()
15 0.696594 0.223369 <SNR>130_BuildPrompt()
13 0.638737 0.000497 <SNR>130_PrtFocusMap()
13 0.638240 0.000786 <SNR>130_PrtAdd()
2 0.479255 0.001610 <SNR>150_ExecuteCtagsOnFile()
2 0.476779 0.001028 <SNR>150_ExecuteCtags()
15 0.465187 0.007858 <SNR>130_Update()
15 0.404871 0.011542 <SNR>130_Render()
325 0.378413 0.060160 <SNR>130_mixedsort()
FUNCTIONS SORTED ON SELF TIME
count total (s) self (s) function
2 14.374127 1.882015 <SNR>130_openfile()
2 3.572131 1.736076 RailsBufInit()
15 0.696594 0.223369 <SNR>130_BuildPrompt()
1227 0.188821 0.135531 <SNR>130_matchlens()
1307 0.130008 <SNR>144_PreviewCSSColorInLine()
4 0.086188 0.083655 <SNR>150_SortTags()
787 0.075003 <SNR>150_CompareByKind()
132 0.094544 0.064891 <SNR>150_ParseTagline()
325 0.378413 0.060160 <SNR>130_mixedsort()
654 0.056021 <SNR>130_getparent()
4 0.047124 0.035935 <SNR>31_LoadFTPlugin()
2 0.698797 0.035491 <SNR>150_ProcessFile()
43 0.035057 0.034083 <SNR>150_GetNearbyTag()
325 0.103034 0.031016 <SNR>130_comparent()
15 0.036323 0.028483 <SNR>130_MatchIt()
6 0.065253 0.028296 indent_guides#enable()
6 0.090570 0.024113 <SNR>37_SynSet()
216 0.023234 Pl#Match#Validate()
3 0.040774 0.021096 <SNR>78_ShowMarks()
38 0.021112 0.020363 <SNR>124_addfilecmds()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment