./devel/taplo-lsp, Language server protocol (LSP) for TOML

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.6.0nb1, Package name: taplo-cli-0.6.0nb1, Maintainer: pkgsrc-users

Taplo LSP is a language server protocol implementation for the TOML
format.


Master sites:

Filesize: 1609.437 KB

Version history: (Expand)


CVS history: (Expand)


   2023-10-25 00:11:51 by Thomas Klausner | Files touched by this commit (2298)
Log message:
*: bump for openssl 3
   2022-03-28 16:14:26 by Thomas Klausner | Files touched by this commit (2)
Log message:
taplo-lsp: remove obsolete patches
   2022-03-28 16:11:01 by Thomas Klausner | Files touched by this commit (5) | Package updated
Log message:
taplo-cli: update to 0.6.0.

One of the reasons why I always kept postponing patches and updates
in this project was the fact that it was pretty hard to maintain.
When I originally wrote most of it, I barely had time and just
wanted to get features out ASAP.

The Even Better TOML has recently passed the 100K installs mark,
I felt that some cleanup and care was long overdue.

This PR is pretty much a rewrite and/or a major refactor of Taplo
with the only exception of the parser, which I would love to rewrite
as well but I'm already pushing my time-limits.

Features

* Rewrite of the DOM, it now uses a reference-counted implementation
  where each node is cheap to clone and to juggle around.
* Rewrite of the CLI as well, it is now a first-class citizen not
  just something quickly thrown together.
* Integration of jsonschema, most (all?) JSON Schema features are
  now supported and the limitations of the current implementation
  are non-existent.
* Support of schema store catalog and schemas
* The shared code between the CLI and the language server is now
  properly extracted into taplo-common, so the CLI and the LSP are
  no longer out of sync.
* The external environment is now abstracted away into a trait, so
  both the LSP and the CLI should run pretty much anywhere with
  minimal plumbing
* tracing is used for all logging
* Refactor and workspace support in the LSP
* All toml-test tests now pass
* Proper benchmarks via criterion (the new DOM is slightly slower
  initially due to allocations, but not too much)
* Completions and hover in the LSP (the building blocks are there,
  but the cursor queries require some plumbing)
* The LSP is part of the CLI as well, and the VSCode extension
  works with it, WASM bindings are yet to be reimplemented
* Flexible configuration options in the LSP
* Proper directives in TOML files (e.g. schema)

Breaking Changes

Probably a lot, but here are a few notable ones:

* The DOM API is completely different, although migration should
  be rather easy.
* Chrono feature has been removed, it can be reintroduced later
  though if needed.
* As with the DOM layout, error types have also changed.
* Date types are now separate syntax-kinds.
* Even though we had no MSRV policy, I clearly used 1.58 features
  during the rewrite
* The Even Better Toml vscode extension also gets a facelift with
  some configuration options changed
   2021-12-21 16:10:51 by Thomas Klausner | Files touched by this commit (7)
Log message:
devel/taplo-lsp: import taplo-lsp-0.2.6

Taplo LSP is a language server protocol implementation for the TOML
format.

Packaged by pin and myself for wip.