pub struct LanguageConfig {Show 13 fields
pub id: &'static str,
pub extensions: &'static [&'static str],
pub entity_node_types: &'static [&'static str],
pub container_node_types: &'static [&'static str],
pub call_entity_identifiers: &'static [&'static str],
pub extra_ident_chars: &'static [char],
pub strip_strategy: StripStrategy,
pub has_slash_qualified_refs: bool,
pub extract_map_entries: bool,
pub suppressed_nested_entities: &'static [SuppressedNestedEntity],
pub scope_boundary_types: &'static [&'static str],
pub get_language: fn() -> Option<Language>,
pub scope_resolve: Option<&'static ScopeResolveConfig>,
}Fields§
§id: &'static str§extensions: &'static [&'static str]§entity_node_types: &'static [&'static str]§container_node_types: &'static [&'static str]§call_entity_identifiers: &'static [&'static str]§extra_ident_chars: &'static [char]Extra characters (beyond alphanumeric and _) that are valid identifier
constituents for this language. Used by the tokenizer and reference scanner.
E.g. Clojure uses ['-', '?', '!', '*', '='] for kebab-case, predicates,
bang functions, dynamic vars, and equality operators.
strip_strategy: StripStrategyHow to strip comments and string literals from content for this language.
has_slash_qualified_refs: boolWhether this language uses alias/name qualified references (e.g. Clojure).
When true, resolve_entity_references runs a post-processing pass to resolve
these qualified calls via the import table.
extract_map_entries: boolWhen true, a top-level map_lit node is broken into individual named entities,
one per keyword key–value pair. Used for EDN data files (deps.edn, etc.) where
the meaningful units are top-level map entries, not code definition forms.
suppressed_nested_entities: &'static [SuppressedNestedEntity]§scope_boundary_types: &'static [&'static str]Node types that introduce a new scope. The general (non-container) recursion in visit_node will not descend into these nodes, preventing local variables inside function bodies from being extracted as top-level entities.
get_language: fn() -> Option<Language>§scope_resolve: Option<&'static ScopeResolveConfig>Auto Trait Implementations§
impl Freeze for LanguageConfig
impl RefUnwindSafe for LanguageConfig
impl Send for LanguageConfig
impl Sync for LanguageConfig
impl Unpin for LanguageConfig
impl UnsafeUnpin for LanguageConfig
impl UnwindSafe for LanguageConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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