OVH Cloud OVH Cloud

coup de pouce ECB

5 réponses
Avatar
Sébastien Kirche
Bonsoir,

dernièrement on a reparlé ici d'ECB/semantic au sujet de la complétion du
code.

Je ne m'étais servi jusqu'ici d'ECB que comme explorateur de projet sur
quelques arbres cvs que je récupère chez moi (Emacs, PearPC, et quelques
bricoles) mais comme je fais du python en ce moment je m'y intéresse de plus
près.

Problème : si ECB reconnait bien la syntaxe d'un script python (C aussi) et
colorie correctement, je ne bénéficie pas des propositions de méthodes sur
un objet ou sur les membres d'une structure.

D'un autre côté dans les autres fenêtres d'ECB, je vois bien les prototypes
des fonctions qui s'affichent en fonction de la fonction sur laquelle je
suis.

J'ai vérifié que cette question n'était pas dans la faq, alors il me reste
la doc qui est conséquente.

Mais un habitué d'ici saurait peut-être me mettre sur la voie ? Merci.

--
Sébastien Kirche

5 réponses

Avatar
Sébastien Kirche
Le 20 fév 2005, Sébastien Kirche s'est exprimé ainsi :

J'ai vérifié que cette question n'était pas dans la faq, alors il me reste
la doc qui est conséquente.



Bon après avoir Googlisé pas mal, je suis tombé sur des éléments de
réponse : binder les touches . et > (pour ->) pour permettre l'appel de
semantic-ia-complete-tip, semantic-ia-complete-symbol et
semantic-ia-complete-symbol-menu

Il y aurait aussi le semantic-idle-completions-mode.

Je suis juste un peu surpris qu'ECB ne le propose pas en standard.

Ce qui peut donner :
(define-key c-mode-map ">" (lambda (arg)
(interactive "P")
(c-electric-lt-gt arg)
(when (looking-back "->")
(semantic-ia-complete-tip (point)))))
(define-key c-mode-map "." (lambda ()
(interactive)
(insert ".")
(semantic-ia-complete-tip (point))))

Mais je ne vois pas trop ce que ça vaut.

--
Sébastien Kirche
Avatar
Sébastien Kirche
Le 21 fév 2005, Sébastien Kirche a formulé :

Mais je ne vois pas trop ce que ça vaut.



Comme c'est un peu calme en ce moment, je me réponds ;)

Ces bindings sont inutiles. En fait en allant chercher des versions à jour
de cedet et ecb (et au passage en supprimant les paquets séparés de eieio,
speedbar, semantic et ede) ça marche beaucoup mieux.

Il ne reste plus que les trucs suivants :

(setq semantic-load-turn-everything-on t)
(when (file-exists-p "~/.elisp/cedet/common/cedet.el")
(load-library "~/.elisp/cedet/common/cedet.el")
;; Enabling SEMANTIC minor modes. See semantic/INSTALL for more ideas.
;;(semantic-load-enable-excessive-code-helpers)
)

Que je trouve pas spécialement élégant, et

(when (require 'ecb-autoloads nil t)
(setq semanticdb-default-save-directory "~/tmp"))

Quand aux tips et à la complétion, ils arrivent tout seuls après un instant
d'inactivité ou l'appui de tab.

Il semble que même en sid les paquets Debian de semantic ne soient pas
franchement récents.

Reste que même sur la version la plus récente de semantic subsiste un bug de
parse des fichiers python qui freeze parfois Emacs (heureusement débloquable
par C-g). Dommage :(

[Par contre j'ai enfin réussi à réparer mon emacs-snapshot avec lequel bbdb
et ecb étaient cassés depuis un moment : alors que je recompile des paquets
à jour de temps à autre, l'executable d'emacs restait le même depuis
plusieurs mois et forcément ça merdoyait quelque peu :/ ]

--
Sébastien Kirche
Avatar
Vincent Bernat
OoO En cette nuit striée d'éclairs du mardi 22 février 2005, vers
02:02, Sébastien Kirche
disait:

[Par contre j'ai enfin réussi à réparer mon emacs-snapshot avec lequel bbdb
et ecb étaient cassés depuis un moment : alors que je recompile des paquets
à jour de temps à autre, l'executable d'emacs restait le même depuis
plusieurs mois et forcément ça merdoyait quelque peu :/ ]



A ce propos, il y a désormais des snapshots en paquets Debian :
<URL:http://lorentey.hu/downloads/apt/>

Il s'agit de la branche multi-tty.
--
BOFH excuse #243:
The computer fletely, mouse and all.
Avatar
Sébastien Kirche
Le 22 Feb 2005, Vincent Bernat s'est exprimé ainsi :

A ce propos, il y a désormais des snapshots en paquets Debian :
<URL:http://lorentey.hu/downloads/apt/>

Il s'agit de la branche multi-tty.



Merci de l'info.

Tu as des détails sur le contenu ?

Je sais que cette version permet d'invoquer plusieurs fois la même instance
d'Emacs à la façon de du client gnu|emacs, mais c'est comment par rapport à
la branche principale du CVS ? Ça suit ?

--
Sébastien Kirche
Avatar
Vincent Bernat
OoO En cette matinée ensoleillée du mardi 22 février 2005, vers 09:41,
Sébastien Kirche disait:

<URL:http://lorentey.hu/downloads/apt/>

Il s'agit de la branche multi-tty.



Merci de l'info.

Tu as des détails sur le contenu ?

Je sais que cette version permet d'invoquer plusieurs fois la même instance
d'Emacs à la façon de du client gnu|emacs, mais c'est comment par rapport à
la branche principale du CVS ? Ça suit ?



Oui, les mises à jour sont régulières (tous les 3 jours environ). Les
paquets Debian sont également à jour, mais comme c'est très
récent... Pour quelqu'un venait de XEmacs, je trouve cette branche
indispensable. Je laisse souvent mon Emacs tourner chez moi et m'y
connecte avec emacsclient.

A noter toutefois que c'est moins robuste que dans XEmacs : en cas de
coupure de connectivité, c'est tout Emacs qui tombe.
--
IT DOES NOT SUCK TO BE YOU
IT DOES NOT SUCK TO BE YOU
IT DOES NOT SUCK TO BE YOU
-+- Bart Simpson on chalkboard in episode AABF13