Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
mason.vim86 linesDownload Raw Back to syntax
1" Vim syntax file2" Language:      Mason (Perl embedded in HTML)3" Maintainer:    vim-perl <vim-perl@googlegroups.com> (need to be subscribed to post)4" Homepage:      https://github.com/vim-perl/vim-perl5" Bugs/requests: https://github.com/vim-perl/vim-perl/issues6" License:       Vim License (see :help license)7" Last Change:   2021 Oct 108" Contributors:  Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>9"                Andrew Smith <andrewdsmith@yahoo.com>10"11" TODO:12"  - Fix <%text> blocks to show HTML tags but ignore Mason tags.13"14 15" quit when a syntax file was already loaded16if exists("b:current_syntax")17	finish18endif19 20" The HTML syntax file included below uses this variable.21"22if !exists("main_syntax")23	let main_syntax = 'mason'24endif25 26" First pull in the HTML syntax.27"28runtime! syntax/html.vim29unlet b:current_syntax30 31syn cluster htmlPreproc add=@masonTop32 33" Now pull in the Perl syntax.34"35syn include @perlTop syntax/perl.vim36unlet b:current_syntax37syn include @podTop syntax/pod.vim38 39" It's hard to reduce down to the correct sub-set of Perl to highlight in some40" of these cases so I've taken the safe option of just using perlTop in all of41" them. If you have any suggestions, please let me know.42"43syn region masonPod start="^=[a-z]" end="^=cut" keepend contained contains=@podTop44syn cluster perlTop remove=perlBraces45syn region masonLine matchgroup=Delimiter start="^%" end="$" keepend contains=@perlTop46syn region masonPerlComment start="#" end="\%(%>\)\@=\|$" contained contains=perlTodo,@Spell47syn region masonExpr matchgroup=Delimiter start="<%" end="%>" contains=@perlTop,masonPerlComment48syn region masonPerl matchgroup=Delimiter start="<%perl>" end="</%perl>" contains=masonPod,@perlTop49syn region masonComp keepend matchgroup=Delimiter start="<&\s*\%([-._/[:alnum:]]\+:\)\?[-._/[:alnum:]]*" end="&>" contains=@perlTop50syn region masonComp keepend matchgroup=Delimiter skipnl start="<&|\s*\%([-._/[:alnum:]]\+:\)\?[-._/[:alnum:]]*" end="&>" contains=@perlTop nextgroup=masonCompContent51syn region masonCompContent matchgroup=Delimiter start="" end="</&>" contained contains=@masonTop52 53syn region masonArgs matchgroup=Delimiter start="<%args>" end="</%args>" contains=masonPod,@perlTop54 55syn region masonInit matchgroup=Delimiter start="<%init>" end="</%init>" contains=masonPod,@perlTop56syn region masonCleanup matchgroup=Delimiter start="<%cleanup>" end="</%cleanup>" contains=masonPod,@perlTop57syn region masonOnce matchgroup=Delimiter start="<%once>" end="</%once>" contains=masonPod,@perlTop58syn region masonClass matchgroup=Delimiter start="<%class>" end="</%class>" contains=masonPod,@perlTop59syn region masonShared matchgroup=Delimiter start="<%shared>" end="</%shared>" contains=masonPod,@perlTop60 61syn region masonDef matchgroup=Delimiter start="<%def\s*[-._/[:alnum:]]\+\s*>" end="</%def>" contains=@htmlTop62syn region masonMethod matchgroup=Delimiter start="<%method\s*[-._/[:alnum:]]\+\s*>" end="</%method>" contains=@htmlTop63 64syn region masonFlags matchgroup=Delimiter start="<%flags>" end="</%flags>" contains=masonPod,@perlTop65syn region masonAttr matchgroup=Delimiter start="<%attr>" end="</%attr>" contains=masonPod,@perlTop66 67syn region masonFilter matchgroup=Delimiter start="<%filter>" end="</%filter>" contains=masonPod,@perlTop68 69syn region masonDoc matchgroup=Delimiter start="<%doc>" end="</%doc>"70syn region masonText matchgroup=Delimiter start="<%text>" end="</%text>"71 72syn cluster masonTop contains=masonLine,masonExpr,masonPerl,masonComp,masonArgs,masonInit,masonCleanup,masonOnce,masonShared,masonDef,masonMethod,masonFlags,masonAttr,masonFilter,masonDoc,masonText73 74" Set up default highlighting. Almost all of this is done in the included75" syntax files.76hi def link masonDoc Comment77hi def link masonPod Comment78hi def link podOrdinary masonPod79hi def link masonPerlComment perlComment80 81let b:current_syntax = "mason"82 83if main_syntax == 'mason'84	unlet main_syntax85endif86 
codekingpro/portable-devtools · Team Ai