45 lines
2.2 KiB
VimL
45 lines
2.2 KiB
VimL
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
syntax match gitstatusLabel /\v^(Head|Push)\ze:/
|
|
syntax match gitstatusBranch /\v(^(Head|Push):\s+)@<=\S+/
|
|
syntax match gitstatusAhead /\v\+\d+/
|
|
syntax match gitstatusBehind /\v-\d+/
|
|
|
|
syntax region gitstatusUntrackedHeader start=/\v^Untracked>/ end=/\v^$/
|
|
syntax region gitstatusUnstagedHeader start=/\v^Unstaged>/ end=/\v^$/
|
|
syntax region gitstatusStagedHeader start=/\v^Staged>/ end=/\v^$/
|
|
syntax region gitstatusUnmergedHeader start=/\v^Unmerged>/ end=/\v^$/
|
|
syntax region gitstatusUnpushedHeader start=/\v^Unpushed>/ end=/\v^$/
|
|
syntax region gitstatusUnpulledHeader start=/\v^Unpulled>/ end=/\v^$/
|
|
|
|
syntax match gitstatusUntrackedLabel /\v^Untracked/ contained containedin=gitstatusUntrackedHeader
|
|
syntax match gitstatusUnstagedLabel /\v^Unstaged/ contained containedin=gitstatusUnstagedHeader
|
|
syntax match gitstatusStagedLabel /\v^Staged/ contained containedin=gitstatusStagedHeader
|
|
syntax match gitstatusUnmergedLabel /\v^Unmerged/ contained containedin=gitstatusUnmergedHeader
|
|
syntax match gitstatusUnpushedLabel /\v^Unpushed/ contained containedin=gitstatusUnpushedHeader
|
|
syntax match gitstatusUnpulledLabel /\v^Unpulled/ contained containedin=gitstatusUnpulledHeader
|
|
|
|
syntax match gitstatusHeaderCount /\v\(\zs\d+\ze\)/ contained containedin=gitstatusUntrackedHeader,
|
|
\ gitstatusUnstagedHeader,
|
|
\ gitstatusStagedHeader,
|
|
\ gitstatusUnmergedHeader,
|
|
\ gitstatusUnpushedHeader,
|
|
\ gitstatusUnpulledHeader
|
|
|
|
highlight default link gitstatusLabel Label
|
|
highlight default link gitstatusBranch None
|
|
highlight default link gitstatusAhead GitUnpushed
|
|
highlight default link gitstatusBehind GitUnpulled
|
|
highlight default link gitstatusHeaderCount Number
|
|
|
|
highlight default link gitstatusUntrackedLabel gitstatusLabel
|
|
highlight default link gitstatusUnstagedLabel gitstatusLabel
|
|
highlight default link gitstatusStagedLabel gitstatusLabel
|
|
highlight default link gitstatusUnmergedLabel gitstatusLabel
|
|
highlight default link gitstatusUnpushedLabel gitstatusLabel
|
|
highlight default link gitstatusUnpulledLabel gitstatusLabel
|
|
|
|
let b:current_syntax = "gitstatus"
|