Closed
Description
In a fork of this repository, I have implemented multiple dozens of changes and fixes. It would be cool to get a return back on the work put into this, so I'd be quite happy if some of that work was merged into this repo.
The current maintainers expressed that they are only willing to accept a PR with collective changes if I create a list of changes for them to pick from, so here it goes:
- Godbolt command (this one may already be going to be merged via Add Godbolt Command #77)
- Miri command
- Clippy command
- Macro expansion command
- Run rustfmt on macro expansion command output: Rust's raw macro expansion output is borderline unviewable due to its absolutely messed up formatting. Attempting to run rustfmt on its output makes the output so much nicer to look at
- Make
fn main
optional in?play
- Remove
?playwarn
; instead automatically showing stderr when it contains useful info - Syntax highlighting for playground command responses
- Make
?eval
dynamically behave like?play
when a user accidentally includedfn main
: this behavior is more streamlined for the user than having to switch commands - Strip boilerplate output from playground commands (think
Compiling playground
,To learn more, run the command again with --verbose.
, etc.) - Remove "compilation succeeded" message with a blank code segment
- Move crate-attributes in eval-like code to the correct place, instead of throwing a compilation error
- Correctly query crates.io: Previously, when you would do
?docs serde::something
, the bot would search for a crate namedserde::something
- which will obviously produce garbage results - Fix clippy lints
- Replace all useless instances of
pub(crate)
withpub
- Replace the heavy state machine argument parser with a more lightweight, easy to use and flexible argument parser
- Print a Discord reply when an error occurs during command execution
- Use
&Args
everywhere: previously, some places usedArgs
while other used&Args
. The inconsistency can trip you up - Inline superfluous
HOUR
constant: it was only used in a single place, and the indirection caused by this constant were causing more reading difficulties than it solved - Remove the distinction between
SendSyncError
andError
and replace all remaining instances ofBox<dyn std::error::Error>
with the designated type aliases - Add
?cleanup
command to delete lengthy bot output - Broadcast typing animation on command execution: the Playground has relatively long response times, in the realm of 3+ seconds. By broadcasting the typing information, users get immediate feedback for commands, which is more pleasant and user-friendly
Metadata
Metadata
Assignees
Labels
No labels