問題タブ [cider]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
emacs - cider 接続で clojure ライブラリを自動的にロードする
clojure プロジェクトで(require '[my.lib :as foo])
サイダーを使い始めた直後は、常に複数のマニュアルを作成していることに気づきます。M-x cider-jack-in
接続が成功したときにコードを実行するには、フックが必要だと思います。ある?別の方法は、すべての必要なものを外部ファイルに入れる(use 'that.namespace)
ことです。私は怠惰ですが、可能であればその手順をスキップしたいと思います。
アップデート:
フォームを .lein/profiles.clj :injections に入れることは、Repl で排他的に使用する限り問題ありません (のようにlein repl
)。それらを emacs の nrepl から利用できるようにするには、以下の arrdem で指定された 2 番目のソリューションを使用する必要があります。
ここにいくつかのより包括的な情報があります。
emacs - jvm の終了時に *nrepl* バッファーを cider に保持する
リモート nrepl サーバー ( mvn clojure:nrepl
) を実行しており、emacs 経由で接続してM-x cider-connect
います。なんらかの理由で JVM が存在するか(System/exit 0)
、repl を呼び出すと、*nrepl*
バッファーはすぐに閉じられます。
どうすればその動作を防ぐことができますか?
後続の接続でそのバッファが再利用されるようにするにはどうすればよいですか?
ありがとう!
編集: 前: 「emacs 経由で接続するM-x nrepl
」
更新: 切り替え:
; CIDER 0.8.0alpha (package: 20141116.1221) (Java 1.7.0_21, Clojure 1.6.0, nREPL 0.2.5)
私が見るものを実行mvn dependency:tree
すると、次のものが含まれます:
[INFO] +- org.clojure:tools.nrepl:jar:0.2.5:compile
[INFO] +- cider:cider-nrepl:jar:0.8.0-SNAPSHOT:compile
ただし、Emacs では、 の後に次のように表示されますM-x cider-connect
。
; CIDER 0.8.0alpha (package: 20141116.1221) (Java 1.7.0_21, Clojure 1.6.0, nREPL 0.2.5)
WARNING: The following required nREPL ops are not supported:
apropos classpath complete eldoc info inspect-start inspect-refresh inspect-pop inspect-push inspect-reset macroexpand ns-list ns-vars resource stacktrace toggle-trace-var toggle-trace-ns undef
Please, install (or update) cider-nrepl 0.8.0-SNAPSHOT and restart CIDER
REPLを閉じてから再起動しようとすると、An nREPL connection buffer already exists ... create a new one? (y or n)
どちらの答えも間違っているように見えます。
古いバッファは少なくとも削除されていませんが、使用できないように見えます。
java - clojure.lang Javaソースにジャンプするには?
サイダー使用時は「M-」。上記のシンボル "clojure.lang.ISeq" は"No source available for clojure.lang.ISeq" というエラーを返します。
このファイルのソースは「clojure-1.5.1-sources.jar」にあります。
Cider にこのソースを表示させるにはどうすればよいですか?
emacs - cider-repl でプロセスを終了するには?
無限ループが原因でデッドロックに陥った場合、cider-repl を終了するにはどうすればよいですか?
それが発生した場合、emacs を強制終了するか、コンピューターを再起動して cider-repl を強制終了する必要があります。これを解決するより良い方法はありますか?
clojure - lein repl を記述するときに、デフォルトの名前空間は評価されませんか?
emacs cider から lein repl :headless を起動すると、デフォルトの名前空間が呼び出されません。
私の project.clj には :repl エントリが定義されています:
project.clj ファイルから cider-jack-in すると、実際に dev.core ns になります。
しかし、インターンを見ると、次のようになります。
名前空間をリロードすると:
名前空間が読み込まれます。内部的に leiningen は (require ...) メソッドを使用して名前空間をロードしているようですが、このケースに関するドキュメントで情報を見つけることができませんか?
ありがとう!
emacs - Emacs で Cider 評価された式できれいに印刷された結果を取得する
評価された Clojure 式の結果を、きれいに印刷された形式で Emacs バッファーに直接挿入したいと考えています。
たとえば、次のようなものがあります。
対象のバッファで、
以前は、Clojure にきれいに印刷してもらっていました。
ただし、"
and\n
はエスケープされて挿入されています。エスケープせずに挿入したい。言い換えれば、引用符や改行をエスケープせずに、きれいに印刷された結果を直接挿入したいのです。これは以前のバージョンの Cider およびcider-nrepl
.
emacs - 余分な^Mとnilを出力するemacsのClojureScript REPL
私はClojureScriptの初心者で、Windows マシンでemacs、cider、cljsbuild、およびaustinをslimerjsとともに使用しています。clojurescript repl に入力すると、余分な^M
文字nil
が出力に追加されることがあります (ただし、以下の repl の出力が示すように、戻り値は nil ではありません)。の前の出力は^M
赤で、nil
出力は黒です。何が原因で、どうすれば修正できますか? (これをプロジェクトのトラッカーの 1 つに問題として報告する必要がありますか?)
emacs - Emacs と Cider による Clojure コーディング
私は Clojure コーディングの初心者であり、開発用に Emacs をセットアップするために多くの記事を読みました。
セットアップ自体は設計どおりに機能しますが、コードを変更するときに Cider セッションからサーバーを実行し、Emacs を完全に強制終了しました。または、シェル セッションからサーバー プロセスを見つけて、そこから強制終了する必要があります。これは理想とはかけ離れています。
clojure-getting-started/web.clj
サイダーセッション
サーバーを起動した後、(server)
関数で以下のエラーが発生します。
エラー メッセージは理にかなっていますが、Emacs だけを使用してコード ベースを更新するにはどうすればよいでしょうか?
Emacsでシェルセッションを開始してそこでプロセスを強制終了するよりも良い方法があると思います(そして願っています)...