Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/01/2007, à 13: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 wink

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 wink

Dernière modification par skateinmars (Le 16/01/2007, à 11:44)

Hors ligne

#2 Le 07/01/2007, à 00: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, à 02: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 smile

Bon, je vais continuer a chercher.

Hors ligne

#4 Le 07/01/2007, à 05: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, à 13: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 wink )

#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 smile

Merci encore à toi wink

Hors ligne

#6 Le 07/01/2007, à 22: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, à 22:23)

Hors ligne

#7 Le 07/01/2007, à 23: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, à 01: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, à 04: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 smile

Hors ligne

#10 Le 16/01/2007, à 11: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