Powered by Byebug and Pry
Ruby Jard's core is Byebug, combine with Pry REPL power. This brings battle-tested reliability, flexibility, and tons of cool features.
Pure Ruby and minimal dependencies
Jard is written in pure Ruby, with a slim set of dependencies, compatible with a wide range of systems.
Easy to Use
You just need to install the gem, put
jard command before the place you want to stop, and run the program like normally. Jard spawns up a Terminal UI, runs right in your terminal emulator when your program stops at a break point.
The UI is friendly, intuitive, but still powerful enough. Jard's documents come with plenty of references, guides, and videos to help you utilize all Jard features.
Visualize everything you need
Ruby Jard's visual interface lets you grab everything you need at first glance. No more constantly typing
puts @user or
puts BORING_CONSTANT, and then forgetting what you are doing.
Variable visualization helps you know exactly the shape of data and overview of data content, backtrace visualization helps you grab an overview of current program flow. And more.
You won't need to be worried about information overflow either. Jard is smart enough to display only relevant essential information.
Navigate with pleasure
Thank to backtrace visualization and source code display, you'll never get lost in the dump of backtrace again. By default, those interfaces are always available, and compact.
You now can freely go up, and down of the current stack trace. At each frame, you can view the source code, input parameters, relevant variables. This helps you create a minimap of your program execution in your mind.
Nonetheless, you can even continue the execution at a particular upper frame, get out of unwanted boring gem, or just skip a nested loop with ease.
Stop at matter places only
How many times do you type
step, and have idea why the debugger is leading you into a scary metaprogramming method deep in Rails?
What was the last time you are trying to debug a simple class, but have to type
next to skip all the boring parts you don't care?
Good. Ruby Jard comes with a smart filter to let you choose the matter places only.
- By default, Ruby Jard ignores everything outside of your project folder.
- You can always change filter mode to go into gem, or even standard lib.
- You can include/exclude a gem, a standard lib, a file, or even a folder.
Powerful REPL console
Ruby Jard's REPL engine is powered by Pry, a runtime developer console with powerful introspection capabilities. There are plenty of things you can do with the REPL console:
- Ad-hoc code execution
- Inspect nested variable, support syntax highlight
- Source code browsing
- Document browsing
- Command shell integration
- Navigation around state
- Interfere and change current object state
Personalize your workflow
Do you have a big 4K monitor? Or you are a tmux guy, who runs Ruby in tiny windows? Ruby Jard can auto-scale automatically to fit into different screen sizes.
You don't like the default theme? Sure, Ruby Jard comes with 6 color schemes, 4 dark, and 2 light ones. Did I mention you can create your own scheme?
Default key bindings don't click for you? You can redefine almost key binding.
You don't like the default layout? Too much information for you? You can define your own layout too!
Ruby Jard comes with flexible configurations in mind. Check out the document page.
Not what you are looking for now?
Ruby Jard is under active development. You'll be surprised when coming back later. You can always submit a feature request, and we'll welcome all contributions.