Skip to content

Commit cfe9735

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

File tree

1 file changed

+26
-20
lines changed

1 file changed

+26
-20
lines changed

cider-completion.el

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -283,27 +283,35 @@ 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))))
311+
312+
;; Enable cider-completion-style by default. Users can opt out of this by
313+
;; running (cider-enable-cider-completion-style -1)
314+
(cider-enable-cider-completion-style 1)
307315

308316
(make-obsolete 'cider-company-enable-fuzzy-completion 'cider-enable-cider-completion-style "1.17.0")
309317

@@ -312,8 +320,6 @@ completion backend. Only affects the `cider' completion category."
312320
313321
Only affects the `cider' completion category.`"
314322
(interactive)
315-
(when (< emacs-major-version 27)
316-
(user-error "`cider-enable-flex-completion' requires Emacs 27 or later"))
317323
(let ((found-styles (when-let ((cider (assq 'cider completion-category-overrides)))
318324
(assq 'styles cider)))
319325
(found-cycle (when-let ((cider (assq 'cider completion-category-overrides)))

0 commit comments

Comments
 (0)