[Lldb-commits] [lldb] r296834 - Python commands as first class citizens.

Jim Ingham via lldb-commits lldb-commits at lists.llvm.org
Thu Mar 2 14:24:01 PST 2017


Author: jingham
Date: Thu Mar  2 16:24:01 2017
New Revision: 296834

URL: http://llvm.org/viewvc/llvm-project?rev=296834&view=rev
Log:
Python commands as first class citizens.

This should be a necessary precursor to adding support 
for any future extension languages.

Modified:
    lldb/trunk/www/projects.html

Modified: lldb/trunk/www/projects.html
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/www/projects.html?rev=296834&r1=296833&r2=296834&view=diff
==============================================================================
--- lldb/trunk/www/projects.html (original)
+++ lldb/trunk/www/projects.html Thu Mar  2 16:24:01 2017
@@ -198,7 +198,7 @@
                                               SomeVectorLikeType that it gets from the synthetic children.
                                               </p>
                                             </li>
-                            
+
                                             <li>
                                               Recover thread information lazily
                                               <p>
@@ -224,6 +224,24 @@
                                                 use of some particular instruction, or instruction pattern, etc."
                                               </p>
                                             </li>
+                            
+                                            <li>
+                                              Make Python-backed commands first class citizens
+                                              <p>
+                                                As it stands, Python commands have no way to advertise their options.  They are
+                                                required to parse their arguments by hand.  That leads to inconsistency, and more
+                                                importantly means they can't take advantage of auto-generated help and command
+                                                completion.  This leaves python-backed commands feeling worse than built-in ones.
+                                              </p>
+                                              <p>
+                                                As part of this job, it would also be great to hook automatically hook the "type" of an option value
+                                                or argument (e.g. eArgTypeShlibName) to sensible default completers.  You need to be able to
+                                                over-ride this in more complicated scenarios (like in "break set" where the presence of
+                                                a "-s" option limits the search for completion of a "-n" option.)  But in common cases it is
+                                                unnecessary busy-work to have to supply the completer AND the type.  If this worked, then 
+                                                it would be easier for Python commands to also get correct completers.
+                                              </p>
+                                            </li>
 
                                             <li>
                                               Documentation and better examples




More information about the lldb-commits mailing list