Last active
March 1, 2024 15:53
-
-
Save jbman/53b22072a2da24b6bd0d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!-- | |
This file is based on the javascript.lang file of GtkSourceView. | |
It has additional Typescript keywords defined. | |
Author: Johannes Bergmann | |
Copyright (C) 2014 Johannes Bergmann | |
### | |
Author: Scott Martin <[email protected]> | |
Copyright (C) 2004 Scott Martin <[email protected]> | |
Copyright (C) 2005 Stef Walter (formerly Nate Nielsen) <[email protected]> | |
Copyright (C) 2005-2007 Marco Barisione <[email protected]> | |
Copyright (C) 2005-2007 Emanuele Aina | |
GtkSourceView is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
GtkSourceView is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with this library; if not, write to the Free Software | |
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
--> | |
<language id="ts" _name="TypeScript" version="2.0" _section="Scripts"> | |
<metadata> | |
<property name="mimetypes">application/typescript;application/x-typescript;text/x-typescript;text/typescript;</property> | |
<property name="globs">*.ts</property> | |
<property name="line-comment-start">//</property> | |
<property name="block-comment-start">/*</property> | |
<property name="block-comment-end">*/</property> | |
</metadata> | |
<styles> | |
<style id="escape" _name="Escaped Character" map-to="def:special-char"/> | |
<style id="null-value" _name="Null Value" map-to="def:special-constant"/> | |
<style id="undefined-value" _name="Undefined Value" map-to="def:special-constant"/> | |
<style id="boolean" _name="Boolean Value" map-to="def:boolean"/> | |
<style id="keyword" _name="Keyword" map-to="def:keyword"/> | |
<style id="type" _name="Data Type" map-to="def:type"/> | |
<style id="function" _name="Function" map-to="def:builtin"/> | |
<style id="properties" _name="Properties" map-to="def:statement"/> | |
<style id="constructors" _name="Constructors" map-to="def:type"/> | |
<style id="future-words" _name="Future Reserved Keywords" map-to="def:error"/> | |
<style id="string" _name="String" map-to="def:string"/> | |
<style id="regex" _name="Regular Expression" map-to="def:string"/> | |
</styles> | |
<definitions> | |
<!--regex--> | |
<define-regex id="regex-opts">[iomx]*[neus]?[iomx]*</define-regex> | |
<!--contexts NOT used in the main context--> | |
<context id="escape" style-ref="escape"> | |
<match>\\((0-7){3}|(x[a-fA-F0-9]{2})|(c\S)|([CM]-\S)|(M-C-\S)|.)</match> | |
</context> | |
<context id="regex-bracketed" style-ref="escape" style-inside="true"> | |
<start>(?<!\\)[[]</start> | |
<end>(?<!\\)]</end> | |
</context> | |
<!--contexts used in the main context--> | |
<context id="regex-simple" style-ref="regex"> | |
<start extended="true"> | |
((?<=([(]|\s))|^) | |
\/ | |
(?= | |
([^/\\]*(\\.))* | |
[^/]* | |
\/ | |
\%{regex-opts} | |
([),;.]|\s|$) | |
)</start> | |
<end>\/\%{regex-opts}</end> | |
<include> | |
<context ref="escape"/> | |
<context ref="def:line-continue"/> | |
<context ref="regex-bracketed"/> | |
</include> | |
</context> | |
<!-- | |
There was a long discussion on ##javascript on freenode between | |
'katspaugh', 'joo' and 'prog_' on whether 'undefined' should be | |
highlighted on not, specialy as a constant. The conclusion was "It can't | |
be highlighted as a constant literal value, because it can be an | |
identifier (of a variable value) but leave it be as it is. Let tradition | |
and convention obscure the details." | |
--> | |
<context id="undefined-value" style-ref="undefined-value"> | |
<keyword>undefined</keyword> | |
</context> | |
<context id="null-value" style-ref="null-value"> | |
<keyword>null</keyword> | |
</context> | |
<context id="boolean" style-ref="boolean"> | |
<keyword>false</keyword> | |
<keyword>true</keyword> | |
</context> | |
<context id="keywords" style-ref="keyword"> | |
<keyword>break</keyword> | |
<keyword>case</keyword> | |
<keyword>catch</keyword> | |
<keyword>continue</keyword> | |
<keyword>debugger</keyword> | |
<keyword>default</keyword> | |
<keyword>delete</keyword> | |
<keyword>do</keyword> | |
<keyword>else</keyword> | |
<keyword>export</keyword> | |
<keyword>finally</keyword> | |
<keyword>for</keyword> | |
<keyword>function</keyword> | |
<keyword>if</keyword> | |
<keyword>import</keyword> | |
<keyword>instanceof</keyword> | |
<keyword>in</keyword> | |
<keyword>new</keyword> | |
<keyword>return</keyword> | |
<keyword>switch</keyword> | |
<keyword>this</keyword> | |
<keyword>throw</keyword> | |
<keyword>try</keyword> | |
<keyword>typeof</keyword> | |
<keyword>var</keyword> | |
<keyword>void</keyword> | |
<keyword>while</keyword> | |
<keyword>with</keyword> | |
</context> | |
<context id="unofficial-keywords" style-ref="keyword"> | |
<keyword>const</keyword> | |
<keyword>let</keyword> | |
<keyword>yield</keyword> | |
</context> | |
<context id="typescript-keywords" style-ref="keyword"> | |
<keyword>class</keyword> | |
<keyword>interface</keyword> | |
<keyword>extends</keyword> | |
<keyword>implements</keyword> | |
<keyword>private</keyword> | |
<keyword>public</keyword> | |
</context> | |
<context id="typescript-primitive-types" style-ref="type"> | |
<keyword>any</keyword> | |
<keyword>number</keyword> | |
<keyword>boolean</keyword> | |
<keyword>string</keyword> | |
<keyword>void</keyword> | |
</context> | |
<context id="types" style-ref="type"> | |
<keyword>Infinity</keyword> | |
<keyword>NaN</keyword> | |
</context> | |
<context id="functions" style-ref="function"> | |
<keyword>abs</keyword> | |
<keyword>acos</keyword> | |
<keyword>apply</keyword> | |
<keyword>asin</keyword> | |
<keyword>atan2</keyword> | |
<keyword>atan</keyword> | |
<keyword>call</keyword> | |
<keyword>ceil</keyword> | |
<keyword>charAt</keyword> | |
<keyword>charCodeAt</keyword> | |
<keyword>concat</keyword> | |
<keyword>cos</keyword> | |
<keyword>decodeURIComponent</keyword> | |
<keyword>decodeURI</keyword> | |
<keyword>encodeURIComponent</keyword> | |
<keyword>encodeURI</keyword> | |
<keyword>escape</keyword> | |
<keyword>eval</keyword> | |
<keyword>exec</keyword> | |
<keyword>exp</keyword> | |
<keyword>floor</keyword> | |
<keyword>fromCharCode</keyword> | |
<keyword>getDate</keyword> | |
<keyword>getDay</keyword> | |
<keyword>getFullYear</keyword> | |
<keyword>getHours</keyword> | |
<keyword>getMilliseconds</keyword> | |
<keyword>getMinutes</keyword> | |
<keyword>getMonth</keyword> | |
<keyword>getSeconds</keyword> | |
<keyword>getTime</keyword> | |
<keyword>getTimezoneOffset</keyword> | |
<keyword>getUTCDate</keyword> | |
<keyword>getUTCDay</keyword> | |
<keyword>getUTCFullYear</keyword> | |
<keyword>getUTCHours</keyword> | |
<keyword>getUTCMilliseconds</keyword> | |
<keyword>getUTCMinutes</keyword> | |
<keyword>getUTCMonth</keyword> | |
<keyword>getUTCSeconds</keyword> | |
<keyword>getYear</keyword> | |
<keyword>hasOwnProperty</keyword> | |
<keyword>indexOf</keyword> | |
<keyword>isFinite</keyword> | |
<keyword>isNaN</keyword> | |
<keyword>isPrototypeOf</keyword> | |
<keyword>join</keyword> | |
<keyword>lastIndexOf</keyword> | |
<keyword>localeCompare</keyword> | |
<keyword>log</keyword> | |
<keyword>match</keyword> | |
<keyword>max</keyword> | |
<keyword>min</keyword> | |
<keyword>parseFloat</keyword> | |
<keyword>parseInt</keyword> | |
<keyword>parse</keyword> | |
<keyword>pop</keyword> | |
<keyword>pow</keyword> | |
<keyword>propertyIsEnumerable</keyword> | |
<keyword>push</keyword> | |
<keyword>random</keyword> | |
<keyword>replace</keyword> | |
<keyword>reverse</keyword> | |
<keyword>round</keyword> | |
<keyword>search</keyword> | |
<keyword>setDate</keyword> | |
<keyword>setFullYear</keyword> | |
<keyword>setHours</keyword> | |
<keyword>setMilliseconds</keyword> | |
<keyword>setMinutes</keyword> | |
<keyword>setMonth</keyword> | |
<keyword>setSeconds</keyword> | |
<keyword>setTime</keyword> | |
<keyword>setUTCDate</keyword> | |
<keyword>setUTCFullYear</keyword> | |
<keyword>setUTCHours</keyword> | |
<keyword>setUTCMilliseconds</keyword> | |
<keyword>setUTCMinutes</keyword> | |
<keyword>setUTCMonth</keyword> | |
<keyword>setUTCSeconds</keyword> | |
<keyword>setYear</keyword> | |
<keyword>shift</keyword> | |
<keyword>sin</keyword> | |
<keyword>slice</keyword> | |
<keyword>sort</keyword> | |
<keyword>split</keyword> | |
<keyword>sqrt</keyword> | |
<keyword>substring</keyword> | |
<keyword>substr</keyword> | |
<keyword>tan</keyword> | |
<keyword>toDateString</keyword> | |
<keyword>toExponential</keyword> | |
<keyword>toFixed</keyword> | |
<keyword>toGMTString</keyword> | |
<keyword>toLocaleDateString</keyword> | |
<keyword>toLocaleLowerCase</keyword> | |
<keyword>toLocaleString</keyword> | |
<keyword>toLocaleTimeString</keyword> | |
<keyword>toLocaleUpperCase</keyword> | |
<keyword>toLowerCase</keyword> | |
<keyword>toPrecision</keyword> | |
<keyword>toString</keyword> | |
<keyword>toTimeString</keyword> | |
<keyword>toUpperCase</keyword> | |
<keyword>toUTCString</keyword> | |
<keyword>unescape</keyword> | |
<keyword>unshift</keyword> | |
<keyword>UTC</keyword> | |
<keyword>valueOf</keyword> | |
</context> | |
<context id="properties" style-ref="properties"> | |
<prefix>\.</prefix> | |
<keyword>constructor</keyword> | |
<keyword>global</keyword> | |
<keyword>ignoreCase</keyword> | |
<keyword>lastIndex</keyword> | |
<keyword>length</keyword> | |
<keyword>message</keyword> | |
<keyword>multiline</keyword> | |
<keyword>name</keyword> | |
<keyword>NEGATIVE_INFINITY</keyword> | |
<keyword>POSITIVE_INFINITY</keyword> | |
<keyword>prototype</keyword> | |
<keyword>source</keyword> | |
</context> | |
<context id="constructors" style-ref="constructors"> | |
<keyword>Array</keyword> | |
<keyword>Boolean</keyword> | |
<keyword>Date</keyword> | |
<keyword>Error</keyword> | |
<keyword>EvalError</keyword> | |
<keyword>Function</keyword> | |
<keyword>Math</keyword> | |
<keyword>Number</keyword> | |
<keyword>Object</keyword> | |
<keyword>RangeError</keyword> | |
<keyword>RegExp</keyword> | |
<keyword>String</keyword> | |
<keyword>SyntaxError</keyword> | |
<keyword>TypeError</keyword> | |
<keyword>URIError</keyword> | |
</context> | |
<context id="future-words" style-ref="future-words"> | |
<keyword>class</keyword> | |
<keyword>enum</keyword> | |
<keyword>extends</keyword> | |
<keyword>super</keyword> | |
<!-- in strict mode --> | |
<keyword>implements</keyword> | |
<keyword>interface</keyword> | |
<keyword>package</keyword> | |
<keyword>private</keyword> | |
<keyword>protected</keyword> | |
<keyword>public</keyword> | |
<keyword>static</keyword> | |
</context> | |
<!--main context--> | |
<context id="ts" class="no-spell-check"> | |
<include> | |
<context ref="def:c-like-comment"/> | |
<context ref="def:c-like-comment-multiline"/> | |
<context ref="def:c-like-close-comment-outside-comment"/> | |
<context ref="def:string" style-ref="string"/> | |
<context ref="def:single-quoted-string" style-ref="string"/> | |
<context ref="def:float"/> | |
<context ref="def:decimal"/> | |
<context ref="def:octal"/> | |
<context ref="def:hexadecimal"/> | |
<context ref="undefined-value"/> | |
<context ref="boolean"/> | |
<context ref="keywords"/> | |
<context ref="unofficial-keywords"/> | |
<context ref="typescript-keywords"/> | |
<context ref="typescript-primitive-types"/> | |
<context ref="types"/> | |
<context ref="functions"/> | |
<context ref="properties"/> | |
<context ref="constructors"/> | |
<context ref="future-words"/> | |
<context ref="regex-simple"/> | |
</include> | |
</context> | |
<!--main context--> | |
</definitions> | |
</language> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment