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

Chat QoL: Tab completions #26

Merged
merged 40 commits into from
Feb 12, 2023
Merged

Conversation

RedFlames
Copy link
Collaborator

@RedFlames RedFlames commented Feb 6, 2022

Update:
If #46 gets merged, this becomes Client-side only, currently you can compare the changes here:
https://github.com/RedFlames/CelesteNet/compare/chat-qol-server-only-new..chat-qol-improvements?diff=unified

Plus there's #47 and #48 splitting off different parts of this, leaving only the Tab Completion (client-side) to be merged here, afterwards.


I'm pretty happy with where this feature branch of mine is at as it stands, so I'll make another PR. I know I still have two other ones that await merging, and this one is a bit heavier too...

Overview:

  • chat can be scrolled with PgUp/PgDown, it shows interactive button prompts above the chat
  • The server now has some basic info about:
    • what sort of first argument a command expects
    • which commands are aliased to which
    • the auth tags required and it'll be smart about sending the list (regular players won't get /kick as a completion option)
  • ... and it can send this info to the client. If the client can handle this new DataType (i.e. the client in this branch) it'll use the info to generate a list of completions for:
    • command names at the initial / at the start of the input or after /help ...
    • player names if a command expects this (e.g. after /tp ...)
    • channel names for /join aka /channel
    • Tab completion only lists "full" command names and if a shorter alias matches it makes sure to list the long version too
    • When accepting a completion, a matching alias will be used to keep the input prompt concise (e.g. type /gc or /globa... -> suggests only /globalchat -> pressing Tab turns either one into /gc )
  • Chat and Player List can now be scaled with independent UI Scale in settings

image
image image image

image

…would match makes sure the base non-alias shows up too.

Added an extra flag to hide the aliasing between '/channel' and '/join' because it looks a bit funky otherwise.
Includes Popax' ping code but not the player list fix for that yet
This was referenced Oct 14, 2022
@RedFlames RedFlames changed the title Chat QoL improvements: Scrolling, Tab completions, ... Chat QoL: Tab completions Oct 23, 2022
@RedFlames RedFlames merged commit 8840fe4 into 0x0ade:main Feb 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant