#1 Le 06/01/2007, à 12:31
- skateinmars
[Quasi-Resolu]Recherche programmeur C pour une petite contribution
Bon, (d'abord salut) désolé si ce topic est un peu racoleur à tendance publicité, mais j'ai besoin de quelqu'un pour une petite contribution à geany.
Geany (http://geany.uvena.de/, j'ai bloggué dessus sur http://blog.momo.servegame.org/2007/01/02/36-geany-un-editeur-simple-et-efficace) est un éditeur de texte avec quelques fonctions d'ide, en C et gtk et très léger comparé à gedit par exemple.
Jusque la aucun problème, geany me convient parfaitement, mais il y a tout de même un petit problème pour moi (et surement d'autres developpeurs) : geany n'offre pas le support des fichiers javascripts (.js).
Quelqu'un a deja fait une feature request que j'ai commenté ici :
http://sourceforge.net/tracker/index.php?func=detail&aid=1590839&group_id=153444&atid=787794
D'après les devs, donc
You're right, .js files would need a separate filetype. We would accept a
javascript filetype patch, this would be good.The HTML syntax colouring including scripting support is setup in
styleset_markup_init() and styleset_markup() of src/highlighting.c. SciTE
has a separate filetype for JS, which may be helpful.You can also contact us via email or the mailing list.
Je traduirais cela par "ya plus qu'a". La ou cela se corse, c'est que malgré ma bonne volonté je n'ai pas du tout les compétences requises en C même si cela ne devrait pas trop être difficile pour quelqu'un qui a un minimum de compétences en C.
Voila donc, si quelqu'un pourrait se charger d'ajouter le support des fichiers .js, c'est a dire coloration syntaxique, liste des symboles (fonctions/variables) ainsi que si possible la complétion automatique, cela serait génial
Tout le necessaire (lien vers la ml de developpement, et vers le svn) sont dispos sur le site de geany donné plus haut.
Je tiens a rajouter que les devs sont très sympas (j'ai deja contribué en traduisant le programme en francais et reporté 2/3 bugs) et réactifs sur la mailing-list. Cela peut être une bonne occasion pour vous de rentrer dans le monde de l'open source ou simplement d'augmenter vos compétences en C
Dernière modification par skateinmars (Le 16/01/2007, à 10:44)
Hors ligne
#2 Le 06/01/2007, à 23:58
- olive
Re : [Quasi-Resolu]Recherche programmeur C pour une petite contribution
Je cherche moi aussi ce support du JS dans Geany.
Par ailleurs, il serait interessant de suivre de près le projet PIDA qui, bien que j'ai du mal à en installer la dernière version non-paquetée pour Ubuntu, semble avoir de l'avenir.
Pour quiconque veut devenir un homme dur, il est indispensable d'être souple. Sans quoi, on n'est que raide. Dans la troisième année du régime soviétique aux Etats-Unis, vous cesserez de mâcher du chewing-gum.(Лeв Давидович Бронштeин)
olive
Hors ligne
#3 Le 07/01/2007, à 01:43
- naekun
Re : [Quasi-Resolu]Recherche programmeur C pour une petite contribution
Tu m'en avais parlé sur irc (nick : Rez\ ou NotRez ou RezNot) ...
J'ai téléchargé le svn et je viens d'y jeter un p'tit coup d'oeil à l'instant...
j'ai rajouté en quelque minutes un filetype pour le javascript ... seulement pour l'instant je comprends pas bien comment geany reconnait un filetype.
Parce que le code pour colorer le javascript est déjà là, donc tout ce qu'il me manque c'est comment il reconnait le javascript (apparement aux balises <script language="JavaScript">) parce qu'il faudrait juste la même coloration que lorsque le javascript est dans un html - mais sur un .js qui lui n'a pas les balises "<script>". On est d'accord ? Que je me gourre pas et parte pas dans la mauvaise direction. Si tu pouvais peut confirmer
Bon, je vais continuer a chercher.
Hors ligne
#4 Le 07/01/2007, à 04:00
- ZeBob
Re : [Quasi-Resolu]Recherche programmeur C pour une petite contribution
tu peux <script> en commentaire au début du fichier et activer la coloration html.
Le problème c'est que le parser js est inclus dans le parser html, et l'activation de la coloration jscript s'effectue par la reconnaissance de ces balises <script>.
Hors ligne
#5 Le 07/01/2007, à 12:25
- skateinmars
Re : [Quasi-Resolu]Recherche programmeur C pour une petite contribution
Salut Rez, merci de te pencher sur le sujet.
Donc d'après ce que j'ai un peu vu en farfouillant le code la coloration syntaxique et complétion se fait depuis le dossier scintilla.
Pour la reconnaissance du type de fichier, il y a un fichiers src/filetype.c
Voici un extrait d'une partie concernant HTML (note que je n'y comprend pas grand chose )
#define HTML
filetypes[GEANY_FILETYPES_HTML] = g_new0(filetype, 1);
filetypes[GEANY_FILETYPES_HTML]->id = GEANY_FILETYPES_HTML;
filetypes[GEANY_FILETYPES_HTML]->uid = FILETYPE_UID_HTML;
filetypes[GEANY_FILETYPES_HTML]->item = NULL;
filetypes[GEANY_FILETYPES_HTML]->lang = -2;
filetypes[GEANY_FILETYPES_HTML]->name = g_strdup("HTML");
filetypes[GEANY_FILETYPES_HTML]->has_tags = FALSE;
filetypes[GEANY_FILETYPES_HTML]->title = g_strdup(_("HTML source file"));
filetypes[GEANY_FILETYPES_HTML]->extension = g_strdup("html");
{
gchar *patterns[] = {"*.htm", "*.html", "*.shtml", "*.hta", "*.htd", "*.htt",
"*.cfm", NULL};
filetypes[GEANY_FILETYPES_HTML]->pattern = g_strdupv(patterns);
}
filetypes[GEANY_FILETYPES_HTML]->style_func_ptr = styleset_html;
filetypes[GEANY_FILETYPES_HTML]->comment_open = g_strdup("<!--");
filetypes[GEANY_FILETYPES_HTML]->comment_close = g_strdup("-->");
filetypes_init_build_programs(filetypes[GEANY_FILETYPES_HTML]);
filetypes_create_menu_item(filetype_menu, filetypes[GEANY_FILETYPES_HTML]->title, filetypes[GEANY_FILETYPES_HTML]);
La détection du fichier pourrait donc peut-être se faire ici.
Il y a également au début de ce fichier des gens d'array qui semblent lister tous les types de fichiers.
Pour finir il y a semble-t-il également un fichier différent pour chaque filetype dans le dossier scintilla, si cela peut t'aider
Merci encore à toi
Hors ligne
#6 Le 07/01/2007, à 21:20
- naekun
Re : [Quasi-Resolu]Recherche programmeur C pour une petite contribution
T'es sûr que ça se fait depuis les fichiers scintilla ? Je crois pas avoir vu d'include de fichiers de ce dossier ... du coup j'ai pas trop regardé ces fichiers scintilla. Je vais vérifier ça.
Sinon cette fonction au dessus fait partie des 3 fonctions (avec 2 du fichier highlighting.c) que j'ai duppliqué pour créer vite fait un filetype JavaScript ... mais j'y applique toujours un truc qui s'appelle LEXER HTML en fait, puisque la coloration du JS est intégré a la coloration HTML.
Le Lexer ça doit être le parser HTML qui fait l'analyse syntaxique, et comme j'utilise celui du HTML j'ai toujours la coloration qu'après les balises "script" ...
Donc voilà, il faut que je me penche sur ce Lexer maintenant - mais du coup je me demande s'il va pas falloir faire un Lexer JavaScript à part (hors je crois que le parser HTML n'est pas un parser à part mais que le HTML, le JavaScript, le XML et même le PHP font tous partie du même parser) - je vais voir mais du coup ça risque de faire pas mal de code à en plus à écrire (pour l'intsant j'ai quasi rien fais aussi, rien qu'un dev aurait pu faire en 2 minutes quoi)..
A moins qu'on puisse modifier le Lexer HTML pour l'appliquer à un .JS pur... mais je suis pas sûr, enfin il faut voir le code.
A suivre.
Dernière modification par naekun (Le 07/01/2007, à 21:23)
Hors ligne
#7 Le 07/01/2007, à 22:13
- skateinmars
Re : [Quasi-Resolu]Recherche programmeur C pour une petite contribution
Je connais quasiment pas le systèmes des includes, donc je me trompe peut-être.
En revanche si on regarde cette révision du svn de geany :
http://geany.svn.sourceforge.net/viewvc/geany?view=rev&revision=1058
commentée "Added new scintilla lexer for D. It needs testing and there is more work to do to get it working properly."
On voit pas mal de changements dans le dossier scintilla, un dans data/ qui me parait assez incompréhensible à première vue et un dans src/highlighting.c
Cela vaut peut-être le coup de se plonger la dedans.
Au niveau du lexer en effet je pense qu'il en faut un à part, à moins de pouvoir utiliser "une partie" de celui de html.
Hors ligne
#8 Le 13/01/2007, à 00:35
- skateinmars
Re : [Quasi-Resolu]Recherche programmeur C pour une petite contribution
Je me permet un up avant de contacter la mailing-list de geany pour essayer de faire avancer l'histoire.
Hors ligne
#9 Le 14/01/2007, à 03:22
- skateinmars
Re : [Quasi-Resolu]Recherche programmeur C pour une petite contribution
Grande nouvelle
Filetype javascript added in SVN r1181. Check it out. It might be that the
symbol list is a bit buggy.
\o/
Bon, pour le moment ya surtout la coloration syntaxique mais le reste devrait arriver d'ici peu
Hors ligne
#10 Le 16/01/2007, à 10:46
- skateinmars
Re : [Quasi-Resolu]Recherche programmeur C pour une petite contribution
Et voila, on a maintenant l'auto-complétion de quelques structures, la coloration syntaxique et la liste des symboles, cette dernière etant malheureusement assez buggué.
Hors ligne