diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2014-01-31 23:46:14 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2014-01-31 23:46:14 +0000 |
commit | c7d437c1188e7be2403328dee4192e9f3f015abc (patch) | |
tree | f4f477bab572fa73c5b28382e0ffe49cc82b91f4 /llvm/unittests/CMakeLists.txt | |
parent | f7d4101156fd3f5c034edde12adb1eabde07cef5 (diff) | |
download | bcm5719-llvm-c7d437c1188e7be2403328dee4192e9f3f015abc.tar.gz bcm5719-llvm-c7d437c1188e7be2403328dee4192e9f3f015abc.zip |
Introduce line editor library.
This library will be used by clang-query. I can imagine LLDB becoming another
client of this library, so I think LLVM is a sensible place for it to live.
It wraps libedit, and adds tab completion support.
The code is loosely based on the line editor bits in LLDB, with a few
improvements:
- Polymorphism for retrieving the list of tab completions, based on
the concept pattern from the new pass manager.
- Tab completion doesn't corrupt terminal output if the input covers
multiple lines. Unfortunately this can only be done in a truly horrible
way, as far as I can tell. But since the alternative is to implement our
own line editor (which I don't think LLVM should be in the business of
doing, at least for now) I think it may be acceptable.
- Includes a fallback for the case where the user doesn't have libedit
installed.
Note that this uses C stdio, mainly because libedit also uses C stdio.
Differential Revision: http://llvm-reviews.chandlerc.com/D2200
llvm-svn: 200595
Diffstat (limited to 'llvm/unittests/CMakeLists.txt')
-rw-r--r-- | llvm/unittests/CMakeLists.txt | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/unittests/CMakeLists.txt b/llvm/unittests/CMakeLists.txt index 52702ba23aa..84685e1c24d 100644 --- a/llvm/unittests/CMakeLists.txt +++ b/llvm/unittests/CMakeLists.txt @@ -12,6 +12,7 @@ add_subdirectory(CodeGen) add_subdirectory(DebugInfo) add_subdirectory(ExecutionEngine) add_subdirectory(IR) +add_subdirectory(LineEditor) add_subdirectory(MC) add_subdirectory(Object) add_subdirectory(Option) |