Added "command history" command to dump the command history.
Also made:
(lldb) !<NUM>
(lldb) !-<NUM>
(lldb) !!

work with the history.  For added benefit:

(lldb) !<NUM><TAB>

will insert the command at position <NUM> in the history into the command line to be edited.

This is only partial, I still need to sync up editline's history list with the one kept by the interpreter.

llvm-svn: 134955
diff --git a/lldb/tools/driver/IOChannel.cpp b/lldb/tools/driver/IOChannel.cpp
index 199e72c..6150d5d 100644
--- a/lldb/tools/driver/IOChannel.cpp
+++ b/lldb/tools/driver/IOChannel.cpp
@@ -85,6 +85,12 @@
         el_insertstr (m_edit_line, m_completion_key);
         return CC_REDISPLAY;
     }
+    else if (num_completions == -2)
+    {
+        el_deletestr (m_edit_line, line_info->cursor - line_info->buffer);
+        el_insertstr (m_edit_line, completions.GetStringAtIndex(0));
+        return CC_REDISPLAY;
+    }
 
     // If we get a longer match display that first.
     const char *completion_str = completions.GetStringAtIndex(0);