Skip to main content

reef/
lib.rs

1//! Reef — bash compatibility layer for fish shell.
2//!
3//! Provides bash detection, translation, passthrough execution, and a
4//! persistent bash coprocess daemon for seamless bash usage from fish.
5//!
6//! # Modules
7//!
8//! - [`detect`] — fast heuristic for identifying bash-specific syntax
9//! - [`translate`] — bash-to-fish translation via AST
10//! - [`parser`] — recursive-descent bash parser (produces [`ast`] nodes)
11//! - [`ast`] — zero-copy abstract syntax tree types
12//! - [`passthrough`] — bash subprocess execution with environment diffing
13//! - [`daemon`] — persistent bash coprocess over a Unix domain socket
14//! - [`env_diff`] — environment snapshot capture and diffing
15//! - [`state`] — state file persistence for exported variables
16
17#![forbid(unsafe_code)]
18#![deny(missing_docs)]
19#![warn(clippy::all, clippy::pedantic)]
20// Targeted pedantic allows — each justified:
21#![allow(clippy::wildcard_imports)] // `use crate::ast::*` is intentional for AST types
22#![allow(clippy::too_many_lines)] // parser/translator functions are inherently long
23#![allow(clippy::items_after_statements)] // local structs near their usage is clearer
24
25pub mod ast;
26pub mod daemon;
27pub mod detect;
28pub mod env_diff;
29pub mod lexer;
30pub mod parser;
31pub mod passthrough;
32pub mod state;
33pub mod translate;