Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Ratatouille Language SupportNew to Visual Studio Code? Get it now.
Ratatouille Language Support

Ratatouille Language Support

samuel-bleau

|
3 installs
| (1) | Free
Language support and linter for Ratatouille (.rat) files - Actor-based programming language
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🐀 Ratatouille Language Support for VS Code

Extension VS Code complète pour le langage Ratatouille (projet Glados) - Un langage de programmation basé sur le modèle d'acteurs.

Version License


✨ Fonctionnalités

🎨 Coloration Syntaxique

  • Mise en évidence des mots-clés (proc, receive, spawn, state, let)
  • Coloration des atomes (:increment, :get, etc.)
  • Support des chaînes de caractères et nombres
  • Reconnaissance des opérateurs spéciaux (<-, ->)
  • Commentaires avec #

🔍 Linter Intelligent

Le linter détecte automatiquement plusieurs types d'erreurs et problèmes :

  1. Syntaxe des Processus

    • Vérification des noms de processus valides
    • Convention de nommage (suggestion d'utiliser une majuscule)
  2. Blocs receive

    • Détection des blocs receive mal formés
    • Vérification des patterns avec |
  3. Correspondance des Parenthèses/Accolades

    • Détection des parenthèses non fermées
    • Détection des accolades mal assorties
  4. Syntaxe des Atomes

    • Validation des identifiants après :
    • Détection des atomes mal formés
  5. Opérateur d'Envoi de Messages

    • Vérification que <- a une cible valide
  6. Gestion d'État

    • Avertissement si state = est utilisé sans déclaration initiale
  7. Variables Non Utilisées

    • Détection des variables let qui ne sont jamais utilisées
  8. Indentation

    • Détection du mélange tabs/espaces
    • Recommandations pour une indentation cohérente

💡 Autocomplétion

  • Suggestions automatiques pour les mots-clés
  • Complétion des atomes communs (:get, :set, :increment, etc.)
  • Détection et suggestion des processus définis dans le fichier

⚙️ Configuration

  • Activer/désactiver le linter
  • Configurer le nombre maximum de problèmes affichés
  • Optionnel : chemin vers le compilateur Glados

📦 Installation

Via VS Code Marketplace (Recommandé) 🌟

L'extension est publiée sur le marketplace officiel VS Code !

# Installation en 1 commande
code --install-extension glados-team.ratatouille-language-support

Ou via l'interface VS Code :

  1. Ouvrir l'onglet Extensions (Ctrl+Shift+X)
  2. Chercher "Ratatouille"
  3. Cliquer sur "Install"

Installation Locale (Pour développement)

# 1. Installer les dépendances
cd bonus-linter
npm install

# 2. Compiler l'extension
npm run compile

# 3. Installer dans VS Code
./install-permanent.sh

# 4. Redémarrer VS Code

Mode Développement

Pour tester l'extension sans l'installer :

cd bonus-linter
code .
# Puis appuyer sur F5

Une nouvelle fenêtre VS Code s'ouvre avec l'extension active.

🎨 Icônes de Fichiers

Pour voir l'icône du rat 🐀 à côté des fichiers .rat dans l'explorateur :

  1. Ctrl+Shift+P → Preferences: File Icon Theme
  2. Sélectionner : Seti (Visual Studio Code)

L'icône de rat s'affichera automatiquement pour tous vos fichiers .rat !

🚀 Utilisation

  1. Ouvrez un fichier .rat dans VS Code
  2. La coloration syntaxique s'active automatiquement
  3. Le linter analyse le code en temps réel
  4. Les erreurs et avertissements apparaissent dans l'éditeur et le panneau "Problèmes"

Commandes Disponibles

  • Ratatouille: Lint Current File (Ctrl+Shift+P)
    • Force le linting du fichier actuel

📝 Exemples de Code

Hello World

proc Greeter() {
    receive {
        | { :hello, sender } -> sender <- "Hello, World!"
        | { :goodbye, sender } -> sender <- "Goodbye!"
    }
}

Compteur avec État

proc Counter(initial) {
    state: initial,
    receive {
        | :increment -> state = state + 1
        | :decrement -> state = state - 1
        | { :get, sender } -> sender <- state
        | :reset -> state = 0
    }
}

⚙️ Configuration

Ajoutez ces paramètres dans votre settings.json :

{
  // Activer/désactiver le linter
  "ratatouille.linter.enabled": true,
  
  // Nombre maximum de problèmes à afficher
  "ratatouille.linter.maxProblems": 100,
  
  // Chemin vers le compilateur Glados (optionnel)
  "ratatouille.linter.gladosPath": "/path/to/glados"
}

🧪 Test et Démo

Exemples de Code Fournis

  • test.rat - Test simple
  • examples/linter_test.rat - Tests du linter avec erreurs
  • examples/showcase.rat - Exemples complets du langage

Tester le Linter

Pour voir le linter en action, ouvrez examples/linter_test.rat et décommentez les lignes avec des erreurs intentionnelles :

  • Erreur : Parenthèse non fermée → ❌ Ligne soulignée en rouge
  • Warning : État sans déclaration → ⚠️ Ligne soulignée en jaune
  • Info : Variable non utilisée → ℹ️ Ligne soulignée en bleu

Mode Debug

Pour développer l'extension :

  1. Ouvrir le projet dans VS Code : code bonus-linter
  2. Appuyer sur F5
  3. Une nouvelle fenêtre s'ouvre avec l'extension active
  4. Modifier le code et recharger avec Ctrl+R

🛠️ Structure du Projet

bonus-linter/
├── package.json                    # Manifest de l'extension
├── src/
│   ├── extension.ts               # Point d'entrée (activation, commandes)
│   └── linter.ts                  # 8 règles de linting
├── syntaxes/
│   └── ratatouille.tmLanguage.json  # Grammaire de coloration
├── icons/
│   ├── rat-icon.png               # Icône de l'extension
│   └── ratatouille-file-icons.json  # Thème d'icônes
├── examples/                       # Fichiers de test
└── install-permanent.sh            # Script d'installation

🐛 Règles du Linter

Règle Sévérité Description
Proc Syntax Error Validation des définitions de processus
Receive Syntax Error/Warning Vérification des blocs receive
Bracket Matching Error Correspondance des parenthèses
Atom Syntax Error Validation des atomes
Message Send Error Vérification de l'opérateur <-
State Assignment Warning Utilisation cohérente de l'état
Unused Variables Info Détection des variables inutilisées
Indentation Warning Cohérence de l'indentation

🎓 Bonus Epitech

Cette extension a été créée comme bonus pour le projet Glados (Functional Programming - Epitech).

Points Forts

  • ✅ Coloration syntaxique complète avec 9 patterns
  • ✅ Linter intelligent avec 8 règles de validation
  • ✅ Autocomplétion contextuelle des mots-clés et processus
  • ✅ Icône personnalisée pour les fichiers .rat
  • ✅ Documentation exhaustive et exemples
  • ✅ Installation simple avec script automatisé
  • ✅ Architecture extensible pour futures améliorations

Démo pour l'Évaluation

# Installation en 30 secondes
cd bonus-linter
npm install && npm run compile && ./install-permanent.sh

# Redémarrer VS Code puis ouvrir examples/showcase.rat

🤝 Contribution

Ce projet fait partie du projet Glados-On-Top (Epitech).

Équipe : Glados Team
Langage : Ratatouille (fichiers .rat)
Projet : Compilateur et VM pour langage basé sur le modèle d'acteurs

📄 Licence

MIT License - Voir le fichier LICENSE pour plus de détails.


🐀 Codez avec style en Ratatouille !

Développé avec ❤️ pour le projet Glados - Epitech 2025

👥 Équipe Glados

Développé avec ❤️ par l'équipe Glados pour le projet de Functional Programming à Epitech.


Note: Cette extension est un bonus pour le projet Glados et fournit un support IDE complet pour le langage Ratatouille (.rat).

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft