YEN Language for Visual Studio Code
Full-featured language support for the YEN programming language — a statically-typed systems language combining performance with modern features like pattern matching, lambdas, and memory safety.
Features
Syntax Highlighting
Rich, semantic syntax highlighting for all YEN language constructs:
- Keywords — control flow, declarations, modifiers
- Strings — double/single quotes, raw strings (
r"..."), triple-quoted ("""..."""), interpolation (${expr})
- Numbers — decimal, float, hex (
0xFF), binary (0b101), scientific (1.5e-10)
- Comments — line (
//, #) and block (/* ... */)
- Functions — declarations, calls, lambdas (
|x| x * 2)
- Types — classes, structs, enums, traits, primitives
- Operators — arithmetic, logical, bitwise, range (
.., ..=), pipe (|>), null coalescing (??)
- Pattern matching — match arms, guards (
when), wildcards (_), ranges
- Built-in functions — 200+ standard library functions with distinct coloring
Run YEN Programs
Execute YEN files directly from VS Code:
| Action |
Shortcut |
| Run file (output panel) |
F5 |
| Run file (terminal) |
Ctrl+F5 / Cmd+F5 |
| Run selected text |
Shift+Enter |
Also available via:
- Editor title bar play button
- Right-click context menu
- Command palette (
Ctrl+Shift+P → "YEN:")
Error Diagnostics
Errors from the YEN interpreter are automatically parsed and displayed as inline diagnostics in the editor with red underlines and problem panel entries.
Auto-Completion
IntelliSense for:
- All YEN keywords (
func, match, defer, class, ...)
- 200+ built-in functions (
str_split, math_sqrt, http_get, ...)
- Type names (
int, float, string, bool, ...)
- Constants (
math_PI, math_E, math_INF, ...)
Hover Documentation
Hover over keywords and built-in functions to see inline documentation with usage examples.
Code Snippets
50+ snippets for common patterns:
| Prefix |
Description |
func |
Function declaration |
class |
Class with constructor |
struct |
Struct definition |
enum |
Enum definition |
match |
Match expression |
matchg |
Match with guards |
for |
For-in loop |
forr |
For loop with range |
try |
Try-catch block |
lam |
Lambda expression |
pipe |
Pipe operator chain |
httpget |
HTTP GET request |
server |
HTTP server |
describe |
Test suite |
lcomp |
List comprehension |
mfr |
Map/filter/reduce pipeline |
Type the prefix and press Tab to expand.
Additional Features
- Bracket pair colorization enabled by default
- Auto-closing pairs for
{}, [], (), "", '', ||
- Code folding for blocks, functions, classes
- Status bar shows YEN indicator when editing
.yen files
- Indentation rules for automatic indent/outdent
Configuration
| Setting |
Default |
Description |
yen.interpreterPath |
"yen" |
Path to the YEN interpreter |
yen.runArgs |
[] |
Extra arguments for the interpreter |
yen.showOutputOnRun |
true |
Show output panel when running |
yen.clearOutputOnRun |
true |
Clear output before each run |
yen.saveBeforeRun |
true |
Auto-save before running |
Quick Start
- Install this extension
- Open a
.yen file
- Press
F5 to run
If the YEN interpreter is not in your PATH, configure it:
- Open Command Palette (
Ctrl+Shift+P)
- Type "YEN: Set Interpreter Path"
- Enter the full path to the
yen executable
Example
// Hello World in YEN
func main() {
let name = "World";
print "Hello, ${name}!";
let numbers = [1, 2, 3, 4, 5];
let squares = [x ** 2 for x in numbers];
print "Squares: ${squares}";
match (list_length(squares)) {
0 => print "Empty";
1..5 => print "Small list";
n when n >= 5 => print "Large list";
_ => print "Unknown";
}
}
Requirements
- Visual Studio Code 1.75.0 or later
- YEN interpreter installed (download)
License
MIT
| |