LLVM API Documentation

Classes | Public Member Functions | Static Public Member Functions
llvm::LineEditor Class Reference

#include <LineEditor.h>

List of all members.

Classes

struct  CompleterConcept
struct  CompleterModel
struct  Completion
 A possible completion at a given cursor position. More...
struct  CompletionAction
 The action to perform upon a completion request. More...
struct  InternalData
struct  ListCompleterConcept
struct  ListCompleterModel

Public Member Functions

 LineEditor (StringRef ProgName, StringRef HistoryPath="", FILE *In=stdin, FILE *Out=stdout, FILE *Err=stderr)
 ~LineEditor ()
llvm::Optional< std::string > readLine () const
void saveHistory ()
void loadHistory ()
template<typename T >
void setCompleter (T Comp)
template<typename T >
void setListCompleter (T Comp)
CompletionAction getCompletionAction (StringRef Buffer, size_t Pos) const
const std::string & getPrompt () const
void setPrompt (const std::string &P)

Static Public Member Functions

static std::string getDefaultHistoryPath (StringRef ProgName)

Detailed Description

Definition at line 22 of file LineEditor.h.


Constructor & Destructor Documentation

LineEditor::LineEditor ( StringRef  ProgName,
StringRef  HistoryPath = "",
FILE *  In = stdin,
FILE *  Out = stdout,
FILE *  Err = stderr 
)

Create a LineEditor object.

Parameters:
ProgNameThe name of the current program. Used to form a default prompt.
HistoryPathPath to the file in which to store history data, if possible.
InThe input stream used by the editor.
OutThe output stream used by the editor.
ErrThe error stream used by the editor.

Definition at line 281 of file LineEditor.cpp.

References llvm::tgtok::In, llvm::LineEditor::InternalData::In, and llvm::LineEditor::InternalData::Out.

Definition at line 288 of file LineEditor.cpp.

References llvm::LibFunc::fwrite, and llvm::LineEditor::InternalData::Out.


Member Function Documentation

Use the current completer to produce a CompletionAction for the given completion request. If the current completer is a list completer, this will return an AK_Insert CompletionAction if each completion has a common prefix, or an AK_ShowCompletions CompletionAction otherwise.

Parameters:
BufferThe string to complete
PosThe zero-based cursor position in the StringRef

Definition at line 82 of file LineEditor.cpp.

References llvm::LineEditor::CompletionAction::AK_ShowCompletions, and llvm::LineEditor::CompletionAction::Kind.

std::string LineEditor::getDefaultHistoryPath ( StringRef  ProgName) [static]
const std::string& llvm::LineEditor::getPrompt ( ) const [inline]

Definition at line 105 of file LineEditor.h.

Definition at line 293 of file LineEditor.cpp.

Optional< std::string > LineEditor::readLine ( ) const

Definition at line 292 of file LineEditor.cpp.

template<typename T >
void llvm::LineEditor::setCompleter ( T  Comp) [inline]

Set the completer for this LineEditor. A completer is a function object which takes arguments of type StringRef (the string to complete) and size_t (the zero-based cursor position in the StringRef) and returns a CompletionAction.

Definition at line 84 of file LineEditor.h.

template<typename T >
void llvm::LineEditor::setListCompleter ( T  Comp) [inline]

Set the completer for this LineEditor to the given list completer. A list completer is a function object which takes arguments of type StringRef (the string to complete) and size_t (the zero-based cursor position in the StringRef) and returns a std::vector<Completion>.

Definition at line 92 of file LineEditor.h.

void llvm::LineEditor::setPrompt ( const std::string &  P) [inline]

Definition at line 106 of file LineEditor.h.


The documentation for this class was generated from the following files: