skylighting-core 0.10.5.1 → 0.10.5.2
raw patch · 3 files changed
+394/−1 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- changelog.md +8/−0
- skylighting-core.cabal +1/−1
- xml/swift.xml +385/−0
changelog.md view
@@ -1,5 +1,13 @@ # Revision history for skylighting and skylighting-core +## 0.10.5.2++ * Added swift grammar definition (Igor Ranieri).++ * Simplify README.md instructions for two-step build.++ * Fix link to KDE documentation.+ ## 0.10.5.1 * Regex: Allow lookaheads to capture groups. Previously
skylighting-core.cabal view
@@ -1,5 +1,5 @@ name: skylighting-core-version: 0.10.5.1+version: 0.10.5.2 synopsis: syntax highlighting library description: Skylighting is a syntax highlighting library. It derives its tokenizers from XML syntax
+ xml/swift.xml view
@@ -0,0 +1,385 @@+<?xml version="1.0" encoding="UTF-8"?>+<!DOCTYPE language SYSTEM "language.dtd"+[+ <!ENTITY int "(?:[0-9]++(_++[0-9]++)*+)">+ <!ENTITY hex "(?:[0-9a-fA-F]++(_++[0-9a-fA-F]++)*+)">+ <!ENTITY exp "(?:[eE][-+]?∫)">+ <!ENTITY float "(\b∫(\.((∫&exp;?+|&exp;)[fF]?\b|[fF]\b)?|&exp;[fF]?\b|[fF]\b)|\.∫&exp;?[fF]?\b)">+ <!ENTITY hexfloat "\b0[xX](&hex;\.?+&hex;?+|\.&hex;?)[pP][-+]?∫[fF]?\b">+]>++<language+ name="Swift"+ version="1"+ kateversion="5.62"+ section="Sources"+ extensions="*.swift"+ license="MIT"+ author="I. Elland (igor@elland.me)"+ style="cstyle"+ indenter="cstyle">+ <highlighting>+ <list name="keywords">+ <item>@testable</item>+ <item>import</item>++ <item>struct</item>+ <item>class</item>+ <item>enum</item>+ <item>protocol</item>+ <item>extension</item>++ <item>private</item>+ <item>lazy</item>+ <item>public</item>+ <item>fileprivate</item>+ <item>internal</item>+ <item>final</item>+ <item>dynamic</item>+ <item>static</item>+ <item>mutating</item>+ <item>nonmutating</item>++ <item>get</item>+ <item>set</item>+ <item>func</item>+ <item>var</item>+ <item>let</item>++ <item>is</item>+ <item>as</item>+ <item>where</item>++ <item>willSet</item>+ <item>didSet</item>+ <item>willGet</item>+ <item>didGet</item>++ <item>return</item>+ <item>throws</item>+ <item>rethrows</item>+ <item>throw</item>++ <item>typealias</item>+ <item>typeof</item>+ <item>override</item>+ <item>infix</item>+ <item>operator</item>+ </list>+ <list name="controlFlowKeyword">+ <item>if</item>+ <item>else</item>+ <item>guard</item>+ <item>defer</item>++ <item>in</item>+ <item>inout</item>++ <item>for</item>+ <item>repeat</item>+ <item>while</item>+ <item>case</item>+ <item>switch</item>++ <item>do</item>+ <item>try</item>+ <item>catch</item>++ <item>async</item>+ <item>await</item>+ <item>actor</item>++ <item>continue</item>+ <item>break</item>+ <item>fallthrough</item>+ <item>fatalError</item>+ </list>+ <list name="predeclared">+ <item>nil</item>+ <item>super</item>+ <item>self</item>+ <item>init</item>+ <item>deinit</item>+ <item>true</item>+ <item>false</item>+ <item>required</item>+ <item>weak</item>+ <item>strong</item>+ <item>unowned</item>+ <item>default</item>+ </list>+ <list name="types">+ <item>Unit</item>+ <item>Nothing</item>++ <item>String</item>+ <item>Char</item>++ <item>Int</item>+ <item>Long</item>+ <item>Byte</item>+ <item>Short</item>+ <item>Float</item>+ <item>Double</item>++ <item>Boolean</item>+ </list>++ <contexts>+ <context attribute="Normal Text" lineEndContext="#stay" name="Start" fallthroughContext="Normal">+ <Detect2Chars attribute="Comment" context="Shebang" char="#" char1="!" />+ </context>+ <context attribute="Normal Text" lineEndContext="#pop!Normal" name="Shebang">+ </context>++ <context attribute="Normal Text" lineEndContext="#stay" name="Normal">+ <DetectSpaces context="#stay"/>++ <DetectChar attribute="Symbol" context="Dot" char="." lookAhead="1"/>+ <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1"/>+ <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1"/>+ <DetectChar attribute="Annotation" context="Annotation" char="@" />++ <Detect2Chars attribute="Comment" context="CommentSingleLine" char="/" char1="/"/>+ <Detect2Chars attribute="Comment" context="CommentMultiline" char="/" char1="*" beginRegion="Comment"/>++ <AnyChar attribute="Symbol" context="#stay" String="()[]&|+,-/*<=>;!%?:~^"/>++ <AnyChar context="Number" String="0123456789" lookAhead="1"/>++ <DetectChar context="String" char=""" lookAhead="1"/>+ <DetectChar context="Char" char="'" lookAhead="1"/>++ <WordDetect attribute="Keyword" context="VariableDeclaration" String="let"/>+ <WordDetect attribute="Keyword" context="VariableDeclaration" String="var"/>++ <WordDetect attribute="Keyword" context="FunctionDeclaration" String="func"/>++ <WordDetect attribute="Keyword" context="Imports" String="@testable"/>+ <WordDetect attribute="Keyword" context="Imports" String="import"/>++ <WordDetect attribute="Keyword" context="TypeDeclaration" String="struct"/>+ <WordDetect attribute="Keyword" context="TypeDeclaration" String="class"/>+ <WordDetect attribute="Keyword" context="TypeDeclaration" String="protocol"/>+ <WordDetect attribute="Keyword" context="TypeDeclaration" String="enum"/>+ <WordDetect attribute="Keyword" context="TypeDeclaration" String="extension"/>++ <keyword attribute="Keyword" context="#stay" String="predeclared"/>+ <keyword attribute="Keyword" context="#stay" String="keywords"/>+ <keyword attribute="ControlFlowKeyword" context="#stay" String="controlFlowKeyword"/>++ <DetectIdentifier attribute="Normal Text"/>+ </context>++ <context attribute="Normal Text" lineEndContext="#stay" name="Number">+ <IncludeRules context="FindFloat"/>+ <RegExpr attribute="Hex" context="#pop" String="\b0[xX]&hex;[lL]?\b"/>+ <RegExpr attribute="Binary" context="#pop" String="\b0[bB][01]++(_++[01]++)*+[uUlL]?\b"/>+ <RegExpr attribute="Decimal" context="#pop" String="\b(0|[1-9][0-9]*+(_++[0-9_]++)*+)[uUlL]?\b"/>+ <AnyChar attribute="Error" context="#pop" String="0123456789"/>+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="FindFloat">+ <RegExpr attribute="Float" context="#pop" String="&float;|&hexfloat;"/>+ </context>++ <context attribute="Normal Text" lineEndContext="#stay" name="Dot">+ <IncludeRules context="FindFloat"/>+ <DetectChar attribute="Symbol" context="#pop" char="." />+ </context>++ <context attribute="Normal Text" lineEndContext="#pop" name="Annotation" fallthroughContext="#pop">+ <DetectIdentifier attribute="Annotation" context="#pop"/>+ </context>++ <context attribute="Normal Text" lineEndContext="#stay" name="Char">+ <HlCChar attribute="Char" context="#pop"/>+ <RegExpr attribute="Char" context="#pop" String="'\\u[0-9a-fA-F]{4}'"/>+ <RegExpr attribute="Error" context="#pop" String="'(\\(u[0-9a-fA-F]*|.))?'?"/>+ </context>++ <context attribute="String" lineEndContext="#pop" name="String">+ <StringDetect attribute="String" context="#pop!MultiLineString" String=""""" beginRegion="MultiLineString"/>+ <DetectChar attribute="String" context="#pop!SingleLineString" char="""/>+ </context>+ <context attribute="String" lineEndContext="#pop" name="SingleLineString">+ <DetectChar context="StringEscapedChar" char="\" lookAhead="1"/>+ <DetectChar context="Interpolation" char="$" lookAhead="1"/>+ <DetectChar attribute="String" context="#pop" char="""/>+ </context>+ <context attribute="String" lineEndContext="#stay" name="MultiLineString">+ <DetectChar context="StringEscapedChar" char="\" lookAhead="1"/>+ <DetectChar context="Interpolation" char="$" lookAhead="1"/>+ <DetectChar context="MultiLineStringFinal" char=""" lookAhead="1"/>+ </context>+ <context attribute="String" lineEndContext="#stay" name="MultiLineStringFinal">+ <StringDetect context="MultiLineStringNoFinal" String="""""" lookAhead="1"/>+ <StringDetect attribute="String" context="#pop#pop" String=""""" endRegion="MultiLineString"/>+ <Detect2Chars attribute="String" context="#pop" char=""" char1="""/>+ <DetectChar attribute="String" context="#pop" char="""/>+ </context>+ <context attribute="String" lineEndContext="#stay" name="MultiLineStringNoFinal">+ <DetectChar attribute="String" context="#pop" char="""/>+ </context>+ <context attribute="String" lineEndContext="#pop" name="StringEscapedChar">+ <HlCStringChar attribute="String Char" context="#pop"/>+ <Detect2Chars attribute="String Char" context="#pop" char="\" char1="$"/>+ <RegExpr attribute="String Char" context="#pop" String="\\u[0-9a-fA-F]{4}"/>+ <RegExpr attribute="Error" context="#pop" String="\\(u[0-9a-fA-F]*|.)?"/>+ </context>++ <context attribute="String" lineEndContext="#stay" name="Interpolation">+ <Detect2Chars attribute="String Interpolation" context="#pop!InInterpolation" char="$" char1="{"/>+ <DetectChar attribute="String Interpolation" context="#pop!Variable" char="$"/>+ </context>+ <context attribute="String Interpolation" lineEndContext="#stay" name="InInterpolation">+ <DetectChar attribute="String Interpolation" context="#pop" char="}"/>+ <IncludeRules context="Normal"/>+ </context>+ <context attribute="String" lineEndContext="#pop" name="Variable" fallthroughContext="#pop">+ <DetectIdentifier attribute="String Interpolation" context="#pop"/>+ </context>++ <context attribute="Normal Text" lineEndContext="#pop" name="Imports">+ <AnyChar attribute="Symbol" context="#stay" String=".*"/>+ <WordDetect attribute="Keyword" context="TypeName" String="as" />+ <DetectIdentifier attribute="Imports" context="#stay"/>+ <DetectChar attribute="Symbol" context="#pop" char=";"/>+ </context>++ <context name="VariableDeclaration" lineEndContext="#stay" attribute="Normal Text">+ <DetectIdentifier attribute="Variable" context="#pop" />+ </context>++ <context name="TypeDeclaration" lineEndContext="#stay" attribute="Normal Text">+ <keyword attribute="Keyword" context="#stay" String="keywords"/>+ <RegExpr attribute="Type" context="#stay" String="([A-Z])+?[A-Za-z0-9]+" />+ <DetectChar attribute="Symbol" context="TypeParameters" char="<" />+ <DetectChar attribute="Symbol" context="Parameters" char="(" />+ <DetectChar attribute="Symbol" context="#pop" char="{" lookAhead="true" />+ </context>++ <context name="FunctionDeclaration" lineEndContext="#stay" attribute="Normal Text">+ <keyword attribute="Keyword" context="#stay" String="func"/>+ <DetectChar attribute="Symbol" context="#stay" char="." />+ <DetectChar attribute="Symbol" context="Parameters" char="(" />+ <DetectChar attribute="Symbol" context="TypeParameters" char="<" />+ <AnyChar attribute="Symbol" context="#pop" String="{=" lookAhead="true" />++ <DetectIdentifier attribute="Function" context="#stay"/>+ </context>++ <context name="TypeParameters" lineEndContext="#stay" attribute="Normal Text">+ <keyword attribute="Keyword" context="#stay" String="keywords"/>++ <DetectChar attribute="Symbol" context="TypeName" char=":" />+ <DetectChar attribute="Symbol" context="#stay" char="*" />++ <DetectChar attribute="Symbol" context="#pop" char=">" />+ <DetectChar attribute="Symbol" context="TypeParameters" char="<" />++ <DetectIdentifier attribute="Data Type" context="DataTypeSuffix"/>+ </context>+ <context name="DataTypeSuffix" lineEndContext="#pop" attribute="Normal Text" fallthroughContext="#pop">+ <DetectChar attribute="Symbol" context="#pop" char="?"/>+ </context>++ <context name="Parameters" lineEndContext="#stay" attribute="Normal Text">+ <keyword attribute="Keyword" context="#stay" String="keywords" />+ <DetectChar attribute="Symbol" context="#pop" char=")" />+ <DetectChar attribute="Symbol" context="TypeName" char=":" />+ <DetectChar attribute="Symbol" context="Expression" char="=" />+ <DetectIdentifier attribute="Variable" context="#stay"/>+ <DetectChar attribute="Symbol" context="#stay" char=","/>+ </context>++ <context name="TypeName" lineEndContext="#stay" attribute="Normal Text">+ <AnyChar attribute="Symbol" context="#pop" String=",*" />+ <DetectChar attribute="Symbol" context="FunctionType" char="(" />+ <Detect2Chars attribute="Symbol" context="#stay" char="-" char1=">" />+ <DetectIdentifier attribute="Data Type" context="#pop!DataTypeSuffix"/>+ </context>++ <context name="FunctionType" lineEndContext="#stay" attribute="Normal Text">+ <DetectChar attribute="Symbol" context="#pop" char=")" />+ <DetectIdentifier attribute="Data Type" context="DataTypeSuffix"/>+ <Detect2Chars attribute="Symbol" context="#stay" char="-" char1=">" />+ <DetectChar attribute="Symbol" context="#stay" char="," />+ </context>++ <context name="Expression" lineEndContext="#stay" attribute="Normal Text">+ <DetectChar attribute="Symbol" context="#pop" char=")" lookAhead="true" />+ <DetectChar attribute="Error" context="#pop" char="}" />+ <DetectChar attribute="Symbol" context="#pop" char=","/>+ <IncludeRules context="FindSubExpression"/>+ </context>+ <context name="FindSubExpression" lineEndContext="#stay" attribute="Normal Text">+ <DetectSpaces attribute="Normal Text"/>++ <AnyChar attribute="Symbol" context="ExpressionInner" String="({" />++ <DetectChar context="MaybeTypeParameters" char="<" lookAhead="1" />++ <DetectChar attribute="Symbol" context="Dot" char="." lookAhead="1"/>+ <AnyChar context="Number" String="0123456789" lookAhead="1"/>+ <DetectChar context="String" char=""" lookAhead="1"/>+ <DetectChar context="Char" char="'" lookAhead="1"/>++ <Detect2Chars attribute="Comment" context="CommentSingleLine" char="/" char1="/"/>+ <Detect2Chars attribute="Comment" context="CommentMultiline" char="/" char1="*" beginRegion="Comment"/>++ <DetectIdentifier attribute="Normal Text"/>+ </context>+ <context name="MaybeTypeParameters" lineEndContext="#pop" attribute="Normal Text">+ <RegExpr context="#pop!TypeParameters" String="<\w" lookAhead="1" />+ <DetectChar attribute="Symbol" context="#pop" char="<"/>+ </context>++ <context name="ExpressionInner" lineEndContext="#stay" attribute="Normal Text">+ <AnyChar attribute="Symbol" context="#pop" String=")}" />+ <IncludeRules context="FindSubExpression"/>+ </context>++ <context attribute="Comment" lineEndContext="#pop" name="CommentSingleLine">+ <DetectSpaces />+ <IncludeRules context="##Comments"/>+ </context>+ <context attribute="Comment" lineEndContext="#stay" name="CommentMultiline">+ <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>+ <Detect2Chars attribute="Comment" context="CommentMultiline" char="/" char1="*" beginRegion="Comment"/>+ <DetectSpaces />+ <IncludeRules context="##Comments"/>+ </context>++ </contexts>++ <itemDatas>+ <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="ControlFlowKeyword" defStyleNum="dsControlFlow" spellChecking="false"/>+ <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>+ <itemData name="Imports" defStyleNum="dsImport" spellChecking="false"/>+ <itemData name="Annotation" defStyleNum="dsAttribute" spellChecking="false"/>+ <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/>+ <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>+ <itemData name="Binary" defStyleNum="dsBaseN" spellChecking="false"/>+ <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>+ <itemData name="Char" defStyleNum="dsChar" spellChecking="false"/>+ <itemData name="String" defStyleNum="dsString"/>+ <itemData name="String Char" defStyleNum="dsSpecialChar" spellChecking="false"/>+ <itemData name="String Interpolation" defStyleNum="dsSpecialString"/>+ <itemData name="Comment" defStyleNum="dsComment"/>+ <itemData name="Symbol" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>+ </itemDatas>+ </highlighting>+ <general>+ <comments>+ <comment name="singleLine" start="//"/>+ <comment name="multiLine" start="/*" end="*/" region="Comment"/>+ </comments>+ <keywords casesensitive="1"/>+ </general>+</language>+<!-- kate: replace-tabs on; tab-width 4; indent-width 4; -->