From 92340a99cc698da92906c5b27d4fb19556eda437 Mon Sep 17 00:00:00 2001 From: Andreas Gerler Date: Wed, 24 Dec 2025 11:59:54 +0100 Subject: [PATCH] update cider --- elpa/bicycle-20250301.1629/bicycle.el | 395 ------------------ elpa/bug-hunter-1.3.1/bug-hunter-autoloads.el | 1 + .../cider-apropos.el | 0 .../cider-autoloads.el | 24 +- .../cider-browse-ns.el | 0 .../cider-browse-spec.el | 0 .../cider-cheatsheet.el | 0 .../cider-classpath.el | 0 .../cider-client.el | 78 ++-- .../cider-clojuredocs.el | 0 .../cider-common.el | 0 .../cider-completion-context.el | 0 .../cider-completion.el | 0 .../cider-connection.el | 49 ++- .../cider-debug.el | 0 .../cider-doc.el | 0 .../cider-docstring.el | 0 .../cider-eldoc.el | 0 .../cider-eval.el | 8 +- .../cider-find.el | 0 .../cider-format.el | 0 .../cider-inspector.el | 200 ++++----- .../cider-jar.el | 0 .../cider-log.el | 2 +- .../cider-macroexpansion.el | 0 .../cider-mode.el | 4 +- .../cider-ns.el | 12 +- .../cider-overlays.el | 0 .../cider-pkg.el | 6 +- .../cider-popup.el | 0 .../cider-profile.el | 0 .../cider-repl-history.el | 0 .../cider-repl.el | 4 +- .../cider-resolve.el | 0 .../cider-scratch.el | 0 .../cider-selector.el | 0 .../cider-stacktrace.el | 0 .../cider-test.el | 0 .../cider-tracing.el | 3 +- .../cider-util.el | 10 +- .../cider-xref-backend.el | 0 .../cider-xref.el | 0 .../cider.el | 102 +++-- .../nrepl-client.el | 19 +- .../nrepl-dict.el | 0 45 files changed, 273 insertions(+), 644 deletions(-) delete mode 100644 elpa/bicycle-20250301.1629/bicycle.el rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-apropos.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-autoloads.el (97%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-browse-ns.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-browse-spec.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-cheatsheet.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-classpath.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-client.el (94%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-clojuredocs.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-common.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-completion-context.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-completion.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-connection.el (96%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-debug.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-doc.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-docstring.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-eldoc.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-eval.el (99%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-find.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-format.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-inspector.el (82%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-jar.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-log.el (99%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-macroexpansion.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-mode.el (99%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-ns.el (97%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-overlays.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-pkg.el (87%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-popup.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-profile.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-repl-history.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-repl.el (99%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-resolve.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-scratch.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-selector.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-stacktrace.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-test.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-tracing.el (97%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-util.el (98%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-xref-backend.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider-xref.el (100%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/cider.el (96%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/nrepl-client.el (99%) rename elpa/{cider-20250520.1110 => cider-20251105.925}/nrepl-dict.el (100%) diff --git a/elpa/bicycle-20250301.1629/bicycle.el b/elpa/bicycle-20250301.1629/bicycle.el deleted file mode 100644 index e1e339bd..00000000 --- a/elpa/bicycle-20250301.1629/bicycle.el +++ /dev/null @@ -1,395 +0,0 @@ -;;; bicycle.el --- Cycle outline and code visibility -*- lexical-binding:t -*- - -;; Copyright (C) 2018-2025 Jonas Bernoulli - -;; Author: Jonas Bernoulli -;; Homepage: https://github.com/tarsius/bicycle -;; Keywords: outlines - -;; Package-Version: 20250301.1629 -;; Package-Revision: 530eb666ebaf -;; Package-Requires: ((emacs "26.1") (compat "30.0.2.0")) - -;; SPDX-License-Identifier: GPL-3.0-or-later - -;; This file is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published -;; by the Free Software Foundation, either version 3 of the License, -;; or (at your option) any later version. -;; -;; This file is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. -;; -;; You should have received a copy of the GNU General Public License -;; along with this file. If not, see . - -;;; Commentary: - -;; This package provides commands for cycling the visibility of -;; outline sections and code blocks. These commands are intended to -;; be bound in `outline-minor-mode-map' and do most of the work using -;; functions provided by the `outline' package. - -;; This package is named `bicycle' because it can additionally make -;; use of the `hideshow' package. - -;; If `hs-minor-mode' is enabled and point is at the start of a code -;; block, then `hs-toggle-hiding' is used instead of some `outline' -;; function. When you later cycle the visibility of a section that -;; contains code blocks (which is done using `outline' functions), -;; then code block that have been hidden using `hs-toggle-hiding', -;; are *not* extended. - -;; A reasonable configuration could be: -;; -;; (use-package bicycle -;; :after outline -;; :bind (:map outline-minor-mode-map -;; ([C-tab] . bicycle-cycle) -;; ([S-tab] . bicycle-cycle-global))) -;; -;; (use-package prog-mode -;; :config -;; (add-hook 'prog-mode-hook #'outline-minor-mode) -;; (add-hook 'prog-mode-hook #'hs-minor-mode)) - -;;; Code: - -(require 'compat) - -(require 'hideshow) -(require 'outline) - -(defvar-local outline-code-level 1000) - -;;; Options - -(defgroup bicycle nil - "Cycle outline and code visibility." - :group 'hideshow - :group 'outlines) - -(defcustom bicycle-echo-state t - "Whether to echo the name of the new state while cycling." - :package-version '(bicycle . "0.1.0") - :group 'bicycle - :type 'boolean) - -;;; Commands - -;;;###autoload -(defun bicycle-cycle (&optional global) - "Cycle local or global visibility. - -With a prefix argument call `bicycle-cycle-global'. -Without a prefix argument call `bicycle-cycle-local'." - (interactive "P") - (if global - (bicycle-cycle-global) - (bicycle-cycle-local))) - -;;;###autoload -(defun bicycle-cycle-global () - "Cycle visibility of all sections. - -1. OVERVIEW: Show only top-level headings. - -\(2. There is no equivalent of `bicycle-cycle-local's - CHILDREN state.) - -3. TOC: Recursively show all headings, - without treating code blocks as sections. - -4. TREES: Recursively show all headings, - treating code blocks as sections - (i.e., their first line is treated as a heading). - -5. ALL: Show everything, including code blocks, - empty lines and comments. - However, do not expand code blocks that were - previously collapsed individually. - -In situations when cycling to a state makes no difference compared -to the previous state, then immediately continue to the next state." - (interactive) - (setq deactivate-mark t) - (save-excursion - (goto-char (point-min)) - (unless (re-search-forward outline-regexp nil t) - (user-error "Found no heading")) - (cond - ((bicycle--maybe-cycle 'outline-cycle-overview 'outline-cycle-toc - (lambda () (and (bicycle--top-level-p) (bicycle--non-code-children-p))) - (lambda () - (bicycle--show-children - (- outline-code-level (bicycle--top-level) 1) - t))) - (bicycle--message "TOC")) - ((bicycle--maybe-cycle 'outline-cycle-toc 'outline-cycle-trees - (lambda () (cdr (bicycle--child-types))) - #'outline-show-branches) - (bicycle--message "TREES")) - ((eq last-command 'outline-cycle-trees) - (outline-show-all) - (bicycle--message "ALL")) - (t - (outline-hide-sublevels (bicycle--level)) - (bicycle--message "OVERVIEW") - (setq this-command 'outline-cycle-overview))))) - -(defun bicycle-cycle-local () - "Cycle visibility of the current section. - -If point is within a code block, then toggle its visibility, -provided `hs-minor-mode' is enabled. Otherwise move to the -previous outline heading. - -If point is in between code blocks, then move to the previous -outline heading. - -If point is within an outline heading line, then rotate the -visibility of that subtree through these four states: - -1. FOLDED: Show only the current heading. - -2. CHILDREN: Show headings of children, - treating top-level code block as sections - (i.e., their first line is treated as a heading). - -3. HEADINGS: Recursively show headings of all subsections, - without treating top-level code blocks as sections. - -3. BRANCHES: Recursively show headings of all subsections, - treating top-level code block as sections - (i.e., their first line is treated as a heading). - -5. SUBTREE: Show the entire subtree, including code blocks, - empty lines and comments. - However, do not expand code blocks that were - previously collapsed individually. - -If the section has no children then toggle between HIDE and SHOW. -This also works for code blocks. This is one way to collapsed a -code block \"individually\", with has the side-effect mentioned -above. - -If the section has no body (not even empty lines), then there is -only one state, EMPTY, and cycling does nothing." - (let ((eol (save-excursion (end-of-visible-line) (point))) - (eoh (save-excursion (outline-end-of-heading) (point))) - (eos (save-excursion (outline-end-of-subtree) (point)))) - (setq deactivate-mark t) - (skip-chars-forward "\s\t") - (cond - ((and hs-minor-mode - (bicycle--code-level-p) - (or (hs-looking-at-block-start-p) - (hs-find-block-beginning))) - (cond - ((outline-invisible-p eoh) - (outline-show-entry) - (hs-life-goes-on - (when (hs-already-hidden-p) - (hs-show-block) - (backward-char)))) - (t - (hs-life-goes-on - (if (hs-already-hidden-p) - (progn - (hs-show-block) - (outline-show-entry)) - (hs-hide-block) - (outline-hide-entry))) - (backward-char)))) - ((save-excursion - (beginning-of-line 1) - (not (outline-on-heading-p t))) - (outline-back-to-heading) - (when (bicycle--code-level-p) - (outline-up-heading 1))) - (t - (outline-back-to-heading) - (cond - ((bicycle--code-level-p) - (outline-toggle-children) - (bicycle--message "CODE")) - ((or (= eos eoh) - (= (1+ eoh) (point-max))) - (outline-show-entry) - (bicycle--message "EMPTY")) - ((null (bicycle--child-types)) - (cond ((outline-invisible-p eoh) - (outline-show-entry) - (bicycle--message "SHOW")) - (t - (outline-hide-entry) - (bicycle--message "HIDE")))) - ((and (>= eol eos) - (not (eq last-command 'outline-cycle-children))) - (bicycle--show-children) - (bicycle--message "CHILDREN") - (setq this-command 'outline-cycle-children)) - ((and (not (derived-mode-p 'outline-mode)) - (bicycle--maybe-cycle - 'outline-cycle-children 'outline-cycle-headings - #'bicycle--non-code-children-p - #'outline-show-children - eoh eos)) - (bicycle--message "HEADINGS")) - ((and (not (derived-mode-p 'outline-mode)) - (bicycle--maybe-cycle - 'outline-cycle-headings 'outline-cycle-branches - (lambda () (not (bicycle--code-level-p))) - #'outline-show-branches - eoh eos)) - (bicycle--message "BRANCHES")) - ((eq last-command 'outline-cycle-branches) - (outline-show-subtree) - (bicycle--message "SUBTREE")) - (t - (outline-hide-subtree) - (bicycle--message "FOLDED"))))))) - -;;; Utilities - -(defun bicycle--maybe-cycle (last-cmd this-cmd pred cycle &optional beg end) - (declare (indent defun)) - (and (eq last-command last-cmd) - (let ((noop t)) - (outline-map-region (lambda () - (when (funcall pred) - (funcall cycle) - (setq noop nil))) - (or beg (point-min)) - (or end (point-max))) - (if noop - (setq last-command this-cmd) - (setq this-command this-cmd)) - (not noop)))) - -(defun bicycle--show-children (&optional level nocode) - "Show all direct subheadings of this heading. -Prefix arg LEVEL is how many levels below the current level -should be shown. Default is enough to cause the following -heading to appear. Unlike for `outline-show-children' code -is not considered to be a sublevel." - (interactive "P") - (if (or level - (derived-mode-p 'outline-mode) - (not (bicycle--non-code-children-p))) - (outline-show-children level) - (let ((start-level (funcall outline-level)) - (eos (save-excursion (outline-end-of-subtree) (point))) - (eoc nil)) - (save-excursion - (outline-back-to-heading) - (while (and (not level) (outline-next-heading)) - (cond - ((eobp) - (setq level 1)) - ((bicycle--code-level-p) - (unless level - (setq eoc (1+ (point))))) - ((not (> (point) eos)) - (setq level (max 1 (- (funcall outline-level) start-level))))))) - (outline-show-children - (or level (max 1 (- outline-code-level start-level)))) - (when (and eoc (not nocode)) - (save-excursion - (outline-back-to-heading) - (outline-end-of-heading) - (outline-map-region #'outline-show-heading (point) eoc)))))) - -(defun bicycle--level () - "Return the depth to which a statement is nested in the outline. -Point must be on a header line (but unlike for `outline-level', -not necessarily at its beginning)." - (and (outline-on-heading-p t) - (save-excursion - (beginning-of-line) - (funcall outline-level)))) - -(defvar-local bicycle--top-level nil) - -(defun bicycle--top-level () - "Return the number identifying the top-level in this buffer. -Ideally this would always be 1, then we would not have to -guess and risk that the guess was wrong, but sadly this -number depends on the regexp used to identify headings." - (or bicycle--top-level - (save-excursion - (save-restriction - (widen) - (goto-char (point-min)) - (let ((min (or (bicycle--level) outline-code-level))) - (while (outline-next-heading) - (setq min (min min (bicycle--level)))) - (setq bicycle--top-level min)))))) - -(defun bicycle--top-level-p () - "Return t if inside the heading of a top-level section." - (let ((lvl (bicycle--level)) - (top (bicycle--top-level))) - (when (< lvl top) - (setq bicycle--top-level nil) - (setq top (bicycle--top-level))) - (= lvl top))) - -(defun bicycle--code-level-p () - "Return t if inside a code block. -On outline headings and in between code blocks, -return nil." - (= (funcall outline-level) outline-code-level)) - -(defun bicycle--non-code-children-p () - "Return t if the current section has subsections." - (catch 'non-code - (save-excursion - (outline-back-to-heading) - (outline-end-of-heading) - (outline-map-region - (lambda () - (and (not (bicycle--code-level-p)) - (throw 'non-code t))) - (point) - (progn (outline-end-of-subtree) - (if (eobp) (point-max) (1+ (point)))))) - nil)) - -(defun bicycle--child-types () - "Indicate what types of children the current section has. -If the current section has no children, then return nil. -Otherwise return (HEADINGS . CODE), where HEADINGS and -CODE are booleans indicating whether the section contains -headings and/or code blocks." - (let (headings code) - (catch 'both - (save-excursion - (outline-back-to-heading) - (outline-end-of-heading) - (outline-map-region - (lambda () - (if (bicycle--code-level-p) - (setq code t) - (setq headings t)) - (when (and headings code) - (throw 'both nil))) - (point) - (progn (outline-end-of-subtree) - (if (eobp) (point-max) (1+ (point))))))) - (and (or headings code) - (cons headings code)))) - -(defun bicycle--message (format-string &rest args) - "Like `message' but if `bicycle-echo-state' is nil then do nothing." - (when bicycle-echo-state - (apply #'message format-string args))) - -;;; _ -(provide 'bicycle) -;; Local Variables: -;; indent-tabs-mode: nil -;; End: -;;; bicycle.el ends here diff --git a/elpa/bug-hunter-1.3.1/bug-hunter-autoloads.el b/elpa/bug-hunter-1.3.1/bug-hunter-autoloads.el index 24044f1a..698f8fff 100644 --- a/elpa/bug-hunter-1.3.1/bug-hunter-autoloads.el +++ b/elpa/bug-hunter-1.3.1/bug-hunter-autoloads.el @@ -1,3 +1,4 @@ +;; -*- lexical-binding: t; -*- ;;; bug-hunter-autoloads.el --- automatically extracted autoloads ;; ;;; Code: diff --git a/elpa/cider-20250520.1110/cider-apropos.el b/elpa/cider-20251105.925/cider-apropos.el similarity index 100% rename from elpa/cider-20250520.1110/cider-apropos.el rename to elpa/cider-20251105.925/cider-apropos.el diff --git a/elpa/cider-20250520.1110/cider-autoloads.el b/elpa/cider-20251105.925/cider-autoloads.el similarity index 97% rename from elpa/cider-20250520.1110/cider-autoloads.el rename to elpa/cider-20251105.925/cider-autoloads.el index a1eb5817..b26b2d28 100644 --- a/elpa/cider-20250520.1110/cider-autoloads.el +++ b/elpa/cider-20251105.925/cider-autoloads.el @@ -63,24 +63,36 @@ server buffer, in which case a new session for that server is created. (fn PARAMS &optional OTHER-REPL)" t) (autoload 'cider-connect-clj "cider" "\ Initialize a Clojure connection to an nREPL server. -PARAMS is a plist optionally containing :host, :port and :project-dir. On -prefix argument, prompt for all the parameters. +PARAMS is a plist optionally containing :host, :port and :project-dir. +If nil, use the default parameters in `cider-connect-default-params'. + +With the prefix argument, prompt for all the parameters regardless of +their supplied or default values. (fn &optional PARAMS)" t) (autoload 'cider-connect-cljs "cider" "\ Initialize a ClojureScript connection to an nREPL server. PARAMS is a plist optionally containing :host, :port, :project-dir and :cljs-repl-type (e.g. 'shadow, 'node, 'figwheel, etc). +If nil, use the default parameters in `cider-connect-default-params' or +`cider-connect-default-cljs-params'. -On prefix, prompt for all the -parameters regardless of their supplied or default values. +With the prefix argument, prompt for all the parameters regardless of +their supplied or default values. (fn &optional PARAMS)" t) (autoload 'cider-connect-clj&cljs "cider" "\ Initialize a Clojure and ClojureScript connection to an nREPL server. PARAMS is a plist optionally containing :host, :port, :project-dir and -:cljs-repl-type (e.g. 'shadow, 'node, 'figwheel, etc). When SOFT-CLJS-START is -non-nil, don't start if ClojureScript requirements are not met. +:cljs-repl-type (e.g. 'shadow, 'node, 'figwheel, etc). +If nil, use the default parameters in `cider-connect-default-params' and +`cider-connect-default-cljs-params'. + +When SOFT-CLJS-START is non-nil, don't start if ClojureScript requirements are +not met. + +With the prefix argument, prompt for all the parameters regardless of +their supplied or default values. (fn PARAMS &optional SOFT-CLJS-START)" t) (autoload 'cider "cider" "\ diff --git a/elpa/cider-20250520.1110/cider-browse-ns.el b/elpa/cider-20251105.925/cider-browse-ns.el similarity index 100% rename from elpa/cider-20250520.1110/cider-browse-ns.el rename to elpa/cider-20251105.925/cider-browse-ns.el diff --git a/elpa/cider-20250520.1110/cider-browse-spec.el b/elpa/cider-20251105.925/cider-browse-spec.el similarity index 100% rename from elpa/cider-20250520.1110/cider-browse-spec.el rename to elpa/cider-20251105.925/cider-browse-spec.el diff --git a/elpa/cider-20250520.1110/cider-cheatsheet.el b/elpa/cider-20251105.925/cider-cheatsheet.el similarity index 100% rename from elpa/cider-20250520.1110/cider-cheatsheet.el rename to elpa/cider-20251105.925/cider-cheatsheet.el diff --git a/elpa/cider-20250520.1110/cider-classpath.el b/elpa/cider-20251105.925/cider-classpath.el similarity index 100% rename from elpa/cider-20250520.1110/cider-classpath.el rename to elpa/cider-20251105.925/cider-classpath.el diff --git a/elpa/cider-20250520.1110/cider-client.el b/elpa/cider-20251105.925/cider-client.el similarity index 94% rename from elpa/cider-20250520.1110/cider-client.el rename to elpa/cider-20251105.925/cider-client.el index 31bd8260..bb3b0852 100644 --- a/elpa/cider-20250520.1110/cider-client.el +++ b/elpa/cider-20251105.925/cider-client.el @@ -170,14 +170,15 @@ nREPL connection." (defun cider-nrepl-op-supported-p (op &optional connection skip-ensure) "Check whether the CONNECTION supports the nREPL middleware OP. Skip check if repl is active if SKIP-ENSURE is non nil." - (nrepl-op-supported-p op (or connection (cider-current-repl nil (if skip-ensure - nil - 'ensure))))) + (nrepl-op-supported-p op (or connection + (cider-current-repl 'infer (if skip-ensure + nil + 'ensure))))) -(defun cider-ensure-op-supported (op) - "Check for support of middleware op OP. +(defun cider-ensure-op-supported (op &optional connection) + "Check for support of middleware op OP for CONNECTION. Signal an error if it is not supported." - (unless (cider-nrepl-op-supported-p op) + (unless (cider-nrepl-op-supported-p op connection) (user-error "`%s' requires the nREPL op \"%s\" (provided by cider-nrepl)" this-command op))) (defun cider-nrepl-send-request (request callback &optional connection tooling) @@ -187,7 +188,9 @@ REQUEST is a pair list of the form (\"op\" \"operation\" \"par1-name\" If CONNECTION is provided dispatch to that connection instead of the current connection. Return the id of the sent message. If TOOLING is truthy then the tooling session is used." - (nrepl-send-request request callback (or connection (cider-current-repl 'any 'ensure)) tooling)) + (nrepl-send-request request callback (or connection + (cider-current-repl 'infer 'ensure)) + tooling)) (defun cider-nrepl-send-sync-request (request &optional connection abort-on-input callback) @@ -199,7 +202,7 @@ at the first sign of user input, so as not to hang the interface. if CALLBACK is non-nil, it will additionally be called on all received messages." (nrepl-send-sync-request request - (or connection (cider-current-repl 'any 'ensure)) + (or connection (cider-current-repl 'infer 'ensure)) abort-on-input nil callback)) @@ -207,7 +210,7 @@ if CALLBACK is non-nil, it will additionally be called on all received messages. (defun cider-nrepl-send-unhandled-request (request &optional connection) "Send REQUEST to the nREPL CONNECTION and ignore any responses. Immediately mark the REQUEST as done. Return the id of the sent message." - (let* ((conn (or connection (cider-current-repl 'any 'ensure))) + (let* ((conn (or connection (cider-current-repl 'infer 'ensure))) (id (nrepl-send-request request #'ignore conn))) (with-current-buffer conn (nrepl--mark-id-completed id)) @@ -219,7 +222,7 @@ If NS is non-nil, include it in the request. LINE and COLUMN, if non-nil, define the position of INPUT in its buffer. ADDITIONAL-PARAMS is a plist to be appended to the request message. CONNECTION is the connection buffer, defaults to (cider-current-repl)." - (let ((connection (or connection (cider-current-repl nil 'ensure))) + (let ((connection (or connection (cider-current-repl 'infer 'ensure))) (eval-buffer (current-buffer))) (run-hooks 'cider-before-eval-hook) (nrepl-request:eval input @@ -238,7 +241,10 @@ buffer, defaults to (cider-current-repl)." (defun cider-nrepl-sync-request:eval (input &optional connection ns) "Send the INPUT to the nREPL CONNECTION synchronously. If NS is non-nil, include it in the eval request." - (nrepl-sync-request:eval input (or connection (cider-current-repl nil 'ensure)) ns)) + (nrepl-sync-request:eval input + (or connection + (cider-current-repl 'infer 'ensure)) + ns)) (defcustom cider-format-code-options nil "A map of options that will be passed to `cljfmt' to format code. @@ -259,23 +265,17 @@ you need to encode it as the following plist: If non-nil, FORMAT-OPTIONS specifies the options cljfmt will use to format the code. See `cider-format-code-options' for details." (when format-options - (let* ((indents-dict (when (assoc "indents" format-options) - (thread-last - (cadr (assoc "indents" format-options)) - (map-pairs) - (seq-mapcat #'identity) - (apply #'nrepl-dict)))) - (alias-map-dict (when (assoc "alias-map" format-options) - (thread-last - (cadr (assoc "alias-map" format-options)) - (map-pairs) - (seq-mapcat #'identity) - (apply #'nrepl-dict))))) - (nrepl-dict - `(,@(when indents-dict - `("indents" ,indents-dict)) - ,@(when alias-map-dict - `("alias-map" ,alias-map-dict))))))) + (let* ((indents (cadr (assoc "indents" format-options))) + (alias-map (cadr (assoc "alias-map" format-options)))) + (apply #'nrepl-dict + `(,@(when indents + `("indents" ,(thread-last indents + (seq-mapcat #'identity) + (apply #'nrepl-dict)))) + ,@(when alias-map + `("alias-map" ,(thread-last alias-map + (seq-mapcat #'identity) + (apply #'nrepl-dict))))))))) (defcustom cider-print-fn 'pprint "Sets the function to use for printing. @@ -426,7 +426,7 @@ clobber *1/2/3)." ;; namespace forms are always evaluated in the "user" namespace (nrepl-request:eval input callback - (or connection (cider-current-repl nil 'ensure)) + (or connection (cider-current-repl 'infer 'ensure)) ns nil nil nil 'tooling)) (defun cider-sync-tooling-eval (input &optional ns connection) @@ -437,7 +437,7 @@ bindings of the primary eval nREPL session (e.g. this is not going to clobber *1/2/3)." ;; namespace forms are always evaluated in the "user" namespace (nrepl-sync-request:eval input - (or connection (cider-current-repl nil 'ensure)) + (or connection (cider-current-repl 'infer 'ensure)) ns 'tooling)) @@ -458,7 +458,7 @@ itself is present." "Interrupt any pending evaluations." (interactive) ;; FIXME: does this work correctly in cljc files? - (with-current-buffer (cider-current-repl nil 'ensure) + (with-current-buffer (cider-current-repl 'infer 'ensure) (let ((pending-request-ids (cider-util--hash-keys nrepl-pending-requests))) (dolist (request-id pending-request-ids) (nrepl-request:interrupt @@ -617,12 +617,12 @@ Optional arguments include SEARCH-NS, DOCS-P, PRIVATES-P, CASE-SENSITIVE-P." (user-error "Invalid regexp: %s" (nrepl-dict-get response "error-msg")) (nrepl-dict-get response "apropos-matches")))) -(defun cider-sync-request:classpath () - "Return a list of classpath entries." - (cider-ensure-op-supported "classpath") +(defun cider-sync-request:classpath (&optional connection) + "Return a list of classpath entries for CONNECTION." + (cider-ensure-op-supported "classpath" connection) (thread-first '("op" "classpath") - (cider-nrepl-send-sync-request) + (cider-nrepl-send-sync-request connection) (nrepl-dict-get "classpath"))) (defun cider--get-abs-path (path project) @@ -646,11 +646,11 @@ resolve those to absolute paths." (project (clojure-project-dir))) (mapcar (lambda (path) (cider--get-abs-path path project)) classpath)))) -(defun cider-classpath-entries () - "Return a list of classpath entries." +(defun cider-classpath-entries (&optional connection) + "Return a list of classpath entries for CONNECTION." (seq-map #'expand-file-name ; normalize filenames for e.g. Windows - (if (cider-nrepl-op-supported-p "classpath") - (cider-sync-request:classpath) + (if (cider-nrepl-op-supported-p "classpath" connection) + (cider-sync-request:classpath connection) (cider-fallback-eval:classpath)))) (defun cider-sync-request:completion (prefix) diff --git a/elpa/cider-20250520.1110/cider-clojuredocs.el b/elpa/cider-20251105.925/cider-clojuredocs.el similarity index 100% rename from elpa/cider-20250520.1110/cider-clojuredocs.el rename to elpa/cider-20251105.925/cider-clojuredocs.el diff --git a/elpa/cider-20250520.1110/cider-common.el b/elpa/cider-20251105.925/cider-common.el similarity index 100% rename from elpa/cider-20250520.1110/cider-common.el rename to elpa/cider-20251105.925/cider-common.el diff --git a/elpa/cider-20250520.1110/cider-completion-context.el b/elpa/cider-20251105.925/cider-completion-context.el similarity index 100% rename from elpa/cider-20250520.1110/cider-completion-context.el rename to elpa/cider-20251105.925/cider-completion-context.el diff --git a/elpa/cider-20250520.1110/cider-completion.el b/elpa/cider-20251105.925/cider-completion.el similarity index 100% rename from elpa/cider-20250520.1110/cider-completion.el rename to elpa/cider-20251105.925/cider-completion.el diff --git a/elpa/cider-20250520.1110/cider-connection.el b/elpa/cider-20251105.925/cider-connection.el similarity index 96% rename from elpa/cider-20250520.1110/cider-connection.el rename to elpa/cider-20251105.925/cider-connection.el index 1983c75f..6d96043d 100644 --- a/elpa/cider-20250520.1110/cider-connection.el +++ b/elpa/cider-20251105.925/cider-connection.el @@ -69,7 +69,7 @@ Useful for switching between alternative minor modes like `inf-clojure-mode'." :package-version '(cider . "0.9.0")) (defcustom cider-merge-sessions nil - "Controls session combination behaviour. + "Controls session combination behavior. Symbol `host' combines all sessions of a project associated with the same host. Symbol `project' combines all sessions of a project. @@ -530,7 +530,7 @@ REPL defaults to the current REPL." (interactive) (let ((repl (or repl (sesman-browser-get 'object) - (cider-current-repl nil 'ensure)))) + (cider-current-repl 'infer 'ensure)))) (cider--close-connection repl)) ;; if there are no more sessions we can kill all ancillary buffers (unless (cider-sessions) @@ -546,7 +546,7 @@ entire session." (interactive) (let* ((repl (or repl (sesman-browser-get 'object) - (cider-current-repl nil 'ensure))) + (cider-current-repl 'infer 'ensure))) (params (thread-first () (cider--gather-connect-params repl) (plist-put :session-name (sesman-session-name-for-object 'CIDER repl)) @@ -569,7 +569,7 @@ REPL defaults to the current REPL." (interactive) (let ((repl (or repl (sesman-browser-get 'object) - (cider-current-repl nil 'ensure)))) + (cider-current-repl 'infer 'ensure)))) (message "%s" (cider--connection-info repl)))) (defconst cider-nrepl-session-buffer "*cider-nrepl-session*") @@ -580,7 +580,7 @@ REPL defaults to the current REPL." "Describe an nREPL session." (interactive) (cider-ensure-connected) - (let* ((repl (cider-current-repl nil 'ensure)) + (let* ((repl (cider-current-repl 'infer 'ensure)) (selected-session (completing-read "Describe nREPL session: " (nrepl-sessions repl)))) (when (and selected-session (not (equal selected-session ""))) (let* ((session-info (nrepl-sync-request:describe repl)) @@ -602,7 +602,7 @@ REPL defaults to the current REPL." "List the loaded nREPL middleware." (interactive) (cider-ensure-connected) - (let* ((repl (cider-current-repl nil 'ensure)) + (let* ((repl (cider-current-repl 'infer 'ensure)) (middleware (nrepl-middleware repl))) (with-current-buffer (cider-popup-buffer "*cider-nrepl-middleware*" 'select nil 'ancillary) (read-only-mode -1) @@ -946,19 +946,23 @@ REPL (connection) which produced them.") (defun cider-current-repl (&optional type ensure) "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. +TYPE is either clj, cljs, multi, infer or any. +When infer or 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." (let ((type (cider-maybe-intern type))) (if (and (derived-mode-p 'cider-repl-mode) (or (null type) (eq 'any type) + (eq 'infer type) (eq cider-repl-type type))) ;; shortcut when in REPL buffer (current-buffer) (or cider--ancillary-buffer-repl - (let* ((type (or type (cider-repl-type-for-buffer))) + (let* ((type (if (or (null type) + (eq 'infer type)) + (cider-repl-type-for-buffer) + type)) (repls (cider-repls type ensure)) (repl (if (<= (length repls) 1) (car repls) @@ -1011,11 +1015,12 @@ Returns a list of the form ((session1 host1) (session2 host2) ...)." sessions :initial-value '())) -(defun cider-repls (&optional type ensure) +(defun cider-repls (&optional type ensure required-ops) "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." +throw an error if no linked session exists. If REQUIRED-OPS is non-nil, +filters out all the REPLs that do not support the designated ops." (let ((type (cond ((listp type) (mapcar #'cider-maybe-intern type)) @@ -1041,7 +1046,10 @@ throw an error if no linked session exists." (or (seq-filter (lambda (b) (unless (cider-cljs-pending-p b) - (cider--match-repl-type type b))) + (and (cider--match-repl-type type b) + (seq-every-p (lambda (op) + (nrepl-op-supported-p op b)) + required-ops)))) repls) (when ensure (cider--no-repls-user-error type))))) @@ -1049,8 +1057,9 @@ throw an error if no linked session exists." (defun cider-map-repls (which function) "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: +connections are found by inspecting the current buffer. WHICH is either one of +the following keywords or a list starting with one of them followed by names of +operations that the REPL is expected to support: :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. @@ -1060,22 +1069,24 @@ the following keywords: Error is signaled if no REPL buffers of specified type exist in current session." (declare (indent 1)) - (let ((cur-type (cider-repl-type-for-buffer))) - (cl-case which + (let ((cur-type (cider-repl-type-for-buffer)) + (which-key (or (car-safe which) which)) + (required-ops (cdr-safe which))) + (cl-case which-key (:clj-strict (when (eq cur-type 'cljs) (user-error "Clojure-only operation requested in a ClojureScript buffer"))) (:cljs-strict (when (eq cur-type 'clj) (user-error "ClojureScript-only operation requested in a Clojure buffer")))) - (let* ((type (cl-case which + (let* ((type (cl-case which-key ((:clj :clj-strict) 'clj) ((:cljs :cljs-strict) 'cljs) (:auto (if (eq cur-type 'multi) '(clj cljs) cur-type)))) - (ensure (cl-case which + (ensure (cl-case which-key (:auto nil) (t 'ensure))) - (repls (cider-repls type ensure))) + (repls (cider-repls type ensure required-ops))) (mapcar function repls)))) ;; REPLs double as connections in CIDER, so it's useful to be able to refer to diff --git a/elpa/cider-20250520.1110/cider-debug.el b/elpa/cider-20251105.925/cider-debug.el similarity index 100% rename from elpa/cider-20250520.1110/cider-debug.el rename to elpa/cider-20251105.925/cider-debug.el diff --git a/elpa/cider-20250520.1110/cider-doc.el b/elpa/cider-20251105.925/cider-doc.el similarity index 100% rename from elpa/cider-20250520.1110/cider-doc.el rename to elpa/cider-20251105.925/cider-doc.el diff --git a/elpa/cider-20250520.1110/cider-docstring.el b/elpa/cider-20251105.925/cider-docstring.el similarity index 100% rename from elpa/cider-20250520.1110/cider-docstring.el rename to elpa/cider-20251105.925/cider-docstring.el diff --git a/elpa/cider-20250520.1110/cider-eldoc.el b/elpa/cider-20251105.925/cider-eldoc.el similarity index 100% rename from elpa/cider-20250520.1110/cider-eldoc.el rename to elpa/cider-20251105.925/cider-eldoc.el diff --git a/elpa/cider-20250520.1110/cider-eval.el b/elpa/cider-20251105.925/cider-eval.el similarity index 99% rename from elpa/cider-20250520.1110/cider-eval.el rename to elpa/cider-20251105.925/cider-eval.el index 21e1b39e..0fb6433f 100644 --- a/elpa/cider-20250520.1110/cider-eval.el +++ b/elpa/cider-20251105.925/cider-eval.el @@ -884,10 +884,10 @@ COMMENT-POSTFIX is the text to output after the last line." (lambda (_buffer warning) (setq res (concat res warning)))))) -(defun cider-popup-eval-handler (&optional buffer _bounds _source-buffer) +(defun cider-popup-eval-handler (&optional buffer _bounds source-buffer) "Make a handler for printing evaluation results in popup BUFFER, _BOUNDS representing the buffer bounds of the evaled input, -and _SOURCE-BUFFER the original buffer +and SOURCE-BUFFER the original buffer This is used by pretty-printing commands." ;; NOTE: cider-eval-register behavior is not implemented here for performance reasons. @@ -907,7 +907,7 @@ This is used by pretty-printing commands." ;; done handler: nil ;; eval-error handler: - (lambda (buffer) + (lambda (_buffer) (when (and (buffer-live-p chosen-buffer) (member (buffer-name chosen-buffer) cider-ancillary-buffers)) @@ -915,7 +915,7 @@ This is used by pretty-printing commands." (cider-popup-buffer-quit-function t))) ;; also call the default nrepl-err-handler, so that our custom behavior doesn't void the base behavior: (when nrepl-err-handler - (funcall nrepl-err-handler buffer))) + (funcall nrepl-err-handler source-buffer))) ;; content type handler: nil ;; truncated handler: diff --git a/elpa/cider-20250520.1110/cider-find.el b/elpa/cider-20251105.925/cider-find.el similarity index 100% rename from elpa/cider-20250520.1110/cider-find.el rename to elpa/cider-20251105.925/cider-find.el diff --git a/elpa/cider-20250520.1110/cider-format.el b/elpa/cider-20251105.925/cider-format.el similarity index 100% rename from elpa/cider-20250520.1110/cider-format.el rename to elpa/cider-20251105.925/cider-format.el diff --git a/elpa/cider-20250520.1110/cider-inspector.el b/elpa/cider-20251105.925/cider-inspector.el similarity index 82% rename from elpa/cider-20250520.1110/cider-inspector.el rename to elpa/cider-20251105.925/cider-inspector.el index e8de3bf8..6db2aadd 100644 --- a/elpa/cider-20250520.1110/cider-inspector.el +++ b/elpa/cider-20251105.925/cider-inspector.el @@ -84,6 +84,23 @@ The max depth can be also changed interactively within the inspector." :type 'boolean :package-version '(cider . "1.18.0")) +(defcustom cider-inspector-sort-maps nil + "When true, sort inspected maps by keys." + :type 'boolean + :package-version '(cider . "1.19.0")) + +(defcustom cider-inspector-only-diff nil + "When true and inspecting a diff result, only display values that differ." + :type 'boolean + :package-version '(cider . "1.19.0")) + +(defcustom cider-inspector-tidy-qualified-keywords t + "Controls whether to abbreviate qualified keywords. +When inspector is invoked from a code buffer, replace full namespace name +with `::' or `::alias'." + :type 'boolean + :package-version '(cider . "1.20.0")) + (defcustom cider-inspector-skip-uninteresting t "Controls whether to skip over uninteresting values in the inspector. Only applies to navigation with `cider-inspector-prev-inspectable-object' @@ -147,6 +164,8 @@ Can be turned to nil once the user sees and acknowledges the feature." (define-key map [(shift tab)] #'cider-inspector-previous-inspectable-object) (define-key map "p" #'cider-inspector-previous-inspectable-object) (define-key map "P" #'cider-inspector-toggle-pretty-print) + (define-key map "S" #'cider-inspector-toggle-sort-maps) + (define-key map "D" #'cider-inspector-toggle-only-diff) (define-key map (kbd "C-c C-p") #'cider-inspector-print-current-value) (define-key map ":" #'cider-inspect-expr-from-inspector) (define-key map "f" #'forward-char) @@ -185,6 +204,16 @@ Can be turned to nil once the user sees and acknowledges the feature." (setq-local sesman-system 'CIDER) (visual-line-mode 1)) +(defun cider-inspector--highlight-diff-tags () + "Apply distinctive face to #± by manually walking through buffer. +Doing this via font-locking rules doesn't seem to work, probably because +the text is already colored by clojure mode font-locking." + (save-excursion + (goto-char (point-min)) + (while (search-forward "#±" nil t) + (put-text-property (match-beginning 0) (match-end 0) + 'face 'font-lock-warning-face)))) + ;;;###autoload (defun cider-inspect-last-sexp () "Inspect the result of the the expression preceding point." @@ -244,18 +273,17 @@ In particular, it does not read `cider-sexp-at-point'." ns))) (defun cider-inspector-pop () - "Pop the last value off the inspector stack and render it. -See `cider-sync-request:inspect-pop' and `cider-inspector--render-value'." + "Pop the last value off the inspector stack and render it." (interactive) - (let ((result (cider-sync-request:inspect-pop))) + (let ((result (cider-nrepl-send-sync-request `("op" "inspect-pop")))) (when (nrepl-dict-get result "value") (cider-inspector--render-value result :pop)))) (defun cider-inspector-push (idx) - "Inspect the value at IDX in the inspector stack and render it. -See `cider-sync-request:inspect-push' and `cider-inspector--render-value'" + "Inspect the value at IDX in the inspector stack and render it." (interactive) - (let ((result (cider-sync-request:inspect-push idx))) + (let ((result (cider-nrepl-send-sync-request `("op" "inspect-push" + "idx" ,idx)))) (when (nrepl-dict-get result "value") (push (point) cider-inspector-location-stack) (cider-inspector--render-value result :next-inspectable)))) @@ -269,33 +297,29 @@ If EX-DATA is true, inspect ex-data of the exception instead." `("op" "inspect-last-exception" "index" ,index ,@(when ex-data - `("ex-data" "true"))) - (cider-current-repl)))) + `("ex-data" "true")))))) (when (nrepl-dict-get result "value") (setq cider-inspector-location-stack nil) (cider-inspector--render-value result :next-inspectable)))) (defun cider-inspector-previous-sibling () - "Inspect the previous sibling value within a sequential parent. -See `cider-sync-request:inspect-previous-sibling' and `cider-inspector--render-value'" + "Inspect the previous sibling value within a sequential parent." (interactive) - (let ((result (cider-sync-request:inspect-previous-sibling))) + (let ((result (cider-nrepl-send-sync-request `("op" "inspect-previous-sibling")))) (when (nrepl-dict-get result "value") (cider-inspector--render-value result)))) (defun cider-inspector-next-sibling () - "Inspect the next sibling value within a sequential parent. -See `cider-sync-request:inspect-next-sibling' and `cider-inspector--render-value'" + "Inspect the next sibling value within a sequential parent." (interactive) - (let ((result (cider-sync-request:inspect-next-sibling))) + (let ((result (cider-nrepl-send-sync-request `("op" "inspect-next-sibling")))) (when (nrepl-dict-get result "value") (cider-inspector--render-value result)))) (defun cider-inspector--refresh-with-opts (&rest opts) "Invokes `inspect-refresh' op with supplied extra OPTS. Re-renders the currently inspected value." - (let ((result (cider-nrepl-send-sync-request `("op" "inspect-refresh" ,@opts) - (cider-current-repl)))) + (let ((result (cider-nrepl-send-sync-request `("op" "inspect-refresh" ,@opts)))) (when (nrepl-dict-get result "value") (cider-inspector--render-value result)))) @@ -309,7 +333,7 @@ Re-renders the currently inspected value." Does nothing if already on the last page." (interactive) - (let ((result (cider-sync-request:inspect-next-page))) + (let ((result (cider-nrepl-send-sync-request '("op" "inspect-next-page")))) (when (nrepl-dict-get result "value") (cider-inspector--render-value result)))) @@ -318,7 +342,7 @@ Does nothing if already on the last page." Does nothing if already on the first page." (interactive) - (let ((result (cider-sync-request:inspect-prev-page))) + (let ((result (cider-nrepl-send-sync-request '("op" "inspect-prev-page")))) (when (nrepl-dict-get result "value") (cider-inspector--render-value result)))) @@ -352,25 +376,35 @@ MAX-NESTED-DEPTH is the new value." ;; Disable hint about analytics feature so that it is never displayed again. (when cider-inspector-display-analytics-hint (customize-set-variable 'cider-inspector-display-analytics-hint nil)) - (let ((result (cider-nrepl-send-sync-request `("op" "inspect-display-analytics") - (cider-current-repl)))) + (let ((result (cider-nrepl-send-sync-request `("op" "inspect-display-analytics")))) (when (nrepl-dict-get result "value") (cider-inspector--render-value result :next-inspectable)))) (defun cider-inspector-toggle-pretty-print () "Toggle the pretty printing of values in the inspector." (interactive) - (let ((result (cider-nrepl-send-sync-request - `("op" "inspect-toggle-pretty-print") - (cider-current-repl)))) - (when (nrepl-dict-get result "value") - (cider-inspector--render-value result)))) + (customize-set-variable 'cider-inspector-pretty-print (not cider-inspector-pretty-print)) + (cider-inspector--refresh-with-opts + "pretty-print" (if cider-inspector-pretty-print "true" "false"))) + +(defun cider-inspector-toggle-sort-maps () + "Toggle the sorting of maps in the inspector." + (interactive) + (customize-set-variable 'cider-inspector-sort-maps (not cider-inspector-sort-maps)) + (cider-inspector--refresh-with-opts + "sort-maps" (if cider-inspector-sort-maps "true" "false"))) + +(defun cider-inspector-toggle-only-diff () + "Toggle the display of only differing values when inspecting diff results." + (interactive) + (customize-set-variable 'cider-inspector-only-diff (not cider-inspector-only-diff)) + (cider-inspector--refresh-with-opts + "only-diff" (if cider-inspector-only-diff "true" "false"))) (defun cider-inspector-toggle-view-mode () "Toggle the view mode of the inspector between normal and object view mode." (interactive) - (let ((result (cider-nrepl-send-sync-request `("op" "inspect-toggle-view-mode") - (cider-current-repl)))) + (let ((result (cider-nrepl-send-sync-request `("op" "inspect-toggle-view-mode")))) (when (nrepl-dict-get result "value") (cider-inspector--render-value result :next-inspectable)))) @@ -402,7 +436,9 @@ current-namespace." (interactive (let ((ns (cider-current-ns))) (list (cider-inspector--read-var-name-from-user ns) ns))) - (when-let* ((result (cider-sync-request:inspect-def-current-val ns var-name))) + (when-let* ((result (cider-nrepl-send-sync-request `("op" "inspect-def-current-value" + "ns" ,ns + "var-name" ,var-name)))) (cider-inspector--render-value result) (message "Defined current inspector value as #'%s/%s" ns var-name))) @@ -415,13 +451,12 @@ current-namespace." (cider-nrepl-send-request `("op" "inspect-print-current-value" ,@(cider--nrepl-print-request-plist fill-column)) - (cider-popup-eval-handler buffer) - (cider-current-repl)))) + (cider-popup-eval-handler buffer)))) (defun cider-inspector-tap-current-val () "Sends the current Inspector current value to `tap>'." (interactive) - (let ((response (cider-sync-request:inspect-tap-current-val))) + (let ((response (cider-nrepl-send-sync-request '("op" "inspect-tap-current-value")))) (nrepl-dbind-response response (value err) (if value (message "Successfully tapped the current Inspector value") @@ -433,94 +468,17 @@ current-namespace." (seq-let (property value) (cider-inspector-property-at-point) (pcase property (`cider-value-idx - (let* ((idx value) - (response (cider-sync-request:inspect-tap-indexed idx))) - (nrepl-dbind-response response (value err) - (if value - (message "Successfully tapped the Inspector item at point") - (error "Could not tap the Inspector item at point: %s" err))))) + (cl-assert value) + (nrepl-dbind-response (cider-nrepl-send-sync-request `("op" "inspect-tap-indexed" + "idx" ,value)) + (value err) + (if value + (message "Successfully tapped the Inspector item at point") + (error "Could not tap the Inspector item at point: %s" err)))) (_ (error "No object at point"))))) ;; nREPL interactions -(defun cider-sync-request:inspect-pop () - "Move one level up in the inspector stack." - (cider-nrepl-send-sync-request `("op" "inspect-pop") - (cider-current-repl))) - -(defun cider-sync-request:inspect-push (idx) - "Inspect the inside value specified by IDX." - (cider-nrepl-send-sync-request `("op" "inspect-push" - "idx" ,idx) - (cider-current-repl))) - -(defun cider-sync-request:inspect-previous-sibling () - "Inspect the previous sibling value within a sequential parent." - (cider-nrepl-send-sync-request `("op" "inspect-previous-sibling") - (cider-current-repl))) - -(defun cider-sync-request:inspect-next-sibling () - "Inspect the next sibling value within a sequential parent." - (cider-nrepl-send-sync-request `("op" "inspect-next-sibling") - (cider-current-repl))) - -(defun cider-sync-request:inspect-next-page () - "Jump to the next page in paginated collection view." - (cider-nrepl-send-sync-request '("op" "inspect-next-page") - (cider-current-repl))) - -(defun cider-sync-request:inspect-prev-page () - "Jump to the previous page in paginated collection view." - (cider-nrepl-send-sync-request '("op" "inspect-prev-page") - (cider-current-repl))) - -(defun cider-sync-request:inspect-set-page-size (page-size) - "Set the page size in paginated view to PAGE-SIZE." - (declare (obsolete "use `inspect-refresh' op instead." "1.15.0")) - (cider-nrepl-send-sync-request `("op" "inspect-set-page-size" - "page-size" ,page-size) - (cider-current-repl))) - -(defun cider-sync-request:inspect-set-max-atom-length (max-length) - "Set the max length of nested atoms to MAX-LENGTH." - (declare (obsolete "use `inspect-refresh' op instead." "1.15.0")) - (cider-nrepl-send-sync-request `("op" "inspect-set-max-atom-length" - "max-atom-length" ,max-length) - (cider-current-repl))) - -(defun cider-sync-request:inspect-set-max-coll-size (max-size) - "Set the maximum number of nested collection members to display to MAX-SIZE." - (declare (obsolete "use `inspect-refresh' op instead." "1.15.0")) - (cider-nrepl-send-sync-request `("op" "inspect-set-max-coll-size" - "max-coll-size" ,max-size) - (cider-current-repl))) - -(defun cider-sync-request:inspect-set-max-nested-depth (max-nested-depth) - "Set the level of nesting to display before truncating to MAX-NESTED-DEPTH." - (declare (obsolete "use `inspect-refresh' op instead." "1.15.0")) - (cider-nrepl-send-sync-request `("op" "inspect-set-max-nested-depth" - "max-nested-depth" ,max-nested-depth) - (cider-current-repl))) - -(defun cider-sync-request:inspect-def-current-val (ns var-name) - "Defines a var with VAR-NAME in NS with the current inspector value." - (cider-nrepl-send-sync-request `("op" "inspect-def-current-value" - "ns" ,ns - "var-name" ,var-name) - (cider-current-repl))) - -(defun cider-sync-request:inspect-tap-current-val () - "Sends current inspector value to tap>." - (cider-nrepl-send-sync-request '("op" "inspect-tap-current-value") - (cider-current-repl))) - -(defun cider-sync-request:inspect-tap-indexed (idx) - "Sends current inspector sub-value to tap>, per IDX." - (cl-assert idx) - (cider-nrepl-send-sync-request `("op" "inspect-tap-indexed" - "idx" ,idx) - (cider-current-repl))) - (defun cider-sync-request:inspect-expr (expr ns) "Evaluate EXPR in context of NS and inspect its result. Set the page size in paginated view to PAGE-SIZE, maximum length of atomic @@ -539,9 +497,12 @@ MAX-COLL-SIZE if non nil." `("max-nested-depth" ,cider-inspector-max-nested-depth)) ,@(when cider-inspector-display-analytics-hint `("display-analytics-hint" "true")) - ,@(when cider-inspector-pretty-print - `("pretty-print" "true")))) - (cider-nrepl-send-sync-request (cider-current-repl)))) + "tidy-qualified-keywords" ,(if cider-inspector-tidy-qualified-keywords + "true" "false") + "pretty-print" ,(if cider-inspector-pretty-print "true" "false") + "sort-maps" ,(if cider-inspector-sort-maps "true" "false") + "only-diff" ,(if cider-inspector-only-diff "true" "false"))) + (cider-nrepl-send-sync-request))) (declare-function cider-set-buffer-ns "cider-mode") @@ -607,7 +568,8 @@ from stack), `:next-inspectable' (move point to next inspectable object)." "Render ELEMENTS." (setq cider-inspector-looking-at-java-p nil) (dolist (el elements) - (cider-inspector-render-el* el))) + (cider-inspector-render-el* el)) + (cider-inspector--highlight-diff-tags)) (defconst cider--inspector-java-headers ;; NOTE "--- Static fields:" "--- Instance fields:" are for objects, diff --git a/elpa/cider-20250520.1110/cider-jar.el b/elpa/cider-20251105.925/cider-jar.el similarity index 100% rename from elpa/cider-20250520.1110/cider-jar.el rename to elpa/cider-20251105.925/cider-jar.el diff --git a/elpa/cider-20250520.1110/cider-log.el b/elpa/cider-20251105.925/cider-log.el similarity index 99% rename from elpa/cider-20250520.1110/cider-log.el rename to elpa/cider-20251105.925/cider-log.el index af57952c..7ba71a0d 100644 --- a/elpa/cider-20250520.1110/cider-log.el +++ b/elpa/cider-20251105.925/cider-log.el @@ -1422,7 +1422,7 @@ Honors the `cider-log-framework-name' customization variable. This function is offered as an alternative to workflows based on `transient-mode'." (interactive) - (cider-current-repl nil 'ensure) + (cider-current-repl 'infer 'ensure) (let ((framework (cider-log--framework)) (appender (cider-log--appender)) (new-default-directory (buffer-local-value 'default-directory (current-buffer)))) diff --git a/elpa/cider-20250520.1110/cider-macroexpansion.el b/elpa/cider-20251105.925/cider-macroexpansion.el similarity index 100% rename from elpa/cider-20250520.1110/cider-macroexpansion.el rename to elpa/cider-20251105.925/cider-macroexpansion.el diff --git a/elpa/cider-20250520.1110/cider-mode.el b/elpa/cider-20251105.925/cider-mode.el similarity index 99% rename from elpa/cider-20250520.1110/cider-mode.el rename to elpa/cider-20251105.925/cider-mode.el index 7a7d642a..bde58315 100644 --- a/elpa/cider-20250520.1110/cider-mode.el +++ b/elpa/cider-20251105.925/cider-mode.el @@ -108,7 +108,7 @@ prefix arg SET-NAMESPACE sets the namespace in the REPL buffer to that of the namespace in the Clojure source buffer" (interactive "P") (cider--switch-to-repl-buffer - (cider-current-repl nil 'ensure) + (cider-current-repl 'infer 'ensure) set-namespace)) (declare-function cider-load-buffer "cider-eval") @@ -154,7 +154,7 @@ the related commands `cider-repl-clear-buffer' and `cider-repl-clear-output'." (interactive "P") (let ((origin-buffer (current-buffer))) - (switch-to-buffer (cider-current-repl nil 'ensure)) + (switch-to-buffer (cider-current-repl 'infer 'ensure)) (if clear-repl (cider-repl-clear-buffer) (cider-repl-clear-output)) diff --git a/elpa/cider-20250520.1110/cider-ns.el b/elpa/cider-20251105.925/cider-ns.el similarity index 97% rename from elpa/cider-20250520.1110/cider-ns.el rename to elpa/cider-20251105.925/cider-ns.el index 1f56c209..e99e6a01 100644 --- a/elpa/cider-20250520.1110/cider-ns.el +++ b/elpa/cider-20251105.925/cider-ns.el @@ -219,13 +219,13 @@ presenting the error message as an overlay." error) (cider-ns--present-error error)))) -(defun cider-ns-refresh--save-modified-buffers () - "Ensure any relevant modified buffers are saved before refreshing. +(defun cider-ns-refresh--save-modified-buffers (&optional connection) + "Ensure any relevant modified buffers for CONNECTION are saved before refreshing. Its behavior is controlled by `cider-ns-save-files-on-refresh' and `cider-ns-save-files-on-refresh-modes'." (when cider-ns-save-files-on-refresh (let ((dirs (seq-filter #'file-directory-p - (cider-classpath-entries)))) + (cider-classpath-entries connection)))) (save-some-buffers (not (eq cider-ns-save-files-on-refresh 'prompt)) (lambda () @@ -297,14 +297,12 @@ refresh functions (defined in `cider-ns-refresh-before-fn' and `cider-ns-refresh-after-fn') from being invoked." (interactive "p") (cider-ensure-connected) - (cider-ensure-op-supported "refresh") - (cider-ensure-op-supported "cider.clj-reload/reload") - (cider-ns-refresh--save-modified-buffers) (let ((clear? (member mode '(clear 16))) (all? (member mode '(refresh-all 4))) (inhibit-refresh-fns (member mode '(inhibit-fns -1)))) - (cider-map-repls :clj + (cider-map-repls '(:clj "refresh" "cider.clj-reload/reload") (lambda (conn) + (cider-ns-refresh--save-modified-buffers conn) ;; Inside the lambda, so the buffer is not created if we error out. (let ((log-buffer (or (get-buffer cider-ns-refresh-log-buffer) (cider-make-popup-buffer cider-ns-refresh-log-buffer)))) diff --git a/elpa/cider-20250520.1110/cider-overlays.el b/elpa/cider-20251105.925/cider-overlays.el similarity index 100% rename from elpa/cider-20250520.1110/cider-overlays.el rename to elpa/cider-20251105.925/cider-overlays.el diff --git a/elpa/cider-20250520.1110/cider-pkg.el b/elpa/cider-20251105.925/cider-pkg.el similarity index 87% rename from elpa/cider-20250520.1110/cider-pkg.el rename to elpa/cider-20251105.925/cider-pkg.el index 3e5ade31..1a337971 100644 --- a/elpa/cider-20250520.1110/cider-pkg.el +++ b/elpa/cider-20251105.925/cider-pkg.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; lexical-binding: nil -*- -(define-package "cider" "20250520.1110" +(define-package "cider" "20251105.925" "Clojure Interactive Development Environment that Rocks." '((emacs "27") (clojure-mode "5.19") @@ -10,8 +10,8 @@ (sesman "0.3.2") (transient "0.4.1")) :url "https://www.github.com/clojure-emacs/cider" - :commit "f83d7684185b1a8e6acdf6be6cd8d304a92f4874" - :revdesc "f83d7684185b" + :commit "8e3091e8c427cc18f1cc511d5d5aa15424cddb62" + :revdesc "8e3091e8c427" :keywords '("languages" "clojure" "cider") :authors '(("Tim King" . "kingtim@gmail.com") ("Phil Hagelberg" . "technomancy@gmail.com") diff --git a/elpa/cider-20250520.1110/cider-popup.el b/elpa/cider-20251105.925/cider-popup.el similarity index 100% rename from elpa/cider-20250520.1110/cider-popup.el rename to elpa/cider-20251105.925/cider-popup.el diff --git a/elpa/cider-20250520.1110/cider-profile.el b/elpa/cider-20251105.925/cider-profile.el similarity index 100% rename from elpa/cider-20250520.1110/cider-profile.el rename to elpa/cider-20251105.925/cider-profile.el diff --git a/elpa/cider-20250520.1110/cider-repl-history.el b/elpa/cider-20251105.925/cider-repl-history.el similarity index 100% rename from elpa/cider-20250520.1110/cider-repl-history.el rename to elpa/cider-20251105.925/cider-repl-history.el diff --git a/elpa/cider-20250520.1110/cider-repl.el b/elpa/cider-20251105.925/cider-repl.el similarity index 99% rename from elpa/cider-20250520.1110/cider-repl.el rename to elpa/cider-20251105.925/cider-repl.el index 12681f34..ce32f4a4 100644 --- a/elpa/cider-20250520.1110/cider-repl.el +++ b/elpa/cider-20251105.925/cider-repl.el @@ -257,7 +257,7 @@ This cache is stored in the connection buffer.") (defun cider-repl-require-repl-utils () "Require standard REPL util functions into the current REPL." (interactive) - (let* ((current-repl (cider-current-repl nil 'ensure)) + (let* ((current-repl (cider-current-repl 'infer 'ensure)) (require-code (cdr (assoc (cider-repl-type current-repl) cider-repl-require-repl-utils-code)))) (nrepl-send-sync-request (cider-plist-put @@ -1202,7 +1202,7 @@ Closes all open parentheses or bracketed expressions." "Switch between the Clojure and ClojureScript REPLs for the current project." (interactive) ;; FIXME: implement cycling as session can hold more than two REPLs - (let* ((this-repl (cider-current-repl nil 'ensure)) + (let* ((this-repl (cider-current-repl 'infer 'ensure)) (other-repl (car (seq-remove (lambda (r) (eq r this-repl)) (cider-repls nil t))))) (if other-repl (switch-to-buffer other-repl) diff --git a/elpa/cider-20250520.1110/cider-resolve.el b/elpa/cider-20251105.925/cider-resolve.el similarity index 100% rename from elpa/cider-20250520.1110/cider-resolve.el rename to elpa/cider-20251105.925/cider-resolve.el diff --git a/elpa/cider-20250520.1110/cider-scratch.el b/elpa/cider-20251105.925/cider-scratch.el similarity index 100% rename from elpa/cider-20250520.1110/cider-scratch.el rename to elpa/cider-20251105.925/cider-scratch.el diff --git a/elpa/cider-20250520.1110/cider-selector.el b/elpa/cider-20251105.925/cider-selector.el similarity index 100% rename from elpa/cider-20250520.1110/cider-selector.el rename to elpa/cider-20251105.925/cider-selector.el diff --git a/elpa/cider-20250520.1110/cider-stacktrace.el b/elpa/cider-20251105.925/cider-stacktrace.el similarity index 100% rename from elpa/cider-20250520.1110/cider-stacktrace.el rename to elpa/cider-20251105.925/cider-stacktrace.el diff --git a/elpa/cider-20250520.1110/cider-test.el b/elpa/cider-20251105.925/cider-test.el similarity index 100% rename from elpa/cider-20250520.1110/cider-test.el rename to elpa/cider-20251105.925/cider-test.el diff --git a/elpa/cider-20250520.1110/cider-tracing.el b/elpa/cider-20251105.925/cider-tracing.el similarity index 97% rename from elpa/cider-20250520.1110/cider-tracing.el rename to elpa/cider-20251105.925/cider-tracing.el index bccaea40..3efe0a7c 100644 --- a/elpa/cider-20250520.1110/cider-tracing.el +++ b/elpa/cider-20251105.925/cider-tracing.el @@ -72,10 +72,9 @@ opposite of what that option dictates." "Toggle ns tracing. Defaults to the current ns. With prefix arg QUERY, prompts for a ns." (interactive "P") - (cider-map-repls :clj-strict + (cider-map-repls '(:clj-strict "toggle-trace-ns") (lambda (conn) (with-current-buffer conn - (cider-ensure-op-supported "toggle-trace-ns") (let ((ns (if query (completing-read "Toggle trace for ns: " (cider-sync-request:ns-list)) diff --git a/elpa/cider-20250520.1110/cider-util.el b/elpa/cider-20251105.925/cider-util.el similarity index 98% rename from elpa/cider-20250520.1110/cider-util.el rename to elpa/cider-20251105.925/cider-util.el index 779c64be..6e752918 100644 --- a/elpa/cider-20250520.1110/cider-util.el +++ b/elpa/cider-20251105.925/cider-util.el @@ -429,19 +429,11 @@ propertized (defaults to current buffer)." (defvar cider-version) (defvar cider-codename) -(defun cider--pkg-version () - "Extract CIDER's package version from its package metadata." - ;; Use `cond' below to avoid a compiler unused return value warning - ;; when `package-get-version' returns nil. See #3181. - ;; FIXME: Inline the logic from package-get-version and adapt it - (cond ((fboundp 'package-get-version) - (package-get-version)))) - (defun cider--version () "Retrieve CIDER's version. A codename is added to stable versions." (if (string-match-p "-snapshot" cider-version) - (let ((pkg-version (cider--pkg-version))) + (let ((pkg-version (package-get-version))) (if pkg-version ;; snapshot versions include the MELPA package version (format "%s (package: %s)" cider-version pkg-version) diff --git a/elpa/cider-20250520.1110/cider-xref-backend.el b/elpa/cider-20251105.925/cider-xref-backend.el similarity index 100% rename from elpa/cider-20250520.1110/cider-xref-backend.el rename to elpa/cider-20251105.925/cider-xref-backend.el diff --git a/elpa/cider-20250520.1110/cider-xref.el b/elpa/cider-20251105.925/cider-xref.el similarity index 100% rename from elpa/cider-20250520.1110/cider-xref.el rename to elpa/cider-20251105.925/cider-xref.el diff --git a/elpa/cider-20250520.1110/cider.el b/elpa/cider-20251105.925/cider.el similarity index 96% rename from elpa/cider-20250520.1110/cider.el rename to elpa/cider-20251105.925/cider.el index 342ba942..07fa6733 100644 --- a/elpa/cider-20250520.1110/cider.el +++ b/elpa/cider-20251105.925/cider.el @@ -14,8 +14,8 @@ ;; Homepage: https://www.github.com/clojure-emacs/cider ;; Keywords: languages, clojure, cider ;; -;; Package-Version: 20250520.1110 -;; Package-Revision: f83d7684185b +;; Package-Version: 20251105.925 +;; Package-Revision: 8e3091e8c427 ;; Package-Requires: ( ;; (emacs "27") ;; (clojure-mode "5.19") @@ -104,10 +104,10 @@ (require 'sesman) (require 'package) -(defconst cider-version "1.19.0-snapshot" +(defconst cider-version "1.20.0" "The current version of CIDER.") -(defconst cider-codename "Athens" +(defconst cider-codename "Lanzarote" "Codename used to denote stable releases.") (defcustom cider-lein-command @@ -519,7 +519,7 @@ Throws an error if PROJECT-TYPE is unknown." "List of dependencies where elements are lists of artifact name and version.") (put 'cider-jack-in-dependencies 'risky-local-variable t) -(defcustom cider-injected-nrepl-version "1.3.1" +(defcustom cider-injected-nrepl-version "1.5.1" "The version of nREPL injected on jack-in. We inject the newest known version of nREPL just in case your version of Leiningen is bundling an older one." @@ -531,7 +531,7 @@ your version of Leiningen is bundling an older one." "List of dependencies where elements are lists of artifact name and version. Added to `cider-jack-in-dependencies' when doing `cider-jack-in-cljs'.") (put 'cider-jack-in-cljs-dependencies 'risky-local-variable t) -(cider-add-to-alist 'cider-jack-in-cljs-dependencies "cider/piggieback" "0.5.3") +(cider-add-to-alist 'cider-jack-in-cljs-dependencies "cider/piggieback" "0.6.1") (defvar cider-jack-in-dependencies-exclusions nil "List of exclusions for jack in dependencies. @@ -550,7 +550,7 @@ the artifact.") Used when `cider-jack-in-auto-inject-clojure' is set to `latest'.") -(defconst cider-required-middleware-version "0.55.7" +(defconst cider-required-middleware-version "0.58.0" "The CIDER nREPL version that's known to work properly with CIDER.") (defcustom cider-injected-middleware-version cider-required-middleware-version @@ -1444,14 +1444,54 @@ server buffer, in which case a new session for that server is created." (plist-put :session-name ses-name) (plist-put :repl-type 'cljs))))) +(defcustom cider-connect-default-params nil + "Default plist of params for connecting to an external nREPL server. +Recognized keys are :host, :port and :project-dir. + +These are used as arguments to the commands `cider-connect-clj', +`cider-connect-cljs' and `cider-connect-clj&cljs', in order to bypass +the corresponding user prompts. + +This defcustom is intended for use with .dir-locals.el on a per-project basis. +See `cider-connect-default-cljs-params' in order to specify a separate set of params +for cljs REPL connections. + +Note: it is recommended to set the variable `cider-default-cljs-repl' +instead of specifying the :cljs-repl-type key." + :type '(plist :key-type + (choice (const :host) + (const :port) + (const :project-dir))) + :group 'cider) + +(defcustom cider-connect-default-cljs-params nil + "Default plist of params for connecting to a ClojureScript REPL. +Recognized keys are :host, :port and :project-dir. + +If non-nil, overrides `cider-connect-default-params' for the commands +`cider-connect-cljs' and (the latter half of) `cider-connect-clj&cljs'. + +Note: it is recommended to set the variable `cider-default-cljs-repl' +instead of specifying the :cljs-repl-type key." + :type '(plist :key-type + (choice (const :host) + (const :port) + (const :project-dir))) + :group 'cider) + ;;;###autoload (defun cider-connect-clj (&optional params) "Initialize a Clojure connection to an nREPL server. -PARAMS is a plist optionally containing :host, :port and :project-dir. On -prefix argument, prompt for all the parameters." +PARAMS is a plist optionally containing :host, :port and :project-dir. +If nil, use the default parameters in `cider-connect-default-params'. + +With the prefix argument, prompt for all the parameters regardless of +their supplied or default values." (interactive "P") (cider-nrepl-connect - (thread-first params + (thread-first (or params cider-connect-default-params) + (copy-sequence) ;; Note: the following steps mutate the list + (map-delete :cljs-repl-type) (cider--update-project-dir) (cider--update-host-port) (cider--check-existing-session) @@ -1464,12 +1504,17 @@ prefix argument, prompt for all the parameters." "Initialize a ClojureScript connection to an nREPL server. PARAMS is a plist optionally containing :host, :port, :project-dir and :cljs-repl-type (e.g. 'shadow, 'node, 'figwheel, etc). +If nil, use the default parameters in `cider-connect-default-params' or +`cider-connect-default-cljs-params'. -On prefix, prompt for all the -parameters regardless of their supplied or default values." +With the prefix argument, prompt for all the parameters regardless of +their supplied or default values." (interactive "P") (cider-nrepl-connect - (thread-first params + (thread-first (or params + cider-connect-default-cljs-params + cider-connect-default-params) + (copy-sequence) (cider--update-project-dir) (cider--update-host-port) (cider--check-existing-session) @@ -1482,22 +1527,27 @@ parameters regardless of their supplied or default values." (defun cider-connect-clj&cljs (params &optional soft-cljs-start) "Initialize a Clojure and ClojureScript connection to an nREPL server. PARAMS is a plist optionally containing :host, :port, :project-dir and -:cljs-repl-type (e.g. 'shadow, 'node, 'figwheel, etc). When SOFT-CLJS-START is -non-nil, don't start if ClojureScript requirements are not met." +:cljs-repl-type (e.g. 'shadow, 'node, 'figwheel, etc). +If nil, use the default parameters in `cider-connect-default-params' and +`cider-connect-default-cljs-params'. + +When SOFT-CLJS-START is non-nil, don't start if ClojureScript requirements are +not met. + +With the prefix argument, prompt for all the parameters regardless of +their supplied or default values." (interactive "P") - (let* ((params (thread-first params - (cider--update-project-dir) - (cider--update-host-port) - (cider--check-existing-session) - (cider--update-cljs-type))) - (clj-params (thread-first params - copy-sequence - (map-delete :cljs-repl-type))) - (clj-repl (cider-connect-clj clj-params))) + (let* ((clj-repl (cider-connect-clj params)) + (cljs-params + (thread-first (or params cider-connect-default-cljs-params) + (copy-sequence) + (cider--update-cljs-type) + ;; already asked, don't ask on sibling connect + (plist-put :do-prompt nil)))) (when (if soft-cljs-start - (cider--check-cljs (plist-get params :cljs-repl-type) 'no-error) + (cider--check-cljs (plist-get cljs-params :cljs-repl-type) 'no-error) t) - (cider-connect-sibling-cljs params clj-repl)))) + (cider-connect-sibling-cljs cljs-params clj-repl)))) (defvar cider-connection-init-commands '(cider-jack-in-clj diff --git a/elpa/cider-20250520.1110/nrepl-client.el b/elpa/cider-20251105.925/nrepl-client.el similarity index 99% rename from elpa/cider-20250520.1110/nrepl-client.el rename to elpa/cider-20251105.925/nrepl-client.el index f056ff8b..d4374974 100644 --- a/elpa/cider-20250520.1110/nrepl-client.el +++ b/elpa/cider-20251105.925/nrepl-client.el @@ -1025,16 +1025,15 @@ Register CALLBACK as the response handler." NS provides context for the request. If LINE and COLUMN are non-nil and current buffer is a file buffer, \"line\", \"column\" and \"file\" are added to the message." - (nconc (and ns `("ns" ,ns)) - `("op" "eval" - "code" ,(substring-no-properties input)) - (when cider-enlighten-mode - '("enlighten" "true")) - (let ((file (or (buffer-file-name) (buffer-name)))) - (when (and line column file) - `("file" ,file - "line" ,line - "column" ,column))))) + `("op" "eval" + "code" ,(substring-no-properties input) + ,@(when ns `("ns" ,ns)) + ,@(when cider-enlighten-mode '("enlighten" "true")) + ,@(let ((file (or (buffer-file-name) (buffer-name)))) + (when (and line column file) + `("file" ,file + "line" ,line + "column" ,column))))) (defun nrepl-request:eval (input callback connection &optional ns line column additional-params tooling) "Send the request INPUT and register the CALLBACK as the response handler. diff --git a/elpa/cider-20250520.1110/nrepl-dict.el b/elpa/cider-20251105.925/nrepl-dict.el similarity index 100% rename from elpa/cider-20250520.1110/nrepl-dict.el rename to elpa/cider-20251105.925/nrepl-dict.el -- 2.47.3