manen

Fancy Lua REPL
Log | Files | Refs | README | LICENSE

commit f18bb3147ba55358c4aa2dc48699f85890e464e2
parent 85d04845b7b00680f9d273f76a14fb5115ccbb6a
Author: Sylvia Ivory <git@sivory.net>
Date:   Sat, 21 Jun 2025 23:02:07 -0700

Allow validator to accept expressions

Diffstat:
Msrc/validator.rs | 10+++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/validator.rs b/src/validator.rs @@ -30,13 +30,21 @@ impl LuaValidator { } } +fn load_lua(lua: &Lua, code: &str) -> LuaResult<LuaFunction> { + if let Ok(func) = lua.load(code).into_function() { + return Ok(func) + } + + lua.load(format!("return ({code})")).into_function() +} + impl Validator for LuaValidator { fn validate(&self, line: &str) -> ValidationResult { if line.starts_with(".") { return ValidationResult::Complete; } - match self.lua.load(line).into_function() { + match load_lua(&self.lua, line) { Ok(_) => ValidationResult::Complete, Err(_) => ValidationResult::Incomplete, }