Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding another Vundle Log filetype + settings/highlighting #683

Closed
wants to merge 1 commit into from
Closed
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
3 changes: 2 additions & 1 deletion autoload/vundle/scripts.vim
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ func! s:view_log()
setl buftype=nofile
setl noswapfile
setl ro noma
setfiletype vundlelog

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

wincmd P | wincmd H
endf
Expand Down
15 changes: 15 additions & 0 deletions ftplugin/vundlechangelog.vim
Original file line number Diff line number Diff line change
@@ -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
3 changes: 1 addition & 2 deletions ftplugin/vundlelog.vim
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ let b:did_ftplugin = 1


" ---------------------------------------------------------------------------
" Settings for the Vundle update log buffer.
" Settings for the Vundle log buffer.
" ---------------------------------------------------------------------------
setlocal textwidth=0
setlocal nowrap
setlocal noswapfile
36 changes: 36 additions & 0 deletions syntax/vundlechangelog.vim
Original file line number Diff line number Diff line change
@@ -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
58 changes: 32 additions & 26 deletions syntax/vundlelog.vim
Original file line number Diff line number Diff line change
@@ -1,36 +1,42 @@
" ---------------------------------------------------------------------------
" Syntax highlighting for the line which identifies the plugin.
" ---------------------------------------------------------------------------
syntax match VundlePluginName '\v(^Updated Plugin: )@<=.*$'
syntax match VundlePluginName '\v\C(Plugin )@<=\S+/\S+(\s|$)'
highlight link VundlePluginName Keyword

" ---------------------------------------------------------------------------
" Syntax highlighting for the 'compare at' line of each plugin.
" Syntax highlighting for diffs on 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 match VundleGitAddition '\v(\|\s*\d+ )@<=\++'
highlight VundleGitAddition guifg=darkgreen guibg=NONE gui=bold
\ ctermfg=darkgreen ctermbg=NONE cterm=bold

syntax match VundleGitDeletion '\v(\|\s*\d+ \+*)@<=-+'
highlight VundleGitDeletion guifg=red guibg=NONE gui=bold ctermfg=red
\ ctermbg=NONE cterm=bold

" ---------------------------------------------------------------------------
" Syntax highlighting for individual commits.
" Syntax highlighting for log-specific features
" ---------------------------------------------------------------------------
" 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
syntax match VundleCaret '\V >'
highlight link VundleCaret Label

" Make path to tags file stand out
syntax match VundleTagPath '\v\C(:helptags )@<=/\S+$'
highlight link VundleTagPath Comment

" Make URL stand out
syntax match VundleCompareUrl '\v\Chttps:\S+'
highlight link VundleCompareUrl Underlined

" Make errors (from git) stand out
syntax match VundleError '\v\C( \> )@<=fatal:.*$'
highlight link VundleError Error

" Make git messages stand out
syntax match VundleGitMsg '\v\C( \> )@<=git:.*$'
highlight link VundleGitMsg Type

" De-emphasize the time stamp
syntax match VundleTimeStamp '\m^\[\d\{4}-\d\{2}-\d\{2} \d\{2}:\d\{2}:\d\{2}]'
highlight link VundleTimeStamp String