Files
nvim/syntax/gitsidebar.vim
T
2026-04-27 18:04:00 +02:00

45 lines
2.2 KiB
VimL

if exists("b:current_syntax")
finish
endif
syntax match gitSidebarLabel /\v^(Head|Push)\ze:/
syntax match gitSidebarBranch /\v(^(Head|Push):\s+)@<=\S+/
syntax match gitSidebarAhead /\v\+\d+/
syntax match gitSidebarBehind /\v-\d+/
syntax region gitSidebarUntrackedHeader start=/\v^Untracked>/ end=/\v^$/
syntax region gitSidebarUnstagedHeader start=/\v^Unstaged>/ end=/\v^$/
syntax region gitSidebarStagedHeader start=/\v^Staged>/ end=/\v^$/
syntax region gitSidebarUnmergedHeader start=/\v^Unmerged>/ end=/\v^$/
syntax region gitSidebarUnpushedHeader start=/\v^Unpushed>/ end=/\v^$/
syntax region gitSidebarUnpulledHeader start=/\v^Unpulled>/ end=/\v^$/
syntax match gitSidebarUntrackedLabel /\v^Untracked/ contained containedin=gitSidebarUntrackedHeader
syntax match gitSidebarUnstagedLabel /\v^Unstaged/ contained containedin=gitSidebarUnstagedHeader
syntax match gitSidebarStagedLabel /\v^Staged/ contained containedin=gitSidebarStagedHeader
syntax match gitSidebarUnmergedLabel /\v^Unmerged/ contained containedin=gitSidebarUnmergedHeader
syntax match gitSidebarUnpushedLabel /\v^Unpushed/ contained containedin=gitSidebarUnpushedHeader
syntax match gitSidebarUnpulledLabel /\v^Unpulled/ contained containedin=gitSidebarUnpulledHeader
syntax match gitSidebarHeaderCount /\v\(\zs\d+\ze\)/ contained containedin=gitSidebarUntrackedHeader,
\ gitSidebarUnstagedHeader,
\ gitSidebarStagedHeader,
\ gitSidebarUnmergedHeader,
\ gitSidebarUnpushedHeader,
\ gitSidebarUnpulledHeader
highlight default link gitSidebarLabel Label
highlight default link gitSidebarBranch None
highlight default link gitSidebarAhead GitUnpushed
highlight default link gitSidebarBehind GitUnpulled
highlight default link gitSidebarHeaderCount Number
highlight default link gitSidebarUntrackedLabel gitSidebarLabel
highlight default link gitSidebarUnstagedLabel gitSidebarLabel
highlight default link gitSidebarStagedLabel gitSidebarLabel
highlight default link gitSidebarUnmergedLabel gitSidebarLabel
highlight default link gitSidebarUnpushedLabel gitSidebarLabel
highlight default link gitSidebarUnpulledLabel gitSidebarLabel
let b:current_syntax = "gitSidebar"