<p>cider-switch-to-repl-bufferは、関連する(最新ではない)バッファーに切り替える必要があります</p>

作成日 2017年09月08日  ·  3コメント  ·  ソース: clojure-emacs/cider

昨日、私が気付いた問題について、何人かの人々( @magnars @dpsutton jumar?)がClojuriansについて話していました。 私はすべての詳細を持っていませんが、私は彼らの説明から借りましたが、報告を手伝うように努めます。

ドキュメントには、「現在のClojureバッファーのClojure名前空間に基づいて関連するREPLバッファーに切り替えるには、 C-c C-zください」と記載されています。 cljs-modeから、プロジェクトのcljs-replに切り替える必要があります。 clojureモードからプロジェクトのclj-replに切り替える必要があります。

代わりに、最新のREPLに切り替わります。

@dpsuttonはそれが関連していると言います//github.com/clojure-emacs/cider/commit/746e4d694104c0c3e0493d84b091a4fd2d54f626

問題を再現するには:

  • CLJとCLJSを使用してプロジェクトを作成します。
  • そのプロジェクト内のファイルに移動し、cider-jack-in-clojurescriptを実行します。
  • CLJREPLバッファーに切り替えます。
  • CLJSファイルバッファに移動します。
  • Cc Cz(cider-switch-to-repl-buffer)を押します。 CLJSREPLバッファーではなくCLJREPLバッファーに切り替わります。

ライニンゲン2.7.1

Emacs:25.2.1

Arch / Antergos Linux

bug

最も参考になるコメント

これは少なくともCLJSのケースを解決するPR#2085です。
私にとって、CLJCファイルのどこに切り替えるかは明確ではありません。

全てのコメント3件

私の考えでは、問題はreplの解決です。 cider-current-connectionでは、複数の接続がある場合、最新の接続をバンクするだけですが、これは私には間違っているようです。 これは、さらに下がるべき解決戦略のように聞こえます。 clj replにロードされているcljsバッファーのインスタンスと、他のプロジェクトreplにロードされているcljファイルがあります。

  (cond
   ((not connections) nil)
   ;; if you're in a REPL buffer, it's the connection buffer
   ((and (derived-mode-p 'cider-repl-mode) (right-type-p (current-buffer) type)))
   ((eq cider-request-dispatch 'static) (car connections))
   ((= 1 (length connections)) (right-type-p (car connections) type))
   (t (let ((project-connections (cider-find-connection-buffer-for-project-directory
                                  nil :all-connections))
            (guessed-type (or type (cider-connection-type-for-buffer))))
        (or
         ;; cljc
         (and (equal guessed-type "multi")
              (most-recent-buf project-connections nil))
         ;; clj or cljs
         (and guessed-type
              (or (most-recent-buf project-connections guessed-type)
                  (most-recent-buf connections guessed-type)))
         ;; when type was not specified or guessed
         (most-recent-buf project-connections type)
         (most-recent-buf connections type)))))

問題は直接cider-switch-to-repl-bufferます。 ところで、同じ問題がcider-switch-to-last-clojure-bufferます。 見ていきます。

これは少なくともCLJSのケースを解決するPR#2085です。
私にとって、CLJCファイルのどこに切り替えるかは明確ではありません。

このページは役に立ちましたか?
0 / 5 - 0 評価