pub(crate) fn read_query_term(&mut self) -> CallResult {
self.user_input.reset();
+ set_emit_newline(true);
set_prompt(true);
// let result = self.machine_st.read_term(self.user_input, &mut self.indices);
let result = self.machine_st.read_term_from_user_input(self.user_input, &mut self.indices);
}
static mut PROMPT: bool = false;
+static mut EMIT_NEWLINE: bool = false;
const HISTORY_FILE: &'static str = ".scryer_history";
+pub(crate) fn set_emit_newline(value: bool) {
+ unsafe {
+ EMIT_NEWLINE = value;
+ }
+}
+
pub(crate) fn set_prompt(value: bool) {
unsafe {
PROMPT = value;
self.save_history();
PROMPT = false;
}
- }
- if self.pending_input.get_ref().get_ref().chars().last() != Some('\n') {
- *self.pending_input.get_mut().get_mut() += "\n";
+ if EMIT_NEWLINE {
+ if self.pending_input.get_ref().get_ref().chars().last() != Some('\n') {
+ *self.pending_input.get_mut().get_mut() += "\n";
+ }
+ }
}
Ok(self.pending_input.get_ref().get_ref().len())