Ruber core features
- Modular IDE, can be easily extended with user-written plugins
- The Kate part is used for editors, providing out of the box very good syntax
highlighting, and a lot of other functionality
- Automatically manage plugin dependencies
- Can be used for editing stand-alone files or projects containing multiple files
- Many convenience classes to use in your plugins so they integrate well with the
rest of Ruber
- Ability to save preferences globally, project-wide or file-wide
Ruber plugins features
Auto End plugin
- Inserts an
end
keyword when pressing Enter from a line containing keywords
like class
, module
, do
…
- Inserts the
=end
line when starting a block comment (=begin
)
Ruby development plugin
- Runs a ruby script specified in the project configuration, the file in the current
editor window or a file chosen by the user
- Allows you to pass options both to ruby and your script
- Displays the output from ruby in a tool widget
- Ability to run a script in an external Konsole window (useful if your script needs input from
standard input). In this case the output isn’t sent to the tool widget
- Ability to choose the ruby interpreter to use among those installed on the system.
The choice can be made per project, per file or temporarily using a menu (useful,
for example, to test that your program works with more than one version of ruby)
- Ability to easily jump from an error line to the corresponding line of code
RSpec plugin
- Runs specs for the whole project or for the current file or current line
- Displays the output from RSpec in a tool widget
- Ability to jump from RSpec output to the corresponding spec
- Ability to switch from a source file to the corresponding spec and vice-versa
- Works with both RSpec 1 and RSpec 2
Rake plugin
- Runs the default task with a single keyboard shortcut
- Retrieves list of tasks from rake
- Ability to assign keyboard shortcuts to any task, both globally and per-project
- Displays the output from rake in a tool widget
Find in files plugin
- Searches for a string or regexp in the project files or in a directory specified
by the user
- Ability to specify filters to restrict the files to search
- Performs replacement of searched text
- Displays replacements in a tool widget before performing them
Syntax checker plugin
- Checks the syntax of the current ruby or yaml file (according to ruby/YAML syntax,
not english), displaying the output in a widget
- Can be extended to support other languages
- Carries out the syntax check when the document is saved or after one second
of inactivity: it doesn’t interfere with typing
- Uses
ruby -c
to check ruby syntax and YAML.load
to check Yaml syntax, so it’s
always correct
- Ability to chose the ruby interpreter to use to check ruby sytnax
State plugin
- Preserve cursor position in documents between sessions
- Re-open the last opened project or documents at startup
- Customize what exactly you want to preserve between sessions
Todo
This is a list of the features I’ve planned to add (sooner or later) to Ruber.
They’re listed in no particular order.
Core
- Ability to have more than one project open at the same time
- Project templates
- Ability to associate plugins with projects
- Add toolbars
- Ability to have non-editor windows (for example, allow to display html or PDF
documentation)
Plugins
- Class browser
- File system browser
- irb plugin
- ri plugin
Test::Unit
plugin
- Debugging plugin
- Autocompletion
- VCS plugins
- Ruby beautifier plugin
- Sinppets plugin
- Make the auto end plugin smarter