message: Proper handle exit signals
diff: @@ -30,7 +30,7 @@ use command_executor::CommandExecutor;
  use commands::{common, did, ledger, pool, wallet, payment_address};
  use utils::history;
  -use linefeed::{Reader, ReadResult, Terminal};
  +use linefeed::{Reader, ReadResult, Terminal, Signal};
  use linefeed::complete::{Completer, Completion};
  use std::env;
  @@ -205,7 +205,9 @@ fn execute_interactive<T>(command_executor: CommandExecutor, mut reader: Reader<
  reader.set_prompt(&command_executor.ctx().get_prompt());
  history::load(&mut reader).ok();
  - while let Ok(ReadResult::Input(line)) = reader.read_line() {
  + while let Ok(read_result) = reader.read_line() {
  + match read_result {
  + ReadResult::Input(line) => {
  let line = line.trim();
  if line.is_empty() {
  continue;
  @@ -221,6 +223,13 @@ fn execute_interactive<T>(command_executor: CommandExecutor, mut reader: Reader<
  history::persist(&mut reader).ok();
  break;
  }
  + },
  + ReadResult::Eof | ReadResult::Signal(Signal::Quit) | ReadResult::Signal(Signal::Break)| ReadResult::Signal(Signal::Interrupt) => {
  + history::persist(&mut reader).ok();
  + break;
  + },
  + _ => {break}
  + }
  }
  }
  