Skip to content

Hide pieces of the API #20

@MinusGix

Description

@MinusGix

There's various pieces of the API that should probably be hidden or made non-constructable.
Hiding functions would allow us to later replace or alter the code behind them without breaking 'good' plugins because they shouldn't be using them directly. Making some structures non-constructable would let us add fields in the future easily.

  • handle_rpc is an internal function, it should be #[doc(hidden)].
  • Ideally users should never have to use object_from_stdin/object_from_stdout. These should probably be internal, and we just pass the requests/notifications to the plugin.
  • parse_stdin should be hidden
  • Http should be made non-constructable (add a hidden empty marker field), just in case.
  • VoltEnvironment should be made non-constructable.
    • Really I think VoltEnvironment should have to be created if you want to use it.
    • Would let us cache values in the future.
  • PluginError should perhaps be #[non_exhaustive] in case we want to add other error kinds with types in the future.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions