IlluLang for Visual Studio Code
Full language support for IlluLang (.ilu files).
Features
- Syntax Highlighting -- keywords, operators, strings, numbers, comments, 109 built-in functions
- Client-side Diagnostics -- bracket matching, unclosed strings,
let type hints -- no external process needed
- Auto-completion -- keywords, all built-in functions, and user-defined symbols from the current file
- Hover Documentation -- Markdown docs for every keyword and built-in function with signatures
- Code Snippets -- 29 templates for
fn, intent, lm, for, while, map, filter, reduce, and more
- Run File --
IlluLang: Run Current File command runs the active .ilu in an integrated terminal
- Bracket Matching --
{}, [], ()
- Auto-closing Pairs -- quotes and brackets closed automatically
- Optional LSP -- connect to the IlluLang Language Server for advanced diagnostics (disabled by default)
No Process Required
This extension does not spawn or require the illulang binary for basic features.
Syntax highlighting, completions, hover, diagnostics, and snippets all work out of the box with zero configuration.
The optional LSP mode (illulang.enableLSP) can be turned on for users who want server-side diagnostics.
Extension Settings
| Setting |
Default |
Description |
illulang.enableLSP |
false |
Enable the Language Server (requires illulang binary) |
illulang.serverPath |
"illulang" |
Path to the illulang binary (LSP mode only) |
illulang.trace.server |
"off" |
LSP trace level (off, messages, verbose) |
illulang.diagnostics.enabled |
true |
Enable client-side syntax diagnostics |
Quick Start
- Install this extension:
code --install-extension illulang-1.0.0.vsix
- Open any
.ilu file -- all features activate automatically.
- (Optional) Install the IlluLang binary and set
illulang.enableLSP: true for server-side diagnostics.
Language Overview
## Variables
var x = 42
let name: string = "world"
## Functions
fn greet(who) {
display(`Hello, ${who}!`)
}
## Intent-oriented programming
intent respond_to_greeting(msg: string) priority 1 when msg == "hello" {
display("Hi there!")
return true
}
otherwise respond_to_greeting(msg: string) {
display("I don't understand")
return true
}
## Lambdas, loops, error handling
var double = lm(n) { n * 2 }
for i in 0->5 {
display(double(i))
}
try {
var data = read_file("config.ilu")
} instead {
display("File not found")
}
License
MIT
| |