PainLang Language Server
Tento jazykový server poskytuje základní podporu pro jazyk PainLang v editorech podporujících Language Server Protocol (LSP), jako je Visual Studio Code.
✨ Funkce
🧠 Architektura
Jazykový server využívá balík vscode-languageserver a implementuje následující LSP funkce:
- onInitialize: Nastavení schopností serveru.
- onCompletion: Nabízí kontextové návrhy.
- onHover: Zobrazí dokumentaci při najetí kurzorem.
- onDidChangeContent: Parsuje dokument a aktualizuje symboly.
- onCompletionResolve: Rozšiřuje návrhy snippetů o příklady použití.
📄 Podporovaná klíčová slova
let, print, if, else, for, function, return, while, true, false, string, number, bool, include
🔧 Snippety
Například:
- if – vloží podmíněný blok
- for – vloží klasickou smyčku s proměnnou
- function – vytvoří šablonu pro definici funkce
🗂️ Tabulka symbolů
Proměnné a funkce jsou detekovány pomocí jednoduché analýzy textu:
Proměnné: let jmeno : typ
Funkce: function nazev(parametry) -> navratovyTyp
## 📚 Příklad kódu
let x: number = 5;
function add(a: number, b: number) -> number {
return a + b;
}
print(add(x, 10));