Struct ParseOptions

Source
pub struct ParseOptions {
    pub max_concurrent_files: usize,
    pub include_hidden_files: bool,
    pub max_file_size_mb: usize,
    pub recursive: bool,
    pub ignore_patterns: Vec<String>,
    pub language_detection: LanguageDetection,
    pub enable_caching: bool,
    pub thread_pool_size: Option<usize>,
}
Expand description

Configuration options for parsing operations

This struct provides extensive configuration options for controlling how files are parsed, including concurrency settings, file size limits, and language detection strategies.

§Examples

use tree_parser::{ParseOptions, LanguageDetection};
 
// Use default options
let options = ParseOptions::default();
 
// Custom configuration
let options = ParseOptions {
    max_concurrent_files: 8,
    include_hidden_files: false,
    max_file_size_mb: 5,
    recursive: true,
    ignore_patterns: vec!["target".to_string(), "node_modules".to_string()],
    language_detection: LanguageDetection::Combined,
    enable_caching: true,
    thread_pool_size: Some(4),
};

Fields§

§max_concurrent_files: usize

Maximum number of files to parse concurrently (default: 2 * CPU cores)

§include_hidden_files: bool

Whether to include hidden files (files starting with ‘.’) in parsing

§max_file_size_mb: usize

Maximum file size in megabytes to parse (larger files are skipped)

§recursive: bool

Whether to recursively parse subdirectories

§ignore_patterns: Vec<String>

Patterns to ignore during directory traversal (supports glob patterns)

§language_detection: LanguageDetection

Strategy for detecting the programming language of files

§enable_caching: bool

Whether to enable internal caching for improved performance

§thread_pool_size: Option<usize>

Optional thread pool size (None uses system default)

Trait Implementations§

Source§

impl Clone for ParseOptions

Source§

fn clone(&self) -> ParseOptions

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ParseOptions

Source§

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

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

impl Default for ParseOptions

Source§

fn default() -> Self

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

impl<'de> Deserialize<'de> for ParseOptions

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for ParseOptions

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. 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> 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.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,