Lines Matching refs:Data

112   LineEditor::InternalData *Data;  in ElGetPromptFn()  local
113 if (el_get(EL, EL_CLIENTDATA, &Data) == 0) in ElGetPromptFn()
114 return Data->LE->getPrompt().c_str(); in ElGetPromptFn()
123 LineEditor::InternalData *Data; in ElCompletionFn() local
124 if (el_get(EL, EL_CLIENTDATA, &Data) == 0) { in ElCompletionFn()
125 if (!Data->ContinuationOutput.empty()) { in ElCompletionFn()
127 FILE *Out = Data->Out; in ElCompletionFn()
130 ::fwrite(Data->ContinuationOutput.c_str(), in ElCompletionFn()
131 Data->ContinuationOutput.size(), 1, Out); in ElCompletionFn()
135 std::string Prevs(Data->PrevCount, '\02'); in ElCompletionFn()
138 Data->ContinuationOutput.clear(); in ElCompletionFn()
144 LineEditor::CompletionAction Action = Data->LE->getCompletionAction( in ElCompletionFn()
166 raw_string_ostream OS(Data->ContinuationOutput); in ElCompletionFn()
181 OS << Data->LE->getPrompt() in ElCompletionFn()
186 Data->PrevCount = LI->lastchar - LI->cursor; in ElCompletionFn()
200 Data(new InternalData) { in LineEditor()
204 Data->LE = this; in LineEditor()
205 Data->Out = Out; in LineEditor()
207 Data->Hist = ::history_init(); in LineEditor()
208 assert(Data->Hist); in LineEditor()
210 Data->EL = ::el_init(ProgName.str().c_str(), In, Out, Err); in LineEditor()
211 assert(Data->EL); in LineEditor()
213 ::el_set(Data->EL, EL_PROMPT, ElGetPromptFn); in LineEditor()
214 ::el_set(Data->EL, EL_EDITOR, "emacs"); in LineEditor()
215 ::el_set(Data->EL, EL_HIST, history, Data->Hist); in LineEditor()
216 ::el_set(Data->EL, EL_ADDFN, "tab_complete", "Tab completion function", in LineEditor()
218 ::el_set(Data->EL, EL_BIND, "\t", "tab_complete", NULL); in LineEditor()
219 ::el_set(Data->EL, EL_BIND, "^r", "em-inc-search-prev", in LineEditor()
221 ::el_set(Data->EL, EL_BIND, "^w", "ed-delete-prev-word", in LineEditor()
223 ::el_set(Data->EL, EL_BIND, "\033[3~", "ed-delete-next-char", in LineEditor()
225 ::el_set(Data->EL, EL_CLIENTDATA, Data.get()); in LineEditor()
228 ::history(Data->Hist, &HE, H_SETSIZE, 800); in LineEditor()
229 ::history(Data->Hist, &HE, H_SETUNIQUE, 1); in LineEditor()
236 ::history_end(Data->Hist); in ~LineEditor()
237 ::el_end(Data->EL); in ~LineEditor()
238 ::fwrite("\n", 1, 1, Data->Out); in ~LineEditor()
244 ::history(Data->Hist, &HE, H_SAVE, HistoryPath.c_str()); in saveHistory()
251 ::history(Data->Hist, &HE, H_LOAD, HistoryPath.c_str()); in loadHistory()
258 const char *Line = ::el_gets(Data->EL, &LineLen); in readLine()
271 ::history(Data->Hist, &HE, H_ENTER, Line); in readLine()
287 : Prompt((ProgName + "> ").str()), Data(new InternalData) { in LineEditor()
288 Data->In = In; in LineEditor()
289 Data->Out = Out; in LineEditor()
293 ::fwrite("\n", 1, 1, Data->Out); in ~LineEditor()
300 ::fprintf(Data->Out, "%s", Prompt.c_str()); in readLine()
305 char *Res = ::fgets(Buf, sizeof(Buf), Data->In); in readLine()