2019-09-14 16:29:11 -07:00
|
|
|
// stdlib
|
2019-04-11 15:23:14 -07:00
|
|
|
pub(crate) use std::{
|
|
|
|
borrow::Cow,
|
|
|
|
cmp,
|
|
|
|
collections::{BTreeMap, BTreeSet},
|
|
|
|
env,
|
|
|
|
fmt::{self, Display, Formatter},
|
2019-11-07 10:55:15 -08:00
|
|
|
fs,
|
|
|
|
io::{self, Write},
|
|
|
|
iter::{self, FromIterator},
|
|
|
|
ops::{Deref, Range, RangeInclusive},
|
2019-04-11 15:23:14 -07:00
|
|
|
path::{Path, PathBuf},
|
2019-07-13 01:55:06 -07:00
|
|
|
process::{self, Command},
|
2019-10-31 17:39:25 -07:00
|
|
|
str::{self, Chars},
|
2019-04-11 15:23:14 -07:00
|
|
|
sync::{Mutex, MutexGuard},
|
|
|
|
usize, vec,
|
|
|
|
};
|
2018-03-17 09:17:41 -07:00
|
|
|
|
2019-09-14 16:29:11 -07:00
|
|
|
// dependencies
|
2019-04-11 15:23:14 -07:00
|
|
|
pub(crate) use edit_distance::edit_distance;
|
2019-10-09 00:18:53 -07:00
|
|
|
pub(crate) use libc::EXIT_FAILURE;
|
2019-04-11 15:23:14 -07:00
|
|
|
pub(crate) use log::warn;
|
|
|
|
pub(crate) use unicode_width::UnicodeWidthChar;
|
2018-03-17 09:17:41 -07:00
|
|
|
|
2019-09-14 16:29:11 -07:00
|
|
|
// modules
|
2019-11-07 10:55:15 -08:00
|
|
|
pub(crate) use crate::{keyword, search};
|
2019-06-01 22:38:03 -07:00
|
|
|
|
2019-09-14 16:29:11 -07:00
|
|
|
// modules used in tests
|
2019-07-06 20:55:46 -07:00
|
|
|
#[cfg(test)]
|
|
|
|
pub(crate) use crate::testing;
|
|
|
|
|
2019-09-14 16:29:11 -07:00
|
|
|
// functions
|
2019-04-11 15:23:14 -07:00
|
|
|
pub(crate) use crate::{
|
2019-10-09 01:40:40 -07:00
|
|
|
default::default, empty::empty, load_dotenv::load_dotenv, output::output,
|
|
|
|
write_message_context::write_message_context,
|
2019-06-01 22:38:03 -07:00
|
|
|
};
|
|
|
|
|
2019-11-07 10:55:15 -08:00
|
|
|
// traits
|
2019-06-01 22:38:03 -07:00
|
|
|
pub(crate) use crate::{
|
2019-11-07 10:55:15 -08:00
|
|
|
command_ext::CommandExt, compilation_result_ext::CompilationResultExt, keyed::Keyed,
|
|
|
|
ordinal::Ordinal, platform_interface::PlatformInterface, range_ext::RangeExt,
|
2019-04-11 15:23:14 -07:00
|
|
|
};
|
|
|
|
|
2019-11-07 10:55:15 -08:00
|
|
|
// structs and enums
|
|
|
|
pub(crate) use crate::{
|
|
|
|
alias::Alias, alias_resolver::AliasResolver, analyzer::Analyzer, assignment::Assignment,
|
|
|
|
assignment_evaluator::AssignmentEvaluator, assignment_resolver::AssignmentResolver, color::Color,
|
|
|
|
compilation_error::CompilationError, compilation_error_kind::CompilationErrorKind,
|
|
|
|
compiler::Compiler, config::Config, config_error::ConfigError, count::Count,
|
|
|
|
enclosure::Enclosure, expression::Expression, fragment::Fragment, function::Function,
|
|
|
|
function_context::FunctionContext, functions::Functions, interrupt_guard::InterruptGuard,
|
|
|
|
interrupt_handler::InterruptHandler, item::Item, justfile::Justfile, lexer::Lexer, line::Line,
|
|
|
|
list::List, module::Module, name::Name, output_error::OutputError, parameter::Parameter,
|
|
|
|
parser::Parser, platform::Platform, position::Position, recipe::Recipe,
|
|
|
|
recipe_context::RecipeContext, recipe_resolver::RecipeResolver, runtime_error::RuntimeError,
|
|
|
|
search_error::SearchError, shebang::Shebang, show_whitespace::ShowWhitespace, state::State,
|
|
|
|
string_literal::StringLiteral, subcommand::Subcommand, table::Table, token::Token,
|
|
|
|
token_kind::TokenKind, use_color::UseColor, variables::Variables, verbosity::Verbosity,
|
|
|
|
warning::Warning,
|
|
|
|
};
|
2019-04-19 02:40:25 -07:00
|
|
|
|
2019-11-07 10:55:15 -08:00
|
|
|
// structs and enums used in tests
|
|
|
|
#[cfg(test)]
|
|
|
|
pub(crate) use crate::{node::Node, tree::Tree};
|
2019-04-19 02:40:25 -07:00
|
|
|
|
2019-11-07 10:55:15 -08:00
|
|
|
// type aliases
|
|
|
|
pub(crate) type CompilationResult<'a, T> = Result<T, CompilationError<'a>>;
|
2019-10-09 00:18:53 -07:00
|
|
|
pub(crate) type ConfigResult<T> = Result<T, ConfigError>;
|
2019-11-07 10:55:15 -08:00
|
|
|
pub(crate) type RunResult<'a, T> = Result<T, RuntimeError<'a>>;
|