* wip
* polishing the code
* adding code
* adding the language
* reshuffling the code to avoid cyclic dependency
* polihsing code
* uncommenting tests
* also adopting the indentation rules within the reindentation operation
* using instead the sliced line tokens instead of the scoped line tokens
* polishing the code
* using start indices instead
* using value everywhere
* using the token data to type the tokens
* setting to number instead of standard token type
* using token data from autoindenttest.ts
* using same code in both test files
* placing instantiation service into the registerLanguage method
* copying object into the node js autoindent.ts
Fixes#201424
It wasn't matching closing parens, which resulted in these issues:
* Pressing enter with just a closing paren to the right of the caret
wouldn't result in a dedent on the next line
* With the caret at the start of the line below a line containing only a
closing paren, pressing tab would result in an extra level of
indentation
TypeScript emits a `.tsbuildinfo` file whose file base name matches the
TypeScript configuration file. Typically this configuration file is
named `tsconfig.json`, meaning TypeScript will generate
`tsconfig.tsbuildinfo`. However, if the config file is named
differently, TypeScript will generate another `.tsbuildinfo` file.
Use JSX in display names of the TypeScript React and JavaScript React languages
Fixes#138285
This changes the display name of the languages `JavaScript React` -> `JavaScript JSX` and `TypeScript React` -> `TypeScript JSX`
This only changes the display names and leaves the ids alone. Changing the ids would be a very breaking change for extensions with no real user benefits
Identifying specific symbols is a better fit for semantic highlighting instead of textmate as semantic highlighting prevents false positives
This keeps around a few of the most built-ins for now but we may revisit these in the future