7
votes

Comment afficher des choix autocompéqués dans EMACS?

Je travaille sur la mise en œuvre de l'auto-complétion dans EMACS pour la langue de programmation HAXE.

J'ai déjà compris comment obtenir la liste des autocalisations que je souhaite présenter. La liste est au format: xxx

Je souhaite afficher sur la liste des utilisateurs contenant du texte dans le format "Nom1 type1" après la position du curseur (comme en mode Autocomplete) et de la descente. article sélectionné dans le minibuffer. L'utilisateur doit pouvoir sélectionner l'achèvement ou abandonner comme en mode complet complet.

Lorsque l'utilisateur sélectionne quelque chose, nom1 doit être inséré à la position du curseur.

Quel est le meilleur / le plus simple façon de faire ça? Existe-t-il une façon standard Emacs de le faire, ou je devrais coder quelque chose sur moi-même?

Edit: j'ai des fonctions pour obtenir la liste des candidats autocompressés basés sur la mémoire tampon. Maintenant, j'ai du mal à l'intégrer à la mode automatique. Étant donné que les complexes sont une opération lourde, je voudrais ne le déclencher que si le curseur est sur "". Caractère.

Voici le code que j'ai. xxx


0 commentaires

5 Réponses :


7
votes

Je suggérerais l'excellent package autocomplete: http://www.emacswiki.org/emacs/autocomplecte

Vous pouvez définir des sources personnalisées pour l'autocomplete et il semble assez simple.


2 commentaires

J'ai vu cela, mais je n'ai pas pu comprendre comment afficher des info-bulles et des documents avec elle. Tout ce qu'il offre est Vim comme une autocalistion, ce qui n'est pas ce que je veux.


On dirait en mode Automplète, la fonction CA-Select-Candidate est utilisée pour afficher la sélection actuelle du candidat, vous pouvez définir un conseil pour cette fonction pour afficher la descente du minibuffer



1
votes

L'IDO-Terminer-Lire de Ido.el est une autre façon de le faire.

Une caractéristique utile est que vous pouvez utiliser des expressions régulières pour filtrer les candidats et vous pouvez basculer sur cette fonctionnalité sur la volée. Voir Ido.el pour plus de détails.


0 commentaires

1
votes

L'emballage IDO a une fonctionnalité d'achèvement pratique appelée «Ido-complétant-lecture». Par exemple, voici un simple tweak pour le faire montrer des listes de ligne en ligne: xxx


0 commentaires

1
votes

À l'intérieur du code Yasnippet, disponible auprès de Google Code, ils utilisent «Dropdown-List.el» par Jaeyoun Chung pour afficher les extraits possibles pouvant être utilisés au point. Cela donne un menu contextuel (ToolTip-like) à la position du curseur que vous pouvez sélectionner avec les touches fléchées et entrez ou vous pouvez sélectionner par numéro.

http://www.emacswiki.org/emacs/dropdown-list.el.el


1 commentaires

Super, si seulement il serait possible de se débarrasser de Selid sur le côté droit :)



3
votes

Pourquoi continuer à réinventer les roues? Société-Mode a la prise en charge de quelques langues


2 commentaires

C'est la voie à suivre. Je ne sais pas pourquoi j'ai raté le mode de l'entreprise et le temps perdu avec un mode d'apport automatique clairement inférieur. Peut-être le nom laid;)


Le seul problème est la documentation pour le mode d'entreprise. C'est loin de savoir comment l'utiliser et j'ai reçu de nombreux courriels de personnes qui demandent à ma configuration de la société. Il est possible de voir dans les fichiers de configuration liés ici: richardriley.net/projects/emacs/dotemacs