Skip to content

Releases: vsce-toolroom/vscode-textmate-languageservice

4.0.0

13 Nov 22:36
Compare
Choose a tag to compare
  • Mark package support as LTS mode instead of maintenance mode.
  • Add embedded language support.
  • Add JSONC support for configuration files.
  • Generate vscode.TextDocument mocks for document service output.
  • Switch LiteTextDocument to vscode.TextDocument across the package.
  • Allow the package to query embedded and builtin languages when extensions supply a vscode.ExtensionContext.
  • Change contribution logic to prioritise a supplied extension context instead of restricting contributions to that extension.
  • Export ContributorData - a utility for statically resolving language and grammar contributions.
  • Patch findLanguageIdFromScopeName grammar priority to match core behaviour.
  • Update API documentation to match 4.0.0.

3.0.1

12 Feb 18:19
Compare
Choose a tag to compare
  • Hotfix for type definitions missing in 3.0.0.
  • Smoke test types to ensure package build always includes type declarations.

3.0.0

10 Nov 14:52
Compare
Choose a tag to compare
  • [BREAKING] Rename api.getLanguageConfiguration to api.getLanguageContribution.
  • [BREAKING] Rename api.getGrammarConfiguration to api.getGrammarContribution.
  • Add getLanguageConfiguration API method to load vscode.LanguageConfiguration.
  • Add plaintext language tokenization and grammar resolution.
  • Hotfix for "unrecognized language" error for plaintext documents in API token methods.

2.0.0-recovery.1

25 Sep 12:20
Compare
Choose a tag to compare

Document API additions made in 2.0.0

2.0.0

08 Sep 21:44
Compare
Choose a tag to compare

  • The VSCE Toolroom open-source collective has adopted the Textmate language service project!
  • Redesigned the logo, inspired by the V8 engine and the Textmate osteopermum flower.
  • Added support for tokenization and Language providers from built-in grammars as well as service-only grammars.
  • Marked TextmateLanguageService~context parameter as optional in the API types.
  • Marked the API from 1.0.0 as compatible with 1.55.0, not 1.51.0.
  • Provided community resolution to microsoft/vscode#109919 & microsoft/vscode#99356.
  • Implemented API methods in an api namespace for developer-friendly logic:
    • Add getTokenInformationAtPosition method for fast positional token polyfill: vscode.TokenInformation.
    • Add getScopeInformationAtPosition method to get Textmate token data: TextmateToken.
    • Add getScopeRangeAtPosition method to get token range: vscode.Range.
    • Add getLanguageConfiguration method for language configuration: LanguageDefinition.
    • Add getGrammarConfiguration method to get language grammar wiring: GrammarLanguageDefinition.
    • Add getContributorExtension method to get extension source of language ID: vscode.Extension.
  • Linted the Textmate scope parser correctly & automatically in the test pipeline.
  • Added getOniguruma to API utilities, a browser-ready non-streaming build of vscode-oniguruma.

1.2.0

30 Apr 21:04
Compare
Choose a tag to compare
  • Add support for creation of tokenization or light document service.
    • TL:DR; swap the "contributes" key with a 'fake' "textmate-language-contributes" key in package.json.
    • Now possible to wire up a fake language and grammar "contribution" to a package service.
  • Add service-only tests for TypeScript in the test suite.
  • Use TextmateLanguageService as global key instead of LSP in service workers.
    • "LSP" is an cross-process and IDE-agnostic message format/standard for language feature data.
    • This library's just a factory for language feature services in VS Code.
    • This change is not breaking thanks to Webpack.
  • Improve diff generation for error logging in the sample output validator that's used to test feature providers.
  • Add keywords to the NPM package's metadata for better search engine discovery.
  • Skip web testing of vscode.DefinitionProvider and vscode.WorkspaceSymbolProvider factory methods.

1.1.0

30 Apr 21:04
Compare
Choose a tag to compare
  • Bundle files using Webpack for performance boost.
  • Add browser production support (bundle onig.wasm using encoded-uint8array-loader & prevent reliance on fetch).
  • Restore typing declaration files for dependent extension consumers.
  • Fix broken Gitlab pipeline so we have CI testing again.
  • Fix line number collisions between entry symbols in the outline service.
  • Fix container name in symbol information output for the document symbol provider.
  • Upgrade vscode-textmate from 7.0.4 to 9.0.0 (microsoft/vscode-textmate#198).
  • Ignore test files from package before npm publish to reduce size by ~20%.
  • Add a test suite runner for testing compatibility with dependent web extensions.
  • Improve test suite performance by 20% by removing dependencies & bundling.

1.0.0 (stable)

30 Apr 21:04
Compare
Choose a tag to compare
  • Achieved browser readiness by handling hashing better. We use native hashing of file text contents to keep it fast.
  • Upgrade from SHA-1 algorithm (a famous collision-attack vector) and adopt stable SHA-256 alternatives.
  • Remove last external dependency (git-sha1) so we don't need a bundler.

1.0.0-rc-2

30 Apr 21:04
Compare
Choose a tag to compare
  • Fix the line number in the folding provider for top-level declaration folds after the first declaration.
  • Add browser production support with a cost-benefit tradeoff... we now load onig.wasm (Textmate grammar regex parser) without streaming.
  • Remove any system dependencies in the test scripts. Plus the scripts use the CLIs better & are much cleaner.
  • Migrate previous CI workflow pipeline to Gitlab.

1.0.0-rc-1

30 Apr 21:04
Compare
Choose a tag to compare
  • Switch API to async factory class format that generates providers and exposes services.
  • Introduce optional top-level "textmate-languageservices" map of language ID to path, supporting extension manifests with multiple configured languages.
    We default to ./textmate-configuration.json for one language.
  • Rewrite configuration loading and service caching to occur asynchronously using native VS Code APIs.
  • Rewrite folding provider to remove performance overheads in header & block folding.
  • Fix external file search matching in the definition provider (which was searching files matching ./Symbol.ext before).
  • Fix line token incrementation for decremented lines in the tokenizer service (FKA TextmateEngine).
  • Add performance layer to Textmate scope selector parser to bypass the need for a WASM parser.