Skip to content

Commit dbc1a6f

Browse files
[completion] Enable cider-completion-style by default
1 parent 65383b8 commit dbc1a6f

File tree

3 files changed

+24
-20
lines changed

3 files changed

+24
-20
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
- [#3790](https://github.com/clojure-emacs/cider/issues/3790): Stacktrace: show messages and data for all exception causes by default.
1919
- [#3789](https://github.com/clojure-emacs/cider/issues/3789): Refactor and simplify exception handling.
2020
- [#3789](https://github.com/clojure-emacs/cider/issues/3796): Completion: disable client-side sorting (defer to backend-provided candidate order).
21+
- [#3797](https://github.com/clojure-emacs/cider/issues/3797): Completion: enable `cider-completion-style` by default (this enables richer completion suggestions where candidates don't have to strictly match the prefix).
2122

2223
## 1.17.1 (2025-02-25)
2324

cider-completion.el

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -283,27 +283,31 @@ DEPRECATED: please use `cider-enable-cider-completion-style' instead."
283283
(interactive)
284284
(cider-enable-cider-completion-style))
285285

286-
(defun cider-enable-cider-completion-style ()
287-
"Enables `cider' completion style for CIDER in all buffers.
286+
(defun cider-enable-cider-completion-style (&optional arg)
287+
"Enables or disables `cider' completion style for CIDER in all buffers.
288288
289289
This style supports non-prefix completion candidates returned by the
290-
completion backend. Only affects the `cider' completion category."
290+
completion backend. Only affects the `cider' completion category. If ARG
291+
is `1' or nil, enables the custom completion style; if `-1', disables it."
291292
(interactive)
292-
(let* ((cider (assq 'cider completion-category-overrides))
293-
(found-styles (assq 'styles cider))
294-
(new-styles (if found-styles
295-
(cons 'styles (cons 'cider (cdr found-styles)))
296-
'(styles cider basic)))
297-
(new-cider (if cider
298-
(cons 'cider
299-
(cons new-styles
300-
(seq-remove (lambda (x) (equal 'styles (car x)))
301-
(cdr cider))))
302-
(list 'cider new-styles)))
303-
(new-overrides (cons new-cider
304-
(seq-remove (lambda (x) (equal 'cider (car x)))
305-
completion-category-overrides))))
306-
(setq completion-category-overrides new-overrides)))
293+
(if (= arg -1)
294+
(setq completion-category-overrides
295+
(assq-delete-all 'cider completion-category-overrides))
296+
(let* ((cider (assq 'cider completion-category-overrides))
297+
(found-styles (assq 'styles cider))
298+
(new-styles (if found-styles
299+
(cons 'styles (cons 'cider (cdr found-styles)))
300+
'(styles cider basic)))
301+
(new-cider (if cider
302+
(cons 'cider
303+
(cons new-styles
304+
(seq-remove (lambda (x) (equal 'styles (car x)))
305+
(cdr cider))))
306+
(list 'cider new-styles)))
307+
(new-overrides (cons new-cider
308+
(seq-remove (lambda (x) (equal 'cider (car x)))
309+
completion-category-overrides))))
310+
(setq completion-category-overrides new-overrides))))
307311

308312
(make-obsolete 'cider-company-enable-fuzzy-completion 'cider-enable-cider-completion-style "1.17.0")
309313

@@ -312,8 +316,6 @@ completion backend. Only affects the `cider' completion category."
312316
313317
Only affects the `cider' completion category.`"
314318
(interactive)
315-
(when (< emacs-major-version 27)
316-
(user-error "`cider-enable-flex-completion' requires Emacs 27 or later"))
317319
(let ((found-styles (when-let ((cider (assq 'cider completion-category-overrides)))
318320
(assq 'styles cider)))
319321
(found-cycle (when-let ((cider (assq 'cider completion-category-overrides)))

cider-mode.el

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1098,6 +1098,7 @@ property."
10981098
(setq-local clojure-expected-ns-function #'cider-expected-ns)
10991099
(when cider-use-xref
11001100
(add-hook 'xref-backend-functions #'cider--xref-backend cider-xref-fn-depth 'local))
1101+
(cider-enable-cider-completion-style 1)
11011102
(setq next-error-function #'cider-jump-to-compilation-error))
11021103
;; Mode cleanup
11031104
(mapc #'kill-local-variable '(next-error-function

0 commit comments

Comments
 (0)