lapce-plugin-rust
lapce-plugin-rust copied to clipboard
Hide pieces of the API
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_rpcis 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_stdinshould be hidden -
Httpshould be made non-constructable (add a hidden empty marker field), just in case. -
VoltEnvironmentshould be made non-constructable.- Really I think
VoltEnvironmentshould have to be created if you want to use it. - Would let us cache values in the future.
- Really I think
-
PluginErrorshould perhaps be#[non_exhaustive]in case we want to add other error kinds with types in the future.