Skip to main content

Config

Struct Config 

Source
pub struct Config {
    pub resolver: PathResolver,
    pub system_dict: Option<PathBuf>,
    pub user_dicts: Vec<PathBuf>,
    pub character_definition_file: PathBuf,
    pub connection_cost_plugins: Vec<Value>,
    pub input_text_plugins: Vec<Value>,
    pub oov_provider_plugins: Vec<Value>,
    pub path_rewrite_plugins: Vec<Value>,
    pub projection: SurfaceProjection,
}
Expand description

Setting data loaded from config file

Fields§

§resolver: PathResolver

Paths will be resolved against these roots, until a file will be found

§system_dict: Option<PathBuf>§user_dicts: Vec<PathBuf>§character_definition_file: PathBuf§connection_cost_plugins: Vec<Value>§input_text_plugins: Vec<Value>§oov_provider_plugins: Vec<Value>§path_rewrite_plugins: Vec<Value>§projection: SurfaceProjection

Implementations§

Source§

impl Config

Source

pub fn new( config_file: Option<PathBuf>, resource_dir: Option<PathBuf>, dictionary_path: Option<PathBuf>, ) -> Result<Self, ConfigError>

Creates a config from optional config, resource, and dictionary paths.

Resolution precedence is:

  1. resource_dir (if given).
  2. The path field in the config_file (if set).
  3. The parent directory of the config_file (if given).
  4. The default (embedded) resources.

When config_file is None, the embedded default sudachi.json is used as config data.

Source

pub fn empty() -> Self

Source

pub fn new_embedded() -> Result<Self, ConfigError>

Source

pub fn minimal_at(resolver: PathResolver) -> Config

Creates a minimal config with the provided path resolver

Source

pub fn with_system_dic(self, system: impl Into<PathBuf>) -> Config

Sets the system dictionary to the provided path

Source

pub fn resolve_paths(&self, path: String) -> Vec<String>

Source

pub fn complete_path<P: AsRef<Path> + Into<PathBuf>>( &self, file_path: P, ) -> Result<PathBuf, ConfigError>

Resolves a possibly relative path with regards to all possible anchors:

  1. Absolute paths stay as they are
  2. Paths are resolved wrt to anchors, returning the first existing one
  3. Path are checked wrt to CWD
  4. If all fail, return an error with all candidate paths listed
Source

pub fn resolved_system_dict(&self) -> Result<PathBuf, ConfigError>

Source

pub fn resolved_user_dicts(&self) -> Result<Vec<PathBuf>, ConfigError>

Trait Implementations§

Source§

impl Clone for Config

Source§

fn clone(&self) -> Config

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Config

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Config

Source§

fn default() -> Config

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.