/jEdit/tags/jedit-4-5-pre1/modes/ical.xml

# · XML · 204 lines · 153 code · 31 blank · 20 comment · 0 complexity · f787f556ed677e4c0c203e12ce301532 MD5 · raw file

  1. <?xml version="1.0"?>
  2. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  3. <!-- iCalendar mode by Victor Engmark <victor.engmark@gmail.com> -->
  4. <MODE>
  5. <PROPS>
  6. <PROPERTY NAME="lineComment" VALUE="COMMENT"/>
  7. <PROPERTY NAME="wordBreakChars" VALUE=",;:=+/?^*&amp;"/>
  8. <!-- Indentation -->
  9. <PROPERTY NAME="maxLineLen" VALUE="75"/>
  10. <PROPERTY NAME="wrap" VALUE="hard"/>
  11. <PROPERTY NAME="indentSize" VALUE="1"/>
  12. <!-- Use single space instead of tabs -->
  13. <PROPERTY NAME="noTabs" VALUE="1"/>
  14. <PROPERTY NAME="tabSize" VALUE="1"/>
  15. </PROPS>
  16. <!-- General rules -->
  17. <RULES IGNORE_CASE="FALSE">
  18. <SPAN AT_LINE_START="TRUE" DELEGATE="VCALENDAR" NO_LINE_BREAK="FALSE" MATCH_TYPE="KEYWORD1">
  19. <BEGIN>BEGIN:VCALENDAR</BEGIN>
  20. <END>END:VCALENDAR</END>
  21. </SPAN>
  22. </RULES>
  23. <!-- Entire calendar -->
  24. <RULES SET="VCALENDAR" IGNORE_CASE="FALSE">
  25. <!-- Time zone settings -->
  26. <SPAN AT_LINE_START="TRUE" DELEGATE="VTIMEZONE" NO_LINE_BREAK="FALSE" MATCH_TYPE="KEYWORD1">
  27. <BEGIN>BEGIN:VTIMEZONE</BEGIN>
  28. <END>END:VTIMEZONE</END>
  29. </SPAN>
  30. <!-- Event -->
  31. <SPAN AT_LINE_START="TRUE" DELEGATE="VEVENT" NO_LINE_BREAK="FALSE" MATCH_TYPE="KEYWORD1">
  32. <BEGIN>BEGIN:VEVENT</BEGIN>
  33. <END>END:VEVENT</END>
  34. </SPAN>
  35. <!-- TODO (treated like event for now) -->
  36. <SPAN AT_LINE_START="TRUE" DELEGATE="VEVENT" NO_LINE_BREAK="FALSE" MATCH_TYPE="KEYWORD1">
  37. <BEGIN>BEGIN:VTODO</BEGIN>
  38. <END>END:VTODO</END>
  39. </SPAN>
  40. <!-- Journal (treated like event for now) -->
  41. <SPAN AT_LINE_START="TRUE" DELEGATE="VEVENT" NO_LINE_BREAK="FALSE" MATCH_TYPE="KEYWORD1">
  42. <BEGIN>BEGIN:VJOURNAL</BEGIN>
  43. <END>END:VJOURNAL</END>
  44. </SPAN>
  45. <KEYWORDS>
  46. <KEYWORD2>CALSCALE</KEYWORD2>
  47. <LITERAL2>GREGORIAN</LITERAL2>
  48. <KEYWORD2>METHOD</KEYWORD2>
  49. <KEYWORD2>PRODID</KEYWORD2>
  50. <KEYWORD2>VERSION</KEYWORD2>
  51. <LITERAL2>2.0</LITERAL2>
  52. </KEYWORDS>
  53. </RULES>
  54. <!-- Time zone settings -->
  55. <RULES SET="VTIMEZONE" IGNORE_CASE="FALSE">
  56. <!-- Daylight savings settings -->
  57. <SPAN AT_LINE_START="TRUE" DELEGATE="DAYLIGHT" NO_LINE_BREAK="FALSE" MATCH_TYPE="KEYWORD1">
  58. <BEGIN>BEGIN:DAYLIGHT</BEGIN>
  59. <END>END:DAYLIGHT</END>
  60. </SPAN>
  61. <!-- Time zone standard settings -->
  62. <SPAN AT_LINE_START="TRUE" DELEGATE="STANDARD" NO_LINE_BREAK="FALSE" MATCH_TYPE="KEYWORD1">
  63. <BEGIN>BEGIN:STANDARD</BEGIN>
  64. <END>END:STANDARD</END>
  65. </SPAN>
  66. <IMPORT DELEGATE="CUSTOM_KEYWORDS"/>
  67. <KEYWORDS>
  68. <KEYWORD2>TZID</KEYWORD2>
  69. </KEYWORDS>
  70. </RULES>
  71. <!-- Daylight savings settings -->
  72. <RULES SET="DAYLIGHT" IGNORE_CASE="FALSE">
  73. <IMPORT DELEGATE="VCALENDAR_KEYWORDS"/>
  74. <IMPORT DELEGATE="VTIMEZONE_KEYWORDS"/>
  75. </RULES>
  76. <!-- Time zone standard settings -->
  77. <RULES SET="STANDARD" IGNORE_CASE="FALSE">
  78. <IMPORT DELEGATE="VCALENDAR_KEYWORDS"/>
  79. <IMPORT DELEGATE="VTIMEZONE_KEYWORDS"/>
  80. </RULES>
  81. <!-- Event -->
  82. <RULES SET="VEVENT" IGNORE_CASE="FALSE">
  83. <!-- Alarm -->
  84. <SPAN AT_LINE_START="TRUE" DELEGATE="VALARM" NO_LINE_BREAK="FALSE" MATCH_TYPE="KEYWORD1">
  85. <BEGIN>BEGIN:VALARM</BEGIN>
  86. <END>END:VALARM</END>
  87. </SPAN>
  88. <IMPORT DELEGATE="VCALENDAR_KEYWORDS"/>
  89. <IMPORT DELEGATE="CUSTOM_KEYWORDS"/>
  90. <IMPORT DELEGATE="VEVENT_KEYWORDS"/>
  91. <KEYWORDS>
  92. <KEYWORD2>ATTENDEE</KEYWORD2>
  93. <KEYWORD2>CATEGORIES</KEYWORD2>
  94. <KEYWORD2>CLASS</KEYWORD2>
  95. <LITERAL2>CONFIDENTIAL</LITERAL2>
  96. <LITERAL2>PRIVATE</LITERAL2>
  97. <LITERAL2>PUBLIC</LITERAL2>
  98. <KEYWORD2>COMPLETED</KEYWORD2>
  99. <KEYWORD2>CREATED</KEYWORD2>
  100. <KEYWORD2>DESCRIPTION</KEYWORD2>
  101. <KEYWORD2>DTEND</KEYWORD2>
  102. <KEYWORD2>DTSTAMP</KEYWORD2>
  103. <KEYWORD2>DTSTART</KEYWORD2>
  104. <KEYWORD2>DUE</KEYWORD2>
  105. <KEYWORD2>LAST-MODIFIED</KEYWORD2>
  106. <KEYWORD2>LOCATION</KEYWORD2>
  107. <KEYWORD2>PERCENT-COMPLETE</KEYWORD2>
  108. <KEYWORD2>PRIORITY</KEYWORD2>
  109. <KEYWORD2>RECURRENCE-ID</KEYWORD2>
  110. <KEYWORD3>RSVP</KEYWORD3>
  111. <LITERAL3>FALSE</LITERAL3>
  112. <LITERAL3>TRUE</LITERAL3>
  113. <KEYWORD2>SEQUENCE</KEYWORD2>
  114. <KEYWORD2>STATUS</KEYWORD2>
  115. <KEYWORD2>SUMMARY</KEYWORD2>
  116. <KEYWORD2>TRANSP</KEYWORD2>
  117. <LITERAL2>OPAQUE</LITERAL2>
  118. <LITERAL2>TRANSPARENT</LITERAL2>
  119. <KEYWORD2>UID</KEYWORD2>
  120. <KEYWORD2>URL</KEYWORD2>
  121. <KEYWORD3>TZID</KEYWORD3>
  122. </KEYWORDS>
  123. </RULES>
  124. <!-- Alarm -->
  125. <RULES SET="VALARM" IGNORE_CASE="FALSE">
  126. <IMPORT DELEGATE="RIGHT"/>
  127. <IMPORT DELEGATE="CUSTOM_KEYWORDS"/>
  128. <IMPORT DELEGATE="VEVENT_KEYWORDS"/>
  129. <KEYWORDS>
  130. <KEYWORD2>ACTION</KEYWORD2>
  131. <KEYWORD2>DESCRIPTION</KEYWORD2>
  132. <KEYWORD2>TRIGGER</KEYWORD2>
  133. </KEYWORDS>
  134. </RULES>
  135. <!-- Colon + right side text -->
  136. <RULES SET="RIGHT" IGNORE_CASE="FALSE">
  137. <EOL_SPAN AT_LINE_START="FALSE" MATCH_TYPE="OPERATOR" DELEGATE="RIGHT_TEXT">:</EOL_SPAN>
  138. </RULES>
  139. <!-- Right side of the colon -->
  140. <RULES SET="RIGHT_TEXT" IGNORE_CASE="FALSE" DEFAULT="LITERAL4">
  141. </RULES>
  142. <RULES SET="VCALENDAR_KEYWORDS" IGNORE_CASE="FALSE">
  143. <KEYWORDS>
  144. <KEYWORD2>RRULE</KEYWORD2>
  145. <KEYWORD4>BYDAY</KEYWORD4>
  146. <KEYWORD4>BYMONTH</KEYWORD4>
  147. <KEYWORD4>FREQ</KEYWORD4>
  148. <KEYWORD4>INTERVAL</KEYWORD4>
  149. <LITERAL4>YEARLY</LITERAL4>
  150. </KEYWORDS>
  151. </RULES>
  152. <RULES SET="VTIMEZONE_KEYWORDS" IGNORE_CASE="FALSE">
  153. <KEYWORDS>
  154. <KEYWORD2>DTSTART</KEYWORD2>
  155. <KEYWORD2>TZNAME</KEYWORD2>
  156. <KEYWORD2>TZOFFSETFROM</KEYWORD2>
  157. <KEYWORD2>TZOFFSETTO</KEYWORD2>
  158. </KEYWORDS>
  159. </RULES>
  160. <RULES SET="VEVENT_KEYWORDS" IGNORE_CASE="FALSE">
  161. <KEYWORDS>
  162. <LITERAL2>CONFIRMED</LITERAL2>
  163. <LITERAL2>PRIVATE</LITERAL2>
  164. <KEYWORD3>VALUE</KEYWORD3>
  165. <LITERAL3>DATE</LITERAL3>
  166. <LITERAL3>DURATION</LITERAL3>
  167. </KEYWORDS>
  168. </RULES>
  169. <!-- Custom keywords -->
  170. <RULES SET="CUSTOM_KEYWORDS" IGNORE_CASE="FALSE">
  171. <SEQ_REGEXP HASH_CHAR="X" AT_LINE_START="TRUE" TYPE="INVALID">X-[A-Za-z-]+</SEQ_REGEXP>
  172. </RULES>
  173. </MODE>