Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Ruby Tcl
Pull request Compare This branch is 149 commits behind angal:master.
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


= Arcadia Ruby Ide
version 0.8.0

by Antonio Galeone
on Dec 11, 2009

== About

Arcadia is a Light Integrated Development Environment (IDE) for Ruby language 
written in Ruby using the classic tcl/tk GUI toolkit.

Some of Arcadia ruby ide project features include:
* Editor with source browsing, syntax highlighting, code completion
* Debugging support
* Working on any platform where ruby and tcl-tk work.
* Highly extensibility architecture.

== In this release 0.8.0
[New extensions]
  ack in files: 
     - similar to "search in files" using ack utility
	  - porting ruby 1.9
	  - bug-fixing
	  - remenber window size/position, show/hide toolbar preferences and layout from previous run  
	  - remember the last file your were editing, with editing location, on startup
	  - added new hightlight engine based on coderay, others kind of file are now supported (erb,rhtml,java)
	  - added auto completion of current word based on words within the current window 
	    also; then added escape key short cut.
	  - added outline syncronization

== Dependencies
  - rubygems
  - ruby-tk
  - tcl/tk
  - ack
  - gem coderay
  - gem ruby-debug (ruby-debug19 on ruby 1.9)
  - gem whichr
  - gem win32-process (only on windows)
  - gem ruby-wmi (only on windows)
== How to install
There are two way:
1. exec as root on command line "gem install arcadia"
   or as user "sudo gem install arcadia"
2. using archive distribution
   a. untar (on unix) (tar -xzf) arcadia-<version>.tar.gz
   b. unzip (on windows) arcadia-<version>.zip

== How to run
* exec on command line "ruby <path/>arcadia"

== Short User guide
Application layout is splitted in vertical and horizontal resizing frames. 
On vertical and horizontal  splitter appear two button for left or right 
one shot frame close. 
Every frame has a title, a button to expand or resizing it and a menu-button 
for the dynamic layout functions.

==== Main Toolbar
The toolbar button are in order:
- new, open, save
  (relatively to edit operation)
- run current, run last 
  (for execute the raised file in the editor or the last runned file)  
- debug current, debug last, quit debug panel
  (for debug need)
- show rad palette
  (for tk rad need)  
- quit (to exit from arcadia)

==== Editor
Editor use the notebook metaphor. Same command are on the popup menu 
that is raised on "Button-3" click event fundamentally for closing the tab 
under the mouse pointer.
These are same editor short-cut:
- Ctrl-c  => copy selected text
- Ctrl-v  => paste copied text
- Ctrl-x  => cut selected text
- Ctrl-g  => show go to line dialog
- Ctrl-o  => shoe open file dialog
- Ctrl-z  => undo
- Ctrl-f  => copy the selected text on input combobox of find dialog and moves focus
- Ctrl-s  => save
- Ctrl-space or esc => completion code
- Ctrl-shift-i => indent the selected block
- Ctrl-shift-u => unindent the selected block
- Ctrl-shift-c => comment/uncomment the selected code block
- F5 => execute the file 
- F3 => find/ find next

- Double-Click on line number set or unset a debug breakpoint

==== Project drawer
It is a navigational tree: 
- open or create dir as project
- make commons file system activity (by contextual menu)

==== File history
The last used files are organizing in tree so you can reopen them or there  
directory by clicking on the tree node.

==== Rad Palette (instable)
It contain the wrapper components for the tk gui building. 
It is in very unstabled and incomplete state. 
The first component is a TkTopLevel wrapper, when you click on it a new form is created and a 
Object inspector appears.
The other components must be first selected and then created by clicking on container widget.
The so created widgets has a popup menu for deleting them or in the toplevel case to switch
to a code view.
On the palette there are also two button, one for deselect and other for copy from the selected 
created widget. The copy action copy also the code into the clipboard, so you can copy the
code rapresenting the gui into the embedded editor or into external editor.

==== Rad Object Inspector  (instable)
It is for modify the widget property at runtime

==== Debug
Require ruby-debug gem.
It is created when a debug session init. 
The debug button are: Step Next, Step Into, Step Over, Resume and quit.
The debug frame show the local, instance and global variables for each

==== Configuration
Same Arcadia properties are locally configurabled by editing the file arcadia.conf
under ~/.arcadia  directory. The format of property definition are:

I have tested arcadia with ruby 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.9.1 on 

* Archlinux
* Ubuntu
* FreeBsd6.x, FreeBsd7.x, 
* Vector linux 5.*,
* Windows 2000/XP, 
* Cygwin (note: same page fault error on dll under cygwin may be solved in this way:
  by ash.exe exec "/bin/rebaseall"). 
If you will test arcadia on other operating system sends me an e-mail.

==Developers e general information
Released on arcadia web site ( 

== License
Arcadia is released under the Ruby License

== Contacts
For all questions:

For bugs, support request, features request:
Something went wrong with that request. Please try again.