Feature/issue 117 lsp vscode extension#141
Feature/issue 117 lsp vscode extension#141yaswanth169 wants to merge 3 commits intoboyland:masterfrom
Conversation
…ies; - Add IMPORTS token and grammar section in parser (before requires); - Add imports field and addImportChunk() to CompUnit; - Error IMPORT_IN_REQUIRES when rename-syntax is placed in requires; - Fix RenameSyntaxDeclaration.copy() to keep original reference (identity); - Fix RenameSyntaxDeclaration.substitute() to not mutate cached original; - Fix RenameJudgment.substitute() to not mutate cached original; - Fix SyntaxDeclaration.copy() null guard for gnt/gt fields; - Add modulegood12 regression test for imports section; - Add modulebad11 regression test for IMPORT_IN_REQUIRES error
…plement Java LSP server using LSP4J (diagnostics, hover, completion, document symbols, go-to-definition); - Add VSCode extension with TextMate grammar for syntax highlighting; - Bundle as fat JAR (sasylf-lsp.jar) launched via stdio; - Extension packaged as sasylf-0.1.0.vsix
boyland
left a comment
There was a problem hiding this comment.
This is an unacceptable PR. It includes far too many things. It also seems ignorant of the fact that there already is a PR about the lsp. Don't do another PR yet on the existing PR.
|
Regarding the LSP work, I had already gone through the existing PR earlier while working on this, and I was aware of its direction. While reviewing it, I noticed a few areas where some edge cases or completeness might need further attention, especially around integration with the current parser/typechecker and certain feature behaviors. Over the past couple of months, I’ve been working closely with the codebase and diving fairly deep into it, so this implementation was an attempt to explore those gaps and extend the functionality further. That said, I understand your concern about the size and scope of this PR it does bundle too many things together. I’ll pause on this and instead align with the existing PR, contributing in a more focused and incremental way. I’ll also check with you before proceeding further to make sure everything stays aligned with the project direction. |
Summary
edu.cmu.cs.sasylf.lsp) built on LSP4J 0.21.1,reusing 100% of the existing SASyLF parser and typechecker
vscode-sasylf/) with syntax highlighting,real-time diagnostics, hover, code completion, document symbols,
and go-to-definition
sasylf-lsp.jar) and.vsixfor easy installFeatures
comments,
::=rules), and theorems
How to install
cd vscode-sasylf
npm install && npx tsc -p ./
npx @vscode/vsce package --allow-missing-repository
code --install-extension sasylf-0.1.0.vsix
Test plan
.slffile in VSCode — syntax highlighting appearsFixes #117.