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