forked from aniani/vim
		
	
		
			
	
	
		
			226 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			226 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " DTML syntax file | ||
|  | " Language:			Zope's Dynamic Template Markup Language | ||
|  | " Maintainer:	    Jean Jordaan <jean@upfrontsystems.co.za> (njj) | ||
|  | " Last change:	    2001 Sep 02 | ||
|  | 
 | ||
|  | " These are used with Claudio Fleiner's html.vim in the standard distribution. | ||
|  | " | ||
|  | " Still very hackish. The 'dtml attributes' and 'dtml methods' have been | ||
|  | " hacked out of the Zope Quick Reference in case someone finds something | ||
|  | " sensible to do with them. I certainly haven't. | ||
|  | 
 | ||
|  | " For version 5.x: Clear all syntax items | ||
|  | " For version 6.x: Quit when a syntax file was already loaded | ||
|  | if version < 600 | ||
|  |   syntax clear | ||
|  | elseif exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | " First load the HTML syntax | ||
|  | if version < 600 | ||
|  |   source <sfile>:p:h/html.vim | ||
|  | else | ||
|  |   runtime! syntax/html.vim | ||
|  | endif | ||
|  | 
 | ||
|  | syn case match | ||
|  | 
 | ||
|  | " This doesn't have any effect.  Does it need to be moved to above/ | ||
|  | " if !exists("main_syntax") | ||
|  | "   let main_syntax = 'dtml' | ||
|  | " endif | ||
|  | 
 | ||
|  | " dtml attributes | ||
|  | syn keyword dtmlAttribute ac_inherited_permissions access_debug_info contained | ||
|  | syn keyword dtmlAttribute acquiredRolesAreUsedBy all_meta_types assume_children AUTH_TYPE contained | ||
|  | syn keyword dtmlAttribute AUTHENTICATED_USER AUTHENTICATION_PATH BASE0 batch-end-index batch-size contained | ||
|  | syn keyword dtmlAttribute batch-start-index bobobase_modification_time boundary branches contained | ||
|  | syn keyword dtmlAttribute branches_expr capitalize cb_dataItems cb_dataValid cb_isCopyable contained | ||
|  | syn keyword dtmlAttribute cb_isMoveable changeClassId classDefinedAndInheritedPermissions contained | ||
|  | syn keyword dtmlAttribute classDefinedPermissions classInheritedPermissions collapse-all column contained | ||
|  | syn keyword dtmlAttribute connected connectionIsValid CONTENT_LENGTH CONTENT_TYPE cook cookies contained | ||
|  | syn keyword dtmlAttribute COPY count- createInObjectManager da_has_single_argument dav__allprop contained | ||
|  | syn keyword dtmlAttribute dav__init dav__propnames dav__propstat dav__validate default contained | ||
|  | syn keyword dtmlAttribute delClassAttr DELETE Destination DestinationURL digits discard contained | ||
|  | syn keyword dtmlAttribute disposition document_src e encode enter etc expand-all expr File contained | ||
|  | syn keyword dtmlAttribute filtered_manage_options filtered_meta_types first- fmt footer form contained | ||
|  | syn keyword dtmlAttribute GATEWAY_INTERFACE get_local_roles get_local_roles_for_userid contained | ||
|  | syn keyword dtmlAttribute get_request_var_or_attr get_size get_size get_valid_userids getAttribute contained | ||
|  | syn keyword dtmlAttribute getAttributeNode getAttributes getChildNodes getClassAttr getContentType contained | ||
|  | syn keyword dtmlAttribute getData getDocType getDocumentElement getElementsByTagName getFirstChild contained | ||
|  | syn keyword dtmlAttribute getImplementation getLastChild getLength getName getNextSibling contained | ||
|  | syn keyword dtmlAttribute getNodeName getNodeType getNodeValue getOwnerDocument getParentNode contained | ||
|  | syn keyword dtmlAttribute getPreviousSibling getProperty getPropertyType getSize getSize getSize contained | ||
|  | syn keyword dtmlAttribute get_size getTagName getUser getUserName getUserNames getUsers contained | ||
|  | syn keyword dtmlAttribute has_local_roles hasChildNodes hasProperty HEAD header hexdigits HTML contained | ||
|  | syn keyword dtmlAttribute html_quote HTMLFile id index_html index_objects indexes contained | ||
|  | syn keyword dtmlAttribute inheritedAttribute items last- leave leave_another leaves letters LOCK contained | ||
|  | syn keyword dtmlAttribute locked_in_version lower lowercase mailfrom mailhost mailhost_list mailto contained | ||
|  | syn keyword dtmlAttribute manage manage_ methods manage_access manage_acquiredPermissions contained | ||
|  | syn keyword dtmlAttribute manage_addConferaTopic manage_addDocument manage_addDTMLDocument contained | ||
|  | syn keyword dtmlAttribute manage_addDTMLMethod manage_addFile manage_addFolder manage_addImage contained | ||
|  | syn keyword dtmlAttribute manage_addLocalRoles manage_addMailHost manage_addPermission contained | ||
|  | syn keyword dtmlAttribute manage_addPrincipiaFactory manage_addProduct manage_addProperty contained | ||
|  | syn keyword dtmlAttribute manage_addUserFolder manage_addZClass manage_addZGadflyConnection contained | ||
|  | syn keyword dtmlAttribute manage_addZGadflyConnectionForm manage_advanced manage_afterAdd contained | ||
|  | syn keyword dtmlAttribute manage_afterClone manage_beforeDelete manage_changePermissions contained | ||
|  | syn keyword dtmlAttribute manage_changeProperties manage_clone manage_CopyContainerFirstItem contained | ||
|  | syn keyword dtmlAttribute manage_copyObjects manage_cutObjects manage_defined_roles contained | ||
|  | syn keyword dtmlAttribute manage_delLocalRoles manage_delObjects manage_delProperties contained | ||
|  | syn keyword dtmlAttribute manage_distribute manage_edit manage_editedDialog manage_editProperties contained | ||
|  | syn keyword dtmlAttribute manage_editRoles manage_exportObject manage_FTPget manage_FTPlist contained | ||
|  | syn keyword dtmlAttribute manage_FTPstat manage_get_product_readme__ manage_getPermissionMapping contained | ||
|  | syn keyword dtmlAttribute manage_haveProxy manage_help manage_importObject manage_listLocalRoles contained | ||
|  | syn keyword dtmlAttribute manage_options manage_pasteObjects manage_permission contained | ||
|  | syn keyword dtmlAttribute manage_propertiesForm manage_proxy manage_renameObject manage_role contained | ||
|  | syn keyword dtmlAttribute manage_setLocalRoles manage_setPermissionMapping contained | ||
|  | syn keyword dtmlAttribute manage_subclassableClassNames manage_test manage_testForm contained | ||
|  | syn keyword dtmlAttribute manage_undo_transactions manage_upload manage_users manage_workspace contained | ||
|  | syn keyword dtmlAttribute management_interface mapping math max- mean- median- meta_type min- contained | ||
|  | syn keyword dtmlAttribute MKCOL modified_in_version MOVE multiple name navigate_filter new_version contained | ||
|  | syn keyword dtmlAttribute newline_to_br next next-batches next-sequence next-sequence-end-index contained | ||
|  | syn keyword dtmlAttribute next-sequence-size next-sequence-start-index no manage_access None contained | ||
|  | syn keyword dtmlAttribute nonempty normalize nowrap null Object Manager objectIds objectItems contained | ||
|  | syn keyword dtmlAttribute objectMap objectValues octdigits only optional OPTIONS orphan overlap contained | ||
|  | syn keyword dtmlAttribute PARENTS PATH_INFO PATH_TRANSLATED permission_settings contained | ||
|  | syn keyword dtmlAttribute permissionMappingPossibleValues permissionsOfRole pi port contained | ||
|  | syn keyword dtmlAttribute possible_permissions previous previous-batches previous-sequence contained | ||
|  | syn keyword dtmlAttribute previous-sequence-end-index previous-sequence-size contained | ||
|  | syn keyword dtmlAttribute previous-sequence-start-index PrincipiaFind PrincipiaSearchSource contained | ||
|  | syn keyword dtmlAttribute propdict propertyIds propertyItems propertyLabel propertyMap propertyMap contained | ||
|  | syn keyword dtmlAttribute propertyValues PROPFIND PROPPATCH PUT query_day query_month QUERY_STRING contained | ||
|  | syn keyword dtmlAttribute query_year quoted_input quoted_report raise_standardErrorMessage random contained | ||
|  | syn keyword dtmlAttribute read read_raw REMOTE_ADDR REMOTE_HOST REMOTE_IDENT REMOTE_USER REQUEST contained | ||
|  | syn keyword dtmlAttribute REQUESTED_METHOD required RESPONSE reverse rolesOfPermission save schema contained | ||
|  | syn keyword dtmlAttribute SCRIPT_NAME sequence-end sequence-even sequence-index contained | ||
|  | syn keyword dtmlAttribute sequence-index-var- sequence-item sequence-key sequence-Letter contained | ||
|  | syn keyword dtmlAttribute sequence-letter sequence-number sequence-odd sequence-query contained | ||
|  | syn keyword dtmlAttribute sequence-roman sequence-Roman sequence-start sequence-step-end-index contained | ||
|  | syn keyword dtmlAttribute sequence-step-size sequence-step-start-index sequence-var- SERVER_NAME contained | ||
|  | syn keyword dtmlAttribute SERVER_PORT SERVER_PROTOCOL SERVER_SOFTWARE setClassAttr setName single contained | ||
|  | syn keyword dtmlAttribute size skip_unauthorized smtphost sort spacify sql_quote SQLConnectionIDs contained | ||
|  | syn keyword dtmlAttribute standard-deviation- standard-deviation-n- standard_html_footer contained | ||
|  | syn keyword dtmlAttribute standard_html_header start String string subject SubTemplate superValues contained | ||
|  | syn keyword dtmlAttribute tabs_path_info tag test_url_ text_content this thousands_commas title contained | ||
|  | syn keyword dtmlAttribute title_and_id title_or_id total- tpURL tpValues TRACE translate tree-c contained | ||
|  | syn keyword dtmlAttribute tree-colspan tree-e tree-item-expanded tree-item-url tree-level contained | ||
|  | syn keyword dtmlAttribute tree-root-url tree-s tree-state type undoable_transactions UNLOCK contained | ||
|  | syn keyword dtmlAttribute update_data upper uppercase url url_quote URLn user_names contained | ||
|  | syn keyword dtmlAttribute userdefined_roles valid_property_id valid_roles validate_roles contained | ||
|  | syn keyword dtmlAttribute validClipData validRoles values variance- variance-n- view_image_or_file contained | ||
|  | syn keyword dtmlAttribute where whitespace whrandom xml_namespace zclass_candidate_view_actions contained | ||
|  | syn keyword dtmlAttribute ZClassBaseClassNames ziconImage ZopeFind ZQueryIds contained | ||
|  | 
 | ||
|  | syn keyword dtmlMethod abs absolute_url ac_inherited_permissions aCommon contained | ||
|  | syn keyword dtmlMethod aCommonZ acos acquiredRolesAreUsedBy aDay addPropertySheet aMonth AMPM contained | ||
|  | syn keyword dtmlMethod ampm AMPMMinutes appendChild appendData appendHeader asin atan atan2 contained | ||
|  | syn keyword dtmlMethod atof atoi betavariate capatilize capwords catalog_object ceil center contained | ||
|  | syn keyword dtmlMethod choice chr cloneNode COPY cos cosh count createInObjectManager contained | ||
|  | syn keyword dtmlMethod createSQLInput cunifvariate Date DateTime Day day dayOfYear dd default contained | ||
|  | syn keyword dtmlMethod DELETE deleteData delPropertySheet divmod document_id document_title dow contained | ||
|  | syn keyword dtmlMethod earliestTime enter equalTo exp expireCookie expovariate fabs fCommon contained | ||
|  | syn keyword dtmlMethod fCommonZ filtered_manage_options filtered_meta_types find float floor contained | ||
|  | syn keyword dtmlMethod fmod frexp gamma gauss get get_local_roles_for_userid get_size getattr contained | ||
|  | syn keyword dtmlMethod getAttribute getAttributeNode getClassAttr getDomains contained | ||
|  | syn keyword dtmlMethod getElementsByTagName getHeader getitem getNamedItem getobject contained | ||
|  | syn keyword dtmlMethod getObjectsInfo getpath getProperty getRoles getStatus getUser contained | ||
|  | syn keyword dtmlMethod getUserName greaterThan greaterThanEqualTo h_12 h_24 has_key contained | ||
|  | syn keyword dtmlMethod has_permission has_role hasattr hasFeature hash hasProperty HEAD hex contained | ||
|  | syn keyword dtmlMethod hour hypot index index_html inheritedAttribute insertBefore insertData contained | ||
|  | syn keyword dtmlMethod int isCurrentDay isCurrentHour isCurrentMinute isCurrentMonth contained | ||
|  | syn keyword dtmlMethod isCurrentYear isFuture isLeadYear isPast item join latestTime ldexp contained | ||
|  | syn keyword dtmlMethod leave leave_another len lessThan lessThanEqualTo ljust log log10 contained | ||
|  | syn keyword dtmlMethod lognormvariate lower lstrip maketrans manage manage_access contained | ||
|  | syn keyword dtmlMethod manage_acquiredPermissions manage_addColumn manage_addDocument contained | ||
|  | syn keyword dtmlMethod manage_addDTMLDocument manage_addDTMLMethod manage_addFile contained | ||
|  | syn keyword dtmlMethod manage_addFolder manage_addImage manage_addIndex manage_addLocalRoles contained | ||
|  | syn keyword dtmlMethod manage_addMailHost manage_addPermission manage_addPrincipiaFactory contained | ||
|  | syn keyword dtmlMethod manage_addProduct manage_addProperty manage_addPropertySheet contained | ||
|  | syn keyword dtmlMethod manage_addUserFolder manage_addZCatalog manage_addZClass contained | ||
|  | syn keyword dtmlMethod manage_addZGadflyConnection manage_addZGadflyConnectionForm contained | ||
|  | syn keyword dtmlMethod manage_advanced manage_catalogClear manage_catalogFoundItems contained | ||
|  | syn keyword dtmlMethod manage_catalogObject manage_catalogReindex manage_changePermissions contained | ||
|  | syn keyword dtmlMethod manage_changeProperties manage_clone manage_CopyContainerFirstItem contained | ||
|  | syn keyword dtmlMethod manage_copyObjects manage_createEditor manage_createView contained | ||
|  | syn keyword dtmlMethod manage_cutObjects manage_defined_roles manage_delColumns contained | ||
|  | syn keyword dtmlMethod manage_delIndexes manage_delLocalRoles manage_delObjects contained | ||
|  | syn keyword dtmlMethod manage_delProperties manage_Discard__draft__ manage_distribute contained | ||
|  | syn keyword dtmlMethod manage_edit manage_edit manage_editedDialog manage_editProperties contained | ||
|  | syn keyword dtmlMethod manage_editRoles manage_exportObject manage_importObject contained | ||
|  | syn keyword dtmlMethod manage_makeChanges manage_pasteObjects manage_permission contained | ||
|  | syn keyword dtmlMethod manage_propertiesForm manage_proxy manage_renameObject manage_role contained | ||
|  | syn keyword dtmlMethod manage_Save__draft__ manage_setLocalRoles manage_setPermissionMapping contained | ||
|  | syn keyword dtmlMethod manage_test manage_testForm manage_uncatalogObject contained | ||
|  | syn keyword dtmlMethod manage_undo_transactions manage_upload manage_users manage_workspace contained | ||
|  | syn keyword dtmlMethod mange_createWizard max min minute MKCOL mm modf month Month MOVE contained | ||
|  | syn keyword dtmlMethod namespace new_version nextObject normalvariate notEqualTo objectIds contained | ||
|  | syn keyword dtmlMethod objectItems objectValues oct OPTIONS ord paretovariate parts pCommon contained | ||
|  | syn keyword dtmlMethod pCommonZ pDay permissionsOfRole pMonth pow PreciseAMPM PreciseTime contained | ||
|  | syn keyword dtmlMethod previousObject propertyInfo propertyLabel PROPFIND PROPPATCH PUT quit contained | ||
|  | syn keyword dtmlMethod raise_standardErrorMessage randint random read read_raw redirect contained | ||
|  | syn keyword dtmlMethod removeAttribute removeAttributeNode removeChild replace replaceChild contained | ||
|  | syn keyword dtmlMethod replaceData rfc822 rfind rindex rjust rolesOfPermission round rstrip contained | ||
|  | syn keyword dtmlMethod save searchResults second seed set setAttribute setAttributeNode setBase contained | ||
|  | syn keyword dtmlMethod setCookie setHeader setStatus sin sinh split splitText sqrt str strip contained | ||
|  | syn keyword dtmlMethod substringData superValues swapcase tabs_path_info tan tanh Time contained | ||
|  | syn keyword dtmlMethod TimeMinutes timeTime timezone title title_and_id title_or_id toXML contained | ||
|  | syn keyword dtmlMethod toZone uncatalog_object undoable_transactions uniform uniqueValuesFor contained | ||
|  | syn keyword dtmlMethod update_data upper valid_property_id validate_roles vonmisesvariate contained | ||
|  | syn keyword dtmlMethod weibullvariate year yy zfill ZopeFind contained | ||
|  | 
 | ||
|  | " DTML tags | ||
|  | 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 | ||
|  | 
 | ||
|  | syn keyword dtmlEndTagName if unless in with let raise try tree sendmail transparent contained | ||
|  | 
 | ||
|  | " Own additions | ||
|  | syn keyword dtmlTODO    TODO FIXME		contained | ||
|  | 
 | ||
|  | syn region dtmlComment start=+<dtml-comment>+ end=+</dtml-comment>+ contains=dtmlTODO | ||
|  | 
 | ||
|  | " All dtmlTagNames are contained by dtmlIsTag. | ||
|  | syn match dtmlIsTag	    "dtml-[A-Za-z]\+"    contains=dtmlTagName | ||
|  | 
 | ||
|  | " 'var' tag entity syntax: &dtml-variableName; | ||
|  | "       - with attributes: &dtml.attribute1[.attribute2]...-variableName; | ||
|  | syn match dtmlSpecialChar "&dtml[.0-9A-Za-z_]\{-}-[0-9A-Za-z_.]\+;" | ||
|  | 
 | ||
|  | " Redefine to allow inclusion of DTML within HTML strings. | ||
|  | syn cluster htmlTop contains=@Spell,htmlTag,htmlEndTag,dtmlSpecialChar,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,@htmlPreproc | ||
|  | syn region htmlLink start="<a\>[^>]*href\>" end="</a>"me=e-4 contains=@Spell,htmlTag,htmlEndTag,dtmlSpecialChar,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc | ||
|  | 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 | ||
|  | syn region htmlTitle start="<title\>" end="</title>"me=e-8 contains=htmlTag,htmlEndTag,dtmlSpecialChar,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc | ||
|  | syn region  htmlString   contained start=+"+ end=+"+ contains=dtmlSpecialChar,htmlSpecialChar,javaScriptExpression,dtmlIsTag,dtmlAttribute,dtmlMethod,@htmlPreproc | ||
|  | syn match   htmlTagN     contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,dtmlIsTag,dtmlAttribute,dtmlMethod,@htmlTagNameCluster | ||
|  | syn match   htmlTagN     contained +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,htmlSpecialTagName,dtmlIsTag,dtmlAttribute,dtmlMethod,@htmlTagNameCluster | ||
|  | 
 | ||
|  | " Define the default highlighting. | ||
|  | " For version 5.7 and earlier: only when not done already | ||
|  | " For version 5.8 and later: only when an item doesn't have highlighting yet | ||
|  | if version >= 508 || !exists("did_dtml_syntax_inits") | ||
|  |   if version < 508 | ||
|  |     let did_dtml_syntax_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  |   HiLink dtmlIsTag			PreProc | ||
|  |   HiLink dtmlAttribute		Identifier | ||
|  |   HiLink dtmlMethod			Function | ||
|  |   HiLink dtmlComment		Comment | ||
|  |   HiLink dtmlTODO			Todo | ||
|  |   HiLink dtmlSpecialChar    Special | ||
|  | 
 | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | let b:current_syntax = "dtml" | ||
|  | 
 | ||
|  | " if main_syntax == 'dtml' | ||
|  | "   unlet main_syntax | ||
|  | " endif | ||
|  | 
 | ||
|  | " vim: ts=4 |