;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\311\312\313\314\315DD\316\317\320\321\322\323\324& \210\311\325\313\314\326DD\327\317\314\321\322\323\330& \210\311\331\313\314\332DD\333\317\334\321\322\335\336\323\337& \210\311\340\313\314\341DD\342\317\334\321\322\335\336\323\343& \207" [require nrepl-client cl-lib format-spec sesman sesman-browser spinner cider-popup cider-util custom-declare-variable cider-session-name-template funcall function #[0 "\300\207" [#1="%J:%h:%p"] 1 #1#] "Format string to use for session names.\nSee `cider-format-connection-params' for available format characters." :type string :group cider :package-version (cider . "0.18.0") cider-connection-message-fn #[0 "\300\207" [cider-random-words-of-inspiration] 1] "The function to use to generate the message displayed on connect.\nWhen set to nil no additional message will be displayed. A good\nalternative to the default is `cider-random-tip'." (cider . "0.11.0") cider-redirect-server-output-to-repl #[0 "\300\207" [t] 1] "Controls whether nREPL server output would be redirected to the REPL.\nWhen non-nil the output would end up in both the nrepl-server buffer (when\navailable) and the matching REPL buffer." boolean :safe booleanp (cider . "0.17.0") cider-auto-mode #[0 "\300\207" [t] 1] "When non-nil, automatically enable cider mode for all Clojure buffers." (cider . "0.9.0")] 12) #@69 The minimum nREPL version that's known to work properly with CIDER. (defconst cider-required-nrepl-version "0.6.0" (#$ . 1532)) #@151 Start nrepl client and create the REPL. PARAMS is a plist containing :host, :port, :server and other parameters for `cider-repl-create'. (fn PARAMS) (defalias 'cider-nrepl-connect #[257 "\300\301\302\303\"\302\304\"\302\305\"\306\307\"$!\207" [process-buffer nrepl-start-client-process plist-get :host :port :server make-closure #[257 "\301\300!\207" [V0 cider-repl-create] 3 "\n\n(fn _)"]] 9 (#$ . 1667)]) #@45 Return a list of all active CIDER sessions. (defalias 'cider-sessions #[0 "\300\301!\207" [sesman-sessions CIDER] 2 (#$ . 2086)]) #@58 Return t if CIDER is currently connected, nil otherwise. (defalias 'cider-connected-p #[0 "\300\301\302 !!\207" [process-live-p get-buffer-process cider-current-repl] 3 (#$ . 2222)]) #@41 Ensure there is a linked CIDER session. (defalias 'cider-ensure-connected #[0 "\300\301!\207" [sesman-ensure-session CIDER] 2 (#$ . 2411)]) #@78 Return server buffer for SESSION or nil if there is no server. (fn SESSION) (defalias 'cider--session-server #[257 "\300\301A\"\207" [seq-some #[257 "\300\301\"\207" [buffer-local-value nrepl-server-buffer] 4 "\n\n(fn R)"]] 4 (#$ . 2557)]) #@48 Gather all params for a SESSION. (fn SESSION) (defalias 'cider--gather-session-params #[257 "\300A\211\203\211@\301\"\262A\266\202\202\210\302!\211\203$\301\"\262\210\207" [nil cider--gather-connect-params cider--session-server] 7 (#$ . 2806)]) #@172 Gather all relevant connection parameters into PARAMS plist. PROC-BUFFER is either server or client buffer, defaults to current buffer. (fn &optional PARAMS PROC-BUFFER) (defalias 'cider--gather-connect-params #[512 "\211\206pr\211q\210\204\306\307!\210\310!\203\211\202 \211:\2034\311@A@#\262\211AA\262\202\210\311\312\n#\262\313!\203O\311\211\314\315!#\316 #\262\310!\204k\311\211\211\211\317\f#\320 #\321#\322#\262\262)\207" [nrepl-endpoint nrepl-server-buffer nrepl-project-dir nrepl-server-command cider-session-name cider-repl-type error "This is not a REPL or SERVER buffer; is there an active REPL?" nrepl-server-p plist-put :project-dir buffer-live-p :server get-buffer-process :server-command :session-name :repl-type :cljs-repl-type :repl-init-function cider-cljs-repl-type cider-repl-init-function] 11 (#$ . 3073)]) #@73 Close the BUFFER and kill its associated process (if any). (fn BUFFER) (defalias 'cider--close-buffer #[257 "\300!\205\301!\211\203\302!\203\303!\210\210\304!\207" [buffer-live-p get-buffer-process process-live-p delete-process kill-buffer] 4 (#$ . 3945)]) #@145 Close connection associated with REPL. When NO-KILL is non-nil stop the connection but don't kill the REPL buffer. (fn REPL &optional NO-KILL) (defalias 'cider--close-connection #[513 "\304!\203^rq\210\203\305 \210 \203\306 !\210\211\203'\307\310\311!!\312\313#\210)\311!\314!\203E\n\203=\314\311\n!!\203E\315!\210\316!\210\210 \205M\317!\211\203U\320!\210\210\211\204^\320!\210\205j\321\322\323?\313%\207" [spinner-current nrepl-tunnel-buffer nrepl-server-buffer nrepl-log-messages buffer-live-p spinner-stop cider--close-buffer plist-put process-plist get-buffer-process :keep-server t process-live-p nrepl-sync-request:close delete-process nrepl-messages-buffer kill-buffer sesman-remove-object CIDER nil] 8 (#$ . 4221)]) #@241 Emit a warning to the REPL and link to the online manual. SECTION-ID is the section to link to. The link is added on the last line. FORMAT is a format string to compile with ARGS and display on the REPL. (fn SECTION-ID FORMAT &rest ARGS) (defalias 'cider-emit-manual-warning #[642 "\300\301#\302\303\304\305\306 \"\307\260!\207" [apply format cider-repl-emit-interactive-stderr "WARNING: " " (" cider--manual-button "More information" ")\n"] 11 (#$ . 4981)]) #@55 Check whether we're using a compatible nREPL version. (defalias 'cider--check-required-nrepl-version #[0 "\301 \211\205\302\"\205\303\304\305#\207" [cider-required-nrepl-version cider--nrepl-version version< cider-emit-manual-warning "troubleshooting.html#warning-saying-you-have-to-use-newer-nrepl" "CIDER requires nREPL %s (or newer) to work properly"] 5 (#$ . 5453)]) #@70 Ensure that we are meeting the minimum supported version of Clojure. (defalias 'cider--check-clojure-version-supported #[0 "\301 \211\205\302\"\205\303\304\305$\207" [cider-minimum-clojure-version cider--clojure-version version< cider-emit-manual-warning "basics/installation.html#prerequisites" "Clojure version (%s) is not supported (minimum %s). CIDER will not work."] 6 (#$ . 5837)]) #@136 Strips everything but major.minor from the version, returning a version list. V is the version string to strip the patch from. (fn V) (defalias 'cider--strip-version-patch #[257 "\300\301!\302\"\207" [seq-take version-to-list 2] 4 (#$ . 6240)]) #@433 Checks that the available middleware version is compatible with the required. We look only at the major and minor components. When the major version is 0, only check that the minor versions match. When the major version is > 0, first check that the major version matches, then that the minor version is >= the required minor version. VER the 'installed' version, REQUIRED-VER the version required by cider. (fn REQUIRED-VER VER) (defalias 'cider--compatible-middleware-version-p #[514 "\300!\300!\211@\301U\203\211A@A@U\207\211@@U\205!\302\"\207" [cider--strip-version-patch 0 version-list-<=] 7 (#$ . 6494)]) #@220 CIDER frontend/backend compatibility check. Retrieve the underlying connection's CIDER-nREPL version and checks if the middleware used is compatible with CIDER. If not, will display a warning message in the REPL area. (defalias 'cider--check-middleware-compatibility #[0 "\302\303\304 \"\305\306\"\211\204\307\310\311\"\207\312\"?\205!\307\310\313 %\207" [cider-required-middleware-version cider-version nrepl-aux-info "cider-version" cider-current-repl nrepl-dict-get "version-string" cider-emit-manual-warning "troubleshooting.html#cider-complains-of-the-cider-nrepl-version" "CIDER requires cider-nrepl to be fully functional. Some features will not be available without it!" cider--compatible-middleware-version-p "CIDER %s requires cider-nrepl %s, but you're currently using cider-nrepl %s. The version mismatch might break some functionality!"] 8 (#$ . 7123)]) #@40 Subscribe to the nREPL server's *out*. (defalias 'cider--subscribe-repl-to-server-out #[0 "\300\301\302p!\"\207" [cider-nrepl-send-request ("op" "out-subscribe") cider-interactive-eval-handler] 4 (#$ . 8005)]) #@82 Enable CIDER's minor mode on existing Clojure buffers. See command `cider-mode'. (defalias 'cider-enable-on-existing-clojure-buffers #[0 "\301\302\303\"\210\304 \211\205$\211@r\211q\210\303\305!\210\203\306 \210)A\266\202\202\207" [global-eldoc-mode add-hook clojure-mode-hook cider-mode cider-util--clojure-buffers 1 turn-on-eldoc-mode] 4 (#$ . 8221) nil]) #@80 Disable command `cider-mode' and related commands on existing Clojure buffers. (defalias 'cider-disable-on-existing-clojure-buffers #[0 "\300 \211\205\211@r\211q\210\301\302!\210\303\302!\210)A\266\202\202\207" [cider-util--clojure-buffers cider--debug-mode -1 cider-mode] 4 (#$ . 8592) nil]) #@94 Disable command `cider-mode' on existing Clojure buffers when all CIDER sessions are closed. (defalias 'cider-possibly-disable-on-existing-clojure-buffers #[0 "\300 ?\205\301 \207" [cider-sessions cider-disable-on-existing-clojure-buffers] 1 (#$ . 8896)]) #@156 Handle CIDER initialization after nREPL connection has been established. This function is appended to `nrepl-connected-hook' in the client process buffer. (defalias 'cider--connected-handler #[0 "\302\303 !\210\304p\305\")\207" [cider-enlighten-mode cider-repl-type nil cider-set-repl-type cider-repl-init #[0 "\303 \203\304 \210\305 \210\306 \210\203\307\310!\203\311 \210\312 \210 \203% \210\n\203,\313 \210\314\315!\207" [cider-redirect-server-output-to-repl cider-repl-init-function cider-auto-mode cider-runtime-clojure-p cider--check-required-nrepl-version cider--check-clojure-version-supported cider--check-middleware-compatibility cider-nrepl-op-supported-p "out-subscribe" cider--subscribe-repl-to-server-out cider--debug-init-connection cider-enable-on-existing-clojure-buffers run-hooks cider-connected-hook] 2]] 3 (#$ . 9161)]) #@142 Cleanup after nREPL connection has been lost or closed. This function is appended to `nrepl-disconnected-hook' in the client process buffer. (defalias 'cider--disconnected-handler #[0 "\300 \210\301\302!\207" [cider-possibly-disable-on-existing-clojure-buffers run-hooks cider-disconnected-hook] 2 (#$ . 10020)]) #@52 Retrieve the underlying connection's Java version. (defalias 'cider--java-version #[0 "r\301 q\210\205\302\211\303\"\304\")\207" [nrepl-versions cider-current-repl nrepl-dict-get "java" "version-string"] 4 (#$ . 10339)]) #@55 Retrieve the underlying connection's Clojure version. (defalias 'cider--clojure-version #[0 "r\301 q\210\205\302\211\303\"\304\")\207" [nrepl-versions cider-current-repl nrepl-dict-get "clojure" "version-string"] 4 (#$ . 10570)]) #@53 Retrieve the underlying connection's nREPL version. (defalias 'cider--nrepl-version #[0 "r\301 q\210\205\302\211\303\"\304\")\207" [nrepl-versions cider-current-repl nrepl-dict-get "nrepl" "version-string"] 4 (#$ . 10810)]) #@56 Retrieve the underlying connection's Babashka version. (defalias 'cider--babashka-version #[0 "r\301 q\210\205 \302\303\")\207" [nrepl-versions cider-current-repl nrepl-dict-get "babashka"] 3 (#$ . 11044)]) #@62 Retrieve the underlying connection's babashka.nrepl version. (defalias 'cider--babashka-nrepl-version #[0 "r\301 q\210\205 \302\303\")\207" [nrepl-versions cider-current-repl nrepl-dict-get "babashka.nrepl"] 3 (#$ . 11260)]) #@41 Return the runtime of the nREPl server. (defalias 'cider-runtime #[0 "\300 \203\301\207\302 \203\303\207\304\207" [cider--clojure-version clojure cider--babashka-version babashka generic] 1 (#$ . 11494)]) #@42 Check if the current runtime is Clojure. (defalias 'cider-runtime-clojure-p #[0 "\300 \301=\207" [cider-runtime clojure] 2 (#$ . 11709)]) #@281 Return info about CONNECTION-BUFFER. Info contains project name, current REPL namespace, host:port endpoint and runtime details. When GENERICP is non-nil, don't provide specific info about this buffer (like variable `cider-repl-type'). (fn CONNECTION-BUFFER &optional GENERICP) (defalias 'cider--connection-info #[513 "rq\210\303 \2033\304\305\203\306\202\307!\310P\226\311 !\206 \312\313\n\314\"\313\n\315\"\316 \303 \317 &\202\200\320 \203`\304\321\203B\306\202H\307!\310P\226\311 !\206O\312\313\n\314\"\313\n\315\"\320 \322 &\202\200\304\323\203j\306\202p\307!\310P\226\311 !\206w\312\313\n\314\"\313\n\315\"%)\207" [cider-repl-type nrepl-project-dir nrepl-endpoint cider--clojure-version format "%s%s@%s:%s (Java %s, Clojure %s, nREPL %s)" "" symbol-name " " cider--project-name "" plist-get :host :port cider--java-version cider--nrepl-version cider--babashka-version "%s%s@%s:%s (Babashka %s, babashka.nrepl %s)" cider--babashka-nrepl-version "%s%s@%s:%s"] 11 (#$ . 11854)]) #@105 Quit the CIDER connection associated with REPL. REPL defaults to the current REPL. (fn &optional REPL) (defalias 'cider-quit #[256 "\211\206\300\301!\206\302\303\304\"\305!\266\306 \204\307 \210\310\311!\207" [sesman-browser-get object cider-current-repl nil ensure cider--close-connection cider-sessions cider-close-ancillary-buffers run-hooks sesman-post-command-hook] 4 (#$ . 12880) nil]) #@229 Restart CIDER connection associated with REPL. REPL defaults to the current REPL. Don't restart the server or other connections within the same session. Use `sesman-restart' to restart the entire session. (fn &optional REPL) (defalias 'cider-restart #[256 "\211\206\300\301!\206\302\303\304\"\305\211\306\303\"\307\310\311\"#\312#\313\314\"\210\315!\210\316\317!\207" [sesman-browser-get object cider-current-repl nil ensure plist-put cider--gather-connect-params :session-name sesman-session-name-for-object CIDER :repl-buffer cider--close-connection no-kill cider-nrepl-connect run-hooks sesman-post-command-hook] 9 (#$ . 13288) nil]) #@51 Close buffers that are shared across connections. (defalias 'cider-close-ancillary-buffers #[0 "\211\205\211@\301!\203\302!\210A\266\202\202\207" [cider-ancillary-buffers get-buffer kill-buffer] 4 (#$ . 13944) nil]) #@120 Display information about the connection associated with REPL. REPL defaults to the current REPL. (fn &optional REPL) (defalias 'cider-describe-connection #[256 "\211\206\300\301!\206\302\303\304\"\305\306\307!\"\207" [sesman-browser-get object cider-current-repl nil ensure message "%s" cider--connection-info] 6 (#$ . 14177) nil]) (defconst cider-nrepl-session-buffer "*cider-nrepl-session*") #@28 Describe an nREPL session. (defalias 'cider-describe-nrepl-session #[0 "\301 \210\302\303\304\"\305\306\307!\"\211\205b\211\310\232?\205b\311!\312\313\314\"!\313\315\"\211\316 \232\2030\317\202<\211\320 \232\203;\321\202<\322r\323\324\303\325$q\210\326\327!\210\330\331\"\330\332\"\330\333!\261\210\334\335\"\210)\266\336!\207" [cider-nrepl-session-buffer cider-ensure-connected cider-current-repl nil ensure completing-read "Describe nREPL session: " nrepl-sessions "" nrepl-sync-request:describe nrepl-dict-keys nrepl-dict-get "ops" "session" cider-nrepl-eval-session "Active eval" cider-nrepl-tooling-session "Active tooling" "Unknown" cider-popup-buffer select ancillary read-only-mode -1 format "Session: %s\n" "Type: %s session\n" "Supported ops:\n" mapc #[257 "\300\301\"c\207" [format " * %s\n"] 4 "\n\n(fn OP)"] display-buffer] 11 (#$ . 14584) nil]) #@35 List the loaded nREPL middleware. (defalias 'cider-list-nrepl-middleware #[0 "\300 \210\301\302\303\"\304!r\305\306\307\302\310$q\210\311\312!\210\313\314!c\210\315\316\"\210)\317\306!\207" [cider-ensure-connected cider-current-repl nil ensure nrepl-middleware cider-popup-buffer "*cider-nrepl-middleware*" select ancillary read-only-mode -1 format "Currently loaded middleware:\n" mapc #[257 "\300\301\"c\207" [format " * %s\n"] 4 "\n\n(fn MW)"] display-buffer] 7 (#$ . 15468) nil]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\207" [cl-generic-define-method sesman-project nil ((_system (eql CIDER))) #[257 "\300\301 !\207" [clojure-project-dir cider-current-dir] 3 "Find project directory.\n\n(fn SYSTEM)"] sesman-more-relevant-p ((_system (eql CIDER)) session1 session2) #[771 "\300AA\"\207" [sesman-more-recent-p] 6 "Figure out if SESSION1 or SESSION2 is more relevant.\n\n(fn SYSTEM SESSION1 SESSION2)"] sesman-friendly-session-p ((_system (eql CIDER)) session) #[514 "\211\302\303A\"\241\210\211A@\211\205\304!\211\205\305\306 \206!C\211\242\205\227\307\242\310\311\312#)\266\203\203L\313\314\315\316!\206>\317!!\320\321\242\311\211%\240\266\322!\205\227\323\324\"\206irq\210\325 )\326\324#\210\211\262\323\327\"\206\204\330\331\332\333\302\334\"\"\"\326\327#\210\211\262\335\336\337\"\"\206\225\335\336\340\"\"\266\202\207" [default-directory inhibit-changing-match-data seq-filter buffer-live-p get-buffer-process file-truename buffer-file-name "#uzip" nil t string-match directory-file-name expand-file-name getenv "AVFSBASE" "~/.avfs/" replace-regexp-in-string "" process-live-p process-get :cached-classpath cider-classpath-entries process-put :cached-classpath-roots seq-remove null mapcar file-name-directory #[257 "\301\302\303\304#)\266\203?\207" [inhibit-changing-match-data "\\.jar$" nil t string-match] 8 "\n\n(fn PATH)"] seq-find make-closure #[257 "\301\300\242\"\207" [V0 string-prefix-p] 4 "\n\n(fn PATH)"] #[257 "\301\300\242\"\207" [V0 string-prefix-p] 4 "\n\n(fn PATH)"]] 13 "Check if SESSION is a friendly session.\n\n(fn SYSTEM SESSION)"]] 6) #@47 Map active on REPL objects in sesman browser. (defvar cider-sesman-browser-map (byte-code "\300 \301\302\303#\210\301\304\303#\210\301\305\306#\210\301\307\310#\210\301\311\310#\210\301\312\303#\210\301\312\303#\210\301\313\306#\210\301\314\306#\210\301\315\310#\210\301\316\310#\210\301\317\310#\210\207" [make-sparse-keymap define-key "jq" cider-quit "jk" "jr" cider-restart "jd" cider-describe-connection "ji" "" "" [3 134217842] "" [3 134217828] " "] 5) (#$ . 17650)) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\300\313\302\314\302\315%\207" [cl-generic-define-method sesman-session-info nil ((_system (eql CIDER)) session) #[514 "\301A\302F\207" [cider-sesman-browser-map :objects :map] 6 "Obtain info for a CIDER SESSION.\n\n(fn SYSTEM SESSION)"] sesman-start-session ((_system (eql CIDER))) #[257 "\300\301!\207" [call-interactively cider] 3 "Start a connection of any type interactively.\nFallback on `cider' command.\n\n(fn SYSTEM)"] sesman-quit-session ((_system (eql CIDER)) session) #[514 "\300\301A\"\210\302 ?\205\303 \207" [mapc cider--close-connection cider-sessions cider-close-ancillary-buffers] 5 "Quit a CIDER SESSION.\n\n(fn SYSTEM SESSION)"] sesman-restart-session ((_system (eql CIDER)) session) #[514 "\211@A\300!\211\203*\301\302\"\303\304\"\210\305!\210\306\307\310\"\307\311\"\312\313##\207\211\205M\211@\314\315\"\210\316\317\211\301\302\"\320 #\321#!\210A\266\202\202+\207" [cider--session-server cider--gather-connect-params nil mapc #[257 "\300\301\"\207" [cider--close-connection no-kill] 4 "\n\n(fn CONN)"] nrepl-kill-server-buffer nrepl-start-server-process plist-get :project-dir :server-command make-closure #[257 "\301\211\203\"\211@\302\303\211\304\211\305\"\"\306\300#\307#!\210A\266\202\202\210\310\311!\210\312\313\300\"\207" [V0 V1 cider-nrepl-connect plist-put cider--gather-connect-params nil :session-name :repl-buffer sesman-browser-revert-all CIDER message "Restarted CIDER %s session"] 10 "\n\n(fn SERVER-BUF)"] cider--close-connection no-kill cider-nrepl-connect plist-put :session-name :repl-buffer] 13 "Restart a CIDER SESSION.\n\n(fn SYSTEM SESSION)"]] 6) #@544 Format PARAMS with TEMPLATE string. The following formats can be used in TEMPLATE string: %h - host %H - remote host, empty for local hosts %p - port %j - short project name, or directory name if no project %J - long project name including parent dir name %r - REPL type (clj or cljs) %S - type of the ClojureScript runtime (Browser, Node, Figwheel etc.) %s - session name as defined by `cider-session-name-template'. In case some values are empty, extra separators (: and -) are automatically removed. (fn TEMPLATE PARAMS) (defalias 'cider-format-connection-params #[514 "\302\303\304\305\"\206\306\307 !\206!!\310\302!!\3111)\312\310\302\313!!!!0\202+\210\314\315\316\2062\317#GGY\203@\202AGGY\203M\202N\304\320\"\206W\317\304\321\"\206`\322\211\323\235\203j\317\202k\211\304\n\324\"\206t\325\211\326=\203\202\304 \327\"\206\203\317\330B\331B\332B\333\nB\334\nB\335B\336B\257\304 \337\"\206\253\340 \"\341\342BC\"\343\344\345\343\346\317\343\347\345\340 \"###\207" [default-directory cider-session-name-template directory-file-name abbreviate-file-name plist-get :project-dir clojure-project-dir cider-current-dir file-name-nondirectory (error) file-name-as-directory file-name-directory nil format "%s%s" "" :port :host "localhost" ("localhost" "127.0.0.1") :repl-type "unknown" cljs :cljs-repl-type 104 72 112 106 74 114 83 :session-name format-spec append 115 replace-regexp-in-string "[:-]\\([])*]\\)" "\\1" "\\(^[:-]\\)\\|\\([:-]$\\)" "\\([:-]\\)[:-]+"] 28 (#$ . 19875)]) #@139 Create new session name given plist of connection PARAMS. Session name can be customized with `cider-session-name-template'. (fn PARAMS) (defalias 'cider-make-session-name #[257 "\301\"\302\303\304\305!\"\306\235\203!\307\310!Q\262\211T\262\202\f\207" [cider-session-name-template cider-format-connection-params mapcar car sesman-sessions CIDER 2 "#" number-to-string] 9 (#$ . 21437)]) #@71 The type of the ClojureScript runtime (Browser, Node, Figwheel, etc.) (defvar cider-cljs-repl-type nil (#$ . 21842)) (make-variable-buffer-local 'cider-cljs-repl-type) #@59 The type of this REPL buffer, usually either clj or cljs. (defvar cider-repl-type nil (#$ . 22016)) (make-variable-buffer-local 'cider-repl-type) #@43 Get REPL-BUFFER's type. (fn REPL-BUFFER) (defalias 'cider-repl-type #[257 "\300\301\"\207" [buffer-local-value cider-repl-type] 4 (#$ . 22168)]) #@275 Return the matching connection type (clj or cljs) for BUFFER. BUFFER defaults to the `current-buffer'. In cljc buffers return multi. This function infers connection type based on the major mode. For the REPL type use the function `cider-repl-type'. (fn &optional BUFFER) (defalias 'cider-repl-type-for-buffer #[256 "r\211\206pq\210\301\302!\203\303\202'\301\304!\203\305\202'\301\306!\203&\307\202')\207" [cider-repl-type derived-mode-p clojurescript-mode cljs clojurec-mode multi clojure-mode clj] 3 (#$ . 22322)]) #@94 Set REPL TYPE to clj or cljs. Assume that the current buffer is a REPL. (fn &optional TYPE) (defalias 'cider-set-repl-type #[256 "\304\206\f\305\306\307\"\310\"!\232\203 ?\205A\211\306\311\"\312 \313\314\315!!\210\313\316!!\210\n\205? \205?r q\210\313\317!!)\262\207" [cider-repl-type mode-name nrepl-log-messages nrepl-messages-buffer cider-maybe-intern completing-read format "Set REPL type (currently `%s') to: " (clj cljs) "REPL[%s]" cider--gather-connect-params rename-buffer generate-new-buffer-name "*dummy-cider-repl-buffer*" nrepl-repl-buffer-name nrepl-messages-buffer-name] 6 (#$ . 22858) nil]) #@280 Find connection-less REPL buffer and ask the user for confirmation. Return nil if no such buffers exists or the user has chosen not to reuse the buffer. If multiple dead REPLs exist, ask the user to choose one. PARAMS is a plist as received by `cider-repl-create'. (fn PARAMS) (defalias 'cider--choose-reusable-repl-buffer #[257 "\300\301\302 \"\211\205g\303\304\"\303\305\"\303\306\"\303\307\"\310>\311\312\313\314\315%\"\"\211\205e\211G\316V\203U\317\320!\205e\321\322\"\323\324\325\313\326\"\312\327\312\211@@&!\207\317\330\331@@\"!\205e\323@@!\266\205\207" [seq-filter #[257 "r\211q\210\300\301!\205\302\303!!?)\207" [derived-mode-p cider-repl-mode process-live-p get-buffer-process] 4 "\n\n(fn B)"] buffer-list plist-get :project-dir :host :port :repl-type (cljs pending-cljs) delq nil mapcar make-closure #[257 "\304\305\"\303\306\307\"\310>=\205?\311!\300\306\312\"\232\203\313\202 \314\301\306\315\"\232\203-\316\202.\314\\\302\306\317\"\232\203<\320\202=\314\\B\207" [V0 V1 V2 V3 cider--gather-connect-params nil plist-get :repl-type (cljs pending-cljs) buffer-name :project-dir 8 0 :host 4 :port 2] 8 "\n\n(fn B)"] 1 y-or-n-p "Dead REPLs exist. Reuse? " seq-sort #[514 "AAV\207" [] 4 "\n\n(fn A B)"] get-buffer completing-read "REPL to reuse: " car t format "A dead REPL %s exists. Reuse? "] 17 (#$ . 23488)]) (defvar cider-session-name nil nil) (make-variable-buffer-local 'cider-session-name) (defvar cider-repl-init-function nil nil) (make-variable-buffer-local 'cider-repl-init-function) (defvar cider-launch-params nil nil) (make-variable-buffer-local 'cider-launch-params) #@304 Create new repl buffer. PARAMS is a plist which contains :repl-type, :host, :port, :project-dir, :repl-init-function and :session-name. When non-nil, :repl-init-function must be a function with no arguments which is called after repl creation function with the repl buffer set as current. (fn PARAMS) (defalias 'cider-repl-create #[257 "\306\307\"\206\310!\206\311\312\313!!\306\314\"\206\315!rq\210\316\300!\210\317\316\301!\210\306\320\"\2062 \321\317\322$\210\323\324!\204C\324 \210\325\326\211\306\320\"\306\327\"\"\306\330\"#$\331 \210\332\333\334\326\335$\210\332\336\337\326\335$\210\332\340\341\326\335$\210p)\207" [sesman-system default-directory nrepl-err-handler mode-name cider-session-name nrepl-project-dir plist-get :repl-buffer cider--choose-reusable-repl-buffer get-buffer-create generate-new-buffer-name "*cider-uninitialized-repl*" :session-name cider-make-session-name make-local-variable CIDER :project-dir sesman-add-object allow-new derived-mode-p cider-repl-mode cider-default-err-handler nil :repl-type :repl-init-function cider-repl-reset-markers add-hook nrepl-response-handler-functions cider-repl--state-handler local nrepl-connected-hook cider--connected-handler nrepl-disconnected-hook cider--disconnected-handler cider-repl-type cider-repl-init-function cider-launch-params] 8 (#$ . 25133)]) #@60 Throw "No REPL" user error customized for TYPE. (fn TYPE) (defalias 'cider--no-repls-user-error #[257 "\211\300=\204\f\211\301=\203\302\202\211<\203\303\304\305#\202\211\306\307\310\311!@#\207" [multi any "clj or cljs" mapconcat identity " or " user-error "No %s REPLs in current session \"%s\"" sesman-current-session CIDER] 7 (#$ . 26494)]) #@308 Get the most recent REPL of TYPE from the current session. TYPE is either clj, cljs, multi or any. When nil, infer the type from the current buffer. If ENSURE is non-nil, throw an error if either there is no linked session or there is no REPL of TYPE within the current session. (fn &optional TYPE ENSURE) (defalias 'cider-current-repl #[512 "\301!\302\303!\203\211\203\211\304=\204=\203p\207\211\206!\305 \306\"\211G\307X\2031\211@\2029\310\311\312\"\313 \"\203E\211\204E\314!\207\207" [cider-repl-type cider-maybe-intern derived-mode-p cider-repl-mode any cider-repl-type-for-buffer cider-repls 1 seq-find make-closure #[257 "\211\300\235\207" [V0] 3 "\n\n(fn B)"] buffer-list cider--no-repls-user-error] 9 (#$ . 26856)]) #@70 Return non-nil if TYPE matches BUFFER's REPL type. (fn TYPE BUFFER) (defalias 'cider--match-repl-type #[514 "\300!\211\204 \301\207\203\302=\204\303=\203\304\207<\203$\211\235\207\230\207" [cider-repl-type nil multi any t] 5 (#$ . 27608)]) #@270 Return cider REPLs of TYPE from the current session. If TYPE is nil or multi, return all REPLs. If TYPE is a list of types, return only REPLs of type contained in the list. If ENSURE is non-nil, throw an error if no linked session exists. (fn &optional TYPE ENSURE) (defalias 'cider-repls #[512 "<\203\f\300\301\"\202\301!\203\302\303!\202\304\303!A\305\306\307\"\"\206.\205.\310!\207" [mapcar cider-maybe-intern sesman-ensure-session CIDER sesman-current-session seq-filter make-closure #[257 "\301\300\"\207" [V0 cider--match-repl-type] 4 "\n\n(fn B)"] cider--no-repls-user-error] 8 (#$ . 27872)]) #@731 Call FUNCTION once for each appropriate REPL as indicated by WHICH. The function is called with one argument, the REPL buffer. The appropriate connections are found by inspecting the current buffer. WHICH is one of the following keywords: :auto - Act on the connections whose type matches the current buffer. In `cljc' files, mapping happens over both types of REPLs. :clj (:cljs) - Map over clj (cljs)) REPLs only. :clj-strict (:cljs-strict) - Map over clj (cljs) REPLs but signal a `user-error' in `clojurescript-mode' (`clojure-mode'). Use this for commands only supported in Clojure (ClojureScript). Error is signaled if no REPL buffers of specified type exist in current session. (fn WHICH FUNCTION) (defalias 'cider-map-repls #[514 "\300 \301\267\202\211\302=\203\303\304!\210\202\211\305=\203\303\306!\210\307\267\202;\305\202<\302\202<\211\310=\2037\311\202<\211\202<\312\313=\203F\312\202G\314\315\"\316\"\207" [cider-repl-type-for-buffer #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:clj-strict 8 :cljs-strict 21)) cljs user-error "Clojure-only operation requested in a ClojureScript buffer" clj "ClojureScript-only operation requested in a Clojure buffer" #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:clj 37 :clj-strict 37 :cljs 41 :cljs-strict 41 :auto 45)) multi (clj cljs) nil :auto ensure cider-repls mapcar] 9 (#$ . 28500)]) (byte-code "\300\301\302\303#\304\305\306\"\210\304\307\310\"\210\304\311\301\"\210\304\312\313\"\210\304\314\306\315#\210\316\314\306\317#\210\304\320\310\315#\210\316\320\310\317#\210\304\321\322\315#\210\316\321\322\317#\210\304\323\324\315#\210\316\323\324\317#\210\304\325\326\315#\210\316\325\326\317#\210\327\330!\207" [function-put cider-map-repls lisp-indent-function 1 defalias cider-current-connection cider-current-repl cider-connections cider-repls cider-map-connections cider-connection-type-for-buffer cider-repl-type-for-buffer cider-current-repl-buffer nil make-obsolete "0.18" cider-repl-buffers cider-current-session cider-nrepl-eval-session cider-current-tooling-session cider-nrepl-tooling-session nrepl-connection-buffer-name nrepl-repl-buffer-name provide cider-connection] 5)