arcadia 0.9.3 → 0.10.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.
- 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
|