38 lines
945 B
Rust
38 lines
945 B
Rust
//! Implements a tokenizer and parsers for POSIX / bash shell syntax.
|
|
|
|
// TODO(unwrap): remove or scope this allow attribute
|
|
#![allow(clippy::unwrap_used)]
|
|
|
|
pub mod arithmetic;
|
|
pub mod ast;
|
|
pub mod pattern;
|
|
pub mod prompt;
|
|
pub mod readline_binding;
|
|
pub mod test_command;
|
|
pub mod word;
|
|
|
|
mod error;
|
|
mod parser;
|
|
mod source;
|
|
mod tokenizer;
|
|
|
|
#[cfg(test)]
|
|
mod snapshot_tests;
|
|
|
|
pub use error::{
|
|
BindingParseError, ParseError, ParseErrorLocation, TestCommandParseError, WordParseError,
|
|
};
|
|
|
|
#[cfg(feature = "diagnostics")]
|
|
pub use error::miette::PrettyError;
|
|
|
|
#[cfg(feature = "winnow-parser")]
|
|
pub use parser::winnow_str;
|
|
pub use parser::{Parser, ParserBuilder, ParserImpl, ParserOptions, SourceInfo, parse_tokens};
|
|
|
|
pub use source::{SourcePosition, SourcePositionOffset, SourceSpan};
|
|
pub use tokenizer::{
|
|
Token, TokenLocation, TokenizerError, TokenizerOptions, tokenize_str,
|
|
tokenize_str_with_options, uncached_tokenize_str, unquote_str,
|
|
};
|