jaredly / vim-debug

A plugin for VIM that creates an Integrated Debugging Environment :) Currently works with PHP and Python
http://jaredforsyth.com/projects/vim-debug
MIT License
284 stars 28 forks source link

[patch] Add support for passing args to the debugged script (python) #9

Open fisadev opened 13 years ago

fisadev commented 13 years ago

Example:

:Dbg ". hello world"

Executes the current script with "hello world" as arguments.

Patch supplied:

diff -Naur orig//commands.py new//commands.py
--- orig//commands.py   2011-01-27 13:19:39.366748310 -0300
+++ new//commands.py    2011-01-27 13:17:35.066748310 -0300
@@ -62,7 +62,7 @@
     if debugger and debugger.started:
         return
     if url is not None:
-        if url in ('.', '-'):
+        if url[0] in ('.', '-'):
             pass
         elif url.isdigit():
             urls = load_urls()
@@ -81,11 +81,11 @@
             debugger.init_vim()
             global _commands
             _commands = debugger.commands()
-            if url == '.':
+            if url[0] == '.':
                 if not (os.path.exists(fname) and fname.endswith('.py')):
                     print 'Current file is not python (or doesn\'t exist on your hard drive)'
                     return
-                debugger.start_py(fname)
+                debugger.start_py(fname + url[1:])
             elif url == '-':
                 debugger.start()
             else:
diff -Naur orig//new_debugger.py new//new_debugger.py
--- orig//new_debugger.py   2011-01-27 13:19:47.722748309 -0300
+++ new//new_debugger.py    2011-01-27 13:21:15.702748310 -0300
@@ -113,7 +113,7 @@
         return self.start()

     def start_py(self, fname):
-        subprocess.Popen(('pydbgp.py', '-d', 'localhost:9000', fname), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+        subprocess.Popen(('pydbgp.py', '-d', 'localhost:9000') + tuple(fname.split()), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
         self._type = 'python'
         return self.start()
dpeinado commented 9 years ago

Thank you. Why not to include this patch into the main version?

jaredly commented 9 years ago

This doesn't account for file names that might start with a period or a dash. Otherwise, it looks good