Completion menu should show possible rolls (emotes ending with #) among completion options. There are a few things to decide or figure out first:
Ordering
Potential rolls should appear either before or after all other numeric matches. Normally, name# would appear between name and name2. As a parameter for the collator, ignorePunctuation causes name# and name to be treated as equal, though this may not be foolproof as sort is not be guaranteed to be stable. A custom comparator could resolve all possible ordering issues.
Useful results
Only show non-trivial rolls, as any valid emote followed by # is a technically valid roll (first emote in any set does not have a 1 suffix). Only show rolls when:
there are multiple possible matches (show for :mike, but not :mimi)
the current query does not end in an explicit numeric suffix (show for :mike, but not :mike3)
... unless the "root" name ends in a number (show for :h3h3, but not :mike3 or :h3h)
If the current query contains a roll which would which would be valid (even if not otherwise shown, based on the previous rules) or a wildcard match as described in #12, show it as the only match.
Rendering
Rolls could either be rendered as the fallback emote (rollDefault), or could be animated by quickly cycling through potential matches.
Completion menu should show possible rolls (emotes ending with
#
) among completion options. There are a few things to decide or figure out first:Ordering
Potential rolls should appear either before or after all other numeric matches. Normally,
name#
would appear betweenname
andname2
. As a parameter for the collator,ignorePunctuation
causesname#
andname
to be treated as equal, though this may not be foolproof as sort is not be guaranteed to be stable. A custom comparator could resolve all possible ordering issues.Useful results
Only show non-trivial rolls, as any valid emote followed by
#
is a technically valid roll (first emote in any set does not have a1
suffix). Only show rolls when::mike
, but not:mimi
):mike
, but not:mike3
):h3h3
, but not:mike3
or:h3h
)If the current query contains a roll which would which would be valid (even if not otherwise shown, based on the previous rules) or a wildcard match as described in #12, show it as the only match.
Rendering
Rolls could either be rendered as the fallback emote (
rollDefault
), or could be animated by quickly cycling through potential matches.