Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhanced Tag Management #359

Closed
panosz opened this issue Jan 31, 2024 · 4 comments · Fixed by #447
Closed

Enhanced Tag Management #359

panosz opened this issue Jan 31, 2024 · 4 comments · Fixed by #447

Comments

@panosz
Copy link

panosz commented Jan 31, 2024

🚀 The feature, motivation and pitch

While authoring new notes, determining the most appropriate tags can be challenging, particularly when the potential for duplicating existing tags exists. Current autocompletion features, although valuable, offer limited assistance, as they primarily facilitate the discovery of tags starting with similar prefixes. This limitation makes it difficult to efficiently organize and categorize notes, especially when similar but not identical tags (e.g., my_allergies vs. allergies) are in use.

Proposed Solution

Implement an enhanced tag management feature that provides a comprehensive overview of all existing tags within the current workspace. This feature should enable users to:

  1. View a List of All Tags: Offer an easily accessible interface that displays all tags currently in use, potentially leveraging fuzzy search to help find similar tags even if they don't share the same prefix.
  2. Tag Selection and Application: Allow users to select multiple tags from this overview and apply them directly to the current note. This could streamline the process of tagging, ensuring consistency and preventing the proliferation of nearly duplicate tags.

Implementation Consideration

I guess using a custom telescope picker would be an ideal approach for this feature, given its powerful search and UI capabilities such as listing tags, fuzzy searching, and multi-selection support. However, I am not sure how to actually build it.

Alternatives

No response

Additional context

No response

@epwalsh
Copy link
Owner

epwalsh commented Jan 31, 2024

Agreed @panosz, there's a lot we could improve here. A good first step would be to build on Client:find_tags() to allow an "empty" search, which would return ALL tags in the vault. I'll work on that soon.

UPDATE: done via 62b9e7e

epwalsh added a commit that referenced this issue Jan 31, 2024
epwalsh added a commit that referenced this issue Jan 31, 2024
@epwalsh
Copy link
Owner

epwalsh commented Jan 31, 2024

As of a6596be, tag completion is now fuzzier. For example:

image

@epwalsh
Copy link
Owner

epwalsh commented Jan 31, 2024

One more easy-ish improvement we could make would be to open up a finder with a list of ALL tags when no argument is provided to :ObsidianTags.

UPDATE: implemented for telescope in 5fecc73.

@panosz
Copy link
Author

panosz commented Jan 31, 2024

One more easy-ish improvement we could make would be to open up a finder with a list of ALL tags when no argument is provided to :ObsidianTags.

I agree. Another plus is that this implements what one would intuitively expect from the command. I was actually surprised when I first tried :ObsidianTags (without having read the documentation) and discovered that it didn't list all tags.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants