Mercurial > vim
view runtime/syntax/smil.vim @ 35039:fbdb6aeca2e2
runtime(java): Improve the recognition of the "style" method declarations
Commit: https://github.com/vim/vim/commit/a4c085a3e607bd01d34e1db600b6460fc35fb0a3
Author: Aliaksei Budavei <0x000c70@gmail.com>
Date: Wed Apr 24 21:04:25 2024 +0200
runtime(java): Improve the recognition of the "style" method declarations
- Request the new regexp engine (v7.3.970) for [:upper:] and
[:lower:].
- Recognise declarations of in-line annotated methods.
- Recognise declarations of _strictfp_ methods.
- Establish partial order for method modifiers as shown in
the MethodModifier production; namely, _public_ and
friends should be written the leftmost, possibly followed
by _abstract_ or _default_, or possibly followed by other
modifiers.
- Stop looking for parameterisable primitive types (void<?>,
int<Object>, etc., are malformed).
- Stop looking for arrays of _void_.
- Acknowledge the prevailing convention for method names to
begin with a small letter and for class/interface names to
begin with a capital letter; and, therefore, desist from
claiming declarations of enum constants and constructors
with javaFuncDef.
Rationale:
+ Constructor is distinct from method:
* its (overloaded) name is not arbitrary;
* its return type is implicit;
* its _throws_ clause depends on indirect vagaries of
instance (variable) initialisers;
* its invocation makes other constructors of its type
hierarchy invoked one by one, concluding with the
primordial constructor;
* its explicit invocation, via _this_ or _super_, can
only appear as the first statement in a constructor
(not anymore, see JEP 447); else, its _super_ call
cannot appear in constructors of _record_ or _enum_;
and neither invocation is allowed for the primordial
constructor;
* it is not a member of its class, like initialisers,
and is never inherited;
* it is never _abstract_ or _native_.
+ Constructor declarations tend to be few in number and
merit visual recognition from method declarations.
+ Enum constants define a fixed set of type instances
and more resemble class variable initialisers.
Note that the code duplicated for @javaFuncParams is written
keeping in mind for g:java_highlight_functions a pending 3rd
variant, which would require none of the :syn-cluster added
groups.
closes: #14620
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 24 Apr 2024 21:15:02 +0200 |
parents | 46763b01cd9a |
children |
line wrap: on
line source
" Vim syntax file " Language: SMIL (Synchronized Multimedia Integration Language) " Maintainer: Herve Foucher <Herve.Foucher@helio.org> " URL: http://www.helio.org/vim/syntax/smil.vim " Last Change: 2012 Feb 03 by Thilo Six " To learn more about SMIL, please refer to http://www.w3.org/AudioVideo/ " and to http://www.helio.org/products/smil/tutorial/ " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim " SMIL is case sensitive syn case match " illegal characters syn match smilError "[<>&]" syn match smilError "[()&]" if !exists("main_syntax") let main_syntax = 'smil' endif " tags syn match smilSpecial contained "\\\d\d\d\|\\." syn match smilSpecial contained "(" syn match smilSpecial contained "id(" syn match smilSpecial contained ")" syn keyword smilSpecial contained remove freeze true false on off overdub caption new pause replace syn keyword smilSpecial contained first last syn keyword smilSpecial contained fill meet slice scroll hidden syn region smilString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=smilSpecial syn region smilString contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=smilSpecial syn match smilValue contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1 syn region smilEndTag start=+</+ end=+>+ contains=smilTagN,smilTagError syn region smilTag start=+<[^/]+ end=+>+ contains=smilTagN,smilString,smilArg,smilValue,smilTagError,smilEvent,smilCssDefinition syn match smilTagN contained +<\s*[-a-zA-Z0-9]\++ms=s+1 contains=smilTagName,smilSpecialTagName syn match smilTagN contained +</\s*[-a-zA-Z0-9]\++ms=s+2 contains=smilTagName,smilSpecialTagName syn match smilTagError contained "[^>]<"ms=s+1 " tag names syn keyword smilTagName contained smil head body anchor a switch region layout meta syn match smilTagName contained "root-layout" syn keyword smilTagName contained par seq syn keyword smilTagName contained animation video img audio ref text textstream syn match smilTagName contained "\<\(head\|body\)\>" " legal arg names syn keyword smilArg contained dur begin end href target id coords show title abstract author copyright alt syn keyword smilArg contained left top width height fit src name content fill longdesc repeat type syn match smilArg contained "z-index" syn match smilArg contained " end-sync" syn match smilArg contained " region" syn match smilArg contained "background-color" syn match smilArg contained "system-bitrate" syn match smilArg contained "system-captions" syn match smilArg contained "system-overdub-or-caption" syn match smilArg contained "system-language" syn match smilArg contained "system-required" syn match smilArg contained "system-screen-depth" syn match smilArg contained "system-screen-size" syn match smilArg contained "clip-begin" syn match smilArg contained "clip-end" syn match smilArg contained "skip-content" " SMIL Boston ext. " This are new SMIL functionnalities seen on www.w3.org on August 3rd 1999 " Animation syn keyword smilTagName contained animate set move syn keyword smilArg contained calcMode from to by additive values origin path syn keyword smilArg contained accumulate hold attribute syn match smilArg contained "xml:link" syn keyword smilSpecial contained discrete linear spline parent layout syn keyword smilSpecial contained top left simple " Linking syn keyword smilTagName contained area syn keyword smilArg contained actuate behavior inline sourceVolume syn keyword smilArg contained destinationVolume destinationPlaystate tabindex syn keyword smilArg contained class style lang dir onclick ondblclick onmousedown onmouseup onmouseover onmousemove onmouseout onkeypress onkeydown onkeyup shape nohref accesskey onfocus onblur syn keyword smilSpecial contained play pause stop rect circ poly child par seq " Media Object syn keyword smilTagName contained rtpmap syn keyword smilArg contained port transport encoding payload clipBegin clipEnd syn match smilArg contained "fmt-list" " Timing and Synchronization syn keyword smilTagName contained excl syn keyword smilArg contained beginEvent endEvent eventRestart endSync repeatCount repeatDur syn keyword smilArg contained syncBehavior syncTolerance syn keyword smilSpecial contained canSlip locked " special characters syn match smilSpecialChar "&[^;]*;" if exists("smil_wrong_comments") syn region smilComment start=+<!--+ end=+-->+ else syn region smilComment start=+<!+ end=+>+ contains=smilCommentPart,smilCommentError syn match smilCommentError contained "[^><!]" syn region smilCommentPart contained start=+--+ end=+--+ endif syn region smilComment start=+<!DOCTYPE+ keepend end=+>+ " Define the default highlighting. " Only when an item doesn't have highlighting yet hi def link smilTag Function hi def link smilEndTag Identifier hi def link smilArg Type hi def link smilTagName smilStatement hi def link smilSpecialTagName Exception hi def link smilValue Value hi def link smilSpecialChar Special hi def link smilSpecial Special hi def link smilSpecialChar Special hi def link smilString String hi def link smilStatement Statement hi def link smilComment Comment hi def link smilCommentPart Comment hi def link smilPreProc PreProc hi def link smilValue String hi def link smilCommentError smilError hi def link smilTagError smilError hi def link smilError Error let b:current_syntax = "smil" if main_syntax == 'smil' unlet main_syntax endif let &cpo = s:cpo_save unlet s:cpo_save " vim: ts=8