dtml.vim 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. " DTML syntax file
  2. " Language: Zope's Dynamic Template Markup Language
  3. " Maintainer: Jean Jordaan <jean@upfrontsystems.co.za> (njj)
  4. " Last change: 2001 Sep 02
  5. " These are used with Claudio Fleiner's html.vim in the standard distribution.
  6. "
  7. " Still very hackish. The 'dtml attributes' and 'dtml methods' have been
  8. " hacked out of the Zope Quick Reference in case someone finds something
  9. " sensible to do with them. I certainly haven't.
  10. " quit when a syntax file was already loaded
  11. if exists("b:current_syntax")
  12. finish
  13. endif
  14. " First load the HTML syntax
  15. runtime! syntax/html.vim
  16. syn case match
  17. " This doesn't have any effect. Does it need to be moved to above/
  18. " if !exists("main_syntax")
  19. " let main_syntax = 'dtml'
  20. " endif
  21. " dtml attributes
  22. syn keyword dtmlAttribute ac_inherited_permissions access_debug_info contained
  23. syn keyword dtmlAttribute acquiredRolesAreUsedBy all_meta_types assume_children AUTH_TYPE contained
  24. syn keyword dtmlAttribute AUTHENTICATED_USER AUTHENTICATION_PATH BASE0 batch-end-index batch-size contained
  25. syn keyword dtmlAttribute batch-start-index bobobase_modification_time boundary branches contained
  26. syn keyword dtmlAttribute branches_expr capitalize cb_dataItems cb_dataValid cb_isCopyable contained
  27. syn keyword dtmlAttribute cb_isMoveable changeClassId classDefinedAndInheritedPermissions contained
  28. syn keyword dtmlAttribute classDefinedPermissions classInheritedPermissions collapse-all column contained
  29. syn keyword dtmlAttribute connected connectionIsValid CONTENT_LENGTH CONTENT_TYPE cook cookies contained
  30. syn keyword dtmlAttribute COPY count- createInObjectManager da_has_single_argument dav__allprop contained
  31. syn keyword dtmlAttribute dav__init dav__propnames dav__propstat dav__validate default contained
  32. syn keyword dtmlAttribute delClassAttr DELETE Destination DestinationURL digits discard contained
  33. syn keyword dtmlAttribute disposition document_src e encode enter etc expand-all expr File contained
  34. syn keyword dtmlAttribute filtered_manage_options filtered_meta_types first- fmt footer form contained
  35. syn keyword dtmlAttribute GATEWAY_INTERFACE get_local_roles get_local_roles_for_userid contained
  36. syn keyword dtmlAttribute get_request_var_or_attr get_size get_size get_valid_userids getAttribute contained
  37. syn keyword dtmlAttribute getAttributeNode getAttributes getChildNodes getClassAttr getContentType contained
  38. syn keyword dtmlAttribute getData getDocType getDocumentElement getElementsByTagName getFirstChild contained
  39. syn keyword dtmlAttribute getImplementation getLastChild getLength getName getNextSibling contained
  40. syn keyword dtmlAttribute getNodeName getNodeType getNodeValue getOwnerDocument getParentNode contained
  41. syn keyword dtmlAttribute getPreviousSibling getProperty getPropertyType getSize getSize getSize contained
  42. syn keyword dtmlAttribute get_size getTagName getUser getUserName getUserNames getUsers contained
  43. syn keyword dtmlAttribute has_local_roles hasChildNodes hasProperty HEAD header hexdigits HTML contained
  44. syn keyword dtmlAttribute html_quote HTMLFile id index_html index_objects indexes contained
  45. syn keyword dtmlAttribute inheritedAttribute items last- leave leave_another leaves letters LOCK contained
  46. syn keyword dtmlAttribute locked_in_version lower lowercase mailfrom mailhost mailhost_list mailto contained
  47. syn keyword dtmlAttribute manage manage_ methods manage_access manage_acquiredPermissions contained
  48. syn keyword dtmlAttribute manage_addConferaTopic manage_addDocument manage_addDTMLDocument contained
  49. syn keyword dtmlAttribute manage_addDTMLMethod manage_addFile manage_addFolder manage_addImage contained
  50. syn keyword dtmlAttribute manage_addLocalRoles manage_addMailHost manage_addPermission contained
  51. syn keyword dtmlAttribute manage_addPrincipiaFactory manage_addProduct manage_addProperty contained
  52. syn keyword dtmlAttribute manage_addUserFolder manage_addZClass manage_addZGadflyConnection contained
  53. syn keyword dtmlAttribute manage_addZGadflyConnectionForm manage_advanced manage_afterAdd contained
  54. syn keyword dtmlAttribute manage_afterClone manage_beforeDelete manage_changePermissions contained
  55. syn keyword dtmlAttribute manage_changeProperties manage_clone manage_CopyContainerFirstItem contained
  56. syn keyword dtmlAttribute manage_copyObjects manage_cutObjects manage_defined_roles contained
  57. syn keyword dtmlAttribute manage_delLocalRoles manage_delObjects manage_delProperties contained
  58. syn keyword dtmlAttribute manage_distribute manage_edit manage_editedDialog manage_editProperties contained
  59. syn keyword dtmlAttribute manage_editRoles manage_exportObject manage_FTPget manage_FTPlist contained
  60. syn keyword dtmlAttribute manage_FTPstat manage_get_product_readme__ manage_getPermissionMapping contained
  61. syn keyword dtmlAttribute manage_haveProxy manage_help manage_importObject manage_listLocalRoles contained
  62. syn keyword dtmlAttribute manage_options manage_pasteObjects manage_permission contained
  63. syn keyword dtmlAttribute manage_propertiesForm manage_proxy manage_renameObject manage_role contained
  64. syn keyword dtmlAttribute manage_setLocalRoles manage_setPermissionMapping contained
  65. syn keyword dtmlAttribute manage_subclassableClassNames manage_test manage_testForm contained
  66. syn keyword dtmlAttribute manage_undo_transactions manage_upload manage_users manage_workspace contained
  67. syn keyword dtmlAttribute management_interface mapping math max- mean- median- meta_type min- contained
  68. syn keyword dtmlAttribute MKCOL modified_in_version MOVE multiple name navigate_filter new_version contained
  69. syn keyword dtmlAttribute newline_to_br next next-batches next-sequence next-sequence-end-index contained
  70. syn keyword dtmlAttribute next-sequence-size next-sequence-start-index no manage_access None contained
  71. syn keyword dtmlAttribute nonempty normalize nowrap null Object Manager objectIds objectItems contained
  72. syn keyword dtmlAttribute objectMap objectValues octdigits only optional OPTIONS orphan overlap contained
  73. syn keyword dtmlAttribute PARENTS PATH_INFO PATH_TRANSLATED permission_settings contained
  74. syn keyword dtmlAttribute permissionMappingPossibleValues permissionsOfRole pi port contained
  75. syn keyword dtmlAttribute possible_permissions previous previous-batches previous-sequence contained
  76. syn keyword dtmlAttribute previous-sequence-end-index previous-sequence-size contained
  77. syn keyword dtmlAttribute previous-sequence-start-index PrincipiaFind PrincipiaSearchSource contained
  78. syn keyword dtmlAttribute propdict propertyIds propertyItems propertyLabel propertyMap propertyMap contained
  79. syn keyword dtmlAttribute propertyValues PROPFIND PROPPATCH PUT query_day query_month QUERY_STRING contained
  80. syn keyword dtmlAttribute query_year quoted_input quoted_report raise_standardErrorMessage random contained
  81. syn keyword dtmlAttribute read read_raw REMOTE_ADDR REMOTE_HOST REMOTE_IDENT REMOTE_USER REQUEST contained
  82. syn keyword dtmlAttribute REQUESTED_METHOD required RESPONSE reverse rolesOfPermission save schema contained
  83. syn keyword dtmlAttribute SCRIPT_NAME sequence-end sequence-even sequence-index contained
  84. syn keyword dtmlAttribute sequence-index-var- sequence-item sequence-key sequence-Letter contained
  85. syn keyword dtmlAttribute sequence-letter sequence-number sequence-odd sequence-query contained
  86. syn keyword dtmlAttribute sequence-roman sequence-Roman sequence-start sequence-step-end-index contained
  87. syn keyword dtmlAttribute sequence-step-size sequence-step-start-index sequence-var- SERVER_NAME contained
  88. syn keyword dtmlAttribute SERVER_PORT SERVER_PROTOCOL SERVER_SOFTWARE setClassAttr setName single contained
  89. syn keyword dtmlAttribute size skip_unauthorized smtphost sort spacify sql_quote SQLConnectionIDs contained
  90. syn keyword dtmlAttribute standard-deviation- standard-deviation-n- standard_html_footer contained
  91. syn keyword dtmlAttribute standard_html_header start String string subject SubTemplate superValues contained
  92. syn keyword dtmlAttribute tabs_path_info tag test_url_ text_content this thousands_commas title contained
  93. syn keyword dtmlAttribute title_and_id title_or_id total- tpURL tpValues TRACE translate tree-c contained
  94. syn keyword dtmlAttribute tree-colspan tree-e tree-item-expanded tree-item-url tree-level contained
  95. syn keyword dtmlAttribute tree-root-url tree-s tree-state type undoable_transactions UNLOCK contained
  96. syn keyword dtmlAttribute update_data upper uppercase url url_quote URLn user_names contained
  97. syn keyword dtmlAttribute userdefined_roles valid_property_id valid_roles validate_roles contained
  98. syn keyword dtmlAttribute validClipData validRoles values variance- variance-n- view_image_or_file contained
  99. syn keyword dtmlAttribute where whitespace whrandom xml_namespace zclass_candidate_view_actions contained
  100. syn keyword dtmlAttribute ZClassBaseClassNames ziconImage ZopeFind ZQueryIds contained
  101. syn keyword dtmlMethod abs absolute_url ac_inherited_permissions aCommon contained
  102. syn keyword dtmlMethod aCommonZ acos acquiredRolesAreUsedBy aDay addPropertySheet aMonth AMPM contained
  103. syn keyword dtmlMethod ampm AMPMMinutes appendChild appendData appendHeader asin atan atan2 contained
  104. syn keyword dtmlMethod atof atoi betavariate capatilize capwords catalog_object ceil center contained
  105. syn keyword dtmlMethod choice chr cloneNode COPY cos cosh count createInObjectManager contained
  106. syn keyword dtmlMethod createSQLInput cunifvariate Date DateTime Day day dayOfYear dd default contained
  107. syn keyword dtmlMethod DELETE deleteData delPropertySheet divmod document_id document_title dow contained
  108. syn keyword dtmlMethod earliestTime enter equalTo exp expireCookie expovariate fabs fCommon contained
  109. syn keyword dtmlMethod fCommonZ filtered_manage_options filtered_meta_types find float floor contained
  110. syn keyword dtmlMethod fmod frexp gamma gauss get get_local_roles_for_userid get_size getattr contained
  111. syn keyword dtmlMethod getAttribute getAttributeNode getClassAttr getDomains contained
  112. syn keyword dtmlMethod getElementsByTagName getHeader getitem getNamedItem getobject contained
  113. syn keyword dtmlMethod getObjectsInfo getpath getProperty getRoles getStatus getUser contained
  114. syn keyword dtmlMethod getUserName greaterThan greaterThanEqualTo h_12 h_24 has_key contained
  115. syn keyword dtmlMethod has_permission has_role hasattr hasFeature hash hasProperty HEAD hex contained
  116. syn keyword dtmlMethod hour hypot index index_html inheritedAttribute insertBefore insertData contained
  117. syn keyword dtmlMethod int isCurrentDay isCurrentHour isCurrentMinute isCurrentMonth contained
  118. syn keyword dtmlMethod isCurrentYear isFuture isLeadYear isPast item join latestTime ldexp contained
  119. syn keyword dtmlMethod leave leave_another len lessThan lessThanEqualTo ljust log log10 contained
  120. syn keyword dtmlMethod lognormvariate lower lstrip maketrans manage manage_access contained
  121. syn keyword dtmlMethod manage_acquiredPermissions manage_addColumn manage_addDocument contained
  122. syn keyword dtmlMethod manage_addDTMLDocument manage_addDTMLMethod manage_addFile contained
  123. syn keyword dtmlMethod manage_addFolder manage_addImage manage_addIndex manage_addLocalRoles contained
  124. syn keyword dtmlMethod manage_addMailHost manage_addPermission manage_addPrincipiaFactory contained
  125. syn keyword dtmlMethod manage_addProduct manage_addProperty manage_addPropertySheet contained
  126. syn keyword dtmlMethod manage_addUserFolder manage_addZCatalog manage_addZClass contained
  127. syn keyword dtmlMethod manage_addZGadflyConnection manage_addZGadflyConnectionForm contained
  128. syn keyword dtmlMethod manage_advanced manage_catalogClear manage_catalogFoundItems contained
  129. syn keyword dtmlMethod manage_catalogObject manage_catalogReindex manage_changePermissions contained
  130. syn keyword dtmlMethod manage_changeProperties manage_clone manage_CopyContainerFirstItem contained
  131. syn keyword dtmlMethod manage_copyObjects manage_createEditor manage_createView contained
  132. syn keyword dtmlMethod manage_cutObjects manage_defined_roles manage_delColumns contained
  133. syn keyword dtmlMethod manage_delIndexes manage_delLocalRoles manage_delObjects contained
  134. syn keyword dtmlMethod manage_delProperties manage_Discard__draft__ manage_distribute contained
  135. syn keyword dtmlMethod manage_edit manage_edit manage_editedDialog manage_editProperties contained
  136. syn keyword dtmlMethod manage_editRoles manage_exportObject manage_importObject contained
  137. syn keyword dtmlMethod manage_makeChanges manage_pasteObjects manage_permission contained
  138. syn keyword dtmlMethod manage_propertiesForm manage_proxy manage_renameObject manage_role contained
  139. syn keyword dtmlMethod manage_Save__draft__ manage_setLocalRoles manage_setPermissionMapping contained
  140. syn keyword dtmlMethod manage_test manage_testForm manage_uncatalogObject contained
  141. syn keyword dtmlMethod manage_undo_transactions manage_upload manage_users manage_workspace contained
  142. syn keyword dtmlMethod mange_createWizard max min minute MKCOL mm modf month Month MOVE contained
  143. syn keyword dtmlMethod namespace new_version nextObject normalvariate notEqualTo objectIds contained
  144. syn keyword dtmlMethod objectItems objectValues oct OPTIONS ord paretovariate parts pCommon contained
  145. syn keyword dtmlMethod pCommonZ pDay permissionsOfRole pMonth pow PreciseAMPM PreciseTime contained
  146. syn keyword dtmlMethod previousObject propertyInfo propertyLabel PROPFIND PROPPATCH PUT quit contained
  147. syn keyword dtmlMethod raise_standardErrorMessage randint random read read_raw redirect contained
  148. syn keyword dtmlMethod removeAttribute removeAttributeNode removeChild replace replaceChild contained
  149. syn keyword dtmlMethod replaceData rfc822 rfind rindex rjust rolesOfPermission round rstrip contained
  150. syn keyword dtmlMethod save searchResults second seed set setAttribute setAttributeNode setBase contained
  151. syn keyword dtmlMethod setCookie setHeader setStatus sin sinh split splitText sqrt str strip contained
  152. syn keyword dtmlMethod substringData superValues swapcase tabs_path_info tan tanh Time contained
  153. syn keyword dtmlMethod TimeMinutes timeTime timezone title title_and_id title_or_id toXML contained
  154. syn keyword dtmlMethod toZone uncatalog_object undoable_transactions uniform uniqueValuesFor contained
  155. syn keyword dtmlMethod update_data upper valid_property_id validate_roles vonmisesvariate contained
  156. syn keyword dtmlMethod weibullvariate year yy zfill ZopeFind contained
  157. " DTML tags
  158. syn keyword dtmlTagName var if elif else unless in with let call raise try except tag comment tree sqlvar sqltest sqlgroup sendmail mime transparent contained
  159. syn keyword dtmlEndTagName if unless in with let raise try tree sendmail transparent contained
  160. " Own additions
  161. syn keyword dtmlTODO TODO FIXME contained
  162. syn region dtmlComment start=+<dtml-comment>+ end=+</dtml-comment>+ contains=dtmlTODO
  163. " All dtmlTagNames are contained by dtmlIsTag.
  164. syn match dtmlIsTag "dtml-[A-Za-z]\+" contains=dtmlTagName
  165. " 'var' tag entity syntax: &dtml-variableName;
  166. " - with attributes: &dtml.attribute1[.attribute2]...-variableName;
  167. syn match dtmlSpecialChar "&dtml[.0-9A-Za-z_]\{-}-[0-9A-Za-z_.]\+;"
  168. " Redefine to allow inclusion of DTML within HTML strings.
  169. syn cluster htmlTop contains=@Spell,htmlTag,htmlEndTag,dtmlSpecialChar,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,@htmlPreproc
  170. syn region htmlLink start="<a\>[^>]*href\>" end="</a>"me=e-4 contains=@Spell,htmlTag,htmlEndTag,dtmlSpecialChar,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc
  171. syn region htmlHead start="<head\>" end="</head>"me=e-7 end="<body\>"me=e-5 end="<h[1-6]\>"me=e-3 contains=htmlTag,htmlEndTag,dtmlSpecialChar,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,htmlTitle,javaScript,cssStyle,@htmlPreproc
  172. syn region htmlTitle start="<title\>" end="</title>"me=e-8 contains=htmlTag,htmlEndTag,dtmlSpecialChar,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc
  173. syn region htmlString contained start=+"+ end=+"+ contains=dtmlSpecialChar,htmlSpecialChar,javaScriptExpression,dtmlIsTag,dtmlAttribute,dtmlMethod,@htmlPreproc
  174. syn match htmlTagN contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,dtmlIsTag,dtmlAttribute,dtmlMethod,@htmlTagNameCluster
  175. syn match htmlTagN contained +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,htmlSpecialTagName,dtmlIsTag,dtmlAttribute,dtmlMethod,@htmlTagNameCluster
  176. " Define the default highlighting.
  177. " Only when an item doesn't have highlighting yet
  178. hi def link dtmlIsTag PreProc
  179. hi def link dtmlAttribute Identifier
  180. hi def link dtmlMethod Function
  181. hi def link dtmlComment Comment
  182. hi def link dtmlTODO Todo
  183. hi def link dtmlSpecialChar Special
  184. let b:current_syntax = "dtml"
  185. " if main_syntax == 'dtml'
  186. " unlet main_syntax
  187. " endif
  188. " vim: ts=4