Salut à tous et particulièrement à Abdel.

Alors, j'ai jusqu'ici avancé de mon côté en améliorant les fonctionnalités 
préalablement présentées dans un de mes précédents messages.

Pour rappel il s'agissait de:

* l'ajout et la suppression de balises de fin de bloc au code;
* l'ajustement de l'indentation aux balises de fin de bloc;
* l'intellicence ou proposition de complétion à des expressions sous le curseur;
* l'aide au mot clé sous le curseur;
* la vérification et la correction automatique de certains éléments de syntaxe 
de la ligne venant d'être modifiée.

Toutes ces fonctionnalités marchent aujourd'hui plutôt bien, quoi que j'ai été 
amené à en effacer complètement certaines pour les re-écrire depuis le début. 
Et malgré que je pense que des éléments peuvent encore être améliorées par 
rapport à ces fonctionnalités, j'ai la conviction qu'elles sont aujourd'hui 
distribuables.

A côté de ces dernières, ayant le cerveau toujours en ébulition, j'ai travaillé 
sur de nouvelles fonctionnalités qui sont les suivantes:

* le raffraîchissement/ajustement du code; ou l'uniformisation de celui-ci.

* la création d'une nouvelle classe par une boîte de dialogue (en HTA);

* la création d'une nouvelle fonction par une boîte de dialogue (en HTA);

* le déplacement à la fin du bloc class ou def courant;

* la lecture  du nom de la classe ou de la fonction courante;

* un rechercher et remplacer avancé comportant plus de paramétrage que la 
fenêtre classique par une boîte de dialogue (en HTA);

* la création d'une boîte de dialogue des options en HTA avec déja quelques 
onglets que sont (général, raccourcis clavier, et accessibilité).

Pour implémenter tout ça j'ai créé des fichiers annexes à mettre dans le 
dossier du projet.
A savoir:
* des fichier HTA représentant les nouvelles boîtes de dialogue;
* un fichier com.ini de communication intermédiaire entre le programme et les 
fenêtres HTA.

Sinon, dans mes développement, j'ai remarqué les bugs suivant qui devraient 
être fixés:

* l'expression régulière  de déplacement  aux classes et fonctions s'arrête sur 
une ligne commençant par: 
classText = s"

* les logiciels de revue d'écran ne disent rien au déplacement sur les lignes 
vides. On ne peut donc pas faire la différence entre une ligne vide et une 
ligne sur laquelle il y a un triple guillemet.
 
Comme éléments supplémentaires à améliorer, je pense qu'il faudra également:

* faire émettre un bip sonore à l'atteinte de la limite haut ou bas du document;

* comme l'avait suggéré Cyrille créer une option "Lecture du niveau 
d'indentation seulement si changement". Je l'ai prévu dans ma fenêtre des 
options.

*faire que le forPython ne s'exécute que quand un fichier python est ouvert.

* réorganiser le positionnement des menus pour que l'interface ressemble plus à 
celui d'un véritable IDE.
Je veux dire par là sortir les menu du menu outils et les redistribuer  dans  
les menus édition, insertion, exécution, outil, et aide.
D'ailleurs j'ai de nouveaux éléments de menu à proposer.

* faire qu'au listage des versions de python, que soient  également chargés: la 
liste des fichiers chm liés à chaque version (à afficher dans le menu aide), 
les mots clés du langages de chaque version (qui seront réutilisés au lieu 
d'être chargé à chaque exécution de code).

* faire les déplacement entre blocs parents, enfants, et frères par alt+flèches 
de direction.
C'est une fonctionnalité m'a-t-il semblé très appréciée par certains membre de 
la liste.

* etc.

Bon, maintenant, comment on fait Abdel ?

M'étant beaucoup avancé dans le fichier alternatif tools.py, j'avoue avoir 
surtout peur de la tache que cela va représenter de transférer et tester toutes 
ces nouveautés dans la version officielle du forPython. Certainement plusieurs 
jours, vu mes occupations de ce début de semaine.

As-tu une dernière version ?


Yannick Daniel Youalé
La programmation est une religion. Aimez-la, ou quittez-la.
www.visuweb.net

Répondre à