Caml Light & OCaml dans jEdit

jEdit with Caml Light & OCaml est un IDE pour les utilisateurs du langage Caml sous Windows. Il est construit autour de l'éditeur jEdit et compatible avec Caml Light et Objective Caml.

Historique

Ce projet est né début 2010, suite à la découverte des IDE livrés avec Caml Light et Objective Caml sous Windows par les chercheurs de l'INRIA. Au premier abord peu ergonomiques et finalement inutilisables, je les ai rapidement considérés comme le plus gros point faible de ce langage pourtant très intéressant. Ne faisant pas partie des personnes qui pensent qu'un éditeur qui fonctionne en lignes de commande mérite la moindre attention, je n'ai pas trouvé d'alternative acceptable.

Mon professeur d'informatique de l'époque, Alain Chillès, proposait déjà depuis quelques années à ses élèves une interface entre le toplevel de Caml Light et jEdit. Avec Windows Vista puis Seven, de lourds problèmes de compatibilité étaient apparus ; c'est alors que j'ai repris le projet en main. J'ai finalement recommencé from scratch en décembre 2010 et publié la première version fonctionnelle en février 2011.

Fonctionnalités

  • Coloration syntaxique pour les fichiers .ml
  • Trois interfaces avec jEdit : toplevel d'Objective Caml, toplevel de Caml Light, CamlWin (pour l'utilisation de la bibliothèque "Graphics")
  • Compilation du code : intégralité de la zone de texte, sélection courante ou paragraphe courant
  • Utilisation d'un toplevel 64bits pour les architectures compatibles

 

Configuration requise

  • Windows XP, Vista ou Seven, 32 ou 64 bits

 

Captures d'écran

 

Capture d'écran

Vue principale dans jEdit

Mode d'emploi

Téléchargement

Si vous disposez déjà d'une machine virtuelle Java sur votre système, téléchargez cette archive.

Sinon, voici une archive intégrant une machine virtuelle Java ne nécessitant pas d'installation supplémentaire.

Si vous ne savez pas de quoi il s'agit, ouvrez une invite de commandes (XP : démarrer/exécuter : "cmd" ; Vista/Seven : démarrer/taper "cmd" puis appuyez sur Enter dans le champ de recherche). Tapez-y "java -version" puis pressez Enter. Si le système vous répond "java version (...)", vous avez une machine virtuelle installée. S'il affiche un message d'erreur, optez pour la deuxième archive.

 

Installation

  • Extrayez le dossier "jEdit" où bon vous semble sur votre disque dur. Les dossiers dont le chemin d'accès contient des espaces sont supportés. Il est possible de s'affranchir du dossier "jEdit" et d'extraire directement son contenu dans un répertoire de votre choix. Attention toutefois à ne pas modifier davantage l'arborescence des fichiers, celle-ci étant nécessaire au fonctionnement des différents scripts.
  • Créez un raccourci vers "jedit.exe" (clic droit sur jedit.exe/copier, clic droit dans le répertoire/coller le raccourci) placez-le où bon vous semble (sur le bureau, dans le menu démarrer, dans la barre de lancement rapide...) par simple glisser-déposer. Veillez à déplacer ce raccourci et non l'exécutable "jedit.exe" lui-même.
  • Un double-clic sur ce raccourci lancera jEdit avec l'agencement des fenêtres et les macros nécessaires.

Note : les utilisateurs exigeants remarqueront peut-être dans certains cas que l'icône du raccourci est différent de l'original. Un clic droit/propriétés/modifier l'icône puis la sélection du bon icône devrait régler le problème.

 

Utilisation

La version de jEdit lancée contient des macros spécifiques à Caml, visibles dans le menu Macros/Caml.
La première étape est d'initialiser l'interface que vous désirez utiliser :
  • CamlLaunch pour le toplevel Caml Light
  • OCamlLaunch pour le toplevel Objective Caml
  • CamlWinLaunch pour CamlWin
Ensuite, il suffit de sauvegarder votre fichier avec l'extension .ml pour bénéficier de la coloration syntaxique dans jEdit, puis de compiler votre code au fur et à mesure :
  • CompileParagraph, CompileSelection, CompileAll pour envoyer respectivement le paragraphe actif, la sélection courante ou l'intégralité du code dans le toplevel initialisé
  • CopyParagraph, CopySelection, CopyAll pour envoyer respectivement le paragraphe actif, la sélection courante ou l'intégralité du code dans CamlWin
La dernière macro, CamlDocumentation, affiche l'aide de Caml, qui était incompatible avec Windows Vista et supérieur.

Note : Il est possible d'initialiser et d'utiliser simultanément CamlWin et un toplevel, mais pas deux toplevel.

 

Raccourcis clavier

Les raccourcis par défaut pour les macros sont les suivants :

jEdit → CamlLight 
  • CamlLaunch : Ctrl+j Ctrl+c Ctrl+l
jEdit → OCaml
  • OCamlLaunch : Ctrl+j Ctrl+o Ctrl+l
jEdit → Compile
  • CompileParagraph : Ctrl+j Ctrl+c Ctrl+p
  • CompileSelection : Ctrl+j Ctrl+c Ctrl+s
  • CompileAll : Ctrl+j Ctrl+c Ctrl+a
jEdit → CamlWin
  • CamlWinLaunch : Ctrl+j Ctrl+w Ctrl+l
  • CopyParagraph : Ctrl+j Ctrl+w Ctrl+p
  • CopySelection : Ctrl+j Ctrl+w Ctrl+s
  • CopyAll : Ctrl+j Ctrl+w Ctrl+a

 

Change Log

 

v.0.5

- Détermination de l’architecture processeur.

- Envoi des commandes au toplevel compilé en 64 bits si possible.

- Mise à jour des BeanShell concernant CamlConsole.

- Réécriture des scripts de lancement de jEdit.

v.0.6

- Support de CamlWin sur OS récents. NB : le répertoire C:\windows étant désormais protégé, Windows Vista et Seven redirigent les écrites dans ce répertoire vers Users\[username]\AppData\Local\VirtualStore\Windows\.

- Mise à jour des BeanShells concernant CamlWin.

v.0.7 BETA

- Recompilation de l’aide en .chm (format compatible Vista/Seven)

- Ajout d’une macro pour lancer l’aide via jEdit. Il me faudrait des retours là-dessus, j’ai des gros doutes sur la portabilité de la fonction Windows « hh » que j’appelle.

- Dans le cadre de la distribution de cette version BETA, jEdit affiche un gros message d’avertissement bien moche dans la zone de texte au premier lancement de CamlConsole et de CamlWin. Vous pouvez le supprimer sans risque.

v.1.0 RELEASE

- Correction de bugs mineurs

- Suppression du message de lancement pour CamlWin

- Modification du message de lancement pour CamlConsole

- Ajout d'un petit tutorial pour adapter jEdit à OCaml

- Ajout de "downto" au moteur de coloration syntaxique associé aux .ml. Il en manque d'autres ?

- Nettoyage des historiques et du code.

v.1.1 - Correction de bugs mineurs

- Support natif du toplevel Objective Caml 32 et 64 bits

- Suppression du tutorial pour adapter jEdit à OCaml

v.1.2

- Modification des raccourcis clavier pour permettre l'utilisation de Edit/Cut (Ctrl+x)

- Utilisation de la machine virtuelle principale de Windows si Java est déjà installé.

 

Remerciements

Merci à Alain Chillès pour la mise à disposition de ses sources et pour m'avoir fait aimer Caml !

Merci à Jean Mouric pour son aide lors de la compilation des toplevel 64 bits !

 

 

 

1 Réponse à "Caml Light & OCaml dans jEdit"

  • Ced
Laisser un commentaire