Implement Language Server Protocol for ytt
- Dominant language
- Go
- Stars
- 1.9k
- Forks
- 167
- PR merge metrics
- No merged PRs in 30d
Description
Write a [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) for `ytt` files (i.e. Starlark within YAML).
_(TODO: there is a lot that can be packed into an LSP; enumerate the features so that we can prioritize and tackle.)_
(Potentially) Useful Resources:
- https://github.com/juliosueiras/terraform-lsp
- https://github.com/mauve/vscode-terraform
- https://github.com/Microsoft/tolerant-php-parser
- https://github.com/dagger/cuelsp
Related Issues:
- #13
- #214
Related Conversations:
- > "Has anyone found a workaround for keeping syntaxically correct k8s spec files annotated with ytt directives and thus avoid invalid warnings from IDEs?" \
[#carvel (~2022-07-06)](https://kubernetes.slack.com/archives/CH8KCCKA5/p1657122559841129?thread_ts=1606190467.012500&cid=CH8KCCKA5)
- > "... it’s [atom] that complains about the two fields existing..." \
[#carvel (~2020-10-12)](https://kubernetes.slack.com/archives/CH8KCCKA5/p1602538628389300?thread_ts=1600661379.013800&cid=CH8KCCKA5)
Contributor guide
Research direction
Start by reviewing the Language Server Protocol specification and the linked LSP implementations for Terraform, PHP, and Cue. Enumerate the ytt-specific LSP features and prioritize them, considering the related issues and conversations about editor warnings. Done means an agreed feature scope and an implemented, usable LSP for ytt files.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100