ENIDE Language Support
Write code in your own language. ENIDE lets you program in 100+ human languages — the keywords adapt to you, not the other way around.
ENIDE is a programming language where reserved words are not fixed. They are defined by the human language you choose. The same program can be written in English, Portuguese, Arabic, Swahili, or any of 100+ supported languages. The structure is always identical; only the keywords change.
This extension brings full editor support for .nd files into VS Code.
Features
Syntax Highlighting
Types, variables, functions, control flow, operators, string literals, block comments, and import directives are all distinctly coloured in .nd files. The grammar is position-based, so highlighting works correctly regardless of which human language you write in.
Formats .nd files automatically on save or on demand. Because ENIDE keywords are dynamic, the formatter works entirely from structure — no reserved words are hardcoded.
- Normalises spacing around all operators (
+, -, *, /, **, ==, ===, >=, <=, …)
- Normalises comma spacing
- Normalises block braces and continuation blocks — works with
} else {, } senao {, } sonnst {, or any other language's equivalent
- Normalises import directives — works with
#include, #incluir, #inclure, or any native form
- Protects string literals and block comments from being modified
- Manages indentation depth based on
{ / } pairs
- Collapses consecutive blank lines and trims trailing whitespace
A ▶ button appears in the editor title bar whenever a .nd file is open. Click it to execute the current file using the installed ENIDE runtime — no terminal needed.
Keyboard Shortcut
Press F5 with a .nd file focused to run it instantly.
File Icon
.nd files display the ENIDE icon in the Explorer sidebar and file tabs.
Requirements
Install the ENIDE runtime before using the run button.
Download it and browse all supported languages at the official ENIDE website.
Verify the installation:
enide version
Getting Started
1. Install the ENIDE runtime (link above)
2. Find your language
enide languages
3. Create a .nd file and include your language pack
#include<english.lang>;
function greet(string name) {
print("Hello,", name);
}
greet("world");
4. Click ▶ in the title bar, press F5, or run from the terminal
enide myFile.nd
For files with accented characters or non-Latin scripts:
enide myFile.nd utf-8
Syntax Overview
Variables & Types
#include<english.lang>;
string name = "claudio";
number age = 23;
bool adult = true;
Arrays
#include<english.lang>;
string fruits = ["apple", "banana", "cherry"];
print(fruits[0]);
Functions
#include<english.lang>;
function add(number a, number b) {
return(a + b);
}
print(add(3, 7)); /* 10 */
Control Flow
#include<english.lang>;
number score = 72;
if(score >= 90) {
print("Grade: A");
} else if(score >= 60) {
print("Grade: C");
} else {
print("Grade: F");
}
Loops
#include<english.lang>;
for(number i = 0, i < 5, i++) {
print(i);
}
number x = 10;
while(x > 0) {
x -= 2;
}
Objects & Classes
#include<english.lang>;
object person = {
string name = "claudio";
number age = 23;
}
class Animal {
constructor {
public string name;
private number age;
}
function speak() {
print(self.name, "makes a sound.");
}
}
object dog = new Animal("Rex", 3);
dog.speak();
Exception Handling
#include<english.lang>;
try {
print("Trying...");
} catch {
print("Something went wrong.");
} finally {
print("Always runs.");
}
Imports & Modules
#include<english.lang>;
#include<math.lib>;
#include<./utils.nd>;
print(Sqrt(144)); /* 12 */
utils.helper();
Writing in Another Language
The structure is always identical — only the keywords change. Here is the same function in Portuguese:
#incluir<portugues.lang>;
função cumprimentar(texto nome) {
escreva("Olá,", nome);
}
cumprimentar("mundo");
To see the full keyword reference for any language:
enide portuguese-g
CLI Reference
| Command |
Description |
enide version |
Show the installed ENIDE version |
enide languages |
List all supported human languages |
enide file.nd |
Execute an ENIDE program |
enide file.nd utf-8 |
Execute with UTF-8 encoding |
enide english-g |
Show full keyword reference for a language |
enide english-d |
Show full translated documentation |
enide english-help |
Show help in the chosen language |
Replace english with your chosen language name (e.g. portuguese, arabic, swahili).
Links
Licensed under GPL-3.0