cc_toolgate/parse/mod.rs
1//! Shell command parsing: tree-sitter-bash AST, shlex tokenizer, and pipeline types.
2//!
3//! This module provides three layers:
4//!
5//! - `shell` — tree-sitter-bash AST walker that decomposes commands into segments,
6//! operators, substitutions, and redirections.
7//! - `tokenize` — shlex-based word splitting, base command extraction, and env var parsing.
8//! - `types` — data types shared between the parser and evaluator.
9
10/// tree-sitter-bash AST walker for compound command splitting.
11pub mod shell;
12/// shlex-based tokenization: word splitting, base command extraction, env var parsing.
13pub mod tokenize;
14/// Shared types: [`ParsedPipeline`], [`ShellSegment`], [`Operator`], [`Redirection`].
15pub mod types;
16
17pub use shell::{dump_ast, has_output_redirection, parse_with_substitutions};
18pub use tokenize::{base_command, env_vars, tokenize};
19pub use types::{Operator, ParsedPipeline, Redirection, ShellSegment};