mirror of
https://github.com/jimeh/.emacs.d.git
synced 2026-02-19 13:46:41 +00:00
feat(editor/fussy): improve completion performance
It seems the fzf-native scoring method can get slow and laggy over time. It seems the flx-rs method does not, and is overall a bit faster. However, flx-rs doesn't give exact matches as high of a score as fzf-native, so scoring might be a bit different than I'm used to. Time will tell if I'll find it annoying enough to switch back to fzf-native. Also switch from orderless to fussy's all-completions backed filtering method. This yields a noticeable improvement in speed, but it does not support multiple search terms separated by space like orderless does. Another potential habit I will need to adjust.
This commit is contained in:
@@ -6,16 +6,39 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; (use-package orderless
|
||||
;; :commands (orderless-filter))
|
||||
|
||||
;; (use-package fzf-native
|
||||
;; :straight (fzf-native :repo "dangduc/fzf-native" :host github
|
||||
;; :files (:defaults "bin"))
|
||||
;; :config
|
||||
;; (fzf-native-load-dyn))
|
||||
|
||||
(use-package flx-rs
|
||||
:straight (flx-rs :repo "jcs-elpa/flx-rs" :fetcher github
|
||||
:files (:defaults "bin"))
|
||||
:config
|
||||
(flx-rs-load-dyn))
|
||||
|
||||
(use-package fussy
|
||||
:ensure t
|
||||
:demand t
|
||||
:custom
|
||||
(completion-category-overrides nil)
|
||||
(completion-ignore-case t)
|
||||
(pcomplete-ignore-case t)
|
||||
|
||||
(fussy-ignore-case t)
|
||||
(fussy-filter-fn 'fussy-filter-orderless-flex)
|
||||
(fussy-score-fn 'fussy-fzf-native-score)
|
||||
|
||||
(fussy-filter-fn
|
||||
'fussy-filter-default
|
||||
;; 'fussy-filter-orderless-flex
|
||||
)
|
||||
|
||||
(fussy-score-fn
|
||||
;; 'fussy-fzf-native-score
|
||||
'flx-rs-score
|
||||
)
|
||||
|
||||
:preface
|
||||
(defun siren-fussy--company-transform-advice (f &rest args)
|
||||
@@ -29,14 +52,7 @@
|
||||
:around 'siren-fussy--company-transform-advice)
|
||||
(setq completion-category-defaults nil))
|
||||
|
||||
(use-package orderless
|
||||
:commands (orderless-filter))
|
||||
|
||||
(use-package fzf-native
|
||||
:straight (fzf-native :repo "dangduc/fzf-native" :host github
|
||||
:files (:defaults "bin"))
|
||||
:config
|
||||
(fzf-native-load-dyn))
|
||||
|
||||
(provide 'siren-fussy)
|
||||
;;; siren-fussy.el ends here
|
||||
|
||||
@@ -72,6 +72,7 @@
|
||||
("fbthrift" . "52c465de9b6ed37de55ace97d2ceb95a177543cf")
|
||||
("flutter.el" . "b4148db1e6e6822a6a0da1eda3c58affe562d1dc")
|
||||
("flx" . "e3b3f0533e44c5250ce73d728b59a7e96c692b5d")
|
||||
("flx-rs" . "08156fe15c28a5fd9ef1975ba3a11de26226c90e")
|
||||
("flycheck" . "c955fd6fb970eed5fdecf675369d3d61a41f6c68")
|
||||
("flycheck-package" . "615c1ed8c6fb7c73abec6aaa73d3fef498d231bc")
|
||||
("flycheck-rust" . "a139cd53c5062697e9ed94ad80b803c37d999600")
|
||||
@@ -79,7 +80,6 @@
|
||||
("forge" . "ed8abdafd8b15852538bbe064fef037345772627")
|
||||
("frame-local" . "7ee1106c3bcd4022f48421f8cb1ef4f995da816e")
|
||||
("fussy" . "314280ae62a907004ce82f8bbbddf8feca497e95")
|
||||
("fzf-native" . "1306de74712e550fabd7c1d8989f556cbbc56a22")
|
||||
("gcmh" . "0089f9c3a6d4e9a310d0791cf6fa8f35642ecfd9")
|
||||
("general.el" . "9651024e7f40a8ac5c3f31f8675d3ebe2b667344")
|
||||
("gh-notify" . "aa4d8bc0c56366d437e7c126e7eedc5938109342")
|
||||
@@ -151,7 +151,6 @@
|
||||
("ob-go" . "2067ed55f4c1d33a43cb3f6948609d240a8915f5")
|
||||
("ob-http" . "b1428ea2a63bcb510e7382a1bf5fe82b19c104a7")
|
||||
("ob-mermaid" . "b4ce25699e3ebff054f523375d1cf5a17bd0dbaf")
|
||||
("orderless" . "8b9af2796fa0eb87eea4140bc08d16880a493803")
|
||||
("osx-trash" . "af74a2055a15bf4182d8196600f7decd66eec634")
|
||||
("ox-gfm" . "99f93011b069e02b37c9660b8fcb45dab086a07f")
|
||||
("ox-pandoc" . "f8eac5e5692fc44a4724ada43191e7c28a1ccf30")
|
||||
|
||||
Reference in New Issue
Block a user