summaryrefslogtreecommitdiffstats
path: root/syntax/icalendar.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2020-05-28 11:12:25 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2020-05-28 11:12:25 +0200
commitf0f49cf0fa8bbcb7f84e3ffe699a934142498b14 (patch)
treeba8ed8905a9f23c7d26de6da1b0592aa32ea9018 /syntax/icalendar.vim
parent224a6348f99167c9d72b5922686d388ae872ff7e (diff)
downloadvim-polyglot-f0f49cf0fa8bbcb7f84e3ffe699a934142498b14.tar.gz
vim-polyglot-f0f49cf0fa8bbcb7f84e3ffe699a934142498b14.zip
Add support for ics, closes #492
Diffstat (limited to 'syntax/icalendar.vim')
-rw-r--r--syntax/icalendar.vim59
1 files changed, 59 insertions, 0 deletions
diff --git a/syntax/icalendar.vim b/syntax/icalendar.vim
new file mode 100644
index 00000000..ca8179fe
--- /dev/null
+++ b/syntax/icalendar.vim
@@ -0,0 +1,59 @@
+if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'icalenadr') == -1
+
+" Vim syntax file
+" Language: icalendar <http://www.ietf.org/rfc/rfc2445.txt>
+" Maintainer: Steven N. Severinghaus <sns@severinghaus.org>
+" Last Modified: 2006-04-17
+" Version: 0.3
+
+" Quit if syntax file is already loaded
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+command! -nargs=+ IcalHiLink hi def link <args>
+
+syntax case ignore
+setlocal iskeyword+=-
+
+syn match icalObject "^\(BEGIN\|END\)"
+syn match icalObjectType ":\(VCALENDAR\|VEVENT\|VTODO\|VJOURNAL\|VFREEBUSY\|VTIMEZONE\|VALARM\)$"
+syn match icalObjectType ":\(DAYLIGHT\|STANDARD\)$"
+syn match icalProperty "^\(DTSTART\|PRODID\|VERSION\|CALSCALE\|METHOD\)"
+syn match icalProperty "^\(DTEND\|DTSTAMP\|ORGANIZER\|UID\|CLASS\|CREATED\)"
+syn match icalProperty "^\(LOCATION\|SEQUENCE\|STATUS\|SUMMARY\|COMMENT\)"
+syn match icalProperty "^\(TRANSP\|ATTENDEE\|ATTACH\|FREEBUSY\|METHOD\|CONTACT\)"
+syn match icalProperty "^\(DURATION\|RRULE\|EXDATE\|EXRULE\|URL\|DESCRIPTION\|ACTION\)"
+syn match icalProperty "^\(LAST-MODIFIED\|RECURRENCE-ID\|TRIGGER\|RELATED-TO\|RDATE\)"
+syn match icalProperty "^\(TZID\|TZOFFSETFROM\|TZOFFSETTO\|TZNAME\|TZURL\)"
+syn match icalProperty "^\(PRIORITY\|DUE\|COMPLETED\|PERCENT-COMPLETE\|CATEGORIES\)"
+syn match icalProperty "^\(RESOURCES\|REPEAT\|REQUEST-STATUS\)"
+syn match icalCustom /^X-[A-Z-]\+/
+syn match icalDate "\<\d\{8}\>"
+syn match icalDate "[0-9]\{8}T[0-9]\{6}Z\="
+syn match icalParameter "[A-Z0-9-]\+=[^;:]\+"
+syn keyword icalSetValue CONFIRMED TENTATIVE CANCELLED DELEGATED OPAQUE
+syn keyword icalSetValue NEEDS-ACTION ACCEPTED DECLINED IN-PROGRESS
+syn keyword icalSetValue PRIVATE PUBLIC PUBLISH GREGORIAN DISPLAY
+syn match icalSetValue /:COMPLETED$/
+
+" Types: PreProc Keyword Type String Comment Special
+IcalHiLink icalProperty PreProc
+IcalHiLink icalObject Label
+IcalHiLink icalObjectType Type
+IcalHiLink icalDate String
+IcalHiLink icalParameter Comment
+IcalHiLink icalSetValue Special
+IcalHiLink icalCustom Error
+
+delcommand IcalHiLink
+
+let b:current_syntax = "icalendar"
+
+"EOF vim: tw=78:ft=vim:ts=8
+
+
+
+endif