@@ -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
289289This 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
313321Only 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