diff --git a/autoload/startify.vim b/autoload/startify.vim index eaeede0..5d6aa57 100644 --- a/autoload/startify.vim +++ b/autoload/startify.vim @@ -67,9 +67,12 @@ function! startify#insane_in_the_membrane() abort setlocal norelativenumber endif - if exists('g:startify_custom_header') - call append('$', g:startify_custom_header) - endif + " Must be global so that it can be read by syntax/startify.vim. + let g:startify_header = exists('g:startify_custom_header') + \ ? copy(g:startify_custom_header) + \ : startify#fortune#get_random_quote() + let g:startify_header += [''] " add blank line + call append('$', g:startify_header) let s:tick = 0 let s:entries = {} @@ -124,10 +127,7 @@ function! startify#insane_in_the_membrane() abort " compute first line offset let s:firstline = 2 - " increase offset if there is a custom header - if exists('g:startify_custom_header') - let s:firstline += len(g:startify_custom_header) - endif + let s:firstline += len(g:startify_header) " no special, no local Session.vim, but a section header if !s:show_special && !exists('l:show_session') && type(s:lists[0]) == 3 let s:firstline += len(s:lists[0]) + 1 @@ -826,3 +826,4 @@ function! s:init_env() let s:env = sort(s:env, 's:compare_by_key_len') let s:env = sort(s:env, 's:compare_by_val_len') endfunction + diff --git a/doc/startify.txt b/doc/startify.txt index cbc8f60..0cf39b4 100644 --- a/doc/startify.txt +++ b/doc/startify.txt @@ -1,4 +1,4 @@ -*startify.txt* Showing recently used stuff like a boss. +*startify.txt* The fancy start screen. *startify* __ __ ___ /\ \__ /\ \__ __ /'___\ @@ -10,10 +10,6 @@ /\___/ \/__/ by Marco Hinz~ - - Twitter: https://twitter.com/_mhinz_ - Github: http://github.com/mhinz - IRC: mhi^ (Freenode) > If you use any of my plugins, please star them on github. It's a great way of getting feedback and gives me the kick to put more time into their @@ -424,19 +420,17 @@ NOTE: There is no sanitizing going on, so you should know what you're doing! ------------------------------------------------------------------------------ *g:startify_custom_header* > - let g:startify_custom_header = '' + let g:startify_custom_header = startify#fortune#get_random_quote() < -This is a list of single-quoted strings to be shown before everything else. -Every string will be written on its own line. +This is a list of strings to be shown before everything else. Every string +will be written on its own line, hence you can use empty strings for blank +lines. -NOTE: If a string contains ', you have to quote it with another '. - -A programmatic example: +Simple example:~ > - let g:startify_custom_header = - \ map(split(system('fortune | cowsay'), '\n'), '" ". v:val') + ['',''] + let g:startify_custom_header = ['line 1', '', 'line 3'] < -A hardcoded example: +More complex example:~ > let g:startify_custom_header = [ \ ' ________ __ __ ', @@ -446,11 +440,13 @@ A hardcoded example: \ ' \ \ \_/ |\ \ \/\ \/\ \/\ \ /'' /''__ \ \__ ,__\', \ ' \ \___/ \ \_\ \_\ \_\ \_\ /\_/ /\_\ \/_/\_\_/ ', \ ' \/__/ \/_/\/_/\/_/\/_/ \// \/_/ \/_/ ', - \ '', - \ '', \ ] < - +Programmatic example:~ +> + let g:startify_custom_header = + \ map(split(system('fortune | cowsay'), '\n'), '" ". v:val') +< Also have a look at |startify-faq-08|. ------------------------------------------------------------------------------ @@ -760,7 +756,7 @@ How to use the output of a command as header?~ redir END let g:startify_custom_header = - \ map(split(test), 'repeat(" ", 10) . v:val') + [''] + \ map(split(test), 'repeat(" ", 10) . v:val') < |:redir| puts a string into 'test'. Then we turn it into a list of strings. Then we shift each string to the right by 10 spaces. Afterwards we add an @@ -841,9 +837,6 @@ This is my configuration.. let g:startify_custom_footer = \ ['', " Vim is charityware. Please read ':help uganda'.", ''] - let g:startify_custom_header = - \ map(split(system('tips | cowsay -f apt'), '\n'), '" ". v:val') + [''] - hi StartifyBracket ctermfg=240 hi StartifyFile ctermfg=147 hi StartifyFooter ctermfg=240 diff --git a/syntax/startify.vim b/syntax/startify.vim index d3ea456..d87c49f 100644 --- a/syntax/startify.vim +++ b/syntax/startify.vim @@ -27,9 +27,7 @@ syntax match StartifyFile /.*/ contains= execute 'syntax match StartifySlash /\'. s:sep .'/' execute 'syntax match StartifyPath /\%9c.*\'. s:sep .'/ contains=StartifySlash,StartifyVar' -if exists('g:startify_custom_header') - execute 'syntax region StartifyHeader start=/\%1l/ end=/\%'. (len(g:startify_custom_header) + 2) .'l/' -endif +execute 'syntax region StartifyHeader start=/\%1l/ end=/\%'. (len(g:startify_header) + 2) .'l/' if exists('g:startify_custom_footer') execute 'syntax region StartifyFooter start=/\%'. startify#get_lastline() .'l/ end=/*/'