Skip to content

/configcommands functions should include more information #25

Description

@willkroboth

Currently, the configcommands functions command looks something like this:

Console:
> configcommands functions configcommands Boolean nonStatic !
[INFO]: Aliases: [!, not]
[INFO]: Possible parameters:
  var.!() -> Boolean
  var.not() -> Boolean
> configcommands functions configcommands Boolean nonStatic and
[INFO]: Aliases: [&&, and]
[INFO]: Possible parameters:
  var.&&(Boolean) -> Boolean
  var.and(Boolean) -> Boolean

I want it to look more like this:

Console:
> configcommands functions configcommands Boolean nonStatic !
[INFO]: Class: Boolean
[INFO]: Function: not
[INFO]: Aliases: 
[INFO]:   - !
[INFO]: Description: Returns the logical not of this Boolean
[INFO]: Parameters: none
[INFO]: Returns: The opposite of this Boolean
[INFO]: Examples:
[INFO]:   Boolean.("true").not() -> Boolean.("false")
[INFO]:   Boolean.("false").!() -> Boolean.("true")
> configcommands functions configcommands Boolean nonStatic and
[INFO]: Class: Boolean
[INFO]: Function: and
[INFO]: Aliases:
[INFO]:   - &&
[INFO]: Description: Returns the logical and of this Boolean and another Boolean
[INFO]: Parameters:
[INFO]:   - Boolean other -> the other Boolean
[INFO]: Returns: true if this and the other Boolean are true and false otherwise
[INFO]: Examples:
[INFO]:   Boolean.("true").and(Boolean.("true")) -> Boolean.("true")
[INFO]:   Boolean.("false").and(Boolean.("true")) -> Boolean.("false")
[INFO]:   Boolean.("true").and(Boolean.("false")) -> Boolean.("false")
[INFO]:   Boolean.("false").and(Boolean.("false")) -> Boolean.("false")

The new indentation scheme where every new line has [(time) INFO] before it should be easy with the new IndentedCommandSenderMessenger class, but the help messages and examples and such might require a new Function definition system. The current system isn't great anyways, with a bunch of methods in InternalArgument to format Strings and a bunch of generic VarArgs issues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Awaiting releaseIssue will be resolved by the next releaseBaseRelated to the ConfigCommand pluginenhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions