arcadia 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. data/README +132 -134
  2. data/bin/arcadia +13 -0
  3. data/conf/arcadia.conf +196 -3
  4. data/conf/arcadia.init.rb +27 -6
  5. data/conf/arcadia.res.rb +10 -0
  6. data/ext/ae-complete-code/ae-complete-code.rb +76 -82
  7. data/ext/ae-doc-code/ae-doc-code.rb +295 -291
  8. data/ext/ae-editor/ae-editor.conf +88 -67
  9. data/ext/ae-editor/ae-editor.rb +400 -202
  10. data/ext/ae-editor/langs/conf.lang +16 -5
  11. data/ext/ae-editor/langs/lang.lang.bind +1 -1
  12. data/ext/ae-editor/langs/rb.lang +77 -41
  13. data/ext/ae-editor/langs/rbw.lang.bind +1 -1
  14. data/ext/ae-event-log/ae-event-log.rb +46 -45
  15. data/ext/ae-file-history/ae-file-history.conf +1 -1
  16. data/ext/ae-file-history/ae-file-history.rb +373 -298
  17. data/ext/ae-output/ae-output.conf +2 -0
  18. data/ext/ae-output/ae-output.rb +200 -202
  19. data/ext/ae-rad/ae-rad-inspector.rb +64 -70
  20. data/ext/ae-rad/ae-rad-palette.rb +14 -14
  21. data/ext/ae-rad/ae-rad.conf +2 -0
  22. data/ext/ae-rad/lib/tk/al-tk.rb +2991 -2987
  23. data/ext/ae-rad/lib/tk/al-tkarcadia.rb +26 -26
  24. data/ext/ae-ruby-debug/ae-ruby-debug.conf +8 -8
  25. data/ext/ae-ruby-debug/ae-ruby-debug.rb +1566 -1465
  26. data/ext/ae-search-in-files/ae-search-in-files.rb +294 -284
  27. data/ext/ae-shell/ae-shell.rb +20 -11
  28. data/{base → lib}/a-commons.rb +291 -80
  29. data/{base → lib}/a-contracts.rb +40 -18
  30. data/{arcadia.rb → lib/a-core.rb} +238 -148
  31. data/{base → lib}/a-tkcommons.rb +81 -63
  32. metadata +64 -65
  33. data/ext/ae-action-dispatcher/ae-action-dispatcher.conf +0 -6
  34. data/ext/ae-action-dispatcher/ae-action-dispatcher.rb +0 -22
  35. data/ext/ae-inspector/ae-inspector.conf +0 -7
  36. data/ext/ae-inspector/ae-inspector.rb +0 -1519
  37. data/ext/ae-palette/ae-palette.conf +0 -7
  38. data/ext/ae-palette/ae-palette.rb +0 -265
data/README CHANGED
@@ -1,134 +1,132 @@
1
- = Arcadia Ruby Ide
2
- version 0.2.0
3
-
4
- by Antonio Galeone
5
- on Oct 25, 2007
6
-
7
-
8
- == About
9
-
10
- Arcadia is a Integrated Development Environment (IDE) for Ruby language
11
- written in Ruby using the classic tcl/tk GUI toolkit.
12
-
13
- Some of Arcadia ruby ide project features include:
14
- * Editor with source browsing, syntax highlighting, code completion
15
- * Debugging support
16
- * Contextual ruby documentation
17
- * Working on any platform where ruby and tcl-tk work.
18
- * Highly extensibility architecture.
19
-
20
- == In this release
21
- * [mod] extension architecture changes
22
- * [fix] bug-fixing
23
- * [new] added "search in files" features (in Search menu item)
24
-
25
- == How to install
26
- There are two way:
27
- 1. exec as root on command line "gem install arcadia"
28
- or as user "sudo gem install arcadia"
29
- 2. using archive distribution
30
- a. untar (on unix) (tar -xzf) arcadia-<version>.tar.gz
31
- b. unzip (on windows) arcadia-<version>.zip
32
-
33
-
34
- == How to run
35
- * exec on command line "ruby arcadia.rb"
36
-
37
-
38
- == Short User guide
39
- As you can see the application layout is splitted in vertical
40
- and horizontal resizing frames. Clicking on vertical splitter
41
- appear two button for left or right one shot frame close.
42
- The horizontal splitter has two little button for the same reason
43
- (perhaps i will conform them to the vertical style).
44
- Every frame has a title and a button to expand or resizing it.
45
- In this beta release there are very essential feature:
46
-
47
- ==== Main Toolbar
48
- The toolbar button are in order:
49
- - new, open, save
50
- (relatively to edit operation)
51
- - run current, run last
52
- (for execute the raised file in the editor or the last runned file)
53
- - debug current, debug last, quit debug panel
54
- (for debug need)
55
- - show rad palette
56
- (for tk rad need)
57
- - quit (to exit from arcadia)
58
-
59
- ==== Editor
60
- Editor use the notebook metaphor. Same command are on the popup menu
61
- that is raised on "Button-3" click event fundamentalally for closing the tab
62
- under the mouse pointer.
63
- These are same editor short-cut:
64
- - Ctrl-c => copy selected text
65
- - Ctrl-v => paste copied text
66
- - Ctrl-x => cut selected text
67
- - Ctrl-z => undo
68
- - Ctrl-f => copy the selected text on input combobox of find dialog and moves focus
69
- - Ctrl-s => save
70
- - Ctrl-space => completion code
71
- - Ctrl-shift-i => indent the selected block
72
- - Ctrl-shift-u => unindent the selected block
73
- - Ctrl-shift-c => comment/uncomment the selected code block
74
- - F5 => execute the file
75
- - F3 => find/ find next
76
- - F1 => contextual ruby documentation (called from editor or from code completion item)
77
-
78
- - Double-Click on line number set or unset a debug breakpoint
79
-
80
- ==== File history
81
- The last used files are organizing in tree so you can reopen them or there
82
- directory by clicking on the tree node.
83
-
84
- ==== Rad Palette
85
- It contain the wrapper components for the tk gui building.
86
- It is in very unstabled and incomplete state.
87
- The first component is a TkTopLevel wrapper, when you click on it a new form is created and a
88
- Object inspector appears.
89
- The other components must be first selected and then created by clicking on container widget.
90
- The so created widgets has a popup menu for deleting them or in the toplevel case to switch
91
- to a code view.
92
- On the palette there are also two button, one for deselect and other for copy from the selected
93
- created widget. The copy action copy also the code into the clipboard, so you can copy the
94
- code rapresenting the gui into the embedded editor or into external editor.
95
-
96
- ==== Rad Object Inspector
97
- It is for modify the widget property at runtime
98
-
99
- ==== Debug
100
- It is created when a debug session init.
101
- The debug button are: Step Next, Step Into, Step Over, Resume and quit.
102
- The debug frame show the local, instance and global variables for each
103
- step.
104
-
105
- ==== Configuration
106
- Same Arcadia properties are locally configurabled by editing the file arcadia.conf
107
- under ~/.arcadia directory. The format of property definition are:
108
- <OPERATING SYSTEM IDENTIFY::>PROPERTY_NAME=PROPERTY_VALUE
109
-
110
-
111
- == Requirement
112
- I include into distribution also the BWidget lib (under tcl directory) so
113
- are require realy only the standard tcl tk lib (tested on tcl tk 8.4).
114
- I have tested arcadia with ruby 1.8.4, 1.8.5, 1.8.6 on
115
- * FreeBsd6.x,
116
- * Vector linux 5.8,
117
- * Windows 2000/XP,
118
- * Cygwin (note: same page fault error on dll under cygwin may be solved in this way:
119
- by ash.exe exec "/bin/rebaseall").
120
- If you will test arcadia on other operating system sends me an e-mail.
121
-
122
- ==Developers information
123
- Soon i will write samething about the arcadia software architecture (when it is more stable)
124
- in order to allow extensions writing and collaborations.
125
-
126
-
127
-
128
- == License
129
- Arcadia is released under the Ruby License
130
-
131
- == Contacts
132
- For questions:
133
- antonio-galeone@rubyforge.org
134
- For bugs, support request, features request http://rubyforge.org/projects/arcadia
1
+ = Arcadia Ruby Ide
2
+ version 0.3.0
3
+
4
+ by Antonio Galeone
5
+ on Jan 28, 2008
6
+
7
+
8
+ == About
9
+
10
+ Arcadia is a Integrated Development Environment (IDE) for Ruby language
11
+ written in Ruby using the classic tcl/tk GUI toolkit.
12
+
13
+ Some of Arcadia ruby ide project features include:
14
+ * Editor with source browsing, syntax highlighting, code completion
15
+ * Debugging support
16
+ * Contextual ruby documentation
17
+ * Working on any platform where ruby and tcl-tk work.
18
+ * Highly extensibility architecture.
19
+
20
+ == In this release
21
+ * [mod] architecture changes
22
+ * [fix] bug-fixing
23
+
24
+ == How to install
25
+ There are two way:
26
+ 1. exec as root on command line "gem install arcadia"
27
+ or as user "sudo gem install arcadia"
28
+ 2. using archive distribution
29
+ a. untar (on unix) (tar -xzf) arcadia-<version>.tar.gz
30
+ b. unzip (on windows) arcadia-<version>.zip
31
+
32
+
33
+ == How to run
34
+ * exec on command line "ruby <path/>arcadia"
35
+
36
+
37
+ == Short User guide
38
+ Application layout is splitted in vertical
39
+ and horizontal resizing frames. Clicking on vertical splitter
40
+ appear two button for left or right one shot frame close.
41
+ The horizontal splitter has two little button for the same reason
42
+ (perhaps i will conform them to the vertical style).
43
+ Every frame has a title and a button to expand or resizing it.
44
+ In this release there are very essential feature:
45
+
46
+ ==== Main Toolbar
47
+ The toolbar button are in order:
48
+ - new, open, save
49
+ (relatively to edit operation)
50
+ - run current, run last
51
+ (for execute the raised file in the editor or the last runned file)
52
+ - debug current, debug last, quit debug panel
53
+ (for debug need)
54
+ - show rad palette
55
+ (for tk rad need)
56
+ - quit (to exit from arcadia)
57
+
58
+ ==== Editor
59
+ Editor use the notebook metaphor. Same command are on the popup menu
60
+ that is raised on "Button-3" click event fundamentalally for closing the tab
61
+ under the mouse pointer.
62
+ These are same editor short-cut:
63
+ - Ctrl-c => copy selected text
64
+ - Ctrl-v => paste copied text
65
+ - Ctrl-x => cut selected text
66
+ - Ctrl-z => undo
67
+ - Ctrl-f => copy the selected text on input combobox of find dialog and moves focus
68
+ - Ctrl-s => save
69
+ - Ctrl-space => completion code
70
+ - Ctrl-shift-i => indent the selected block
71
+ - Ctrl-shift-u => unindent the selected block
72
+ - Ctrl-shift-c => comment/uncomment the selected code block
73
+ - F5 => execute the file
74
+ - F3 => find/ find next
75
+ - F1 => contextual ruby documentation (called from editor or from code completion item)
76
+
77
+ - Double-Click on line number set or unset a debug breakpoint
78
+
79
+ ==== File history
80
+ The last used files are organizing in tree so you can reopen them or there
81
+ directory by clicking on the tree node.
82
+
83
+ ==== Rad Palette
84
+ It contain the wrapper components for the tk gui building.
85
+ It is in very unstabled and incomplete state.
86
+ The first component is a TkTopLevel wrapper, when you click on it a new form is created and a
87
+ Object inspector appears.
88
+ The other components must be first selected and then created by clicking on container widget.
89
+ The so created widgets has a popup menu for deleting them or in the toplevel case to switch
90
+ to a code view.
91
+ On the palette there are also two button, one for deselect and other for copy from the selected
92
+ created widget. The copy action copy also the code into the clipboard, so you can copy the
93
+ code rapresenting the gui into the embedded editor or into external editor.
94
+
95
+ ==== Rad Object Inspector
96
+ It is for modify the widget property at runtime
97
+
98
+ ==== Debug
99
+ It is created when a debug session init.
100
+ The debug button are: Step Next, Step Into, Step Over, Resume and quit.
101
+ The debug frame show the local, instance and global variables for each
102
+ step.
103
+
104
+ ==== Configuration
105
+ Same Arcadia properties are locally configurabled by editing the file arcadia.conf
106
+ under ~/.arcadia directory. The format of property definition are:
107
+ <OPERATING SYSTEM IDENTIFY::>PROPERTY_NAME=PROPERTY_VALUE
108
+
109
+
110
+ == Requirement
111
+ I include into distribution also the BWidget lib (under tcl directory) so
112
+ are require realy only the standard tcl tk lib (tested on tcl tk 8.4).
113
+ I have tested arcadia with ruby 1.8.4, 1.8.5, 1.8.6 on
114
+ * FreeBsd6.x,
115
+ * Vector linux 5.8,
116
+ * Windows 2000/XP,
117
+ * Cygwin (note: same page fault error on dll under cygwin may be solved in this way:
118
+ by ash.exe exec "/bin/rebaseall").
119
+ If you will test arcadia on other operating system sends me an e-mail.
120
+
121
+ ==Developers information
122
+ Released on arcadia web site (http://arcadia.rubyforge.org) a first drawing of "How to extend arcadia".
123
+
124
+
125
+
126
+ == License
127
+ Arcadia is released under the Ruby License
128
+
129
+ == Contacts
130
+ For questions:
131
+ antonio-galeone@rubyforge.org
132
+ For bugs, support request, features request http://rubyforge.org/projects/arcadia
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # arcadia - Arcadia Ruby ide
4
+ # by Antonio Galeone <antonio-galeone@rubyforge.org>
5
+ #
6
+
7
+ $pwd = Dir.pwd
8
+ Dir.chdir("#{File.dirname(__FILE__)}/..")
9
+ if FileTest.exist?('conf/arcadia.init.rb')
10
+ require 'conf/arcadia.init'
11
+ end
12
+ require "lib/a-core"
13
+ Arcadia.new.run
@@ -4,6 +4,196 @@
4
4
  # instead edit ~/.arcadia/arcadia.conf
5
5
  #
6
6
 
7
+ #:::::::::::::::: layout ::::::::::::::::::::::<begin>
8
+ layout.splitter.length=5
9
+ arm::layout.splitter.length=10
10
+ #layout.split=1,2
11
+ #layout.split.1=0.0r70%
12
+ #layout.split.2=0.0c20%
13
+ layout.split=1,2
14
+ layout.split.1=0.0c20%
15
+ layout.split.2=0.1r70%
16
+
17
+ #:::::::::::::::: layout ::::::::::::::::::::::<end>
18
+ #:::::::::::::::::::::::::::::::::::::::::::::::::<begin>
19
+ font.h1=
20
+ font.h2=
21
+ font.h3=courier 11
22
+ freebsd::font.h3=courier 12
23
+ win::font.h3={Courier New} 9
24
+ font.h4=
25
+ font.h5=
26
+ font.h6=
27
+ font=>>>font.h3
28
+
29
+ background=#d9d9d9
30
+ foreground=#333333
31
+ activebackground=#EEEEEE
32
+ activeforeground=#6679f1
33
+ highlightbackground=>>>background
34
+ relief=flat
35
+ borderwidth=0
36
+
37
+ menu.background=>>>background
38
+ menu.foreground=>>>foreground
39
+ menu.activebackground=>>>activebackground
40
+ menu.activeforeground=>>>activeforeground
41
+ menu.relief=>>>relief
42
+ menu.borderwidth=>>>borderwidth
43
+ menu.font=>>>font
44
+
45
+ panel.background=>>>background
46
+ panel.highlightbackground=>>>background
47
+ panel.relief=>>>relief
48
+ panel.borderwidth=0
49
+
50
+ scrollbar.background=>>>background
51
+ scrollbar.highlightbackground=>>>background
52
+ scrollbar.relief=flat
53
+ scrollbar.borderwidth=1
54
+
55
+ titlelabel.background=#303b50
56
+ titlelabel.foreground=#e8e651
57
+ titlelabel.activebackground=#6679f1
58
+ titlelabel.activeforeground=#6679f1
59
+ titlelabel.highlightbackground=white
60
+ titlelabel.relief=flat
61
+ titlelabel.borderwidth=0
62
+ titlelabel.font=>>>font
63
+
64
+ titlecontext.foreground=#FFFFFF
65
+
66
+
67
+ linepanel.background=#dbe1cb
68
+ linepanel.foreground=>>>foreground
69
+ linepanel.highlightbackground=>>>background
70
+ linepanel.relief=>>>relief
71
+ linepanel.borderwidth=0
72
+
73
+ splitter.background=>>>background
74
+ splitter.highlightbackground=>>>foreground
75
+ splitter.relief=groove
76
+ splitter.borderwidth=1
77
+
78
+ tabpanel.background=>>>background
79
+ tabpanel.foreground=>>>foreground
80
+ tabpanel.activebackground=yellow
81
+ tabpanel.activeforeground=red
82
+ tabpanel.borderwidth=1
83
+ tabpanel.font=>>>font
84
+
85
+ treepanel.background=>>>edit.background
86
+ treepanel.selectforeground=#4c23b4
87
+ treepanel.selectbackground=#b9c989
88
+ treepanel.highlightbackground=>>>highlightbackground
89
+ treepanel.crossfill=>>>edit.foreground
90
+ treepanel.showlines=false
91
+ treepanel.selectfill=true
92
+ treepanel.linesfill=#e7de8f
93
+ treepanel.relief=>>>relief
94
+ treepanel.borderwidth=0
95
+
96
+ treeitem.fill=>>>foreground
97
+ treeitem.font=>>>font
98
+
99
+
100
+ button.background=>>>background
101
+ button.foreground=>>>foreground
102
+ button.activebackground=>>>activebackground
103
+ button.activeforeground=>>>activeforeground
104
+ button.highlightbackground=>>>highlightbackground
105
+ button.relief=groove
106
+ button.justify=center
107
+ button.borderwidth=2
108
+ button.font=>>>font
109
+ button.padx=1
110
+ button.pady=1
111
+
112
+ toolbar.=>>>panel
113
+
114
+ toolbarbutton.=>>>button
115
+ toolbarbutton.relief=flat
116
+
117
+ label.background=>>>background
118
+ label.foreground=>>>foreground
119
+ #label.activebackground=#6679f1
120
+ #label.activeforeground=#6679f1
121
+ label.highlightbackground=>>>background
122
+ label.relief=flat
123
+ label.borderwidth=0
124
+ label.font=>>>font
125
+
126
+ checkbox.=>>>label
127
+ checkbox.selectcolor=>>>edit.background
128
+ checkbox.offrelief=ridge
129
+ checkbox.borderwidth=1
130
+
131
+ edit.font=>>>font
132
+ edit.background=white
133
+ edit.foreground=>>>foreground
134
+ edit.highlightbackground=>>>background
135
+ edit.highlightcolor=>>>edit.background
136
+ edit.insertbackground=#ff8000
137
+ edit.relief=flat
138
+ edit.borderwidth=0
139
+
140
+
141
+ combobox.=>>>edit
142
+ combobox.background=>>>panel.background
143
+ combobox.entrybg=>>>edit.background
144
+
145
+
146
+ #hightlight.sel
147
+ hightlight.1.foreground=black
148
+ #hightlight.1.background=#68f914
149
+ hightlight.1.background=#abc9fc
150
+ hightlight.1.borderwidth=1
151
+ hightlight.1.relief=raised
152
+ #hightlight.selected
153
+ hightlight.2.background=yellow
154
+ #hightlight.tabs
155
+ hightlight.3.foreground=black
156
+ hightlight.3.background=#b1cfba
157
+ hightlight.3.borderwidth=1
158
+ hightlight.3.relief=raised
159
+ #hightlight.spaces
160
+ hightlight.4.foreground=black
161
+ hightlight.4.background=#d9f42b
162
+ hightlight.4.borderwidth=1
163
+ hightlight.4.relief=raised
164
+ #+--------------------------------------------------
165
+
166
+
167
+ #keyword
168
+ hightlight.5.foreground=#00007F
169
+ #method_name
170
+ hightlight.6.foreground=#007F7F
171
+ #class_name
172
+ hightlight.7.foreground=#0000FF
173
+ #module_name
174
+ hightlight.8.foreground=#0000FF
175
+ #instance_variable
176
+ hightlight.9.foreground=#7F7F7F
177
+ #global_variable
178
+ hightlight.10.foreground=#db66ca
179
+ #comment
180
+ hightlight.11.foreground=#007F00
181
+ #string
182
+ hightlight.12.foreground=#7F007F
183
+ #number
184
+ hightlight.13.foreground=#007F7F
185
+ #operator
186
+ hightlight.14.foreground=#000000
187
+ #symbol
188
+ hightlight.15.foreground=#bdc175
189
+ #debug
190
+ #hightlight.16.foreground=black
191
+ hightlight.16.background=#b3c1d9
192
+ hightlight.16.borderwidth=2
193
+ hightlight.16.relief=groove
194
+
195
+ #:::::::::::::::::::::::::::::::::::::::::::::::::<end>
196
+ #:::::::::::::::: toolbar ::::::::::::::::::::::<begin>
7
197
  user_toolbar.contexts=file,run
8
198
  #,sys
9
199
  user_toolbar.file=new,open,save
@@ -58,10 +248,11 @@ e.user_toolbar.sys.exit.hint=Exit from Arcadia
58
248
  e.user_toolbar.sys.exit.image_data=EXIT_STORY_GIF
59
249
  e.user_toolbar.sys.exit.event_class=QuitEvent
60
250
 
61
-
62
251
  user_toolbar_show=yes
252
+ #:::::::::::::::: toolbar ::::::::::::::::::::::<end>
63
253
 
64
254
  #:::::::::::::::: splash group ::::::::::::::::::::::<begin>
255
+ splash.show=yes
65
256
  splash.title.font=Courier 30 bold
66
257
  splash.subtitle.font=Courier 12 bold
67
258
  splash.version.font=Courier 10
@@ -115,8 +306,6 @@ win::inspectors.debug.tabs.font=courier 8
115
306
  win::inspectors.debug.tabs.font.bold=courier 8 bold
116
307
  #:::::::::::::::: inspector group ::::::::::::::::::::::<end>
117
308
 
118
-
119
-
120
309
  #:::::::::::::::: all ::::::::::::::::::::::<begin>
121
310
  all.frame.title.font=courier 11
122
311
  all.frame.title.font.bold=courier 11 bold
@@ -128,3 +317,7 @@ win::all.frame.title.font=courier 9
128
317
  win::all.frame.title.font.bold=courier 9 bold
129
318
  win::all.frame.title.font.italic=courier 9 italic
130
319
  #:::::::::::::::: all ::::::::::::::::::::::<end>
320
+
321
+ #theme=default
322
+ #theme=dark
323
+