68     commandLine(
""), cursorPosition(1),
    69     commandHistory(maxhist), maxHistory(maxhist),
    70     currentHistoryNo(1), relativeHistoryIndex(0)
    77   const char* path = getenv(
"HOME");
    78   if( path == NULL ) 
return;
    83   std::ifstream histfile;
    87   while (histfile.good()) {
    88     if(histfile.eof()) 
break;
    90     histfile.getline(linebuf, 
BUFSIZE);
   103   const char* path = getenv(
"HOME");
   104   if( path == NULL ) 
return;
   109   std::ofstream histfile;
   110   histfile.open(fname, std::ios::out);
   156     std::ostringstream os;
   407   if(jhead != 
G4int(G4String::npos)) {
   417   if( !input.empty() ) {
   418     G4int len= input.length();
   420     for(
G4int i=len-1; i>=0; i--) {
   421       if(input[(
size_t)i]==
'/') {
   428     if(!(indx==0  && len==1)) vcmd= input(indx+1,len-indx-1);  
   446   if(jhead != 
G4int(G4String::npos)) {
   452   size_t thead = input.find_last_of(
'/');
   454   if (thead != G4String::npos) strtail = input(thead+1, input.size()-thead-1);
   460   G4int len= input.length();
   463     for(
G4int i=len-1; i>=0; i--) {
   471     if(!(indx==0  && len==1)) vcmd= input(indx+1,len-indx-1);  
   475   if(atree == NULL) 
return;
   482   int Ndir= atree-> GetTreeEntry();
   483   int Ncmd= atree-> GetCommandEntry();
   486   for(
G4int idir=1; idir<=Ndir; idir++) {
   487     G4String fpdir= atree-> GetTree(idir)-> GetPathName();
   489     if( fpdir.
index(inputpath, 0) == 0) {
   501   for(
G4int icmd=1; icmd<=Ncmd; icmd++){
   502     G4String fpcmd= atree-> GetPathName() +
   503                     atree-> GetCommand(icmd) -> GetCommandName();
   505     if( fpcmd.
index(inputpath, 0) ==0) {
   519   jhead= input.
last(
' ');
   520   if(jhead == 
G4int(G4String::npos)) jhead=0;
   528   for(i=jt; i<=
G4int(input.length())-1; i++) dspstr+= 
G4String(
' '); 
   531   dspstr+= (vpath + stream);
   532   if (nMatch == 0) dspstr+= strtail;
   533   G4cout << dspstr << std::flush;
   537   input+= (vpath + stream);
   538   if (nMatch==0) input+= strtail;
   613       if (cc == 
'[' || cc == 
'O') { 
   642   } 
while( cc != 
'\n');
   660   while( (newCommand.length() > 0) &&
   661      ( newCommand[newCommand.length()-1] == 
'_') ) {
   662     newCommand.
remove(newCommand.length()-1);
   667     newCommand.
append(newLine);
   672   for (
size_t i=0; i<newCommand.length(); i++) {
   673     if(newCommand[i] != 
' ') {
   678   if( !newCommand.empty() && isMeaningfull) 
StoreHistory(newCommand);
   692   int nlen1= str1.length();
   693   int nlen2= str2.length();
   695   int nmin = nlen1<nlen2 ? nlen1 : nlen2;
   698   for(
size_t i=0; 
G4int(i)<nmin; i++){
   699     if(str1[i]==str2[i]) {
   700       strMatched+= str1[i];
   742   termios tiosbuf= 
tios;
   744   tiosbuf.c_iflag &= ~(BRKINT | ISTRIP);
   745   tiosbuf.c_iflag |= (IGNBRK | IGNPAR);
   746   tiosbuf.c_lflag &= ~(ICANON | IEXTEN | ECHO);
   747   tiosbuf.c_cc[VMIN] = 1;
   748   tiosbuf.c_cc[VTIME] = 0;
   750   tcsetattr(0, TCSAFLUSH, &tiosbuf);
   758   tcsetattr(0, TCSAFLUSH, &
tios);
 
static const char AsciiESC
 
virtual G4String GetCommandLineString(const char *msg=0)
 
G4bool IsCursorLast() const
 
static const char AsciiCtrE
 
static const char AsciiCtrF
 
static const char AsciiCtrK
 
G4String & remove(str_size)
 
G4String strip(G4int strip_Type=trailing, char c=' ')
 
static const char AsciiDEL
 
G4int relativeHistoryIndex
 
static const int AsciiPrintableMin
 
void InsertCharacter(char cc)
 
static const char AsciiCtrD
 
void BackspaceCharacter()
 
str_size index(const char *, G4int pos=0) const
 
virtual void ListCommand(const G4String &input, const G4String &candidate="") const
 
void SetTermToInputMode()
 
std::vector< G4String > commandHistory
 
G4String RestoreHistory(G4int index)
 
virtual void MakePrompt(const char *msg=0)
 
static G4StateManager * GetStateManager()
 
G4UIcommandTree * GetCommandTree(const G4String &dir) const
 
static const char AsciiCtrS
 
static const char AsciiCtrQ
 
G4String GetFirstMatchedString(const G4String &str1, const G4String &str2) const
 
G4GLOB_DLL std::ostream G4cout
 
G4String GetCommandPathTail(const G4String &apath) const
 
virtual void ResetTerminal()
 
static const char AsciiCtrN
 
G4String GetAbsCommandDirPath(const G4String &apath) const
 
static const char AsciiCtrC
 
G4UItcsh(const G4String &prompt="%s> ", G4int maxhist=100)
 
static const G4String historyFileName
 
static const char AsciiCtrB
 
void ListMatchedCommand()
 
static const char AsciiCtrZ
 
G4String & append(const G4String &)
 
static const char AsciiBS
 
G4String currentCommandDir
 
static const char AsciiCtrP
 
static const char AsciiCtrL
 
static const char AsciiCtrA
 
void InitializeCommandLine()
 
static const char AsciiTAB
 
G4ApplicationState GetCurrentState() const
 
void StoreHistory(G4String aCommand)