Skip to content

N0ku/SPX-extension

Repository files navigation

SPX Language Extension for VS Code

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.

✨ Fonctionnalités

  • 🎨 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 (log et log{ }log)
  • 🎯 Brackets matching et auto-closing

🚀 Syntaxe SPX

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
Print transmit print
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

📚 Exemples

Déclaration de classe

vessel Hero derives Character {
    encrypted var health: int = 100;

    broadcast probe attack(): void {
        transmit("Hero attacks!");
        relay damage;
    }
}

Boucle et conditions

orbit (var i: int = 0; i < 10; i = i + 1) {
    if (i == 5) {
        transmit("Halfway there!");
    }
}

Gestion d'erreurs

mission {
    var enemy: Dragon = launch Dragon();
    enemy.attack();
} abort (error) {
    transmit("Mission failed!");
}

🚀 Installation

Depuis le code source

  1. Clonez ce repository
  2. Installez les dépendances :
npm install
  1. Compilez l'extension :
npm run compile
  1. Ouvrez le dossier dans VS Code
  2. Appuyez sur F5 pour lancer l'extension en mode debug

Tester l'extension

  1. Une nouvelle fenêtre VS Code s'ouvrira (Extension Development Host)
  2. Créez un fichier avec l'extension .spx
  3. Commencez à écrire du code SPX et profitez de l'auto-complétion et de la coloration syntaxique

🛠️ Développement

Structure du projet

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

Commandes disponibles

  • npm run compile - Compile l'extension TypeScript
  • npm run watch - Compile en mode watch (recompilation automatique)
  • F5 dans VS Code - Lance l'extension en mode debug

Formattage

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 + F pour formater le document
  • Ou la commande SPX: Format Document

📝 Configuration

Ajoutez ces settings dans votre settings.json :

{
  "spx.formatOnSave": true,
  "[spx]": {
    "editor.defaultFormatter": "N0ku.spx-language",
    "editor.formatOnSave": true,
    "editor.tabSize": 4
  }
}

🎯 Snippets disponibles

Tapez les préfixes suivants puis Tab :

  • vessel - Crée une classe
  • fleet - Crée une interface
  • probe - Crée une fonction
  • orbit - Boucle for
  • cycle - Boucle while
  • route - Switch statement
  • mission - Try-catch
  • transmit - Print statement
  • launch - New instance
  • Et bien d'autres...

📄 Licence

ISC

👤 Auteur

N0ku


Enjoy coding in SPX! 🚀✨

About

VSCode extension for the SPX language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors