IDE pour REBOL en REBOL
Introduction
Tout programmeur REBOL rêve d’avoir un IDE parfaitement adapté a REBOL lequel serait
performant et simple d’emploi. Le but bien évidement étant de gagner un maximum
de temps en ayant un IDE qui raccourcisse vraiment le processus de création
des applications en rebol et qui offre aussi une meilleure vue d’ensemble du code rebol
qui compose le projet, une meilleure automation des habitudes de création d’application avec REBOL.
Dans un premier temps nous présenterons quels sont les outils non REBOL d’aide au développement que nous utilisons actuellement quotidiennement.
Puis nous ferons la liste des fonctionnalités que nous souhaiterions voir dans un
IDE REBOL en REBOL
Enfin nous traiterons des moyens techniques et nous aborderons aussi RADIS qui est un premier essai dans le domaine des IDE en REBOL pour REBOL.
Les solutions actuellements utilisées NON REBOL
(Note du rédacteur:
Ici on place les outils que l’on utilise au quotidien
)
De par la nature du langage notamment ses traits polymorphiques, instrospectifs et symboliques, je ne suis pas sur qu’un IDE classique soit très pertinent.
— Karim El Founas 20/07/2005 11:44
Tout a fait d’accord. Par exemple l’auto-complétion est beaucoup plus facile à faire en rebol :
- L’éditeur utilise le mot en cours d’écriture et recherche dans le dictionnaire de rebol (system/words)
- s’il le mot correspond immédiatement à une fonction, il l’analyse pour proposer les paramètres et raffinements
En somme il fonctionne de la même manière que la fonction ‘help de rebol.
Par contre, en terme d’outils d’édition de texte évolué, il n’existe pas grand chose dans le langage. Et en terme d’éditeur graphique on est encore plus loin (à part Radis,…)
Crimson Editor
Ce que le programmeur REBOL attend de l'IDE REBOL en REBOL parfait
(Note du rédacteur:
Ici on met toutes les fonctionnalités qu’on aimerait voir figurer dans un
IDE idéal pour REBOL en REBOL. Veillez signer vos ajouts de fonctionnalités
que le lecteur puisse se rendre compte que ce travail est pas le fruit du travail
d’une personne isolée. D’avance merci.
)
Généralités
- Chargement et conversion automatiques des formats DOS/UNIX/MAC
- Execution du code
- Script en cours
- Script de démarrage du projet courant
- Ligne de code en cours d’édition
- Bloc de code sélectionné
- Visualiseur de fichiers par rebol (images, texte) ou browser (texte, html, pdf)
Interface Générale
Découpage de l’interface en plusieurs blocs :
- Navigateur :
- Navigateur de fichiers
- Navigateur de projet
- Zone output (sortie console)
- Zone de travail
- Editeur de texte
- Design d’interface
Edition du code
- Coloration syntaxique
- Mise en couleur des mots clés du langage avec une couleur par famille d’instruction (core, , view, dialecte VID, draw,…)
- Mise en couleur des blocs de texte, du code en remarque,…
- Mise en couleur des mots du script et des librairies inclues (–> sous entends un analyseur de code en temps réel !)
- Auto-completion
- Affichage de la liste des paramètres demandés par la fonction
- Affichage de la liste des raffinements possibles
- Détection des limites de blocs : l’éditeur doit chercher le début ou la fin d’un bloc limité par des crochets, parenthèses, accolades,… de manière à les afficher et/ou sélectionner le bloc complet
- Conversion UpperCase <–> LowerCase
- Conversion espaces <–> tabs
- Affichage informations pratiques (numéros de ligne, position ligne, mode insert,…)
- Affichage de statistiques (Nb de caractères, mots, lignes, bytes)
- Division de la fenêtre
- Affichage du numéro de ligne à coté de chaque ligne
Design d'interface graphique
- Outil de création de pane à la souris
- Possibilité de définir du code lié à une ‘face à la manière VB –> Ouverture de l’éditeur uniquement pour ce morceau de code.
- Intégration aisée des widgets personnalisés
- Plusieurs modes de fonctionnement : VID, RebGUI, html…
Gestion de projet
- Pouvoir gérer les fichiers faisant partie du projet dans une arborescence
- Possibilité d’inclure automatiquement des fichiers binaires dans le code (images)
- Génération automatique de la documentation (technique de RAPID)
- Search et Replace dans tous les fichiers du projet
- Possibilités d’utiliser (et de créer)
- des modèles de scripts (entêtes, squelettes de code)
- des “wizards”
- des modèles de projets
Outils
- Appels de programmes/scripts externes paramétrables
- Enregistrement et exécutions de macros
- Conversions de fichiers
- JPEG,GIF,BMP vers PNG
- SVG, Postcript vers dialecte Draw
Comment faire ? et ce qui a déjà été fait
(Note du rédacteur:
Ici on place nos idées pour réaliser les différentes fonctionnalités qui sont soumises
on présente aussi RADIS, ses avantages, ses limites,
)
Concrétisation de ce projet
En 2009, les efforts conjoints the Steeve et de Shadwolf on conduit à la réalisation du projet AREA-TC qui est la première pierre posée à l’édifice d’un IDE en rebol pour faire du rebol.
Toutes les information concernant le projet area-tc sont disponnibles sur le site:
http://my-trac.assembla.com/shadwolforge
premières versions —
Alphé Salas-Schumann 06/02/2005 06:01