@@ -256,6 +256,14 @@ in the buffer."
256
256
257
257
; ; Fuzzy completion for company-mode
258
258
259
+ (defun cider-completion-try-completion (string collection pred _ )
260
+ " Return longest common substring of all completions of STRING in COLLECTION,
261
+ also pass PRED to `try-completion' .
262
+
263
+ This function is only needed to be a correct citizen in
264
+ `completion-styles-alist' ."
265
+ (try-completion string collection pred))
266
+
259
267
(defun cider-company-unfiltered-candidates (string &rest _ )
260
268
" Return CIDER completion candidates for STRING as is, unfiltered."
261
269
(cider-complete string))
@@ -268,17 +276,40 @@ in the buffer."
268
276
; ; which introduced `cider-company-enable-fuzzy-completion' )
269
277
(add-to-list 'completion-styles-alist
270
278
'(cider
271
- cider-company-unfiltered-candidates
279
+ cider-completion-try-completion
272
280
cider-company-unfiltered-candidates
273
281
" CIDER backend-driven completion style." ))
274
282
275
283
(defun cider-company-enable-fuzzy-completion ()
276
- " Enable backend-driven fuzzy completion in the current buffer .
284
+ " Enables `cider' completion style for CIDER in all buffers .
277
285
278
- DEPRECATED: please use `cider-enable-flex-completion' instead."
279
- (setq-local completion-styles '(cider)))
286
+ DEPRECATED: please use `cider-enable-cider-completion-style' instead."
287
+ (interactive )
288
+ (cider-enable-cider-completion-style))
289
+
290
+ (defun cider-enable-cider-completion-style ()
291
+ " Enables `cider' completion style for CIDER in all buffers.
280
292
281
- (make-obsolete 'cider-company-enable-fuzzy-completion 'cider-enable-flex-completion " 1.8.0" )
293
+ This style supports non-prefix completion candidates returned by the
294
+ completion backend. Only affects the `cider' completion category."
295
+ (interactive )
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
+ (make-obsolete 'cider-company-enable-fuzzy-completion 'cider-enable-cider-completion-style " 1.17.0" )
282
313
283
314
(defun cider-enable-flex-completion ()
284
315
" Enables `flex' (fuzzy) completion for CIDER in all buffers.
0 commit comments