IronEagle NEPL Studio for Visual Studio Code
Official editor support for NEPL 1.3 — New Era Programming Language.
The extension recognizes .nepl and .npl files and provides the language
features needed to write, validate and run NEPL programs without leaving VS Code.
Features
- complete TextMate syntax highlighting for NEPL 1.3;
- highlighting for
import, use, C# modules, async fn, spawn fn, await,
meta blocks, SQLite, HTTP and standard-library APIs;
- live diagnostics powered by the real
nepl check command;
- Run Current File, Check Current File and Open REPL commands;
- Run and Check buttons in the editor title bar;
- F6 to run and Ctrl+F6 / Cmd+F6 to check;
- completions and hover documentation for keywords and built-ins;
- document outline for functions and variables;
- Go to Definition for functions declared in the current file;
- clickable local paths in
import and use declarations;
- snippets for modules, C# calls, green tasks, SQLite, HTTP and common control flow;
- bracket matching, auto-closing pairs, indentation and comment support;
.nepl and .npl file icons;
- configurable executable path and validation behavior.
Quick start
Create hello.nepl:
use concurrency;
spawn fn square(value) {
return value * value;
}
let tasks = [square(2), square(3), square(4)];
println((await concurrency.all(tasks)).join(", "));
Press F6 or use NEPL: Run Current File from the Command Palette.
Finding the NEPL executable
The extension checks these locations in order:
nepl.executablePath from VS Code Settings;
nepl (or nepl.exe) in the current workspace root;
nepl available from the system PATH.
Example workspace setting:
{
"nepl.executablePath": "${workspaceFolder}/nepl"
}
The extension does not download or execute an unknown compiler. Running and
validation are disabled in untrusted workspaces.
Commands
| Command |
Default key |
Description |
NEPL: Run Current File |
F6 |
Save and run the active file in a terminal |
NEPL: Check Current File |
Ctrl+F6 / Cmd+F6 |
Validate with the real parser and show diagnostics |
NEPL: Open REPL |
— |
Open the persistent NEPL interactive shell |
Settings
| Setting |
Default |
Description |
nepl.executablePath |
empty |
Custom path to the NEPL executable |
nepl.validation.enable |
true |
Validate on open and save |
nepl.validation.onType |
true |
Validate unsaved source after a delay |
nepl.validation.delay |
450 |
On-type validation delay in milliseconds |
nepl.run.saveBeforeRun |
true |
Save before Run and Check |
nepl.terminal.clearBeforeRun |
false |
Clear the terminal before Run |
Module and C# support
import "modules/math.nepl" as math;
use "shared.nepl";
import "ManagedLibrary.cs" as source_library;
import "CompiledLibrary.dll" as binary_library;
println(source_library.call("ManagedLibrary", "Greet", ["VS Code"]));
Imported paths become clickable links. C# compilation and execution require the
.NET SDK and the NEPL C# bridge built by make dotnet.
SQLite support
use database;
let db = database.open("app.db");
db.exec("CREATE TABLE IF NOT EXISTS notes(id INTEGER PRIMARY KEY, text TEXT)");
db.exec("INSERT INTO notes(text) VALUES (?)", ["Hello"]);
println(db.query("SELECT * FROM notes").length);
db.close();
Type database, dbquery or dbtransaction to insert ready-to-edit snippets.
Green tasks
spawn fn transform(value) {
return value * 2;
}
let result = await parallel_map([1, 2, 3], transform);
println(result.join(", "));
Type spawnfn, spawn, await or pmap to insert concurrency snippets.
Requirements
- Visual Studio Code 1.85 or newer;
- NEPL 1.3 for Run and Check commands;
- .NET SDK 8+ only when importing C# source or managed libraries.
Syntax highlighting, snippets, completions, hover help and navigation work even
when the NEPL executable is not installed.
Privacy
The extension has no telemetry and makes no network requests. Validation and
execution happen locally using the configured NEPL executable.
License
MIT