arcadia 0.9.3 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +11 -10
- data/bin/arcadia +3 -0
- data/conf/arcadia.conf +117 -75
- data/conf/arcadia.res.rb +219 -58
- data/conf/theme-dark.conf +11 -8
- data/conf/theme-dark.res.rb +81 -10
- data/ext/ae-breakpoints/ae-breakpoints.rb +1 -1
- data/ext/ae-dir-projects/ae-dir-projects.conf +2 -2
- data/ext/ae-dir-projects/ae-dir-projects.rb +84 -47
- data/ext/ae-editor/ae-editor.rb +541 -190
- data/ext/ae-editor/langs/coderay.tokens +1 -0
- data/ext/ae-editor/langs/conf.lang +5 -4
- data/ext/ae-editor/langs/java.lang +2 -1
- data/ext/ae-editor/langs/python.lang +4 -0
- data/ext/ae-editor/langs/rhtml.lang +2 -1
- data/ext/ae-editor/langs/ruby.lang +45 -0
- data/ext/ae-editor/langs/tcl.lang +80 -2
- data/ext/ae-editor/langs/text.lang +2 -0
- data/ext/ae-editor/langs/xml.lang +1 -0
- data/ext/ae-file-history/ae-file-history.conf +2 -2
- data/ext/ae-file-history/ae-file-history.rb +66 -20
- data/ext/ae-output/ae-output.conf +3 -3
- data/ext/ae-output/ae-output.rb +37 -23
- data/ext/ae-rad/ae-rad-palette.rb +3 -3
- data/ext/ae-ruby-debug/ae-ruby-debug.conf +2 -2
- data/ext/ae-ruby-debug/ae-ruby-debug.rb +38 -42
- data/ext/ae-search-in-files/ae-search-in-files.conf +2 -2
- data/ext/ae-search-in-files/ae-search-in-files.rb +20 -9
- data/ext/ae-search-in-files/ext/ack-in-files/ack-in-files.conf +2 -2
- data/ext/ae-shell/ae-shell.conf +1 -1
- data/ext/ae-shell/ae-shell.rb +57 -46
- data/ext/ae-subprocess-inspector/ae-subprocess-inspector.rb +99 -46
- data/ext/ae-subprocess-inspector/process.res +0 -0
- data/lib/a-commons.rb +13 -9
- data/lib/a-contracts.rb +24 -1
- data/lib/a-core.rb +586 -196
- data/lib/a-tkcommons.rb +155 -55
- data/lib/anigif.rb +9 -0
- data/lib/ctags.exe +0 -0
- data/tcl/anigif/anigif.tcl +199 -0
- data/tcl/anigif/pkgIndex.tcl +3 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ArrowButton.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/BWidget.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Button.html +36 -2
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ButtonBox.html +9 -7
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ComboBox.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Dialog.html +5 -11
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/DragSite.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/DropSite.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/DynamicHelp.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Entry.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Label.html +32 -1
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/LabelEntry.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/LabelFrame.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ListBox.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/MainFrame.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/MessageDlg.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/NoteBook.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/PagesManager.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/PanedWindow.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/PanelFrame.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/PasswdDlg.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ProgressBar.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ProgressDlg.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ScrollView.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ScrollableFrame.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ScrolledWindow.html +13 -1
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/SelectColor.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/SelectFont.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Separator.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/SpinBox.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/StatusBar.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/TitleFrame.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Tree.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Widget.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/contents.html +12 -1
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/index.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/navtree.html +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/options.htm +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/CHANGES.txt +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/ChangeLog +70 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/LICENSE.txt +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/README.txt +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/arrow.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/bitmap.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/button.tcl +121 -53
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/buttonbox.tcl +10 -5
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/color.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/combobox.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/basic.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/bwidget.xbm +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/demo.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/dnd.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/manager.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/select.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/tmpldlg.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/tree.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/x1.xbm +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/dialog.tcl +14 -2
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/dragsite.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/dropsite.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/dynhelp.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/entry.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/font.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/bold.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/copy.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/cut.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/dragfile.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/dragicon.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/error.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/file.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/folder.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/hourglass.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/info.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/italic.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/minus.xbm +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/new.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/opcopy.xbm +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/open.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/openfold.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/oplink.xbm +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/opmove.xbm +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/overstrike.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/palette.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/passwd.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/paste.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/plus.xbm +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/print.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/question.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/redo.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/save.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/target.xbm +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/underline.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/undo.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/warning.gif +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/init.tcl +15 -1
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/label.tcl +76 -18
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/labelentry.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/labelframe.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/da.rc +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/de.rc +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/en.rc +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/es.rc +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/fr.rc +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/hu.rc +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/nl.rc +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/no.rc +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/pl.rc +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/listbox.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/mainframe.tcl +3 -2
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/messagedlg.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/notebook.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/pagesmgr.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/panedw.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/panelframe.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/passwddlg.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/pkgIndex.tcl +2 -2
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/progressbar.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/progressdlg.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/scrollframe.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/scrollview.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/scrollw.tcl +37 -25
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/separator.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/spinbox.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/statusbar.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/tests/entry.test +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/titleframe.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/tree.tcl +17 -9
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/utils.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/widget.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/wizard.tcl +0 -0
- data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/xpm2image.tcl +0 -0
- data/tcl/fsdialog/de.msg +30 -0
- data/tcl/fsdialog/en.msg +31 -0
- data/tcl/fsdialog/fsdialog.tcl +1749 -0
- data/tcl/fsdialog/fsdlg-gif.tcl +259 -0
- data/tcl/fsdialog/fsdlg-png.tcl +265 -0
- data/tcl/fsdialog/sv.msg +32 -0
- data/tcl/fsdialog/tclIndex +6 -0
- metadata +179 -174
- data/ext/ae-editor/langs/erb.lang.bind +0 -1
- data/ext/ae-editor/langs/lang.lang.bind +0 -1
- data/ext/ae-editor/langs/pers.lang.bind +0 -1
- data/ext/ae-editor/langs/rb.lang +0 -73
- data/ext/ae-editor/langs/rbw.lang.bind +0 -1
- data/ext/ae-editor/langs/tokens.lang.bind +0 -1
@@ -96,7 +96,7 @@ class WrapperContainer < TkFrame
|
|
96
96
|
frame = TkFrame.new(self, Arcadia.style('panel')).pack('side' =>'left', 'anchor'=>'n', :padx=>2, :pady=>2)
|
97
97
|
|
98
98
|
@button_u = Tk::BWidget::Button.new(frame, Arcadia.style('toolbarbutton') ){
|
99
|
-
image
|
99
|
+
image Arcadia.image_res(CURSOR_GIF)
|
100
100
|
helptext 'Select'
|
101
101
|
text 'C'
|
102
102
|
#foreground 'blue'
|
@@ -119,7 +119,7 @@ class WrapperContainer < TkFrame
|
|
119
119
|
_self.new_wrapper if _owner.selected_wrapper.class.is_top
|
120
120
|
|
121
121
|
}
|
122
|
-
image
|
122
|
+
image Arcadia.image_res(WIDGET_COPY_GIF)
|
123
123
|
helptext 'Copy current selected'
|
124
124
|
text 'C'
|
125
125
|
#foreground 'blue'
|
@@ -231,7 +231,7 @@ class WrapperContainer < TkFrame
|
|
231
231
|
}
|
232
232
|
text value.class_wrapped.to_s
|
233
233
|
helptext value.class_wrapped.to_s
|
234
|
-
image
|
234
|
+
image Arcadia.image_res(_image)
|
235
235
|
#foreground 'blue'
|
236
236
|
command _command
|
237
237
|
#font $arcadia['conf']['main.component.font']
|
@@ -30,12 +30,12 @@ user_toolbar.contexts=debug
|
|
30
30
|
user_toolbar.debug.context_path=run
|
31
31
|
user_toolbar.debug=debugcurr,debuglast,debugquit
|
32
32
|
|
33
|
-
user_toolbar.debug.debugcurr.name=
|
33
|
+
user_toolbar.debug.debugcurr.name=debugcurr
|
34
34
|
user_toolbar.debug.debugcurr.hint=Debug current
|
35
35
|
user_toolbar.debug.debugcurr.image_data=!DEBUG_CURRENT_GIF
|
36
36
|
user_toolbar.debug.debugcurr.event_class=!StartDebugEvent
|
37
37
|
|
38
|
-
user_toolbar.debug.debuglast.name=
|
38
|
+
user_toolbar.debug.debuglast.name=debuglast
|
39
39
|
user_toolbar.debug.debuglast.hint=Debug last
|
40
40
|
user_toolbar.debug.debuglast.image_data=!DEBUG_LAST_GIF
|
41
41
|
user_toolbar.debug.debuglast.event_class=!StartDebugEvent
|
@@ -35,7 +35,7 @@ class RubyDebugView
|
|
35
35
|
'anchor' => 'nw',
|
36
36
|
'command'=>proc{self.debug_send(:step_over)},
|
37
37
|
'helptext'=>'step over',
|
38
|
-
'image'=>
|
38
|
+
'image'=> Arcadia.image_res(D_NEXT_GIF),
|
39
39
|
'relief'=> _relief })
|
40
40
|
)
|
41
41
|
@debug_button_box.add(Arcadia.style('toolbarbutton').update({
|
@@ -44,7 +44,7 @@ class RubyDebugView
|
|
44
44
|
'anchor' => 'nw',
|
45
45
|
'command'=>proc{self.debug_send(:step_into)},
|
46
46
|
'helptext'=>'step into',
|
47
|
-
'image'=>
|
47
|
+
'image'=> Arcadia.image_res(D_STEP_INTO_GIF),
|
48
48
|
'relief'=>_relief })
|
49
49
|
)
|
50
50
|
@debug_button_box.add(Arcadia.style('toolbarbutton').update({
|
@@ -53,7 +53,7 @@ class RubyDebugView
|
|
53
53
|
'anchor' => 'nw',
|
54
54
|
'helptext'=>'step out',
|
55
55
|
'command'=>proc{self.debug_send(:step_out)},
|
56
|
-
'image'=>
|
56
|
+
'image'=> Arcadia.image_res(D_STEP_OUT_GIF),
|
57
57
|
'relief'=>_relief })
|
58
58
|
)
|
59
59
|
@debug_button_box.add(Arcadia.style('toolbarbutton').update({
|
@@ -61,7 +61,7 @@ class RubyDebugView
|
|
61
61
|
# 'background' => 'white',
|
62
62
|
'anchor' => 'nw',
|
63
63
|
'helptext'=>'resume',
|
64
|
-
'image'=>
|
64
|
+
'image'=> Arcadia.image_res(D_RESUME_GIF),
|
65
65
|
'command'=>proc{self.debug_send(:resume)},
|
66
66
|
'relief'=>_relief })
|
67
67
|
)
|
@@ -71,7 +71,7 @@ class RubyDebugView
|
|
71
71
|
# 'background' => 'white',
|
72
72
|
'anchor' => 'nw',
|
73
73
|
'helptext'=>'quit',
|
74
|
-
'image'=>
|
74
|
+
'image'=> Arcadia.image_res(D_QUIT_GIF),
|
75
75
|
'command'=>proc{self.debug_send(:quit)},
|
76
76
|
'relief'=>_relief })
|
77
77
|
)
|
@@ -92,6 +92,7 @@ class RubyDebugView
|
|
92
92
|
state 'disabled'
|
93
93
|
background Arcadia.conf('panel.background')
|
94
94
|
}.place('height'=> _y)
|
95
|
+
TkWinfo.parent(@debug_button_box).configure(:background => Arcadia.conf('panel.background'))
|
95
96
|
|
96
97
|
# @debug_frame = TkFrame.new(@frame, Arcadia.style('panel')){
|
97
98
|
# border 2
|
@@ -213,9 +214,9 @@ class RubyDebugView
|
|
213
214
|
@class_state = B_STATE_ON
|
214
215
|
@global_state = B_STATE_OFF
|
215
216
|
|
216
|
-
_i_on =
|
217
|
-
_i_off =
|
218
|
-
_i_freeze =
|
217
|
+
_i_on = Arcadia.image_res(ON_GIF)
|
218
|
+
_i_off = Arcadia.image_res(OFF_GIF)
|
219
|
+
_i_freeze = Arcadia.image_res(FREEZE_GIF)
|
219
220
|
|
220
221
|
_b_relief = 'groove'
|
221
222
|
#------------------ loacal variables -------------------
|
@@ -606,7 +607,7 @@ class RubyDebugView
|
|
606
607
|
if _hash['__CLASS__']=='Array'
|
607
608
|
_sorted_keys = _hash.keys.collect!{|x| x.to_i}.sort.collect!{|x| x.to_s}
|
608
609
|
else
|
609
|
-
_sorted_keys = _hash.keys.sort
|
610
|
+
_sorted_keys = _hash.keys.collect!{|x| x.to_s}.sort
|
610
611
|
end
|
611
612
|
_sorted_keys.each{|k|
|
612
613
|
#_hash.keys.sort.each{|k|
|
@@ -775,25 +776,13 @@ class RubyDebugServer
|
|
775
776
|
ObserverCallback.new(self,_caller,:rdebug_server_update)
|
776
777
|
end
|
777
778
|
@arcadia = _arcadia
|
779
|
+
@rdebug_file = _caller.rdebug_file
|
778
780
|
@quit_confirm_request = false
|
779
781
|
@alive = false
|
780
782
|
end
|
781
783
|
|
782
784
|
def start_session_new(_filename, _host='localhost', _remote_port='8989')
|
783
|
-
|
784
|
-
#if RubyWhich.new.which("rdebug.bat") != []
|
785
|
-
if Arcadia.which("rdebug.bat")
|
786
|
-
rdebug_cmd = "rdebug.bat"
|
787
|
-
#elsif RubyWhich.new.which("rdebug.cmd") != []
|
788
|
-
elsif Arcadia.which("rdebug.cmd")
|
789
|
-
rdebug_cmd = "rdebug.cmd"
|
790
|
-
else
|
791
|
-
rdebug_cmd = "rdebug"
|
792
|
-
end
|
793
|
-
commandLine = "#{rdebug_cmd} --host #{_host} --port #{_remote_port} -sw #{_filename}"
|
794
|
-
else
|
795
|
-
commandLine = "rdebug --host #{_host} --port #{_remote_port} -sw #{_filename}"
|
796
|
-
end
|
785
|
+
commandLine = "#{@rdebug_file} --host #{_host} --port #{_remote_port} -sw #{_filename}"
|
797
786
|
#Arcadia.process_event(SystemExecEvent.new(self, 'command'=>commandLine))
|
798
787
|
Arcadia.process_event(RunCmdEvent.new(self, 'cmd'=>commandLine, 'file'=>_filename))
|
799
788
|
end
|
@@ -808,20 +797,8 @@ class RubyDebugServer
|
|
808
797
|
|
809
798
|
def start_session(_debug_event, _host='localhost', _remote_port='8989')
|
810
799
|
_filename = _debug_event.file
|
811
|
-
|
812
|
-
|
813
|
-
if Arcadia.which("rdebug.bat")
|
814
|
-
rdebug_cmd = "rdebug.bat"
|
815
|
-
#elsif RubyWhich.new.which("rdebug.cmd") != []
|
816
|
-
elsif Arcadia.which("rdebug.cmd")
|
817
|
-
rdebug_cmd = "rdebug.cmd"
|
818
|
-
else
|
819
|
-
rdebug_cmd = "rdebug"
|
820
|
-
end
|
821
|
-
commandLine = "#{rdebug_cmd} --host #{_host} --port #{_remote_port} -sw '#{_filename}'"
|
822
|
-
else
|
823
|
-
commandLine = "rdebug --host #{_host} --port #{_remote_port} -sw #{_filename}"
|
824
|
-
end
|
800
|
+
commandLine = "#{Arcadia.ruby} #{@rdebug_file} --host #{_host} --port #{_remote_port} -sw '#{_filename}'"
|
801
|
+
#p commandLine
|
825
802
|
begin
|
826
803
|
@alive = true
|
827
804
|
if Arcadia.is_windows?
|
@@ -840,7 +817,7 @@ class RubyDebugServer
|
|
840
817
|
end
|
841
818
|
set_alive(false)
|
842
819
|
notify(RDS_QUIET)
|
843
|
-
if _debug_event.persistent == false && _debug_event.file[
|
820
|
+
if _debug_event.persistent == false && File.basename(_debug_event.file)[0..1] == '~~'
|
844
821
|
File.delete(_debug_event.file) if File.exist?(_debug_event.file)
|
845
822
|
end
|
846
823
|
|
@@ -860,13 +837,16 @@ class RubyDebugServer
|
|
860
837
|
# num.to_i > 1
|
861
838
|
# }
|
862
839
|
# Arcadia.process_event(SubProcessEvent.new(self,'pid'=>pid, 'name'=>"debugging :#{_filename}",'abort_action'=>abort_action, 'alive_check'=>alive_check))
|
840
|
+
if File.basename(Arcadia.ruby) != 'ruby'
|
841
|
+
commandLine="export PATH=#{Arcadia.instance.local_dir}/bin:$PATH && #{commandLine}"
|
842
|
+
end
|
863
843
|
if Kernel.system(commandLine)
|
864
844
|
set_alive(false)
|
865
845
|
#p "alive=#{is_alive?}"
|
866
846
|
notify(RDS_QUIET)
|
867
847
|
Kernel.system('y')
|
868
848
|
|
869
|
-
if _debug_event.persistent == false && _debug_event.file[
|
849
|
+
if _debug_event.persistent == false && File.basename(_debug_event.file)[0..1] == '~~'
|
870
850
|
File.delete(_debug_event.file) if File.exist?(_debug_event.file)
|
871
851
|
end
|
872
852
|
|
@@ -1428,11 +1408,25 @@ end
|
|
1428
1408
|
class RubyDebug < ArcadiaExt
|
1429
1409
|
attr_reader :rds
|
1430
1410
|
attr_reader :rdc
|
1411
|
+
attr_reader :rdebug_file
|
1431
1412
|
def on_before_build(_event)
|
1432
1413
|
#if RubyWhich.new.which("rdebug") != []
|
1433
|
-
|
1434
|
-
|
1435
|
-
|
1414
|
+
@breakpoints = Hash.new
|
1415
|
+
@static_breakpoints = Array.new
|
1416
|
+
if Arcadia.is_windows?
|
1417
|
+
@rdebug_file = Arcadia.which("rdebug.bat")
|
1418
|
+
if !@rdebug_file
|
1419
|
+
@rdebug_file = Arcadia.which("rdebug.cmd")
|
1420
|
+
end
|
1421
|
+
if !@rdebug_file
|
1422
|
+
@rdebug_file = Arcadia.which("rdebug")
|
1423
|
+
end
|
1424
|
+
else
|
1425
|
+
@rdebug_file = Arcadia.which("rdebug")
|
1426
|
+
end
|
1427
|
+
|
1428
|
+
|
1429
|
+
if @rdebug_file
|
1436
1430
|
Arcadia.attach_listener(self, BufferEvent)
|
1437
1431
|
else
|
1438
1432
|
Arcadia.console(self, 'msg'=>"Warning: Extension ae-ruby-debug depend upon rdebug command (install it or update system path!)", 'level'=>'error')
|
@@ -1449,6 +1443,8 @@ class RubyDebug < ArcadiaExt
|
|
1449
1443
|
case _event
|
1450
1444
|
when BufferRaisedEvent
|
1451
1445
|
@raised_file=_event.file
|
1446
|
+
debugcurr = Arcadia.toolbar_item('debugcurr')
|
1447
|
+
debugcurr.enable=_event.lang=='ruby' if debugcurr
|
1452
1448
|
end
|
1453
1449
|
end
|
1454
1450
|
|
@@ -12,5 +12,5 @@ color.background=#ffffff
|
|
12
12
|
color.foreground=#000000
|
13
13
|
freebsd::font=courier 12 italic
|
14
14
|
freebsd::font.bold=courier 12 bold
|
15
|
-
win::font={Courier New} 9
|
16
|
-
win::font.bold={Courier New} 9 bold
|
15
|
+
win|mingw::font={Courier New} 9
|
16
|
+
win|mingw::font.bold={Courier New} 9 bold
|
@@ -107,20 +107,29 @@ class SearchInFilesListener
|
|
107
107
|
#@progress_bar.on_cancel=proc{cancel}
|
108
108
|
pattern = Regexp.new(@find.e_what.text)
|
109
109
|
_files.each do |_filename|
|
110
|
-
File.
|
111
|
-
|
112
|
-
|
113
|
-
|
110
|
+
next if File.ftype(_filename) != 'file'
|
111
|
+
begin
|
112
|
+
File.open(_filename) do |file|
|
113
|
+
file.grep(pattern) do |line|
|
114
|
+
@search_output.add_result(_node, _filename, file.lineno.to_s, line)
|
115
|
+
break if progress_stop
|
116
|
+
end
|
114
117
|
end
|
118
|
+
rescue ArgumentError => e
|
119
|
+
# bynary file probably
|
120
|
+
rescue Exception => e
|
121
|
+
Arcadia.console(self, 'msg'=>"#{_filename} :#{e.class}: #{e.message}", 'level'=>'error')
|
122
|
+
ensure
|
123
|
+
progress_bar.progress
|
124
|
+
break if progress_stop
|
115
125
|
end
|
116
|
-
progress_bar.progress
|
117
|
-
break if progress_stop
|
118
126
|
end
|
119
127
|
rescue Exception => e
|
120
128
|
Arcadia.console(self, 'msg'=>e.message, 'level'=>'error')
|
121
129
|
#Arcadia.new_error_msg(self, e.message)
|
122
130
|
ensure
|
123
131
|
progress_bar.destroy if progress_bar
|
132
|
+
@service.frame.show_anyway
|
124
133
|
end
|
125
134
|
end
|
126
135
|
end
|
@@ -148,7 +157,7 @@ class SearchOutput
|
|
148
157
|
_proc_clear = proc{clear_tree}
|
149
158
|
|
150
159
|
@button_u = Tk::BWidget::Button.new(left_frame, Arcadia.style('toolbarbutton')){
|
151
|
-
image
|
160
|
+
image Arcadia.image_res(CLEAR_GIF)
|
152
161
|
helptext 'Clear'
|
153
162
|
foreground 'blue'
|
154
163
|
command _proc_clear
|
@@ -249,7 +258,8 @@ class FindFrame < TkFloatTitledFrame
|
|
249
258
|
}
|
250
259
|
@e_what_entry = TkWinfo.children(@e_what)[0]
|
251
260
|
# this means "after each key press
|
252
|
-
|
261
|
+
#@e_what_entry.bind_append("1",proc{Arcadia.process_event(InputEnterEvent.new(self,'receiver'=>@e_what_entry))})
|
262
|
+
@e_what_entry.extend(TkInputThrow)
|
253
263
|
|
254
264
|
y0 = y0 + d
|
255
265
|
TkLabel.new(self.frame, Arcadia.style('label')){
|
@@ -268,7 +278,8 @@ class FindFrame < TkFloatTitledFrame
|
|
268
278
|
place('relwidth' => 1, 'width'=>-16,'x' => 8,'y' => y0,'height' => 19)
|
269
279
|
}
|
270
280
|
@e_filter_entry = TkWinfo.children(@e_filter)[0]
|
271
|
-
|
281
|
+
#@e_filter_entry.bind_append("1",proc{Arcadia.process_event(InputEnterEvent.new(self,'receiver'=>@e_filter_entry))})
|
282
|
+
@e_filter_entry.extend(TkInputThrow)
|
272
283
|
|
273
284
|
@e_filter.insert('end', '*.*')
|
274
285
|
@e_filter.insert('end', '*.rb')
|
@@ -11,5 +11,5 @@ color.background=#ffffff
|
|
11
11
|
color.foreground=#000000
|
12
12
|
freebsd::font=courier 12 italic
|
13
13
|
freebsd::font.bold=courier 12 bold
|
14
|
-
win::font={Courier New} 9
|
15
|
-
win::font.bold={Courier New} 9 bold
|
14
|
+
win|mingw::font={Courier New} 9
|
15
|
+
win|mingw::font.bold={Courier New} 9 bold
|
data/ext/ae-shell/ae-shell.conf
CHANGED
data/ext/ae-shell/ae-shell.rb
CHANGED
@@ -24,7 +24,7 @@ class Shell < ArcadiaExt
|
|
24
24
|
def on_system_exec(_event)
|
25
25
|
begin
|
26
26
|
_cmd_ = "#{_event.command}"
|
27
|
-
if is_windows?
|
27
|
+
if Arcadia.is_windows?
|
28
28
|
io = IO.popen(_cmd_)
|
29
29
|
Arcadia.console(self,'msg'=>io.read, 'level'=>'debug')
|
30
30
|
else
|
@@ -134,12 +134,13 @@ class Shell < ArcadiaExt
|
|
134
134
|
@@next_number = 0
|
135
135
|
def on_run_cmd(_event)
|
136
136
|
if _event.cmd
|
137
|
+
#p "_event.cmd = #{_event.cmd}"
|
137
138
|
begin
|
138
|
-
output_mark = Arcadia.console(self,'msg'=>"Running #{_event.title}...", 'level'=>'debug') # info?
|
139
|
+
output_mark = Arcadia.console(self,'msg'=>"Running #{_event.title} as #{_event.lang}...", 'level'=>'debug') # info?
|
139
140
|
start_time = Time.now
|
140
141
|
@arcadia['pers']['run.file.last']=_event.file if _event.persistent
|
141
142
|
@arcadia['pers']['run.cmd.last']=_event.cmd if _event.persistent
|
142
|
-
if is_windows?
|
143
|
+
if Arcadia.is_windows?
|
143
144
|
# use win32-process gem to startup a child process [not sure if linux needs something like this, too]
|
144
145
|
require 'win32/process'
|
145
146
|
require 'ruby-wmi'
|
@@ -222,13 +223,20 @@ class Shell < ArcadiaExt
|
|
222
223
|
|
223
224
|
if stderr
|
224
225
|
if @stderr_blocking
|
226
|
+
current_buffer = '<<current buffer>>'
|
225
227
|
output_dump = stderr.read
|
226
228
|
if output_dump && output_dump.length > 0
|
229
|
+
if !_event.persistent
|
230
|
+
output_dump.gsub!(_event.file, current_buffer)
|
231
|
+
end
|
227
232
|
output_mark = Arcadia.console(self,'msg'=>output_dump, 'level'=>'error', 'mark'=>output_mark)
|
228
233
|
_event.add_result(self, 'output'=>output_dump)
|
229
234
|
end
|
230
235
|
else
|
231
236
|
stderr.each do |output_dump|
|
237
|
+
if !_event.persistent
|
238
|
+
output_dump.gsub!(_event.file, current_buffer)
|
239
|
+
end
|
232
240
|
output_mark = Arcadia.console(self,'msg'=>output_dump, 'level'=>'error', 'mark'=>output_mark)
|
233
241
|
_event.add_result(self, 'output'=>output_dump)
|
234
242
|
end
|
@@ -254,8 +262,15 @@ class Shell < ArcadiaExt
|
|
254
262
|
# _event.add_result(self, 'output'=>_readed)
|
255
263
|
# }
|
256
264
|
#p "da cancellare #{ _event.file } #{_event.file[-2..-1] == '~~'} #{_event.persistent == false} #{File.exist?(_event.file)}"
|
257
|
-
if _event.persistent == false && _event.file
|
258
|
-
File.
|
265
|
+
if _event.persistent == false && File.exist?(_event.file)
|
266
|
+
if File.basename(_event.file)[0..1] == '~~'
|
267
|
+
File.delete(_event.file)
|
268
|
+
elsif File.basename(File.dirname(_event.file))[0..1] == '~~'
|
269
|
+
Dir["#{File.dirname(_event.file)}/*"].each{|file|
|
270
|
+
File.delete(file)
|
271
|
+
}
|
272
|
+
Dir.delete(File.dirname(_event.file))
|
273
|
+
end
|
259
274
|
end
|
260
275
|
rescue Exception => e
|
261
276
|
output_mark = Arcadia.console(self,'msg'=>e.to_s, 'level'=>'debug', 'mark'=>output_mark)
|
@@ -286,7 +301,7 @@ class Shell < ArcadiaExt
|
|
286
301
|
def on_system_exec_bo(_event)
|
287
302
|
command = "#{_event.command} 2>&1"
|
288
303
|
(RUBY_PLATFORM.include?('mswin32'))?_cmd="cmd":_cmd='sh'
|
289
|
-
if is_windows?
|
304
|
+
if Arcadia.is_windows?
|
290
305
|
Thread.new{
|
291
306
|
Arcadia.console(self,'msg'=>'begin', 'level'=>'debug')
|
292
307
|
#Arcadia.new_debug_msg(self, 'inizio')
|
@@ -310,45 +325,41 @@ class Shell < ArcadiaExt
|
|
310
325
|
end
|
311
326
|
end
|
312
327
|
|
313
|
-
def
|
314
|
-
|
315
|
-
end
|
316
|
-
|
317
|
-
def
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
#Arcadia.new_debug_msg(self, e)
|
350
|
-
end
|
351
|
-
end
|
352
|
-
end
|
328
|
+
# def run_last
|
329
|
+
# run($arcadia['pers']['run.file.last'])
|
330
|
+
# end
|
331
|
+
#
|
332
|
+
# def run_current
|
333
|
+
# current_editor = $arcadia['editor'].raised
|
334
|
+
# run(current_editor.file) if current_editor
|
335
|
+
# end
|
336
|
+
#
|
337
|
+
# def stop
|
338
|
+
# @run_threads.each{|t|
|
339
|
+
# if t.alive?
|
340
|
+
# t.kill
|
341
|
+
# end
|
342
|
+
# }
|
343
|
+
# debug_quit if @adw
|
344
|
+
# end
|
345
|
+
#
|
346
|
+
# def run(_filename=nil)
|
347
|
+
# if _filename
|
348
|
+
# begin
|
349
|
+
# @arcadia['pers']['run.file.last']=_filename
|
350
|
+
# @run_threads << Thread.new do
|
351
|
+
# _cmd_ = "|"+$arcadia['conf']['shell.ruby']+" "+_filename+" 2>&1"
|
352
|
+
# # Arcadia.new_debug_msg(self, _cmd_)
|
353
|
+
# @cmd = open(_cmd_,"r"){|f|
|
354
|
+
# Arcadia.console(self, 'msg'=>f.read ,'level'=>'debug')
|
355
|
+
# #Arcadia.new_debug_msg(self, f.read)
|
356
|
+
# }
|
357
|
+
# end
|
358
|
+
# rescue Exception => e
|
359
|
+
# Arcadia.console(self, 'msg'=>e ,'level'=>'debug')
|
360
|
+
# #Arcadia.new_debug_msg(self, e)
|
361
|
+
# end
|
362
|
+
# end
|
363
|
+
# end
|
353
364
|
|
354
365
|
end
|