這個專案是我對語言伺服器協定(LSP)伺服器實作的研究。
Curage-lang 本身就是一種微小的、無趣的語言。我正在為該語言實作一個 LSP 伺服器。它具有一些功能,例如語法錯誤報告、符號重新命名等。
lsp
:語言伺服器實作和 VSCode 擴充。src/extension.ts
:VSCode 擴充的入口點。src/server.ts
:伺服器的入口點。 Curage-lang 的語法非常簡單。以下以類別 PEG 表示法描述語法。
expression = int / name
statement = " let " name " be " expression " n "
program = statement *
傳說:
A*
表示A或空的序列,A+
表示A的序列中至少有一個,A / B
表示 A 或 B。例子:
let x be 1
let y be x
重命名符號不需要螢幕截圖。
let x be 1
↓ (將x
重命名為new_x
)
let new_x be 1
我正在撰寫一系列文章來解釋此儲存庫中的原始程式碼。用日文寫的。