CodeMirror De Saisie Semi-Automatique D'Une Liste Personnalisée
Je vais avoir un peu de difficulté à l'auto complète de la fonction dans le code miroir. Ce que j'essaie de faire est de deux choses (les deux j'ai du mal avec):
1) je veux activer la fonction d'auto complet pour HTML
et JavaScript
.
Actuellement je ne peux obtenir un travail à la fois en utilisant par exemple:
CodeMirror.commands.autocomplete = function (cm) {
CodeMirror.showHint(cm, CodeMirror.hint.html);
};
Comment puis-je ajouter de la CodeMirror.hint.javascript
de la liste de la HTML
?
2) (un peu plus important) - Comment puis-je ajouter des variables à la liste des conseils de HTML
la zone récupérées à partir d'un appel ajax.....
c'est à dire je veux avoir la liste déroulante pour afficher la liste des données à partir de l'html indicateurs, mais ensuite ajouter des entrées personnalisées telles que ##SomeCode1##
et ##SomeCode2##
J'ai deux problèmes ici. D'abord quand j'essaie de coder en dur les valeurs de la 'html-hint.js fichier les valeurs de tous les obtenir ajouté avec <
... ce qui n'est pas ce que je veux.
Le deuxième problème, en quelque sorte, c'est que je crois que j'ai à écrire une nouvelle " html-hint.js fichier correct? Je veux dire il n'y a pas de moyen de passer quoi que ce soit dans les "options" de paramètre dans la CodeMirror.hint.html
ci-dessus est là, essentiellement afin de fusionner les deux de la liste.
J'ai invité un et deux sont en quelque sorte la même venez pour penser à elle... la Fusion de deux listes de valeurs pour les auto complète ensemble.
Je suppose, il n'en est rien, déjà que dans le cadre et je dois écrire une coutume indicateur de fichier correct?
Tous les pointeurs serait appréciée. Exemple de code serait génial.
OriginalL'auteur Robin Rieger | 2013-10-08
Vous devez vous connecter pour publier un commentaire.
Si vous ne spécifiez pas un indice de la fonction, le show-indice addon va prendre le conseil helper de la fonction définie pour le local mode à laquelle l'achèvement arrive, donc, ça va être
CodeMirror.hint.javascript
dansJavaScript
code, etCodeMirror.hint.html
en HTML.Si vous devez ajouter votre propre achèvement logique, vous pouvez remplacer (ou enveloppe) ces fonctions par simplement les écraser avec votre propre code.
Voici un exemple brut hack qui ajoute toujours "bozo" JavaScript complétions:
+1 pour bozo vous jabroni!
Marijn, le code ci-dessus ne fonctionne pas comme prévu. Le mot "bozo" est en effet ajouté à la liste, mais comme je l'ai type "b-o-z..." il n'est pas sélectionné. Au contraire, si ma page a une fonction nommée 'singe', comme je le type "m-sur..." ce nom est en effet sélectionné. Aussi, le mot "bozo" est toujours s'affiche, et pas seulement lorsque l'utilisateur tape un mot similaire. Ce n'est pas le comportement attendu pour l'autocomplétion. Existe-il d'autres façons d'accomplir cela?
L'indicateur de fonction est responsable de filtrage. Si elle vient de inconditionnellement ajoute un mot, comme dans mon exemple, aucun filtrage n'arrive. Mais vous pouvez ajouter votre propre logique-y si vous voulez.
OriginalL'auteur Marijn
Grâce à @Marjin pour une brève explication, mais comme il n'a pas de couverture de filtrage et de beaucoup de gens besoin d'elle, voici ce que j'ai fait dans mongoclient par la suite Marjin de réponse. Et partiellement pris de l'aide de ici
p.s. N'oubliez pas de changement de l'indice avec la vôtre, car je suis à l'aide de javascript, j'ai changé javascript soupçon.
l'ofc, dans ce cas, vous devez créer votre propre mode de codemirror, stackoverflow.com/questions/24433552/...
Je ne suis pas sûr si nous comprenons les uns les autres. J'ai deux CodeMirror "mode sql" instances sur une page avec la fonction d'auto-complétion. J'ai besoin d'ajouter des mots clés personnalisé en plus intégré dans les mots clés sql. Je ne comprends pas pourquoi devrais-je créer un nouveau mode. Outre que je suis à la recherche d'un moyen dynamique d'ajouter / supprimer des mots clés de la liste
Pas de problème, je vous remercie pour votre réponse.
non, vous devez échapper par spéciale personnage lorsqu'elles proviennent de la saisie de l'utilisateur, par exemple pour la
@
signe que vous avez besoin de l'écrire comme\@
avant de donner dansRegExp
constructeurOriginalL'auteur Sercan Ozdemir