minimal ruby-debug-ide implementation for Vim based on vim-addon-async supporting breakpoints, stepping, ..
Vim script
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Implement ruby-debug-ide19 client for Vim

tested with ruby-1.9.2 (1.9.3 causes errors with ruby-debug19)

STATUS: This is working:
- stepping
- breakpoints
- var view, watching, evaling, sending commands to debug process manually
- restarting

  ! Requires client-server, thus X or patched Vim (eg nox patch, see vim-addon-async)

  # this installs ruby-debug19 and linecache19 as well:
  gem install ruby-debug-ide19

  The following steps are only necessary until my changes are accepted

    # get my patched version of ruby-debug-ide19
    # I'm trying to feed these changes upstream
    # thus the next two commands will not be needed in the future.

    git clone -b json

    # make sure the files of my version are found first:
    chmod +x bin/rdebug-ide

  2) start Vim *after* having set PATH and RUBYLIB as shown above.
  :e test.rb (your script to be debugged)
  You'll be asked for the script name to be debugged.
  Keep empty to connect to already running rdebug-ide process.
  You can start the server manually this way: rdebug-ide -J script.rb

  You can set breakpoints by F9 and add conditions in the RDEBUG_BREAK_POINTS_VIEW buffer
  Yes - there are some segfaults sometimes. Using latest mercurial dev version
  of Vim seems to fix most issues?
  3) hit F8 to start process
  6) step by F6 etc, see plugin/vim-addon-ruby-debug-ide.vim fun RDMappings


  - see addon-info.json
  - socat executable (probably nc/netcat works as well)

Using VAM:
  add the name "vim-addon-ruby-debug-ide" to the list of plugins to be

related work:
An implementation which works with require 'debug' only.
So why did it start this project? I want maintainable minimal and reusable code.
That's why this implementation is based on vim-addons-signs and vim-addon-async.
The code in this repo is about 500 LOC currently, not 2000.

It works nice and fast (but may crash vim sometimes), vim-ruby-debugger fails
pointing to the current breakpoint when using this mapping and hitting hit a
couple of times fast.
  noremap <F6>  :call ruby_debugger#load_debugger() <bar> call g:RubyDebugger.step()<CR>
The author told me it may happen occasionally - but did not for him. Well - I
want to work fast.

There are some more debugger script at which work with any
commandline related debugger or can be extended to work with those.
I haven't tried them. Example:

  - upload json protocol implementation for ruby-debug-ide19 to my github page (done)
    and submit merge request when done (requested)
  - check which features of implementation are missing
    thread support (continue which one when hitting F8?)
  - implemennt support for enabling / disabling breakpoints ?
    (because lines in the breakpoint view can be commented this is not urgent)
  - somewhen fix the segfault which sometimes occurs in Vim


invalid option: -J, you have the wrong ruby-debug-ide19 version which does not
have my json protocl patch. See INSTALLATION.

You can't set breakpoints? Make sure you pass -J (json protocol) to rdebug-ide