diff options
Diffstat (limited to 'src/app.rs')
-rw-r--r-- | src/app.rs | 15 |
1 files changed, 3 insertions, 12 deletions
@@ -4,12 +4,12 @@ use crate::{ | |||
4 | command::CommandBox, | 4 | command::CommandBox, |
5 | consts::{colors::*, FONT_PATH}, | 5 | consts::{colors::*, FONT_PATH}, |
6 | dither, | 6 | dither, |
7 | lisp::{error::LispError, eval, lex::Lexer, parse::Parser, prelude, EnvList}, | 7 | lisp::{eval, lex::Lexer, parse::Parser, prelude, EnvList}, |
8 | message::Message, | 8 | message::Message, |
9 | rect, | 9 | rect, |
10 | symmetry::Symmetry, | 10 | symmetry::Symmetry, |
11 | undo::{ModifyRecord, OpKind, PaintRecord, UndoStack}, | 11 | undo::{ModifyRecord, OpKind, PaintRecord, UndoStack}, |
12 | utils::{draw_text, is_copy_event, is_paste_event}, | 12 | utils::{draw_text, handle_error, is_copy_event, is_paste_event}, |
13 | }; | 13 | }; |
14 | 14 | ||
15 | use std::{convert::From, fs::File, io::prelude::*, path::Path}; | 15 | use std::{convert::From, fs::File, io::prelude::*, path::Path}; |
@@ -284,7 +284,7 @@ impl<'ctx, 'file> AppState<'ctx, 'file> { | |||
284 | Ok(val) => self.message.set_info(format!("{}", val)), | 284 | Ok(val) => self.message.set_info(format!("{}", val)), |
285 | Err(eval_err) => self.message.set_error(format!("{}", eval_err)), | 285 | Err(eval_err) => self.message.set_error(format!("{}", eval_err)), |
286 | }, | 286 | }, |
287 | Err(err) => self.message = AppState::handle_error(err, &lisp_expr), | 287 | Err(err) => self.message = handle_error(err, &lisp_expr), |
288 | } | 288 | } |
289 | self.command_box.hist_append(); | 289 | self.command_box.hist_append(); |
290 | 290 | ||
@@ -292,15 +292,6 @@ impl<'ctx, 'file> AppState<'ctx, 'file> { | |||
292 | self.mode = Mode::Draw; | 292 | self.mode = Mode::Draw; |
293 | } | 293 | } |
294 | 294 | ||
295 | fn handle_error(err: LispError, src: &str) -> Message { | ||
296 | let mut message = Message::new(); | ||
297 | match err { | ||
298 | LispError::Parse(p) => message.set_error(p.display(&src)), | ||
299 | eval_err => message.set_error(eval_err.to_string()), | ||
300 | } | ||
301 | message | ||
302 | } | ||
303 | |||
304 | fn draw_grid(&mut self) { | 295 | fn draw_grid(&mut self) { |
305 | let cs = self.zoom as u32; | 296 | let cs = self.zoom as u32; |
306 | let (width, height) = (self.width(), self.height()); | 297 | let (width, height) = (self.width(), self.height()); |