00001 00002 /****************************************************************************** 00003 * MODULE : shell.hpp 00004 * DESCRIPTION: Main routines for mmx-light 00005 * COPYRIGHT : (C) 2007 Gregoire Lecerf 00006 ******************************************************************************* 00007 * This software falls under the GNU general public license and comes WITHOUT 00008 * ANY WARRANTY WHATSOEVER. See the file $TEXMACS_PATH/LICENSE for more details. 00009 * If you don't have this file, write to the Free Software Foundation, Inc., 00010 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00011 ******************************************************************************/ 00012 00013 #ifndef __SHELL_HPP 00014 #define __SHELL_HPP 00015 00016 #include <basix/string.hpp> 00017 #include <basix/list.hpp> 00018 #include <basix/parse_tools.hpp> 00019 #include <mmxlight/mmxlight-config.hpp> 00020 00021 namespace mmx { 00022 00023 // global variables that can be modified during the shell session 00024 extern bool script_mode; 00025 extern bool quiet_mode; 00026 extern bool debug_mode; 00027 extern bool type_mode; 00028 extern bool time_mode; 00029 extern nat history_size; // Number of lines to be saved in the history file. 00030 00031 // global variables set for the whole session 00032 extern bool completion_mode; 00033 extern bool batch_mode; 00034 extern bool replay_mode; 00035 00036 extern bool no_boot; 00037 00038 // identifier list for completion 00039 extern list<string> identifiers_for_completion; 00040 00041 list<string> shell_initialize (int argc, char** argv); 00042 00043 bool shell_terminal_input (string& in); 00044 bool shell_terminal_batch_input (string& in); 00045 void shell_terminal_output (const generic& g, const generic& t); 00046 bool shell_terminal_print_parse_errors (const list<generic>& errors); 00047 bool shell_terminal_print_exception (const generic& g); 00048 void shell_texmacs_initialize (void); 00049 bool shell_texmacs_input (string& in); 00050 void shell_texmacs_output (const generic& g, const generic& t); 00051 00052 void shell_save_history (void); 00053 void shell_load_history (void); 00054 00055 void shell_save_session (void); 00056 // save the input of the current session 00057 00058 vector<string> shell_restore_session (void); 00059 // load the input of the previous session 00060 00061 vector<generic> mmx_history (); 00062 void mmx_exit (const int& i); 00063 void mmx_quit (); 00064 00065 } // namespace mmx 00066 #endif // __SHELL_HPP
1.7.2