J'ai un profil: Dev Configurez-vous dans mon fichier de projet LEINGEN. Cela définit un paramètre: init et: init-NS pour ma session de réplique. Si je lance NREPL dans EMACS (M-X NREPL-Jack-in) avec le curseur sur le mot-clé: Dev sur My Project.clj, le lancement de RÉPLY Lancement et les paramètres: Init et: Init-NS sont utilisés. Si j'ai mon curseur ailleurs, l'espace de noms initial est différent (un test NS, non utilisateur) et: init n'a pas été évalué. P>
Je suppose que c'est une caractéristique d'une sorte grève> (je suis plus enclin à penser que c'est un comportement aléatoire de buggy maintenant) mais quelqu'un peut-il l'expliquer ou signifier moi-même sur les docs qui le font? En outre, y a-t-il un moyen de modifier le profil une fois que la RÉP a été lancée? P>
merci p>
4 Réponses :
Je cherche simplement la même fonctionnalité et j'ai trouvé ce problème ouvert dans Clojure-emacs / NREPL.EL "Ajouter un argument à NREPL-Jack-in pour permettre la spécification des profils" https://github.com/clojure-emacs/nrepl.el/issues/327 P>
Il est toujours ouvert p>
Il est devenu cidre-jack-in-with-profil code>, disponible depuis Q1 2014
Contrairement à ce que le commentateur @ user7610 a déclaré, il n'y a pas de Si vous voulez que le cidre charge votre propre ou pour définir la variable de manière interactive (vous pouvez donc voir la valeur actuelle avant de le changer): P>
Ça provoquera votre prochain Fonction code> Fonction du cidre. Cidre Demande de pull # 544 était un peu trompeuse à cet égard. P >
Special-Snowflake Code> Profil Faites cela dans EMACS: P>
M-X Cider-LEIN-LEIN-LEIN-Paramètres CODE> TO E.G. avec-profile + My-Special-Snowflake Replé: Inditors Code> Li>
ul>
C-H, V CIDER-LEIN-Paramètres CODE>, puis cliquez sur ou appuyez sur Entrée sur "Personnaliser" et définissez-la là-bas à E.G. avec-profil + My-Special-Snowflake Remplez: sans tête code> et appliquez-le li>
ul>
Cider-Jack-in CODE> Pour charger le profil My-Special-Snowflake Code> En plus de la base code> Profil CODE> (qui est nécessaire pour exécuter le nrepl et donc cidre). P>
Essayez ceci:
(defun start-cider-repl-with-profile ()
(interactive)
(letrec ((profile (read-string "Enter profile name: "))
(lein-params (concat "with-profile +" profile " repl :headless")))
(message "lein-params set to: %s" lein-params)
(set-variable 'cider-lein-parameters lein-params)
(cider-jack-in)))
Légèrement plus idiomatic: prenez profil code> comme argument, puis do (nom de profil d'altérateur interactif ") code>.
i essayez la fonction auteure de Jacai Liu sur mon ordinateur (GNU emacs 26.2 (Build 1, X86_64- Apple-Darwin18.2.0, NS AppKit-1671.20 Version 10.14.3 (Build 18d109)) de 2019-04-13). Je reçois une erreur est la suivante: et ensuite, j'essaie de fonctionner comme suit: p> Ça marche. Merci pour Jiacai Liu! P> P>
J'ai examiné le code source de NREPL.EL et je ne peux voir aucune référence à exécuter Lein avec des profils de profils n'importe où - aussi, je n'arrive pas à reproduire le comportement du profil en fonction de l'endroit où le curseur est - êtes-vous sûr que cela est ce qui se passe? Je pense que NREPL n'utilise probablement que le profil par défaut qui est composite de [: base: système: utilisateur: fourni: Dev] ( github.com/technomancy/leiningen/blob/master/doc/profiles.m d )
J'ai d'abord soupçonné un comportement délibéré, mais cela semble incompatible - plus comme un bug maintenant. Le projet a à la fois des fichiers CLJ et CLJS, alors peut-être que cela devient confus ...