Skip to main content

InputTextPlugin

Trait InputTextPlugin 

Source
pub trait InputTextPlugin: Sync + Send {
    // Required methods
    fn set_up(
        &mut self,
        settings: &Value,
        config: &Config,
        grammar: &Grammar<'_>,
    ) -> SudachiResult<()>;
    fn rewrite_impl<'a>(
        &'a self,
        input: &InputBuffer,
        edit: InputEditor<'a>,
    ) -> SudachiResult<InputEditor<'a>>;

    // Provided methods
    fn uses_chars(&self) -> bool { ... }
    fn rewrite(&self, input: &mut InputBuffer) -> SudachiResult<()> { ... }
}
Expand description

Trait of plugin to modify the input text before tokenization

Required Methods§

Source

fn set_up( &mut self, settings: &Value, config: &Config, grammar: &Grammar<'_>, ) -> SudachiResult<()>

Loads necessary information for the plugin

Source

fn rewrite_impl<'a>( &'a self, input: &InputBuffer, edit: InputEditor<'a>, ) -> SudachiResult<InputEditor<'a>>

👎Deprecated:

call rewrite instead

Actual implementation of rewriting. Call apply_rewrite instead.

Provided Methods§

Source

fn uses_chars(&self) -> bool

Whether the rewrite process uses chars

Source

fn rewrite(&self, input: &mut InputBuffer) -> SudachiResult<()>

Perform rewrites

Trait Implementations§

Source§

impl PluginCategory for dyn InputTextPlugin

Source§

type BoxType = Box<dyn InputTextPlugin + Send + Sync>

Boxed type of the plugin. Should be Box.
Source§

type InitFnType = unsafe fn() -> Result<<dyn InputTextPlugin as PluginCategory>::BoxType, SudachiError>

Type of the initialization function. It must take 0 arguments and return SudachiResult<Self::BoxType>.
Source§

fn configurations(cfg: &Config) -> &[Value]

Extract plugin configurations from the config
Source§

fn bundled_impl(name: &str) -> Option<Self::BoxType>

Create bundled plugin for plugin name Instead of full name like com.worksap.nlp.sudachi.ProlongedSoundMarkPlugin should handle only the short one: ProlongedSoundMarkPlugin Read more
Source§

fn do_setup( ptr: &mut Self::BoxType, settings: &Value, config: &Config, grammar: &mut Grammar<'_>, ) -> SudachiResult<()>

Perform initial setup. We can’t call set_up of the plugin directly in the default implementation of this method because we do not know the specific type yet

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§