Add 'vundlelog' filetype + settings/highlighting

This commit is contained in:
Chip Hogg 2015-08-06 14:53:04 -04:00
parent 9723e59e6e
commit 0d330dbeed
3 changed files with 52 additions and 0 deletions

View File

@ -124,6 +124,7 @@ func! s:view_changelog()
setl buftype=nofile
setl noswapfile
setl ro noma
setfiletype vundlelog
wincmd P | wincmd H
endf

15
ftplugin/vundlelog.vim Normal file
View File

@ -0,0 +1,15 @@
" ---------------------------------------------------------------------------
" Standard ftplugin boilerplate; see ':help ftplugin'.
" ---------------------------------------------------------------------------
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
" ---------------------------------------------------------------------------
" Settings for the Vundle update log buffer.
" ---------------------------------------------------------------------------
setlocal textwidth=0
setlocal nowrap
setlocal noswapfile

36
syntax/vundlelog.vim Normal file
View File

@ -0,0 +1,36 @@
" ---------------------------------------------------------------------------
" Syntax highlighting for the line which identifies the plugin.
" ---------------------------------------------------------------------------
syntax match VundlePluginName '\v(^Updated Plugin: )@<=.*$'
highlight link VundlePluginName Keyword
" ---------------------------------------------------------------------------
" Syntax highlighting for the 'compare at' line of each plugin.
" ---------------------------------------------------------------------------
syntax region VundleCompareLine start='\v^Compare at: https:' end='\v\n'
\ contains=VundleCompareUrl
syntax match VundleCompareUrl '\vhttps:\S+'
highlight link VundleCompareLine Comment
highlight link VundleCompareUrl Underlined
" ---------------------------------------------------------------------------
" Syntax highlighting for individual commits.
" ---------------------------------------------------------------------------
" The main commit line.
" Note that this regex is intimately related to the one for VundleCommitTree,
" and the two should be changed in sync.
syntax match VundleCommitLine '\v(^ [|*]( *[\\|/\*])* )@<=[^*|].*$'
\ contains=VundleCommitMerge,VundleCommitUser,VundleCommitTime
highlight link VundleCommitLine String
" Sub-regions inside the commit message.
syntax match VundleCommitMerge '\v Merge pull request #\d+.*'
syntax match VundleCommitUser '\v( )@<=\S+( \S+)*(, \d+ \w+ ago$)@='
syntax match VundleCommitTime '\v(, )@<=\d+ \w+ ago$'
highlight link VundleCommitMerge Ignore
highlight link VundleCommitUser Identifier
highlight link VundleCommitTime Comment
" The git history DAG markers are outside of the main commit line region.
" Note that this regex is intimately related to the one for VundleCommitLine,
" and the two should be changed in sync.
syntax match VundleCommitTree '\v(^ )@<=[|*]( *[\\|/\*])*'
highlight link VundleCommitTree Label