From 4843397866e1248d3a239ec139b99d3c78bc872f Mon Sep 17 00:00:00 2001 From: Jacob Pratt Date: Tue, 28 Mar 2017 22:20:43 -0400 Subject: [PATCH] TypeScript syntax highlighting --- data/Makefile.am | 1 + data/filedefs/filetypes.TypeScript.conf | 54 +++++++++++++++++++++++++ data/filetype_extensions.conf | 3 +- 3 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 data/filedefs/filetypes.TypeScript.conf diff --git a/data/Makefile.am b/data/Makefile.am index f23104d751..81721172b0 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -68,6 +68,7 @@ filetypes = \ filedefs/filetypes.sh \ filedefs/filetypes.sql \ filedefs/filetypes.Swift.conf \ + filedefs/filetypes.TypeScript.conf \ filedefs/filetypes.tcl \ filedefs/filetypes.txt2tags \ filedefs/filetypes.vala \ diff --git a/data/filedefs/filetypes.TypeScript.conf b/data/filedefs/filetypes.TypeScript.conf new file mode 100644 index 0000000000..8174b0e6d8 --- /dev/null +++ b/data/filedefs/filetypes.TypeScript.conf @@ -0,0 +1,54 @@ +# based on JavaScript file +# For complete documentation of this file, please see Geany's main documentation +[styling=C] + +[keywords] +# all items must be in one line +primary=break case catch class const continue debugger default delete do else enum export extends extend false finally for function get if import in Infinity instanceof let NaN new null return set static super switch this throw true try typeof undefined var let while with yield prototype async await declare aliased interfaced Alias Interface interface +secondary=Array Boolean boolean Date Function Math Number number Object String string RegExp EvalError Error RangeError ReferenceError SyntaxError TypeError URIError constructor prototype decodeURI decodeURIComponent encodeURI encodeURIComponent eval isFinite isNaN parseFloat parseInt protected public private keyof void any never readonly as + +[lexer_properties=C] +# partially handles ES6 template strings +lexer.cpp.backquoted.strings=1 + +[settings] +# default extension used when saving files +extension=ts +lexer_filetype=C + +# MIME type +mime_type=text/x-typescript + +# the following characters are these which a "word" can contains, see documentation +#wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 + +# single comments, like # in this file +comment_single=// +# multiline comments +comment_open=/* +comment_close=*/ + +# set to false if a comment character/string should start at column 0 of a line, true uses any +# indentation of the line, e.g. setting to true causes the following on pressing CTRL+d + #command_example(); +# setting to false would generate this +# command_example(); +# This setting works only for single line comments +comment_use_indent=true + +# context action command (please see Geany's main documentation for details) +context_action_cmd= + +[indentation] +#width=4 +# 0 is spaces, 1 is tabs, 2 is tab & spaces +#type=1 + +[build-menu] +# %f will be replaced by the complete filename +# %e will be replaced by the filename without extension +# (use only one of it at one time) +#FT_02_LB=_Lint +#FT_02_CM=jshint "%f" +#FT_02_WD= +#error_regex=([^:]+): line ([0-9]+), col ([0-9]+) diff --git a/data/filetype_extensions.conf b/data/filetype_extensions.conf index bee6e7f8b3..ba11bbb4b1 100644 --- a/data/filetype_extensions.conf +++ b/data/filetype_extensions.conf @@ -68,6 +68,7 @@ SQL=*.sql; Swift=*.swift; Tcl=*.tcl;*.tk;*.wish;*.exp; Txt2tags=*.t2t; +TypeScript=*.ts; Vala=*.vala;*.vapi; Verilog=*.v; VHDL=*.vhd;*.vhdl; @@ -79,7 +80,7 @@ None=*; # Note: restarting is required after editing groups [Groups] Programming=Arduino;Clojure;CUDA;Cython;Genie;Groovy;Kotlin;Scala;Swift; -Script=Graphviz; +Script=Graphviz;TypeScript; Markup= Misc=JSON; None=