Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KDL 2.0.0 support #184

Open
zkat opened this issue Jan 21, 2025 · 0 comments
Open

KDL 2.0.0 support #184

zkat opened this issue Jan 21, 2025 · 0 comments

Comments

@zkat
Copy link

zkat commented Jan 21, 2025

Hi! I'm one of the folks working on the KDL language itself, and I thought I'd throw an issue your way to let you know KDL v2 came out recently, and we're encouraging implementations to add support for it. It's been in the works for a few years and we finally managed to stabilize something that felt like the right thing.

A note on migration: KDL v2, while fairly different from v1 in some critical ways, is fully unambiguous with v1. That is: while some documents will successfully parse in both v1 and v2, they will yield the exact same values as a result. This means that your "upgrade path" can be "try to parse with v2, and if that fails, fall back to v1", and that will be 100% safe.

You can read the new spec and check out the v2 changelog for more details. I'm also the author of the vscode extension, and that's been upgraded to use v2, and even has a nice LSP server for rich diagnostics now, significantly improving the experience. Also, we have an official MIME type now (application/vnd.kdl), if that's relevant to you, and KDL syntax highlighting support has been merged into GitHub and will show up on the site in the coming couple of months when they actually deploy a new release.

Beyond that, we're also focusing work back on KDL Schema, essentially redoing the format from scratch, and implementing support for it into kdl-lsp and a CLI soon. You can check out the current work on the new schema language and let us know what you think. :)

I see that you also have a KQL implementation: we're going to be renaming that to KPath, and there's a few design issues that we need to deal with after the v2 spec, but it should largely stay the same.

Finally, for your users who might want to try out KDL stuff for onyx, there's an updated KDL Playground, though it only handles v2 docs.

I'm also happy to answer any questions and help as I'm able! Thanks for using KDL--it makes me happy every time I a new tool using it in the wild. I hope it's served you well! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant