Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions autoload/startify.vim
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@ function! startify#insane_in_the_membrane(on_vimenter) abort
setlocal statusline=\ startify
endif

let s:padding_left = startify#get_padding()
let s:fixed_column = len(s:padding_left) + 2

" Must be global so that it can be read by syntax/startify.vim.
let g:startify_header = exists('g:startify_custom_header')
\ ? s:set_custom_section(g:startify_custom_header)
Expand Down Expand Up @@ -429,6 +432,13 @@ function! startify#open_buffers(...) abort
endif
endfunction

" Function: #get_padding {{{1
function! startify#get_padding() abort
return repeat(' ', exists('g:startify_center')
\ ? winwidth('%')/2 - g:startify_center/2
\ : get(g:, 'startify_padding_left', 3))
endfunction

" Function: #pad {{{1
function! startify#pad(lines) abort
return map(copy(a:lines), 's:padding_left . v:val')
Expand Down
6 changes: 3 additions & 3 deletions syntax/startify.vim
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ if exists("b:current_syntax")
endif

let s:sep = startify#get_separator()
let s:padding_left = repeat(' ', get(g:, 'startify_padding_left', 3))
let s:pad = startify#get_padding()

syntax sync fromstart

execute 'syntax match StartifyBracket /.*\%'. (len(s:padding_left) + 6) .'c/ contains=
execute 'syntax match StartifyBracket /.*\%'. (len(s:pad) + 6) .'c/ contains=
\ StartifyNumber,
\ StartifySelect'
syntax match StartifySpecial /\V<empty buffer>\|<quit>/
Expand All @@ -26,7 +26,7 @@ syntax match StartifyFile /.*/ contains=
\ StartifySpecial,

execute 'syntax match StartifySlash /\'. s:sep .'/'
execute 'syntax match StartifyPath /\%'. (len(s:padding_left) + 6) .'c.*\'. s:sep .'/ contains=StartifySlash,StartifyVar'
execute 'syntax match StartifyPath /\%'. (len(s:pad) + 6) .'c.*\'. s:sep .'/ contains=StartifySlash,StartifyVar'

execute 'syntax region StartifyHeader start=/\%1l/ end=/\%'. (len(g:startify_header) + 2) .'l/'

Expand Down