nushell/crates/nu-protocol/src/lib.rs
Stefan Holderbach f695ba408a
Restructure nu-protocol in more meaningful units (#11917)
This is partially "feng-shui programming" of moving things to new
separate places.

The later commits include "`git blame` tollbooths" by moving out chunks
of code into new files, which requires an extra step to track things
with `git blame`. We can negiotiate if you want to keep particular
things in their original place.

If egregious I tried to add a bit of documentation. If I see something
that is unused/unnecessarily `pub` I will try to remove that.


- Move `nu_protocol::Exportable` to `nu-parser`
- Guess doccomment for `Exportable`
- Move `Unit` enum from `value` to `AST`
- Move engine state `Variable` def into its folder
- Move error-related files in `nu-protocol` subdir
- Move `pipeline_data` module into its own folder
- Move `stream.rs` over into the `pipeline_data` mod
- Move `PipelineMetadata` into its own file
- Doccomment `PipelineMetadata`
- Remove unused `is_leap_year` in `value/mod`
- Note about criminal `type_compatible` helper
- Move duration fmting into new `value/duration.rs`
- Move filesize fmting logic to new `value/filesize`
- Split reexports from standard imports in `value/mod`
- Doccomment trait `CustomValue`
- Polish doccomments and intradoc links
2024-03-10 18:45:45 +01:00

43 lines
808 B
Rust

mod alias;
pub mod ast;
pub mod config;
pub mod debugger;
mod did_you_mean;
pub mod engine;
mod errors;
pub mod eval_base;
pub mod eval_const;
mod example;
mod id;
mod lev_distance;
mod module;
mod pipeline_data;
#[cfg(feature = "plugin")]
mod plugin;
mod signature;
pub mod span;
mod syntax_shape;
mod ty;
pub mod util;
mod value;
pub use alias::*;
pub use ast::Unit;
pub use config::*;
pub use did_you_mean::did_you_mean;
pub use engine::{ENV_VARIABLE_ID, IN_VARIABLE_ID, NU_VARIABLE_ID};
pub use errors::*;
pub use example::*;
pub use id::*;
pub use lev_distance::levenshtein_distance;
pub use module::*;
pub use pipeline_data::*;
#[cfg(feature = "plugin")]
pub use plugin::*;
pub use signature::*;
pub use span::*;
pub use syntax_shape::*;
pub use ty::*;
pub use util::BufferedReader;
pub use value::*;