diff --git a/README.md b/README.md index 1b59233..2210446 100644 --- a/README.md +++ b/README.md @@ -40,11 +40,19 @@ The right way for a child to watch online videos is under the supervision of an So, in my view, on top of all the investment into highly complex artificial intelligence algorithms with preemptive capability, the legal battle and invested support provided by devoted associations, I wanted to have more control over what my son was watching. So the approach I took was to create something that would catalog his usage, summarize and flag suspicious activity. Something that could make my job of supervisor a little easier. And that was the incentive behind Tube n' kids. -[![iOS parent area](/assets/Tnk_detail.png)](https://itunes.apple.com/us/app/tube-n-kids/id1143617624?mt=8) -*Parental area in the iOS app* +

+ + + +

+

Parental area in the iOS app

-[![Web parent area](/assets/Tnk_detail_2.png)](https://www.tubenkids.com) -*Parental area in the web app* +

+ + + +

+

Parental area in the web app

It is not a silver bullet. It does not stop bad content from showing up. It does not make it OK to handle and iPad to the kids and let them watch videos alone all day. It does not remove from the parents the responsibility of supervising their kids. It helps them do it. @@ -54,8 +62,12 @@ And, of course, everything is for naught if the child is actively looking for th And that was another thing I put in Tube n' kids. I can search for channels that I know he likes, and I can add them to his list of suggestions. I can browse his history and find the subject he is interested in - like Minecraft and Beyblade, recently - and try to find good channels about those. There were times this strategy didn't work, like with a few amazing zoo channels I found and he dismissed without giving them a second look. Still, it is another way to put inspiring content in front of him. -[![What the child views](/assets/Tnk_child_view.png)](https://www.tubenkids.com) -*Child area* +

+ + + +

+

Child area

At some point he may find something that is not appropriated to him. Probably he won't even understand it, and close it right away. This is where Tnk comes in handy by allowing me to block the video, or the entire channel for that matter, which means that it will not appear for my son, even if he looks for it. diff --git a/assets/Tnk_main.png b/assets/Tnk_main.png deleted file mode 100644 index 0b7cac3..0000000 Binary files a/assets/Tnk_main.png and /dev/null differ diff --git a/profile.log b/profile.log index 17ae3cc..7c7ab56 100644 --- a/profile.log +++ b/profile.log @@ -1,40 +1,23 @@ FUNCTION ale#Var() Defined: ~/.vim/bundle/ale/autoload/ale.vim line 179 Called 1 time -Total time: 0.000019 - Self time: 0.000019 +Total time: 0.000021 + Self time: 0.000021 count total (s) self (s) - 1 0.000005 let l:full_name = 'ale_' . a:variable_name + 1 0.000006 let l:full_name = 'ale_' . a:variable_name 1 0.000008 let l:vars = getbufvar(str2nr(a:buffer), '', {}) 1 0.000005 return get(l:vars, l:full_name, g:[l:full_name]) -FUNCTION 58_OnDeleteChar() - Defined: ~/.vim/bundle/YouCompleteMe/autoload/youcompleteme.vim line 670 -Called 2 times -Total time: 0.000176 - Self time: 0.000038 - -count total (s) self (s) - 2 0.000172 0.000034 if !s:AllowedToCompleteInCurrentBuffer() - 2 0.000002 return a:key - endif - - call timer_stop( s:pollers.completion.id ) - if pumvisible() - return "\" . a:key - endif - return a:key - FUNCTION 58_OnInsertLeave() Defined: ~/.vim/bundle/YouCompleteMe/autoload/youcompleteme.vim line 748 Called 1 time -Total time: 0.000090 - Self time: 0.000019 +Total time: 0.000094 + Self time: 0.000020 count total (s) self (s) - 1 0.000089 0.000018 if !s:AllowedToCompleteInCurrentBuffer() + 1 0.000093 0.000019 if !s:AllowedToCompleteInCurrentBuffer() 1 0.000001 return endif @@ -50,18 +33,18 @@ count total (s) self (s) FUNCTION fugitive#Head() Defined: ~/.vim/bundle/vim-fugitive/autoload/fugitive.vim line 324 -Called 28 times -Total time: 0.003488 - Self time: 0.003115 +Called 38 times +Total time: 0.004077 + Self time: 0.003602 count total (s) self (s) - 28 0.000614 0.000241 let dir = a:0 > 1 ? a:2 : s:Dir() - 28 0.001142 if empty(dir) || !filereadable(dir . '/HEAD') + 38 0.000770 0.000295 let dir = a:0 > 1 ? a:2 : s:Dir() + 38 0.001320 if empty(dir) || !filereadable(dir . '/HEAD') return '' - 28 0.000014 endif - 28 0.000715 let head = readfile(dir . '/HEAD')[0] - 28 0.000310 if head =~# '^ref: ' - 28 0.000577 return substitute(head, '\C^ref: \%(refs/\%(heads/\|remotes/\|tags/\)\=\)\=', '', '') + 38 0.000021 endif + 38 0.000824 let head = readfile(dir . '/HEAD')[0] + 38 0.000364 if head =~# '^ref: ' + 38 0.000693 return substitute(head, '\C^ref: \%(refs/\%(heads/\|remotes/\|tags/\)\=\)\=', '', '') elseif head =~# '^\x\{40\}$' let len = a:0 ? a:1 : 0 return len < 0 ? head : len ? head[0:len-1] : '' @@ -69,61 +52,48 @@ count total (s) self (s) return '' endif -FUNCTION 58_OnTextChangedNormalMode() - Defined: ~/.vim/bundle/YouCompleteMe/autoload/youcompleteme.vim line 702 -Called 1 time -Total time: 0.000076 - Self time: 0.000019 - -count total (s) self (s) - 1 0.000074 0.000017 if !s:AllowedToCompleteInCurrentBuffer() - 1 0.000001 return - endif - - call s:OnFileReadyToParse() - FUNCTION ActiveStatus() Defined: ~/.vimrc line 241 -Called 14 times -Total time: 0.000888 - Self time: 0.000888 +Called 19 times +Total time: 0.000844 + Self time: 0.000844 count total (s) self (s) - 14 0.000058 let statusline="" - 14 0.000057 let statusline.="%1*" - 14 0.000049 let statusline.="\ %{ModeName(mode())}\ " - 14 0.000026 let statusline.="%2*" - 14 0.000030 let statusline.="%{mode()=='i'||mode()=='v'?'':''}" - 14 0.000032 let statusline.="%3*" - 14 0.000049 let statusline.="\ %{fugitive#head()!=''?'\ '.fugitive#head().'\ ':'\ -\ '}" - 14 0.000019 let statusline.="%4*" - 14 0.000025 let statusline.="%{mode()=='i'||mode()=='v'?'':''}" - 14 0.000014 let statusline.="%5*" - 14 0.000044 let statusline.="\ [%n/%{len(filter(range(1,bufnr('$')),'buflisted(v:val)'))}]" - 14 0.000077 let statusline.="\ %{pathshorten(expand('%:f'))}\ %m\ " - 14 0.000028 let statusline.="%{&readonly?'\ \ ':''}" - 14 0.000022 let statusline.="%=" - 14 0.000026 let statusline.="\ %{''!=#&filetype?&filetype:'none'}\ " - 14 0.000020 let statusline.="%4*" - 14 0.000026 let statusline.="%{mode()=='i'||mode()=='v'?'':''}" - 14 0.000034 let statusline.="%3*" - 14 0.000043 let statusline.="\ %{&ff=='mac'?'CR':&ff=='unix'?'LF':'CRLF'} %vC|%l/%LL\ " " Column number | Row number / total lines - 14 0.000023 let statusline.="%2*" - 14 0.000036 let statusline.="%{mode()=='i'||mode()=='v'?'':''}" - 14 0.000024 let statusline.="%1*" - 14 0.000030 let statusline.="\ %{strftime('%a %b-%d %H:%M')}\ " " Date time clock updated on key presses + 19 0.000052 let statusline="" + 19 0.000041 let statusline.="%1*" + 19 0.000030 let statusline.="\ %{ModeName(mode())}\ " + 19 0.000022 let statusline.="%2*" + 19 0.000043 let statusline.="%{mode()=='i'||mode()=='v'?'':''}" + 19 0.000021 let statusline.="%3*" + 19 0.000048 let statusline.="\ %{fugitive#head()!=''?'\ '.fugitive#head().'\ ':'\ -\ '}" + 19 0.000028 let statusline.="%4*" + 19 0.000035 let statusline.="%{mode()=='i'||mode()=='v'?'':''}" + 19 0.000021 let statusline.="%5*" + 19 0.000033 let statusline.="\ [%n/%{len(filter(range(1,bufnr('$')),'buflisted(v:val)'))}]" + 19 0.000032 let statusline.="\ %{pathshorten(expand('%:f'))}\ %m\ " + 19 0.000033 let statusline.="%{&readonly?'\ \ ':''}" + 19 0.000022 let statusline.="%=" + 19 0.000030 let statusline.="\ %{''!=#&filetype?&filetype:'none'}\ " + 19 0.000020 let statusline.="%4*" + 19 0.000031 let statusline.="%{mode()=='i'||mode()=='v'?'':''}" + 19 0.000033 let statusline.="%3*" + 19 0.000033 let statusline.="\ %{&ff=='mac'?'CR':&ff=='unix'?'LF':'CRLF'} %vC|%l/%LL\ " " Column number | Row number / total lines + 19 0.000023 let statusline.="%2*" + 19 0.000030 let statusline.="%{mode()=='i'||mode()=='v'?'':''}" + 19 0.000022 let statusline.="%1*" + 19 0.000030 let statusline.="\ %{strftime('%a %b-%d %H:%M')}\ " " Date time clock updated on key presses - 14 0.000024 return statusline + 19 0.000028 return statusline FUNCTION 58_DisableOnLargeFile() Defined: ~/.vim/bundle/YouCompleteMe/autoload/youcompleteme.vim line 418 -Called 26 times -Total time: 0.000130 - Self time: 0.000130 +Called 21 times +Total time: 0.000095 + Self time: 0.000095 count total (s) self (s) - 26 0.000079 if exists( 'b:ycm_largefile' ) - 26 0.000026 return b:ycm_largefile + 21 0.000062 if exists( 'b:ycm_largefile' ) + 21 0.000021 return b:ycm_largefile endif let threshold = g:ycm_disable_for_files_larger_than_kb * 1024 @@ -136,12 +106,12 @@ count total (s) self (s) FUNCTION 58_OnTextChangedInsertMode() Defined: ~/.vim/bundle/YouCompleteMe/autoload/youcompleteme.vim line 711 Called 2 times -Total time: 0.000502 - Self time: 0.000069 +Total time: 0.000178 + Self time: 0.000040 count total (s) self (s) - 2 0.000491 0.000058 if !s:AllowedToCompleteInCurrentBuffer() - 2 0.000003 return + 2 0.000176 0.000038 if !s:AllowedToCompleteInCurrentBuffer() + 2 0.000001 return endif if s:completion_stopped @@ -173,47 +143,47 @@ count total (s) self (s) FUNCTION 32_Highlight_Matching_Pair() Defined: /usr/local/Cellar/vim/8.1.1850/share/vim/vim81/plugin/matchparen.vim line 39 -Called 6 times -Total time: 0.000998 - Self time: 0.000998 +Called 5 times +Total time: 0.000380 + Self time: 0.000380 count total (s) self (s) " Remove any previous match. - 6 0.000067 if exists('w:paren_hl_on') && w:paren_hl_on + 5 0.000017 if exists('w:paren_hl_on') && w:paren_hl_on silent! call matchdelete(3) let w:paren_hl_on = 0 - 6 0.000011 endif + 5 0.000002 endif " Avoid that we remove the popup menu. " Return when there are no colors (looks like the cursor jumps). - 6 0.000039 if pumvisible() || (&t_Co < 8 && !has("gui_running")) + 5 0.000017 if pumvisible() || (&t_Co < 8 && !has("gui_running")) return - 6 0.000005 endif + 5 0.000004 endif " Get the character under the cursor and check if it's in 'matchpairs'. - 6 0.000030 let c_lnum = line('.') - 6 0.000033 let c_col = col('.') - 6 0.000019 let before = 0 + 5 0.000012 let c_lnum = line('.') + 5 0.000010 let c_col = col('.') + 5 0.000004 let before = 0 - 6 0.000028 let text = getline(c_lnum) - 6 0.000126 let matches = matchlist(text, '\(.\)\=\%'.c_col.'c\(.\=\)') - 6 0.000017 if empty(matches) + 5 0.000010 let text = getline(c_lnum) + 5 0.000076 let matches = matchlist(text, '\(.\)\=\%'.c_col.'c\(.\=\)') + 5 0.000007 if empty(matches) let [c_before, c] = ['', ''] - 6 0.000006 else - 6 0.000060 let [c_before, c] = matches[1:2] - 6 0.000009 endif - 6 0.000225 let plist = split(&matchpairs, '.\zs[:,]') - 6 0.000032 let i = index(plist, c) - 6 0.000011 if i < 0 + 5 0.000002 else + 5 0.000016 let [c_before, c] = matches[1:2] + 5 0.000002 endif + 5 0.000083 let plist = split(&matchpairs, '.\zs[:,]') + 5 0.000013 let i = index(plist, c) + 5 0.000005 if i < 0 " not found, in Insert mode try character before the cursor - 6 0.000023 if c_col > 1 && (mode() == 'i' || mode() == 'R') - let before = strlen(c_before) - let c = c_before - let i = index(plist, c) - 6 0.000008 endif - 6 0.000008 if i < 0 + 5 0.000013 if c_col > 1 && (mode() == 'i' || mode() == 'R') + 2 0.000004 let before = strlen(c_before) + 2 0.000002 let c = c_before + 2 0.000004 let i = index(plist, c) + 5 0.000003 endif + 5 0.000003 if i < 0 " not found, nothing to do - 6 0.000007 return + 5 0.000002 return endif endif @@ -335,27 +305,27 @@ count total (s) self (s) FUNCTION ale#Queue() Defined: ~/.vim/bundle/ale/autoload/ale.vim line 122 -Called 2 times -Total time: 0.000073 - Self time: 0.000060 +Called 1 time +Total time: 0.000050 + Self time: 0.000042 count total (s) self (s) - 2 0.000002 if a:0 > 2 + 1 0.000001 if a:0 > 2 throw 'too many arguments!' - 2 0.000002 endif + 1 0.000001 endif - 2 0.000006 let l:buffer = get(a:000, 1, v:null) + 1 0.000003 let l:buffer = get(a:000, 1, v:null) - 2 0.000003 if l:buffer is v:null - 2 0.000004 let l:buffer = bufnr('') - 2 0.000002 endif + 1 0.000002 if l:buffer is v:null + 1 0.000002 let l:buffer = bufnr('') + 1 0.000000 endif - 2 0.000004 if type(l:buffer) isnot v:t_number + 1 0.000002 if type(l:buffer) isnot v:t_number throw 'buffer_number must be a Number' - 2 0.000001 endif + 1 0.000001 endif - 2 0.000041 0.000028 if ale#ShouldDoNothing(l:buffer) - 2 0.000001 return + 1 0.000029 0.000021 if ale#ShouldDoNothing(l:buffer) + 1 0.000001 return endif " Default linting_flag to '' @@ -374,41 +344,126 @@ count total (s) self (s) FUNCTION 58_AllowedToCompleteInBuffer() Defined: ~/.vim/bundle/YouCompleteMe/autoload/youcompleteme.vim line 435 -Called 26 times -Total time: 0.001600 - Self time: 0.001470 +Called 21 times +Total time: 0.001111 + Self time: 0.001016 count total (s) self (s) - 26 0.000172 let buftype = getbufvar( a:buffer, '&buftype' ) + 21 0.000118 let buftype = getbufvar( a:buffer, '&buftype' ) - 26 0.000098 if has_key( s:buftype_blacklist, buftype ) + 21 0.000051 if has_key( s:buftype_blacklist, buftype ) return 0 - 26 0.000008 endif + 21 0.000013 endif - 26 0.000093 let filetype = getbufvar( a:buffer, '&filetype' ) + 21 0.000058 let filetype = getbufvar( a:buffer, '&filetype' ) - 26 0.000544 0.000414 if empty( filetype ) || s:DisableOnLargeFile( a:buffer ) + 21 0.000392 0.000297 if empty( filetype ) || s:DisableOnLargeFile( a:buffer ) return 0 - 26 0.000011 endif + 21 0.000005 endif - 26 0.000222 let whitelist_allows = type( g:ycm_filetype_whitelist ) != type( {} ) || has_key( g:ycm_filetype_whitelist, '*' ) || has_key( g:ycm_filetype_whitelist, filetype ) - 26 0.000133 let blacklist_allows = type( g:ycm_filetype_blacklist ) != type( {} ) || !has_key( g:ycm_filetype_blacklist, filetype ) + 21 0.000149 let whitelist_allows = type( g:ycm_filetype_whitelist ) != type( {} ) || has_key( g:ycm_filetype_whitelist, '*' ) || has_key( g:ycm_filetype_whitelist, filetype ) + 21 0.000104 let blacklist_allows = type( g:ycm_filetype_blacklist ) != type( {} ) || !has_key( g:ycm_filetype_blacklist, filetype ) - 26 0.000048 let allowed = whitelist_allows && blacklist_allows - 26 0.000019 if allowed + 21 0.000034 let allowed = whitelist_allows && blacklist_allows + 21 0.000015 if allowed let s:previous_allowed_buffer_number = bufnr( a:buffer ) - 26 0.000011 endif - 26 0.000021 return allowed + 21 0.000009 endif + 21 0.000012 return allowed + +FUNCTION fugitive#head() + Defined: ~/.vim/bundle/vim-fugitive/autoload/fugitive.vim line 4595 +Called 38 times +Total time: 0.005470 + Self time: 0.000814 + +count total (s) self (s) + 38 0.000937 0.000358 if empty(s:Dir()) + return '' + 38 0.000025 endif + + 38 0.004452 0.000375 return fugitive#Head(a:0 ? a:1 : 0) + +FUNCTION MarkdownFold() + Defined: /usr/local/Cellar/vim/8.1.1850/share/vim/vim81/ftplugin/markdown.vim line 22 +Called 1962 times +Total time: 9.375625 + Self time: 9.375625 + +count total (s) self (s) + 1962 0.003422 let line = getline(v:lnum) + + " Regular headers + 1962 9.175347 let depth = match(line, '\(^#\+\)\@<=\( .*$\)\@=') + 1962 0.002006 if depth > 0 + 18 0.000028 return ">" . depth + 1944 0.000922 endif + + " Setext style headings + 1944 0.004781 let nextline = getline(v:lnum + 1) + 1944 0.090001 if (line =~ '^.\+$') && (nextline =~ '^=\+$') + return ">1" + 1944 0.000728 endif + + 1944 0.087685 if (line =~ '^.\+$') && (nextline =~ '^-\+$') + return ">2" + 1944 0.000646 endif + + 1944 0.001203 return "=" + +FUNCTION ModeName() + Defined: ~/.vimrc line 217 +Called 19 times +Total time: 0.063672 + Self time: 0.063672 + +count total (s) self (s) + 19 0.000044 if a:mode == 'i' + 4 0.000004 return 'I' + 15 0.000027 elseif a:mode == 'v' + hi User1 ctermbg=202 ctermfg=blue + hi User2 ctermbg=215 ctermfg=202 + hi User3 ctermbg=215 ctermfg=white + hi User4 ctermbg=none ctermfg=215 + hi User5 ctermbg=none ctermfg=202 + redrawstatus + return 'V' + 15 0.000007 else + 15 0.000081 hi User1 ctermbg=none ctermfg=33 + 15 0.000028 hi User2 ctermbg=none ctermfg=33 + 15 0.000028 hi User3 ctermbg=none ctermfg=33 + 15 0.000027 hi User4 ctermbg=none ctermfg=33 + 15 0.000026 hi User5 ctermbg=none ctermfg=232 + 15 0.063262 redrawstatus + 15 0.000016 return 'N' + endif + +FUNCTION UpdateStatusBar() + Defined: ~/.vimrc line 273 +Called 7 times +Total time: 0.000170 + Self time: 0.000170 + +count total (s) self (s) + 7 0.000157 execute 'let &ro = &ro' + +FUNCTION 58_AllowedToCompleteInCurrentBuffer() + Defined: ~/.vim/bundle/YouCompleteMe/autoload/youcompleteme.vim line 462 +Called 21 times +Total time: 0.001452 + Self time: 0.000341 + +count total (s) self (s) + 21 0.001443 0.000332 return s:AllowedToCompleteInBuffer( '%' ) FUNCTION FugitiveGitDir() Defined: ~/.vim/bundle/vim-fugitive/plugin/fugitive.vim line 11 -Called 56 times -Total time: 0.000226 - Self time: 0.000226 +Called 76 times +Total time: 0.000312 + Self time: 0.000312 count total (s) self (s) - 56 0.000063 if !a:0 || a:1 ==# -1 - 56 0.000136 return get(b:, 'git_dir', '') + 76 0.000080 if !a:0 || a:1 ==# -1 + 76 0.000199 return get(b:, 'git_dir', '') elseif type(a:1) == type(0) return getbufvar(a:1, 'git_dir') elseif type(a:1) == type('') @@ -417,99 +472,14 @@ count total (s) self (s) return '' endif -FUNCTION fugitive#head() - Defined: ~/.vim/bundle/vim-fugitive/autoload/fugitive.vim line 4595 -Called 28 times -Total time: 0.004604 - Self time: 0.000649 - -count total (s) self (s) - 28 0.000728 0.000261 if empty(s:Dir()) - return '' - 28 0.000020 endif - - 28 0.003791 0.000303 return fugitive#Head(a:0 ? a:1 : 0) - -FUNCTION MarkdownFold() - Defined: /usr/local/Cellar/vim/8.1.1850/share/vim/vim81/ftplugin/markdown.vim line 22 -Called 2274 times -Total time: 10.911360 - Self time: 10.911360 - -count total (s) self (s) - 2274 0.004165 let line = getline(v:lnum) - - " Regular headers - 2274 10.679628 let depth = match(line, '\(^#\+\)\@<=\( .*$\)\@=') - 2274 0.002726 if depth > 0 - 23 0.000036 return ">" . depth - 2251 0.001131 endif - - " Setext style headings - 2251 0.006384 let nextline = getline(v:lnum + 1) - 2251 0.103738 if (line =~ '^.\+$') && (nextline =~ '^=\+$') - return ">1" - 2251 0.000877 endif - - 2251 0.099692 if (line =~ '^.\+$') && (nextline =~ '^-\+$') - return ">2" - 2251 0.000826 endif - - 2251 0.001376 return "=" - -FUNCTION ModeName() - Defined: ~/.vimrc line 217 -Called 14 times -Total time: 0.053255 - Self time: 0.053255 - -count total (s) self (s) - 14 0.000040 if a:mode == 'i' - 5 0.000005 return 'I' - 9 0.000011 elseif a:mode == 'v' - hi User1 ctermbg=202 ctermfg=blue - hi User2 ctermbg=215 ctermfg=202 - hi User3 ctermbg=215 ctermfg=white - hi User4 ctermbg=none ctermfg=215 - hi User5 ctermbg=none ctermfg=202 - redrawstatus - return 'V' - 9 0.000005 else - 9 0.000057 hi User1 ctermbg=none ctermfg=33 - 9 0.000058 hi User2 ctermbg=none ctermfg=33 - 9 0.000015 hi User3 ctermbg=none ctermfg=33 - 9 0.000013 hi User4 ctermbg=none ctermfg=33 - 9 0.000015 hi User5 ctermbg=none ctermfg=232 - 9 0.052936 redrawstatus - 9 0.000012 return 'N' - endif - -FUNCTION UpdateStatusBar() - Defined: ~/.vimrc line 273 -Called 6 times -Total time: 0.000140 - Self time: 0.000140 - -count total (s) self (s) - 6 0.000131 execute 'let &ro = &ro' - -FUNCTION 58_AllowedToCompleteInCurrentBuffer() - Defined: ~/.vim/bundle/YouCompleteMe/autoload/youcompleteme.vim line 462 -Called 26 times -Total time: 0.002052 - Self time: 0.000452 - -count total (s) self (s) - 26 0.002038 0.000438 return s:AllowedToCompleteInBuffer( '%' ) - FUNCTION 58_OnCursorMovedNormalMode() Defined: ~/.vim/bundle/YouCompleteMe/autoload/youcompleteme.vim line 693 Called 1 time -Total time: 0.000079 - Self time: 0.000018 +Total time: 0.000083 + Self time: 0.000019 count total (s) self (s) - 1 0.000078 0.000017 if !s:AllowedToCompleteInCurrentBuffer() + 1 0.000082 0.000018 if !s:AllowedToCompleteInCurrentBuffer() 1 0.000001 return endif @@ -517,13 +487,13 @@ count total (s) self (s) FUNCTION 58_OnInsertChar() Defined: ~/.vim/bundle/YouCompleteMe/autoload/youcompleteme.vim line 660 -Called 19 times -Total time: 0.001638 - Self time: 0.000346 +Called 17 times +Total time: 0.001501 + Self time: 0.000325 count total (s) self (s) - 19 0.001608 0.000316 if !s:AllowedToCompleteInCurrentBuffer() - 19 0.000016 return + 17 0.001480 0.000304 if !s:AllowedToCompleteInCurrentBuffer() + 17 0.000006 return endif call timer_stop( s:pollers.completion.id ) @@ -540,29 +510,29 @@ count total (s) self (s) 1 0.000007 hi User1 ctermbg=37 ctermfg=black 1 0.000002 hi User2 ctermbg=44 ctermfg=37 1 0.000002 hi User3 ctermbg=44 ctermfg=white - 1 0.000002 hi User4 ctermbg=none ctermfg=44 - 1 0.000002 hi User5 ctermbg=none ctermfg=51 + 1 0.000001 hi User4 ctermbg=none ctermfg=44 + 1 0.000001 hi User5 ctermbg=none ctermfg=51 elseif a:mode == 'r' hi User5 ctermbg=none ctermfg=240 elseif a:mode == 'v' hi User5 ctermbg=none ctermfg=240 else hi User5 ctermbg=Red ctermfg=240 - 1 0.000000 endif + 1 0.000001 endif FUNCTION ale#ShouldDoNothing() Defined: ~/.vim/bundle/ale/autoload/ale.vim line 25 -Called 2 times -Total time: 0.000013 - Self time: 0.000013 +Called 1 time +Total time: 0.000008 + Self time: 0.000008 count total (s) self (s) " The checks are split into separate if statements to make it possible to " profile each check individually with Vim's profiling tools. " " Do nothing if ALE is disabled. - 2 0.000008 if !getbufvar(a:buffer, 'ale_enabled', get(g:, 'ale_enabled', 0)) - 2 0.000002 return 1 + 1 0.000004 if !getbufvar(a:buffer, 'ale_enabled', get(g:, 'ale_enabled', 0)) + 1 0.000000 return 1 endif " Don't perform any checks when newer NeoVim versions are exiting. @@ -623,56 +593,56 @@ count total (s) self (s) FUNCTION 55_Dir() Defined: ~/.vim/bundle/vim-fugitive/autoload/fugitive.vim line 225 -Called 56 times -Total time: 0.000840 - Self time: 0.000614 +Called 76 times +Total time: 0.001054 + Self time: 0.000742 count total (s) self (s) - 56 0.000825 0.000599 return a:0 ? FugitiveGitDir(a:1) : FugitiveGitDir() + 76 0.001031 0.000719 return a:0 ? FugitiveGitDir(a:1) : FugitiveGitDir() FUNCTIONS SORTED ON TOTAL TIME count total (s) self (s) function - 2274 10.911360 MarkdownFold() - 14 0.053255 ModeName() - 28 0.004604 0.000649 fugitive#head() - 28 0.003488 0.003115 fugitive#Head() - 26 0.002052 0.000452 58_AllowedToCompleteInCurrentBuffer() - 19 0.001638 0.000346 58_OnInsertChar() - 26 0.001600 0.001470 58_AllowedToCompleteInBuffer() - 6 0.000998 32_Highlight_Matching_Pair() - 14 0.000888 ActiveStatus() - 56 0.000840 0.000614 55_Dir() - 2 0.000502 0.000069 58_OnTextChangedInsertMode() - 56 0.000226 FugitiveGitDir() - 2 0.000176 0.000038 58_OnDeleteChar() - 6 0.000140 UpdateStatusBar() - 26 0.000130 58_DisableOnLargeFile() - 1 0.000090 0.000019 58_OnInsertLeave() - 1 0.000079 0.000018 58_OnCursorMovedNormalMode() - 1 0.000076 0.000019 58_OnTextChangedNormalMode() - 2 0.000073 0.000060 ale#Queue() + 1962 9.375625 MarkdownFold() + 19 0.063672 ModeName() + 38 0.005470 0.000814 fugitive#head() + 38 0.004077 0.003602 fugitive#Head() + 17 0.001501 0.000325 58_OnInsertChar() + 21 0.001452 0.000341 58_AllowedToCompleteInCurrentBuffer() + 21 0.001111 0.001016 58_AllowedToCompleteInBuffer() + 76 0.001054 0.000742 55_Dir() + 19 0.000844 ActiveStatus() + 5 0.000380 32_Highlight_Matching_Pair() + 76 0.000312 FugitiveGitDir() + 2 0.000178 0.000040 58_OnTextChangedInsertMode() + 7 0.000170 UpdateStatusBar() + 21 0.000095 58_DisableOnLargeFile() + 1 0.000094 0.000020 58_OnInsertLeave() + 1 0.000083 0.000019 58_OnCursorMovedNormalMode() + 1 0.000050 0.000042 ale#Queue() 1 0.000022 InsertStatuslineColor() + 1 0.000021 ale#Var() + 1 0.000008 ale#ShouldDoNothing() FUNCTIONS SORTED ON SELF TIME count total (s) self (s) function - 2274 10.911360 MarkdownFold() - 14 0.053255 ModeName() - 28 0.003488 0.003115 fugitive#Head() - 26 0.001600 0.001470 58_AllowedToCompleteInBuffer() - 6 0.000998 32_Highlight_Matching_Pair() - 14 0.000888 ActiveStatus() - 28 0.004604 0.000649 fugitive#head() - 56 0.000840 0.000614 55_Dir() - 26 0.002052 0.000452 58_AllowedToCompleteInCurrentBuffer() - 19 0.001638 0.000346 58_OnInsertChar() - 56 0.000226 FugitiveGitDir() - 6 0.000140 UpdateStatusBar() - 26 0.000130 58_DisableOnLargeFile() - 2 0.000502 0.000069 58_OnTextChangedInsertMode() - 2 0.000073 0.000060 ale#Queue() - 2 0.000176 0.000038 58_OnDeleteChar() + 1962 9.375625 MarkdownFold() + 19 0.063672 ModeName() + 38 0.004077 0.003602 fugitive#Head() + 21 0.001111 0.001016 58_AllowedToCompleteInBuffer() + 19 0.000844 ActiveStatus() + 38 0.005470 0.000814 fugitive#head() + 76 0.001054 0.000742 55_Dir() + 5 0.000380 32_Highlight_Matching_Pair() + 21 0.001452 0.000341 58_AllowedToCompleteInCurrentBuffer() + 17 0.001501 0.000325 58_OnInsertChar() + 76 0.000312 FugitiveGitDir() + 7 0.000170 UpdateStatusBar() + 21 0.000095 58_DisableOnLargeFile() + 1 0.000050 0.000042 ale#Queue() + 2 0.000178 0.000040 58_OnTextChangedInsertMode() 1 0.000022 InsertStatuslineColor() - 1 0.000076 0.000019 58_OnTextChangedNormalMode() - 1 0.000090 0.000019 58_OnInsertLeave() - 1 0.000019 ale#Var() + 1 0.000021 ale#Var() + 1 0.000094 0.000020 58_OnInsertLeave() + 1 0.000083 0.000019 58_OnCursorMovedNormalMode() + 1 0.000008 ale#ShouldDoNothing()