diff --git a/src/ide.rs b/src/ide.rs index 3b5f366699..fb445cb961 100644 --- a/src/ide.rs +++ b/src/ide.rs @@ -1,10 +1,10 @@ use miette::IntoDiagnostic; use nu_cli::NuCompleter; use nu_parser::{flatten_block, parse, FlatShape}; -use nu_protocol::report_error; use nu_protocol::{ engine::{EngineState, Stack, StateWorkingSet}, - DeclId, ShellError, Span, Value, VarId, + eval_const::create_nu_constant, + report_error, DeclId, ShellError, Span, Value, VarId, NU_VARIABLE_ID, }; use reedline::Completer; use serde_json::{json, Value as JsonValue}; @@ -77,6 +77,16 @@ fn read_in_file<'a>( pub fn check(engine_state: &mut EngineState, file_path: &str, max_errors: &Value) { let cwd = std::env::current_dir().expect("Could not get current working directory."); engine_state.add_env_var("PWD".into(), Value::test_string(cwd.to_string_lossy())); + let working_set = StateWorkingSet::new(engine_state); + + let nu_const = match create_nu_constant(engine_state, Span::unknown()) { + Ok(nu_const) => nu_const, + Err(err) => { + report_error(&working_set, &err); + std::process::exit(1); + } + }; + engine_state.set_variable_const_val(NU_VARIABLE_ID, nu_const); let mut working_set = StateWorkingSet::new(engine_state); let file = std::fs::read(file_path);