Lines Matching refs:Data
113 LineEditor::InternalData *Data; in ElGetPromptFn() local
114 if (el_get(EL, EL_CLIENTDATA, &Data) == 0) in ElGetPromptFn()
115 return Data->LE->getPrompt().c_str(); in ElGetPromptFn()
124 LineEditor::InternalData *Data; in ElCompletionFn() local
125 if (el_get(EL, EL_CLIENTDATA, &Data) == 0) { in ElCompletionFn()
126 if (!Data->ContinuationOutput.empty()) { in ElCompletionFn()
128 FILE *Out = Data->Out; in ElCompletionFn()
131 ::fwrite(Data->ContinuationOutput.c_str(), in ElCompletionFn()
132 Data->ContinuationOutput.size(), 1, Out); in ElCompletionFn()
136 std::string Prevs(Data->PrevCount, '\02'); in ElCompletionFn()
139 Data->ContinuationOutput.clear(); in ElCompletionFn()
145 LineEditor::CompletionAction Action = Data->LE->getCompletionAction( in ElCompletionFn()
167 raw_string_ostream OS(Data->ContinuationOutput); in ElCompletionFn()
182 OS << Data->LE->getPrompt() in ElCompletionFn()
187 Data->PrevCount = LI->lastchar - LI->cursor; in ElCompletionFn()
201 Data(new InternalData) { in LineEditor()
205 Data->LE = this; in LineEditor()
206 Data->Out = Out; in LineEditor()
208 Data->Hist = ::history_init(); in LineEditor()
209 assert(Data->Hist); in LineEditor()
211 Data->EL = ::el_init(ProgName.str().c_str(), In, Out, Err); in LineEditor()
212 assert(Data->EL); in LineEditor()
214 ::el_set(Data->EL, EL_PROMPT, ElGetPromptFn); in LineEditor()
215 ::el_set(Data->EL, EL_EDITOR, "emacs"); in LineEditor()
216 ::el_set(Data->EL, EL_HIST, history, Data->Hist); in LineEditor()
217 ::el_set(Data->EL, EL_ADDFN, "tab_complete", "Tab completion function", in LineEditor()
219 ::el_set(Data->EL, EL_BIND, "\t", "tab_complete", NULL); in LineEditor()
220 ::el_set(Data->EL, EL_BIND, "^r", "em-inc-search-prev", in LineEditor()
222 ::el_set(Data->EL, EL_BIND, "^w", "ed-delete-prev-word", in LineEditor()
224 ::el_set(Data->EL, EL_BIND, "\033[3~", "ed-delete-next-char", in LineEditor()
226 ::el_set(Data->EL, EL_CLIENTDATA, Data.get()); in LineEditor()
229 ::history(Data->Hist, &HE, H_SETSIZE, 800); in LineEditor()
230 ::history(Data->Hist, &HE, H_SETUNIQUE, 1); in LineEditor()
237 ::history_end(Data->Hist); in ~LineEditor()
238 ::el_end(Data->EL); in ~LineEditor()
239 ::fwrite("\n", 1, 1, Data->Out); in ~LineEditor()
245 ::history(Data->Hist, &HE, H_SAVE, HistoryPath.c_str()); in saveHistory()
252 ::history(Data->Hist, &HE, H_LOAD, HistoryPath.c_str()); in loadHistory()
259 const char *Line = ::el_gets(Data->EL, &LineLen); in readLine()
272 ::history(Data->Hist, &HE, H_ENTER, Line); in readLine()
288 : Prompt((ProgName + "> ").str()), Data(new InternalData) { in LineEditor()
289 Data->In = In; in LineEditor()
290 Data->Out = Out; in LineEditor()
294 ::fwrite("\n", 1, 1, Data->Out); in ~LineEditor()
301 ::fprintf(Data->Out, "%s", Prompt.c_str()); in readLine()
306 char *Res = ::fgets(Buf, sizeof(Buf), Data->In); in readLine()