microsoft / microsoft/Trieste

Trieste LSP implementation

Open
#165 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C++
Stars
53
Forks
27
Avg merge
12d 22h
Merged PRs (30d)
2

Description

Since Trieste understands scopes and bindings, I wonder if it would be possible to generate simple language servers from Trieste language specifications. The selling point would be that LSP tooling is one of the things you get for free (or at least for cheap) when using Trieste. You could imagine a well-formedness specification that a language can target and that contains the required information for a language server to answer queries. It could also be a separate tool that understands arbitrary Trieste trees and that a Trieste language can hook into.

Most likely we would have to solve incremental parsing to make it performant enough, but a proof of concept to get the idea of the groupnd could be a possible thesis project.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files or tests. Start by surveying Trieste's language specifications, tree representation, and scope and binding APIs, then examine how incremental parsing would affect an LSP proof of concept. Done would require a defined approach and working proof of concept, but the issue does not specify acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers, devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.