Metadata-Version: 1.0
Name: vimpdb
Version: 0.2
Summary: VIM PDB support
Home-page: https://svn.plone.org/svn/collective/vimpdb/trunk
Author: Stefan Eletzhofer
Author-email: stefan.eletzhofer@inquant.de
License: GPL
Description: ======
        vimpdb
        ======
        
        CAUTION: work-in-progress
        
        PDB support for VIM.
        
        Prerequisites:
        - a python-enabled VIM (test: ":python import os" in VIM)
        - VIM servermode compiled in (on OS X this requires MacVIM_)
        
        .. _MacVim: http://code.google.com/p/macvim/
        
        Usage
        -----
        
        Open a terminal and start a VIM with servername 'PDB'::
        
        $ mvim --servername PDB
        
        Then, from the program to be debugged use it like **pdb**,
        
        >>> import vimpdb; vimpdb . set_trace()
        
        (the blanks above are needed due to some dumb SVN precommit hook)
        
        When this line is hit, PDB starts and your PDB-VIM should load
        the source code and highlight the current LOC.  Additionally you
        should get a "PDB" menu, where you can set/toggle breakpoints
        etc.
        
        The *vimpdb* code tries to launch *MacVIM*, which it will try to locate using
        the **GVIM** environment variable::
        
        $ export GVIM=/User/seletz/bin/mvim
        
        Note, the **mvim** script is a bash script included in the *MacVIM* package which
        tries to locate the *MacVIM* executable.  If you have *MacVIM* in */Applications*,
        then this should "Just Work".  For convenience, the above variable should be put
        in your *~/.bash_profile* or similar.
        
        How does (should) that work?
        ----------------------------
        
        **vimpdb** is a subclass of **pdb.Pdb**, which hijacks the command loop
        and listens for UDP packets on port 6666 (blocking).  To inform the
        VIM process what's happening, it uses VIM's *remote commands*.
        
        On the VIM side there's basically just a VIM script which does the
        higlight, set up the menu, and defines a function to send UDP messages.
        
        That's all.
        
        Bugs
        ----
        
        - sometimes the vim script is not sourced correctly
        - there are no easy keyboard commands for using the debugger,
        one needs to use the menu.
        - no security
        - network settings hard coded
        
Keywords: vim pdb
Platform: UNKNOWN
