mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 06:00:05 +08:00
104 lines
5.2 KiB
VimL
104 lines
5.2 KiB
VimL
" =============================================================================
|
|
" Filename: syntax/calendar.vim
|
|
" Author: itchyny
|
|
" License: MIT License
|
|
" Last Change: 2019/07/30 22:38:01.
|
|
" =============================================================================
|
|
|
|
if version < 700
|
|
syntax clear
|
|
elseif exists('b:current_syntax')
|
|
finish
|
|
endif
|
|
|
|
let s:save_cpo = &cpo
|
|
set cpo&vim
|
|
|
|
let s:is_gui = has('gui_running') || (has('termguicolors') && &termguicolors)
|
|
let s:fg_color = calendar#color#normal_fg_color()
|
|
let s:bg_color = calendar#color#normal_bg_color()
|
|
let s:comment_fg_color = calendar#color#comment_fg_color()
|
|
let s:select_color = calendar#color#gen_color(s:fg_color, s:bg_color, 1, 4)
|
|
let s:space_fg_color = calendar#color#gen_color(s:fg_color, s:bg_color, 0, 1)
|
|
let s:space_bg_color = calendar#color#gen_color(s:fg_color, s:bg_color, 1, 0)
|
|
let s:is_win32cui = has('win32') && !s:is_gui
|
|
let s:is_dark = calendar#color#is_dark()
|
|
|
|
if !s:is_gui
|
|
if s:is_win32cui
|
|
if s:is_dark
|
|
let s:select_color = 8
|
|
let s:today_color = 10
|
|
let s:today_fg_color = 0
|
|
let s:othermonth_fg_color = 8
|
|
else
|
|
let s:select_color = 7
|
|
let s:today_color = 2
|
|
let s:today_fg_color = 15
|
|
let s:othermonth_fg_color = 7
|
|
endif
|
|
let s:weekday_color = 8
|
|
let s:weekday_fg_color = 0
|
|
let s:sunday_bg_color = 12
|
|
let s:saturday_bg_color = 9
|
|
let s:sunday_fg_color = 0
|
|
let s:saturday_fg_color = 0
|
|
let s:sunday_title_fg_color = s:sunday_fg_color
|
|
let s:saturday_title_fg_color = s:saturday_fg_color
|
|
elseif s:is_dark
|
|
let s:sunday_bg_color = calendar#color#select_rgb(s:fg_color, 0, 5)
|
|
let s:saturday_bg_color = calendar#color#select_rgb(s:fg_color, 2, 5)
|
|
let s:sunday_fg_color = calendar#color#gen_color(s:sunday_bg_color, s:bg_color, 1, 7)
|
|
let s:saturday_fg_color = calendar#color#gen_color(s:saturday_bg_color, s:bg_color, 1, 7)
|
|
let s:today_color = calendar#color#select_rgb(s:fg_color, 1, 5)
|
|
let s:today_fg_color = calendar#color#gen_color(s:today_color, s:bg_color, 1, 5)
|
|
else
|
|
let s:sunday_fg_color = calendar#color#select_rgb(s:bg_color, 0, 6)
|
|
let s:saturday_fg_color = calendar#color#select_rgb(s:bg_color, 2, 6)
|
|
let s:sunday_bg_color = calendar#color#gen_color(s:sunday_fg_color, s:bg_color, 1, 4)
|
|
let s:saturday_bg_color = calendar#color#gen_color(s:saturday_fg_color, s:bg_color, 1, 4)
|
|
let s:today_fg_color = calendar#color#gen_color(calendar#color#select_rgb(s:fg_color, 1, 6), s:fg_color, 4, 3)
|
|
let s:today_color = calendar#color#gen_color(s:today_fg_color, s:bg_color, 1, 3)
|
|
endif
|
|
else
|
|
let s:sunday_fg_color = calendar#color#select_rgb(s:is_dark ? s:fg_color : s:bg_color, 1)
|
|
let s:saturday_fg_color = calendar#color#select_rgb(s:is_dark ? s:fg_color : s:bg_color, 4)
|
|
let s:sunday_bg_color = calendar#color#gen_color(s:sunday_fg_color, s:is_dark ? s:fg_color : s:bg_color, 1, 3)
|
|
let s:saturday_bg_color = calendar#color#gen_color(s:saturday_fg_color, s:is_dark ? s:fg_color : s:bg_color, 1, 3)
|
|
let s:today_fg_color = calendar#color#gen_color(calendar#color#select_rgb(s:is_dark ? s:fg_color : s:bg_color, 2), s:is_dark ? s:bg_color : s:fg_color, 4, 3)
|
|
let s:today_color = calendar#color#gen_color(s:today_fg_color, s:is_dark ? s:fg_color : s:bg_color, 1, 3)
|
|
endif
|
|
if !s:is_win32cui
|
|
let s:weekday_color = calendar#color#gen_color(s:fg_color, s:bg_color, 1, 5)
|
|
let s:weekday_fg_color = calendar#color#gen_color(s:fg_color, s:bg_color, 3, 2)
|
|
let s:othermonth_fg_color = calendar#color#gen_color(s:fg_color, s:bg_color, 3, 4)
|
|
let s:sunday_title_fg_color = calendar#color#gen_color(s:sunday_fg_color, s:sunday_bg_color, 3, 1)
|
|
let s:saturday_title_fg_color = calendar#color#gen_color(s:saturday_fg_color, s:saturday_bg_color, 3, 1)
|
|
endif
|
|
|
|
call calendar#color#syntax('Select', '', s:select_color, '')
|
|
call calendar#color#syntax('Sunday', s:sunday_fg_color, s:sunday_bg_color, '')
|
|
call calendar#color#syntax('Saturday', s:saturday_fg_color, s:saturday_bg_color, '')
|
|
call calendar#color#syntax('TodaySunday', s:sunday_fg_color, s:sunday_bg_color, 'bold')
|
|
call calendar#color#syntax('TodaySaturday', s:saturday_fg_color, s:saturday_bg_color, 'bold')
|
|
call calendar#color#syntax('Today', s:today_fg_color, s:today_color, 'bold')
|
|
call calendar#color#syntax('DayTitle', s:weekday_fg_color, s:weekday_color, '')
|
|
call calendar#color#syntax('SundayTitle', s:sunday_title_fg_color, s:sunday_bg_color, '')
|
|
call calendar#color#syntax('SaturdayTitle', s:saturday_title_fg_color, s:saturday_bg_color, '')
|
|
call calendar#color#syntax('OtherMonth', s:othermonth_fg_color, '', '')
|
|
call calendar#color#syntax('OtherMonthSelect', s:othermonth_fg_color, s:select_color, '')
|
|
call calendar#color#syntax('NormalSpace', s:space_fg_color, s:space_bg_color, '')
|
|
call calendar#color#syntax('CommentSelect', s:comment_fg_color, s:select_color, '')
|
|
|
|
highlight link CalendarComment Comment
|
|
|
|
unlet! s:fg_color s:bg_color s:comment_fg_color s:select_color s:space_fg_color s:space_bg_color s:is_win32cui s:is_dark
|
|
\ s:today_color s:today_fg_color s:othermonth_fg_color s:weekday_color s:weekday_fg_color
|
|
\ s:sunday_bg_color s:sunday_fg_color s:sunday_title_fg_color
|
|
\ s:saturday_bg_color s:saturday_fg_color s:saturday_title_fg_color
|
|
|
|
let b:current_syntax = 'calendar'
|
|
|
|
let &cpo = s:save_cpo
|
|
unlet s:save_cpo
|