" 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 "[0-9].......T[0-9].....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