pub trait SyncPluginHandler<TConfiguration: Clone + Serialize> {
// Required methods
fn resolve_config(
&mut self,
config: ConfigKeyMap,
global_config: &GlobalConfiguration,
) -> PluginResolveConfigurationResult<TConfiguration>;
fn plugin_info(&mut self) -> PluginInfo;
fn license_text(&mut self) -> String;
fn check_config_updates(
&self,
message: CheckConfigUpdatesMessage,
) -> Result<Vec<ConfigChange>>;
fn format(
&mut self,
request: SyncFormatRequest<'_, TConfiguration>,
format_with_host: impl FnMut(SyncHostFormatRequest<'_>) -> FormatResult,
) -> FormatResult;
}
Expand description
Trait for implementing a Wasm plugin.
Required Methods§
Sourcefn resolve_config(
&mut self,
config: ConfigKeyMap,
global_config: &GlobalConfiguration,
) -> PluginResolveConfigurationResult<TConfiguration>
fn resolve_config( &mut self, config: ConfigKeyMap, global_config: &GlobalConfiguration, ) -> PluginResolveConfigurationResult<TConfiguration>
Resolves configuration based on the provided config map and global configuration.
Sourcefn plugin_info(&mut self) -> PluginInfo
fn plugin_info(&mut self) -> PluginInfo
Gets the plugin’s plugin info.
Sourcefn license_text(&mut self) -> String
fn license_text(&mut self) -> String
Gets the plugin’s license text.
Sourcefn check_config_updates(
&self,
message: CheckConfigUpdatesMessage,
) -> Result<Vec<ConfigChange>>
fn check_config_updates( &self, message: CheckConfigUpdatesMessage, ) -> Result<Vec<ConfigChange>>
Updates the config key map. This will be called after the CLI has upgraded the
plugin in dprint config update
.
Sourcefn format(
&mut self,
request: SyncFormatRequest<'_, TConfiguration>,
format_with_host: impl FnMut(SyncHostFormatRequest<'_>) -> FormatResult,
) -> FormatResult
fn format( &mut self, request: SyncFormatRequest<'_, TConfiguration>, format_with_host: impl FnMut(SyncHostFormatRequest<'_>) -> FormatResult, ) -> FormatResult
Formats the provided file text based on the provided file path and configuration.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.