Closed fommil closed 8 years ago
my complete config https://github.com/fommil/dotfiles/blob/master/.emacs.d/init.el#L239-L249
since reporting, I discovered
(setq
ido-case-fold nil
ido-ignore-buffers '("TAGS*"))
which is a suitable workaround for this particular incident. but ido-case-fold
seems to be ignored (I'm still getting case insensitive hits).
This is strange.
(flx-score "TaskTimings.scala" "Tas")
returns a score of 211
(flx-score "TAGS" "Tas")
returns a score of 139
So we would expect TaskTimings.scala
to be preferred even without strict case sensitivity.
Give stronger weighting to buffer/file names rather than in-buffer matches (I'm assuming it is matching within the TAGS buffer because the Tas is completed fully)
flx-ido
does not check for in-buffer matches. Tas
matches TAGS
in the following way: Tags.
Are you sure you understand how fuzzy matching works? If you wanted to match TaskTimings.scala
, a better query would be tts
.
ido-case-fold
seems to be ignored
Indeed, the lack of custimization is detailed here.
interesting. So why is the completion like this
Buffer: Tas[kTimings.scala]{ TAGS | TaskTimings.scala }
showing that Tas[kTimings.scala]
is detected in both cases? (or is that not what it means)
and, huh, if those are the scores (and I confirm I get the same scores) why is the TAGS
showing up first? Did I accidentally select it previously or something?
@fommil I don't know, as I don't use ido
. I do know flx
does not take your history into account. What happens when you press RET?
I just ran into a situation where I wanted to view a buffer called
TaskTimings.scala
, so I typedC-x b
thenTas
.I expected the open buffer to be selected as the default, but the preference was the
TAGS
file, which contained a reference toTaskTimings.scala
(which I assume was detected).At the time of the completion, my minibuffer looked like this:
Are there any current options to deal with this?
Some ideas: