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 - Server-side only #33

Closed
wants to merge 31 commits into from

Conversation

RedFlames
Copy link
Collaborator

This is only the server-side stuff necessary for tab completion.

(This is cherry-picked from #26)

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 a client doesn't understand the DataCommandList DataType it will just be ignored and current clients run as usual.

If we merge & release this first, dev clients could properly evalute #26 on the live server.


Things to note:

The using static Celeste.Mod.CelesteNet.DataTypes.DataCommandList; is probably a bit of a sin?... I threw that into every ChatCMD... class just so that I could use the enum CompletionType values there...

…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
…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.
@RedFlames
Copy link
Collaborator Author

RedFlames commented Oct 9, 2022

Accidentally merged the entirety of #26 into this and even with a revert, the whole commit history is trashed here now, so closing here and opened new PR with new cherry-pick branch...

@RedFlames RedFlames closed this Oct 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant