From f7decffa38102695895b80e16fc0395c2bc74183 Mon Sep 17 00:00:00 2001 From: Alexander01998 Date: Tue, 31 Oct 2023 13:38:59 +0100 Subject: [PATCH] Document how SearchTags work --- src/main/java/net/wurstclient/SearchTags.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/main/java/net/wurstclient/SearchTags.java b/src/main/java/net/wurstclient/SearchTags.java index b385ffc19a..ae5b7f0734 100644 --- a/src/main/java/net/wurstclient/SearchTags.java +++ b/src/main/java/net/wurstclient/SearchTags.java @@ -12,6 +12,28 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +/** + * Adds search tags to a Wurst feature so that it can be found through the + * search bar in the Navigator GUI. + * + *

+ * Navigator can already find features by their name and description, so + * repeating that information in the search tags is pointless. However, names + * and descriptions of settings are not used by Navigator, so repeating those + * can make sense if people are likely to search for them. + * + *

+ * Navigator is not case-sensitive, so for example "NukerLegit" and "nukerlegit" + * are treated the same. However, Navigator struggles with spaces and the order + * of words, for example "NukerLegit", "Nuker Legit" and "Legit Nuker" are all + * treated differently. + * + *

+ * By convention, search tags with spaces should be written in lower case and + * search tags without spaces should be written in camel case. For example, + * "NukerLegit" and "nuker legit". This is not enforced, but it makes the + * code easier to read. + */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface SearchTags