Extension VS Code pour le langage de programmation SPX: un langage à thème spatial avec des mots-clés inspirés de l'exploration de l'espace.
- 🎨 Coloration syntaxique complète basée sur la grammaire ANTLR
- 📝 Snippets pour tous les mots-clés SPX (vessel, probe, mission, etc.)
- ⚙️ Formattage automatique du code
- 🔧 Auto-complétion intelligente
- 📦 Support des commentaires (
logetlog{ }log) - 🎯 Brackets matching et auto-closing
Le langage SPX utilise des mots-clés thématiques :
| Concept | SPX Keyword | Standard |
|---|---|---|
| Function | probe |
function |
| Class | vessel |
class |
| Interface | fleet |
interface |
| New | launch |
new |
transmit |
||
| Return | relay |
return |
| For loop | orbit |
for |
| While loop | cycle |
while |
| Switch | route |
switch |
| Case | signal |
case |
| Try | mission |
try |
| Catch | abort |
catch |
| Import | uplink |
import |
| Public | broadcast |
public |
| Private | encrypted |
private |
| Protected | shielded |
protected |
| Static | orbital |
static |
| This | core |
this |
| Super | flagship |
super |
| Await | sync |
await |
vessel Hero derives Character {
encrypted var health: int = 100;
broadcast probe attack(): void {
transmit("Hero attacks!");
relay damage;
}
}
orbit (var i: int = 0; i < 10; i = i + 1) {
if (i == 5) {
transmit("Halfway there!");
}
}
mission {
var enemy: Dragon = launch Dragon();
enemy.attack();
} abort (error) {
transmit("Mission failed!");
}
- Clonez ce repository
- Installez les dépendances :
npm install- Compilez l'extension :
npm run compile- Ouvrez le dossier dans VS Code
- Appuyez sur
F5pour lancer l'extension en mode debug
- Une nouvelle fenêtre VS Code s'ouvrira (Extension Development Host)
- Créez un fichier avec l'extension
.spx - Commencez à écrire du code SPX et profitez de l'auto-complétion et de la coloration syntaxique
SPX-extension/
├── src/
│ ├── extension.ts # Point d'entrée de l'extension
│ └── formatter.ts # Formatteur de code SPX
├── syntaxes/
│ └── spx.tmLanguage.json # Grammaire TextMate pour la coloration
├── snippets/
│ └── spx.json # Snippets de code
├── language-configuration.json # Configuration du langage
├── package.json # Manifest de l'extension
├── tsconfig.json # Configuration TypeScript
└── README.md # Ce fichier
npm run compile- Compile l'extension TypeScriptnpm run watch- Compile en mode watch (recompilation automatique)F5dans VS Code - Lance l'extension en mode debug
Le formatteur automatique gère :
- Indentation correcte des blocs
{} - Espacement autour des opérateurs
- Normalisation des mots-clés
- Formatage des déclarations de fonctions
Utilisez :
Shift + Alt + Fpour formater le document- Ou la commande
SPX: Format Document
Ajoutez ces settings dans votre settings.json :
{
"spx.formatOnSave": true,
"[spx]": {
"editor.defaultFormatter": "N0ku.spx-language",
"editor.formatOnSave": true,
"editor.tabSize": 4
}
}Tapez les préfixes suivants puis Tab :
vessel- Crée une classefleet- Crée une interfaceprobe- Crée une fonctionorbit- Boucle forcycle- Boucle whileroute- Switch statementmission- Try-catchtransmit- Print statementlaunch- New instance- Et bien d'autres...
ISC
N0ku
Enjoy coding in SPX! 🚀✨