pub struct Language {
pub name: String,
pub extensions: Vec<String>,
pub filenames: Vec<String>,
pub line_comments: Vec<String>,
pub block_comments: Vec<(String, String)>,
pub string_delimiters: Vec<StringDelimiter>,
pub function_pattern: Option<String>,
pub complexity_keywords: Vec<String>,
pub nested_comments: bool,
}Expand description
Definition of a programming language.
Fields§
§name: StringLanguage display name (e.g., “Rust”, “Python”).
extensions: Vec<String>File extensions (e.g., [“.rs”, “.rlib”]).
filenames: Vec<String>Special filenames (e.g., [“Makefile”, “Dockerfile”]).
line_comments: Vec<String>Single-line comment prefixes (e.g., [“//”, “#”]).
block_comments: Vec<(String, String)>Block comment delimiters (e.g., [(“/”, “/”)]).
string_delimiters: Vec<StringDelimiter>String literal delimiters for accurate parsing.
function_pattern: Option<String>Regex pattern to match function definitions.
complexity_keywords: Vec<String>Keywords that contribute to cyclomatic complexity.
nested_comments: boolWhether block comments can be nested (e.g., Rust allows /* /* */ */).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Language
impl<'de> Deserialize<'de> for Language
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Language
impl RefUnwindSafe for Language
impl Send for Language
impl Sync for Language
impl Unpin for Language
impl UnwindSafe for Language
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
Mutably borrows from an owned value. Read more