feature request: partial tag completion
Tagging an item currently supports auto completion. Typing a string lists all the tags starting with the string in a context menu.
Suggestions for partial strings would be very useful in addition.
i.e. if typing "item" would not only find "item [post string]" but also "[pre string] item [post string]".
Suggestions for partial strings would be very useful in addition.
i.e. if typing "item" would not only find "item [post string]" but also "[pre string] item [post string]".
So when typing child_tag into the tag box, the nested tag 'parent_tag->child_tag' would be amongst the matching suggestions.
Perhaps there's a misunderstanding of what the suggesting is, or perhaps I'm missing something in the technical implementation - but would doing this for tags (there are fewer and they are shorter than library items, I suppose) really be computationally demanding ?
Evernote indeed seems to have two different behaviours for this: the Webclipper lists the superstrings instantaneously 'as' you type with each keystroke; the Edit Tag menu waits for typing to pause for a small moment and updates the suggestion box then, I'd say this takes perhaps 100 or 200 ms. To me, the second works fine and adds a lot of value in keeping tags consistent.
But again, perhaps I'm just not seeing the complexity involved!
I was going to start a new discussion for completion of tags "not beginning with", as I have many tags structured in the way of @tim820 comment https://forums.zotero.org/discussion/comment/454096/#Comment_454096 (for example "R-package:[package name]"), but fortunately I found this one.
This should be feasible (at least more than some years ago) with current tools. I do not understand the difference commented by @adamsmith in https://forums.zotero.org/discussion/comment/454291/#Comment_454291, but maybe some lag would be acceptable when tag completion does not have any suggestion for tags beginning with completed part.
An option could be also allowing us to set a collection of strings to search tags beginning with them (for example, for my use given in the first paragraph, I would set the string "R-package:", so tags completion would look for tags starting with completed part or with "R-project:" + completed part)
WDYT @dstillman?
Thanks!
I am beginning to notice a theme here... Have had Zotero for a week and nearly every thing that annoys me I find a thread for. These are all features that are standard in other software, but have not yet been implemented in Zotero. I say not yet because they will certainly be implemented eventually. What we are asking for is priority. Posting about how something "can't" be done is counter-productive and unless you are a professional software developer, you don't actually know, its just rude to downplay a perfectly reasonable request that many people have over a long period of time.
- All existing tags are already shown in the lefthand sidepane when clicking on "My Library" as collection. And fast
- So tag completion would need to operate on that list, either create it dynamically evertime or have it stored and maintained somwhere in memory.
What makes this computationally expensive ?
(Years ago, when this was first implemented, slow queries would also hang the UI, but that doesn't happen anymore.)
But as we've said elsewhere, computers have gotten a lot faster, to the point where it's more realistic to do this for everyone. We're still going to try to optimize it a bit more to keep it as fast as possible. We're working on that now and should have an update soon.
I very likely can't add anything new to the implementation level here, yet am wondering why, if a reliable database index exists, a left-bound search can use it but a right-bound on every keystroke can not ? Why would one scan every single tag in the entire library at keystroke if there's a database index ?