1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-03 15:00:06 +08:00
SpaceVim/bundle/calendar.vim/autoload/calendar/event/google.vim
2022-05-28 15:29:51 +08:00

69 lines
2.2 KiB
VimL
Vendored

" =============================================================================
" Filename: autoload/calendar/event/google.vim
" Author: itchyny
" License: MIT License
" Last Change: 2017/05/23 22:01:14.
" =============================================================================
let s:save_cpo = &cpo
set cpo&vim
function! calendar#event#google#new() abort
return deepcopy(s:self)
endfunction
let s:self = {}
let s:self._key = {}
let s:self._events = {}
function! s:self.get_events_one_month(year, month, ...) dict abort
let key = a:year . '-' . a:month
if has_key(self._key, key) && has_key(self._events, key) && get(g:, 'calendar_google_event_download', 1) <= 0 && self._events[key] != {}
if a:0 && a:1
call calendar#google#calendar#getEventsInitial(a:year, a:month)
endif
return self._events[key]
endif
if has_key(self._key, key)
unlet self._key[key]
endif
if has_key(g:, 'calendar_google_event_download')
if get(g:, 'calendar_google_event_download') > 1
let g:calendar_google_event_download -= 1
endif
endif
let self._events[key] = calendar#google#calendar#getEvents(a:year, a:month, a:0 && a:1)
let self._key[key] = 1
return self._events[key]
endfunction
function! s:self.update(calendarId, eventId, title, year, month, ...) dict abort
call calendar#google#calendar#update(a:calendarId, a:eventId, a:title, a:year, a:month, a:0 ? a:1 : {})
endfunction
function! s:self.insert(calendarId, title, start, end, year, month, ...) dict abort
call calendar#google#calendar#insert(a:calendarId, a:title, a:start, a:end, a:year, a:month, a:0 ? a:1 : {})
endfunction
function! s:self.move(calendarId, eventId, destination, year, month) dict abort
call calendar#google#calendar#move(a:calendarId, a:eventId, a:destination, a:year, a:month)
endfunction
function! s:self.delete(calendarId, eventId, year, month) dict abort
call calendar#google#calendar#delete(a:calendarId, a:eventId, a:year, a:month)
endfunction
function! s:self.calendarList() dict abort
return calendar#google#calendar#getMyCalendarList()
endfunction
function! s:self.createCalendar() dict abort
endfunction
function! s:self.clear_cache() dict abort
call calendar#google#calendar#clearCache()
endfunction
let &cpo = s:save_cpo
unlet s:save_cpo