aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/autoload/provider/pythonx.vim4
-rw-r--r--runtime/autoload/spellfile.vim10
-rw-r--r--runtime/compiler/ts-node.vim29
-rw-r--r--runtime/compiler/tsc.vim26
-rw-r--r--runtime/doc/cmdline.txt4
-rw-r--r--runtime/doc/eval.txt14
-rw-r--r--runtime/doc/insert.txt4
-rw-r--r--runtime/doc/intro.txt2
-rw-r--r--runtime/doc/lsp.txt8
-rw-r--r--runtime/doc/lua.txt335
-rw-r--r--runtime/doc/options.txt33
-rw-r--r--runtime/doc/quickfix.txt39
-rw-r--r--runtime/doc/spell.txt14
-rw-r--r--runtime/doc/treesitter.txt295
-rw-r--r--runtime/doc/vim_diff.txt3
-rw-r--r--runtime/doc/visual.txt5
-rw-r--r--runtime/filetype.vim10
-rw-r--r--runtime/ftplugin/typescript.vim39
-rw-r--r--runtime/ftplugin/typescriptreact.vim33
-rw-r--r--runtime/indent/typescript.vim4
-rw-r--r--runtime/lua/vim/lsp/buf.lua46
-rw-r--r--runtime/lua/vim/lsp/callbacks.lua21
-rw-r--r--runtime/lua/vim/lsp/rpc.lua11
-rw-r--r--runtime/lua/vim/lsp/util.lua54
-rw-r--r--runtime/lua/vim/treesitter.lua22
-rw-r--r--runtime/lua/vim/treesitter/highlighter.lua84
-rw-r--r--runtime/lua/vim/treesitter/query.lua56
-rw-r--r--runtime/lua/vim/uri.lua20
-rw-r--r--runtime/pack/dist/opt/cfilter/plugin/cfilter.vim39
-rw-r--r--runtime/syntax/resolv.vim53
-rw-r--r--runtime/syntax/typescript.vim2052
-rw-r--r--runtime/syntax/typescriptcommon.vim2067
-rw-r--r--runtime/syntax/typescriptreact.vim160
33 files changed, 3103 insertions, 2493 deletions
diff --git a/runtime/autoload/provider/pythonx.vim b/runtime/autoload/provider/pythonx.vim
index e89d519790..550931d8aa 100644
--- a/runtime/autoload/provider/pythonx.vim
+++ b/runtime/autoload/provider/pythonx.vim
@@ -29,8 +29,8 @@ endfunction
function! s:get_python_candidates(major_version) abort
return {
\ 2: ['python2', 'python2.7', 'python2.6', 'python'],
- \ 3: ['python3', 'python3.9', 'python3.8', 'python3.7', 'python3.6', 'python3.5',
- \ 'python3.4', 'python3.3', 'python']
+ \ 3: ['python3', 'python3.10', 'python3.9', 'python3.8', 'python3.7',
+ \ 'python3.6', 'python']
\ }[a:major_version]
endfunction
diff --git a/runtime/autoload/spellfile.vim b/runtime/autoload/spellfile.vim
index d098902305..e36e2f936b 100644
--- a/runtime/autoload/spellfile.vim
+++ b/runtime/autoload/spellfile.vim
@@ -1,13 +1,9 @@
" Vim script to download a missing spell file
if !exists('g:spellfile_URL')
- " Prefer using http:// when netrw should be able to use it, since
- " more firewalls let this through.
- if executable("curl") || executable("wget") || executable("fetch")
- let g:spellfile_URL = 'http://ftp.vim.org/pub/vim/runtime/spell'
- else
- let g:spellfile_URL = 'ftp://ftp.vim.org/pub/vim/runtime/spell'
- endif
+ " Always use https:// because it's secure. The certificate is for nluug.nl,
+ " thus we can't use the alias ftp.vim.org here.
+ let g:spellfile_URL = 'https://ftp.nluug.nl/pub/vim/runtime/spell'
endif
let s:spellfile_URL = '' " Start with nothing so that s:donedict is reset.
diff --git a/runtime/compiler/ts-node.vim b/runtime/compiler/ts-node.vim
new file mode 100644
index 0000000000..14f0ea790c
--- /dev/null
+++ b/runtime/compiler/ts-node.vim
@@ -0,0 +1,29 @@
+" Vim compiler file
+" Compiler: TypeScript Runner
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2020 Feb 10
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "node"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+" CompilerSet makeprg=npx\ ts-node
+
+CompilerSet makeprg=ts-node
+CompilerSet errorformat=%f\ %#(%l\\,%c):\ %trror\ TS%n:\ %m,
+ \%E%f:%l,
+ \%+Z%\\w%\\+Error:\ %.%#,
+ \%C%p^%\\+,
+ \%C%.%#,
+ \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/tsc.vim b/runtime/compiler/tsc.vim
new file mode 100644
index 0000000000..a246fc7751
--- /dev/null
+++ b/runtime/compiler/tsc.vim
@@ -0,0 +1,26 @@
+" Vim compiler file
+" Compiler: TypeScript Compiler
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2020 Feb 10
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "tsc"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+" CompilerSet makeprg=npx\ tsc
+
+CompilerSet makeprg=tsc
+CompilerSet errorformat=%f\ %#(%l\\,%c):\ %trror\ TS%n:\ %m,
+ \%trror\ TS%n:\ %m,
+ \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 163dc81804..f7a281cb88 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -224,6 +224,10 @@ CTRL-[ *c_CTRL-[* *c_<Esc>* *c_Esc*
present in 'cpoptions', start entered command.
Note: If your <Esc> key is hard to hit on your keyboard, train
yourself to use CTRL-[.
+ *c_META* *c_ALT*
+ ALT (|META|) acts like <Esc> if the chord is not mapped.
+ For example <A-x> acts like <Esc>x if <A-x> does not have a
+ command-line mode mapping.
*c_CTRL-C*
CTRL-C quit command-line without executing
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 5127a9f390..0f848d0c27 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -38,7 +38,9 @@ List An ordered sequence of items |List|.
Dictionary An associative, unordered array: Each entry has a key and a
value. |Dictionary|
- Example: {'blue': "#0000ff", 'red': "#ff0000"}
+ Examples:
+ {'blue': "#0000ff", 'red': "#ff0000"}
+ #{blue: "#0000ff", red: "#ff0000"}
The Number and String types are converted automatically, depending on how they
are used.
@@ -436,8 +438,14 @@ only appear once. Examples: >
A key is always a String. You can use a Number, it will be converted to a
String automatically. Thus the String '4' and the number 4 will find the same
entry. Note that the String '04' and the Number 04 are different, since the
-Number will be converted to the String '4'. The empty string can be used as a
-key.
+Number will be converted to the String '4'. The empty string can also be used
+as a key.
+ *literal-Dict*
+To avoid having to put quotes around every key the #{} form can be used. This
+does require the key to consist only of ASCII letters, digits, '-' and '_'.
+Example: >
+ let mydict = #{zero: 0, one_key: 1, two-key: 2, 333: 3}
+Note that 333 here is the string "333". Empty keys are not possible with #{}.
A value can be any expression. Using a Dictionary for a value creates a
nested Dictionary: >
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index e53af5074b..c4b93a2a27 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -42,9 +42,9 @@ char action ~
abbreviation.
Note: If your <Esc> key is hard to hit, try CTRL-[ instead.
*i_META* *i_ALT*
- ALT (|META|) acts like <Esc> if the chord is not mapped.
+ ALT (|META|) acts like <Esc> if the chord is not mapped.
For example <A-x> acts like <Esc>x if <A-x> does not have an
- insert-mode mapping.
+ insert-mode mapping.
*i_CTRL-C*
CTRL-C Quit insert mode, go back to Normal mode. Do not check for
abbreviations. Does not trigger the |InsertLeave| autocommand
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 59b1f44e39..d858985e3f 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -382,6 +382,8 @@ Note:
<k1>, ..., <k9> and <kPoint> will not work.
- Nvim supports mapping multibyte chars with modifiers such as `<M-ä>`. Which
combinations actually work depends on the the UI or host terminal.
+- When a key is pressed using a meta or alt modifier and no mapping exists
+ for that keypress, Nvim behaves as though <Esc> was pressed before the key.
*<>*
Examples are often given in the <> notation. Sometimes this is just to make
diff --git a/runtime/doc/lsp.txt b/runtime/doc/lsp.txt
index b32775bc82..44b611c2cf 100644
--- a/runtime/doc/lsp.txt
+++ b/runtime/doc/lsp.txt
@@ -39,9 +39,10 @@ To check LSP clients attached to the current buffer: >
*lsp-config*
Inline diagnostics are enabled automatically, e.g. syntax errors will be
annotated in the buffer. But you probably want to use other features like
-go-to-definition, hover, etc. Example config: >
+go-to-definition, hover, etc. Full list of features in |vim.lsp.buf|.
+
+Example config: >
- nnoremap <silent> gd <cmd>lua vim.lsp.buf.declaration()<CR>
nnoremap <silent> <c-]> <cmd>lua vim.lsp.buf.definition()<CR>
nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR>
nnoremap <silent> gD <cmd>lua vim.lsp.buf.implementation()<CR>
@@ -50,6 +51,9 @@ go-to-definition, hover, etc. Example config: >
nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR>
nnoremap <silent> g0 <cmd>lua vim.lsp.buf.document_symbol()<CR>
nnoremap <silent> gW <cmd>lua vim.lsp.buf.workspace_symbol()<CR>
+ nnoremap <silent> gd <cmd>lua vim.lsp.buf.declaration()<CR>
+
+Note: Language servers may have limited support for these features.
Nvim provides the |vim.lsp.omnifunc| 'omnifunc' handler which allows
|i_CTRL-X_CTRL-O| to consume LSP completion. Example config (note the use of
diff --git a/runtime/doc/lua.txt b/runtime/doc/lua.txt
index 509ed7bf2c..a53024d420 100644
--- a/runtime/doc/lua.txt
+++ b/runtime/doc/lua.txt
@@ -551,290 +551,6 @@ Example: TCP echo-server *tcp-server*
print('TCP echo-server listening on port: '..server:getsockname().port)
------------------------------------------------------------------------------
-VIM.TREESITTER *lua-treesitter*
-
-Nvim integrates the tree-sitter library for incremental parsing of buffers.
-
-Currently Nvim does not provide the tree-sitter parsers, instead these must
-be built separately, for instance using the tree-sitter utility. The only
-exception is a C parser being included in official builds for testing
-purposes. Parsers are searched for as `parser/{lang}.*` in any 'runtimepath'
-directory. A parser can also be loaded manually using a full path: >
-
- vim.treesitter.require_language("python", "/path/to/python.so")
-
-<Create a parser for a buffer and a given language (if another plugin uses the
-same buffer/language combination, it will be safely reused). Use >
-
- parser = vim.treesitter.get_parser(bufnr, lang)
-
-<`bufnr=0` can be used for current buffer. `lang` will default to 'filetype' (this
-doesn't work yet for some filetypes like "cpp") Currently, the parser will be
-retained for the lifetime of a buffer but this is subject to change. A plugin
-should keep a reference to the parser object as long as it wants incremental
-updates.
-
-Parser files *treesitter-parsers*
-
-Parsers are the heart of tree-sitter. They are libraries that tree-sitter will
-search for in the `parsers` runtime directory.
-
-For a parser to be available for a given language, there must be a file named
-`{lang}.so` within the parser directory.
-
-Parser methods *lua-treesitter-parser*
-
-tsparser:parse() *tsparser:parse()*
-Whenever you need to access the current syntax tree, parse the buffer: >
-
- tstree = parser:parse()
-
-<This will return an immutable tree that represents the current state of the
-buffer. When the plugin wants to access the state after a (possible) edit
-it should call `parse()` again. If the buffer wasn't edited, the same tree will
-be returned again without extra work. If the buffer was parsed before,
-incremental parsing will be done of the changed parts.
-
-NB: to use the parser directly inside a |nvim_buf_attach| Lua callback, you must
-call `get_parser()` before you register your callback. But preferably parsing
-shouldn't be done directly in the change callback anyway as they will be very
-frequent. Rather a plugin that does any kind of analysis on a tree should use
-a timer to throttle too frequent updates.
-
-tsparser:set_included_ranges({ranges}) *tsparser:set_included_ranges()*
- Changes the ranges the parser should consider. This is used for
- language injection. {ranges} should be of the form (all zero-based): >
- {
- {start_node, end_node},
- ...
- }
-<
- NOTE: `start_node` and `end_node` are both inclusive.
-
-Tree methods *lua-treesitter-tree*
-
-tstree:root() *tstree:root()*
- Return the root node of this tree.
-
-
-Node methods *lua-treesitter-node*
-
-tsnode:parent() *tsnode:parent()*
- Get the node's immediate parent.
-
-tsnode:iter_children() *tsnode:iter_children()*
- Iterates over all the direct children of {tsnode}, regardless of
- wether they are named or not.
- Returns the child node plus the eventual field name corresponding to
- this child node.
-
-tsnode:field({name}) *tsnode:field()*
- Returns a table of the nodes corresponding to the {name} field.
-
-tsnode:child_count() *tsnode:child_count()*
- Get the node's number of children.
-
-tsnode:child({index}) *tsnode:child()*
- Get the node's child at the given {index}, where zero represents the
- first child.
-
-tsnode:named_child_count() *tsnode:named_child_count()*
- Get the node's number of named children.
-
-tsnode:named_child({index}) *tsnode:named_child()*
- Get the node's named child at the given {index}, where zero represents
- the first named child.
-
-tsnode:start() *tsnode:start()*
- Get the node's start position. Return three values: the row, column
- and total byte count (all zero-based).
-
-tsnode:end_() *tsnode:end_()*
- Get the node's end position. Return three values: the row, column
- and total byte count (all zero-based).
-
-tsnode:range() *tsnode:range()*
- Get the range of the node. Return four values: the row, column
- of the start position, then the row, column of the end position.
-
-tsnode:type() *tsnode:type()*
- Get the node's type as a string.
-
-tsnode:symbol() *tsnode:symbol()*
- Get the node's type as a numerical id.
-
-tsnode:named() *tsnode:named()*
- Check if the node is named. Named nodes correspond to named rules in
- the grammar, whereas anonymous nodes correspond to string literals
- in the grammar.
-
-tsnode:missing() *tsnode:missing()*
- Check if the node is missing. Missing nodes are inserted by the
- parser in order to recover from certain kinds of syntax errors.
-
-tsnode:has_error() *tsnode:has_error()*
- Check if the node is a syntax error or contains any syntax errors.
-
-tsnode:sexpr() *tsnode:sexpr()*
- Get an S-expression representing the node as a string.
-
-tsnode:descendant_for_range({start_row}, {start_col}, {end_row}, {end_col})
- *tsnode:descendant_for_range()*
- Get the smallest node within this node that spans the given range of
- (row, column) positions
-
-tsnode:named_descendant_for_range({start_row}, {start_col}, {end_row}, {end_col})
- *tsnode:named_descendant_for_range()*
- Get the smallest named node within this node that spans the given
- range of (row, column) positions
-
-Query methods *lua-treesitter-query*
-
-Tree-sitter queries are supported, with some limitations. Currently, the only
-supported match predicate is `eq?` (both comparing a capture against a string
-and two captures against each other).
-
-vim.treesitter.parse_query({lang}, {query})
- *vim.treesitter.parse_query()*
- Parse {query} as a string. (If the query is in a file, the caller
- should read the contents into a string before calling).
-
-query:iter_captures({node}, {bufnr}, {start_row}, {end_row})
- *query:iter_captures()*
- Iterate over all captures from all matches inside {node}.
- {bufnr} is needed if the query contains predicates, then the caller
- must ensure to use a freshly parsed tree consistent with the current
- text of the buffer. {start_row} and {end_row} can be used to limit
- matches inside a row range (this is typically used with root node
- as the node, i e to get syntax highlight matches in the current
- viewport)
-
- The iterator returns two values, a numeric id identifying the capture
- and the captured node. The following example shows how to get captures
- by name:
->
- for id, node in query:iter_captures(tree:root(), bufnr, first, last) do
- local name = query.captures[id] -- name of the capture in the query
- -- typically useful info about the node:
- local type = node:type() -- type of the captured node
- local row1, col1, row2, col2 = node:range() -- range of the capture
- ... use the info here ...
- end
-<
-query:iter_matches({node}, {bufnr}, {start_row}, {end_row})
- *query:iter_matches()*
- Iterate over all matches within a node. The arguments are the same as
- for |query:iter_captures()| but the iterated values are different:
- an (1-based) index of the pattern in the query, and a table mapping
- capture indices to nodes. If the query has more than one pattern
- the capture table might be sparse, and e.g. `pairs` should be used and not
- `ipairs`. Here an example iterating over all captures in
- every match:
->
- for pattern, match in cquery:iter_matches(tree:root(), bufnr, first, last) do
- for id,node in pairs(match) do
- local name = query.captures[id]
- -- `node` was captured by the `name` capture in the match
- ... use the info here ...
- end
- end
-
-Treesitter Query Predicates *lua-treesitter-predicates*
-
-When writing queries for treesitter, one might use `predicates`, that is,
-special scheme nodes that are evaluted to verify things on a captured node for
-example, the |eq?| predicate : >
- ((identifier) @foo (#eq? @foo "foo"))
-
-This will only match identifier corresponding to the `"foo"` text.
-Here is a list of built-in predicates :
-
- `eq?` *ts-predicate-eq?*
- This predicate will check text correspondance between nodes or
- strings : >
- ((identifier) @foo (#eq? @foo "foo"))
- ((node1) @left (node2) @right (#eq? @left @right))
-<
- `match?` *ts-predicate-match?*
- `vim-match?` *ts-predicate-vim-match?*
- This will match if the provived vim regex matches the text
- corresponding to a node : >
- ((idenfitier) @constant (#match? @constant "^[A-Z_]+$"))
-< Note: the `^` and `$` anchors will respectively match the
- start and end of the node's text.
-
- `lua-match?` *ts-predicate-lua-match?*
- This will match the same way than |match?| but using lua
- regexes.
-
- `contains?` *ts-predicate-contains?*
- Will check if any of the following arguments appears in the
- text corresponding to the node : >
- ((identifier) @foo (#contains? @foo "foo"))
- ((identifier) @foo-bar (#contains @foo-bar "foo" "bar"))
-<
- *lua-treesitter-not-predicate*
-Each predicate has a `not-` prefixed predicate that is just the negation of
-the predicate.
-
- *vim.treesitter.query.add_predicate()*
-vim.treesitter.query.add_predicate({name}, {handler})
-
-This adds a predicate with the name {name} to be used in queries.
-{handler} should be a function whose signature will be : >
- handler(match, pattern, bufnr, predicate)
-<
- *vim.treesitter.query.list_predicates()*
-vim.treesitter.query.list_predicates()
-
-This lists the currently available predicates to use in queries.
-
-Treesitter syntax highlighting (WIP) *lua-treesitter-highlight*
-
-NOTE: This is a partially implemented feature, and not usable as a default
-solution yet. What is documented here is a temporary interface indented
-for those who want to experiment with this feature and contribute to
-its development.
-
-Highlights are defined in the same query format as in the tree-sitter highlight
-crate, which some limitations and additions. Set a highlight query for a
-buffer with this code: >
-
- local query = [[
- "for" @keyword
- "if" @keyword
- "return" @keyword
-
- (string_literal) @string
- (number_literal) @number
- (comment) @comment
-
- (preproc_function_def name: (identifier) @function)
-
- ; ... more definitions
- ]]
-
- highlighter = vim.treesitter.TSHighlighter.new(query, bufnr, lang)
- -- alternatively, to use the current buffer and its filetype:
- -- highlighter = vim.treesitter.TSHighlighter.new(query)
-
- -- Don't recreate the highlighter for the same buffer, instead
- -- modify the query like this:
- local query2 = [[ ... ]]
- highlighter:set_query(query2)
-
-As mentioned above the supported predicate is currently only `eq?`. `match?`
-predicates behave like matching always fails. As an addition a capture which
-begin with an upper-case letter like `@WarningMsg` will map directly to this
-highlight group, if defined. Also if the predicate begins with upper-case and
-contains a dot only the part before the first will be interpreted as the
-highlight group. As an example, this warns of a binary expression with two
-identical identifiers, highlighting both as |hl-WarningMsg|: >
-
- ((binary_expression left: (identifier) @WarningMsg.left right: (identifier) @WarningMsg.right)
- (eq? @WarningMsg.left @WarningMsg.right))
-
-------------------------------------------------------------------------------
VIM.HIGHLIGHT *lua-highlight*
Nvim includes a function for highlighting a selection on yank (see for example
@@ -1021,13 +737,20 @@ vim.defer_fn({fn}, {timeout}) *vim.defer_fn*
Returns: ~
|vim.loop|.new_timer() object
-vim.wait({time}, {callback} [, {interval}]) *vim.wait()*
+vim.wait({time} [, {callback}, {interval}, {fast_only}]) *vim.wait()*
Wait for {time} in milliseconds until {callback} returns `true`.
Executes {callback} immediately and at approximately {interval}
milliseconds (default 200). Nvim still processes other events during
this time.
+ Parameters: ~
+ {time} Number of milliseconds to wait
+ {callback} Optional callback. Waits until {callback} returns true
+ {interval} (Approximate) number of milliseconds to wait between polls
+ {fast_only} If true, only |api-fast| events will be processed.
+ If called from while in an |api-fast| event, will
+ automatically be set to `true`.
Returns: ~
If {callback} returns `true` during the {time}:
@@ -1567,4 +1290,46 @@ validate({opt}) *vim.validate()*
• msg: (optional) error string if validation
fails
+
+==============================================================================
+Lua module: uri *lua-uri*
+
+uri_from_bufnr({bufnr}) *vim.uri_from_bufnr()*
+ Get a URI from a bufnr
+
+ Parameters: ~
+ {bufnr} (number): Buffer number
+
+ Return: ~
+ URI
+
+uri_from_fname({path}) *vim.uri_from_fname()*
+ Get a URI from a file path.
+
+ Parameters: ~
+ {path} (string): Path to file
+
+ Return: ~
+ URI
+
+uri_to_bufnr({uri}) *vim.uri_to_bufnr()*
+ Return or create a buffer for a uri.
+
+ Parameters: ~
+ {uri} (string): The URI
+
+ Return: ~
+ bufnr.
+ Note:
+ Creates buffer but does not load it
+
+uri_to_fname({uri}) *vim.uri_to_fname()*
+ Get a filename from a URI
+
+ Parameters: ~
+ {uri} (string): The URI
+
+ Return: ~
+ Filename
+
vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 190d6f9229..beb5e9f4c2 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -2738,21 +2738,26 @@ A jump table for the options with a short description can be found at |Q_op|.
hor{N} horizontal bar, {N} percent of the character height
ver{N} vertical bar, {N} percent of the character width
block block cursor, fills the whole character
- [only one of the above three should be present]
+ - Only one of the above three should be present.
+ - Default is "block" for each mode.
blinkwait{N} *cursor-blinking*
blinkon{N}
blinkoff{N}
blink times for cursor: blinkwait is the delay before
the cursor starts blinking, blinkon is the time that
the cursor is shown and blinkoff is the time that the
- cursor is not shown. The times are in msec. When one
- of the numbers is zero, there is no blinking. E.g.: >
+ cursor is not shown. Times are in msec. When one of
+ the numbers is zero, there is no blinking. E.g.: >
:set guicursor=n:blinkon0
-< {group-name}
- Highlight group name that sets the color and font for
- the cursor. |inverse|/reverse and no group-name are
- interpreted as "the host terminal default cursor
- colors" which usually invert bg and fg colors.
+< - Default is "blinkon0" for each mode.
+ {group-name}
+ Highlight group that decides the color and font of the
+ cursor.
+ In the |TUI|:
+ - |inverse|/reverse and no group-name are interpreted
+ as "host-terminal default cursor colors" which
+ typically means "inverted bg and fg colors".
+ - |ctermfg| and |guifg| are ignored.
{group-name}/{group-name}
Two highlight group names, the first is used when
no language mappings are used, the other when they
@@ -5667,6 +5672,14 @@ A jump table for the options with a short description can be found at |Q_op|.
up to the first character that is not an ASCII letter or number and
not a dash. Also see |set-spc-auto|.
+ *'spelloptions'* *'spo'*
+'spelloptions' 'spo' string (default "")
+ local to buffer
+ A comma separated list of options for spell checking:
+ camel When a word is CamelCased, assume "Cased" is a
+ separate word: every upper-case character in a word
+ that comes after a lower case character indicates the
+ start of a new word.
*'spellsuggest'* *'sps'*
'spellsuggest' 'sps' string (default "best")
@@ -6492,7 +6505,9 @@ A jump table for the options with a short description can be found at |Q_op|.
>= 12 Every executed function.
>= 13 When an exception is thrown, caught, finished, or discarded.
>= 14 Anything pending in a ":finally" clause.
- >= 15 Every executed Ex command (truncated at 200 characters).
+ >= 15 Every executed Ex command from a script (truncated at 200
+ characters).
+ >= 16 Every executed Ex command
This option can also be set with the "-V" argument. See |-V|.
This option is also set by the |:verbose| command.
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index 61e090cc78..188cfc91b6 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -501,6 +501,29 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
< Otherwise it works the same as `:ldo`.
{not in Vi}
+FILTERING A QUICKFIX OR LOCATION LIST:
+ *cfilter-plugin* *:Cfilter* *:Lfilter*
+If you have too many entries in a quickfix list, you can use the cfilter
+plugin to reduce the number of entries. Load the plugin with: >
+
+ packadd cfilter
+
+Then you can use the following commands to filter a quickfix/location list: >
+
+ :Cfilter[!] /{pat}/
+ :Lfilter[!] /{pat}/
+
+The |:Cfilter| command creates a new quickfix list from the entries matching
+{pat} in the current quickfix list. {pat} is a Vim |regular-expression|
+pattern. Both the file name and the text of the entries are matched against
+{pat}. If the optional ! is supplied, then the entries not matching {pat} are
+used. The pattern can be optionally enclosed using one of the following
+characters: ', ", /. If the pattern is empty, then the last used search
+pattern is used.
+
+The |:Lfilter| command does the same as |:Cfilter| but operates on the current
+location list.
+
=============================================================================
2. The error window *quickfix-window*
@@ -1563,22 +1586,6 @@ The backslashes before the pipe character are required to avoid it to be
recognized as a command separator. The backslash before each space is
required for the set command.
- *cfilter-plugin* *:Cfilter* *:Lfilter*
-If you have too many matching messages, you can use the cfilter plugin to
-reduce the number of entries. Load the plugin with: >
- packadd cfilter
-
-Then you can use these command: >
- :Cfilter[!] /{pat}/
- :Lfilter[!] /{pat}/
-
-:Cfilter creates a new quickfix list from entries matching {pat} in the
-current quickfix list. Both the file name and the text of the entries are
-matched against {pat}. If ! is supplied, then entries not matching {pat} are
-used.
-
-:Lfilter does the same as :Cfilter but operates on the current location list.
-
=============================================================================
8. The directory stack *quickfix-directory-stack*
diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt
index b88e26cdff..0eef976819 100644
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -187,6 +187,9 @@ When there is a line break right after a sentence the highlighting of the next
line may be postponed. Use |CTRL-L| when needed. Also see |set-spc-auto| for
how it can be set automatically when 'spelllang' is set.
+The 'spelloptions' option has a few more flags that influence the way spell
+checking works.
+
Vim counts the number of times a good word is encountered. This is used to
sort the suggestions: words that have been seen before get a small bonus,
words that have been seen often get a bigger bonus. The COMMON item in the
@@ -617,11 +620,12 @@ ask you where to write the file (there must be a writable directory in
'runtimepath' for this).
The plugin has a default place where to look for spell files, on the Vim ftp
-server. If you want to use another location or another protocol, set the
-g:spellfile_URL variable to the directory that holds the spell files. The
-|netrw| plugin is used for getting the file, look there for the specific
-syntax of the URL. Example: >
- let g:spellfile_URL = 'http://ftp.vim.org/vim/runtime/spell'
+server. The protocol used is SSL (https://) for security. If you want to use
+another location or another protocol, set the g:spellfile_URL variable to the
+directory that holds the spell files. You can use http:// or ftp://, but you
+are taking a security risk then. The |netrw| plugin is used for getting the
+file, look there for the specific syntax of the URL. Example: >
+ let g:spellfile_URL = 'https://ftp.nluug.nl/vim/runtime/spell'
You may need to escape special characters.
The plugin will only ask about downloading a language once. If you want to
diff --git a/runtime/doc/treesitter.txt b/runtime/doc/treesitter.txt
new file mode 100644
index 0000000000..7f644486f7
--- /dev/null
+++ b/runtime/doc/treesitter.txt
@@ -0,0 +1,295 @@
+*treesitter.txt* Nvim
+
+
+ NVIM REFERENCE MANUAL
+
+
+Tree-sitter integration *treesitter*
+
+ Type |gO| to see the table of contents.
+
+------------------------------------------------------------------------------
+VIM.TREESITTER *lua-treesitter*
+
+Nvim integrates the tree-sitter library for incremental parsing of buffers.
+
+Currently Nvim does not provide the tree-sitter parsers, instead these must
+be built separately, for instance using the tree-sitter utility. The only
+exception is a C parser being included in official builds for testing
+purposes. Parsers are searched for as `parser/{lang}.*` in any 'runtimepath'
+directory. A parser can also be loaded manually using a full path: >
+
+ vim.treesitter.require_language("python", "/path/to/python.so")
+
+<Create a parser for a buffer and a given language (if another plugin uses the
+same buffer/language combination, it will be safely reused). Use >
+
+ parser = vim.treesitter.get_parser(bufnr, lang)
+
+<`bufnr=0` can be used for current buffer. `lang` will default to 'filetype' (this
+doesn't work yet for some filetypes like "cpp") Currently, the parser will be
+retained for the lifetime of a buffer but this is subject to change. A plugin
+should keep a reference to the parser object as long as it wants incremental
+updates.
+
+Parser files *treesitter-parsers*
+
+Parsers are the heart of tree-sitter. They are libraries that tree-sitter will
+search for in the `parser` runtime directory.
+
+For a parser to be available for a given language, there must be a file named
+`{lang}.so` within the parser directory.
+
+Parser methods *lua-treesitter-parser*
+
+tsparser:parse() *tsparser:parse()*
+Whenever you need to access the current syntax tree, parse the buffer: >
+
+ tstree = parser:parse()
+
+<This will return an immutable tree that represents the current state of the
+buffer. When the plugin wants to access the state after a (possible) edit
+it should call `parse()` again. If the buffer wasn't edited, the same tree will
+be returned again without extra work. If the buffer was parsed before,
+incremental parsing will be done of the changed parts.
+
+NB: to use the parser directly inside a |nvim_buf_attach| Lua callback, you must
+call `get_parser()` before you register your callback. But preferably parsing
+shouldn't be done directly in the change callback anyway as they will be very
+frequent. Rather a plugin that does any kind of analysis on a tree should use
+a timer to throttle too frequent updates.
+
+tsparser:set_included_ranges({ranges}) *tsparser:set_included_ranges()*
+ Changes the ranges the parser should consider. This is used for
+ language injection. {ranges} should be of the form (all zero-based): >
+ {
+ {start_node, end_node},
+ ...
+ }
+<
+ NOTE: `start_node` and `end_node` are both inclusive.
+
+Tree methods *lua-treesitter-tree*
+
+tstree:root() *tstree:root()*
+ Return the root node of this tree.
+
+
+Node methods *lua-treesitter-node*
+
+tsnode:parent() *tsnode:parent()*
+ Get the node's immediate parent.
+
+tsnode:iter_children() *tsnode:iter_children()*
+ Iterates over all the direct children of {tsnode}, regardless of
+ wether they are named or not.
+ Returns the child node plus the eventual field name corresponding to
+ this child node.
+
+tsnode:field({name}) *tsnode:field()*
+ Returns a table of the nodes corresponding to the {name} field.
+
+tsnode:child_count() *tsnode:child_count()*
+ Get the node's number of children.
+
+tsnode:child({index}) *tsnode:child()*
+ Get the node's child at the given {index}, where zero represents the
+ first child.
+
+tsnode:named_child_count() *tsnode:named_child_count()*
+ Get the node's number of named children.
+
+tsnode:named_child({index}) *tsnode:named_child()*
+ Get the node's named child at the given {index}, where zero represents
+ the first named child.
+
+tsnode:start() *tsnode:start()*
+ Get the node's start position. Return three values: the row, column
+ and total byte count (all zero-based).
+
+tsnode:end_() *tsnode:end_()*
+ Get the node's end position. Return three values: the row, column
+ and total byte count (all zero-based).
+
+tsnode:range() *tsnode:range()*
+ Get the range of the node. Return four values: the row, column
+ of the start position, then the row, column of the end position.
+
+tsnode:type() *tsnode:type()*
+ Get the node's type as a string.
+
+tsnode:symbol() *tsnode:symbol()*
+ Get the node's type as a numerical id.
+
+tsnode:named() *tsnode:named()*
+ Check if the node is named. Named nodes correspond to named rules in
+ the grammar, whereas anonymous nodes correspond to string literals
+ in the grammar.
+
+tsnode:missing() *tsnode:missing()*
+ Check if the node is missing. Missing nodes are inserted by the
+ parser in order to recover from certain kinds of syntax errors.
+
+tsnode:has_error() *tsnode:has_error()*
+ Check if the node is a syntax error or contains any syntax errors.
+
+tsnode:sexpr() *tsnode:sexpr()*
+ Get an S-expression representing the node as a string.
+
+tsnode:descendant_for_range({start_row}, {start_col}, {end_row}, {end_col})
+ *tsnode:descendant_for_range()*
+ Get the smallest node within this node that spans the given range of
+ (row, column) positions
+
+tsnode:named_descendant_for_range({start_row}, {start_col}, {end_row}, {end_col})
+ *tsnode:named_descendant_for_range()*
+ Get the smallest named node within this node that spans the given
+ range of (row, column) positions
+
+Query methods *lua-treesitter-query*
+
+Tree-sitter queries are supported, with some limitations. Currently, the only
+supported match predicate is `eq?` (both comparing a capture against a string
+and two captures against each other).
+
+vim.treesitter.parse_query({lang}, {query})
+ *vim.treesitter.parse_query()*
+ Parse {query} as a string. (If the query is in a file, the caller
+ should read the contents into a string before calling).
+
+query:iter_captures({node}, {bufnr}, {start_row}, {end_row})
+ *query:iter_captures()*
+ Iterate over all captures from all matches inside {node}.
+ {bufnr} is needed if the query contains predicates, then the caller
+ must ensure to use a freshly parsed tree consistent with the current
+ text of the buffer. {start_row} and {end_row} can be used to limit
+ matches inside a row range (this is typically used with root node
+ as the node, i e to get syntax highlight matches in the current
+ viewport)
+
+ The iterator returns two values, a numeric id identifying the capture
+ and the captured node. The following example shows how to get captures
+ by name:
+>
+ for id, node in query:iter_captures(tree:root(), bufnr, first, last) do
+ local name = query.captures[id] -- name of the capture in the query
+ -- typically useful info about the node:
+ local type = node:type() -- type of the captured node
+ local row1, col1, row2, col2 = node:range() -- range of the capture
+ ... use the info here ...
+ end
+<
+query:iter_matches({node}, {bufnr}, {start_row}, {end_row})
+ *query:iter_matches()*
+ Iterate over all matches within a node. The arguments are the same as
+ for |query:iter_captures()| but the iterated values are different:
+ an (1-based) index of the pattern in the query, and a table mapping
+ capture indices to nodes. If the query has more than one pattern
+ the capture table might be sparse, and e.g. `pairs` should be used and not
+ `ipairs`. Here an example iterating over all captures in
+ every match:
+>
+ for pattern, match in cquery:iter_matches(tree:root(), bufnr, first, last) do
+ for id,node in pairs(match) do
+ local name = query.captures[id]
+ -- `node` was captured by the `name` capture in the match
+ ... use the info here ...
+ end
+ end
+
+Treesitter Query Predicates *lua-treesitter-predicates*
+
+When writing queries for treesitter, one might use `predicates`, that is,
+special scheme nodes that are evaluted to verify things on a captured node for
+example, the |eq?| predicate : >
+ ((identifier) @foo (#eq? @foo "foo"))
+
+This will only match identifier corresponding to the `"foo"` text.
+Here is a list of built-in predicates :
+
+ `eq?` *ts-predicate-eq?*
+ This predicate will check text correspondance between nodes or
+ strings : >
+ ((identifier) @foo (#eq? @foo "foo"))
+ ((node1) @left (node2) @right (#eq? @left @right))
+<
+ `match?` *ts-predicate-match?*
+ `vim-match?` *ts-predicate-vim-match?*
+ This will match if the provived vim regex matches the text
+ corresponding to a node : >
+ ((idenfitier) @constant (#match? @constant "^[A-Z_]+$"))
+< Note: the `^` and `$` anchors will respectively match the
+ start and end of the node's text.
+
+ `lua-match?` *ts-predicate-lua-match?*
+ This will match the same way than |match?| but using lua
+ regexes.
+
+ `contains?` *ts-predicate-contains?*
+ Will check if any of the following arguments appears in the
+ text corresponding to the node : >
+ ((identifier) @foo (#contains? @foo "foo"))
+ ((identifier) @foo-bar (#contains @foo-bar "foo" "bar"))
+<
+ *lua-treesitter-not-predicate*
+Each predicate has a `not-` prefixed predicate that is just the negation of
+the predicate.
+
+ *vim.treesitter.query.add_predicate()*
+vim.treesitter.query.add_predicate({name}, {handler})
+
+This adds a predicate with the name {name} to be used in queries.
+{handler} should be a function whose signature will be : >
+ handler(match, pattern, bufnr, predicate)
+<
+ *vim.treesitter.query.list_predicates()*
+vim.treesitter.query.list_predicates()
+
+This lists the currently available predicates to use in queries.
+
+Treesitter syntax highlighting (WIP) *lua-treesitter-highlight*
+
+NOTE: This is a partially implemented feature, and not usable as a default
+solution yet. What is documented here is a temporary interface indented
+for those who want to experiment with this feature and contribute to
+its development.
+
+Highlights are defined in the same query format as in the tree-sitter highlight
+crate, which some limitations and additions. Set a highlight query for a
+buffer with this code: >
+
+ local query = [[
+ "for" @keyword
+ "if" @keyword
+ "return" @keyword
+
+ (string_literal) @string
+ (number_literal) @number
+ (comment) @comment
+
+ (preproc_function_def name: (identifier) @function)
+
+ ; ... more definitions
+ ]]
+
+ highlighter = vim.treesitter.TSHighlighter.new(query, bufnr, lang)
+ -- alternatively, to use the current buffer and its filetype:
+ -- highlighter = vim.treesitter.TSHighlighter.new(query)
+
+ -- Don't recreate the highlighter for the same buffer, instead
+ -- modify the query like this:
+ local query2 = [[ ... ]]
+ highlighter:set_query(query2)
+
+As mentioned above the supported predicate is currently only `eq?`. `match?`
+predicates behave like matching always fails. As an addition a capture which
+begin with an upper-case letter like `@WarningMsg` will map directly to this
+highlight group, if defined. Also if the predicate begins with upper-case and
+contains a dot only the part before the first will be interpreted as the
+highlight group. As an example, this warns of a binary expression with two
+identical identifiers, highlighting both as |hl-WarningMsg|: >
+
+ ((binary_expression left: (identifier) @WarningMsg.left right: (identifier) @WarningMsg.right)
+ (eq? @WarningMsg.left @WarningMsg.right))
+
+ vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt
index 4bcea3e3fe..ae60c1c5e8 100644
--- a/runtime/doc/vim_diff.txt
+++ b/runtime/doc/vim_diff.txt
@@ -195,7 +195,7 @@ Input/Mappings:
<M-1>, <M-BS>, <M-Del>, <M-Ins>, <M-/>, <M-\>, <M-Space>, <M-Enter>, etc.
Case-sensitive: <M-a> and <M-A> are two different keycodes.
- ALT in insert-mode behaves like <Esc> if not mapped. |i_ALT|
+ ALT behaves like <Esc> if not mapped. |i_ALT| |v_ALT| |c_ALT|
Normal commands:
|g<Tab>| goes to the last-accessed tabpage.
@@ -508,7 +508,6 @@ Test functions:
test_alloc_fail()
test_autochdir()
test_disable_char_avail()
- test_garbagecollect_now()
test_null_channel()
test_null_dict()
test_null_job()
diff --git a/runtime/doc/visual.txt b/runtime/doc/visual.txt
index 0052382044..fd3d93ed98 100644
--- a/runtime/doc/visual.txt
+++ b/runtime/doc/visual.txt
@@ -159,7 +159,10 @@ If you want to highlight exactly the same area as the last time, you can use
*v_<Esc>*
<Esc> In Visual mode: Stop Visual mode.
-
+ *v_META* *v_ALT*
+ ALT (|META|) acts like <Esc> if the chord is not mapped.
+ For example <A-x> acts like <Esc>x if <A-x> does not have a
+ visual-mode mapping.
*v_CTRL-C*
CTRL-C In Visual mode: Stop Visual mode. When insert mode is
pending (the mode message shows
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 32bd6daba0..7accc22b3d 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -313,7 +313,7 @@ au BufNewFile,BufRead *.css setf css
au BufNewFile,BufRead *.con setf cterm
" Changelog
-au BufNewFile,BufRead changelog.Debian,changelog.dch,NEWS.Debian,NEWS.dch
+au BufNewFile,BufRead changelog.Debian,changelog.dch,NEWS.Debian,NEWS.dch,*/debian/changelog
\ setf debchangelog
au BufNewFile,BufRead [cC]hange[lL]og
@@ -1158,10 +1158,10 @@ au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp
au BufNewFile,BufRead */etc/passwd,*/etc/passwd-,*/etc/passwd.edit,*/etc/shadow,*/etc/shadow-,*/etc/shadow.edit,*/var/backups/passwd.bak,*/var/backups/shadow.bak setf passwd
" Pascal (also *.p)
-au BufNewFile,BufRead *.pas setf pascal
+au BufNewFile,BufRead *.pas,*.pp setf pascal
-" Delphi project file
-au BufNewFile,BufRead *.dpr setf pascal
+" Delphi or Lazarus program file
+au BufNewFile,BufRead *.dpr,*.lpr setf pascal
" PDF
au BufNewFile,BufRead *.pdf setf pdf
@@ -1732,7 +1732,7 @@ au BufNewFile,BufRead *.texinfo,*.texi,*.txi setf texinfo
au BufNewFile,BufRead texmf.cnf setf texmf
" Tidy config
-au BufNewFile,BufRead .tidyrc,tidyrc setf tidy
+au BufNewFile,BufRead .tidyrc,tidyrc,tidy.conf setf tidy
" TF mud client
au BufNewFile,BufRead *.tf,.tfrc,tfrc setf tf
diff --git a/runtime/ftplugin/typescript.vim b/runtime/ftplugin/typescript.vim
new file mode 100644
index 0000000000..f701ae96cd
--- /dev/null
+++ b/runtime/ftplugin/typescript.vim
@@ -0,0 +1,39 @@
+" Vim filetype plugin file
+" Language: TypeScript
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2019 Aug 30
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+" Set 'formatoptions' to break comment lines but not other lines,
+" and insert the comment leader when hitting <CR> or using "o".
+setlocal formatoptions-=t formatoptions+=croql
+
+" Set 'comments' to format dashed lists in comments.
+setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
+
+setlocal commentstring=//%s
+
+setlocal suffixesadd+=.ts,.d.ts,.tsx,.js,.jsx,.cjs,.mjs
+
+" Change the :browse e filter to primarily show TypeScript-related files.
+if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
+ let b:browsefilter="TypeScript Files (*.ts)\t*.ts\n" .
+ \ "TypeScript Declaration Files (*.d.ts)\t*.d.ts\n" .
+ \ "TSX Files (*.tsx)\t*.tsx\n" .
+ \ "JavaScript Files (*.js)\t*.js\n" .
+ \ "JavaScript Modules (*.es, *.cjs, *.mjs)\t*.es;*.cjs;*.mjs\n" .
+ \ "JSON Files (*.json)\t*.json\n" .
+ \ "All Files (*.*)\t*.*\n"
+endif
+
+let b:undo_ftplugin = "setl fo< com< cms< sua< | unlet! b:browsefilter"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/ftplugin/typescriptreact.vim b/runtime/ftplugin/typescriptreact.vim
new file mode 100644
index 0000000000..3bd6001a18
--- /dev/null
+++ b/runtime/ftplugin/typescriptreact.vim
@@ -0,0 +1,33 @@
+" Vim filetype plugin file
+" Language: TypeScript React
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2020 Aug 09
+
+let s:match_words = ""
+let s:undo_ftplugin = ""
+
+runtime! ftplugin/typescript.vim
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+if exists("b:match_words")
+ let s:match_words = b:match_words
+endif
+if exists("b:undo_ftplugin")
+ let s:undo_ftplugin = b:undo_ftplugin
+endif
+
+" Matchit configuration
+if exists("loaded_matchit")
+ let b:match_ignorecase = 0
+ let b:match_words = s:match_words .
+ \ '<:>,' .
+ \ '<\@<=\([^ \t>/]\+\)\%(\s\+[^>]*\%([^/]>\|$\)\|>\|$\):<\@<=/\1>,' .
+ \ '<\@<=\%([^ \t>/]\+\)\%(\s\+[^/>]*\|$\):/>'
+endif
+
+let b:undo_ftplugin = "unlet! b:match_words b:match_ignorecase | " . s:undo_ftplugin
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/indent/typescript.vim b/runtime/indent/typescript.vim
index 69accaa054..b6b2cb5acf 100644
--- a/runtime/indent/typescript.vim
+++ b/runtime/indent/typescript.vim
@@ -1,7 +1,7 @@
" Vim indent file
" Language: TypeScript
" Maintainer: See https://github.com/HerringtonDarkholme/yats.vim
-" Last Change: 2019 Jun 06
+" Last Change: 2019 Oct 18
" Acknowledgement: Based off of vim-ruby maintained by Nikolai Weibull http://vim-ruby.rubyforge.org
" 0. Initialization {{{1
@@ -442,7 +442,7 @@ let &cpo = s:cpo_save
unlet s:cpo_save
function! Fixedgq(lnum, count)
- let l:tw = &tw ? &tw : 80;
+ let l:tw = &tw ? &tw : 80
let l:count = a:count
let l:first_char = indent(a:lnum) + 1
diff --git a/runtime/lua/vim/lsp/buf.lua b/runtime/lua/vim/lsp/buf.lua
index 208082f241..c015884f5b 100644
--- a/runtime/lua/vim/lsp/buf.lua
+++ b/runtime/lua/vim/lsp/buf.lua
@@ -1,9 +1,7 @@
local vim = vim
local validate = vim.validate
-local api = vim.api
local vfn = vim.fn
local util = require 'vim.lsp.util'
-local list_extend = vim.list_extend
local M = {}
@@ -142,6 +140,7 @@ function M.formatting_sync(options, timeout_ms)
local result = vim.lsp.buf_request_sync(0, "textDocument/formatting", params, timeout_ms)
if not result then return end
result = result[1].result
+ if not result then return end
vim.lsp.util.apply_text_edits(result)
end
@@ -153,36 +152,14 @@ end
--@param start_pos ({number, number}, optional) mark-indexed position.
---Defaults to the end of the last visual selection.
function M.range_formatting(options, start_pos, end_pos)
- validate {
- options = {options, 't', true};
- start_pos = {start_pos, 't', true};
- end_pos = {end_pos, 't', true};
- }
+ validate { options = {options, 't', true} }
local sts = vim.bo.softtabstop;
options = vim.tbl_extend('keep', options or {}, {
tabSize = (sts > 0 and sts) or (sts < 0 and vim.bo.shiftwidth) or vim.bo.tabstop;
insertSpaces = vim.bo.expandtab;
})
- local A = list_extend({}, start_pos or api.nvim_buf_get_mark(0, '<'))
- local B = list_extend({}, end_pos or api.nvim_buf_get_mark(0, '>'))
- -- convert to 0-index
- A[1] = A[1] - 1
- B[1] = B[1] - 1
- -- account for encoding.
- if A[2] > 0 then
- A = {A[1], util.character_offset(0, A[1], A[2])}
- end
- if B[2] > 0 then
- B = {B[1], util.character_offset(0, B[1], B[2])}
- end
- local params = {
- textDocument = { uri = vim.uri_from_bufnr(0) };
- range = {
- start = { line = A[1]; character = A[2]; };
- ["end"] = { line = B[1]; character = B[2]; };
- };
- options = options;
- }
+ local params = util.make_given_range_params(start_pos, end_pos)
+ params.options = options
return request('textDocument/rangeFormatting', params)
end
@@ -307,6 +284,21 @@ function M.code_action(context)
request('textDocument/codeAction', params)
end
+--- Performs |vim.lsp.buf.code_action()| for a given range.
+---
+--@param context: (table, optional) Valid `CodeActionContext` object
+--@param start_pos ({number, number}, optional) mark-indexed position.
+---Defaults to the start of the last visual selection.
+--@param end_pos ({number, number}, optional) mark-indexed position.
+---Defaults to the end of the last visual selection.
+function M.range_code_action(context, start_pos, end_pos)
+ validate { context = { context, 't', true } }
+ context = context or { diagnostics = util.get_line_diagnostics() }
+ local params = util.make_given_range_params(start_pos, end_pos)
+ params.context = context
+ request('textDocument/codeAction', params)
+end
+
--- Executes an LSP server command.
---
--@param command A valid `ExecuteCommandParams` object
diff --git a/runtime/lua/vim/lsp/callbacks.lua b/runtime/lua/vim/lsp/callbacks.lua
index 0ee03e6a2f..4e7a8333a0 100644
--- a/runtime/lua/vim/lsp/callbacks.lua
+++ b/runtime/lua/vim/lsp/callbacks.lua
@@ -229,16 +229,19 @@ M['textDocument/implementation'] = location_callback
--@see https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_signatureHelp
M['textDocument/signatureHelp'] = function(_, method, result)
+ -- When use `autocmd CompleteDone <silent><buffer> lua vim.lsp.buf.signature_help()` to call signatureHelp callback
+ -- If the completion item doesn't have signatures It will make noise. Change to use `print` that can use `<silent>` to ignore
+ if not (result and result.signatures and result.signatures[1]) then
+ print('No signature help available')
+ return
+ end
+ local lines = util.convert_signature_help_to_markdown_lines(result)
+ lines = util.trim_empty_lines(lines)
+ if vim.tbl_isempty(lines) then
+ print('No signature help available')
+ return
+ end
util.focusable_preview(method, function()
- if not (result and result.signatures and result.signatures[1]) then
- return { 'No signature available' }
- end
- -- TODO show popup when signatures is empty?
- local lines = util.convert_signature_help_to_markdown_lines(result)
- lines = util.trim_empty_lines(lines)
- if vim.tbl_isempty(lines) then
- return { 'No signature available' }
- end
return lines, util.try_trim_markdown_code_blocks(lines)
end)
end
diff --git a/runtime/lua/vim/lsp/rpc.lua b/runtime/lua/vim/lsp/rpc.lua
index 64080cf4f2..749a51fecc 100644
--- a/runtime/lua/vim/lsp/rpc.lua
+++ b/runtime/lua/vim/lsp/rpc.lua
@@ -494,10 +494,13 @@ local function start(cmd, cmd_args, handlers, extra_spawn_params)
decoded.error = convert_NIL(decoded.error)
decoded.result = convert_NIL(decoded.result)
- -- Do not surface RequestCancelled to users, it is RPC-internal.
- if decoded.error
- and decoded.error.code == protocol.ErrorCodes.RequestCancelled then
- local _ = log.debug() and log.debug("Received cancellation ack", decoded)
+ -- Do not surface RequestCancelled or ContentModified to users, it is RPC-internal.
+ if decoded.error then
+ if decoded.error.code == protocol.ErrorCodes.RequestCancelled then
+ local _ = log.debug() and log.debug("Received cancellation ack", decoded)
+ elseif decoded.error.code == protocol.ErrorCodes.ContentModified then
+ local _ = log.debug() and log.debug("Received content modified ack", decoded)
+ end
local result_id = tonumber(decoded.id)
-- Clear any callback since this is cancelled now.
-- This is safe to do assuming that these conditions hold:
diff --git a/runtime/lua/vim/lsp/util.lua b/runtime/lua/vim/lsp/util.lua
index 24cb454e5b..53f88dea7d 100644
--- a/runtime/lua/vim/lsp/util.lua
+++ b/runtime/lua/vim/lsp/util.lua
@@ -505,13 +505,13 @@ function M.convert_signature_help_to_markdown_lines(signature_help)
if signature.documentation then
M.convert_input_to_markdown_lines(signature.documentation, contents)
end
- if signature_help.parameters then
+ if signature.parameters and #signature.parameters > 0 then
local active_parameter = signature_help.activeParameter or 0
-- If the activeParameter is not inside the valid range, then clip it.
- if active_parameter >= #signature_help.parameters then
+ if active_parameter >= #signature.parameters then
active_parameter = 0
end
- local parameter = signature.parameters and signature.parameters[active_parameter]
+ local parameter = signature.parameters[active_parameter + 1]
if parameter then
--[=[
--Represents a parameter of a callable-signature. A parameter can
@@ -532,8 +532,8 @@ function M.convert_signature_help_to_markdown_lines(signature_help)
}
--]=]
-- TODO highlight parameter
- if parameter.documentation then
- M.convert_input_help_to_markdown_lines(parameter.documentation, contents)
+ if parameter.documentation and parameter.documentation ~= vim.NIL then
+ M.convert_input_to_markdown_lines(parameter.documentation, contents)
end
end
end
@@ -668,7 +668,7 @@ function M.focusable_float(unique_name, fn)
local bufnr = api.nvim_get_current_buf()
do
local win = find_window_by_var(unique_name, bufnr)
- if win then
+ if win and api.nvim_win_is_valid(win) and not vim.fn.pumvisible() then
api.nvim_set_current_win(win)
api.nvim_command("stopinsert")
return
@@ -800,13 +800,14 @@ function M.fancy_floating_markdown(contents, opts)
local width, height = M._make_floating_popup_size(stripped, opts)
-- Insert blank line separator after code block
- local insert_separator = opts.separator or true
+ local insert_separator = opts.separator
+ if insert_separator == nil then insert_separator = true end
if insert_separator then
for i, h in ipairs(highlights) do
h.start = h.start + i - 1
h.finish = h.finish + i - 1
if h.finish + 1 <= #stripped then
- table.insert(stripped, h.finish + 1, string.rep("─", width))
+ table.insert(stripped, h.finish + 1, string.rep("─", math.min(width, opts.wrap_at)))
height = height + 1
end
end
@@ -1465,11 +1466,46 @@ end
function M.make_range_params()
local position = make_position_param()
return {
- textDocument = { uri = vim.uri_from_bufnr(0) },
+ textDocument = M.make_text_document_params(),
range = { start = position; ["end"] = position; }
}
end
+--- Using the given range in the current buffer, creates an object that
+--- is similar to |vim.lsp.util.make_range_params()|.
+---
+--@param start_pos ({number, number}, optional) mark-indexed position.
+---Defaults to the start of the last visual selection.
+--@param end_pos ({number, number}, optional) mark-indexed position.
+---Defaults to the end of the last visual selection.
+--@returns { textDocument = { uri = `current_file_uri` }, range = { start =
+---`start_position`, end = `end_position` } }
+function M.make_given_range_params(start_pos, end_pos)
+ validate {
+ start_pos = {start_pos, 't', true};
+ end_pos = {end_pos, 't', true};
+ }
+ local A = list_extend({}, start_pos or api.nvim_buf_get_mark(0, '<'))
+ local B = list_extend({}, end_pos or api.nvim_buf_get_mark(0, '>'))
+ -- convert to 0-index
+ A[1] = A[1] - 1
+ B[1] = B[1] - 1
+ -- account for encoding.
+ if A[2] > 0 then
+ A = {A[1], M.character_offset(0, A[1], A[2])}
+ end
+ if B[2] > 0 then
+ B = {B[1], M.character_offset(0, B[1], B[2])}
+ end
+ return {
+ textDocument = M.make_text_document_params(),
+ range = {
+ start = {line = A[1], character = A[2]},
+ ['end'] = {line = B[1], character = B[2]}
+ }
+ }
+end
+
--- Creates a `TextDocumentIdentifier` object for the current buffer.
---
--@returns `TextDocumentIdentifier`
diff --git a/runtime/lua/vim/treesitter.lua b/runtime/lua/vim/treesitter.lua
index 3a475b8f98..77bbfaa3ad 100644
--- a/runtime/lua/vim/treesitter.lua
+++ b/runtime/lua/vim/treesitter.lua
@@ -21,7 +21,9 @@ function Parser:parse()
return self.tree
end
local changes
- self.tree, changes = self._parser:parse_buf(self.bufnr)
+
+ self.tree, changes = self._parser:parse(self:input_source())
+
self.valid = true
if not vim.tbl_isempty(changes) then
@@ -33,6 +35,10 @@ function Parser:parse()
return self.tree, changes
end
+function Parser:input_source()
+ return self.bufnr or self.str
+end
+
function Parser:_on_bytes(bufnr, changed_tick,
start_row, start_col, start_byte,
old_row, old_col, old_byte,
@@ -152,4 +158,18 @@ function M.get_parser(bufnr, lang, buf_attach_cbs)
return parsers[id]
end
+function M.get_string_parser(str, lang)
+ vim.validate {
+ str = { str, 'string' },
+ lang = { lang, 'string' }
+ }
+ language.require_language(lang)
+
+ local self = setmetatable({str=str, lang=lang, valid=false}, Parser)
+ self._parser = vim._create_ts_parser(lang)
+ self:parse()
+
+ return self
+end
+
return M
diff --git a/runtime/lua/vim/treesitter/highlighter.lua b/runtime/lua/vim/treesitter/highlighter.lua
index 718088e0ad..5b964a6020 100644
--- a/runtime/lua/vim/treesitter/highlighter.lua
+++ b/runtime/lua/vim/treesitter/highlighter.lua
@@ -3,7 +3,8 @@ local a = vim.api
-- support reload for quick experimentation
local TSHighlighter = rawget(vim.treesitter, 'TSHighlighter') or {}
TSHighlighter.__index = TSHighlighter
-local ts_hs_ns = a.nvim_create_namespace("treesitter_hl")
+
+TSHighlighter.active = TSHighlighter.active or {}
-- These are conventions defined by tree-sitter, though it
-- needs to be user extensible also.
@@ -54,13 +55,16 @@ TSHighlighter.hl_map = {
}
function TSHighlighter.new(query, bufnr, ft)
+ if bufnr == nil or bufnr == 0 then
+ bufnr = a.nvim_get_current_buf()
+ end
+
local self = setmetatable({}, TSHighlighter)
self.parser = vim.treesitter.get_parser(
bufnr,
ft,
{
on_changedtree = function(...) self:on_changedtree(...) end,
- on_bytes = function() self.parser:parse() end
}
)
@@ -69,8 +73,12 @@ function TSHighlighter.new(query, bufnr, ft)
self.edit_count = 0
self.redraw_count = 0
self.line_count = {}
+ self.root = self.parser:parse():root()
a.nvim_buf_set_option(self.buf, "syntax", "")
+ -- TODO(bfredl): can has multiple highlighters per buffer????
+ TSHighlighter.active[bufnr] = self
+
-- Tricky: if syntax hasn't been enabled, we need to reload color scheme
-- but use synload.vim rather than syntax.vim to not enable
-- syntax FileType autocmds. Later on we should integrate with the
@@ -100,6 +108,12 @@ function TSHighlighter:get_hl_from_capture(capture)
end
end
+function TSHighlighter:on_changedtree(changes)
+ for _, ch in ipairs(changes or {}) do
+ a.nvim__buf_redraw_range(self.buf, ch[1], ch[3]+1)
+ end
+end
+
function TSHighlighter:set_query(query)
if type(query) == "string" then
query = vim.treesitter.parse_query(self.parser.lang, query)
@@ -123,28 +137,60 @@ function TSHighlighter:set_query(query)
end
})
- self:on_changedtree({{self.parser:parse():root():range()}})
+ a.nvim__buf_redraw_range(self.buf, 0, a.nvim_buf_line_count(self.buf))
end
-function TSHighlighter:on_changedtree(changes)
- -- Get a fresh root
- local root = self.parser:parse():root()
+function TSHighlighter._on_line(_, _win, buf, line)
+ -- on_line is only called when this is non-nil
+ local self = TSHighlighter.active[buf]
+ if self.root == nil then
+ return -- parser bought the farm already
+ end
- for _, ch in ipairs(changes or {}) do
- a.nvim_buf_clear_namespace(self.buf, ts_hs_ns, ch[1], ch[3]+1)
-
- for capture, node in self.query:iter_captures(root, self.buf, ch[1], ch[3] + 1) do
- local start_row, start_col, end_row, end_col = node:range()
- local hl = self.hl_cache[capture]
- if hl then
- a.nvim_buf_set_extmark(self.buf, ts_hs_ns, start_row, start_col, {
- end_col = end_col,
- end_line = end_row,
- hl_group = hl
- })
- end
+ if self.iter == nil then
+ self.iter = self.query:iter_captures(self.root,buf,line,self.botline)
+ end
+ while line >= self.nextrow do
+ local capture, node = self.iter()
+ if capture == nil then
+ break
+ end
+ local start_row, start_col, end_row, end_col = node:range()
+ local hl = self.hl_cache[capture]
+ if hl and end_row >= line then
+ a.nvim__put_attr(start_row, start_col, { end_line = end_row, end_col = end_col, hl_group = hl })
+ end
+ if start_row > line then
+ self.nextrow = start_row
end
end
end
+function TSHighlighter._on_start(_, buf, _tick)
+ local self = TSHighlighter.active[buf]
+ if self then
+ local tree = self.parser:parse()
+ self.root = (tree and tree:root()) or nil
+ end
+end
+
+function TSHighlighter._on_win(_, _win, buf, _topline, botline)
+ local self = TSHighlighter.active[buf]
+ if not self then
+ return false
+ end
+
+ self.iter = nil
+ self.nextrow = 0
+ self.botline = botline
+ self.redraw_count = self.redraw_count + 1
+ return true
+end
+
+a.nvim__set_luahl {
+ on_start = TSHighlighter._on_start;
+ on_win = TSHighlighter._on_win;
+ on_line = TSHighlighter._on_line;
+}
+
return TSHighlighter
diff --git a/runtime/lua/vim/treesitter/query.lua b/runtime/lua/vim/treesitter/query.lua
index ca27a50c6a..494fb59fa7 100644
--- a/runtime/lua/vim/treesitter/query.lua
+++ b/runtime/lua/vim/treesitter/query.lua
@@ -28,21 +28,27 @@ end
--- Gets the text corresponding to a given node
-- @param node the node
-- @param bufnr the buffer from which the node in extracted.
-function M.get_node_text(node, bufnr)
- local start_row, start_col, end_row, end_col = node:range()
- if start_row ~= end_row then
- return nil
+function M.get_node_text(node, source)
+ local start_row, start_col, start_byte = node:start()
+ local end_row, end_col, end_byte = node:end_()
+
+ if type(source) == "number" then
+ if start_row ~= end_row then
+ return nil
+ end
+ local line = a.nvim_buf_get_lines(source, start_row, start_row+1, true)[1]
+ return string.sub(line, start_col+1, end_col)
+ elseif type(source) == "string" then
+ return source:sub(start_byte+1, end_byte)
end
- local line = a.nvim_buf_get_lines(bufnr, start_row, start_row+1, true)[1]
- return string.sub(line, start_col+1, end_col)
end
-- Predicate handler receive the following arguments
-- (match, pattern, bufnr, predicate)
local predicate_handlers = {
- ["eq?"] = function(match, _, bufnr, predicate)
+ ["eq?"] = function(match, _, source, predicate)
local node = match[predicate[2]]
- local node_text = M.get_node_text(node, bufnr)
+ local node_text = M.get_node_text(node, source)
local str
if type(predicate[3]) == "string" then
@@ -50,7 +56,7 @@ local predicate_handlers = {
str = predicate[3]
else
-- (#eq? @aa @bb)
- str = M.get_node_text(match[predicate[3]], bufnr)
+ str = M.get_node_text(match[predicate[3]], source)
end
if node_text ~= str or str == nil then
@@ -60,7 +66,7 @@ local predicate_handlers = {
return true
end,
- ["lua-match?"] = function(match, _, bufnr, predicate)
+ ["lua-match?"] = function(match, _, source, predicate)
local node = match[predicate[2]]
local regex = predicate[3]
local start_row, _, end_row, _ = node:range()
@@ -68,7 +74,7 @@ local predicate_handlers = {
return false
end
- return string.find(M.get_node_text(node, bufnr), regex)
+ return string.find(M.get_node_text(node, source), regex)
end,
["match?"] = (function()
@@ -88,7 +94,7 @@ local predicate_handlers = {
end
})
- return function(match, _, bufnr, pred)
+ return function(match, _, source, pred)
local node = match[pred[2]]
local start_row, start_col, end_row, end_col = node:range()
if start_row ~= end_row then
@@ -96,13 +102,13 @@ local predicate_handlers = {
end
local regex = compiled_vim_regexes[pred[3]]
- return regex:match_line(bufnr, start_row, start_col, end_col)
+ return regex:match_line(source, start_row, start_col, end_col)
end
end)(),
- ["contains?"] = function(match, _, bufnr, predicate)
+ ["contains?"] = function(match, _, source, predicate)
local node = match[predicate[2]]
- local node_text = M.get_node_text(node, bufnr)
+ local node_text = M.get_node_text(node, source)
for i=3,#predicate do
if string.find(node_text, predicate[i], 1, true) then
@@ -139,7 +145,7 @@ local function xor(x, y)
return (x or y) and not (x and y)
end
-function Query:match_preds(match, pattern, bufnr)
+function Query:match_preds(match, pattern, source)
local preds = self.info.patterns[pattern]
for _, pred in pairs(preds or {}) do
@@ -164,7 +170,7 @@ function Query:match_preds(match, pattern, bufnr)
return false
end
- local pred_matches = handler(match, pattern, bufnr, pred)
+ local pred_matches = handler(match, pattern, source, pred)
if not xor(is_not, pred_matches) then
return false
@@ -182,15 +188,15 @@ end
--
-- @returns The matching capture id
-- @returns The captured node
-function Query:iter_captures(node, bufnr, start, stop)
- if bufnr == 0 then
- bufnr = vim.api.nvim_get_current_buf()
+function Query:iter_captures(node, source, start, stop)
+ if type(source) == "number" and source == 0 then
+ source = vim.api.nvim_get_current_buf()
end
local raw_iter = node:_rawquery(self.query, true, start, stop)
local function iter()
local capture, captured_node, match = raw_iter()
if match ~= nil then
- local active = self:match_preds(match, match.pattern, bufnr)
+ local active = self:match_preds(match, match.pattern, source)
match.active = active
if not active then
return iter() -- tail call: try next match
@@ -210,15 +216,15 @@ end
--
-- @returns The matching pattern id
-- @returns The matching match
-function Query:iter_matches(node, bufnr, start, stop)
- if bufnr == 0 then
- bufnr = vim.api.nvim_get_current_buf()
+function Query:iter_matches(node, source, start, stop)
+ if type(source) == "number" and source == 0 then
+ source = vim.api.nvim_get_current_buf()
end
local raw_iter = node:_rawquery(self.query, false, start, stop)
local function iter()
local pattern, match = raw_iter()
if match ~= nil then
- local active = self:match_preds(match, pattern, bufnr)
+ local active = self:match_preds(match, pattern, source)
if not active then
return iter() -- tail call: try next match
end
diff --git a/runtime/lua/vim/uri.lua b/runtime/lua/vim/uri.lua
index 9c3535c676..f1a12c72ec 100644
--- a/runtime/lua/vim/uri.lua
+++ b/runtime/lua/vim/uri.lua
@@ -7,6 +7,9 @@
local uri_decode
do
local schar = string.char
+
+ --- Convert hex to char
+ --@private
local function hex_to_char(hex)
return schar(tonumber(hex, 16))
end
@@ -34,6 +37,8 @@ do
else
tohex = function(b) return string.format("%02x", b) end
end
+
+ --@private
local function percent_encode_char(char)
return "%"..tohex(sbyte(char), 2)
end
@@ -45,10 +50,14 @@ do
end
+--@private
local function is_windows_file_uri(uri)
return uri:match('^file:///[a-zA-Z]:') ~= nil
end
+--- Get a URI from a file path.
+--@param path (string): Path to file
+--@return URI
local function uri_from_fname(path)
local volume_path, fname = path:match("^([a-zA-Z]:)(.*)")
local is_windows = volume_path ~= nil
@@ -67,6 +76,9 @@ end
local URI_SCHEME_PATTERN = '^([a-zA-Z]+[a-zA-Z0-9+-.]*)://.*'
+--- Get a URI from a bufnr
+--@param bufnr (number): Buffer number
+--@return URI
local function uri_from_bufnr(bufnr)
local fname = vim.api.nvim_buf_get_name(bufnr)
local scheme = fname:match(URI_SCHEME_PATTERN)
@@ -77,6 +89,9 @@ local function uri_from_bufnr(bufnr)
end
end
+--- Get a filename from a URI
+--@param uri (string): The URI
+--@return Filename
local function uri_to_fname(uri)
local scheme = assert(uri:match(URI_SCHEME_PATTERN), 'URI must contain a scheme: ' .. uri)
if scheme ~= 'file' then
@@ -93,7 +108,10 @@ local function uri_to_fname(uri)
return uri
end
--- Return or create a buffer for a uri.
+--- Return or create a buffer for a uri.
+--@param uri (string): The URI
+--@return bufnr.
+--@note Creates buffer but does not load it
local function uri_to_bufnr(uri)
local scheme = assert(uri:match(URI_SCHEME_PATTERN), 'URI must contain a scheme: ' .. uri)
if scheme == 'file' then
diff --git a/runtime/pack/dist/opt/cfilter/plugin/cfilter.vim b/runtime/pack/dist/opt/cfilter/plugin/cfilter.vim
index 7a6464fc98..fe4455fe2e 100644
--- a/runtime/pack/dist/opt/cfilter/plugin/cfilter.vim
+++ b/runtime/pack/dist/opt/cfilter/plugin/cfilter.vim
@@ -1,15 +1,17 @@
" cfilter.vim: Plugin to filter entries from a quickfix/location list
-" Last Change: May 12, 2018
-" Maintainer: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
-" Version: 1.0
+" Last Change: Aug 23, 2018
+" Maintainer: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
+" Version: 1.1
"
" Commands to filter the quickfix list:
-" :Cfilter[!] {pat}
+" :Cfilter[!] /{pat}/
" Create a new quickfix list from entries matching {pat} in the current
" quickfix list. Both the file name and the text of the entries are
" matched against {pat}. If ! is supplied, then entries not matching
-" {pat} are used.
-" :Lfilter[!] {pat}
+" {pat} are used. The pattern can be optionally enclosed using one of
+" the following characters: ', ", /. If the pattern is empty, then the
+" last used search pattern is used.
+" :Lfilter[!] /{pat}/
" Same as :Cfilter but operates on the current location list.
"
if exists("loaded_cfilter")
@@ -17,7 +19,7 @@ if exists("loaded_cfilter")
endif
let loaded_cfilter = 1
-func s:Qf_filter(qf, pat, bang)
+func s:Qf_filter(qf, searchpat, bang)
if a:qf
let Xgetlist = function('getqflist')
let Xsetlist = function('setqflist')
@@ -28,14 +30,31 @@ func s:Qf_filter(qf, pat, bang)
let cmd = ':Lfilter' . a:bang
endif
+ let firstchar = a:searchpat[0]
+ let lastchar = a:searchpat[-1:]
+ if firstchar == lastchar &&
+ \ (firstchar == '/' || firstchar == '"' || firstchar == "'")
+ let pat = a:searchpat[1:-2]
+ if pat == ''
+ " Use the last search pattern
+ let pat = @/
+ endif
+ else
+ let pat = a:searchpat
+ endif
+
+ if pat == ''
+ return
+ endif
+
if a:bang == '!'
- let cond = 'v:val.text !~# a:pat && bufname(v:val.bufnr) !~# a:pat'
+ let cond = 'v:val.text !~# pat && bufname(v:val.bufnr) !~# pat'
else
- let cond = 'v:val.text =~# a:pat || bufname(v:val.bufnr) =~# a:pat'
+ let cond = 'v:val.text =~# pat || bufname(v:val.bufnr) =~# pat'
endif
let items = filter(Xgetlist(), cond)
- let title = cmd . ' ' . a:pat
+ let title = cmd . ' /' . pat . '/'
call Xsetlist([], ' ', {'title' : title, 'items' : items})
endfunc
diff --git a/runtime/syntax/resolv.vim b/runtime/syntax/resolv.vim
index a879116a5f..9a2dec51ce 100644
--- a/runtime/syntax/resolv.vim
+++ b/runtime/syntax/resolv.vim
@@ -2,12 +2,19 @@
" Language: resolver configuration file
" Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
" URL: https://raw.github.com/rid9/vim-resolv/master/resolv.vim
-" Last Change: 2013 May 21
-" Version: 1.0
+" Last Change: 2020 Mar 10
+" Version: 1.4
"
" Credits:
" David Necas (Yeti) <yeti@physics.muni.cz>
" Stefano Zacchiroli <zack@debian.org>
+" DJ Lucas <dj@linuxfromscratch.org>
+"
+" Changelog:
+" - 1.4: Added IPv6 support for sortlist.
+" - 1.3: Added IPv6 support for IPv4 dot-decimal notation.
+" - 1.2: Added new options.
+" - 1.1: Added IPv6 support.
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -29,11 +36,47 @@ syn match resolvIP contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}/ contains=@resolvIPClu
syn match resolvIPNetmask contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?/ contains=resolvOperator,@resolvIPCluster
syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_\.]*/
-" Particular
+" Nameserver IPv4
syn match resolvIPNameserver contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\s\|$\)\)\+/ contains=@resolvIPCluster
+
+" Nameserver IPv6
+syn match resolvIPNameserver contained /\<\%(\x\{1,4}:\)\{6}\%(\x\{1,4}:\x\{1,4}\)\>/
+syn match resolvIPNameserver contained /\s\@<=::\%(\x\{1,4}:\)\{,6}\x\{1,4}\>/
+syn match resolvIPNameserver contained /\s\@<=::\%(\x\{1,4}:\)\{,5}\%(\d\{1,4}\.\)\{3}\d\{1,4}\>/
+syn match resolvIPNameserver contained /\<\%(\x\{1,4}:\)\{1}:\%(\x\{1,4}:\)\{,5}\x\{1,4}\>/
+syn match resolvIPNameserver contained /\<\%(\x\{1,4}:\)\{1}:\%(\x\{1,4}:\)\{,4}\%(\d\{1,4}\.\)\{3}\d\{1,4}\>/
+syn match resolvIPNameserver contained /\<\%(\x\{1,4}:\)\{2}:\%(\x\{1,4}:\)\{,4}\x\{1,4}\>/
+syn match resolvIPNameserver contained /\<\%(\x\{1,4}:\)\{2}:\%(\x\{1,4}:\)\{,3}\%(\d\{1,4}\.\)\{3}\d\{1,4}\>/
+syn match resolvIPNameserver contained /\<\%(\x\{1,4}:\)\{3}:\%(\x\{1,4}:\)\{,3}\x\{1,4}\>/
+syn match resolvIPNameserver contained /\<\%(\x\{1,4}:\)\{3}:\%(\x\{1,4}:\)\{,2}\%(\d\{1,4}\.\)\{3}\d\{1,4}\>/
+syn match resolvIPNameserver contained /\<\%(\x\{1,4}:\)\{4}:\%(\x\{1,4}:\)\{,2}\x\{1,4}\>/
+syn match resolvIPNameserver contained /\<\%(\x\{1,4}:\)\{4}:\%(\x\{1,4}:\)\{,1}\%(\d\{1,4}\.\)\{3}\d\{1,4}\>/
+syn match resolvIPNameserver contained /\<\%(\x\{1,4}:\)\{5}:\%(\d\{1,4}\.\)\{3}\d\{1,4}\>/
+syn match resolvIPNameserver contained /\<\%(\x\{1,4}:\)\{6}:\x\{1,4}\>/
+syn match resolvIPNameserver contained /\<\%(\x\{1,4}:\)\{1,7}:\%(\s\|;\|$\)\@=/
+
+" Search hostname
syn match resolvHostnameSearch contained /\%(\%([-0-9A-Za-z_]\+\.\)*[-0-9A-Za-z_]\+\.\?\%(\s\|$\)\)\+/
+
+" Sortlist IPv4
syn match resolvIPNetmaskSortList contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?\%(\s\|$\)\)\+/ contains=resolvOperator,@resolvIPCluster
+" Sortlist IPv6
+syn match resolvIPNetmaskSortList contained /\<\%(\x\{1,4}:\)\{6}\%(\x\{1,4}:\x\{1,4}\)\%(\/\d\{1,3}\)\?\>/
+syn match resolvIPNetmaskSortList contained /\s\@<=::\%(\x\{1,4}:\)\{,6}\x\{1,4}\%(\/\d\{1,3}\)\?\>/
+syn match resolvIPNetmaskSortList contained /\s\@<=::\%(\x\{1,4}:\)\{,5}\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\d\{1,3}\)\?\>/
+syn match resolvIPNetmaskSortList contained /\<\%(\x\{1,4}:\)\{1}:\%(\x\{1,4}:\)\{,5}\x\{1,4}\%(\/\d\{1,3}\)\?\>/
+syn match resolvIPNetmaskSortList contained /\<\%(\x\{1,4}:\)\{1}:\%(\x\{1,4}:\)\{,4}\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\d\{1,3}\)\?\>/
+syn match resolvIPNetmaskSortList contained /\<\%(\x\{1,4}:\)\{2}:\%(\x\{1,4}:\)\{,4}\x\{1,4}\%(\/\d\{1,3}\)\?\>/
+syn match resolvIPNetmaskSortList contained /\<\%(\x\{1,4}:\)\{2}:\%(\x\{1,4}:\)\{,3}\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\d\{1,3}\)\?\>/
+syn match resolvIPNetmaskSortList contained /\<\%(\x\{1,4}:\)\{3}:\%(\x\{1,4}:\)\{,3}\x\{1,4}\%(\/\d\{1,3}\)\?\>/
+syn match resolvIPNetmaskSortList contained /\<\%(\x\{1,4}:\)\{3}:\%(\x\{1,4}:\)\{,2}\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\d\{1,3}\)\?\>/
+syn match resolvIPNetmaskSortList contained /\<\%(\x\{1,4}:\)\{4}:\%(\x\{1,4}:\)\{,2}\x\{1,4}\%(\/\d\{1,3}\)\?\>/
+syn match resolvIPNetmaskSortList contained /\<\%(\x\{1,4}:\)\{4}:\%(\x\{1,4}:\)\{,1}\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\d\{1,3}\)\?\>/
+syn match resolvIPNetmaskSortList contained /\<\%(\x\{1,4}:\)\{5}:\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\d\{1,3}\)\?\>/
+syn match resolvIPNetmaskSortList contained /\<\%(\x\{1,4}:\)\{6}:\x\{1,4}\%(\/\d\{1,3}\)\?\>/
+syn match resolvIPNetmaskSortList contained /\<\%(\x\{1,4}:\)\{1,7}:\%(\s\|;\|$\)\@=\%(\/\d\{1,3}\)\?/
+
" Identifiers
syn match resolvNameserver /^\s*nameserver\>/ nextgroup=resolvIPNameserver skipwhite
syn match resolvLwserver /^\s*lwserver\>/ nextgroup=resolvIPNameserver skipwhite
@@ -43,13 +86,12 @@ syn match resolvSortList /^\s*sortlist\>/ nextgroup=resolvIPNetmaskSortList skip
syn match resolvOptions /^\s*options\>/ nextgroup=resolvOption skipwhite
" Options
-syn match resolvOption /\<\%(debug\|no_tld_query\|rotate\|no-check-names\|inet6\)\>/ contained nextgroup=resolvOption skipwhite
+syn match resolvOption /\<\%(debug\|no_tld_query\|no-tld-query\|rotate\|no-check-names\|inet6\|ip6-bytestring\|\%(no-\)\?ip6-dotint\|edns0\|single-request\%(-reopen\)\?\|use-vc\)\>/ contained nextgroup=resolvOption skipwhite
syn match resolvOption /\<\%(ndots\|timeout\|attempts\):\d\+\>/ contained contains=resolvOperator nextgroup=resolvOption skipwhite
" Additional errors
syn match resolvError /^search .\{257,}/
-
hi def link resolvIP Number
hi def link resolvIPNetmask Number
hi def link resolvHostname String
@@ -72,7 +114,6 @@ hi def link resolvError Error
hi def link resolvIPError Error
hi def link resolvIPSpecial Special
-
let b:current_syntax = "resolv"
" vim: ts=8 ft=vim
diff --git a/runtime/syntax/typescript.vim b/runtime/syntax/typescript.vim
index bc382610a9..767ba56d42 100644
--- a/runtime/syntax/typescript.vim
+++ b/runtime/syntax/typescript.vim
@@ -1,10 +1,13 @@
" Vim syntax file
" Language: TypeScript
-" Maintainer: Bram Moolenaar
-" Last Change: 2019 Jun 07
+" Maintainer: Bram Moolenaar, Herrington Darkholme
+" Last Change: 2019 Nov 30
" Based On: Herrington Darkholme's yats.vim
-" Changes: See https:github.com/HerringtonDarkholme/yats.vim
-" Credits: See yats.vim
+" Changes: Go to https:github.com/HerringtonDarkholme/yats.vim for recent changes.
+" Origin: https://github.com/othree/yajs
+" Credits: Kao Wei-Ko(othree), Jose Elera Campana, Zhao Yi, Claudio Fleiner, Scott Shattuck
+" (This file is based on their hard work), gumnos (From the #vim
+" IRC Channel in Freenode)
" This is the same syntax that is in yats.vim, but:
" - flattened into one file
@@ -21,6 +24,7 @@ endif
let s:cpo_save = &cpo
set cpo&vim
+" this region is NOT used in TypeScriptReact
" nextgroup doesn't contain objectLiteral, let outer region contains it
syntax region typescriptTypeCast matchgroup=typescriptTypeBrackets
\ start=/< \@!/ end=/>/
@@ -28,2045 +32,11 @@ syntax region typescriptTypeCast matchgroup=typescriptTypeBrackets
\ nextgroup=@typescriptExpression
\ contained skipwhite oneline
-" runtime syntax/common.vim
-" NOTE: this results in accurate highlighting, but can be slow.
-syntax sync fromstart
+"""""""""""""""""""""""""""""""""""""""""""""""""""
+" Source the part common with typescriptreact.vim
+source <sfile>:h/typescriptcommon.vim
-"Dollar sign is permitted anywhere in an identifier
-setlocal iskeyword-=$
-if main_syntax == 'typescript' || main_syntax == 'typescript.tsx'
- setlocal iskeyword+=$
- " syntax cluster htmlJavaScript contains=TOP
-endif
-
-" lowest priority on least used feature
-syntax match typescriptLabel /[a-zA-Z_$]\k*:/he=e-1 contains=typescriptReserved nextgroup=@typescriptStatement skipwhite skipempty
-
-" other keywords like return,case,yield uses containedin
-syntax region typescriptBlock matchgroup=typescriptBraces start=/{/ end=/}/ contains=@typescriptStatement,@typescriptComments fold
-
-
-"runtime syntax/basic/identifiers.vim
-syntax cluster afterIdentifier contains=
- \ typescriptDotNotation,
- \ typescriptFuncCallArg,
- \ typescriptTemplate,
- \ typescriptIndexExpr,
- \ @typescriptSymbols,
- \ typescriptTypeArguments
-
-syntax match typescriptIdentifierName /\<\K\k*/
- \ nextgroup=@afterIdentifier
- \ transparent
- \ contains=@_semantic
- \ skipnl skipwhite
-
-syntax match typescriptProp contained /\K\k*!\?/
- \ transparent
- \ contains=@props
- \ nextgroup=@afterIdentifier
- \ skipwhite skipempty
-
-syntax region typescriptIndexExpr contained matchgroup=typescriptProperty start=/\[/rs=s+1 end=/]/he=e-1 contains=@typescriptValue nextgroup=@typescriptSymbols,typescriptDotNotation,typescriptFuncCallArg skipwhite skipempty
-
-syntax match typescriptDotNotation /\./ nextgroup=typescriptProp skipnl
-syntax match typescriptDotStyleNotation /\.style\./ nextgroup=typescriptDOMStyle transparent
-" syntax match typescriptFuncCall contained /[a-zA-Z]\k*\ze(/ nextgroup=typescriptFuncCallArg
-syntax region typescriptParenExp matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptComments,@typescriptValue,typescriptCastKeyword nextgroup=@typescriptSymbols skipwhite skipempty
-syntax region typescriptFuncCallArg contained matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptValue,@typescriptComments nextgroup=@typescriptSymbols,typescriptDotNotation skipwhite skipempty skipnl
-syntax region typescriptEventFuncCallArg contained matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptEventExpression
-syntax region typescriptEventString contained start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1\|$/ contains=typescriptASCII,@events
-
-"runtime syntax/basic/literal.vim
-"Syntax in the JavaScript code
-
-" String
-syntax match typescriptASCII contained /\\\d\d\d/
-
-syntax region typescriptTemplateSubstitution matchgroup=typescriptTemplateSB
- \ start=/\${/ end=/}/
- \ contains=@typescriptValue
- \ contained
-
-
-syntax region typescriptString
- \ start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1+ end=+$+
- \ contains=typescriptSpecial,@Spell
- \ extend
-
-syntax match typescriptSpecial contained "\v\\%(x\x\x|u%(\x{4}|\{\x{4,5}})|c\u|.)"
-
-" From vim runtime
-" <https://github.com/vim/vim/blob/master/runtime/syntax/javascript.vim#L48>
-syntax region typescriptRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gimuy]\{0,5\}\s*$+ end=+/[gimuy]\{0,5\}\s*[;.,)\]}]+me=e-1 nextgroup=typescriptDotNotation oneline
-
-syntax region typescriptTemplate
- \ start=/`/ skip=/\\\\\|\\`\|\n/ end=/`\|$/
- \ contains=typescriptTemplateSubstitution
- \ nextgroup=@typescriptSymbols
- \ skipwhite skipempty
-
-"Array
-syntax region typescriptArray matchgroup=typescriptBraces
- \ start=/\[/ end=/]/
- \ contains=@typescriptValue,@typescriptComments
- \ nextgroup=@typescriptSymbols,typescriptDotNotation
- \ skipwhite skipempty fold
-
-" Number
-syntax match typescriptNumber /\<0[bB][01][01_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty
-syntax match typescriptNumber /\<0[oO][0-7][0-7_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty
-syntax match typescriptNumber /\<0[xX][0-9a-fA-F][0-9a-fA-F_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty
-syntax match typescriptNumber /\d[0-9_]*\.\d[0-9_]*\|\d[0-9_]*\|\.\d[0-9]*/
- \ nextgroup=typescriptExponent,@typescriptSymbols skipwhite skipempty
-syntax match typescriptExponent /[eE][+-]\=\d[0-9]*\>/
- \ nextgroup=@typescriptSymbols skipwhite skipempty contained
-
-
-" runtime syntax/basic/object.vim
-syntax region typescriptObjectLiteral matchgroup=typescriptBraces
- \ start=/{/ end=/}/
- \ contains=@typescriptComments,typescriptObjectLabel,typescriptStringProperty,typescriptComputedPropertyName
- \ fold contained
-
-syntax match typescriptObjectLabel contained /\k\+\_s*/
- \ nextgroup=typescriptObjectColon,@typescriptCallImpl
- \ skipwhite skipempty
-
-syntax region typescriptStringProperty contained
- \ start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1/
- \ nextgroup=typescriptObjectColon,@typescriptCallImpl
- \ skipwhite skipempty
-
-" syntax region typescriptPropertyName contained start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1(/me=e-1 nextgroup=@typescriptCallSignature skipwhite skipempty oneline
-syntax region typescriptComputedPropertyName contained matchgroup=typescriptBraces
- \ start=/\[/rs=s+1 end=/]/
- \ contains=@typescriptValue
- \ nextgroup=typescriptObjectColon,@typescriptCallImpl
- \ skipwhite skipempty
-
-" syntax region typescriptComputedPropertyName contained matchgroup=typescriptPropertyName start=/\[/rs=s+1 end=/]\_s*:/he=e-1 contains=@typescriptValue nextgroup=@typescriptValue skipwhite skipempty
-" syntax region typescriptComputedPropertyName contained matchgroup=typescriptPropertyName start=/\[/rs=s+1 end=/]\_s*(/me=e-1 contains=@typescriptValue nextgroup=@typescriptCallSignature skipwhite skipempty
-" Value for object, statement for label statement
-syntax match typescriptRestOrSpread /\.\.\./ contained
-syntax match typescriptObjectSpread /\.\.\./ contained containedin=typescriptObjectLiteral,typescriptArray nextgroup=@typescriptValue
-
-syntax match typescriptObjectColon contained /:/ nextgroup=@typescriptValue skipwhite skipempty
-
-"runtime syntax/basic/symbols.vim
-" + - ^ ~
-syntax match typescriptUnaryOp /[+\-~!]/
- \ nextgroup=@typescriptValue
- \ skipwhite
-
-syntax region typescriptTernary matchgroup=typescriptTernaryOp start=/?/ end=/:/ contained contains=@typescriptValue,@typescriptComments nextgroup=@typescriptValue skipwhite skipempty
-
-syntax match typescriptAssign /=/ nextgroup=@typescriptValue
- \ skipwhite skipempty
-
-" 2: ==, ===
-syntax match typescriptBinaryOp contained /===\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 6: >>>=, >>>, >>=, >>, >=, >
-syntax match typescriptBinaryOp contained />\(>>=\|>>\|>=\|>\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 4: <<=, <<, <=, <
-syntax match typescriptBinaryOp contained /<\(<=\|<\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 3: ||, |=, |
-syntax match typescriptBinaryOp contained /|\(|\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 3: &&, &=, &
-syntax match typescriptBinaryOp contained /&\(&\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 2: *=, *
-syntax match typescriptBinaryOp contained /\*=\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 2: %=, %
-syntax match typescriptBinaryOp contained /%=\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 2: /=, /
-syntax match typescriptBinaryOp contained +/\(=\|[^\*/]\@=\)+ nextgroup=@typescriptValue skipwhite skipempty
-syntax match typescriptBinaryOp contained /!==\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 2: !=, !==
-syntax match typescriptBinaryOp contained /+\(+\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 3: +, ++, +=
-syntax match typescriptBinaryOp contained /-\(-\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 3: -, --, -=
-
-" exponentiation operator
-" 2: **, **=
-syntax match typescriptBinaryOp contained /\*\*=\?/ nextgroup=@typescriptValue
-
-syntax cluster typescriptSymbols contains=typescriptBinaryOp,typescriptKeywordOp,typescriptTernary,typescriptAssign,typescriptCastKeyword
-
-"" runtime syntax/basic/reserved.vim
-
-"runtime syntax/basic/keyword.vim
-"Import
-syntax keyword typescriptImport from as import
-syntax keyword typescriptExport export
-syntax keyword typescriptModule namespace module
-
-"this
-
-"JavaScript Prototype
-syntax keyword typescriptPrototype prototype
- \ nextgroup=@afterIdentifier
-
-syntax keyword typescriptCastKeyword as
- \ nextgroup=@typescriptType
- \ skipwhite
-
-"Program Keywords
-syntax keyword typescriptIdentifier arguments this super
- \ nextgroup=@afterIdentifier
-
-syntax keyword typescriptVariable let var
- \ nextgroup=typescriptVariableDeclaration
- \ skipwhite skipempty skipnl
-
-syntax keyword typescriptVariable const
- \ nextgroup=typescriptEnum,typescriptVariableDeclaration
- \ skipwhite
-
-syntax match typescriptVariableDeclaration /[A-Za-z_$]\k*/
- \ nextgroup=typescriptTypeAnnotation,typescriptAssign
- \ contained skipwhite skipempty skipnl
-
-syntax region typescriptEnum matchgroup=typescriptEnumKeyword start=/enum / end=/\ze{/
- \ nextgroup=typescriptBlock
- \ skipwhite
-
-syntax keyword typescriptKeywordOp
- \ contained in instanceof nextgroup=@typescriptValue
-syntax keyword typescriptOperator delete new typeof void
- \ nextgroup=@typescriptValue
- \ skipwhite skipempty
-
-syntax keyword typescriptForOperator contained in of
-syntax keyword typescriptBoolean true false nextgroup=@typescriptSymbols skipwhite skipempty
-syntax keyword typescriptNull null undefined nextgroup=@typescriptSymbols skipwhite skipempty
-syntax keyword typescriptMessage alert confirm prompt status
- \ nextgroup=typescriptDotNotation,typescriptFuncCallArg
-syntax keyword typescriptGlobal self top parent
- \ nextgroup=@afterIdentifier
-
-"Statement Keywords
-syntax keyword typescriptConditional if else switch
- \ nextgroup=typescriptConditionalParen
- \ skipwhite skipempty skipnl
-syntax keyword typescriptConditionalElse else
-syntax keyword typescriptRepeat do while for nextgroup=typescriptLoopParen skipwhite skipempty
-syntax keyword typescriptRepeat for nextgroup=typescriptLoopParen,typescriptAsyncFor skipwhite skipempty
-syntax keyword typescriptBranch break continue containedin=typescriptBlock
-syntax keyword typescriptCase case nextgroup=@typescriptPrimitive skipwhite containedin=typescriptBlock
-syntax keyword typescriptDefault default containedin=typescriptBlock nextgroup=@typescriptValue,typescriptClassKeyword,typescriptInterfaceKeyword skipwhite oneline
-syntax keyword typescriptStatementKeyword with
-syntax keyword typescriptStatementKeyword yield skipwhite nextgroup=@typescriptValue containedin=typescriptBlock
-syntax keyword typescriptStatementKeyword return skipwhite contained nextgroup=@typescriptValue containedin=typescriptBlock
-
-syntax keyword typescriptTry try
-syntax keyword typescriptExceptions catch throw finally
-syntax keyword typescriptDebugger debugger
-
-syntax keyword typescriptAsyncFor await nextgroup=typescriptLoopParen skipwhite skipempty contained
-
-syntax region typescriptLoopParen contained matchgroup=typescriptParens
- \ start=/(/ end=/)/
- \ contains=typescriptVariable,typescriptForOperator,typescriptEndColons,@typescriptValue,@typescriptComments
- \ nextgroup=typescriptBlock
- \ skipwhite skipempty
-syntax region typescriptConditionalParen contained matchgroup=typescriptParens
- \ start=/(/ end=/)/
- \ contains=@typescriptValue,@typescriptComments
- \ nextgroup=typescriptBlock
- \ skipwhite skipempty
-syntax match typescriptEndColons /[;,]/ contained
-
-syntax keyword typescriptAmbientDeclaration declare nextgroup=@typescriptAmbients
- \ skipwhite skipempty
-
-syntax cluster typescriptAmbients contains=
- \ typescriptVariable,
- \ typescriptFuncKeyword,
- \ typescriptClassKeyword,
- \ typescriptAbstract,
- \ typescriptEnumKeyword,typescriptEnum,
- \ typescriptModule
-
-"runtime syntax/basic/doc.vim
-"Syntax coloring for Node.js shebang line
-syntax match shellbang "^#!.*node\>"
-syntax match shellbang "^#!.*iojs\>"
-
-
-"JavaScript comments
-syntax keyword typescriptCommentTodo TODO FIXME XXX TBD
-syntax match typescriptLineComment "//.*"
- \ contains=@Spell,typescriptCommentTodo,typescriptRef
-syntax region typescriptComment
- \ start="/\*" end="\*/"
- \ contains=@Spell,typescriptCommentTodo extend
-syntax cluster typescriptComments
- \ contains=typescriptDocComment,typescriptComment,typescriptLineComment
-
-syntax match typescriptRef +///\s*<reference\s\+.*\/>$+
- \ contains=typescriptString
-syntax match typescriptRef +///\s*<amd-dependency\s\+.*\/>$+
- \ contains=typescriptString
-syntax match typescriptRef +///\s*<amd-module\s\+.*\/>$+
- \ contains=typescriptString
-
-"JSDoc
-syntax case ignore
-
-syntax region typescriptDocComment matchgroup=typescriptComment
- \ start="/\*\*" end="\*/"
- \ contains=typescriptDocNotation,typescriptCommentTodo,@Spell
- \ fold keepend
-syntax match typescriptDocNotation contained /@/ nextgroup=typescriptDocTags
-
-syntax keyword typescriptDocTags contained constant constructor constructs function ignore inner private public readonly static
-syntax keyword typescriptDocTags contained const dict expose inheritDoc interface nosideeffects override protected struct internal
-syntax keyword typescriptDocTags contained example global
-
-" syntax keyword typescriptDocTags contained ngdoc nextgroup=typescriptDocNGDirective
-syntax keyword typescriptDocTags contained ngdoc scope priority animations
-syntax keyword typescriptDocTags contained ngdoc restrict methodOf propertyOf eventOf eventType nextgroup=typescriptDocParam skipwhite
-syntax keyword typescriptDocNGDirective contained overview service object function method property event directive filter inputType error
-
-syntax keyword typescriptDocTags contained abstract virtual access augments
-
-syntax keyword typescriptDocTags contained arguments callback lends memberOf name type kind link mixes mixin tutorial nextgroup=typescriptDocParam skipwhite
-syntax keyword typescriptDocTags contained variation nextgroup=typescriptDocNumParam skipwhite
-
-syntax keyword typescriptDocTags contained author class classdesc copyright default defaultvalue nextgroup=typescriptDocDesc skipwhite
-syntax keyword typescriptDocTags contained deprecated description external host nextgroup=typescriptDocDesc skipwhite
-syntax keyword typescriptDocTags contained file fileOverview overview namespace requires since version nextgroup=typescriptDocDesc skipwhite
-syntax keyword typescriptDocTags contained summary todo license preserve nextgroup=typescriptDocDesc skipwhite
-
-syntax keyword typescriptDocTags contained borrows exports nextgroup=typescriptDocA skipwhite
-syntax keyword typescriptDocTags contained param arg argument property prop module nextgroup=typescriptDocNamedParamType,typescriptDocParamName skipwhite
-syntax keyword typescriptDocTags contained define enum extends implements this typedef nextgroup=typescriptDocParamType skipwhite
-syntax keyword typescriptDocTags contained return returns throws exception nextgroup=typescriptDocParamType,typescriptDocParamName skipwhite
-syntax keyword typescriptDocTags contained see nextgroup=typescriptDocRef skipwhite
-
-syntax keyword typescriptDocTags contained function func method nextgroup=typescriptDocName skipwhite
-syntax match typescriptDocName contained /\h\w*/
-
-syntax keyword typescriptDocTags contained fires event nextgroup=typescriptDocEventRef skipwhite
-syntax match typescriptDocEventRef contained /\h\w*#\(\h\w*\:\)\?\h\w*/
-
-syntax match typescriptDocNamedParamType contained /{.\+}/ nextgroup=typescriptDocParamName skipwhite
-syntax match typescriptDocParamName contained /\[\?0-9a-zA-Z_\.]\+\]\?/ nextgroup=typescriptDocDesc skipwhite
-syntax match typescriptDocParamType contained /{.\+}/ nextgroup=typescriptDocDesc skipwhite
-syntax match typescriptDocA contained /\%(#\|\w\|\.\|:\|\/\)\+/ nextgroup=typescriptDocAs skipwhite
-syntax match typescriptDocAs contained /\s*as\s*/ nextgroup=typescriptDocB skipwhite
-syntax match typescriptDocB contained /\%(#\|\w\|\.\|:\|\/\)\+/
-syntax match typescriptDocParam contained /\%(#\|\w\|\.\|:\|\/\|-\)\+/
-syntax match typescriptDocNumParam contained /\d\+/
-syntax match typescriptDocRef contained /\%(#\|\w\|\.\|:\|\/\)\+/
-syntax region typescriptDocLinkTag contained matchgroup=typescriptDocLinkTag start=/{/ end=/}/ contains=typescriptDocTags
-
-syntax cluster typescriptDocs contains=typescriptDocParamType,typescriptDocNamedParamType,typescriptDocParam
-
-if main_syntax == "typescript"
- syntax sync clear
- syntax sync ccomment typescriptComment minlines=200
-endif
-
-syntax case match
-
-"runtime syntax/basic/type.vim
-" Types
-syntax match typescriptOptionalMark /?/ contained
-
-syntax region typescriptTypeParameters matchgroup=typescriptTypeBrackets
- \ start=/</ end=/>/
- \ contains=typescriptTypeParameter
- \ contained
-
-syntax match typescriptTypeParameter /\K\k*/
- \ nextgroup=typescriptConstraint,typescriptGenericDefault
- \ contained skipwhite skipnl
-
-syntax keyword typescriptConstraint extends
- \ nextgroup=@typescriptType
- \ contained skipwhite skipnl
-
-syntax match typescriptGenericDefault /=/
- \ nextgroup=@typescriptType
- \ contained skipwhite
-
-"><
-" class A extend B<T> {} // ClassBlock
-" func<T>() // FuncCallArg
-syntax region typescriptTypeArguments matchgroup=typescriptTypeBrackets
- \ start=/\></ end=/>/
- \ contains=@typescriptType
- \ nextgroup=typescriptFuncCallArg,@typescriptTypeOperator
- \ contained skipwhite
-
-
-syntax cluster typescriptType contains=
- \ @typescriptPrimaryType,
- \ typescriptUnion,
- \ @typescriptFunctionType,
- \ typescriptConstructorType
-
-" array type: A[]
-" type indexing A['key']
-syntax region typescriptTypeBracket contained
- \ start=/\[/ end=/\]/
- \ contains=typescriptString,typescriptNumber
- \ nextgroup=@typescriptTypeOperator
- \ skipwhite skipempty
-
-syntax cluster typescriptPrimaryType contains=
- \ typescriptParenthesizedType,
- \ typescriptPredefinedType,
- \ typescriptTypeReference,
- \ typescriptObjectType,
- \ typescriptTupleType,
- \ typescriptTypeQuery,
- \ typescriptStringLiteralType,
- \ typescriptReadonlyArrayKeyword
-
-syntax region typescriptStringLiteralType contained
- \ start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1\|$/
- \ nextgroup=typescriptUnion
- \ skipwhite skipempty
-
-syntax region typescriptParenthesizedType matchgroup=typescriptParens
- \ start=/(/ end=/)/
- \ contains=@typescriptType
- \ nextgroup=@typescriptTypeOperator
- \ contained skipwhite skipempty fold
-
-syntax match typescriptTypeReference /\K\k*\(\.\K\k*\)*/
- \ nextgroup=typescriptTypeArguments,@typescriptTypeOperator,typescriptUserDefinedType
- \ skipwhite contained skipempty
-
-syntax keyword typescriptPredefinedType any number boolean string void never undefined null object unknown
- \ nextgroup=@typescriptTypeOperator
- \ contained skipwhite skipempty
-
-syntax match typescriptPredefinedType /unique symbol/
- \ nextgroup=@typescriptTypeOperator
- \ contained skipwhite skipempty
-
-syntax region typescriptObjectType matchgroup=typescriptBraces
- \ start=/{/ end=/}/
- \ contains=@typescriptTypeMember,typescriptEndColons,@typescriptComments,typescriptAccessibilityModifier,typescriptReadonlyModifier
- \ nextgroup=@typescriptTypeOperator
- \ contained skipwhite fold
-
-syntax cluster typescriptTypeMember contains=
- \ @typescriptCallSignature,
- \ typescriptConstructSignature,
- \ typescriptIndexSignature,
- \ @typescriptMembers
-
-syntax region typescriptTupleType matchgroup=typescriptBraces
- \ start=/\[/ end=/\]/
- \ contains=@typescriptType
- \ contained skipwhite oneline
-
-syntax cluster typescriptTypeOperator
- \ contains=typescriptUnion,typescriptTypeBracket
-
-syntax match typescriptUnion /|\|&/ contained nextgroup=@typescriptPrimaryType skipwhite skipempty
-
-syntax cluster typescriptFunctionType contains=typescriptGenericFunc,typescriptFuncType
-syntax region typescriptGenericFunc matchgroup=typescriptTypeBrackets
- \ start=/</ end=/>/
- \ contains=typescriptTypeParameter
- \ nextgroup=typescriptFuncType
- \ containedin=typescriptFunctionType
- \ contained skipwhite skipnl
-
-syntax region typescriptFuncType matchgroup=typescriptParens
- \ start=/(/ end=/)\s*=>/me=e-2
- \ contains=@typescriptParameterList
- \ nextgroup=typescriptFuncTypeArrow
- \ contained skipwhite skipnl oneline
-
-syntax match typescriptFuncTypeArrow /=>/
- \ nextgroup=@typescriptType
- \ containedin=typescriptFuncType
- \ contained skipwhite skipnl
-
-
-syntax keyword typescriptConstructorType new
- \ nextgroup=@typescriptFunctionType
- \ contained skipwhite skipnl
-
-syntax keyword typescriptUserDefinedType is
- \ contained nextgroup=@typescriptType skipwhite skipempty
-
-syntax keyword typescriptTypeQuery typeof keyof
- \ nextgroup=typescriptTypeReference
- \ contained skipwhite skipnl
-
-syntax cluster typescriptCallSignature contains=typescriptGenericCall,typescriptCall
-syntax region typescriptGenericCall matchgroup=typescriptTypeBrackets
- \ start=/</ end=/>/
- \ contains=typescriptTypeParameter
- \ nextgroup=typescriptCall
- \ contained skipwhite skipnl
-syntax region typescriptCall matchgroup=typescriptParens
- \ start=/(/ end=/)/
- \ contains=typescriptDecorator,@typescriptParameterList,@typescriptComments
- \ nextgroup=typescriptTypeAnnotation,typescriptBlock
- \ contained skipwhite skipnl
-
-syntax match typescriptTypeAnnotation /:/
- \ nextgroup=@typescriptType
- \ contained skipwhite skipnl
-
-syntax cluster typescriptParameterList contains=
- \ typescriptTypeAnnotation,
- \ typescriptAccessibilityModifier,
- \ typescriptOptionalMark,
- \ typescriptRestOrSpread,
- \ typescriptFuncComma,
- \ typescriptDefaultParam
-
-syntax match typescriptFuncComma /,/ contained
-
-syntax match typescriptDefaultParam /=/
- \ nextgroup=@typescriptValue
- \ contained skipwhite
-
-syntax keyword typescriptConstructSignature new
- \ nextgroup=@typescriptCallSignature
- \ contained skipwhite
-
-syntax region typescriptIndexSignature matchgroup=typescriptBraces
- \ start=/\[/ end=/\]/
- \ contains=typescriptPredefinedType,typescriptMappedIn,typescriptString
- \ nextgroup=typescriptTypeAnnotation
- \ contained skipwhite oneline
-
-syntax keyword typescriptMappedIn in
- \ nextgroup=@typescriptType
- \ contained skipwhite skipnl skipempty
-
-syntax keyword typescriptAliasKeyword type
- \ nextgroup=typescriptAliasDeclaration
- \ skipwhite skipnl skipempty
-
-syntax region typescriptAliasDeclaration matchgroup=typescriptUnion
- \ start=/ / end=/=/
- \ nextgroup=@typescriptType
- \ contains=typescriptConstraint,typescriptTypeParameters
- \ contained skipwhite skipempty
-
-syntax keyword typescriptReadonlyArrayKeyword readonly
- \ nextgroup=@typescriptPrimaryType
- \ skipwhite
-
-" extension
-if get(g:, 'yats_host_keyword', 1)
- "runtime syntax/yats.vim
- "runtime syntax/yats/typescript.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Function Boolean
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Error EvalError
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName InternalError
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName RangeError ReferenceError
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName StopIteration
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName SyntaxError TypeError
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName URIError Date
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float32Array
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float64Array
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int16Array Int32Array
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int8Array Uint16Array
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint32Array Uint8Array
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint8ClampedArray
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName ParallelArray
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName ArrayBuffer DataView
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Iterator Generator
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Reflect Proxy
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName arguments
- hi def link typescriptGlobal Structure
- syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName eval uneval nextgroup=typescriptFuncCallArg
- syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName isFinite nextgroup=typescriptFuncCallArg
- syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName isNaN parseFloat nextgroup=typescriptFuncCallArg
- syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName parseInt nextgroup=typescriptFuncCallArg
- syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName decodeURI nextgroup=typescriptFuncCallArg
- syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName decodeURIComponent nextgroup=typescriptFuncCallArg
- syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName encodeURI nextgroup=typescriptFuncCallArg
- syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName encodeURIComponent nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptGlobalMethod
- hi def link typescriptGlobalMethod Structure
-
- "runtime syntax/yats/es6-number.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Number nextgroup=typescriptGlobalNumberDot,typescriptFuncCallArg
- syntax match typescriptGlobalNumberDot /\./ contained nextgroup=typescriptNumberStaticProp,typescriptNumberStaticMethod,typescriptProp
- syntax keyword typescriptNumberStaticProp contained EPSILON MAX_SAFE_INTEGER MAX_VALUE
- syntax keyword typescriptNumberStaticProp contained MIN_SAFE_INTEGER MIN_VALUE NEGATIVE_INFINITY
- syntax keyword typescriptNumberStaticProp contained NaN POSITIVE_INFINITY
- hi def link typescriptNumberStaticProp Keyword
- syntax keyword typescriptNumberStaticMethod contained isFinite isInteger isNaN isSafeInteger nextgroup=typescriptFuncCallArg
- syntax keyword typescriptNumberStaticMethod contained parseFloat parseInt nextgroup=typescriptFuncCallArg
- hi def link typescriptNumberStaticMethod Keyword
- syntax keyword typescriptNumberMethod contained toExponential toFixed toLocaleString nextgroup=typescriptFuncCallArg
- syntax keyword typescriptNumberMethod contained toPrecision toSource toString valueOf nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptNumberMethod
- hi def link typescriptNumberMethod Keyword
-
- "runtime syntax/yats/es6-string.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName String nextgroup=typescriptGlobalStringDot,typescriptFuncCallArg
- syntax match typescriptGlobalStringDot /\./ contained nextgroup=typescriptStringStaticMethod,typescriptProp
- syntax keyword typescriptStringStaticMethod contained fromCharCode fromCodePoint raw nextgroup=typescriptFuncCallArg
- hi def link typescriptStringStaticMethod Keyword
- syntax keyword typescriptStringMethod contained anchor charAt charCodeAt codePointAt nextgroup=typescriptFuncCallArg
- syntax keyword typescriptStringMethod contained concat endsWith includes indexOf lastIndexOf nextgroup=typescriptFuncCallArg
- syntax keyword typescriptStringMethod contained link localeCompare match normalize nextgroup=typescriptFuncCallArg
- syntax keyword typescriptStringMethod contained padStart padEnd repeat replace search nextgroup=typescriptFuncCallArg
- syntax keyword typescriptStringMethod contained slice split startsWith substr substring nextgroup=typescriptFuncCallArg
- syntax keyword typescriptStringMethod contained toLocaleLowerCase toLocaleUpperCase nextgroup=typescriptFuncCallArg
- syntax keyword typescriptStringMethod contained toLowerCase toString toUpperCase trim nextgroup=typescriptFuncCallArg
- syntax keyword typescriptStringMethod contained valueOf nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptStringMethod
- hi def link typescriptStringMethod Keyword
-
- "runtime syntax/yats/es6-array.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Array nextgroup=typescriptGlobalArrayDot,typescriptFuncCallArg
- syntax match typescriptGlobalArrayDot /\./ contained nextgroup=typescriptArrayStaticMethod,typescriptProp
- syntax keyword typescriptArrayStaticMethod contained from isArray of nextgroup=typescriptFuncCallArg
- hi def link typescriptArrayStaticMethod Keyword
- syntax keyword typescriptArrayMethod contained concat copyWithin entries every fill nextgroup=typescriptFuncCallArg
- syntax keyword typescriptArrayMethod contained filter find findIndex forEach indexOf nextgroup=typescriptFuncCallArg
- syntax keyword typescriptArrayMethod contained includes join keys lastIndexOf map nextgroup=typescriptFuncCallArg
- syntax keyword typescriptArrayMethod contained pop push reduce reduceRight reverse nextgroup=typescriptFuncCallArg
- syntax keyword typescriptArrayMethod contained shift slice some sort splice toLocaleString nextgroup=typescriptFuncCallArg
- syntax keyword typescriptArrayMethod contained toSource toString unshift nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptArrayMethod
- hi def link typescriptArrayMethod Keyword
-
- "runtime syntax/yats/es6-object.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Object nextgroup=typescriptGlobalObjectDot,typescriptFuncCallArg
- syntax match typescriptGlobalObjectDot /\./ contained nextgroup=typescriptObjectStaticMethod,typescriptProp
- syntax keyword typescriptObjectStaticMethod contained create defineProperties defineProperty nextgroup=typescriptFuncCallArg
- syntax keyword typescriptObjectStaticMethod contained entries freeze getOwnPropertyDescriptors nextgroup=typescriptFuncCallArg
- syntax keyword typescriptObjectStaticMethod contained getOwnPropertyDescriptor getOwnPropertyNames nextgroup=typescriptFuncCallArg
- syntax keyword typescriptObjectStaticMethod contained getOwnPropertySymbols getPrototypeOf nextgroup=typescriptFuncCallArg
- syntax keyword typescriptObjectStaticMethod contained is isExtensible isFrozen isSealed nextgroup=typescriptFuncCallArg
- syntax keyword typescriptObjectStaticMethod contained keys preventExtensions values nextgroup=typescriptFuncCallArg
- hi def link typescriptObjectStaticMethod Keyword
- syntax keyword typescriptObjectMethod contained getOwnPropertyDescriptors hasOwnProperty nextgroup=typescriptFuncCallArg
- syntax keyword typescriptObjectMethod contained isPrototypeOf propertyIsEnumerable nextgroup=typescriptFuncCallArg
- syntax keyword typescriptObjectMethod contained toLocaleString toString valueOf seal nextgroup=typescriptFuncCallArg
- syntax keyword typescriptObjectMethod contained setPrototypeOf nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptObjectMethod
- hi def link typescriptObjectMethod Keyword
-
- "runtime syntax/yats/es6-symbol.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Symbol nextgroup=typescriptGlobalSymbolDot,typescriptFuncCallArg
- syntax match typescriptGlobalSymbolDot /\./ contained nextgroup=typescriptSymbolStaticProp,typescriptSymbolStaticMethod,typescriptProp
- syntax keyword typescriptSymbolStaticProp contained length iterator match replace
- syntax keyword typescriptSymbolStaticProp contained search split hasInstance isConcatSpreadable
- syntax keyword typescriptSymbolStaticProp contained unscopables species toPrimitive
- syntax keyword typescriptSymbolStaticProp contained toStringTag
- hi def link typescriptSymbolStaticProp Keyword
- syntax keyword typescriptSymbolStaticMethod contained for keyFor nextgroup=typescriptFuncCallArg
- hi def link typescriptSymbolStaticMethod Keyword
-
- "runtime syntax/yats/es6-function.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Function
- syntax keyword typescriptFunctionMethod contained apply bind call nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptFunctionMethod
- hi def link typescriptFunctionMethod Keyword
-
- "runtime syntax/yats/es6-math.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Math nextgroup=typescriptGlobalMathDot,typescriptFuncCallArg
- syntax match typescriptGlobalMathDot /\./ contained nextgroup=typescriptMathStaticProp,typescriptMathStaticMethod,typescriptProp
- syntax keyword typescriptMathStaticProp contained E LN10 LN2 LOG10E LOG2E PI SQRT1_2
- syntax keyword typescriptMathStaticProp contained SQRT2
- hi def link typescriptMathStaticProp Keyword
- syntax keyword typescriptMathStaticMethod contained abs acos acosh asin asinh atan nextgroup=typescriptFuncCallArg
- syntax keyword typescriptMathStaticMethod contained atan2 atanh cbrt ceil clz32 cos nextgroup=typescriptFuncCallArg
- syntax keyword typescriptMathStaticMethod contained cosh exp expm1 floor fround hypot nextgroup=typescriptFuncCallArg
- syntax keyword typescriptMathStaticMethod contained imul log log10 log1p log2 max nextgroup=typescriptFuncCallArg
- syntax keyword typescriptMathStaticMethod contained min pow random round sign sin nextgroup=typescriptFuncCallArg
- syntax keyword typescriptMathStaticMethod contained sinh sqrt tan tanh trunc nextgroup=typescriptFuncCallArg
- hi def link typescriptMathStaticMethod Keyword
-
- "runtime syntax/yats/es6-date.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Date nextgroup=typescriptGlobalDateDot,typescriptFuncCallArg
- syntax match typescriptGlobalDateDot /\./ contained nextgroup=typescriptDateStaticMethod,typescriptProp
- syntax keyword typescriptDateStaticMethod contained UTC now parse nextgroup=typescriptFuncCallArg
- hi def link typescriptDateStaticMethod Keyword
- syntax keyword typescriptDateMethod contained getDate getDay getFullYear getHours nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDateMethod contained getMilliseconds getMinutes getMonth nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDateMethod contained getSeconds getTime getTimezoneOffset nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDateMethod contained getUTCDate getUTCDay getUTCFullYear nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDateMethod contained getUTCHours getUTCMilliseconds getUTCMinutes nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDateMethod contained getUTCMonth getUTCSeconds setDate setFullYear nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDateMethod contained setHours setMilliseconds setMinutes nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDateMethod contained setMonth setSeconds setTime setUTCDate nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDateMethod contained setUTCFullYear setUTCHours setUTCMilliseconds nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDateMethod contained setUTCMinutes setUTCMonth setUTCSeconds nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDateMethod contained toDateString toISOString toJSON toLocaleDateString nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDateMethod contained toLocaleFormat toLocaleString toLocaleTimeString nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDateMethod contained toSource toString toTimeString toUTCString nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDateMethod contained valueOf nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptDateMethod
- hi def link typescriptDateMethod Keyword
-
- "runtime syntax/yats/es6-json.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName JSON nextgroup=typescriptGlobalJSONDot,typescriptFuncCallArg
- syntax match typescriptGlobalJSONDot /\./ contained nextgroup=typescriptJSONStaticMethod,typescriptProp
- syntax keyword typescriptJSONStaticMethod contained parse stringify nextgroup=typescriptFuncCallArg
- hi def link typescriptJSONStaticMethod Keyword
-
- "runtime syntax/yats/es6-regexp.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName RegExp nextgroup=typescriptGlobalRegExpDot,typescriptFuncCallArg
- syntax match typescriptGlobalRegExpDot /\./ contained nextgroup=typescriptRegExpStaticProp,typescriptProp
- syntax keyword typescriptRegExpStaticProp contained lastIndex
- hi def link typescriptRegExpStaticProp Keyword
- syntax keyword typescriptRegExpProp contained global ignoreCase multiline source sticky
- syntax cluster props add=typescriptRegExpProp
- hi def link typescriptRegExpProp Keyword
- syntax keyword typescriptRegExpMethod contained exec test nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptRegExpMethod
- hi def link typescriptRegExpMethod Keyword
-
- "runtime syntax/yats/es6-map.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Map WeakMap
- syntax keyword typescriptES6MapProp contained size
- syntax cluster props add=typescriptES6MapProp
- hi def link typescriptES6MapProp Keyword
- syntax keyword typescriptES6MapMethod contained clear delete entries forEach get has nextgroup=typescriptFuncCallArg
- syntax keyword typescriptES6MapMethod contained keys set values nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptES6MapMethod
- hi def link typescriptES6MapMethod Keyword
-
- "runtime syntax/yats/es6-set.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Set WeakSet
- syntax keyword typescriptES6SetProp contained size
- syntax cluster props add=typescriptES6SetProp
- hi def link typescriptES6SetProp Keyword
- syntax keyword typescriptES6SetMethod contained add clear delete entries forEach has nextgroup=typescriptFuncCallArg
- syntax keyword typescriptES6SetMethod contained values nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptES6SetMethod
- hi def link typescriptES6SetMethod Keyword
-
- "runtime syntax/yats/es6-proxy.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Proxy
- syntax keyword typescriptProxyAPI contained getOwnPropertyDescriptor getOwnPropertyNames
- syntax keyword typescriptProxyAPI contained defineProperty deleteProperty freeze seal
- syntax keyword typescriptProxyAPI contained preventExtensions has hasOwn get set enumerate
- syntax keyword typescriptProxyAPI contained iterate ownKeys apply construct
- hi def link typescriptProxyAPI Keyword
-
- "runtime syntax/yats/es6-promise.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Promise nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg
- syntax match typescriptGlobalPromiseDot /\./ contained nextgroup=typescriptPromiseStaticMethod,typescriptProp
- syntax keyword typescriptPromiseStaticMethod contained resolve reject all race nextgroup=typescriptFuncCallArg
- hi def link typescriptPromiseStaticMethod Keyword
- syntax keyword typescriptPromiseMethod contained then catch finally nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptPromiseMethod
- hi def link typescriptPromiseMethod Keyword
-
- "runtime syntax/yats/es6-reflect.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Reflect
- syntax keyword typescriptReflectMethod contained apply construct defineProperty deleteProperty nextgroup=typescriptFuncCallArg
- syntax keyword typescriptReflectMethod contained enumerate get getOwnPropertyDescriptor nextgroup=typescriptFuncCallArg
- syntax keyword typescriptReflectMethod contained getPrototypeOf has isExtensible ownKeys nextgroup=typescriptFuncCallArg
- syntax keyword typescriptReflectMethod contained preventExtensions set setPrototypeOf nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptReflectMethod
- hi def link typescriptReflectMethod Keyword
-
- "runtime syntax/yats/ecma-402.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Intl
- syntax keyword typescriptIntlMethod contained Collator DateTimeFormat NumberFormat nextgroup=typescriptFuncCallArg
- syntax keyword typescriptIntlMethod contained PluralRules nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptIntlMethod
- hi def link typescriptIntlMethod Keyword
-
- "runtime syntax/yats/node.vim
- syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName global process
- syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName console Buffer
- syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName module exports
- syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName setTimeout
- syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName clearTimeout
- syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName setInterval
- syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName clearInterval
- hi def link typescriptNodeGlobal Structure
-
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName describe it test
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName before after
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName beforeEach afterEach
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName beforeAll afterAll
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName expect assert
-
- "runtime syntax/yats/web.vim
- syntax keyword typescriptBOM containedin=typescriptIdentifierName AbortController
- syntax keyword typescriptBOM containedin=typescriptIdentifierName AbstractWorker AnalyserNode
- syntax keyword typescriptBOM containedin=typescriptIdentifierName App Apps ArrayBuffer
- syntax keyword typescriptBOM containedin=typescriptIdentifierName ArrayBufferView
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Attr AudioBuffer
- syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioBufferSourceNode
- syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioContext AudioDestinationNode
- syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioListener AudioNode
- syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioParam BatteryManager
- syntax keyword typescriptBOM containedin=typescriptIdentifierName BiquadFilterNode
- syntax keyword typescriptBOM containedin=typescriptIdentifierName BlobEvent BluetoothAdapter
- syntax keyword typescriptBOM containedin=typescriptIdentifierName BluetoothDevice
- syntax keyword typescriptBOM containedin=typescriptIdentifierName BluetoothManager
- syntax keyword typescriptBOM containedin=typescriptIdentifierName CameraCapabilities
- syntax keyword typescriptBOM containedin=typescriptIdentifierName CameraControl CameraManager
- syntax keyword typescriptBOM containedin=typescriptIdentifierName CanvasGradient CanvasImageSource
- syntax keyword typescriptBOM containedin=typescriptIdentifierName CanvasPattern CanvasRenderingContext2D
- syntax keyword typescriptBOM containedin=typescriptIdentifierName CaretPosition CDATASection
- syntax keyword typescriptBOM containedin=typescriptIdentifierName ChannelMergerNode
- syntax keyword typescriptBOM containedin=typescriptIdentifierName ChannelSplitterNode
- syntax keyword typescriptBOM containedin=typescriptIdentifierName CharacterData ChildNode
- syntax keyword typescriptBOM containedin=typescriptIdentifierName ChromeWorker Comment
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Connection Console
- syntax keyword typescriptBOM containedin=typescriptIdentifierName ContactManager Contacts
- syntax keyword typescriptBOM containedin=typescriptIdentifierName ConvolverNode Coordinates
- syntax keyword typescriptBOM containedin=typescriptIdentifierName CSS CSSConditionRule
- syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSGroupingRule
- syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSKeyframeRule
- syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSKeyframesRule
- syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSMediaRule CSSNamespaceRule
- syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSPageRule CSSRule
- syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSRuleList CSSStyleDeclaration
- syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSStyleRule CSSStyleSheet
- syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSSupportsRule
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DataTransfer DataView
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DedicatedWorkerGlobalScope
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DelayNode DeviceAcceleration
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DeviceRotationRate
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DeviceStorage DirectoryEntry
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DirectoryEntrySync
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DirectoryReader
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DirectoryReaderSync
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Document DocumentFragment
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DocumentTouch DocumentType
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMCursor DOMError
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMException DOMHighResTimeStamp
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMImplementation
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMImplementationRegistry
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMParser DOMRequest
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMString DOMStringList
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMStringMap DOMTimeStamp
- syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMTokenList DynamicsCompressorNode
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Element Entry EntrySync
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Extensions FileException
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Float32Array Float64Array
- syntax keyword typescriptBOM containedin=typescriptIdentifierName FMRadio FormData
- syntax keyword typescriptBOM containedin=typescriptIdentifierName GainNode Gamepad
- syntax keyword typescriptBOM containedin=typescriptIdentifierName GamepadButton Geolocation
- syntax keyword typescriptBOM containedin=typescriptIdentifierName History HTMLAnchorElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLAreaElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLAudioElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLBaseElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLBodyElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLBRElement HTMLButtonElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLCanvasElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLCollection HTMLDataElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLDataListElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLDivElement HTMLDListElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLDocument HTMLElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLEmbedElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLFieldSetElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLFormControlsCollection
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLFormElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLHeadElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLHeadingElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLHRElement HTMLHtmlElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLIFrameElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLImageElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLInputElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLKeygenElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLLabelElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLLegendElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLLIElement HTMLLinkElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLMapElement HTMLMediaElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLMetaElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLMeterElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLModElement HTMLObjectElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOListElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOptGroupElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOptionElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOptionsCollection
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOutputElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLParagraphElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLParamElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLPreElement HTMLProgressElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLQuoteElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLScriptElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLSelectElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLSourceElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLSpanElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLStyleElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableCaptionElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableCellElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableColElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableDataCellElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableHeaderCellElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableRowElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableSectionElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTextAreaElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTimeElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTitleElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTrackElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLUListElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLUnknownElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLVideoElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBCursor IDBCursorSync
- syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBCursorWithValue
- syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBDatabase IDBDatabaseSync
- syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBEnvironment IDBEnvironmentSync
- syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBFactory IDBFactorySync
- syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBIndex IDBIndexSync
- syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBKeyRange IDBObjectStore
- syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBObjectStoreSync
- syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBOpenDBRequest
- syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBRequest IDBTransaction
- syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBTransactionSync
- syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBVersionChangeEvent
- syntax keyword typescriptBOM containedin=typescriptIdentifierName ImageData IndexedDB
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Int16Array Int32Array
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Int8Array L10n LinkStyle
- syntax keyword typescriptBOM containedin=typescriptIdentifierName LocalFileSystem
- syntax keyword typescriptBOM containedin=typescriptIdentifierName LocalFileSystemSync
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Location LockedFile
- syntax keyword typescriptBOM containedin=typescriptIdentifierName MediaQueryList MediaQueryListListener
- syntax keyword typescriptBOM containedin=typescriptIdentifierName MediaRecorder MediaSource
- syntax keyword typescriptBOM containedin=typescriptIdentifierName MediaStream MediaStreamTrack
- syntax keyword typescriptBOM containedin=typescriptIdentifierName MutationObserver
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Navigator NavigatorGeolocation
- syntax keyword typescriptBOM containedin=typescriptIdentifierName NavigatorID NavigatorLanguage
- syntax keyword typescriptBOM containedin=typescriptIdentifierName NavigatorOnLine
- syntax keyword typescriptBOM containedin=typescriptIdentifierName NavigatorPlugins
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Node NodeFilter
- syntax keyword typescriptBOM containedin=typescriptIdentifierName NodeIterator NodeList
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Notification OfflineAudioContext
- syntax keyword typescriptBOM containedin=typescriptIdentifierName OscillatorNode PannerNode
- syntax keyword typescriptBOM containedin=typescriptIdentifierName ParentNode Performance
- syntax keyword typescriptBOM containedin=typescriptIdentifierName PerformanceNavigation
- syntax keyword typescriptBOM containedin=typescriptIdentifierName PerformanceTiming
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Permissions PermissionSettings
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Plugin PluginArray
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Position PositionError
- syntax keyword typescriptBOM containedin=typescriptIdentifierName PositionOptions
- syntax keyword typescriptBOM containedin=typescriptIdentifierName PowerManager ProcessingInstruction
- syntax keyword typescriptBOM containedin=typescriptIdentifierName PromiseResolver
- syntax keyword typescriptBOM containedin=typescriptIdentifierName PushManager Range
- syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCConfiguration
- syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCPeerConnection
- syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCPeerConnectionErrorCallback
- syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCSessionDescription
- syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCSessionDescriptionCallback
- syntax keyword typescriptBOM containedin=typescriptIdentifierName ScriptProcessorNode
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Selection SettingsLock
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SettingsManager
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SharedWorker StyleSheet
- syntax keyword typescriptBOM containedin=typescriptIdentifierName StyleSheetList SVGAElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAngle SVGAnimateColorElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedAngle
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedBoolean
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedEnumeration
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedInteger
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedLength
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedLengthList
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedNumber
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedNumberList
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedPoints
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedPreserveAspectRatio
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedRect
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedString
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedTransformList
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimateElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimateMotionElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimateTransformElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimationElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGCircleElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGClipPathElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGCursorElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGDefsElement SVGDescElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGElement SVGEllipseElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFilterElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontElement SVGFontFaceElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceFormatElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceNameElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceSrcElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceUriElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGForeignObjectElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGGElement SVGGlyphElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGGradientElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGHKernElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGImageElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGLength SVGLengthList
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGLinearGradientElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGLineElement SVGMaskElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGMatrix SVGMissingGlyphElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGMPathElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGNumber SVGNumberList
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPathElement SVGPatternElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPoint SVGPolygonElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPolylineElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPreserveAspectRatio
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGRadialGradientElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGRect SVGRectElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGScriptElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGSetElement SVGStopElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGStringList SVGStylable
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGStyleElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGSVGElement SVGSwitchElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGSymbolElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTests SVGTextElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTextPositioningElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTitleElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTransform SVGTransformable
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTransformList
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTRefElement SVGTSpanElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGUseElement SVGViewElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGVKernElement
- syntax keyword typescriptBOM containedin=typescriptIdentifierName TCPServerSocket
- syntax keyword typescriptBOM containedin=typescriptIdentifierName TCPSocket Telephony
- syntax keyword typescriptBOM containedin=typescriptIdentifierName TelephonyCall Text
- syntax keyword typescriptBOM containedin=typescriptIdentifierName TextDecoder TextEncoder
- syntax keyword typescriptBOM containedin=typescriptIdentifierName TextMetrics TimeRanges
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Touch TouchList
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Transferable TreeWalker
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Uint16Array Uint32Array
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Uint8Array Uint8ClampedArray
- syntax keyword typescriptBOM containedin=typescriptIdentifierName URLSearchParams
- syntax keyword typescriptBOM containedin=typescriptIdentifierName URLUtilsReadOnly
- syntax keyword typescriptBOM containedin=typescriptIdentifierName UserProximityEvent
- syntax keyword typescriptBOM containedin=typescriptIdentifierName ValidityState VideoPlaybackQuality
- syntax keyword typescriptBOM containedin=typescriptIdentifierName WaveShaperNode WebBluetooth
- syntax keyword typescriptBOM containedin=typescriptIdentifierName WebGLRenderingContext
- syntax keyword typescriptBOM containedin=typescriptIdentifierName WebSMS WebSocket
- syntax keyword typescriptBOM containedin=typescriptIdentifierName WebVTT WifiManager
- syntax keyword typescriptBOM containedin=typescriptIdentifierName Window Worker WorkerConsole
- syntax keyword typescriptBOM containedin=typescriptIdentifierName WorkerLocation WorkerNavigator
- syntax keyword typescriptBOM containedin=typescriptIdentifierName XDomainRequest XMLDocument
- syntax keyword typescriptBOM containedin=typescriptIdentifierName XMLHttpRequestEventTarget
- hi def link typescriptBOM Structure
-
- "runtime syntax/yats/web-window.vim
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName applicationCache
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName closed
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName Components
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName controllers
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName dialogArguments
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName document
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName frameElement
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName frames
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName fullScreen
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName history
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName innerHeight
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName innerWidth
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName length
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName location
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName locationbar
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName menubar
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName messageManager
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName name navigator
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName opener
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName outerHeight
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName outerWidth
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName pageXOffset
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName pageYOffset
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName parent
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName performance
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName personalbar
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName returnValue
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName screen
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName screenX
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName screenY
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollbars
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollMaxX
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollMaxY
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollX
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollY
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName self sidebar
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName status
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName statusbar
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName toolbar
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName top visualViewport
- syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName window
- syntax cluster props add=typescriptBOMWindowProp
- hi def link typescriptBOMWindowProp Structure
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName alert nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName atob nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName blur nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName btoa nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName clearImmediate nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName clearInterval nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName clearTimeout nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName close nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName confirm nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName dispatchEvent nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName find nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName focus nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getAttention nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getAttentionWithCycleCount nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getComputedStyle nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getDefaulComputedStyle nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getSelection nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName matchMedia nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName maximize nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName moveBy nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName moveTo nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName open nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName openDialog nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName postMessage nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName print nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName prompt nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName removeEventListener nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName resizeBy nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName resizeTo nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName restore nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scroll nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollBy nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollByLines nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollByPages nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollTo nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setCursor nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setImmediate nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setInterval nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setResizable nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setTimeout nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName showModalDialog nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName sizeToContent nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName stop nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName updateCommands nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptBOMWindowMethod
- hi def link typescriptBOMWindowMethod Structure
- syntax keyword typescriptBOMWindowEvent contained onabort onbeforeunload onblur onchange
- syntax keyword typescriptBOMWindowEvent contained onclick onclose oncontextmenu ondevicelight
- syntax keyword typescriptBOMWindowEvent contained ondevicemotion ondeviceorientation
- syntax keyword typescriptBOMWindowEvent contained ondeviceproximity ondragdrop onerror
- syntax keyword typescriptBOMWindowEvent contained onfocus onhashchange onkeydown onkeypress
- syntax keyword typescriptBOMWindowEvent contained onkeyup onload onmousedown onmousemove
- syntax keyword typescriptBOMWindowEvent contained onmouseout onmouseover onmouseup
- syntax keyword typescriptBOMWindowEvent contained onmozbeforepaint onpaint onpopstate
- syntax keyword typescriptBOMWindowEvent contained onreset onresize onscroll onselect
- syntax keyword typescriptBOMWindowEvent contained onsubmit onunload onuserproximity
- syntax keyword typescriptBOMWindowEvent contained onpageshow onpagehide
- hi def link typescriptBOMWindowEvent Keyword
- syntax keyword typescriptBOMWindowCons containedin=typescriptIdentifierName DOMParser
- syntax keyword typescriptBOMWindowCons containedin=typescriptIdentifierName QueryInterface
- syntax keyword typescriptBOMWindowCons containedin=typescriptIdentifierName XMLSerializer
- hi def link typescriptBOMWindowCons Structure
-
- "runtime syntax/yats/web-navigator.vim
- syntax keyword typescriptBOMNavigatorProp contained battery buildID connection cookieEnabled
- syntax keyword typescriptBOMNavigatorProp contained doNotTrack maxTouchPoints oscpu
- syntax keyword typescriptBOMNavigatorProp contained productSub push serviceWorker
- syntax keyword typescriptBOMNavigatorProp contained vendor vendorSub
- syntax cluster props add=typescriptBOMNavigatorProp
- hi def link typescriptBOMNavigatorProp Keyword
- syntax keyword typescriptBOMNavigatorMethod contained addIdleObserver geolocation nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMNavigatorMethod contained getDeviceStorage getDeviceStorages nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMNavigatorMethod contained getGamepads getUserMedia registerContentHandler nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMNavigatorMethod contained removeIdleObserver requestWakeLock nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMNavigatorMethod contained share vibrate watch registerProtocolHandler nextgroup=typescriptFuncCallArg
- syntax keyword typescriptBOMNavigatorMethod contained sendBeacon nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptBOMNavigatorMethod
- hi def link typescriptBOMNavigatorMethod Keyword
- syntax keyword typescriptServiceWorkerMethod contained register nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptServiceWorkerMethod
- hi def link typescriptServiceWorkerMethod Keyword
-
- "runtime syntax/yats/web-location.vim
- syntax keyword typescriptBOMLocationProp contained href protocol host hostname port
- syntax keyword typescriptBOMLocationProp contained pathname search hash username password
- syntax keyword typescriptBOMLocationProp contained origin
- syntax cluster props add=typescriptBOMLocationProp
- hi def link typescriptBOMLocationProp Keyword
- syntax keyword typescriptBOMLocationMethod contained assign reload replace toString nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptBOMLocationMethod
- hi def link typescriptBOMLocationMethod Keyword
-
- "runtime syntax/yats/web-history.vim
- syntax keyword typescriptBOMHistoryProp contained length current next previous state
- syntax keyword typescriptBOMHistoryProp contained scrollRestoration
- syntax cluster props add=typescriptBOMHistoryProp
- hi def link typescriptBOMHistoryProp Keyword
- syntax keyword typescriptBOMHistoryMethod contained back forward go pushState replaceState nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptBOMHistoryMethod
- hi def link typescriptBOMHistoryMethod Keyword
-
- "runtime syntax/yats/web-console.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName console
- syntax keyword typescriptConsoleMethod contained count dir error group groupCollapsed nextgroup=typescriptFuncCallArg
- syntax keyword typescriptConsoleMethod contained groupEnd info log time timeEnd trace nextgroup=typescriptFuncCallArg
- syntax keyword typescriptConsoleMethod contained warn nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptConsoleMethod
- hi def link typescriptConsoleMethod Keyword
-
- "runtime syntax/yats/web-xhr.vim
- syntax keyword typescriptXHRGlobal containedin=typescriptIdentifierName XMLHttpRequest
- hi def link typescriptXHRGlobal Structure
- syntax keyword typescriptXHRProp contained onreadystatechange readyState response
- syntax keyword typescriptXHRProp contained responseText responseType responseXML status
- syntax keyword typescriptXHRProp contained statusText timeout ontimeout upload withCredentials
- syntax cluster props add=typescriptXHRProp
- hi def link typescriptXHRProp Keyword
- syntax keyword typescriptXHRMethod contained abort getAllResponseHeaders getResponseHeader nextgroup=typescriptFuncCallArg
- syntax keyword typescriptXHRMethod contained open overrideMimeType send setRequestHeader nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptXHRMethod
- hi def link typescriptXHRMethod Keyword
-
- "runtime syntax/yats/web-blob.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Blob BlobBuilder
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName File FileReader
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName FileReaderSync
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName URL nextgroup=typescriptGlobalURLDot,typescriptFuncCallArg
- syntax match typescriptGlobalURLDot /\./ contained nextgroup=typescriptURLStaticMethod,typescriptProp
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName URLUtils
- syntax keyword typescriptFileMethod contained readAsArrayBuffer readAsBinaryString nextgroup=typescriptFuncCallArg
- syntax keyword typescriptFileMethod contained readAsDataURL readAsText nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptFileMethod
- hi def link typescriptFileMethod Keyword
- syntax keyword typescriptFileReaderProp contained error readyState result
- syntax cluster props add=typescriptFileReaderProp
- hi def link typescriptFileReaderProp Keyword
- syntax keyword typescriptFileReaderMethod contained abort readAsArrayBuffer readAsBinaryString nextgroup=typescriptFuncCallArg
- syntax keyword typescriptFileReaderMethod contained readAsDataURL readAsText nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptFileReaderMethod
- hi def link typescriptFileReaderMethod Keyword
- syntax keyword typescriptFileListMethod contained item nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptFileListMethod
- hi def link typescriptFileListMethod Keyword
- syntax keyword typescriptBlobMethod contained append getBlob getFile nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptBlobMethod
- hi def link typescriptBlobMethod Keyword
- syntax keyword typescriptURLUtilsProp contained hash host hostname href origin password
- syntax keyword typescriptURLUtilsProp contained pathname port protocol search searchParams
- syntax keyword typescriptURLUtilsProp contained username
- syntax cluster props add=typescriptURLUtilsProp
- hi def link typescriptURLUtilsProp Keyword
- syntax keyword typescriptURLStaticMethod contained createObjectURL revokeObjectURL nextgroup=typescriptFuncCallArg
- hi def link typescriptURLStaticMethod Keyword
-
- "runtime syntax/yats/web-crypto.vim
- syntax keyword typescriptCryptoGlobal containedin=typescriptIdentifierName crypto
- hi def link typescriptCryptoGlobal Structure
- syntax keyword typescriptSubtleCryptoMethod contained encrypt decrypt sign verify nextgroup=typescriptFuncCallArg
- syntax keyword typescriptSubtleCryptoMethod contained digest nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptSubtleCryptoMethod
- hi def link typescriptSubtleCryptoMethod Keyword
- syntax keyword typescriptCryptoProp contained subtle
- syntax cluster props add=typescriptCryptoProp
- hi def link typescriptCryptoProp Keyword
- syntax keyword typescriptCryptoMethod contained getRandomValues nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptCryptoMethod
- hi def link typescriptCryptoMethod Keyword
-
- "runtime syntax/yats/web-fetch.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Headers Request
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Response
- syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName fetch nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptGlobalMethod
- hi def link typescriptGlobalMethod Structure
- syntax keyword typescriptHeadersMethod contained append delete get getAll has set nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptHeadersMethod
- hi def link typescriptHeadersMethod Keyword
- syntax keyword typescriptRequestProp contained method url headers context referrer
- syntax keyword typescriptRequestProp contained mode credentials cache
- syntax cluster props add=typescriptRequestProp
- hi def link typescriptRequestProp Keyword
- syntax keyword typescriptRequestMethod contained clone nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptRequestMethod
- hi def link typescriptRequestMethod Keyword
- syntax keyword typescriptResponseProp contained type url status statusText headers
- syntax keyword typescriptResponseProp contained redirected
- syntax cluster props add=typescriptResponseProp
- hi def link typescriptResponseProp Keyword
- syntax keyword typescriptResponseMethod contained clone nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptResponseMethod
- hi def link typescriptResponseMethod Keyword
-
- "runtime syntax/yats/web-service-worker.vim
- syntax keyword typescriptServiceWorkerProp contained controller ready
- syntax cluster props add=typescriptServiceWorkerProp
- hi def link typescriptServiceWorkerProp Keyword
- syntax keyword typescriptServiceWorkerMethod contained register getRegistration nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptServiceWorkerMethod
- hi def link typescriptServiceWorkerMethod Keyword
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Cache
- syntax keyword typescriptCacheMethod contained match matchAll add addAll put delete nextgroup=typescriptFuncCallArg
- syntax keyword typescriptCacheMethod contained keys nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptCacheMethod
- hi def link typescriptCacheMethod Keyword
-
- "runtime syntax/yats/web-encoding.vim
- syntax keyword typescriptEncodingGlobal containedin=typescriptIdentifierName TextEncoder
- syntax keyword typescriptEncodingGlobal containedin=typescriptIdentifierName TextDecoder
- hi def link typescriptEncodingGlobal Structure
- syntax keyword typescriptEncodingProp contained encoding fatal ignoreBOM
- syntax cluster props add=typescriptEncodingProp
- hi def link typescriptEncodingProp Keyword
- syntax keyword typescriptEncodingMethod contained encode decode nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptEncodingMethod
- hi def link typescriptEncodingMethod Keyword
-
- "runtime syntax/yats/web-geo.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName Geolocation
- syntax keyword typescriptGeolocationMethod contained getCurrentPosition watchPosition nextgroup=typescriptFuncCallArg
- syntax keyword typescriptGeolocationMethod contained clearWatch nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptGeolocationMethod
- hi def link typescriptGeolocationMethod Keyword
-
- "runtime syntax/yats/web-network.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName NetworkInformation
- syntax keyword typescriptBOMNetworkProp contained downlink downlinkMax effectiveType
- syntax keyword typescriptBOMNetworkProp contained rtt type
- syntax cluster props add=typescriptBOMNetworkProp
- hi def link typescriptBOMNetworkProp Keyword
-
- "runtime syntax/yats/web-payment.vim
- syntax keyword typescriptGlobal containedin=typescriptIdentifierName PaymentRequest
- syntax keyword typescriptPaymentMethod contained show abort canMakePayment nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptPaymentMethod
- hi def link typescriptPaymentMethod Keyword
- syntax keyword typescriptPaymentProp contained shippingAddress shippingOption result
- syntax cluster props add=typescriptPaymentProp
- hi def link typescriptPaymentProp Keyword
- syntax keyword typescriptPaymentEvent contained onshippingaddresschange onshippingoptionchange
- hi def link typescriptPaymentEvent Keyword
- syntax keyword typescriptPaymentResponseMethod contained complete nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptPaymentResponseMethod
- hi def link typescriptPaymentResponseMethod Keyword
- syntax keyword typescriptPaymentResponseProp contained details methodName payerEmail
- syntax keyword typescriptPaymentResponseProp contained payerPhone shippingAddress
- syntax keyword typescriptPaymentResponseProp contained shippingOption
- syntax cluster props add=typescriptPaymentResponseProp
- hi def link typescriptPaymentResponseProp Keyword
- syntax keyword typescriptPaymentAddressProp contained addressLine careOf city country
- syntax keyword typescriptPaymentAddressProp contained country dependentLocality languageCode
- syntax keyword typescriptPaymentAddressProp contained organization phone postalCode
- syntax keyword typescriptPaymentAddressProp contained recipient region sortingCode
- syntax cluster props add=typescriptPaymentAddressProp
- hi def link typescriptPaymentAddressProp Keyword
- syntax keyword typescriptPaymentShippingOptionProp contained id label amount selected
- syntax cluster props add=typescriptPaymentShippingOptionProp
- hi def link typescriptPaymentShippingOptionProp Keyword
-
- "runtime syntax/yats/dom-node.vim
- syntax keyword typescriptDOMNodeProp contained attributes baseURI baseURIObject childNodes
- syntax keyword typescriptDOMNodeProp contained firstChild lastChild localName namespaceURI
- syntax keyword typescriptDOMNodeProp contained nextSibling nodeName nodePrincipal
- syntax keyword typescriptDOMNodeProp contained nodeType nodeValue ownerDocument parentElement
- syntax keyword typescriptDOMNodeProp contained parentNode prefix previousSibling textContent
- syntax cluster props add=typescriptDOMNodeProp
- hi def link typescriptDOMNodeProp Keyword
- syntax keyword typescriptDOMNodeMethod contained appendChild cloneNode compareDocumentPosition nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMNodeMethod contained getUserData hasAttributes hasChildNodes nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMNodeMethod contained insertBefore isDefaultNamespace isEqualNode nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMNodeMethod contained isSameNode isSupported lookupNamespaceURI nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMNodeMethod contained lookupPrefix normalize removeChild nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMNodeMethod contained replaceChild setUserData nextgroup=typescriptFuncCallArg
- syntax match typescriptDOMNodeMethod contained /contains/
- syntax cluster props add=typescriptDOMNodeMethod
- hi def link typescriptDOMNodeMethod Keyword
- syntax keyword typescriptDOMNodeType contained ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE
- syntax keyword typescriptDOMNodeType contained CDATA_SECTION_NODEN_NODE ENTITY_REFERENCE_NODE
- syntax keyword typescriptDOMNodeType contained ENTITY_NODE PROCESSING_INSTRUCTION_NODEN_NODE
- syntax keyword typescriptDOMNodeType contained COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE
- syntax keyword typescriptDOMNodeType contained DOCUMENT_FRAGMENT_NODE NOTATION_NODE
- hi def link typescriptDOMNodeType Keyword
-
- "runtime syntax/yats/dom-elem.vim
- syntax keyword typescriptDOMElemAttrs contained accessKey clientHeight clientLeft
- syntax keyword typescriptDOMElemAttrs contained clientTop clientWidth id innerHTML
- syntax keyword typescriptDOMElemAttrs contained length onafterscriptexecute onbeforescriptexecute
- syntax keyword typescriptDOMElemAttrs contained oncopy oncut onpaste onwheel scrollHeight
- syntax keyword typescriptDOMElemAttrs contained scrollLeft scrollTop scrollWidth tagName
- syntax keyword typescriptDOMElemAttrs contained classList className name outerHTML
- syntax keyword typescriptDOMElemAttrs contained style
- hi def link typescriptDOMElemAttrs Keyword
- syntax keyword typescriptDOMElemFuncs contained getAttributeNS getAttributeNode getAttributeNodeNS
- syntax keyword typescriptDOMElemFuncs contained getBoundingClientRect getClientRects
- syntax keyword typescriptDOMElemFuncs contained getElementsByClassName getElementsByTagName
- syntax keyword typescriptDOMElemFuncs contained getElementsByTagNameNS hasAttribute
- syntax keyword typescriptDOMElemFuncs contained hasAttributeNS insertAdjacentHTML
- syntax keyword typescriptDOMElemFuncs contained matches querySelector querySelectorAll
- syntax keyword typescriptDOMElemFuncs contained removeAttribute removeAttributeNS
- syntax keyword typescriptDOMElemFuncs contained removeAttributeNode requestFullscreen
- syntax keyword typescriptDOMElemFuncs contained requestPointerLock scrollIntoView
- syntax keyword typescriptDOMElemFuncs contained setAttribute setAttributeNS setAttributeNode
- syntax keyword typescriptDOMElemFuncs contained setAttributeNodeNS setCapture supports
- syntax keyword typescriptDOMElemFuncs contained getAttribute
- hi def link typescriptDOMElemFuncs Keyword
-
- "runtime syntax/yats/dom-document.vim
- syntax keyword typescriptDOMDocProp contained activeElement body cookie defaultView
- syntax keyword typescriptDOMDocProp contained designMode dir domain embeds forms head
- syntax keyword typescriptDOMDocProp contained images lastModified links location plugins
- syntax keyword typescriptDOMDocProp contained postMessage readyState referrer registerElement
- syntax keyword typescriptDOMDocProp contained scripts styleSheets title vlinkColor
- syntax keyword typescriptDOMDocProp contained xmlEncoding characterSet compatMode
- syntax keyword typescriptDOMDocProp contained contentType currentScript doctype documentElement
- syntax keyword typescriptDOMDocProp contained documentURI documentURIObject firstChild
- syntax keyword typescriptDOMDocProp contained implementation lastStyleSheetSet namespaceURI
- syntax keyword typescriptDOMDocProp contained nodePrincipal ononline pointerLockElement
- syntax keyword typescriptDOMDocProp contained popupNode preferredStyleSheetSet selectedStyleSheetSet
- syntax keyword typescriptDOMDocProp contained styleSheetSets textContent tooltipNode
- syntax cluster props add=typescriptDOMDocProp
- hi def link typescriptDOMDocProp Keyword
- syntax keyword typescriptDOMDocMethod contained caretPositionFromPoint close createNodeIterator nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMDocMethod contained createRange createTreeWalker elementFromPoint nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMDocMethod contained getElementsByName adoptNode createAttribute nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMDocMethod contained createCDATASection createComment createDocumentFragment nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMDocMethod contained createElement createElementNS createEvent nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMDocMethod contained createExpression createNSResolver nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMDocMethod contained createProcessingInstruction createTextNode nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMDocMethod contained enableStyleSheetsForSet evaluate execCommand nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMDocMethod contained exitPointerLock getBoxObjectFor getElementById nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMDocMethod contained getElementsByClassName getElementsByTagName nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMDocMethod contained getElementsByTagNameNS getSelection nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMDocMethod contained hasFocus importNode loadOverlay open nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMDocMethod contained queryCommandSupported querySelector nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMDocMethod contained querySelectorAll write writeln nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptDOMDocMethod
- hi def link typescriptDOMDocMethod Keyword
-
- "runtime syntax/yats/dom-event.vim
- syntax keyword typescriptDOMEventTargetMethod contained addEventListener removeEventListener nextgroup=typescriptEventFuncCallArg
- syntax keyword typescriptDOMEventTargetMethod contained dispatchEvent waitUntil nextgroup=typescriptEventFuncCallArg
- syntax cluster props add=typescriptDOMEventTargetMethod
- hi def link typescriptDOMEventTargetMethod Keyword
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName AnimationEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName AudioProcessingEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName BeforeInputEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName BeforeUnloadEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName BlobEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName ClipboardEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CloseEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CompositionEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CSSFontFaceLoadEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CustomEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceLightEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceMotionEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceOrientationEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceProximityEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DOMTransactionEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DragEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName EditingBeforeInputEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName ErrorEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName FocusEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName GamepadEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName HashChangeEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName IDBVersionChangeEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName KeyboardEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MediaStreamEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MessageEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MouseEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MutationEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName OfflineAudioCompletionEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName PageTransitionEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName PointerEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName PopStateEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName ProgressEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName RelatedEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName RTCPeerConnectionIceEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName SensorEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName StorageEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName SVGEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName SVGZoomEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TimeEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TouchEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TrackEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TransitionEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName UIEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName UserProximityEvent
- syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName WheelEvent
- hi def link typescriptDOMEventCons Structure
- syntax keyword typescriptDOMEventProp contained bubbles cancelable currentTarget defaultPrevented
- syntax keyword typescriptDOMEventProp contained eventPhase target timeStamp type isTrusted
- syntax keyword typescriptDOMEventProp contained isReload
- syntax cluster props add=typescriptDOMEventProp
- hi def link typescriptDOMEventProp Keyword
- syntax keyword typescriptDOMEventMethod contained initEvent preventDefault stopImmediatePropagation nextgroup=typescriptEventFuncCallArg
- syntax keyword typescriptDOMEventMethod contained stopPropagation respondWith default nextgroup=typescriptEventFuncCallArg
- syntax cluster props add=typescriptDOMEventMethod
- hi def link typescriptDOMEventMethod Keyword
-
- "runtime syntax/yats/dom-storage.vim
- syntax keyword typescriptDOMStorage contained sessionStorage localStorage
- hi def link typescriptDOMStorage Keyword
- syntax keyword typescriptDOMStorageProp contained length
- syntax cluster props add=typescriptDOMStorageProp
- hi def link typescriptDOMStorageProp Keyword
- syntax keyword typescriptDOMStorageMethod contained getItem key setItem removeItem nextgroup=typescriptFuncCallArg
- syntax keyword typescriptDOMStorageMethod contained clear nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptDOMStorageMethod
- hi def link typescriptDOMStorageMethod Keyword
-
- "runtime syntax/yats/dom-form.vim
- syntax keyword typescriptDOMFormProp contained acceptCharset action elements encoding
- syntax keyword typescriptDOMFormProp contained enctype length method name target
- syntax cluster props add=typescriptDOMFormProp
- hi def link typescriptDOMFormProp Keyword
- syntax keyword typescriptDOMFormMethod contained reportValidity reset submit nextgroup=typescriptFuncCallArg
- syntax cluster props add=typescriptDOMFormMethod
- hi def link typescriptDOMFormMethod Keyword
-
- "runtime syntax/yats/css.vim
- syntax keyword typescriptDOMStyle contained alignContent alignItems alignSelf animation
- syntax keyword typescriptDOMStyle contained animationDelay animationDirection animationDuration
- syntax keyword typescriptDOMStyle contained animationFillMode animationIterationCount
- syntax keyword typescriptDOMStyle contained animationName animationPlayState animationTimingFunction
- syntax keyword typescriptDOMStyle contained appearance backfaceVisibility background
- syntax keyword typescriptDOMStyle contained backgroundAttachment backgroundBlendMode
- syntax keyword typescriptDOMStyle contained backgroundClip backgroundColor backgroundImage
- syntax keyword typescriptDOMStyle contained backgroundOrigin backgroundPosition backgroundRepeat
- syntax keyword typescriptDOMStyle contained backgroundSize border borderBottom borderBottomColor
- syntax keyword typescriptDOMStyle contained borderBottomLeftRadius borderBottomRightRadius
- syntax keyword typescriptDOMStyle contained borderBottomStyle borderBottomWidth borderCollapse
- syntax keyword typescriptDOMStyle contained borderColor borderImage borderImageOutset
- syntax keyword typescriptDOMStyle contained borderImageRepeat borderImageSlice borderImageSource
- syntax keyword typescriptDOMStyle contained borderImageWidth borderLeft borderLeftColor
- syntax keyword typescriptDOMStyle contained borderLeftStyle borderLeftWidth borderRadius
- syntax keyword typescriptDOMStyle contained borderRight borderRightColor borderRightStyle
- syntax keyword typescriptDOMStyle contained borderRightWidth borderSpacing borderStyle
- syntax keyword typescriptDOMStyle contained borderTop borderTopColor borderTopLeftRadius
- syntax keyword typescriptDOMStyle contained borderTopRightRadius borderTopStyle borderTopWidth
- syntax keyword typescriptDOMStyle contained borderWidth bottom boxDecorationBreak
- syntax keyword typescriptDOMStyle contained boxShadow boxSizing breakAfter breakBefore
- syntax keyword typescriptDOMStyle contained breakInside captionSide caretColor caretShape
- syntax keyword typescriptDOMStyle contained caret clear clip clipPath color columns
- syntax keyword typescriptDOMStyle contained columnCount columnFill columnGap columnRule
- syntax keyword typescriptDOMStyle contained columnRuleColor columnRuleStyle columnRuleWidth
- syntax keyword typescriptDOMStyle contained columnSpan columnWidth content counterIncrement
- syntax keyword typescriptDOMStyle contained counterReset cursor direction display
- syntax keyword typescriptDOMStyle contained emptyCells flex flexBasis flexDirection
- syntax keyword typescriptDOMStyle contained flexFlow flexGrow flexShrink flexWrap
- syntax keyword typescriptDOMStyle contained float font fontFamily fontFeatureSettings
- syntax keyword typescriptDOMStyle contained fontKerning fontLanguageOverride fontSize
- syntax keyword typescriptDOMStyle contained fontSizeAdjust fontStretch fontStyle fontSynthesis
- syntax keyword typescriptDOMStyle contained fontVariant fontVariantAlternates fontVariantCaps
- syntax keyword typescriptDOMStyle contained fontVariantEastAsian fontVariantLigatures
- syntax keyword typescriptDOMStyle contained fontVariantNumeric fontVariantPosition
- syntax keyword typescriptDOMStyle contained fontWeight grad grid gridArea gridAutoColumns
- syntax keyword typescriptDOMStyle contained gridAutoFlow gridAutoPosition gridAutoRows
- syntax keyword typescriptDOMStyle contained gridColumn gridColumnStart gridColumnEnd
- syntax keyword typescriptDOMStyle contained gridRow gridRowStart gridRowEnd gridTemplate
- syntax keyword typescriptDOMStyle contained gridTemplateAreas gridTemplateRows gridTemplateColumns
- syntax keyword typescriptDOMStyle contained height hyphens imageRendering imageResolution
- syntax keyword typescriptDOMStyle contained imageOrientation imeMode inherit justifyContent
- syntax keyword typescriptDOMStyle contained left letterSpacing lineBreak lineHeight
- syntax keyword typescriptDOMStyle contained listStyle listStyleImage listStylePosition
- syntax keyword typescriptDOMStyle contained listStyleType margin marginBottom marginLeft
- syntax keyword typescriptDOMStyle contained marginRight marginTop marks mask maskType
- syntax keyword typescriptDOMStyle contained maxHeight maxWidth minHeight minWidth
- syntax keyword typescriptDOMStyle contained mixBlendMode objectFit objectPosition
- syntax keyword typescriptDOMStyle contained opacity order orphans outline outlineColor
- syntax keyword typescriptDOMStyle contained outlineOffset outlineStyle outlineWidth
- syntax keyword typescriptDOMStyle contained overflow overflowWrap overflowX overflowY
- syntax keyword typescriptDOMStyle contained overflowClipBox padding paddingBottom
- syntax keyword typescriptDOMStyle contained paddingLeft paddingRight paddingTop pageBreakAfter
- syntax keyword typescriptDOMStyle contained pageBreakBefore pageBreakInside perspective
- syntax keyword typescriptDOMStyle contained perspectiveOrigin pointerEvents position
- syntax keyword typescriptDOMStyle contained quotes resize right shapeImageThreshold
- syntax keyword typescriptDOMStyle contained shapeMargin shapeOutside tableLayout tabSize
- syntax keyword typescriptDOMStyle contained textAlign textAlignLast textCombineHorizontal
- syntax keyword typescriptDOMStyle contained textDecoration textDecorationColor textDecorationLine
- syntax keyword typescriptDOMStyle contained textDecorationStyle textIndent textOrientation
- syntax keyword typescriptDOMStyle contained textOverflow textRendering textShadow
- syntax keyword typescriptDOMStyle contained textTransform textUnderlinePosition top
- syntax keyword typescriptDOMStyle contained touchAction transform transformOrigin
- syntax keyword typescriptDOMStyle contained transformStyle transition transitionDelay
- syntax keyword typescriptDOMStyle contained transitionDuration transitionProperty
- syntax keyword typescriptDOMStyle contained transitionTimingFunction unicodeBidi unicodeRange
- syntax keyword typescriptDOMStyle contained userSelect userZoom verticalAlign visibility
- syntax keyword typescriptDOMStyle contained whiteSpace width willChange wordBreak
- syntax keyword typescriptDOMStyle contained wordSpacing wordWrap writingMode zIndex
- hi def link typescriptDOMStyle Keyword
-
-
-
- let typescript_props = 1
-
- "runtime syntax/yats/event.vim
- syntax keyword typescriptAnimationEvent contained animationend animationiteration
- syntax keyword typescriptAnimationEvent contained animationstart beginEvent endEvent
- syntax keyword typescriptAnimationEvent contained repeatEvent
- syntax cluster events add=typescriptAnimationEvent
- hi def link typescriptAnimationEvent Title
- syntax keyword typescriptCSSEvent contained CssRuleViewRefreshed CssRuleViewChanged
- syntax keyword typescriptCSSEvent contained CssRuleViewCSSLinkClicked transitionend
- syntax cluster events add=typescriptCSSEvent
- hi def link typescriptCSSEvent Title
- syntax keyword typescriptDatabaseEvent contained blocked complete error success upgradeneeded
- syntax keyword typescriptDatabaseEvent contained versionchange
- syntax cluster events add=typescriptDatabaseEvent
- hi def link typescriptDatabaseEvent Title
- syntax keyword typescriptDocumentEvent contained DOMLinkAdded DOMLinkRemoved DOMMetaAdded
- syntax keyword typescriptDocumentEvent contained DOMMetaRemoved DOMWillOpenModalDialog
- syntax keyword typescriptDocumentEvent contained DOMModalDialogClosed unload
- syntax cluster events add=typescriptDocumentEvent
- hi def link typescriptDocumentEvent Title
- syntax keyword typescriptDOMMutationEvent contained DOMAttributeNameChanged DOMAttrModified
- syntax keyword typescriptDOMMutationEvent contained DOMCharacterDataModified DOMContentLoaded
- syntax keyword typescriptDOMMutationEvent contained DOMElementNameChanged DOMNodeInserted
- syntax keyword typescriptDOMMutationEvent contained DOMNodeInsertedIntoDocument DOMNodeRemoved
- syntax keyword typescriptDOMMutationEvent contained DOMNodeRemovedFromDocument DOMSubtreeModified
- syntax cluster events add=typescriptDOMMutationEvent
- hi def link typescriptDOMMutationEvent Title
- syntax keyword typescriptDragEvent contained drag dragdrop dragend dragenter dragexit
- syntax keyword typescriptDragEvent contained draggesture dragleave dragover dragstart
- syntax keyword typescriptDragEvent contained drop
- syntax cluster events add=typescriptDragEvent
- hi def link typescriptDragEvent Title
- syntax keyword typescriptElementEvent contained invalid overflow underflow DOMAutoComplete
- syntax keyword typescriptElementEvent contained command commandupdate
- syntax cluster events add=typescriptElementEvent
- hi def link typescriptElementEvent Title
- syntax keyword typescriptFocusEvent contained blur change DOMFocusIn DOMFocusOut focus
- syntax keyword typescriptFocusEvent contained focusin focusout
- syntax cluster events add=typescriptFocusEvent
- hi def link typescriptFocusEvent Title
- syntax keyword typescriptFormEvent contained reset submit
- syntax cluster events add=typescriptFormEvent
- hi def link typescriptFormEvent Title
- syntax keyword typescriptFrameEvent contained DOMFrameContentLoaded
- syntax cluster events add=typescriptFrameEvent
- hi def link typescriptFrameEvent Title
- syntax keyword typescriptInputDeviceEvent contained click contextmenu DOMMouseScroll
- syntax keyword typescriptInputDeviceEvent contained dblclick gamepadconnected gamepaddisconnected
- syntax keyword typescriptInputDeviceEvent contained keydown keypress keyup MozGamepadButtonDown
- syntax keyword typescriptInputDeviceEvent contained MozGamepadButtonUp mousedown mouseenter
- syntax keyword typescriptInputDeviceEvent contained mouseleave mousemove mouseout
- syntax keyword typescriptInputDeviceEvent contained mouseover mouseup mousewheel MozMousePixelScroll
- syntax keyword typescriptInputDeviceEvent contained pointerlockchange pointerlockerror
- syntax keyword typescriptInputDeviceEvent contained wheel
- syntax cluster events add=typescriptInputDeviceEvent
- hi def link typescriptInputDeviceEvent Title
- syntax keyword typescriptMediaEvent contained audioprocess canplay canplaythrough
- syntax keyword typescriptMediaEvent contained durationchange emptied ended ended loadeddata
- syntax keyword typescriptMediaEvent contained loadedmetadata MozAudioAvailable pause
- syntax keyword typescriptMediaEvent contained play playing ratechange seeked seeking
- syntax keyword typescriptMediaEvent contained stalled suspend timeupdate volumechange
- syntax keyword typescriptMediaEvent contained waiting complete
- syntax cluster events add=typescriptMediaEvent
- hi def link typescriptMediaEvent Title
- syntax keyword typescriptMenuEvent contained DOMMenuItemActive DOMMenuItemInactive
- syntax cluster events add=typescriptMenuEvent
- hi def link typescriptMenuEvent Title
- syntax keyword typescriptNetworkEvent contained datachange dataerror disabled enabled
- syntax keyword typescriptNetworkEvent contained offline online statuschange connectionInfoUpdate
- syntax cluster events add=typescriptNetworkEvent
- hi def link typescriptNetworkEvent Title
- syntax keyword typescriptProgressEvent contained abort error load loadend loadstart
- syntax keyword typescriptProgressEvent contained progress timeout uploadprogress
- syntax cluster events add=typescriptProgressEvent
- hi def link typescriptProgressEvent Title
- syntax keyword typescriptResourceEvent contained cached error load
- syntax cluster events add=typescriptResourceEvent
- hi def link typescriptResourceEvent Title
- syntax keyword typescriptScriptEvent contained afterscriptexecute beforescriptexecute
- syntax cluster events add=typescriptScriptEvent
- hi def link typescriptScriptEvent Title
- syntax keyword typescriptSensorEvent contained compassneedscalibration devicelight
- syntax keyword typescriptSensorEvent contained devicemotion deviceorientation deviceproximity
- syntax keyword typescriptSensorEvent contained orientationchange userproximity
- syntax cluster events add=typescriptSensorEvent
- hi def link typescriptSensorEvent Title
- syntax keyword typescriptSessionHistoryEvent contained pagehide pageshow popstate
- syntax cluster events add=typescriptSessionHistoryEvent
- hi def link typescriptSessionHistoryEvent Title
- syntax keyword typescriptStorageEvent contained change storage
- syntax cluster events add=typescriptStorageEvent
- hi def link typescriptStorageEvent Title
- syntax keyword typescriptSVGEvent contained SVGAbort SVGError SVGLoad SVGResize SVGScroll
- syntax keyword typescriptSVGEvent contained SVGUnload SVGZoom
- syntax cluster events add=typescriptSVGEvent
- hi def link typescriptSVGEvent Title
- syntax keyword typescriptTabEvent contained visibilitychange
- syntax cluster events add=typescriptTabEvent
- hi def link typescriptTabEvent Title
- syntax keyword typescriptTextEvent contained compositionend compositionstart compositionupdate
- syntax keyword typescriptTextEvent contained copy cut paste select text
- syntax cluster events add=typescriptTextEvent
- hi def link typescriptTextEvent Title
- syntax keyword typescriptTouchEvent contained touchcancel touchend touchenter touchleave
- syntax keyword typescriptTouchEvent contained touchmove touchstart
- syntax cluster events add=typescriptTouchEvent
- hi def link typescriptTouchEvent Title
- syntax keyword typescriptUpdateEvent contained checking downloading error noupdate
- syntax keyword typescriptUpdateEvent contained obsolete updateready
- syntax cluster events add=typescriptUpdateEvent
- hi def link typescriptUpdateEvent Title
- syntax keyword typescriptValueChangeEvent contained hashchange input readystatechange
- syntax cluster events add=typescriptValueChangeEvent
- hi def link typescriptValueChangeEvent Title
- syntax keyword typescriptViewEvent contained fullscreen fullscreenchange fullscreenerror
- syntax keyword typescriptViewEvent contained resize scroll
- syntax cluster events add=typescriptViewEvent
- hi def link typescriptViewEvent Title
- syntax keyword typescriptWebsocketEvent contained close error message open
- syntax cluster events add=typescriptWebsocketEvent
- hi def link typescriptWebsocketEvent Title
- syntax keyword typescriptWindowEvent contained DOMWindowCreated DOMWindowClose DOMTitleChanged
- syntax cluster events add=typescriptWindowEvent
- hi def link typescriptWindowEvent Title
- syntax keyword typescriptUncategorizedEvent contained beforeunload message open show
- syntax cluster events add=typescriptUncategorizedEvent
- hi def link typescriptUncategorizedEvent Title
- syntax keyword typescriptServiceWorkerEvent contained install activate fetch
- syntax cluster events add=typescriptServiceWorkerEvent
- hi def link typescriptServiceWorkerEvent Title
-
-
-endif
-
-" patch
-"runtime syntax/basic/patch.vim
-" patch for generated code
-syntax keyword typescriptGlobal Promise
- \ nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg,typescriptTypeArguments oneline
-syntax keyword typescriptGlobal Map WeakMap
- \ nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg,typescriptTypeArguments oneline
-
-"runtime syntax/basic/members.vim
-syntax keyword typescriptConstructor contained constructor
- \ nextgroup=@typescriptCallSignature
- \ skipwhite skipempty
-
-
-syntax cluster memberNextGroup contains=typescriptMemberOptionality,typescriptTypeAnnotation,@typescriptCallSignature
-
-syntax match typescriptMember /\K\k*/
- \ nextgroup=@memberNextGroup
- \ contained skipwhite
-
-syntax match typescriptMethodAccessor contained /\v(get|set)\s\K/me=e-1
- \ nextgroup=@typescriptMembers
-
-syntax cluster typescriptPropertyMemberDeclaration contains=
- \ typescriptClassStatic,
- \ typescriptAccessibilityModifier,
- \ typescriptReadonlyModifier,
- \ typescriptMethodAccessor,
- \ @typescriptMembers
- " \ typescriptMemberVariableDeclaration
-
-syntax match typescriptMemberOptionality /?\|!/ contained
- \ nextgroup=typescriptTypeAnnotation,@typescriptCallSignature
- \ skipwhite skipempty
-
-syntax cluster typescriptMembers contains=typescriptMember,typescriptStringMember,typescriptComputedMember
-
-syntax keyword typescriptClassStatic static
- \ nextgroup=@typescriptMembers,typescriptAsyncFuncKeyword,typescriptReadonlyModifier
- \ skipwhite contained
-
-syntax keyword typescriptAccessibilityModifier public private protected contained
-
-syntax keyword typescriptReadonlyModifier readonly contained
-
-syntax region typescriptStringMember contained
- \ start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1/
- \ nextgroup=@memberNextGroup
- \ skipwhite skipempty
-
-syntax region typescriptComputedMember contained matchgroup=typescriptProperty
- \ start=/\[/rs=s+1 end=/]/
- \ contains=@typescriptValue,typescriptMember,typescriptMappedIn
- \ nextgroup=@memberNextGroup
- \ skipwhite skipempty
-
-"runtime syntax/basic/class.vim
-"don't add typescriptMembers to nextgroup, let outer scope match it
-" so we won't match abstract method outside abstract class
-syntax keyword typescriptAbstract abstract
- \ nextgroup=typescriptClassKeyword
- \ skipwhite skipnl
-syntax keyword typescriptClassKeyword class
- \ nextgroup=typescriptClassName,typescriptClassExtends,typescriptClassBlock
- \ skipwhite
-
-syntax match typescriptClassName contained /\K\k*/
- \ nextgroup=typescriptClassBlock,typescriptClassExtends,typescriptClassTypeParameter
- \ skipwhite skipnl
-
-syntax region typescriptClassTypeParameter
- \ start=/</ end=/>/
- \ contains=typescriptTypeParameter
- \ nextgroup=typescriptClassBlock,typescriptClassExtends
- \ contained skipwhite skipnl
-
-syntax keyword typescriptClassExtends contained extends implements nextgroup=typescriptClassHeritage skipwhite skipnl
-
-syntax match typescriptClassHeritage contained /\v(\k|\.|\(|\))+/
- \ nextgroup=typescriptClassBlock,typescriptClassExtends,typescriptMixinComma,typescriptClassTypeArguments
- \ contains=@typescriptValue
- \ skipwhite skipnl
- \ contained
-
-syntax region typescriptClassTypeArguments matchgroup=typescriptTypeBrackets
- \ start=/</ end=/>/
- \ contains=@typescriptType
- \ nextgroup=typescriptClassExtends,typescriptClassBlock,typescriptMixinComma
- \ contained skipwhite skipnl
-
-syntax match typescriptMixinComma /,/ contained nextgroup=typescriptClassHeritage skipwhite skipnl
-
-" we need add arrowFunc to class block for high order arrow func
-" see test case
-syntax region typescriptClassBlock matchgroup=typescriptBraces start=/{/ end=/}/
- \ contains=@typescriptPropertyMemberDeclaration,typescriptAbstract,@typescriptComments,typescriptBlock,typescriptAssign,typescriptDecorator,typescriptAsyncFuncKeyword,typescriptArrowFunc
- \ contained fold
-
-syntax keyword typescriptInterfaceKeyword interface nextgroup=typescriptInterfaceName skipwhite
-syntax match typescriptInterfaceName contained /\k\+/
- \ nextgroup=typescriptObjectType,typescriptInterfaceExtends,typescriptInterfaceTypeParameter
- \ skipwhite skipnl
-syntax region typescriptInterfaceTypeParameter
- \ start=/</ end=/>/
- \ contains=typescriptTypeParameter
- \ nextgroup=typescriptObjectType,typescriptInterfaceExtends
- \ contained
- \ skipwhite skipnl
-
-syntax keyword typescriptInterfaceExtends contained extends nextgroup=typescriptInterfaceHeritage skipwhite skipnl
-
-syntax match typescriptInterfaceHeritage contained /\v(\k|\.)+/
- \ nextgroup=typescriptObjectType,typescriptInterfaceComma,typescriptInterfaceTypeArguments
- \ skipwhite
-
-syntax region typescriptInterfaceTypeArguments matchgroup=typescriptTypeBrackets
- \ start=/</ end=/>/ skip=/\s*,\s*/
- \ contains=@typescriptType
- \ nextgroup=typescriptObjectType,typescriptInterfaceComma
- \ contained skipwhite
-
-syntax match typescriptInterfaceComma /,/ contained nextgroup=typescriptInterfaceHeritage skipwhite skipnl
-
-"runtime syntax/basic/cluster.vim
-"Block VariableStatement EmptyStatement ExpressionStatement IfStatement IterationStatement ContinueStatement BreakStatement ReturnStatement WithStatement LabelledStatement SwitchStatement ThrowStatement TryStatement DebuggerStatement
-syntax cluster typescriptStatement
- \ contains=typescriptBlock,typescriptVariable,
- \ @typescriptTopExpression,typescriptAssign,
- \ typescriptConditional,typescriptRepeat,typescriptBranch,
- \ typescriptLabel,typescriptStatementKeyword,
- \ typescriptFuncKeyword,
- \ typescriptTry,typescriptExceptions,typescriptDebugger,
- \ typescriptExport,typescriptInterfaceKeyword,typescriptEnum,
- \ typescriptModule,typescriptAliasKeyword,typescriptImport
-
-syntax cluster typescriptPrimitive contains=typescriptString,typescriptTemplate,typescriptRegexpString,typescriptNumber,typescriptBoolean,typescriptNull,typescriptArray
-
-syntax cluster typescriptEventTypes contains=typescriptEventString,typescriptTemplate,typescriptNumber,typescriptBoolean,typescriptNull
-
-" top level expression: no arrow func
-" also no func keyword. funcKeyword is contained in statement
-" funcKeyword allows overloading (func without body)
-" funcImpl requires body
-syntax cluster typescriptTopExpression
- \ contains=@typescriptPrimitive,
- \ typescriptIdentifier,typescriptIdentifierName,
- \ typescriptOperator,typescriptUnaryOp,
- \ typescriptParenExp,typescriptRegexpString,
- \ typescriptGlobal,typescriptAsyncFuncKeyword,
- \ typescriptClassKeyword,typescriptTypeCast
-
-" no object literal, used in type cast and arrow func
-" TODO: change func keyword to funcImpl
-syntax cluster typescriptExpression
- \ contains=@typescriptTopExpression,
- \ typescriptArrowFuncDef,
- \ typescriptFuncImpl
-
-syntax cluster typescriptValue
- \ contains=@typescriptExpression,typescriptObjectLiteral
-
-syntax cluster typescriptEventExpression contains=typescriptArrowFuncDef,typescriptParenExp,@typescriptValue,typescriptRegexpString,@typescriptEventTypes,typescriptOperator,typescriptGlobal,jsxRegion
-
-"runtime syntax/basic/function.vim
-syntax keyword typescriptAsyncFuncKeyword async
- \ nextgroup=typescriptFuncKeyword,typescriptArrowFuncDef
- \ skipwhite
-
-syntax keyword typescriptAsyncFuncKeyword await
- \ nextgroup=@typescriptValue
- \ skipwhite
-
-syntax keyword typescriptFuncKeyword function
- \ nextgroup=typescriptAsyncFunc,typescriptFuncName,@typescriptCallSignature
- \ skipwhite skipempty
-
-syntax match typescriptAsyncFunc contained /*/
- \ nextgroup=typescriptFuncName,@typescriptCallSignature
- \ skipwhite skipempty
-
-syntax match typescriptFuncName contained /\K\k*/
- \ nextgroup=@typescriptCallSignature
- \ skipwhite
-
-" destructuring ({ a: ee }) =>
-syntax match typescriptArrowFuncDef contained /({\_[^}]*}\(:\_[^)]\)\?)\s*=>/
- \ contains=typescriptArrowFuncArg,typescriptArrowFunc
- \ nextgroup=@typescriptExpression,typescriptBlock
- \ skipwhite skipempty
-
-" matches `(a) =>` or `([a]) =>` or
-" `(
-" a) =>`
-syntax match typescriptArrowFuncDef contained /(\(\_s*[a-zA-Z\$_\[]\_[^)]*\)*)\s*=>/
- \ contains=typescriptArrowFuncArg,typescriptArrowFunc
- \ nextgroup=@typescriptExpression,typescriptBlock
- \ skipwhite skipempty
-
-syntax match typescriptArrowFuncDef contained /\K\k*\s*=>/
- \ contains=typescriptArrowFuncArg,typescriptArrowFunc
- \ nextgroup=@typescriptExpression,typescriptBlock
- \ skipwhite skipempty
-
-" TODO: optimize this pattern
-syntax region typescriptArrowFuncDef contained start=/(\_[^)]*):/ end=/=>/
- \ contains=typescriptArrowFuncArg,typescriptArrowFunc,typescriptTypeAnnotation
- \ nextgroup=@typescriptExpression,typescriptBlock
- \ skipwhite skipempty keepend
-
-syntax match typescriptArrowFunc /=>/
-syntax match typescriptArrowFuncArg contained /\K\k*/
-syntax region typescriptArrowFuncArg contained start=/<\|(/ end=/\ze=>/ contains=@typescriptCallSignature
-
-syntax region typescriptReturnAnnotation contained start=/:/ end=/{/me=e-1 contains=@typescriptType nextgroup=typescriptBlock
-
-
-syntax region typescriptFuncImpl contained start=/function/ end=/{/me=e-1
- \ contains=typescriptFuncKeyword
- \ nextgroup=typescriptBlock
-
-syntax cluster typescriptCallImpl contains=typescriptGenericImpl,typescriptParamImpl
-syntax region typescriptGenericImpl matchgroup=typescriptTypeBrackets
- \ start=/</ end=/>/ skip=/\s*,\s*/
- \ contains=typescriptTypeParameter
- \ nextgroup=typescriptParamImpl
- \ contained skipwhite
-syntax region typescriptParamImpl matchgroup=typescriptParens
- \ start=/(/ end=/)/
- \ contains=typescriptDecorator,@typescriptParameterList,@typescriptComments
- \ nextgroup=typescriptReturnAnnotation,typescriptBlock
- \ contained skipwhite skipnl
-
-"runtime syntax/basic/decorator.vim
-syntax match typescriptDecorator /@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a-zA-Z0-9]*\>/
- \ nextgroup=typescriptArgumentList
- \ contains=@_semantic,typescriptDotNotation
-
-" Define the default highlighting.
-hi def link typescriptReserved Error
-
-hi def link typescriptEndColons Exception
-hi def link typescriptSymbols Normal
-hi def link typescriptBraces Function
-hi def link typescriptParens Normal
-hi def link typescriptComment Comment
-hi def link typescriptLineComment Comment
-hi def link typescriptDocComment Comment
-hi def link typescriptCommentTodo Todo
-hi def link typescriptRef Include
-hi def link typescriptDocNotation SpecialComment
-hi def link typescriptDocTags SpecialComment
-hi def link typescriptDocNGParam typescriptDocParam
-hi def link typescriptDocParam Function
-hi def link typescriptDocNumParam Function
-hi def link typescriptDocEventRef Function
-hi def link typescriptDocNamedParamType Type
-hi def link typescriptDocParamName Type
-hi def link typescriptDocParamType Type
-hi def link typescriptString String
-hi def link typescriptSpecial Special
-hi def link typescriptStringLiteralType String
-hi def link typescriptStringMember String
-hi def link typescriptTemplate String
-hi def link typescriptEventString String
-hi def link typescriptASCII Special
-hi def link typescriptTemplateSB Label
-hi def link typescriptRegexpString String
-hi def link typescriptGlobal Constant
-hi def link typescriptPrototype Type
-hi def link typescriptConditional Conditional
-hi def link typescriptConditionalElse Conditional
-hi def link typescriptCase Conditional
-hi def link typescriptDefault typescriptCase
-hi def link typescriptBranch Conditional
-hi def link typescriptIdentifier Structure
-hi def link typescriptVariable Identifier
-hi def link typescriptEnumKeyword Identifier
-hi def link typescriptRepeat Repeat
-hi def link typescriptForOperator Repeat
-hi def link typescriptStatementKeyword Statement
-hi def link typescriptMessage Keyword
-hi def link typescriptOperator Identifier
-hi def link typescriptKeywordOp Identifier
-hi def link typescriptCastKeyword Special
-hi def link typescriptType Type
-hi def link typescriptNull Boolean
-hi def link typescriptNumber Number
-hi def link typescriptExponent Number
-hi def link typescriptBoolean Boolean
-hi def link typescriptObjectLabel typescriptLabel
-hi def link typescriptLabel Label
-hi def link typescriptStringProperty String
-hi def link typescriptImport Special
-hi def link typescriptAmbientDeclaration Special
-hi def link typescriptExport Special
-hi def link typescriptModule Special
-hi def link typescriptTry Special
-hi def link typescriptExceptions Special
-
-hi def link typescriptMember Function
-hi def link typescriptMethodAccessor Operator
-
-hi def link typescriptAsyncFuncKeyword Keyword
-hi def link typescriptAsyncFor Keyword
-hi def link typescriptFuncKeyword Keyword
-hi def link typescriptAsyncFunc Keyword
-hi def link typescriptArrowFunc Type
-hi def link typescriptFuncName Function
-hi def link typescriptFuncArg PreProc
-hi def link typescriptArrowFuncArg PreProc
-hi def link typescriptFuncComma Operator
-
-hi def link typescriptClassKeyword Keyword
-hi def link typescriptClassExtends Keyword
-" hi def link typescriptClassName Function
-hi def link typescriptAbstract Special
-" hi def link typescriptClassHeritage Function
-" hi def link typescriptInterfaceHeritage Function
-hi def link typescriptClassStatic StorageClass
-hi def link typescriptReadonlyModifier Keyword
-hi def link typescriptInterfaceKeyword Keyword
-hi def link typescriptInterfaceExtends Keyword
-hi def link typescriptInterfaceName Function
-
-hi def link shellbang Comment
-
-hi def link typescriptTypeParameter Identifier
-hi def link typescriptConstraint Keyword
-hi def link typescriptPredefinedType Type
-hi def link typescriptReadonlyArrayKeyword Keyword
-hi def link typescriptUnion Operator
-hi def link typescriptFuncTypeArrow Function
-hi def link typescriptConstructorType Function
-hi def link typescriptTypeQuery Keyword
-hi def link typescriptAccessibilityModifier Keyword
-hi def link typescriptOptionalMark PreProc
-hi def link typescriptFuncType Special
-hi def link typescriptMappedIn Special
-hi def link typescriptCall PreProc
-hi def link typescriptParamImpl PreProc
-hi def link typescriptConstructSignature Identifier
-hi def link typescriptAliasDeclaration Identifier
-hi def link typescriptAliasKeyword Keyword
-hi def link typescriptUserDefinedType Keyword
-hi def link typescriptTypeReference Identifier
-hi def link typescriptConstructor Keyword
-hi def link typescriptDecorator Special
-
-hi link typeScript NONE
let b:current_syntax = "typescript"
if main_syntax == 'typescript'
diff --git a/runtime/syntax/typescriptcommon.vim b/runtime/syntax/typescriptcommon.vim
new file mode 100644
index 0000000000..ff53168329
--- /dev/null
+++ b/runtime/syntax/typescriptcommon.vim
@@ -0,0 +1,2067 @@
+" Vim syntax file
+" Language: TypeScript and TypeScriptReact
+" Maintainer: Bram Moolenaar, Herrington Darkholme
+" Last Change: 2019 Nov 30
+" Based On: Herrington Darkholme's yats.vim
+" Changes: See https:github.com/HerringtonDarkholme/yats.vim
+" Credits: See yats.vim on github
+
+if &cpo =~ 'C'
+ let s:cpo_save = &cpo
+ set cpo&vim
+endif
+
+
+" NOTE: this results in accurate highlighting, but can be slow.
+syntax sync fromstart
+
+"Dollar sign is permitted anywhere in an identifier
+setlocal iskeyword-=$
+if main_syntax == 'typescript' || main_syntax == 'typescriptreact'
+ setlocal iskeyword+=$
+ " syntax cluster htmlJavaScript contains=TOP
+endif
+
+" lowest priority on least used feature
+syntax match typescriptLabel /[a-zA-Z_$]\k*:/he=e-1 contains=typescriptReserved nextgroup=@typescriptStatement skipwhite skipempty
+
+" other keywords like return,case,yield uses containedin
+syntax region typescriptBlock matchgroup=typescriptBraces start=/{/ end=/}/ contains=@typescriptStatement,@typescriptComments fold
+
+
+"runtime syntax/basic/identifiers.vim
+syntax cluster afterIdentifier contains=
+ \ typescriptDotNotation,
+ \ typescriptFuncCallArg,
+ \ typescriptTemplate,
+ \ typescriptIndexExpr,
+ \ @typescriptSymbols,
+ \ typescriptTypeArguments
+
+syntax match typescriptIdentifierName /\<\K\k*/
+ \ nextgroup=@afterIdentifier
+ \ transparent
+ \ contains=@_semantic
+ \ skipnl skipwhite
+
+syntax match typescriptProp contained /\K\k*!\?/
+ \ transparent
+ \ contains=@props
+ \ nextgroup=@afterIdentifier
+ \ skipwhite skipempty
+
+syntax region typescriptIndexExpr contained matchgroup=typescriptProperty start=/\[/rs=s+1 end=/]/he=e-1 contains=@typescriptValue nextgroup=@typescriptSymbols,typescriptDotNotation,typescriptFuncCallArg skipwhite skipempty
+
+syntax match typescriptDotNotation /\.\|?\.\|!\./ nextgroup=typescriptProp skipnl
+syntax match typescriptDotStyleNotation /\.style\./ nextgroup=typescriptDOMStyle transparent
+" syntax match typescriptFuncCall contained /[a-zA-Z]\k*\ze(/ nextgroup=typescriptFuncCallArg
+syntax region typescriptParenExp matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptComments,@typescriptValue,typescriptCastKeyword nextgroup=@typescriptSymbols skipwhite skipempty
+syntax region typescriptFuncCallArg contained matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptValue,@typescriptComments nextgroup=@typescriptSymbols,typescriptDotNotation skipwhite skipempty skipnl
+syntax region typescriptEventFuncCallArg contained matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptEventExpression
+syntax region typescriptEventString contained start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1\|$/ contains=typescriptASCII,@events
+
+"runtime syntax/basic/literal.vim
+"Syntax in the JavaScript code
+
+" String
+syntax match typescriptASCII contained /\\\d\d\d/
+
+syntax region typescriptTemplateSubstitution matchgroup=typescriptTemplateSB
+ \ start=/\${/ end=/}/
+ \ contains=@typescriptValue
+ \ contained
+
+
+syntax region typescriptString
+ \ start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1+ end=+$+
+ \ contains=typescriptSpecial,@Spell
+ \ extend
+
+syntax match typescriptSpecial contained "\v\\%(x\x\x|u%(\x{4}|\{\x{4,5}})|c\u|.)"
+
+" From vim runtime
+" <https://github.com/vim/vim/blob/master/runtime/syntax/javascript.vim#L48>
+syntax region typescriptRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gimuy]\{0,5\}\s*$+ end=+/[gimuy]\{0,5\}\s*[;.,)\]}]+me=e-1 nextgroup=typescriptDotNotation oneline
+
+syntax region typescriptTemplate
+ \ start=/`/ skip=/\\\\\|\\`\|\n/ end=/`\|$/
+ \ contains=typescriptTemplateSubstitution
+ \ nextgroup=@typescriptSymbols
+ \ skipwhite skipempty
+
+"Array
+syntax region typescriptArray matchgroup=typescriptBraces
+ \ start=/\[/ end=/]/
+ \ contains=@typescriptValue,@typescriptComments
+ \ nextgroup=@typescriptSymbols,typescriptDotNotation
+ \ skipwhite skipempty fold
+
+" Number
+syntax match typescriptNumber /\<0[bB][01][01_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty
+syntax match typescriptNumber /\<0[oO][0-7][0-7_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty
+syntax match typescriptNumber /\<0[xX][0-9a-fA-F][0-9a-fA-F_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty
+syntax match typescriptNumber /\d[0-9_]*\.\d[0-9_]*\|\d[0-9_]*\|\.\d[0-9]*/
+ \ nextgroup=typescriptExponent,@typescriptSymbols skipwhite skipempty
+syntax match typescriptExponent /[eE][+-]\=\d[0-9]*\>/
+ \ nextgroup=@typescriptSymbols skipwhite skipempty contained
+
+
+" runtime syntax/basic/object.vim
+syntax region typescriptObjectLiteral matchgroup=typescriptBraces
+ \ start=/{/ end=/}/
+ \ contains=@typescriptComments,typescriptObjectLabel,typescriptStringProperty,typescriptComputedPropertyName
+ \ fold contained
+
+syntax match typescriptObjectLabel contained /\k\+\_s*/
+ \ nextgroup=typescriptObjectColon,@typescriptCallImpl
+ \ skipwhite skipempty
+
+syntax region typescriptStringProperty contained
+ \ start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1/
+ \ nextgroup=typescriptObjectColon,@typescriptCallImpl
+ \ skipwhite skipempty
+
+" syntax region typescriptPropertyName contained start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1(/me=e-1 nextgroup=@typescriptCallSignature skipwhite skipempty oneline
+syntax region typescriptComputedPropertyName contained matchgroup=typescriptBraces
+ \ start=/\[/rs=s+1 end=/]/
+ \ contains=@typescriptValue
+ \ nextgroup=typescriptObjectColon,@typescriptCallImpl
+ \ skipwhite skipempty
+
+" syntax region typescriptComputedPropertyName contained matchgroup=typescriptPropertyName start=/\[/rs=s+1 end=/]\_s*:/he=e-1 contains=@typescriptValue nextgroup=@typescriptValue skipwhite skipempty
+" syntax region typescriptComputedPropertyName contained matchgroup=typescriptPropertyName start=/\[/rs=s+1 end=/]\_s*(/me=e-1 contains=@typescriptValue nextgroup=@typescriptCallSignature skipwhite skipempty
+" Value for object, statement for label statement
+syntax match typescriptRestOrSpread /\.\.\./ contained
+syntax match typescriptObjectSpread /\.\.\./ contained containedin=typescriptObjectLiteral,typescriptArray nextgroup=@typescriptValue
+
+syntax match typescriptObjectColon contained /:/ nextgroup=@typescriptValue skipwhite skipempty
+
+"runtime syntax/basic/symbols.vim
+" + - ^ ~
+syntax match typescriptUnaryOp /[+\-~!]/
+ \ nextgroup=@typescriptValue
+ \ skipwhite
+
+syntax region typescriptTernary matchgroup=typescriptTernaryOp start=/?[.?]\@!/ end=/:/ contained contains=@typescriptValue,@typescriptComments nextgroup=@typescriptValue skipwhite skipempty
+
+syntax match typescriptAssign /=/ nextgroup=@typescriptValue
+ \ skipwhite skipempty
+
+" 2: ==, ===
+syntax match typescriptBinaryOp contained /===\?/ nextgroup=@typescriptValue skipwhite skipempty
+" 6: >>>=, >>>, >>=, >>, >=, >
+syntax match typescriptBinaryOp contained />\(>>=\|>>\|>=\|>\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
+" 4: <<=, <<, <=, <
+syntax match typescriptBinaryOp contained /<\(<=\|<\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
+" 3: ||, |=, |
+syntax match typescriptBinaryOp contained /|\(|\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
+" 3: &&, &=, &
+syntax match typescriptBinaryOp contained /&\(&\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
+" 2: *=, *
+syntax match typescriptBinaryOp contained /\*=\?/ nextgroup=@typescriptValue skipwhite skipempty
+" 2: %=, %
+syntax match typescriptBinaryOp contained /%=\?/ nextgroup=@typescriptValue skipwhite skipempty
+" 2: /=, /
+syntax match typescriptBinaryOp contained +/\(=\|[^\*/]\@=\)+ nextgroup=@typescriptValue skipwhite skipempty
+syntax match typescriptBinaryOp contained /!==\?/ nextgroup=@typescriptValue skipwhite skipempty
+" 2: !=, !==
+syntax match typescriptBinaryOp contained /+\(+\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
+" 3: +, ++, +=
+syntax match typescriptBinaryOp contained /-\(-\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
+" 3: -, --, -=
+
+" exponentiation operator
+" 2: **, **=
+syntax match typescriptBinaryOp contained /\*\*=\?/ nextgroup=@typescriptValue
+
+syntax cluster typescriptSymbols contains=typescriptBinaryOp,typescriptKeywordOp,typescriptTernary,typescriptAssign,typescriptCastKeyword
+
+" runtime syntax/basic/reserved.vim
+
+"runtime syntax/basic/keyword.vim
+"Import
+syntax keyword typescriptImport from as import
+syntax keyword typescriptExport export
+syntax keyword typescriptModule namespace module
+
+"this
+
+"JavaScript Prototype
+syntax keyword typescriptPrototype prototype
+ \ nextgroup=@afterIdentifier
+
+syntax keyword typescriptCastKeyword as
+ \ nextgroup=@typescriptType
+ \ skipwhite
+
+"Program Keywords
+syntax keyword typescriptIdentifier arguments this super
+ \ nextgroup=@afterIdentifier
+
+syntax keyword typescriptVariable let var
+ \ nextgroup=typescriptVariableDeclaration
+ \ skipwhite skipempty skipnl
+
+syntax keyword typescriptVariable const
+ \ nextgroup=typescriptEnum,typescriptVariableDeclaration
+ \ skipwhite
+
+syntax match typescriptVariableDeclaration /[A-Za-z_$]\k*/
+ \ nextgroup=typescriptTypeAnnotation,typescriptAssign
+ \ contained skipwhite skipempty skipnl
+
+syntax region typescriptEnum matchgroup=typescriptEnumKeyword start=/enum / end=/\ze{/
+ \ nextgroup=typescriptBlock
+ \ skipwhite
+
+syntax keyword typescriptKeywordOp
+ \ contained in instanceof nextgroup=@typescriptValue
+syntax keyword typescriptOperator delete new typeof void
+ \ nextgroup=@typescriptValue
+ \ skipwhite skipempty
+
+syntax keyword typescriptForOperator contained in of
+syntax keyword typescriptBoolean true false nextgroup=@typescriptSymbols skipwhite skipempty
+syntax keyword typescriptNull null undefined nextgroup=@typescriptSymbols skipwhite skipempty
+syntax keyword typescriptMessage alert confirm prompt status
+ \ nextgroup=typescriptDotNotation,typescriptFuncCallArg
+syntax keyword typescriptGlobal self top parent
+ \ nextgroup=@afterIdentifier
+
+"Statement Keywords
+syntax keyword typescriptConditional if else switch
+ \ nextgroup=typescriptConditionalParen
+ \ skipwhite skipempty skipnl
+syntax keyword typescriptConditionalElse else
+syntax keyword typescriptRepeat do while for nextgroup=typescriptLoopParen skipwhite skipempty
+syntax keyword typescriptRepeat for nextgroup=typescriptLoopParen,typescriptAsyncFor skipwhite skipempty
+syntax keyword typescriptBranch break continue containedin=typescriptBlock
+syntax keyword typescriptCase case nextgroup=@typescriptPrimitive skipwhite containedin=typescriptBlock
+syntax keyword typescriptDefault default containedin=typescriptBlock nextgroup=@typescriptValue,typescriptClassKeyword,typescriptInterfaceKeyword skipwhite oneline
+syntax keyword typescriptStatementKeyword with
+syntax keyword typescriptStatementKeyword yield skipwhite nextgroup=@typescriptValue containedin=typescriptBlock
+syntax keyword typescriptStatementKeyword return skipwhite contained nextgroup=@typescriptValue containedin=typescriptBlock
+
+syntax keyword typescriptTry try
+syntax keyword typescriptExceptions catch throw finally
+syntax keyword typescriptDebugger debugger
+
+syntax keyword typescriptAsyncFor await nextgroup=typescriptLoopParen skipwhite skipempty contained
+
+syntax region typescriptLoopParen contained matchgroup=typescriptParens
+ \ start=/(/ end=/)/
+ \ contains=typescriptVariable,typescriptForOperator,typescriptEndColons,@typescriptValue,@typescriptComments
+ \ nextgroup=typescriptBlock
+ \ skipwhite skipempty
+syntax region typescriptConditionalParen contained matchgroup=typescriptParens
+ \ start=/(/ end=/)/
+ \ contains=@typescriptValue,@typescriptComments
+ \ nextgroup=typescriptBlock
+ \ skipwhite skipempty
+syntax match typescriptEndColons /[;,]/ contained
+
+syntax keyword typescriptAmbientDeclaration declare nextgroup=@typescriptAmbients
+ \ skipwhite skipempty
+
+syntax cluster typescriptAmbients contains=
+ \ typescriptVariable,
+ \ typescriptFuncKeyword,
+ \ typescriptClassKeyword,
+ \ typescriptAbstract,
+ \ typescriptEnumKeyword,typescriptEnum,
+ \ typescriptModule
+
+"runtime syntax/basic/doc.vim
+"Syntax coloring for Node.js shebang line
+syntax match shellbang "^#!.*node\>"
+syntax match shellbang "^#!.*iojs\>"
+
+
+"JavaScript comments
+syntax keyword typescriptCommentTodo TODO FIXME XXX TBD
+syntax match typescriptLineComment "//.*"
+ \ contains=@Spell,typescriptCommentTodo,typescriptRef
+syntax region typescriptComment
+ \ start="/\*" end="\*/"
+ \ contains=@Spell,typescriptCommentTodo extend
+syntax cluster typescriptComments
+ \ contains=typescriptDocComment,typescriptComment,typescriptLineComment
+
+syntax match typescriptRef +///\s*<reference\s\+.*\/>$+
+ \ contains=typescriptString
+syntax match typescriptRef +///\s*<amd-dependency\s\+.*\/>$+
+ \ contains=typescriptString
+syntax match typescriptRef +///\s*<amd-module\s\+.*\/>$+
+ \ contains=typescriptString
+
+"JSDoc
+syntax case ignore
+
+syntax region typescriptDocComment matchgroup=typescriptComment
+ \ start="/\*\*" end="\*/"
+ \ contains=typescriptDocNotation,typescriptCommentTodo,@Spell
+ \ fold keepend
+syntax match typescriptDocNotation contained /@/ nextgroup=typescriptDocTags
+
+syntax keyword typescriptDocTags contained constant constructor constructs function ignore inner private public readonly static
+syntax keyword typescriptDocTags contained const dict expose inheritDoc interface nosideeffects override protected struct internal
+syntax keyword typescriptDocTags contained example global
+syntax keyword typescriptDocTags contained alpha beta defaultValue eventProperty experimental label
+syntax keyword typescriptDocTags contained packageDocumentation privateRemarks remarks sealed typeParam
+
+" syntax keyword typescriptDocTags contained ngdoc nextgroup=typescriptDocNGDirective
+syntax keyword typescriptDocTags contained ngdoc scope priority animations
+syntax keyword typescriptDocTags contained ngdoc restrict methodOf propertyOf eventOf eventType nextgroup=typescriptDocParam skipwhite
+syntax keyword typescriptDocNGDirective contained overview service object function method property event directive filter inputType error
+
+syntax keyword typescriptDocTags contained abstract virtual access augments
+
+syntax keyword typescriptDocTags contained arguments callback lends memberOf name type kind link mixes mixin tutorial nextgroup=typescriptDocParam skipwhite
+syntax keyword typescriptDocTags contained variation nextgroup=typescriptDocNumParam skipwhite
+
+syntax keyword typescriptDocTags contained author class classdesc copyright default defaultvalue nextgroup=typescriptDocDesc skipwhite
+syntax keyword typescriptDocTags contained deprecated description external host nextgroup=typescriptDocDesc skipwhite
+syntax keyword typescriptDocTags contained file fileOverview overview namespace requires since version nextgroup=typescriptDocDesc skipwhite
+syntax keyword typescriptDocTags contained summary todo license preserve nextgroup=typescriptDocDesc skipwhite
+
+syntax keyword typescriptDocTags contained borrows exports nextgroup=typescriptDocA skipwhite
+syntax keyword typescriptDocTags contained param arg argument property prop module nextgroup=typescriptDocNamedParamType,typescriptDocParamName skipwhite
+syntax keyword typescriptDocTags contained define enum extends implements this typedef nextgroup=typescriptDocParamType skipwhite
+syntax keyword typescriptDocTags contained return returns throws exception nextgroup=typescriptDocParamType,typescriptDocParamName skipwhite
+syntax keyword typescriptDocTags contained see nextgroup=typescriptDocRef skipwhite
+
+syntax keyword typescriptDocTags contained function func method nextgroup=typescriptDocName skipwhite
+syntax match typescriptDocName contained /\h\w*/
+
+syntax keyword typescriptDocTags contained fires event nextgroup=typescriptDocEventRef skipwhite
+syntax match typescriptDocEventRef contained /\h\w*#\(\h\w*\:\)\?\h\w*/
+
+syntax match typescriptDocNamedParamType contained /{.\+}/ nextgroup=typescriptDocParamName skipwhite
+syntax match typescriptDocParamName contained /\[\?0-9a-zA-Z_\.]\+\]\?/ nextgroup=typescriptDocDesc skipwhite
+syntax match typescriptDocParamType contained /{.\+}/ nextgroup=typescriptDocDesc skipwhite
+syntax match typescriptDocA contained /\%(#\|\w\|\.\|:\|\/\)\+/ nextgroup=typescriptDocAs skipwhite
+syntax match typescriptDocAs contained /\s*as\s*/ nextgroup=typescriptDocB skipwhite
+syntax match typescriptDocB contained /\%(#\|\w\|\.\|:\|\/\)\+/
+syntax match typescriptDocParam contained /\%(#\|\w\|\.\|:\|\/\|-\)\+/
+syntax match typescriptDocNumParam contained /\d\+/
+syntax match typescriptDocRef contained /\%(#\|\w\|\.\|:\|\/\)\+/
+syntax region typescriptDocLinkTag contained matchgroup=typescriptDocLinkTag start=/{/ end=/}/ contains=typescriptDocTags
+
+syntax cluster typescriptDocs contains=typescriptDocParamType,typescriptDocNamedParamType,typescriptDocParam
+
+if main_syntax == "typescript"
+ syntax sync clear
+ syntax sync ccomment typescriptComment minlines=200
+endif
+
+syntax case match
+
+"runtime syntax/basic/type.vim
+" Types
+syntax match typescriptOptionalMark /?/ contained
+
+syntax region typescriptTypeParameters matchgroup=typescriptTypeBrackets
+ \ start=/</ end=/>/
+ \ contains=typescriptTypeParameter
+ \ contained
+
+syntax match typescriptTypeParameter /\K\k*/
+ \ nextgroup=typescriptConstraint,typescriptGenericDefault
+ \ contained skipwhite skipnl
+
+syntax keyword typescriptConstraint extends
+ \ nextgroup=@typescriptType
+ \ contained skipwhite skipnl
+
+syntax match typescriptGenericDefault /=/
+ \ nextgroup=@typescriptType
+ \ contained skipwhite
+
+"><
+" class A extend B<T> {} // ClassBlock
+" func<T>() // FuncCallArg
+syntax region typescriptTypeArguments matchgroup=typescriptTypeBrackets
+ \ start=/\></ end=/>/
+ \ contains=@typescriptType
+ \ nextgroup=typescriptFuncCallArg,@typescriptTypeOperator
+ \ contained skipwhite
+
+
+syntax cluster typescriptType contains=
+ \ @typescriptPrimaryType,
+ \ typescriptUnion,
+ \ @typescriptFunctionType,
+ \ typescriptConstructorType
+
+" array type: A[]
+" type indexing A['key']
+syntax region typescriptTypeBracket contained
+ \ start=/\[/ end=/\]/
+ \ contains=typescriptString,typescriptNumber
+ \ nextgroup=@typescriptTypeOperator
+ \ skipwhite skipempty
+
+syntax cluster typescriptPrimaryType contains=
+ \ typescriptParenthesizedType,
+ \ typescriptPredefinedType,
+ \ typescriptTypeReference,
+ \ typescriptObjectType,
+ \ typescriptTupleType,
+ \ typescriptTypeQuery,
+ \ typescriptStringLiteralType,
+ \ typescriptReadonlyArrayKeyword,
+ \ typescriptAssertType
+
+syntax region typescriptStringLiteralType contained
+ \ start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1\|$/
+ \ nextgroup=typescriptUnion
+ \ skipwhite skipempty
+
+syntax region typescriptParenthesizedType matchgroup=typescriptParens
+ \ start=/(/ end=/)/
+ \ contains=@typescriptType
+ \ nextgroup=@typescriptTypeOperator
+ \ contained skipwhite skipempty fold
+
+syntax match typescriptTypeReference /\K\k*\(\.\K\k*\)*/
+ \ nextgroup=typescriptTypeArguments,@typescriptTypeOperator,typescriptUserDefinedType
+ \ skipwhite contained skipempty
+
+syntax keyword typescriptPredefinedType any number boolean string void never undefined null object unknown
+ \ nextgroup=@typescriptTypeOperator
+ \ contained skipwhite skipempty
+
+syntax match typescriptPredefinedType /unique symbol/
+ \ nextgroup=@typescriptTypeOperator
+ \ contained skipwhite skipempty
+
+syntax region typescriptObjectType matchgroup=typescriptBraces
+ \ start=/{/ end=/}/
+ \ contains=@typescriptTypeMember,typescriptEndColons,@typescriptComments,typescriptAccessibilityModifier,typescriptReadonlyModifier
+ \ nextgroup=@typescriptTypeOperator
+ \ contained skipwhite fold
+
+syntax cluster typescriptTypeMember contains=
+ \ @typescriptCallSignature,
+ \ typescriptConstructSignature,
+ \ typescriptIndexSignature,
+ \ @typescriptMembers
+
+syntax region typescriptTupleType matchgroup=typescriptBraces
+ \ start=/\[/ end=/\]/
+ \ contains=@typescriptType,@typescriptComments
+ \ contained skipwhite
+
+syntax cluster typescriptTypeOperator
+ \ contains=typescriptUnion,typescriptTypeBracket
+
+syntax match typescriptUnion /|\|&/ contained nextgroup=@typescriptPrimaryType skipwhite skipempty
+
+syntax cluster typescriptFunctionType contains=typescriptGenericFunc,typescriptFuncType
+syntax region typescriptGenericFunc matchgroup=typescriptTypeBrackets
+ \ start=/</ end=/>/
+ \ contains=typescriptTypeParameter
+ \ nextgroup=typescriptFuncType
+ \ containedin=typescriptFunctionType
+ \ contained skipwhite skipnl
+
+syntax region typescriptFuncType matchgroup=typescriptParens
+ \ start=/(/ end=/)\s*=>/me=e-2
+ \ contains=@typescriptParameterList
+ \ nextgroup=typescriptFuncTypeArrow
+ \ contained skipwhite skipnl oneline
+
+syntax match typescriptFuncTypeArrow /=>/
+ \ nextgroup=@typescriptType
+ \ containedin=typescriptFuncType
+ \ contained skipwhite skipnl
+
+
+syntax keyword typescriptConstructorType new
+ \ nextgroup=@typescriptFunctionType
+ \ contained skipwhite skipnl
+
+syntax keyword typescriptUserDefinedType is
+ \ contained nextgroup=@typescriptType skipwhite skipempty
+
+syntax keyword typescriptTypeQuery typeof keyof
+ \ nextgroup=typescriptTypeReference
+ \ contained skipwhite skipnl
+
+syntax keyword typescriptAssertType asserts
+ \ nextgroup=typescriptTypeReference
+ \ contained skipwhite skipnl
+
+syntax cluster typescriptCallSignature contains=typescriptGenericCall,typescriptCall
+syntax region typescriptGenericCall matchgroup=typescriptTypeBrackets
+ \ start=/</ end=/>/
+ \ contains=typescriptTypeParameter
+ \ nextgroup=typescriptCall
+ \ contained skipwhite skipnl
+syntax region typescriptCall matchgroup=typescriptParens
+ \ start=/(/ end=/)/
+ \ contains=typescriptDecorator,@typescriptParameterList,@typescriptComments
+ \ nextgroup=typescriptTypeAnnotation,typescriptBlock
+ \ contained skipwhite skipnl
+
+syntax match typescriptTypeAnnotation /:/
+ \ nextgroup=@typescriptType
+ \ contained skipwhite skipnl
+
+syntax cluster typescriptParameterList contains=
+ \ typescriptTypeAnnotation,
+ \ typescriptAccessibilityModifier,
+ \ typescriptOptionalMark,
+ \ typescriptRestOrSpread,
+ \ typescriptFuncComma,
+ \ typescriptDefaultParam
+
+syntax match typescriptFuncComma /,/ contained
+
+syntax match typescriptDefaultParam /=/
+ \ nextgroup=@typescriptValue
+ \ contained skipwhite
+
+syntax keyword typescriptConstructSignature new
+ \ nextgroup=@typescriptCallSignature
+ \ contained skipwhite
+
+syntax region typescriptIndexSignature matchgroup=typescriptBraces
+ \ start=/\[/ end=/\]/
+ \ contains=typescriptPredefinedType,typescriptMappedIn,typescriptString
+ \ nextgroup=typescriptTypeAnnotation
+ \ contained skipwhite oneline
+
+syntax keyword typescriptMappedIn in
+ \ nextgroup=@typescriptType
+ \ contained skipwhite skipnl skipempty
+
+syntax keyword typescriptAliasKeyword type
+ \ nextgroup=typescriptAliasDeclaration
+ \ skipwhite skipnl skipempty
+
+syntax region typescriptAliasDeclaration matchgroup=typescriptUnion
+ \ start=/ / end=/=/
+ \ nextgroup=@typescriptType
+ \ contains=typescriptConstraint,typescriptTypeParameters
+ \ contained skipwhite skipempty
+
+syntax keyword typescriptReadonlyArrayKeyword readonly
+ \ nextgroup=@typescriptPrimaryType
+ \ skipwhite
+
+" extension
+if get(g:, 'yats_host_keyword', 1)
+ "runtime syntax/yats.vim
+ "runtime syntax/yats/typescript.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Function Boolean
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Error EvalError
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName InternalError
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName RangeError ReferenceError
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName StopIteration
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName SyntaxError TypeError
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName URIError Date
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float32Array
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float64Array
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int16Array Int32Array
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int8Array Uint16Array
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint32Array Uint8Array
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint8ClampedArray
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName ParallelArray
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName ArrayBuffer DataView
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Iterator Generator
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Reflect Proxy
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName arguments
+ hi def link typescriptGlobal Structure
+ syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName eval uneval nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName isFinite nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName isNaN parseFloat nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName parseInt nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName decodeURI nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName decodeURIComponent nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName encodeURI nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName encodeURIComponent nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptGlobalMethod
+ hi def link typescriptGlobalMethod Structure
+
+ "runtime syntax/yats/es6-number.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Number nextgroup=typescriptGlobalNumberDot,typescriptFuncCallArg
+ syntax match typescriptGlobalNumberDot /\./ contained nextgroup=typescriptNumberStaticProp,typescriptNumberStaticMethod,typescriptProp
+ syntax keyword typescriptNumberStaticProp contained EPSILON MAX_SAFE_INTEGER MAX_VALUE
+ syntax keyword typescriptNumberStaticProp contained MIN_SAFE_INTEGER MIN_VALUE NEGATIVE_INFINITY
+ syntax keyword typescriptNumberStaticProp contained NaN POSITIVE_INFINITY
+ hi def link typescriptNumberStaticProp Keyword
+ syntax keyword typescriptNumberStaticMethod contained isFinite isInteger isNaN isSafeInteger nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptNumberStaticMethod contained parseFloat parseInt nextgroup=typescriptFuncCallArg
+ hi def link typescriptNumberStaticMethod Keyword
+ syntax keyword typescriptNumberMethod contained toExponential toFixed toLocaleString nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptNumberMethod contained toPrecision toSource toString valueOf nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptNumberMethod
+ hi def link typescriptNumberMethod Keyword
+
+ "runtime syntax/yats/es6-string.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName String nextgroup=typescriptGlobalStringDot,typescriptFuncCallArg
+ syntax match typescriptGlobalStringDot /\./ contained nextgroup=typescriptStringStaticMethod,typescriptProp
+ syntax keyword typescriptStringStaticMethod contained fromCharCode fromCodePoint raw nextgroup=typescriptFuncCallArg
+ hi def link typescriptStringStaticMethod Keyword
+ syntax keyword typescriptStringMethod contained anchor charAt charCodeAt codePointAt nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptStringMethod contained concat endsWith includes indexOf lastIndexOf nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptStringMethod contained link localeCompare match normalize nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptStringMethod contained padStart padEnd repeat replace search nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptStringMethod contained slice split startsWith substr substring nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptStringMethod contained toLocaleLowerCase toLocaleUpperCase nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptStringMethod contained toLowerCase toString toUpperCase trim nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptStringMethod contained valueOf nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptStringMethod
+ hi def link typescriptStringMethod Keyword
+
+ "runtime syntax/yats/es6-array.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Array nextgroup=typescriptGlobalArrayDot,typescriptFuncCallArg
+ syntax match typescriptGlobalArrayDot /\./ contained nextgroup=typescriptArrayStaticMethod,typescriptProp
+ syntax keyword typescriptArrayStaticMethod contained from isArray of nextgroup=typescriptFuncCallArg
+ hi def link typescriptArrayStaticMethod Keyword
+ syntax keyword typescriptArrayMethod contained concat copyWithin entries every fill nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptArrayMethod contained filter find findIndex forEach indexOf nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptArrayMethod contained includes join keys lastIndexOf map nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptArrayMethod contained pop push reduce reduceRight reverse nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptArrayMethod contained shift slice some sort splice toLocaleString nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptArrayMethod contained toSource toString unshift nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptArrayMethod
+ hi def link typescriptArrayMethod Keyword
+
+ "runtime syntax/yats/es6-object.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Object nextgroup=typescriptGlobalObjectDot,typescriptFuncCallArg
+ syntax match typescriptGlobalObjectDot /\./ contained nextgroup=typescriptObjectStaticMethod,typescriptProp
+ syntax keyword typescriptObjectStaticMethod contained create defineProperties defineProperty nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptObjectStaticMethod contained entries freeze getOwnPropertyDescriptors nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptObjectStaticMethod contained getOwnPropertyDescriptor getOwnPropertyNames nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptObjectStaticMethod contained getOwnPropertySymbols getPrototypeOf nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptObjectStaticMethod contained is isExtensible isFrozen isSealed nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptObjectStaticMethod contained keys preventExtensions values nextgroup=typescriptFuncCallArg
+ hi def link typescriptObjectStaticMethod Keyword
+ syntax keyword typescriptObjectMethod contained getOwnPropertyDescriptors hasOwnProperty nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptObjectMethod contained isPrototypeOf propertyIsEnumerable nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptObjectMethod contained toLocaleString toString valueOf seal nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptObjectMethod contained setPrototypeOf nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptObjectMethod
+ hi def link typescriptObjectMethod Keyword
+
+ "runtime syntax/yats/es6-symbol.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Symbol nextgroup=typescriptGlobalSymbolDot,typescriptFuncCallArg
+ syntax match typescriptGlobalSymbolDot /\./ contained nextgroup=typescriptSymbolStaticProp,typescriptSymbolStaticMethod,typescriptProp
+ syntax keyword typescriptSymbolStaticProp contained length iterator match replace
+ syntax keyword typescriptSymbolStaticProp contained search split hasInstance isConcatSpreadable
+ syntax keyword typescriptSymbolStaticProp contained unscopables species toPrimitive
+ syntax keyword typescriptSymbolStaticProp contained toStringTag
+ hi def link typescriptSymbolStaticProp Keyword
+ syntax keyword typescriptSymbolStaticMethod contained for keyFor nextgroup=typescriptFuncCallArg
+ hi def link typescriptSymbolStaticMethod Keyword
+
+ "runtime syntax/yats/es6-function.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Function
+ syntax keyword typescriptFunctionMethod contained apply bind call nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptFunctionMethod
+ hi def link typescriptFunctionMethod Keyword
+
+ "runtime syntax/yats/es6-math.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Math nextgroup=typescriptGlobalMathDot,typescriptFuncCallArg
+ syntax match typescriptGlobalMathDot /\./ contained nextgroup=typescriptMathStaticProp,typescriptMathStaticMethod,typescriptProp
+ syntax keyword typescriptMathStaticProp contained E LN10 LN2 LOG10E LOG2E PI SQRT1_2
+ syntax keyword typescriptMathStaticProp contained SQRT2
+ hi def link typescriptMathStaticProp Keyword
+ syntax keyword typescriptMathStaticMethod contained abs acos acosh asin asinh atan nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptMathStaticMethod contained atan2 atanh cbrt ceil clz32 cos nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptMathStaticMethod contained cosh exp expm1 floor fround hypot nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptMathStaticMethod contained imul log log10 log1p log2 max nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptMathStaticMethod contained min pow random round sign sin nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptMathStaticMethod contained sinh sqrt tan tanh trunc nextgroup=typescriptFuncCallArg
+ hi def link typescriptMathStaticMethod Keyword
+
+ "runtime syntax/yats/es6-date.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Date nextgroup=typescriptGlobalDateDot,typescriptFuncCallArg
+ syntax match typescriptGlobalDateDot /\./ contained nextgroup=typescriptDateStaticMethod,typescriptProp
+ syntax keyword typescriptDateStaticMethod contained UTC now parse nextgroup=typescriptFuncCallArg
+ hi def link typescriptDateStaticMethod Keyword
+ syntax keyword typescriptDateMethod contained getDate getDay getFullYear getHours nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDateMethod contained getMilliseconds getMinutes getMonth nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDateMethod contained getSeconds getTime getTimezoneOffset nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDateMethod contained getUTCDate getUTCDay getUTCFullYear nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDateMethod contained getUTCHours getUTCMilliseconds getUTCMinutes nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDateMethod contained getUTCMonth getUTCSeconds setDate setFullYear nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDateMethod contained setHours setMilliseconds setMinutes nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDateMethod contained setMonth setSeconds setTime setUTCDate nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDateMethod contained setUTCFullYear setUTCHours setUTCMilliseconds nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDateMethod contained setUTCMinutes setUTCMonth setUTCSeconds nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDateMethod contained toDateString toISOString toJSON toLocaleDateString nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDateMethod contained toLocaleFormat toLocaleString toLocaleTimeString nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDateMethod contained toSource toString toTimeString toUTCString nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDateMethod contained valueOf nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptDateMethod
+ hi def link typescriptDateMethod Keyword
+
+ "runtime syntax/yats/es6-json.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName JSON nextgroup=typescriptGlobalJSONDot,typescriptFuncCallArg
+ syntax match typescriptGlobalJSONDot /\./ contained nextgroup=typescriptJSONStaticMethod,typescriptProp
+ syntax keyword typescriptJSONStaticMethod contained parse stringify nextgroup=typescriptFuncCallArg
+ hi def link typescriptJSONStaticMethod Keyword
+
+ "runtime syntax/yats/es6-regexp.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName RegExp nextgroup=typescriptGlobalRegExpDot,typescriptFuncCallArg
+ syntax match typescriptGlobalRegExpDot /\./ contained nextgroup=typescriptRegExpStaticProp,typescriptProp
+ syntax keyword typescriptRegExpStaticProp contained lastIndex
+ hi def link typescriptRegExpStaticProp Keyword
+ syntax keyword typescriptRegExpProp contained global ignoreCase multiline source sticky
+ syntax cluster props add=typescriptRegExpProp
+ hi def link typescriptRegExpProp Keyword
+ syntax keyword typescriptRegExpMethod contained exec test nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptRegExpMethod
+ hi def link typescriptRegExpMethod Keyword
+
+ "runtime syntax/yats/es6-map.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Map WeakMap
+ syntax keyword typescriptES6MapProp contained size
+ syntax cluster props add=typescriptES6MapProp
+ hi def link typescriptES6MapProp Keyword
+ syntax keyword typescriptES6MapMethod contained clear delete entries forEach get has nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptES6MapMethod contained keys set values nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptES6MapMethod
+ hi def link typescriptES6MapMethod Keyword
+
+ "runtime syntax/yats/es6-set.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Set WeakSet
+ syntax keyword typescriptES6SetProp contained size
+ syntax cluster props add=typescriptES6SetProp
+ hi def link typescriptES6SetProp Keyword
+ syntax keyword typescriptES6SetMethod contained add clear delete entries forEach has nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptES6SetMethod contained values nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptES6SetMethod
+ hi def link typescriptES6SetMethod Keyword
+
+ "runtime syntax/yats/es6-proxy.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Proxy
+ syntax keyword typescriptProxyAPI contained getOwnPropertyDescriptor getOwnPropertyNames
+ syntax keyword typescriptProxyAPI contained defineProperty deleteProperty freeze seal
+ syntax keyword typescriptProxyAPI contained preventExtensions has hasOwn get set enumerate
+ syntax keyword typescriptProxyAPI contained iterate ownKeys apply construct
+ hi def link typescriptProxyAPI Keyword
+
+ "runtime syntax/yats/es6-promise.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Promise nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg
+ syntax match typescriptGlobalPromiseDot /\./ contained nextgroup=typescriptPromiseStaticMethod,typescriptProp
+ syntax keyword typescriptPromiseStaticMethod contained resolve reject all race nextgroup=typescriptFuncCallArg
+ hi def link typescriptPromiseStaticMethod Keyword
+ syntax keyword typescriptPromiseMethod contained then catch finally nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptPromiseMethod
+ hi def link typescriptPromiseMethod Keyword
+
+ "runtime syntax/yats/es6-reflect.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Reflect
+ syntax keyword typescriptReflectMethod contained apply construct defineProperty deleteProperty nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptReflectMethod contained enumerate get getOwnPropertyDescriptor nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptReflectMethod contained getPrototypeOf has isExtensible ownKeys nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptReflectMethod contained preventExtensions set setPrototypeOf nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptReflectMethod
+ hi def link typescriptReflectMethod Keyword
+
+ "runtime syntax/yats/ecma-402.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Intl
+ syntax keyword typescriptIntlMethod contained Collator DateTimeFormat NumberFormat nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptIntlMethod contained PluralRules nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptIntlMethod
+ hi def link typescriptIntlMethod Keyword
+
+ "runtime syntax/yats/node.vim
+ syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName global process
+ syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName console Buffer
+ syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName module exports
+ syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName setTimeout
+ syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName clearTimeout
+ syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName setInterval
+ syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName clearInterval
+ hi def link typescriptNodeGlobal Structure
+
+ syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName describe
+ syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName it test before
+ syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName after beforeEach
+ syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName afterEach
+ syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName beforeAll
+ syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName afterAll
+ syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName expect assert
+
+ "runtime syntax/yats/web.vim
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName AbortController
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName AbstractWorker AnalyserNode
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName App Apps ArrayBuffer
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName ArrayBufferView
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Attr AudioBuffer
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioBufferSourceNode
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioContext AudioDestinationNode
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioListener AudioNode
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioParam BatteryManager
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName BiquadFilterNode
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName BlobEvent BluetoothAdapter
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName BluetoothDevice
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName BluetoothManager
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName CameraCapabilities
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName CameraControl CameraManager
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName CanvasGradient CanvasImageSource
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName CanvasPattern CanvasRenderingContext2D
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName CaretPosition CDATASection
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName ChannelMergerNode
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName ChannelSplitterNode
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName CharacterData ChildNode
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName ChromeWorker Comment
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Connection Console
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName ContactManager Contacts
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName ConvolverNode Coordinates
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName CSS CSSConditionRule
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSGroupingRule
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSKeyframeRule
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSKeyframesRule
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSMediaRule CSSNamespaceRule
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSPageRule CSSRule
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSRuleList CSSStyleDeclaration
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSStyleRule CSSStyleSheet
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSSupportsRule
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DataTransfer DataView
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DedicatedWorkerGlobalScope
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DelayNode DeviceAcceleration
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DeviceRotationRate
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DeviceStorage DirectoryEntry
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DirectoryEntrySync
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DirectoryReader
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DirectoryReaderSync
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Document DocumentFragment
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DocumentTouch DocumentType
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMCursor DOMError
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMException DOMHighResTimeStamp
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMImplementation
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMImplementationRegistry
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMParser DOMRequest
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMString DOMStringList
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMStringMap DOMTimeStamp
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMTokenList DynamicsCompressorNode
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Element Entry EntrySync
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Extensions FileException
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Float32Array Float64Array
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName FMRadio FormData
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName GainNode Gamepad
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName GamepadButton Geolocation
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName History HTMLAnchorElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLAreaElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLAudioElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLBaseElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLBodyElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLBRElement HTMLButtonElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLCanvasElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLCollection HTMLDataElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLDataListElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLDivElement HTMLDListElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLDocument HTMLElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLEmbedElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLFieldSetElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLFormControlsCollection
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLFormElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLHeadElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLHeadingElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLHRElement HTMLHtmlElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLIFrameElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLImageElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLInputElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLKeygenElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLLabelElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLLegendElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLLIElement HTMLLinkElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLMapElement HTMLMediaElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLMetaElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLMeterElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLModElement HTMLObjectElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOListElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOptGroupElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOptionElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOptionsCollection
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOutputElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLParagraphElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLParamElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLPreElement HTMLProgressElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLQuoteElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLScriptElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLSelectElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLSourceElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLSpanElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLStyleElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableCaptionElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableCellElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableColElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableDataCellElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableHeaderCellElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableRowElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableSectionElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTextAreaElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTimeElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTitleElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTrackElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLUListElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLUnknownElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLVideoElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBCursor IDBCursorSync
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBCursorWithValue
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBDatabase IDBDatabaseSync
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBEnvironment IDBEnvironmentSync
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBFactory IDBFactorySync
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBIndex IDBIndexSync
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBKeyRange IDBObjectStore
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBObjectStoreSync
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBOpenDBRequest
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBRequest IDBTransaction
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBTransactionSync
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBVersionChangeEvent
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName ImageData IndexedDB
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Int16Array Int32Array
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Int8Array L10n LinkStyle
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName LocalFileSystem
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName LocalFileSystemSync
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Location LockedFile
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName MediaQueryList MediaQueryListListener
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName MediaRecorder MediaSource
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName MediaStream MediaStreamTrack
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName MutationObserver
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Navigator NavigatorGeolocation
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName NavigatorID NavigatorLanguage
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName NavigatorOnLine
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName NavigatorPlugins
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Node NodeFilter
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName NodeIterator NodeList
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Notification OfflineAudioContext
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName OscillatorNode PannerNode
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName ParentNode Performance
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName PerformanceNavigation
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName PerformanceTiming
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Permissions PermissionSettings
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Plugin PluginArray
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Position PositionError
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName PositionOptions
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName PowerManager ProcessingInstruction
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName PromiseResolver
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName PushManager Range
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCConfiguration
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCPeerConnection
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCPeerConnectionErrorCallback
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCSessionDescription
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCSessionDescriptionCallback
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName ScriptProcessorNode
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Selection SettingsLock
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SettingsManager
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SharedWorker StyleSheet
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName StyleSheetList SVGAElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAngle SVGAnimateColorElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedAngle
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedBoolean
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedEnumeration
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedInteger
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedLength
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedLengthList
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedNumber
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedNumberList
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedPoints
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedPreserveAspectRatio
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedRect
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedString
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedTransformList
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimateElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimateMotionElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimateTransformElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimationElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGCircleElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGClipPathElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGCursorElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGDefsElement SVGDescElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGElement SVGEllipseElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFilterElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontElement SVGFontFaceElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceFormatElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceNameElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceSrcElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceUriElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGForeignObjectElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGGElement SVGGlyphElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGGradientElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGHKernElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGImageElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGLength SVGLengthList
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGLinearGradientElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGLineElement SVGMaskElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGMatrix SVGMissingGlyphElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGMPathElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGNumber SVGNumberList
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPathElement SVGPatternElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPoint SVGPolygonElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPolylineElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPreserveAspectRatio
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGRadialGradientElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGRect SVGRectElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGScriptElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGSetElement SVGStopElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGStringList SVGStylable
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGStyleElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGSVGElement SVGSwitchElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGSymbolElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTests SVGTextElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTextPositioningElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTitleElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTransform SVGTransformable
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTransformList
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTRefElement SVGTSpanElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGUseElement SVGViewElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGVKernElement
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName TCPServerSocket
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName TCPSocket Telephony
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName TelephonyCall Text
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName TextDecoder TextEncoder
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName TextMetrics TimeRanges
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Touch TouchList
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Transferable TreeWalker
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Uint16Array Uint32Array
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Uint8Array Uint8ClampedArray
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName URLSearchParams
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName URLUtilsReadOnly
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName UserProximityEvent
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName ValidityState VideoPlaybackQuality
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName WaveShaperNode WebBluetooth
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName WebGLRenderingContext
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName WebSMS WebSocket
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName WebVTT WifiManager
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName Window Worker WorkerConsole
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName WorkerLocation WorkerNavigator
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName XDomainRequest XMLDocument
+ syntax keyword typescriptBOM containedin=typescriptIdentifierName XMLHttpRequestEventTarget
+ hi def link typescriptBOM Structure
+
+ "runtime syntax/yats/web-window.vim
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName applicationCache
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName closed
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName Components
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName controllers
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName dialogArguments
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName document
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName frameElement
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName frames
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName fullScreen
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName history
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName innerHeight
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName innerWidth
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName length
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName location
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName locationbar
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName menubar
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName messageManager
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName name navigator
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName opener
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName outerHeight
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName outerWidth
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName pageXOffset
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName pageYOffset
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName parent
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName performance
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName personalbar
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName returnValue
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName screen
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName screenX
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName screenY
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollbars
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollMaxX
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollMaxY
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollX
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollY
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName self sidebar
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName status
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName statusbar
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName toolbar
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName top visualViewport
+ syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName window
+ syntax cluster props add=typescriptBOMWindowProp
+ hi def link typescriptBOMWindowProp Structure
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName alert nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName atob nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName blur nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName btoa nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName clearImmediate nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName clearInterval nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName clearTimeout nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName close nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName confirm nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName dispatchEvent nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName find nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName focus nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getAttention nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getAttentionWithCycleCount nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getComputedStyle nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getDefaulComputedStyle nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getSelection nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName matchMedia nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName maximize nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName moveBy nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName moveTo nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName open nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName openDialog nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName postMessage nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName print nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName prompt nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName removeEventListener nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName resizeBy nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName resizeTo nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName restore nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scroll nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollBy nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollByLines nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollByPages nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollTo nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setCursor nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setImmediate nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setInterval nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setResizable nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setTimeout nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName showModalDialog nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName sizeToContent nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName stop nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName updateCommands nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptBOMWindowMethod
+ hi def link typescriptBOMWindowMethod Structure
+ syntax keyword typescriptBOMWindowEvent contained onabort onbeforeunload onblur onchange
+ syntax keyword typescriptBOMWindowEvent contained onclick onclose oncontextmenu ondevicelight
+ syntax keyword typescriptBOMWindowEvent contained ondevicemotion ondeviceorientation
+ syntax keyword typescriptBOMWindowEvent contained ondeviceproximity ondragdrop onerror
+ syntax keyword typescriptBOMWindowEvent contained onfocus onhashchange onkeydown onkeypress
+ syntax keyword typescriptBOMWindowEvent contained onkeyup onload onmousedown onmousemove
+ syntax keyword typescriptBOMWindowEvent contained onmouseout onmouseover onmouseup
+ syntax keyword typescriptBOMWindowEvent contained onmozbeforepaint onpaint onpopstate
+ syntax keyword typescriptBOMWindowEvent contained onreset onresize onscroll onselect
+ syntax keyword typescriptBOMWindowEvent contained onsubmit onunload onuserproximity
+ syntax keyword typescriptBOMWindowEvent contained onpageshow onpagehide
+ hi def link typescriptBOMWindowEvent Keyword
+ syntax keyword typescriptBOMWindowCons containedin=typescriptIdentifierName DOMParser
+ syntax keyword typescriptBOMWindowCons containedin=typescriptIdentifierName QueryInterface
+ syntax keyword typescriptBOMWindowCons containedin=typescriptIdentifierName XMLSerializer
+ hi def link typescriptBOMWindowCons Structure
+
+ "runtime syntax/yats/web-navigator.vim
+ syntax keyword typescriptBOMNavigatorProp contained battery buildID connection cookieEnabled
+ syntax keyword typescriptBOMNavigatorProp contained doNotTrack maxTouchPoints oscpu
+ syntax keyword typescriptBOMNavigatorProp contained productSub push serviceWorker
+ syntax keyword typescriptBOMNavigatorProp contained vendor vendorSub
+ syntax cluster props add=typescriptBOMNavigatorProp
+ hi def link typescriptBOMNavigatorProp Keyword
+ syntax keyword typescriptBOMNavigatorMethod contained addIdleObserver geolocation nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMNavigatorMethod contained getDeviceStorage getDeviceStorages nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMNavigatorMethod contained getGamepads getUserMedia registerContentHandler nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMNavigatorMethod contained removeIdleObserver requestWakeLock nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMNavigatorMethod contained share vibrate watch registerProtocolHandler nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptBOMNavigatorMethod contained sendBeacon nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptBOMNavigatorMethod
+ hi def link typescriptBOMNavigatorMethod Keyword
+ syntax keyword typescriptServiceWorkerMethod contained register nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptServiceWorkerMethod
+ hi def link typescriptServiceWorkerMethod Keyword
+
+ "runtime syntax/yats/web-location.vim
+ syntax keyword typescriptBOMLocationProp contained href protocol host hostname port
+ syntax keyword typescriptBOMLocationProp contained pathname search hash username password
+ syntax keyword typescriptBOMLocationProp contained origin
+ syntax cluster props add=typescriptBOMLocationProp
+ hi def link typescriptBOMLocationProp Keyword
+ syntax keyword typescriptBOMLocationMethod contained assign reload replace toString nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptBOMLocationMethod
+ hi def link typescriptBOMLocationMethod Keyword
+
+ "runtime syntax/yats/web-history.vim
+ syntax keyword typescriptBOMHistoryProp contained length current next previous state
+ syntax keyword typescriptBOMHistoryProp contained scrollRestoration
+ syntax cluster props add=typescriptBOMHistoryProp
+ hi def link typescriptBOMHistoryProp Keyword
+ syntax keyword typescriptBOMHistoryMethod contained back forward go pushState replaceState nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptBOMHistoryMethod
+ hi def link typescriptBOMHistoryMethod Keyword
+
+ "runtime syntax/yats/web-console.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName console
+ syntax keyword typescriptConsoleMethod contained count dir error group groupCollapsed nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptConsoleMethod contained groupEnd info log time timeEnd trace nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptConsoleMethod contained warn nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptConsoleMethod
+ hi def link typescriptConsoleMethod Keyword
+
+ "runtime syntax/yats/web-xhr.vim
+ syntax keyword typescriptXHRGlobal containedin=typescriptIdentifierName XMLHttpRequest
+ hi def link typescriptXHRGlobal Structure
+ syntax keyword typescriptXHRProp contained onreadystatechange readyState response
+ syntax keyword typescriptXHRProp contained responseText responseType responseXML status
+ syntax keyword typescriptXHRProp contained statusText timeout ontimeout upload withCredentials
+ syntax cluster props add=typescriptXHRProp
+ hi def link typescriptXHRProp Keyword
+ syntax keyword typescriptXHRMethod contained abort getAllResponseHeaders getResponseHeader nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptXHRMethod contained open overrideMimeType send setRequestHeader nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptXHRMethod
+ hi def link typescriptXHRMethod Keyword
+
+ "runtime syntax/yats/web-blob.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Blob BlobBuilder
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName File FileReader
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName FileReaderSync
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName URL nextgroup=typescriptGlobalURLDot,typescriptFuncCallArg
+ syntax match typescriptGlobalURLDot /\./ contained nextgroup=typescriptURLStaticMethod,typescriptProp
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName URLUtils
+ syntax keyword typescriptFileMethod contained readAsArrayBuffer readAsBinaryString nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptFileMethod contained readAsDataURL readAsText nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptFileMethod
+ hi def link typescriptFileMethod Keyword
+ syntax keyword typescriptFileReaderProp contained error readyState result
+ syntax cluster props add=typescriptFileReaderProp
+ hi def link typescriptFileReaderProp Keyword
+ syntax keyword typescriptFileReaderMethod contained abort readAsArrayBuffer readAsBinaryString nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptFileReaderMethod contained readAsDataURL readAsText nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptFileReaderMethod
+ hi def link typescriptFileReaderMethod Keyword
+ syntax keyword typescriptFileListMethod contained item nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptFileListMethod
+ hi def link typescriptFileListMethod Keyword
+ syntax keyword typescriptBlobMethod contained append getBlob getFile nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptBlobMethod
+ hi def link typescriptBlobMethod Keyword
+ syntax keyword typescriptURLUtilsProp contained hash host hostname href origin password
+ syntax keyword typescriptURLUtilsProp contained pathname port protocol search searchParams
+ syntax keyword typescriptURLUtilsProp contained username
+ syntax cluster props add=typescriptURLUtilsProp
+ hi def link typescriptURLUtilsProp Keyword
+ syntax keyword typescriptURLStaticMethod contained createObjectURL revokeObjectURL nextgroup=typescriptFuncCallArg
+ hi def link typescriptURLStaticMethod Keyword
+
+ "runtime syntax/yats/web-crypto.vim
+ syntax keyword typescriptCryptoGlobal containedin=typescriptIdentifierName crypto
+ hi def link typescriptCryptoGlobal Structure
+ syntax keyword typescriptSubtleCryptoMethod contained encrypt decrypt sign verify nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptSubtleCryptoMethod contained digest nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptSubtleCryptoMethod
+ hi def link typescriptSubtleCryptoMethod Keyword
+ syntax keyword typescriptCryptoProp contained subtle
+ syntax cluster props add=typescriptCryptoProp
+ hi def link typescriptCryptoProp Keyword
+ syntax keyword typescriptCryptoMethod contained getRandomValues nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptCryptoMethod
+ hi def link typescriptCryptoMethod Keyword
+
+ "runtime syntax/yats/web-fetch.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Headers Request
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Response
+ syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName fetch nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptGlobalMethod
+ hi def link typescriptGlobalMethod Structure
+ syntax keyword typescriptHeadersMethod contained append delete get getAll has set nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptHeadersMethod
+ hi def link typescriptHeadersMethod Keyword
+ syntax keyword typescriptRequestProp contained method url headers context referrer
+ syntax keyword typescriptRequestProp contained mode credentials cache
+ syntax cluster props add=typescriptRequestProp
+ hi def link typescriptRequestProp Keyword
+ syntax keyword typescriptRequestMethod contained clone nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptRequestMethod
+ hi def link typescriptRequestMethod Keyword
+ syntax keyword typescriptResponseProp contained type url status statusText headers
+ syntax keyword typescriptResponseProp contained redirected
+ syntax cluster props add=typescriptResponseProp
+ hi def link typescriptResponseProp Keyword
+ syntax keyword typescriptResponseMethod contained clone nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptResponseMethod
+ hi def link typescriptResponseMethod Keyword
+
+ "runtime syntax/yats/web-service-worker.vim
+ syntax keyword typescriptServiceWorkerProp contained controller ready
+ syntax cluster props add=typescriptServiceWorkerProp
+ hi def link typescriptServiceWorkerProp Keyword
+ syntax keyword typescriptServiceWorkerMethod contained register getRegistration nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptServiceWorkerMethod
+ hi def link typescriptServiceWorkerMethod Keyword
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Cache
+ syntax keyword typescriptCacheMethod contained match matchAll add addAll put delete nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptCacheMethod contained keys nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptCacheMethod
+ hi def link typescriptCacheMethod Keyword
+
+ "runtime syntax/yats/web-encoding.vim
+ syntax keyword typescriptEncodingGlobal containedin=typescriptIdentifierName TextEncoder
+ syntax keyword typescriptEncodingGlobal containedin=typescriptIdentifierName TextDecoder
+ hi def link typescriptEncodingGlobal Structure
+ syntax keyword typescriptEncodingProp contained encoding fatal ignoreBOM
+ syntax cluster props add=typescriptEncodingProp
+ hi def link typescriptEncodingProp Keyword
+ syntax keyword typescriptEncodingMethod contained encode decode nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptEncodingMethod
+ hi def link typescriptEncodingMethod Keyword
+
+ "runtime syntax/yats/web-geo.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName Geolocation
+ syntax keyword typescriptGeolocationMethod contained getCurrentPosition watchPosition nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptGeolocationMethod contained clearWatch nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptGeolocationMethod
+ hi def link typescriptGeolocationMethod Keyword
+
+ "runtime syntax/yats/web-network.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName NetworkInformation
+ syntax keyword typescriptBOMNetworkProp contained downlink downlinkMax effectiveType
+ syntax keyword typescriptBOMNetworkProp contained rtt type
+ syntax cluster props add=typescriptBOMNetworkProp
+ hi def link typescriptBOMNetworkProp Keyword
+
+ "runtime syntax/yats/web-payment.vim
+ syntax keyword typescriptGlobal containedin=typescriptIdentifierName PaymentRequest
+ syntax keyword typescriptPaymentMethod contained show abort canMakePayment nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptPaymentMethod
+ hi def link typescriptPaymentMethod Keyword
+ syntax keyword typescriptPaymentProp contained shippingAddress shippingOption result
+ syntax cluster props add=typescriptPaymentProp
+ hi def link typescriptPaymentProp Keyword
+ syntax keyword typescriptPaymentEvent contained onshippingaddresschange onshippingoptionchange
+ hi def link typescriptPaymentEvent Keyword
+ syntax keyword typescriptPaymentResponseMethod contained complete nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptPaymentResponseMethod
+ hi def link typescriptPaymentResponseMethod Keyword
+ syntax keyword typescriptPaymentResponseProp contained details methodName payerEmail
+ syntax keyword typescriptPaymentResponseProp contained payerPhone shippingAddress
+ syntax keyword typescriptPaymentResponseProp contained shippingOption
+ syntax cluster props add=typescriptPaymentResponseProp
+ hi def link typescriptPaymentResponseProp Keyword
+ syntax keyword typescriptPaymentAddressProp contained addressLine careOf city country
+ syntax keyword typescriptPaymentAddressProp contained country dependentLocality languageCode
+ syntax keyword typescriptPaymentAddressProp contained organization phone postalCode
+ syntax keyword typescriptPaymentAddressProp contained recipient region sortingCode
+ syntax cluster props add=typescriptPaymentAddressProp
+ hi def link typescriptPaymentAddressProp Keyword
+ syntax keyword typescriptPaymentShippingOptionProp contained id label amount selected
+ syntax cluster props add=typescriptPaymentShippingOptionProp
+ hi def link typescriptPaymentShippingOptionProp Keyword
+
+ "runtime syntax/yats/dom-node.vim
+ syntax keyword typescriptDOMNodeProp contained attributes baseURI baseURIObject childNodes
+ syntax keyword typescriptDOMNodeProp contained firstChild lastChild localName namespaceURI
+ syntax keyword typescriptDOMNodeProp contained nextSibling nodeName nodePrincipal
+ syntax keyword typescriptDOMNodeProp contained nodeType nodeValue ownerDocument parentElement
+ syntax keyword typescriptDOMNodeProp contained parentNode prefix previousSibling textContent
+ syntax cluster props add=typescriptDOMNodeProp
+ hi def link typescriptDOMNodeProp Keyword
+ syntax keyword typescriptDOMNodeMethod contained appendChild cloneNode compareDocumentPosition nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMNodeMethod contained getUserData hasAttributes hasChildNodes nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMNodeMethod contained insertBefore isDefaultNamespace isEqualNode nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMNodeMethod contained isSameNode isSupported lookupNamespaceURI nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMNodeMethod contained lookupPrefix normalize removeChild nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMNodeMethod contained replaceChild setUserData nextgroup=typescriptFuncCallArg
+ syntax match typescriptDOMNodeMethod contained /contains/
+ syntax cluster props add=typescriptDOMNodeMethod
+ hi def link typescriptDOMNodeMethod Keyword
+ syntax keyword typescriptDOMNodeType contained ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE
+ syntax keyword typescriptDOMNodeType contained CDATA_SECTION_NODEN_NODE ENTITY_REFERENCE_NODE
+ syntax keyword typescriptDOMNodeType contained ENTITY_NODE PROCESSING_INSTRUCTION_NODEN_NODE
+ syntax keyword typescriptDOMNodeType contained COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE
+ syntax keyword typescriptDOMNodeType contained DOCUMENT_FRAGMENT_NODE NOTATION_NODE
+ hi def link typescriptDOMNodeType Keyword
+
+ "runtime syntax/yats/dom-elem.vim
+ syntax keyword typescriptDOMElemAttrs contained accessKey clientHeight clientLeft
+ syntax keyword typescriptDOMElemAttrs contained clientTop clientWidth id innerHTML
+ syntax keyword typescriptDOMElemAttrs contained length onafterscriptexecute onbeforescriptexecute
+ syntax keyword typescriptDOMElemAttrs contained oncopy oncut onpaste onwheel scrollHeight
+ syntax keyword typescriptDOMElemAttrs contained scrollLeft scrollTop scrollWidth tagName
+ syntax keyword typescriptDOMElemAttrs contained classList className name outerHTML
+ syntax keyword typescriptDOMElemAttrs contained style
+ hi def link typescriptDOMElemAttrs Keyword
+ syntax keyword typescriptDOMElemFuncs contained getAttributeNS getAttributeNode getAttributeNodeNS
+ syntax keyword typescriptDOMElemFuncs contained getBoundingClientRect getClientRects
+ syntax keyword typescriptDOMElemFuncs contained getElementsByClassName getElementsByTagName
+ syntax keyword typescriptDOMElemFuncs contained getElementsByTagNameNS hasAttribute
+ syntax keyword typescriptDOMElemFuncs contained hasAttributeNS insertAdjacentHTML
+ syntax keyword typescriptDOMElemFuncs contained matches querySelector querySelectorAll
+ syntax keyword typescriptDOMElemFuncs contained removeAttribute removeAttributeNS
+ syntax keyword typescriptDOMElemFuncs contained removeAttributeNode requestFullscreen
+ syntax keyword typescriptDOMElemFuncs contained requestPointerLock scrollIntoView
+ syntax keyword typescriptDOMElemFuncs contained setAttribute setAttributeNS setAttributeNode
+ syntax keyword typescriptDOMElemFuncs contained setAttributeNodeNS setCapture supports
+ syntax keyword typescriptDOMElemFuncs contained getAttribute
+ hi def link typescriptDOMElemFuncs Keyword
+
+ "runtime syntax/yats/dom-document.vim
+ syntax keyword typescriptDOMDocProp contained activeElement body cookie defaultView
+ syntax keyword typescriptDOMDocProp contained designMode dir domain embeds forms head
+ syntax keyword typescriptDOMDocProp contained images lastModified links location plugins
+ syntax keyword typescriptDOMDocProp contained postMessage readyState referrer registerElement
+ syntax keyword typescriptDOMDocProp contained scripts styleSheets title vlinkColor
+ syntax keyword typescriptDOMDocProp contained xmlEncoding characterSet compatMode
+ syntax keyword typescriptDOMDocProp contained contentType currentScript doctype documentElement
+ syntax keyword typescriptDOMDocProp contained documentURI documentURIObject firstChild
+ syntax keyword typescriptDOMDocProp contained implementation lastStyleSheetSet namespaceURI
+ syntax keyword typescriptDOMDocProp contained nodePrincipal ononline pointerLockElement
+ syntax keyword typescriptDOMDocProp contained popupNode preferredStyleSheetSet selectedStyleSheetSet
+ syntax keyword typescriptDOMDocProp contained styleSheetSets textContent tooltipNode
+ syntax cluster props add=typescriptDOMDocProp
+ hi def link typescriptDOMDocProp Keyword
+ syntax keyword typescriptDOMDocMethod contained caretPositionFromPoint close createNodeIterator nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMDocMethod contained createRange createTreeWalker elementFromPoint nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMDocMethod contained getElementsByName adoptNode createAttribute nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMDocMethod contained createCDATASection createComment createDocumentFragment nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMDocMethod contained createElement createElementNS createEvent nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMDocMethod contained createExpression createNSResolver nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMDocMethod contained createProcessingInstruction createTextNode nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMDocMethod contained enableStyleSheetsForSet evaluate execCommand nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMDocMethod contained exitPointerLock getBoxObjectFor getElementById nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMDocMethod contained getElementsByClassName getElementsByTagName nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMDocMethod contained getElementsByTagNameNS getSelection nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMDocMethod contained hasFocus importNode loadOverlay open nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMDocMethod contained queryCommandSupported querySelector nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMDocMethod contained querySelectorAll write writeln nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptDOMDocMethod
+ hi def link typescriptDOMDocMethod Keyword
+
+ "runtime syntax/yats/dom-event.vim
+ syntax keyword typescriptDOMEventTargetMethod contained addEventListener removeEventListener nextgroup=typescriptEventFuncCallArg
+ syntax keyword typescriptDOMEventTargetMethod contained dispatchEvent waitUntil nextgroup=typescriptEventFuncCallArg
+ syntax cluster props add=typescriptDOMEventTargetMethod
+ hi def link typescriptDOMEventTargetMethod Keyword
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName AnimationEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName AudioProcessingEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName BeforeInputEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName BeforeUnloadEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName BlobEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName ClipboardEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CloseEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CompositionEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CSSFontFaceLoadEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CustomEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceLightEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceMotionEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceOrientationEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceProximityEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DOMTransactionEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DragEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName EditingBeforeInputEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName ErrorEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName FocusEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName GamepadEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName HashChangeEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName IDBVersionChangeEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName KeyboardEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MediaStreamEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MessageEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MouseEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MutationEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName OfflineAudioCompletionEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName PageTransitionEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName PointerEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName PopStateEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName ProgressEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName RelatedEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName RTCPeerConnectionIceEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName SensorEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName StorageEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName SVGEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName SVGZoomEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TimeEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TouchEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TrackEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TransitionEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName UIEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName UserProximityEvent
+ syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName WheelEvent
+ hi def link typescriptDOMEventCons Structure
+ syntax keyword typescriptDOMEventProp contained bubbles cancelable currentTarget defaultPrevented
+ syntax keyword typescriptDOMEventProp contained eventPhase target timeStamp type isTrusted
+ syntax keyword typescriptDOMEventProp contained isReload
+ syntax cluster props add=typescriptDOMEventProp
+ hi def link typescriptDOMEventProp Keyword
+ syntax keyword typescriptDOMEventMethod contained initEvent preventDefault stopImmediatePropagation nextgroup=typescriptEventFuncCallArg
+ syntax keyword typescriptDOMEventMethod contained stopPropagation respondWith default nextgroup=typescriptEventFuncCallArg
+ syntax cluster props add=typescriptDOMEventMethod
+ hi def link typescriptDOMEventMethod Keyword
+
+ "runtime syntax/yats/dom-storage.vim
+ syntax keyword typescriptDOMStorage contained sessionStorage localStorage
+ hi def link typescriptDOMStorage Keyword
+ syntax keyword typescriptDOMStorageProp contained length
+ syntax cluster props add=typescriptDOMStorageProp
+ hi def link typescriptDOMStorageProp Keyword
+ syntax keyword typescriptDOMStorageMethod contained getItem key setItem removeItem nextgroup=typescriptFuncCallArg
+ syntax keyword typescriptDOMStorageMethod contained clear nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptDOMStorageMethod
+ hi def link typescriptDOMStorageMethod Keyword
+
+ "runtime syntax/yats/dom-form.vim
+ syntax keyword typescriptDOMFormProp contained acceptCharset action elements encoding
+ syntax keyword typescriptDOMFormProp contained enctype length method name target
+ syntax cluster props add=typescriptDOMFormProp
+ hi def link typescriptDOMFormProp Keyword
+ syntax keyword typescriptDOMFormMethod contained reportValidity reset submit nextgroup=typescriptFuncCallArg
+ syntax cluster props add=typescriptDOMFormMethod
+ hi def link typescriptDOMFormMethod Keyword
+
+ "runtime syntax/yats/css.vim
+ syntax keyword typescriptDOMStyle contained alignContent alignItems alignSelf animation
+ syntax keyword typescriptDOMStyle contained animationDelay animationDirection animationDuration
+ syntax keyword typescriptDOMStyle contained animationFillMode animationIterationCount
+ syntax keyword typescriptDOMStyle contained animationName animationPlayState animationTimingFunction
+ syntax keyword typescriptDOMStyle contained appearance backfaceVisibility background
+ syntax keyword typescriptDOMStyle contained backgroundAttachment backgroundBlendMode
+ syntax keyword typescriptDOMStyle contained backgroundClip backgroundColor backgroundImage
+ syntax keyword typescriptDOMStyle contained backgroundOrigin backgroundPosition backgroundRepeat
+ syntax keyword typescriptDOMStyle contained backgroundSize border borderBottom borderBottomColor
+ syntax keyword typescriptDOMStyle contained borderBottomLeftRadius borderBottomRightRadius
+ syntax keyword typescriptDOMStyle contained borderBottomStyle borderBottomWidth borderCollapse
+ syntax keyword typescriptDOMStyle contained borderColor borderImage borderImageOutset
+ syntax keyword typescriptDOMStyle contained borderImageRepeat borderImageSlice borderImageSource
+ syntax keyword typescriptDOMStyle contained borderImageWidth borderLeft borderLeftColor
+ syntax keyword typescriptDOMStyle contained borderLeftStyle borderLeftWidth borderRadius
+ syntax keyword typescriptDOMStyle contained borderRight borderRightColor borderRightStyle
+ syntax keyword typescriptDOMStyle contained borderRightWidth borderSpacing borderStyle
+ syntax keyword typescriptDOMStyle contained borderTop borderTopColor borderTopLeftRadius
+ syntax keyword typescriptDOMStyle contained borderTopRightRadius borderTopStyle borderTopWidth
+ syntax keyword typescriptDOMStyle contained borderWidth bottom boxDecorationBreak
+ syntax keyword typescriptDOMStyle contained boxShadow boxSizing breakAfter breakBefore
+ syntax keyword typescriptDOMStyle contained breakInside captionSide caretColor caretShape
+ syntax keyword typescriptDOMStyle contained caret clear clip clipPath color columns
+ syntax keyword typescriptDOMStyle contained columnCount columnFill columnGap columnRule
+ syntax keyword typescriptDOMStyle contained columnRuleColor columnRuleStyle columnRuleWidth
+ syntax keyword typescriptDOMStyle contained columnSpan columnWidth content counterIncrement
+ syntax keyword typescriptDOMStyle contained counterReset cursor direction display
+ syntax keyword typescriptDOMStyle contained emptyCells flex flexBasis flexDirection
+ syntax keyword typescriptDOMStyle contained flexFlow flexGrow flexShrink flexWrap
+ syntax keyword typescriptDOMStyle contained float font fontFamily fontFeatureSettings
+ syntax keyword typescriptDOMStyle contained fontKerning fontLanguageOverride fontSize
+ syntax keyword typescriptDOMStyle contained fontSizeAdjust fontStretch fontStyle fontSynthesis
+ syntax keyword typescriptDOMStyle contained fontVariant fontVariantAlternates fontVariantCaps
+ syntax keyword typescriptDOMStyle contained fontVariantEastAsian fontVariantLigatures
+ syntax keyword typescriptDOMStyle contained fontVariantNumeric fontVariantPosition
+ syntax keyword typescriptDOMStyle contained fontWeight grad grid gridArea gridAutoColumns
+ syntax keyword typescriptDOMStyle contained gridAutoFlow gridAutoPosition gridAutoRows
+ syntax keyword typescriptDOMStyle contained gridColumn gridColumnStart gridColumnEnd
+ syntax keyword typescriptDOMStyle contained gridRow gridRowStart gridRowEnd gridTemplate
+ syntax keyword typescriptDOMStyle contained gridTemplateAreas gridTemplateRows gridTemplateColumns
+ syntax keyword typescriptDOMStyle contained height hyphens imageRendering imageResolution
+ syntax keyword typescriptDOMStyle contained imageOrientation imeMode inherit justifyContent
+ syntax keyword typescriptDOMStyle contained left letterSpacing lineBreak lineHeight
+ syntax keyword typescriptDOMStyle contained listStyle listStyleImage listStylePosition
+ syntax keyword typescriptDOMStyle contained listStyleType margin marginBottom marginLeft
+ syntax keyword typescriptDOMStyle contained marginRight marginTop marks mask maskType
+ syntax keyword typescriptDOMStyle contained maxHeight maxWidth minHeight minWidth
+ syntax keyword typescriptDOMStyle contained mixBlendMode objectFit objectPosition
+ syntax keyword typescriptDOMStyle contained opacity order orphans outline outlineColor
+ syntax keyword typescriptDOMStyle contained outlineOffset outlineStyle outlineWidth
+ syntax keyword typescriptDOMStyle contained overflow overflowWrap overflowX overflowY
+ syntax keyword typescriptDOMStyle contained overflowClipBox padding paddingBottom
+ syntax keyword typescriptDOMStyle contained paddingLeft paddingRight paddingTop pageBreakAfter
+ syntax keyword typescriptDOMStyle contained pageBreakBefore pageBreakInside perspective
+ syntax keyword typescriptDOMStyle contained perspectiveOrigin pointerEvents position
+ syntax keyword typescriptDOMStyle contained quotes resize right shapeImageThreshold
+ syntax keyword typescriptDOMStyle contained shapeMargin shapeOutside tableLayout tabSize
+ syntax keyword typescriptDOMStyle contained textAlign textAlignLast textCombineHorizontal
+ syntax keyword typescriptDOMStyle contained textDecoration textDecorationColor textDecorationLine
+ syntax keyword typescriptDOMStyle contained textDecorationStyle textIndent textOrientation
+ syntax keyword typescriptDOMStyle contained textOverflow textRendering textShadow
+ syntax keyword typescriptDOMStyle contained textTransform textUnderlinePosition top
+ syntax keyword typescriptDOMStyle contained touchAction transform transformOrigin
+ syntax keyword typescriptDOMStyle contained transformStyle transition transitionDelay
+ syntax keyword typescriptDOMStyle contained transitionDuration transitionProperty
+ syntax keyword typescriptDOMStyle contained transitionTimingFunction unicodeBidi unicodeRange
+ syntax keyword typescriptDOMStyle contained userSelect userZoom verticalAlign visibility
+ syntax keyword typescriptDOMStyle contained whiteSpace width willChange wordBreak
+ syntax keyword typescriptDOMStyle contained wordSpacing wordWrap writingMode zIndex
+ hi def link typescriptDOMStyle Keyword
+
+
+
+ let typescript_props = 1
+
+ "runtime syntax/yats/event.vim
+ syntax keyword typescriptAnimationEvent contained animationend animationiteration
+ syntax keyword typescriptAnimationEvent contained animationstart beginEvent endEvent
+ syntax keyword typescriptAnimationEvent contained repeatEvent
+ syntax cluster events add=typescriptAnimationEvent
+ hi def link typescriptAnimationEvent Title
+ syntax keyword typescriptCSSEvent contained CssRuleViewRefreshed CssRuleViewChanged
+ syntax keyword typescriptCSSEvent contained CssRuleViewCSSLinkClicked transitionend
+ syntax cluster events add=typescriptCSSEvent
+ hi def link typescriptCSSEvent Title
+ syntax keyword typescriptDatabaseEvent contained blocked complete error success upgradeneeded
+ syntax keyword typescriptDatabaseEvent contained versionchange
+ syntax cluster events add=typescriptDatabaseEvent
+ hi def link typescriptDatabaseEvent Title
+ syntax keyword typescriptDocumentEvent contained DOMLinkAdded DOMLinkRemoved DOMMetaAdded
+ syntax keyword typescriptDocumentEvent contained DOMMetaRemoved DOMWillOpenModalDialog
+ syntax keyword typescriptDocumentEvent contained DOMModalDialogClosed unload
+ syntax cluster events add=typescriptDocumentEvent
+ hi def link typescriptDocumentEvent Title
+ syntax keyword typescriptDOMMutationEvent contained DOMAttributeNameChanged DOMAttrModified
+ syntax keyword typescriptDOMMutationEvent contained DOMCharacterDataModified DOMContentLoaded
+ syntax keyword typescriptDOMMutationEvent contained DOMElementNameChanged DOMNodeInserted
+ syntax keyword typescriptDOMMutationEvent contained DOMNodeInsertedIntoDocument DOMNodeRemoved
+ syntax keyword typescriptDOMMutationEvent contained DOMNodeRemovedFromDocument DOMSubtreeModified
+ syntax cluster events add=typescriptDOMMutationEvent
+ hi def link typescriptDOMMutationEvent Title
+ syntax keyword typescriptDragEvent contained drag dragdrop dragend dragenter dragexit
+ syntax keyword typescriptDragEvent contained draggesture dragleave dragover dragstart
+ syntax keyword typescriptDragEvent contained drop
+ syntax cluster events add=typescriptDragEvent
+ hi def link typescriptDragEvent Title
+ syntax keyword typescriptElementEvent contained invalid overflow underflow DOMAutoComplete
+ syntax keyword typescriptElementEvent contained command commandupdate
+ syntax cluster events add=typescriptElementEvent
+ hi def link typescriptElementEvent Title
+ syntax keyword typescriptFocusEvent contained blur change DOMFocusIn DOMFocusOut focus
+ syntax keyword typescriptFocusEvent contained focusin focusout
+ syntax cluster events add=typescriptFocusEvent
+ hi def link typescriptFocusEvent Title
+ syntax keyword typescriptFormEvent contained reset submit
+ syntax cluster events add=typescriptFormEvent
+ hi def link typescriptFormEvent Title
+ syntax keyword typescriptFrameEvent contained DOMFrameContentLoaded
+ syntax cluster events add=typescriptFrameEvent
+ hi def link typescriptFrameEvent Title
+ syntax keyword typescriptInputDeviceEvent contained click contextmenu DOMMouseScroll
+ syntax keyword typescriptInputDeviceEvent contained dblclick gamepadconnected gamepaddisconnected
+ syntax keyword typescriptInputDeviceEvent contained keydown keypress keyup MozGamepadButtonDown
+ syntax keyword typescriptInputDeviceEvent contained MozGamepadButtonUp mousedown mouseenter
+ syntax keyword typescriptInputDeviceEvent contained mouseleave mousemove mouseout
+ syntax keyword typescriptInputDeviceEvent contained mouseover mouseup mousewheel MozMousePixelScroll
+ syntax keyword typescriptInputDeviceEvent contained pointerlockchange pointerlockerror
+ syntax keyword typescriptInputDeviceEvent contained wheel
+ syntax cluster events add=typescriptInputDeviceEvent
+ hi def link typescriptInputDeviceEvent Title
+ syntax keyword typescriptMediaEvent contained audioprocess canplay canplaythrough
+ syntax keyword typescriptMediaEvent contained durationchange emptied ended ended loadeddata
+ syntax keyword typescriptMediaEvent contained loadedmetadata MozAudioAvailable pause
+ syntax keyword typescriptMediaEvent contained play playing ratechange seeked seeking
+ syntax keyword typescriptMediaEvent contained stalled suspend timeupdate volumechange
+ syntax keyword typescriptMediaEvent contained waiting complete
+ syntax cluster events add=typescriptMediaEvent
+ hi def link typescriptMediaEvent Title
+ syntax keyword typescriptMenuEvent contained DOMMenuItemActive DOMMenuItemInactive
+ syntax cluster events add=typescriptMenuEvent
+ hi def link typescriptMenuEvent Title
+ syntax keyword typescriptNetworkEvent contained datachange dataerror disabled enabled
+ syntax keyword typescriptNetworkEvent contained offline online statuschange connectionInfoUpdate
+ syntax cluster events add=typescriptNetworkEvent
+ hi def link typescriptNetworkEvent Title
+ syntax keyword typescriptProgressEvent contained abort error load loadend loadstart
+ syntax keyword typescriptProgressEvent contained progress timeout uploadprogress
+ syntax cluster events add=typescriptProgressEvent
+ hi def link typescriptProgressEvent Title
+ syntax keyword typescriptResourceEvent contained cached error load
+ syntax cluster events add=typescriptResourceEvent
+ hi def link typescriptResourceEvent Title
+ syntax keyword typescriptScriptEvent contained afterscriptexecute beforescriptexecute
+ syntax cluster events add=typescriptScriptEvent
+ hi def link typescriptScriptEvent Title
+ syntax keyword typescriptSensorEvent contained compassneedscalibration devicelight
+ syntax keyword typescriptSensorEvent contained devicemotion deviceorientation deviceproximity
+ syntax keyword typescriptSensorEvent contained orientationchange userproximity
+ syntax cluster events add=typescriptSensorEvent
+ hi def link typescriptSensorEvent Title
+ syntax keyword typescriptSessionHistoryEvent contained pagehide pageshow popstate
+ syntax cluster events add=typescriptSessionHistoryEvent
+ hi def link typescriptSessionHistoryEvent Title
+ syntax keyword typescriptStorageEvent contained change storage
+ syntax cluster events add=typescriptStorageEvent
+ hi def link typescriptStorageEvent Title
+ syntax keyword typescriptSVGEvent contained SVGAbort SVGError SVGLoad SVGResize SVGScroll
+ syntax keyword typescriptSVGEvent contained SVGUnload SVGZoom
+ syntax cluster events add=typescriptSVGEvent
+ hi def link typescriptSVGEvent Title
+ syntax keyword typescriptTabEvent contained visibilitychange
+ syntax cluster events add=typescriptTabEvent
+ hi def link typescriptTabEvent Title
+ syntax keyword typescriptTextEvent contained compositionend compositionstart compositionupdate
+ syntax keyword typescriptTextEvent contained copy cut paste select text
+ syntax cluster events add=typescriptTextEvent
+ hi def link typescriptTextEvent Title
+ syntax keyword typescriptTouchEvent contained touchcancel touchend touchenter touchleave
+ syntax keyword typescriptTouchEvent contained touchmove touchstart
+ syntax cluster events add=typescriptTouchEvent
+ hi def link typescriptTouchEvent Title
+ syntax keyword typescriptUpdateEvent contained checking downloading error noupdate
+ syntax keyword typescriptUpdateEvent contained obsolete updateready
+ syntax cluster events add=typescriptUpdateEvent
+ hi def link typescriptUpdateEvent Title
+ syntax keyword typescriptValueChangeEvent contained hashchange input readystatechange
+ syntax cluster events add=typescriptValueChangeEvent
+ hi def link typescriptValueChangeEvent Title
+ syntax keyword typescriptViewEvent contained fullscreen fullscreenchange fullscreenerror
+ syntax keyword typescriptViewEvent contained resize scroll
+ syntax cluster events add=typescriptViewEvent
+ hi def link typescriptViewEvent Title
+ syntax keyword typescriptWebsocketEvent contained close error message open
+ syntax cluster events add=typescriptWebsocketEvent
+ hi def link typescriptWebsocketEvent Title
+ syntax keyword typescriptWindowEvent contained DOMWindowCreated DOMWindowClose DOMTitleChanged
+ syntax cluster events add=typescriptWindowEvent
+ hi def link typescriptWindowEvent Title
+ syntax keyword typescriptUncategorizedEvent contained beforeunload message open show
+ syntax cluster events add=typescriptUncategorizedEvent
+ hi def link typescriptUncategorizedEvent Title
+ syntax keyword typescriptServiceWorkerEvent contained install activate fetch
+ syntax cluster events add=typescriptServiceWorkerEvent
+ hi def link typescriptServiceWorkerEvent Title
+
+
+endif
+
+" patch
+"runtime syntax/basic/patch.vim
+" patch for generated code
+syntax keyword typescriptGlobal Promise
+ \ nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg,typescriptTypeArguments oneline
+syntax keyword typescriptGlobal Map WeakMap
+ \ nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg,typescriptTypeArguments oneline
+
+"runtime syntax/basic/members.vim
+syntax keyword typescriptConstructor contained constructor
+ \ nextgroup=@typescriptCallSignature
+ \ skipwhite skipempty
+
+
+syntax cluster memberNextGroup contains=typescriptMemberOptionality,typescriptTypeAnnotation,@typescriptCallSignature
+
+syntax match typescriptMember /\K\k*/
+ \ nextgroup=@memberNextGroup
+ \ contained skipwhite
+
+syntax match typescriptMethodAccessor contained /\v(get|set)\s\K/me=e-1
+ \ nextgroup=@typescriptMembers
+
+syntax cluster typescriptPropertyMemberDeclaration contains=
+ \ typescriptClassStatic,
+ \ typescriptAccessibilityModifier,
+ \ typescriptReadonlyModifier,
+ \ typescriptMethodAccessor,
+ \ @typescriptMembers
+ " \ typescriptMemberVariableDeclaration
+
+syntax match typescriptMemberOptionality /?\|!/ contained
+ \ nextgroup=typescriptTypeAnnotation,@typescriptCallSignature
+ \ skipwhite skipempty
+
+syntax cluster typescriptMembers contains=typescriptMember,typescriptStringMember,typescriptComputedMember
+
+syntax keyword typescriptClassStatic static
+ \ nextgroup=@typescriptMembers,typescriptAsyncFuncKeyword,typescriptReadonlyModifier
+ \ skipwhite contained
+
+syntax keyword typescriptAccessibilityModifier public private protected contained
+
+syntax keyword typescriptReadonlyModifier readonly contained
+
+syntax region typescriptStringMember contained
+ \ start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1/
+ \ nextgroup=@memberNextGroup
+ \ skipwhite skipempty
+
+syntax region typescriptComputedMember contained matchgroup=typescriptProperty
+ \ start=/\[/rs=s+1 end=/]/
+ \ contains=@typescriptValue,typescriptMember,typescriptMappedIn
+ \ nextgroup=@memberNextGroup
+ \ skipwhite skipempty
+
+"runtime syntax/basic/class.vim
+"don't add typescriptMembers to nextgroup, let outer scope match it
+" so we won't match abstract method outside abstract class
+syntax keyword typescriptAbstract abstract
+ \ nextgroup=typescriptClassKeyword
+ \ skipwhite skipnl
+syntax keyword typescriptClassKeyword class
+ \ nextgroup=typescriptClassName,typescriptClassExtends,typescriptClassBlock
+ \ skipwhite
+
+syntax match typescriptClassName contained /\K\k*/
+ \ nextgroup=typescriptClassBlock,typescriptClassExtends,typescriptClassTypeParameter
+ \ skipwhite skipnl
+
+syntax region typescriptClassTypeParameter
+ \ start=/</ end=/>/
+ \ contains=typescriptTypeParameter
+ \ nextgroup=typescriptClassBlock,typescriptClassExtends
+ \ contained skipwhite skipnl
+
+syntax keyword typescriptClassExtends contained extends implements nextgroup=typescriptClassHeritage skipwhite skipnl
+
+syntax match typescriptClassHeritage contained /\v(\k|\.|\(|\))+/
+ \ nextgroup=typescriptClassBlock,typescriptClassExtends,typescriptMixinComma,typescriptClassTypeArguments
+ \ contains=@typescriptValue
+ \ skipwhite skipnl
+ \ contained
+
+syntax region typescriptClassTypeArguments matchgroup=typescriptTypeBrackets
+ \ start=/</ end=/>/
+ \ contains=@typescriptType
+ \ nextgroup=typescriptClassExtends,typescriptClassBlock,typescriptMixinComma
+ \ contained skipwhite skipnl
+
+syntax match typescriptMixinComma /,/ contained nextgroup=typescriptClassHeritage skipwhite skipnl
+
+" we need add arrowFunc to class block for high order arrow func
+" see test case
+syntax region typescriptClassBlock matchgroup=typescriptBraces start=/{/ end=/}/
+ \ contains=@typescriptPropertyMemberDeclaration,typescriptAbstract,@typescriptComments,typescriptBlock,typescriptAssign,typescriptDecorator,typescriptAsyncFuncKeyword,typescriptArrowFunc
+ \ contained fold
+
+syntax keyword typescriptInterfaceKeyword interface nextgroup=typescriptInterfaceName skipwhite
+syntax match typescriptInterfaceName contained /\k\+/
+ \ nextgroup=typescriptObjectType,typescriptInterfaceExtends,typescriptInterfaceTypeParameter
+ \ skipwhite skipnl
+syntax region typescriptInterfaceTypeParameter
+ \ start=/</ end=/>/
+ \ contains=typescriptTypeParameter
+ \ nextgroup=typescriptObjectType,typescriptInterfaceExtends
+ \ contained
+ \ skipwhite skipnl
+
+syntax keyword typescriptInterfaceExtends contained extends nextgroup=typescriptInterfaceHeritage skipwhite skipnl
+
+syntax match typescriptInterfaceHeritage contained /\v(\k|\.)+/
+ \ nextgroup=typescriptObjectType,typescriptInterfaceComma,typescriptInterfaceTypeArguments
+ \ skipwhite
+
+syntax region typescriptInterfaceTypeArguments matchgroup=typescriptTypeBrackets
+ \ start=/</ end=/>/ skip=/\s*,\s*/
+ \ contains=@typescriptType
+ \ nextgroup=typescriptObjectType,typescriptInterfaceComma
+ \ contained skipwhite
+
+syntax match typescriptInterfaceComma /,/ contained nextgroup=typescriptInterfaceHeritage skipwhite skipnl
+
+"runtime syntax/basic/cluster.vim
+"Block VariableStatement EmptyStatement ExpressionStatement IfStatement IterationStatement ContinueStatement BreakStatement ReturnStatement WithStatement LabelledStatement SwitchStatement ThrowStatement TryStatement DebuggerStatement
+syntax cluster typescriptStatement
+ \ contains=typescriptBlock,typescriptVariable,
+ \ @typescriptTopExpression,typescriptAssign,
+ \ typescriptConditional,typescriptRepeat,typescriptBranch,
+ \ typescriptLabel,typescriptStatementKeyword,
+ \ typescriptFuncKeyword,
+ \ typescriptTry,typescriptExceptions,typescriptDebugger,
+ \ typescriptExport,typescriptInterfaceKeyword,typescriptEnum,
+ \ typescriptModule,typescriptAliasKeyword,typescriptImport
+
+syntax cluster typescriptPrimitive contains=typescriptString,typescriptTemplate,typescriptRegexpString,typescriptNumber,typescriptBoolean,typescriptNull,typescriptArray
+
+syntax cluster typescriptEventTypes contains=typescriptEventString,typescriptTemplate,typescriptNumber,typescriptBoolean,typescriptNull
+
+" top level expression: no arrow func
+" also no func keyword. funcKeyword is contained in statement
+" funcKeyword allows overloading (func without body)
+" funcImpl requires body
+syntax cluster typescriptTopExpression
+ \ contains=@typescriptPrimitive,
+ \ typescriptIdentifier,typescriptIdentifierName,
+ \ typescriptOperator,typescriptUnaryOp,
+ \ typescriptParenExp,typescriptRegexpString,
+ \ typescriptGlobal,typescriptAsyncFuncKeyword,
+ \ typescriptClassKeyword,typescriptTypeCast
+
+" no object literal, used in type cast and arrow func
+" TODO: change func keyword to funcImpl
+syntax cluster typescriptExpression
+ \ contains=@typescriptTopExpression,
+ \ typescriptArrowFuncDef,
+ \ typescriptFuncImpl
+
+syntax cluster typescriptValue
+ \ contains=@typescriptExpression,typescriptObjectLiteral
+
+syntax cluster typescriptEventExpression contains=typescriptArrowFuncDef,typescriptParenExp,@typescriptValue,typescriptRegexpString,@typescriptEventTypes,typescriptOperator,typescriptGlobal,jsxRegion
+
+"runtime syntax/basic/function.vim
+syntax keyword typescriptAsyncFuncKeyword async
+ \ nextgroup=typescriptFuncKeyword,typescriptArrowFuncDef
+ \ skipwhite
+
+syntax keyword typescriptAsyncFuncKeyword await
+ \ nextgroup=@typescriptValue
+ \ skipwhite
+
+syntax keyword typescriptFuncKeyword function
+ \ nextgroup=typescriptAsyncFunc,typescriptFuncName,@typescriptCallSignature
+ \ skipwhite skipempty
+
+syntax match typescriptAsyncFunc contained /*/
+ \ nextgroup=typescriptFuncName,@typescriptCallSignature
+ \ skipwhite skipempty
+
+syntax match typescriptFuncName contained /\K\k*/
+ \ nextgroup=@typescriptCallSignature
+ \ skipwhite
+
+" destructuring ({ a: ee }) =>
+syntax match typescriptArrowFuncDef contained /({\_[^}]*}\(:\_[^)]\)\?)\s*=>/
+ \ contains=typescriptArrowFuncArg,typescriptArrowFunc
+ \ nextgroup=@typescriptExpression,typescriptBlock
+ \ skipwhite skipempty
+
+" matches `(a) =>` or `([a]) =>` or
+" `(
+" a) =>`
+syntax match typescriptArrowFuncDef contained /(\(\_s*[a-zA-Z\$_\[.]\_[^)]*\)*)\s*=>/
+ \ contains=typescriptArrowFuncArg,typescriptArrowFunc
+ \ nextgroup=@typescriptExpression,typescriptBlock
+ \ skipwhite skipempty
+
+syntax match typescriptArrowFuncDef contained /\K\k*\s*=>/
+ \ contains=typescriptArrowFuncArg,typescriptArrowFunc
+ \ nextgroup=@typescriptExpression,typescriptBlock
+ \ skipwhite skipempty
+
+" TODO: optimize this pattern
+syntax region typescriptArrowFuncDef contained start=/(\_[^)]*):/ end=/=>/
+ \ contains=typescriptArrowFuncArg,typescriptArrowFunc,typescriptTypeAnnotation
+ \ nextgroup=@typescriptExpression,typescriptBlock
+ \ skipwhite skipempty keepend
+
+syntax match typescriptArrowFunc /=>/
+syntax match typescriptArrowFuncArg contained /\K\k*/
+syntax region typescriptArrowFuncArg contained start=/<\|(/ end=/\ze=>/ contains=@typescriptCallSignature
+
+syntax region typescriptReturnAnnotation contained start=/:/ end=/{/me=e-1 contains=@typescriptType nextgroup=typescriptBlock
+
+
+syntax region typescriptFuncImpl contained start=/function/ end=/{/me=e-1
+ \ contains=typescriptFuncKeyword
+ \ nextgroup=typescriptBlock
+
+syntax cluster typescriptCallImpl contains=typescriptGenericImpl,typescriptParamImpl
+syntax region typescriptGenericImpl matchgroup=typescriptTypeBrackets
+ \ start=/</ end=/>/ skip=/\s*,\s*/
+ \ contains=typescriptTypeParameter
+ \ nextgroup=typescriptParamImpl
+ \ contained skipwhite
+syntax region typescriptParamImpl matchgroup=typescriptParens
+ \ start=/(/ end=/)/
+ \ contains=typescriptDecorator,@typescriptParameterList,@typescriptComments
+ \ nextgroup=typescriptReturnAnnotation,typescriptBlock
+ \ contained skipwhite skipnl
+
+"runtime syntax/basic/decorator.vim
+syntax match typescriptDecorator /@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a-zA-Z0-9]*\>/
+ \ nextgroup=typescriptArgumentList,typescriptTypeArguments
+ \ contains=@_semantic,typescriptDotNotation
+
+" Define the default highlighting.
+hi def link typescriptReserved Error
+
+hi def link typescriptEndColons Exception
+hi def link typescriptSymbols Normal
+hi def link typescriptBraces Function
+hi def link typescriptParens Normal
+hi def link typescriptComment Comment
+hi def link typescriptLineComment Comment
+hi def link typescriptDocComment Comment
+hi def link typescriptCommentTodo Todo
+hi def link typescriptRef Include
+hi def link typescriptDocNotation SpecialComment
+hi def link typescriptDocTags SpecialComment
+hi def link typescriptDocNGParam typescriptDocParam
+hi def link typescriptDocParam Function
+hi def link typescriptDocNumParam Function
+hi def link typescriptDocEventRef Function
+hi def link typescriptDocNamedParamType Type
+hi def link typescriptDocParamName Type
+hi def link typescriptDocParamType Type
+hi def link typescriptString String
+hi def link typescriptSpecial Special
+hi def link typescriptStringLiteralType String
+hi def link typescriptStringMember String
+hi def link typescriptTemplate String
+hi def link typescriptEventString String
+hi def link typescriptASCII Special
+hi def link typescriptTemplateSB Label
+hi def link typescriptRegexpString String
+hi def link typescriptGlobal Constant
+hi def link typescriptTestGlobal Function
+hi def link typescriptPrototype Type
+hi def link typescriptConditional Conditional
+hi def link typescriptConditionalElse Conditional
+hi def link typescriptCase Conditional
+hi def link typescriptDefault typescriptCase
+hi def link typescriptBranch Conditional
+hi def link typescriptIdentifier Structure
+hi def link typescriptVariable Identifier
+hi def link typescriptEnumKeyword Identifier
+hi def link typescriptRepeat Repeat
+hi def link typescriptForOperator Repeat
+hi def link typescriptStatementKeyword Statement
+hi def link typescriptMessage Keyword
+hi def link typescriptOperator Identifier
+hi def link typescriptKeywordOp Identifier
+hi def link typescriptCastKeyword Special
+hi def link typescriptType Type
+hi def link typescriptNull Boolean
+hi def link typescriptNumber Number
+hi def link typescriptExponent Number
+hi def link typescriptBoolean Boolean
+hi def link typescriptObjectLabel typescriptLabel
+hi def link typescriptLabel Label
+hi def link typescriptStringProperty String
+hi def link typescriptImport Special
+hi def link typescriptAmbientDeclaration Special
+hi def link typescriptExport Special
+hi def link typescriptModule Special
+hi def link typescriptTry Special
+hi def link typescriptExceptions Special
+
+hi def link typescriptMember Function
+hi def link typescriptMethodAccessor Operator
+
+hi def link typescriptAsyncFuncKeyword Keyword
+hi def link typescriptAsyncFor Keyword
+hi def link typescriptFuncKeyword Keyword
+hi def link typescriptAsyncFunc Keyword
+hi def link typescriptArrowFunc Type
+hi def link typescriptFuncName Function
+hi def link typescriptFuncArg PreProc
+hi def link typescriptArrowFuncArg PreProc
+hi def link typescriptFuncComma Operator
+
+hi def link typescriptClassKeyword Keyword
+hi def link typescriptClassExtends Keyword
+" hi def link typescriptClassName Function
+hi def link typescriptAbstract Special
+" hi def link typescriptClassHeritage Function
+" hi def link typescriptInterfaceHeritage Function
+hi def link typescriptClassStatic StorageClass
+hi def link typescriptReadonlyModifier Keyword
+hi def link typescriptInterfaceKeyword Keyword
+hi def link typescriptInterfaceExtends Keyword
+hi def link typescriptInterfaceName Function
+
+hi def link shellbang Comment
+
+hi def link typescriptTypeParameter Identifier
+hi def link typescriptConstraint Keyword
+hi def link typescriptPredefinedType Type
+hi def link typescriptReadonlyArrayKeyword Keyword
+hi def link typescriptUnion Operator
+hi def link typescriptFuncTypeArrow Function
+hi def link typescriptConstructorType Function
+hi def link typescriptTypeQuery Keyword
+hi def link typescriptAccessibilityModifier Keyword
+hi def link typescriptOptionalMark PreProc
+hi def link typescriptFuncType Special
+hi def link typescriptMappedIn Special
+hi def link typescriptCall PreProc
+hi def link typescriptParamImpl PreProc
+hi def link typescriptConstructSignature Identifier
+hi def link typescriptAliasDeclaration Identifier
+hi def link typescriptAliasKeyword Keyword
+hi def link typescriptUserDefinedType Keyword
+hi def link typescriptTypeReference Identifier
+hi def link typescriptConstructor Keyword
+hi def link typescriptDecorator Special
+hi def link typescriptAssertType Keyword
+
+hi link typeScript NONE
+
+if exists('s:cpo_save')
+ let &cpo = s:cpo_save
+ unlet s:cpo_save
+endif
diff --git a/runtime/syntax/typescriptreact.vim b/runtime/syntax/typescriptreact.vim
new file mode 100644
index 0000000000..f29fe785b9
--- /dev/null
+++ b/runtime/syntax/typescriptreact.vim
@@ -0,0 +1,160 @@
+" Vim syntax file
+" Language: TypeScript with React (JSX)
+" Maintainer: Bram Moolenaar
+" Last Change: 2019 Nov 30
+" Based On: Herrington Darkholme's yats.vim
+" Changes: See https:github.com/HerringtonDarkholme/yats.vim
+" Credits: See yats.vim on github
+
+if !exists("main_syntax")
+ if exists("b:current_syntax")
+ finish
+ endif
+ let main_syntax = 'typescriptreact'
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syntax region tsxTag
+ \ start=+<\([^/!?<>="':]\+\)\@=+
+ \ skip=+</[^ /!?<>"']\+>+
+ \ end=+/\@<!>+
+ \ end=+\(/>\)\@=+
+ \ contained
+ \ contains=tsxTagName,tsxIntrinsicTagName,tsxAttrib,tsxEscJs,
+ \tsxCloseString,@tsxComment
+
+syntax match tsxTag /<>/ contained
+
+
+" <tag></tag>
+" s~~~~~~~~~e
+" and self close tag
+" <tag/>
+" s~~~~e
+" A big start regexp borrowed from https://git.io/vDyxc
+syntax region tsxRegion
+ \ start=+<\_s*\z([a-zA-Z1-9\$_-]\+\(\.\k\+\)*\)+
+ \ skip=+<!--\_.\{-}-->+
+ \ end=+</\_s*\z1>+
+ \ matchgroup=tsxCloseString end=+/>+
+ \ fold
+ \ contains=tsxRegion,tsxCloseString,tsxCloseTag,tsxTag,tsxCommentInvalid,tsxFragment,tsxEscJs,@Spell
+ \ keepend
+ \ extend
+
+" <> </>
+" s~~~~~~e
+" A big start regexp borrowed from https://git.io/vDyxc
+syntax region tsxFragment
+ \ start=+\(\((\|{\|}\|\[\|,\|&&\|||\|?\|:\|=\|=>\|\Wreturn\|^return\|\Wdefault\|^\|>\)\_s*\)\@<=<>+
+ \ skip=+<!--\_.\{-}-->+
+ \ end=+</>+
+ \ fold
+ \ contains=tsxRegion,tsxCloseString,tsxCloseTag,tsxTag,tsxCommentInvalid,tsxFragment,tsxEscJs,@Spell
+ \ keepend
+ \ extend
+
+" </tag>
+" ~~~~~~
+syntax match tsxCloseTag
+ \ +</\_s*[^/!?<>"']\+>+
+ \ contained
+ \ contains=tsxTagName,tsxIntrinsicTagName
+
+syntax match tsxCloseTag +</>+ contained
+
+syntax match tsxCloseString
+ \ +/>+
+ \ contained
+
+" <!-- -->
+" ~~~~~~~~
+syntax match tsxCommentInvalid /<!--\_.\{-}-->/ display
+
+syntax region tsxBlockComment
+ \ contained
+ \ start="/\*"
+ \ end="\*/"
+
+syntax match tsxLineComment
+ \ "//.*$"
+ \ contained
+ \ display
+
+syntax cluster tsxComment contains=tsxBlockComment,tsxLineComment
+
+syntax match tsxEntity "&[^; \t]*;" contains=tsxEntityPunct
+syntax match tsxEntityPunct contained "[&.;]"
+
+" <tag key={this.props.key}>
+" ~~~
+syntax match tsxTagName
+ \ +[</]\_s*[^/!?<>"'* ]\++hs=s+1
+ \ contained
+ \ nextgroup=tsxAttrib
+ \ skipwhite
+ \ display
+syntax match tsxIntrinsicTagName
+ \ +[</]\_s*[a-z1-9-]\++hs=s+1
+ \ contained
+ \ nextgroup=tsxAttrib
+ \ skipwhite
+ \ display
+
+" <tag key={this.props.key}>
+" ~~~
+syntax match tsxAttrib
+ \ +[a-zA-Z_][-0-9a-zA-Z_]*+
+ \ nextgroup=tsxEqual skipwhite
+ \ contained
+ \ display
+
+" <tag id="sample">
+" ~
+syntax match tsxEqual +=+ display contained
+ \ nextgroup=tsxString skipwhite
+
+" <tag id="sample">
+" s~~~~~~e
+syntax region tsxString contained start=+"+ end=+"+ contains=tsxEntity,@Spell display
+
+" <tag key={this.props.key}>
+" s~~~~~~~~~~~~~~e
+syntax region tsxEscJs
+ \ contained
+ \ contains=@typescriptValue,@tsxComment
+ \ matchgroup=typescriptBraces
+ \ start=+{+
+ \ end=+}+
+ \ extend
+
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""
+" Source the part common with typescriptreact.vim
+source <sfile>:h/typescriptcommon.vim
+
+
+syntax cluster typescriptExpression add=tsxRegion,tsxFragment
+
+hi def link tsxTag htmlTag
+hi def link tsxTagName Function
+hi def link tsxIntrinsicTagName htmlTagName
+hi def link tsxString String
+hi def link tsxNameSpace Function
+hi def link tsxCommentInvalid Error
+hi def link tsxBlockComment Comment
+hi def link tsxLineComment Comment
+hi def link tsxAttrib Type
+hi def link tsxEscJs tsxEscapeJs
+hi def link tsxCloseTag htmlTag
+hi def link tsxCloseString Identifier
+
+let b:current_syntax = "typescriptreact"
+if main_syntax == 'typescriptreact'
+ unlet main_syntax
+endif
+
+let &cpo = s:cpo_save
+unlet s:cpo_save