Struct lalrpop::Configuration
source · pub struct Configuration { /* private fields */ }
Expand description
Configure various aspects of how LALRPOP works.
Intended for use within a build.rs
script.
To get the default configuration, use Configuration::new
.
Implementations§
source§impl Configuration
impl Configuration
sourcepub fn new() -> Configuration
pub fn new() -> Configuration
Creates the default configuration; equivalent to Configuration::default
.
sourcepub fn always_use_colors(&mut self) -> &mut Configuration
pub fn always_use_colors(&mut self) -> &mut Configuration
Always use ANSI colors in output, even if output does not appear to be a TTY.
sourcepub fn never_use_colors(&mut self) -> &mut Configuration
pub fn never_use_colors(&mut self) -> &mut Configuration
Never use ANSI colors in output, even if output appears to be a TTY.
sourcepub fn use_colors_if_tty(&mut self) -> &mut Configuration
pub fn use_colors_if_tty(&mut self) -> &mut Configuration
Use ANSI colors in output if output appears to be a TTY, but not otherwise. This is the default.
sourcepub fn set_in_dir<P>(&mut self, dir: P) -> &mut Selfwhere
P: Into<PathBuf>,
pub fn set_in_dir<P>(&mut self, dir: P) -> &mut Selfwhere
P: Into<PathBuf>,
Specify a custom directory to search for input files. This
directory is recursively searched for .lalrpop
files to be
considered as input files. This configuration setting also
impacts where output files are placed; paths are made relative
to the input path before being resolved relative to the output
path. By default, the input directory is the current working
directory.
sourcepub fn set_out_dir<P>(&mut self, dir: P) -> &mut Selfwhere
P: Into<PathBuf>,
pub fn set_out_dir<P>(&mut self, dir: P) -> &mut Selfwhere
P: Into<PathBuf>,
Specify a custom directory to use when writing output files. By default, the output directory is the same as the input directory.
sourcepub fn use_cargo_dir_conventions(&mut self) -> &mut Self
pub fn use_cargo_dir_conventions(&mut self) -> &mut Self
Apply cargo
directory location conventions, by setting the
input directory to src
and the output directory to
$OUT_DIR
.
sourcepub fn generate_in_source_tree(&mut self) -> &mut Self
pub fn generate_in_source_tree(&mut self) -> &mut Self
Write output files in the same directory of the input files.
If this option is enabled, you have to load the parser as a module:
mod parser; // synthesized from parser.lalrpop
This was the default behaviour up to version 0.15.
sourcepub fn force_build(&mut self, val: bool) -> &mut Configuration
pub fn force_build(&mut self, val: bool) -> &mut Configuration
If true, always convert .lalrpop
files into .rs
files, even if the
.rs
file is newer. Default is false.
sourcepub fn emit_comments(&mut self, val: bool) -> &mut Configuration
pub fn emit_comments(&mut self, val: bool) -> &mut Configuration
If true, emit comments into the generated code. This makes the generated code significantly larger. Default is false.
sourcepub fn emit_whitespace(&mut self, val: bool) -> &mut Configuration
pub fn emit_whitespace(&mut self, val: bool) -> &mut Configuration
If false, shrinks the generated code by removing redundant white space. Default is true.
sourcepub fn emit_report(&mut self, val: bool) -> &mut Configuration
pub fn emit_report(&mut self, val: bool) -> &mut Configuration
If true, emit report file about generated code.
sourcepub fn log_quiet(&mut self) -> &mut Configuration
pub fn log_quiet(&mut self) -> &mut Configuration
Minimal logs: only for errors that halt progress.
sourcepub fn log_info(&mut self) -> &mut Configuration
pub fn log_info(&mut self) -> &mut Configuration
Informative logs: give some high-level indications of progress (default).
sourcepub fn log_verbose(&mut self) -> &mut Configuration
pub fn log_verbose(&mut self) -> &mut Configuration
Verbose logs: more than info, but still not overwhelming.
sourcepub fn log_debug(&mut self) -> &mut Configuration
pub fn log_debug(&mut self) -> &mut Configuration
Debug logs: better redirect this to a file. Intended for debugging LALRPOP itself.
sourcepub fn set_features<I>(&mut self, iterable: I) -> &mut Configurationwhere
I: IntoIterator<Item = String>,
pub fn set_features<I>(&mut self, iterable: I) -> &mut Configurationwhere
I: IntoIterator<Item = String>,
Sets the features used during compilation, disables the use of cargo features.
(Default: Loaded from CARGO_FEATURE_{}
environment variables).
sourcepub fn process(&self) -> Result<(), Box<dyn Error>>
pub fn process(&self) -> Result<(), Box<dyn Error>>
Process all files according to the set_in_dir
and
set_out_dir
configuration.
sourcepub fn process_current_dir(&self) -> Result<(), Box<dyn Error>>
pub fn process_current_dir(&self) -> Result<(), Box<dyn Error>>
Process all files in the current directory, which – unless you have changed it – is typically the root of the crate being compiled.
Trait Implementations§
source§impl Clone for Configuration
impl Clone for Configuration
source§fn clone(&self) -> Configuration
fn clone(&self) -> Configuration
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more