1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#![deny(clippy::all, clippy::pedantic, clippy::restriction)]
#![allow(
  clippy::blanket_clippy_restriction_lints,
  clippy::comparison_chain,
  clippy::create_dir,
  clippy::default_numeric_fallback,
  clippy::else_if_without_else,
  clippy::enum_glob_use,
  clippy::exhaustive_enums,
  clippy::exhaustive_structs,
  clippy::expect_used,
  clippy::filter_map,
  clippy::if_not_else,
  clippy::implicit_return,
  clippy::indexing_slicing,
  clippy::integer_arithmetic,
  clippy::let_underscore_must_use,
  clippy::map_unwrap_or,
  clippy::match_same_arms,
  clippy::missing_docs_in_private_items,
  clippy::missing_errors_doc,
  clippy::missing_inline_in_public_items,
  clippy::needless_lifetimes,
  clippy::needless_pass_by_value,
  clippy::non_ascii_literal,
  clippy::option_if_let_else,
  clippy::panic,
  clippy::panic_in_result_fn,
  clippy::pattern_type_mismatch,
  clippy::print_stdout,
  clippy::shadow_unrelated,
  clippy::string_add,
  clippy::struct_excessive_bools,
  clippy::too_many_lines,
  clippy::unnecessary_wraps,
  clippy::unreachable,
  clippy::unwrap_in_result,
  clippy::unwrap_used,
  clippy::use_debug,
  clippy::wildcard_enum_match_arm,
  clippy::wildcard_imports
)]

#[macro_use]
extern crate lazy_static;

#[cfg(test)]
#[macro_use]
pub mod testing;

#[cfg(test)]
#[macro_use]
pub mod tree;

#[cfg(test)]
pub mod node;

#[cfg(fuzzing)]
pub(crate) mod fuzzing;

mod alias;
mod analyzer;
mod assignment;
mod assignment_resolver;
mod ast;
mod binding;
mod color;
mod color_display;
mod command_ext;
mod common;
mod compile_error;
mod compile_error_kind;
mod compiler;
mod completions;
mod config;
mod config_error;
mod count;
mod delimiter;
mod dependency;
mod enclosure;
mod error;
mod evaluator;
mod expression;
mod fragment;
mod function;
mod function_context;
mod interrupt_guard;
mod interrupt_handler;
mod item;
mod justfile;
mod keyed;
mod keyword;
mod lexer;
mod line;
mod list;
mod load_dotenv;
mod loader;
mod name;
mod ordinal;
mod output;
mod output_error;
mod parameter;
mod parameter_kind;
mod parser;
mod platform;
mod platform_interface;
mod position;
mod positional;
mod range_ext;
mod recipe;
mod recipe_context;
mod recipe_resolver;
mod run;
mod scope;
mod search;
mod search_config;
mod search_error;
mod set;
mod setting;
mod settings;
mod shebang;
mod show_whitespace;
mod string_kind;
mod string_literal;
mod subcommand;
mod suggestion;
mod table;
mod thunk;
mod token;
mod token_kind;
mod unindent;
mod unresolved_dependency;
mod unresolved_recipe;
mod use_color;
mod variables;
mod verbosity;
mod warning;

pub use crate::run::run;

// Used in integration tests.
#[doc(hidden)]
pub use unindent::unindent;

// Used by Janus, https://github.com/casey/janus, a tool
// that analyses all public justfiles on GitHub to avoid
// breaking changes.
#[doc(hidden)]
pub mod summary;