CaseSensitiveTagCompletion=NO not working

Recently I changed my tags from all lowercase to capitalized or pascal/camel case, mainly for better readability, especially in the tag cloud.

However, when I first tried to apply a capitalized tag via typing and auto-completion, I noticed that the completion system does not respect the CaseSensitiveTagCompletion=NO setting.

An example:

Up to the first two characters, everything seems normal: eligible tag strings appear in the list, and one is highlighted and ready for insertion:

Screenshot 2023-12-11 at 01.14.39

After further narrowing, the system fails:

Screenshot 2023-12-11 at 01.15.40

It still correctly matches 2 tags as eligible, but none of them is selected or ready for insertion. Apparently this is caused by the case difference of the first char in my typed string and in the matched strings.

Since this makes auto-completion pretty much meaningless for anything other than all lowercase tags, I strongly suspect that this is a bug. (I can manually select from the matches by pressingDown Arrow, but that’s very clunky.)

I don’t know if it’s always been like this, or when the problem first appeared, because I haven’t used EF much in the last few years (and all my tags were lowercase anyway).

This is working as designed. Currently, the CaseSensitiveTagCompletion setting affects which completions are shown, but it only pre-selects an exact match. However, I think you’re right that it would make sense to select an insensitive match if that’s all that’s available, to save you a step pressing the Down Arrow key.

Yes, that would be a very welcome change.

I checked the auto-completion mechanics of some other applications, and AFAICT all work like this, in regards to case-sensitivity. (Not that this automatically means it is good, but in this case it is :wink:).

PS: Apple Notes’ tag completion is a bit stupid: it is case-insensitive, but doesn’t select a match from the list until the typed string is unambiguous.

Please try this public beta version.