問題タブ [nrepl]
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.
clojure - Emacs / nrepl / Quil を使用して Clojure でコードをライブにするにはどうすればよいですか?
Emacs と nrepl で編集しているかなり標準的な Quil ファイルがあります。
まずC-c C-l
、ファイルをロードするために使用します。これにより、スケッチ ウィンドウが作成されます。次に、関数を編集draw-world
して、別の色で描画します。私の質問は:
現在の Quil ウィンドウをこの新しい関数で更新するにはどうすればよいですか?
※C-x C-e
うまくいかないようです。
emacs - clojure 評価の結果を貼り付けるときに、emacs キーボード マクロを正しく動作させるにはどうすればよいですか?
emacs lisp には、式の結果を評価し、結果を直接バッファに貼り付けることができる非常に便利な機能があります。
追加作業を確認したいとします。次に、次のように入力します。
キーボード マクロを定義します。
次に、式の上にポイントを置き、F4 キーを押してマクロを実行すると、式は次のようになります。
これは素晴らしい回帰テストになります。
残念ながら、clojure/nrepl バッファーで同じキーボード マクロを実行すると、次のようになります。
およびシンボルを解決できないという clojure からのエラーis=
そのため、物事の順序付けに何か奇妙なことが起こっていると思います。マクロは間違ったものを評価しようとしています。
誰でもこれをclojureで動作させることができますか? (実際、一般的な問題を解決して、任意のキーボード マクロC-u C-x C-e
が emacs lisp と同じように正常に動作するようにします)
人々は誤解しているように見えるので編集してください:
手動でキーを押すと、elisp または clojure バッファーのいずれかで問題なく動作します。1 つの Cu Cx Ce evals では emacs lisp を使用し、他の evals では外部の clojure プロセスを使用します。
この問題は、Cu Cx Ce を含むキーボード マクロ (clojure バッファーに記録されている) を実行しようとしたときに発生します。
clojure バッファーでマクロを実行すると、どういうわけか順序が変更されます。eval-paste がまだ完了していなくても、マクロは実行を続けているようです。
キーボード マクロ (または対応する関数) を手動で実行するのと同じ順序で強制的に実行する方法があるかどうか疑問に思っていました。
必要に応じて、キーボード マクロを適切な elisp 関数に変更できることを非常にうれしく思います。
maven - clojure:nrepl を clojure-maven-plugin で動作させるにはどうすればよいですか?
私が入力した場合:
私は得る:
どこにclojure-maven-nrepl.pom.xml
ある:
機能させるには何を変更すればよいですか?
macos - Emacs + nRepl + ClojureMode でのキーの組み合わせ
私は Emacs + Lein + nRepl + ClojureMode の組み合わせに不慣れで、なぜ Cc C-, キーの組み合わせを clojure プログラム バッファーで実行できないのか途方に暮れているようです。単純に C-,. を使用しません。Cc Ck などの他のショートカットは正常に機能します。
Mac OS X Mountain Lion で Terminal OS X の Emacs を使っています。
ありがとうございました。
emacs - nreplで履歴検索を行う方法はありますか?
bashで上矢印を押すと、最後に入力したコマンドがどのように入力されるか知っていますか?nreplでこれを行う方法はありますか?
これまで、逆検索(C-r)を実行し、問題の行の最初の数文字を入力し、行を強制C-k終了し()、バッファーの最後にジャンプし(M->)、強制終了された行をヤンクしました(C-y)。これを行う簡単な方法はありますか?
emacs - nrepl-ritz-jack-in を TRAMP/Emacs 経由でリモートで動作させるにはどうすればよいですか?
私が欲しいもの:
リモートサイトに clojure プログラムがありますmccarthy
。私がやりたいことはnrepl-ritz
、できれば を使用して、ラップトップから に接続することnrepl-ritz-jack-in
です。ジャックインはローカル プログラムでは正常に機能しますが、リモート プログラムには接続していないようです。
試行 1
C-x C-fの上/mccarthy:code/program/project.clj
(require 'nrepl-ritz)
M-x nrepl-ritz-jack-in
結果
Emacs がハングしているように見えます。*nrepl-server*
バッファーに移動すると、次のように表示されます。
(そして他のたくさんの行も...)
私はdrip
ラップトップで使用していますが、では使用していないmccarthy
ため、明らかにnrepl-ritz-jack-in
リモートファイルであることを検出していません。nrepl-jack-in
ただし、この場合、通常の古いものは期待どおりに機能します。
試行 2
onのnrepl-ritz
使用も開始してみました:lein
mccarthy
私のラップトップからポートを転送して、ローカルがon に42874
接続するようにします。42874
mccarthy
次に、ローカルの Emacs から:
M-x nrepl
ホスト:127.0.0.1
ポート:42874
これは私に接続を与えます:
それをテストするために、私は実行します
M-x nrepl-ritz-threads
それは私にスレッドの素晴らしいテーブルを与えてくれます。
M-x nrepl-ritz-break-on-exception
結果
これはハングしますが、再起動可能な非表示のデバッグ バッファが表示されることがあります。例外をプログラムに戻すように指示すると、制御が REPL に戻されることはありません。
私はたくさんの検索をしましたが、「leinがあなたのパス上にあることを確認してください」よりも具体的なものを得ることができませんでした(両方のマシンでそれをしました...)。
emacs - emacs で nrepl セッションをクリアしてリロードするにはどうすればよいですか?
私はemacsとnreplで作業しています。どうすれば次のことができますか:
終了します
nrepl
(現在、バッファを削除するだけです)で作業していたものをすべてリロードします
nrepl
。
これを行うことで解決しようとしている問題は、ns
フォームをロードしたときにエラーが発生した場合、以前のエラーが引き続き発生するため、正しいコードをロードできないことです。
emacs - JFrame/EXIT_ON_CLOSE が nrepl サーバーを強制終了しないようにするにはどうすればよいですか?
編集DISPOSE_ON_CLOSE を使用することは、私が求めているものではありません。なぜなら、「逆」の問題があるためです。JFrame を閉じても REPL は存続しますが (これは良いことです) 、 REPL の外から起動しても存続します (これは悪いことです)。
Clojure で Swing アプリケーションを作成していますが、REPL ( Emacs ではnrepl ) と REPL の外側 (たとえばlein run
、スタンドアロンの.jarを使用または実行) の両方をテストすると便利です。
Swing アプリケーションを REPL から起動していないときは、デフォルトのクローズ操作を EXIT_ON_CLOSE に設定すると便利です。例えば:
そのため、JFrame の閉じるボタンをクリックして、アプリを終了することができます。
ただし、どうやら(これについては間違っているかもしれませんが、私は物事を見ていないと思います)これはREPLから実行すると問題があります:JFrameの閉じるボタンをクリックするとすぐに、明らかにnreplサーバーを強制終了し、新しいサーバーを再度開く必要がありますnrepl。
nreplと REPL の外側の両方からテストする必要があることを知っていますが、どうすれば問題を解決できますか?
REPL から実行されていることを「検出」し、デフォルトのクローズ操作を終了に設定しないようにする必要がありますか? または?
clojure - フィルターが nrepl でスタックするのはなぜですか?
最後の式が nrepl で永久に動かなくなったのはなぜですか (決して止まらないと思います)。停止するには Ctrl+c Ctrl+c が必要です。