From c3cfeacc22abae245047dbf429413e265f92bc3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Sun, 28 Mar 2021 11:57:04 +0200 Subject: [PATCH] lexers/typescript: add new upstream lexer revision 28e2b60 --- lua/lexers/typescript.lua | 23 +++++++++++++++++++++++ lua/plugins/filetype.lua | 5 ++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 lua/lexers/typescript.lua diff --git a/lua/lexers/typescript.lua b/lua/lexers/typescript.lua new file mode 100644 index 0000000..4260c2e --- /dev/null +++ b/lua/lexers/typescript.lua @@ -0,0 +1,23 @@ +-- Copyright 2021 Mitchell. See LICENSE. +-- TypeScript LPeg lexer. + +local lexer = require('lexer') +local token, word_match = lexer.token, lexer.word_match +local P, S = lpeg.P, lpeg.S + +local lex = lexer.new('typescript', {inherit = lexer.load('javascript')}) + +-- Whitespace +lex:modify_rule('whitespace', token(lexer.WHITESPACE, lexer.space^1)) + +-- Keywords. +lex:modify_rule('keyword', token(lexer.KEYWORD, word_match[[ + abstract as constructor declare is module namespace require type +]]) + lex:get_rule('keyword')) + +-- Types. +lex:modify_rule('type', token(lexer.TYPE, word_match[[ + boolean number bigint string unknown any void never symbol object +]]) + lex:get_rule('type')) + +return lex diff --git a/lua/plugins/filetype.lua b/lua/plugins/filetype.lua index f3db340..2df42b0 100644 --- a/lua/plugins/filetype.lua +++ b/lua/plugins/filetype.lua @@ -204,7 +204,7 @@ vis.ftdetect.filetypes = { ext = { "%.bsh$", "%.java$" }, }, javascript = { - ext = { "%.cjs$", "%.js$", "%.jsfl$", "%.mjs$", "%.ts$" }, + ext = { "%.cjs$", "%.js$", "%.jsfl$", "%.mjs$" }, }, jq = { ext = { "%.jq$" }, @@ -424,6 +424,9 @@ vis.ftdetect.filetypes = { toml = { ext = { "%.toml$" }, }, + typescript = { + ext = { "%.ts$" }, + }, vala = { ext = { "%.vala$" } }, -- 2.38.5