👻

neoruby-debuggerを作りました

2024/01/16に公開

neoruby-debuggerを作りました

Rubygems/debugを利用したNeovim内で動くデバッガーです。依存ライブラリはいくつかあります。UIデバッグを標準にしていますが、CLIでも動作します。nvim-dap-rubyの派生版と認識していただければ問題ないです。

VScodeでRubyのコミッターさんが作成した公式のデバッガー拡張機能があるので、よっぽどNeovimにこだわらないかぎり、私の派生版プラグインを必要とはしないと想います。私は、自分で動作チェックや拡張などメンテナンスしたかったので、nvim-dap-rubyプロジェクトでフォークせず作りました。

:cd プロジェクトPATH

PATHを設定することで、rspecやrakeコマンドが動作します。

begin
  Bundler.setup(:default, :development)
rescue Bundler::BundlerError => e
  warn e.message
  warn 'Run `bundle install` to install missing gems'
  exit e.status_code
end

task default: [:test]
...

rake内タスクはdefaultをしてください。neoruby-debuggerの対象に指定しています。

Sinatraは動作チェックしてありますが、Docker/Railsはしていません。

いずれしますが、通常デバッグを必要としないので調整はしていません。

rspecでテストとローカルサーバで挙動を目視しているためです。

気になりましたら、takkii/neoruby-debuggerプロジェクトをみてください。

英語と日本語でドキュメント化しました。わかりやすいと想います。

追記

ruby error.rb en
ruby error.rb
※ 英語で表示

ruby error.rb ja
※ 日本語で表示

Neovimのターミナルモードで起動で、該当するエラーメッセージを探すことができます。単語はTab補完ができるので、ある程度の対処はできると想います。個人的にネオルビーデバッガーを通常使っていて、想定以外のエラーに遭遇しませんでした。

※ デバッグはクソコードを検証するものではありません。書かれているプログラムが意図した挙動をするか試すものであり、書いた人を誹謗中傷するものでもありません。

補足 (2024/03/16)

意味のない英文を投稿するユーザがいたので、issueの項目を消しました。新しくプロジェクトを作り直したので、既存のユーザはプロジェクトフォルダを一度消し入れ替えてください。

GitHubで編集を提案

Discussion