arcadia 0.11.1.4 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +20 -5
- data/conf/LC/en-UK.LANG +270 -0
- data/conf/arcadia.conf +25 -42
- data/conf/arcadia.init.rb +1 -1
- data/conf/arcadia.res.rb +40 -1
- data/ext/ae-breakpoints/ae-breakpoints.rb +4 -25
- data/ext/ae-dir-projects/ae-dir-projects.conf +1 -10
- data/ext/ae-dir-projects/ae-dir-projects.rb +113 -41
- data/ext/ae-editor/ae-editor.conf +8 -4
- data/ext/ae-editor/ae-editor.rb +425 -218
- data/ext/ae-editor/langs/conf.lang +1 -1
- data/ext/ae-file-history/ae-file-history.conf +1 -8
- data/ext/ae-file-history/ae-file-history.rb +156 -40
- data/ext/ae-output/ae-output.rb +79 -16
- data/ext/ae-ruby-debug/ae-ruby-debug.rb +43 -49
- data/ext/ae-search-in-files/ae-search-in-files.conf +0 -2
- data/ext/ae-search-in-files/ae-search-in-files.rb +8 -14
- data/ext/ae-search-in-files/ext/ack-in-files/ack-in-files.rb +6 -5
- data/ext/ae-shell/ae-shell.conf +1 -1
- data/ext/ae-shell/ae-shell.rb +112 -44
- data/ext/ae-subprocess-inspector/ae-subprocess-inspector.rb +5 -4
- data/ext/ae-subprocess-inspector/process.res +0 -0
- data/ext/ae-term/ae-term.conf +15 -0
- data/ext/ae-term/ae-term.rb +165 -0
- data/ext/test-shutdown-after-startup/test-shutdown-after-startup.conf +2 -2
- data/lib/a-commons.rb +128 -23
- data/lib/a-contracts.rb +10 -0
- data/lib/a-core.rb +1186 -1024
- data/lib/a-tkcommons.rb +44 -28
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/ArrowButton.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/BWidget.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/Button.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/ButtonBox.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/ComboBox.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/Dialog.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/DragSite.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/DropSite.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/DynamicHelp.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/Entry.html +25 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/Label.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/LabelEntry.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/LabelFrame.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/ListBox.html +2 -2
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/MainFrame.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/MessageDlg.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/NoteBook.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/PagesManager.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/PanedWindow.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/PanelFrame.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/PasswdDlg.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/ProgressBar.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/ProgressDlg.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/ScrollView.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/ScrollableFrame.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/ScrolledWindow.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/SelectColor.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/SelectFont.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/Separator.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/SpinBox.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/StatusBar.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/TitleFrame.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/Tree.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/Widget.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/contents.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/index.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/navtree.html +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/BWman/options.htm +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/CHANGES.txt +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/ChangeLog +34 -1
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/LICENSE.txt +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/README.txt +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/arrow.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/bitmap.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/button.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/buttonbox.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/color.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/combobox.tcl +16 -6
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/demo/basic.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/demo/bwidget.xbm +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/demo/demo.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/demo/dnd.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/demo/manager.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/demo/select.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/demo/tmpldlg.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/demo/tree.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/demo/x1.xbm +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/dialog.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/dragsite.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/dropsite.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/dynhelp.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/entry.tcl +57 -30
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/font.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/bold.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/copy.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/cut.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/dragfile.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/dragicon.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/error.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/file.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/folder.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/hourglass.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/info.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/italic.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/minus.xbm +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/new.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/opcopy.xbm +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/open.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/openfold.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/oplink.xbm +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/opmove.xbm +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/overstrike.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/palette.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/passwd.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/paste.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/plus.xbm +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/print.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/question.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/redo.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/save.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/target.xbm +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/underline.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/undo.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/images/warning.gif +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/init.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/label.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/labelentry.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/labelframe.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/lang/da.rc +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/lang/de.rc +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/lang/en.rc +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/lang/es.rc +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/lang/fr.rc +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/lang/hu.rc +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/lang/nl.rc +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/lang/no.rc +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/lang/pl.rc +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/listbox.tcl +6 -3
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/mainframe.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/messagedlg.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/notebook.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/pagesmgr.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/panedw.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/panelframe.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/passwddlg.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/pkgIndex.tcl +2 -2
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/progressbar.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/progressdlg.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/scrollframe.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/scrollview.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/scrollw.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/separator.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/spinbox.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/statusbar.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/tests/entry.test +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/titleframe.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/tree.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/utils.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/widget.tcl +2 -2
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/wizard.tcl +0 -0
- data/tcl/{bwidget-1.9.5 → bwidget-1.9.6}/xpm2image.tcl +0 -0
- data/tcl/fsdialog/fsdialog.tcl +59 -25
- metadata +201 -218
@@ -34,7 +34,7 @@ class RubyDebugView
|
|
34
34
|
# 'background' => 'white',
|
35
35
|
'anchor' => 'nw',
|
36
36
|
'command'=>proc{self.debug_send(:step_over)},
|
37
|
-
'helptext'=>'
|
37
|
+
'helptext'=>Arcadia.text('ext.ruby_debug.button.step_over.hint'),
|
38
38
|
'image'=> Arcadia.image_res(D_NEXT_GIF),
|
39
39
|
'relief'=> _relief })
|
40
40
|
)
|
@@ -43,7 +43,7 @@ class RubyDebugView
|
|
43
43
|
# 'background' => 'white',
|
44
44
|
'anchor' => 'nw',
|
45
45
|
'command'=>proc{self.debug_send(:step_into)},
|
46
|
-
'helptext'=>'
|
46
|
+
'helptext'=>Arcadia.text('ext.ruby_debug.button.step_into.hint'),
|
47
47
|
'image'=> Arcadia.image_res(D_STEP_INTO_GIF),
|
48
48
|
'relief'=>_relief })
|
49
49
|
)
|
@@ -51,7 +51,7 @@ class RubyDebugView
|
|
51
51
|
'name'=>'debug_out',
|
52
52
|
# 'background' => 'white',
|
53
53
|
'anchor' => 'nw',
|
54
|
-
'helptext'=>'
|
54
|
+
'helptext'=>Arcadia.text('ext.ruby_debug.button.step_out.hint'),
|
55
55
|
'command'=>proc{self.debug_send(:step_out)},
|
56
56
|
'image'=> Arcadia.image_res(D_STEP_OUT_GIF),
|
57
57
|
'relief'=>_relief })
|
@@ -60,7 +60,7 @@ class RubyDebugView
|
|
60
60
|
'name'=>'debug_resume',
|
61
61
|
# 'background' => 'white',
|
62
62
|
'anchor' => 'nw',
|
63
|
-
'helptext'=>'resume',
|
63
|
+
'helptext'=>Arcadia.text('ext.ruby_debug.button.resume.hint'),
|
64
64
|
'image'=> Arcadia.image_res(D_RESUME_GIF),
|
65
65
|
'command'=>proc{self.debug_send(:resume)},
|
66
66
|
'relief'=>_relief })
|
@@ -70,7 +70,7 @@ class RubyDebugView
|
|
70
70
|
'name'=>'debug_quit',
|
71
71
|
# 'background' => 'white',
|
72
72
|
'anchor' => 'nw',
|
73
|
-
'helptext'=>'quit',
|
73
|
+
'helptext'=>Arcadia.text('ext.ruby_debug.button.quit.hint'),
|
74
74
|
'image'=> Arcadia.image_res(D_QUIT_GIF),
|
75
75
|
'command'=>proc{self.debug_send(:quit)},
|
76
76
|
'relief'=>_relief })
|
@@ -220,7 +220,7 @@ class RubyDebugView
|
|
220
220
|
|
221
221
|
_b_relief = 'groove'
|
222
222
|
#------------------ loacal variables -------------------
|
223
|
-
_loc_var_text = "
|
223
|
+
_loc_var_text = Arcadia.text("ext.ruby_debug.node.local_var.caption")
|
224
224
|
@b_local_onoff = TkButton.new(@tree_var, Arcadia.style('button')){
|
225
225
|
image _i_on
|
226
226
|
state 'disabled'
|
@@ -244,8 +244,8 @@ class RubyDebugView
|
|
244
244
|
elsif @local_state == B_STATE_FREEZE
|
245
245
|
@b_local_onoff.image(_i_freeze)
|
246
246
|
@tree_var.itemconfigure('local_var',
|
247
|
-
'text'=>
|
248
|
-
'helptext'=>
|
247
|
+
'text'=>Arcadia.text('ext.ruby_debug.freeze_at',[_loc_var_text,@last_position_string]),
|
248
|
+
'helptext'=>Arcadia.text('ext.ruby_debug.freeze_at',[_loc_var_text,@last_position_string])
|
249
249
|
)
|
250
250
|
elsif @local_state == B_STATE_OFF
|
251
251
|
@b_local_onoff.image(_i_off)
|
@@ -266,7 +266,7 @@ class RubyDebugView
|
|
266
266
|
}))
|
267
267
|
|
268
268
|
#------------------ instance variables -------------------
|
269
|
-
_instance_var_text="
|
269
|
+
_instance_var_text=Arcadia.text("ext.ruby_debug.node.instance_var.caption")
|
270
270
|
@b_instance_onoff = TkButton.new(@tree_var, Arcadia.style('button')){
|
271
271
|
image _i_on
|
272
272
|
#relief _b_relief
|
@@ -291,8 +291,8 @@ class RubyDebugView
|
|
291
291
|
elsif @instance_state == B_STATE_FREEZE
|
292
292
|
@b_instance_onoff.image(_i_freeze)
|
293
293
|
@tree_var.itemconfigure('instance_var',
|
294
|
-
'text'=>
|
295
|
-
'helptext'=>
|
294
|
+
'text'=>Arcadia.text('ext.ruby_debug.freeze_at',[_instance_var_text,@last_position_string]),
|
295
|
+
'helptext'=>Arcadia.text('ext.ruby_debug.freeze_at',[_instance_var_text,@last_position_string])
|
296
296
|
)
|
297
297
|
elsif @instance_state == B_STATE_OFF
|
298
298
|
@b_instance_onoff.image(_i_off)
|
@@ -312,7 +312,7 @@ class RubyDebugView
|
|
312
312
|
}))
|
313
313
|
|
314
314
|
#------------------ class variables -------------------
|
315
|
-
_class_var_text="
|
315
|
+
_class_var_text=Arcadia.text("ext.ruby_debug.node.class_var.caption")
|
316
316
|
@b_class_onoff = TkButton.new(@tree_var, Arcadia.style('button')){
|
317
317
|
image _i_on
|
318
318
|
#relief _b_relief
|
@@ -337,8 +337,8 @@ class RubyDebugView
|
|
337
337
|
elsif @class_state == B_STATE_FREEZE
|
338
338
|
@b_class_onoff.image(_i_freeze)
|
339
339
|
@tree_var.itemconfigure('class_var',
|
340
|
-
'text'=>
|
341
|
-
'helptext'=>
|
340
|
+
'text'=> Arcadia.text('ext.ruby_debug.freeze_at',[_class_var_text,@last_position_string]),
|
341
|
+
'helptext'=>Arcadia.text('ext.ruby_debug.freeze_at',[_class_var_text,@last_position_string])
|
342
342
|
)
|
343
343
|
elsif @class_state == B_STATE_OFF
|
344
344
|
@b_class_onoff.image(_i_off)
|
@@ -359,7 +359,7 @@ class RubyDebugView
|
|
359
359
|
|
360
360
|
|
361
361
|
#------------------ global variables -------------------
|
362
|
-
_global_var_text="
|
362
|
+
_global_var_text=Arcadia.text("ext.ruby_debug.node.global_var.caption")
|
363
363
|
@b_global_onoff = TkButton.new(@tree_var, Arcadia.style('button')){
|
364
364
|
image _i_off
|
365
365
|
#relief _b_relief
|
@@ -384,8 +384,8 @@ class RubyDebugView
|
|
384
384
|
elsif @global_state == B_STATE_FREEZE
|
385
385
|
@b_global_onoff.image(_i_freeze)
|
386
386
|
@tree_var.itemconfigure('global_var',
|
387
|
-
'text'=>
|
388
|
-
'helptext'=>
|
387
|
+
'text'=>Arcadia.text('ext.ruby_debug.freeze_at',[_global_var_text,@last_position_string]),
|
388
|
+
'helptext'=>Arcadia.text('ext.ruby_debug.freeze_at',[_global_var_text,@last_position_string])
|
389
389
|
)
|
390
390
|
elsif @global_state == B_STATE_OFF
|
391
391
|
@b_global_onoff.image(_i_off)
|
@@ -480,7 +480,7 @@ class RubyDebugView
|
|
480
480
|
return if @controller.rdc.nil? || !@controller.rdc.is_debugging_ready? || !@controller.rds.is_alive?
|
481
481
|
begin
|
482
482
|
if _command == 'quit'
|
483
|
-
msg = "Really quit debug ? (y/n)"
|
483
|
+
# msg = "Really quit debug ? (y/n)"
|
484
484
|
ans = 'yes'#Tk.messageBox('icon' => 'question', 'type' => 'yesno',
|
485
485
|
# 'title' => '(Arcadia) Debug', 'message' => msg)
|
486
486
|
if ans == 'yes'
|
@@ -511,7 +511,7 @@ class RubyDebugView
|
|
511
511
|
end
|
512
512
|
end
|
513
513
|
rescue Exception => e
|
514
|
-
Arcadia.console(self, 'msg'=>
|
514
|
+
Arcadia.console(self, 'msg'=>Arcadia.text('ext.ruby_debug.client.e.on_command', [_command, e.inspect]), 'level'=>'debug')
|
515
515
|
#Arcadia.new_debug_msg(self,"on command #{_command}:#{e.inspect}")
|
516
516
|
end
|
517
517
|
end
|
@@ -577,7 +577,7 @@ class RubyDebugView
|
|
577
577
|
'fill'=>Arcadia.conf('hightlight.13.foreground'),
|
578
578
|
'open'=>true,
|
579
579
|
'anchor'=>'w',
|
580
|
-
'text' => "
|
580
|
+
'text' => Arcadia.text("ext.ruby_debug.node.eval_selected")
|
581
581
|
}))
|
582
582
|
end
|
583
583
|
update_variables('eval', _hash)
|
@@ -863,7 +863,8 @@ class RubyDebugServer
|
|
863
863
|
end
|
864
864
|
end
|
865
865
|
rescue Exception => e
|
866
|
-
|
866
|
+
|
867
|
+
Arcadia.console(self, 'msg'=>Arcadia.text('ext.ruby_debug.server.e.on_start', [e.class, e.message]), 'level'=>'debug')
|
867
868
|
#Arcadia.new_debug_msg(self,"Error on start_server : #{e.class}:#{e.message}")
|
868
869
|
end
|
869
870
|
end
|
@@ -878,8 +879,7 @@ class RubyDebugServer
|
|
878
879
|
end
|
879
880
|
notify(RDS_QUIET)
|
880
881
|
rescue Exception => e
|
881
|
-
Arcadia.console(self, 'msg'=>
|
882
|
-
#Arcadia.new_debug_msg(self,"Error on start_server : #{e.class}:#{e.message}")
|
882
|
+
Arcadia.console(self, 'msg'=>Arcadia.text('ext.ruby_debug.server.e.on_kill', [e.class, e.message]), 'level'=>'debug')
|
883
883
|
end
|
884
884
|
end
|
885
885
|
|
@@ -1026,12 +1026,12 @@ class RubyDebugClient
|
|
1026
1026
|
if @t > 0
|
1027
1027
|
socket_session
|
1028
1028
|
else
|
1029
|
-
Arcadia.console(self, 'msg'=>
|
1029
|
+
Arcadia.console(self, 'msg'=>Arcadia.text('ext.ruby_debug.client.e.socket_session.1', [e.inspect]), 'level'=>'debug')
|
1030
1030
|
#Arcadia.new_debug_msg(self,"socket_session : #{e.inspect}")
|
1031
1031
|
end
|
1032
1032
|
rescue Exception => e
|
1033
|
-
@session = nil
|
1034
|
-
Arcadia.console(self, 'msg'=>
|
1033
|
+
@session = nil
|
1034
|
+
Arcadia.console(self, 'msg'=>Arcadia.text('ext.ruby_debug.client.e.socket_session.2', [e.class,e.message]), 'level'=>'debug')
|
1035
1035
|
#Arcadia.new_debug_msg(self,"Error on socket_session : #{e.class}:#{e.message}")
|
1036
1036
|
end
|
1037
1037
|
elsif !@controller.rds.is_alive?
|
@@ -1047,7 +1047,7 @@ class RubyDebugClient
|
|
1047
1047
|
@session.close if is_alive?
|
1048
1048
|
@session=nil
|
1049
1049
|
rescue Exception => e
|
1050
|
-
Arcadia.console(self, 'msg'=>
|
1050
|
+
Arcadia.console(self, 'msg'=>Arcadia.text('ext.ruby_debug.client.e.close_session',[e.class,e.message]), 'level'=>'debug')
|
1051
1051
|
#Arcadia.new_debug_msg(self,"Error on close session : #{e.class}:#{e.message}")
|
1052
1052
|
end
|
1053
1053
|
end
|
@@ -1063,7 +1063,7 @@ class RubyDebugClient
|
|
1063
1063
|
end
|
1064
1064
|
return @session
|
1065
1065
|
rescue Exception => e
|
1066
|
-
Arcadia.console(self, 'msg'=>
|
1066
|
+
Arcadia.console(self, 'msg'=>Arcadia.text('ext.ruby_debug.client.e.start_session', [e.class, e.message], e.backtrace.join('..')), 'level'=>'debug')
|
1067
1067
|
#Arcadia.new_debug_msg(self,"Error on start_session : #{e.class}:#{e.message}")
|
1068
1068
|
end
|
1069
1069
|
end
|
@@ -1073,7 +1073,7 @@ class RubyDebugClient
|
|
1073
1073
|
quit if is_debugging_ready?
|
1074
1074
|
@session.close if is_alive?
|
1075
1075
|
rescue Exception => e
|
1076
|
-
Arcadia.console(self, 'msg'=>
|
1076
|
+
Arcadia.console(self, 'msg'=>Arcadia.text('ext.ruby_debug.client.e.stop_session', [e.class, e.inspect]), 'level'=>'debug')
|
1077
1077
|
#Arcadia.new_debug_msg(self,"Error on stop_session : #{e.class}:#{e.inspect}")
|
1078
1078
|
end
|
1079
1079
|
end
|
@@ -1094,15 +1094,13 @@ class RubyDebugClient
|
|
1094
1094
|
rescue Errno::ECONNABORTED,Errno::ECONNRESET, Errno::EPIPE => e
|
1095
1095
|
notify("quit_yes")
|
1096
1096
|
#DebugContract.instance.debug_end(self)
|
1097
|
-
Arcadia.console(self, 'msg'=>
|
1098
|
-
#Arcadia.new_debug_msg(self,"Debugger has finished executing:\n #{e.class}:#{e.inspect}")
|
1097
|
+
Arcadia.console(self, 'msg'=>Arcadia.text('ext.ruby_debug.client.e.abort_session', [e.class, e.inspect]), 'level'=>'debug')
|
1099
1098
|
@session = nil
|
1100
1099
|
@pend = true
|
1101
1100
|
false
|
1102
1101
|
#raise RubyDebugException.new("Debugged has finished executing")
|
1103
1102
|
rescue Exception => e
|
1104
|
-
Arcadia.console(self, 'msg'=>
|
1105
|
-
#Arcadia.new_debug_msg(self,"Error on command #{_command}: #{e.class}:#{e.inspect}")
|
1103
|
+
Arcadia.console(self, 'msg'=>Arcadia.text('ext.ruby_debug.client.e.on_command', [_command, e.class, e.inspect]), 'level'=>'debug')
|
1106
1104
|
false
|
1107
1105
|
end
|
1108
1106
|
end
|
@@ -1124,12 +1122,11 @@ class RubyDebugClient
|
|
1124
1122
|
@busy = false
|
1125
1123
|
result
|
1126
1124
|
|
1127
|
-
rescue Errno::ECONNABORTED
|
1128
|
-
raise RubyDebugException.new("
|
1129
|
-
rescue Errno::ECONNRESET
|
1130
|
-
raise RubyDebugException.new("Debugged has finished executing")
|
1125
|
+
rescue Errno::ECONNABORTED, Errno::ECONNRESET
|
1126
|
+
raise RubyDebugException.new(Arcadia.text("ext.ruby_debug.client.e.raise.on_read.1"))
|
1131
1127
|
rescue Exception => e
|
1132
|
-
|
1128
|
+
|
1129
|
+
raise RubyDebugException.new(Arcadia.text("ext.ruby_debug.client.e.raise.on_read.2", [_command, e.class, e.inspect]))
|
1133
1130
|
end
|
1134
1131
|
private :read
|
1135
1132
|
|
@@ -1429,7 +1426,7 @@ class RubyDebug < ArcadiaExt
|
|
1429
1426
|
if @rdebug_file
|
1430
1427
|
Arcadia.attach_listener(self, BufferEvent)
|
1431
1428
|
else
|
1432
|
-
Arcadia.console(self, 'msg'=>"
|
1429
|
+
Arcadia.console(self, 'msg'=>Arcadia.text("ext.ruby_debug.e.rdebug"), 'level'=>'error')
|
1433
1430
|
#Arcadia.new_error_msg(self, "Warning: Extension ae-ruby-debug depend upon rdebug command (install it or update system path!)")
|
1434
1431
|
end
|
1435
1432
|
Arcadia.attach_listener(self, DebugEvent)
|
@@ -1459,8 +1456,8 @@ class RubyDebug < ArcadiaExt
|
|
1459
1456
|
else
|
1460
1457
|
Arcadia.dialog(self,
|
1461
1458
|
'type'=>'ok',
|
1462
|
-
'title'=>'
|
1463
|
-
'msg'=>
|
1459
|
+
'title'=>Arcadia.text('ext.ruby_debug.d.file_not_exist.title'),
|
1460
|
+
'msg'=>Arcadia.text('ext.ruby_debug.d.file_not_exist.msg', [_filename]))
|
1464
1461
|
end
|
1465
1462
|
when StepDebugEvent
|
1466
1463
|
if (_event.command == :quit_yes)
|
@@ -1571,11 +1568,8 @@ class RubyDebug < ArcadiaExt
|
|
1571
1568
|
def on_exit_query(_event)
|
1572
1569
|
if @rdc && @rdc.is_alive?
|
1573
1570
|
query = (Arcadia.dialog(self, 'icon' => 'question', 'type' => 'yes_no',
|
1574
|
-
'title' =>
|
1575
|
-
'message' => "
|
1576
|
-
# query = (Tk.messageBox('icon' => 'question', 'type' => 'yesno',
|
1577
|
-
# 'title' => '(Arcadia) Debug',
|
1578
|
-
# 'message' => "Debug in course, do you want to exit?")=='yes')
|
1571
|
+
'title' => Arcadia.text("ext.ruby_debug.d.exit_query.title"),
|
1572
|
+
'message' => Arcadia.text("ext.ruby_debug.d.exit_query.msg"))=='yes')
|
1579
1573
|
if query
|
1580
1574
|
debug_quit
|
1581
1575
|
_event.can_exit=true
|
@@ -1632,7 +1626,7 @@ class RubyDebug < ArcadiaExt
|
|
1632
1626
|
end
|
1633
1627
|
end
|
1634
1628
|
rescue Exception => e
|
1635
|
-
Arcadia.console(self, '
|
1629
|
+
Arcadia.console(self, Arcadia.text('ext.ruby_debug.e.do_debug', [e.to_s, e.backtrace[0]]), 'level'=>'debug')
|
1636
1630
|
end
|
1637
1631
|
end
|
1638
1632
|
end
|
@@ -1662,8 +1656,8 @@ class RubyDebug < ArcadiaExt
|
|
1662
1656
|
Thread.new{
|
1663
1657
|
Arcadia.dialog(self,
|
1664
1658
|
'type'=>'ok',
|
1665
|
-
'title' => "
|
1666
|
-
'msg'=>"
|
1659
|
+
'title' => Arcadia.text("ext.ruby_debug.d.quit_if_debug.title"),
|
1660
|
+
'msg'=>Arcadia.text("ext.ruby_debug.d.quit_if_debug.msg"),
|
1667
1661
|
'level'=>'info')
|
1668
1662
|
# Tk.messageBox('icon' => 'info',
|
1669
1663
|
# 'type' => 'ok',
|
@@ -6,7 +6,7 @@
|
|
6
6
|
class SearchInFiles < ArcadiaExt
|
7
7
|
|
8
8
|
def on_before_build(_event)
|
9
|
-
create_find '
|
9
|
+
create_find Arcadia.text('ext.search_in_files.title')
|
10
10
|
Arcadia.attach_listener(self, SearchInFilesEvent)
|
11
11
|
end
|
12
12
|
|
@@ -88,14 +88,13 @@ class SearchInFiles < ArcadiaExt
|
|
88
88
|
Thread.new do
|
89
89
|
begin
|
90
90
|
MonitorLastUsedDir.set_last @find.e_dir.text # save it away TODO make it into a message
|
91
|
-
|
92
|
-
_search_title = 'search result for : "'+@find.e_what.text+'" in :"'+@find.e_dir.text+'"'+' ['+@find.e_filter.text+']'
|
91
|
+
_search_title = Arcadia.text('ext.search_in_files.search_result_title', [@find.e_what.text, @find.e_dir.text, @find.e_filter.text])
|
93
92
|
_filter = @find.e_dir.text+'/**/'+@find.e_filter.text
|
94
93
|
_files = Dir[_filter]
|
95
94
|
_node = @search_output.new_result(_search_title, _files.length)
|
96
95
|
progress_stop=false
|
97
96
|
progress_bar = TkProgressframe.new(self.arcadia.layout.root, _files.length)
|
98
|
-
progress_bar.title('
|
97
|
+
progress_bar.title(Arcadia.text('ext.search_in_files.progress.title'))
|
99
98
|
progress_bar.on_cancel=proc{progress_stop=true}
|
100
99
|
#@progress_bar.on_cancel=proc{cancel}
|
101
100
|
pattern = Regexp.new(@find.e_what.text)
|
@@ -151,16 +150,12 @@ class SearchOutput
|
|
151
150
|
|
152
151
|
@button_u = Tk::BWidget::Button.new(left_frame, Arcadia.style('toolbarbutton')){
|
153
152
|
image Arcadia.image_res(CLEAR_GIF)
|
154
|
-
helptext '
|
155
|
-
foreground 'blue'
|
153
|
+
helptext 'ext.search_in_files.button.clear.hint'
|
156
154
|
command _proc_clear
|
157
155
|
relief 'groove'
|
158
156
|
pack('side' =>'top', 'anchor'=>'n',:padx=>0, :pady=>0)
|
159
157
|
}
|
160
158
|
|
161
|
-
# @found_color='#3f941b'
|
162
|
-
# @not_found_color= 'red'
|
163
|
-
# @item_color='#6fc875'
|
164
159
|
@found_color=Arcadia.conf('activeforeground')
|
165
160
|
@not_found_color= Arcadia.conf('hightlight.comment.foreground')
|
166
161
|
@item_color=Arcadia.conf('treeitem.fill')
|
@@ -237,7 +232,7 @@ class FindFrame < TkFloatTitledFrame
|
|
237
232
|
y0 = 10
|
238
233
|
d = 23
|
239
234
|
TkLabel.new(self.frame, Arcadia.style('label')){
|
240
|
-
text '
|
235
|
+
text Arcadia.text('ext.search_in_files.search.label.find_what')
|
241
236
|
place('x' => 8,'y' => y0,'height' => 19)
|
242
237
|
}
|
243
238
|
y0 = y0 + d
|
@@ -256,7 +251,7 @@ class FindFrame < TkFloatTitledFrame
|
|
256
251
|
|
257
252
|
y0 = y0 + d
|
258
253
|
TkLabel.new(self.frame, Arcadia.style('label')){
|
259
|
-
text '
|
254
|
+
text Arcadia.text('ext.search_in_files.search.label.files_filter')
|
260
255
|
place('x' => 8,'y' => y0,'height' => 19)
|
261
256
|
}
|
262
257
|
y0 = y0 + d
|
@@ -267,7 +262,6 @@ class FindFrame < TkFloatTitledFrame
|
|
267
262
|
autocomplete 'true'
|
268
263
|
expand 'tab'
|
269
264
|
takefocus 'true'
|
270
|
-
#pack('padx'=>10, 'fill'=>'x')
|
271
265
|
place('relwidth' => 1, 'width'=>-16,'x' => 8,'y' => y0,'height' => 19)
|
272
266
|
}
|
273
267
|
@e_filter_entry = TkWinfo.children(@e_filter)[0]
|
@@ -280,7 +274,7 @@ class FindFrame < TkFloatTitledFrame
|
|
280
274
|
y0 = y0 + d
|
281
275
|
|
282
276
|
TkLabel.new(self.frame, Arcadia.style('label')){
|
283
|
-
text '
|
277
|
+
text Arcadia.text('ext.search_in_files.search.label.dir')
|
284
278
|
place('x' => 8,'y' => y0,'height' => 19)
|
285
279
|
}
|
286
280
|
y0 = y0 + d
|
@@ -317,7 +311,7 @@ class FindFrame < TkFloatTitledFrame
|
|
317
311
|
@b_go = TkButton.new(@buttons_frame, Arcadia.style('button')){|_b_go|
|
318
312
|
compound 'none'
|
319
313
|
default 'disabled'
|
320
|
-
text '
|
314
|
+
text Arcadia.text('ext.search_in_files.search.button.find')
|
321
315
|
#overrelief 'raised'
|
322
316
|
#justify 'center'
|
323
317
|
pack('side'=>'right','ipadx'=>5, 'padx'=>5)
|
@@ -6,7 +6,7 @@
|
|
6
6
|
class AckInFiles < SearchInFiles
|
7
7
|
|
8
8
|
def on_before_build(_event)
|
9
|
-
create_find '
|
9
|
+
create_find Arcadia.text('ext.search_in_files.title.1')
|
10
10
|
Arcadia.attach_listener(self, AckInFilesEvent)
|
11
11
|
end
|
12
12
|
|
@@ -31,18 +31,19 @@ class AckInFiles < SearchInFiles
|
|
31
31
|
# ack -i -G .rb "Ack" "c:/dev/ruby/arcadia"
|
32
32
|
command = %!ack -i -G "#{@find.e_filter.text.gsub('*', '.*')}" "#{@find.e_what.text}" "#{@find.e_dir.text}"!
|
33
33
|
|
34
|
-
|
34
|
+
|
35
|
+
_search_title = Arcadia.text('ext.search_in_files.ack_result_title', [@find.e_what.text, @find.e_dir.text, @find.e_filter.text, command])
|
35
36
|
_filter = @find.e_dir.text+'/**/'+@find.e_filter.text
|
36
37
|
_node = @search_output.new_result(_search_title, '')
|
37
38
|
progress_stop=false
|
38
39
|
@progress_bar = TkProgressframe.new(self.arcadia.layout.root, 2)
|
39
|
-
@progress_bar.title('
|
40
|
+
@progress_bar.title(Arcadia.text('ext.search_in_files.progress.title.1'))
|
40
41
|
|
41
42
|
answer = `#{command}`
|
42
43
|
answer_lines = answer.split("\n")
|
43
44
|
@progress_bar.destroy # destroy the old one
|
44
45
|
@progress_bar = TkProgressframe.new(self.arcadia.layout.root, answer_lines.length)
|
45
|
-
@progress_bar.title('
|
46
|
+
@progress_bar.title(Arcadia.text('ext.search_in_files.progress.title.2'))
|
46
47
|
@progress_bar.on_cancel=proc{progress_stop=true}
|
47
48
|
|
48
49
|
# a now looks like
|
@@ -59,7 +60,7 @@ class AckInFiles < SearchInFiles
|
|
59
60
|
break if progress_stop # early out
|
60
61
|
}
|
61
62
|
if answer_lines == []
|
62
|
-
@search_output.new_result('
|
63
|
+
@search_output.new_result(Arcadia.text('ext.search_in_files.no_search_result'), '')
|
63
64
|
end
|
64
65
|
|
65
66
|
rescue Exception => e
|
data/ext/ae-shell/ae-shell.conf
CHANGED
data/ext/ae-shell/ae-shell.rb
CHANGED
@@ -140,7 +140,7 @@ class Shell < ArcadiaExt
|
|
140
140
|
start_time = Time.now
|
141
141
|
@arcadia['pers']['run.file.last']=_event.file if _event.persistent
|
142
142
|
@arcadia['pers']['run.cmd.last']=_event.cmd if _event.persistent
|
143
|
-
if Arcadia.is_windows?
|
143
|
+
if Arcadia.is_windows? && RUBY_VERSION < '1.9'
|
144
144
|
# use win32-process gem to startup a child process [not sure if linux needs something like this, too]
|
145
145
|
require 'win32/process'
|
146
146
|
require 'ruby-wmi'
|
@@ -165,7 +165,8 @@ class Shell < ArcadiaExt
|
|
165
165
|
File.open(output_file_name, 'r') do |f|
|
166
166
|
_readed = f.read
|
167
167
|
_readed.strip!
|
168
|
-
|
168
|
+
|
169
|
+
_readed += "\n" + Arcadia.text('ext.shell.done', [_event.title, Time.now - start_time])
|
169
170
|
output_mark = Arcadia.console(self,'msg'=>_readed, 'level'=>'debug', 'mark'=>output_mark)
|
170
171
|
_event.add_result(self, 'output'=>_readed)
|
171
172
|
end
|
@@ -185,18 +186,17 @@ class Shell < ArcadiaExt
|
|
185
186
|
# th = Thread.current
|
186
187
|
fi = nil
|
187
188
|
fi_pid = nil
|
188
|
-
abort_action = proc{
|
189
|
-
ArcadiaUtils.unix_child_pids(fi_pid).each {|pid|
|
190
|
-
Process.kill(9,pid.to_i)
|
191
|
-
}
|
192
|
-
Process.kill(9,fi_pid.to_i)
|
193
|
-
|
194
|
-
}
|
189
|
+
# abort_action = proc{
|
190
|
+
# ArcadiaUtils.unix_child_pids(fi_pid).each {|pid|
|
191
|
+
# Process.kill(9,pid.to_i)
|
192
|
+
# }
|
193
|
+
# Process.kill(9,fi_pid.to_i)
|
194
|
+
# }
|
195
195
|
|
196
|
-
alive_check = proc{
|
197
|
-
num = `ps -p #{fi_pid}|wc -l` if fi_pid
|
198
|
-
num.to_i > 1 && fi_pid
|
199
|
-
}
|
196
|
+
# alive_check = proc{
|
197
|
+
# num = `ps -p #{fi_pid}|wc -l` if fi_pid
|
198
|
+
# num.to_i > 1 && fi_pid
|
199
|
+
# }
|
200
200
|
|
201
201
|
|
202
202
|
#Arcadia.console(self,'msg'=>"#{th}", 'level'=>'debug', 'abort_action'=>abort_action)
|
@@ -204,46 +204,114 @@ class Shell < ArcadiaExt
|
|
204
204
|
Open3.popen3(_cmd_){|stdin, stdout, stderr, th|
|
205
205
|
fi_pid = th.pid if th
|
206
206
|
output_mark = Arcadia.console(self,'msg'=>" [pid #{fi_pid}]", 'level'=>'debug', 'mark'=>output_mark, 'append'=>true)
|
207
|
+
alive_check = proc{th.status != false}
|
208
|
+
abort_action = proc{Process.kill(9,fi_pid.to_i)}
|
209
|
+
|
207
210
|
Arcadia.process_event(SubProcessEvent.new(self, 'pid'=>fi_pid, 'name'=>_event.file,'abort_action'=>abort_action, 'alive_check'=>alive_check))
|
208
|
-
|
209
|
-
if stdout
|
210
|
-
if @stdout_blocking
|
211
|
-
output_dump = stdout.read
|
212
|
-
if output_dump && output_dump.length > 0
|
213
|
-
output_mark = Arcadia.console(self,'msg'=>output_dump, 'level'=>'error', 'mark'=>output_mark)
|
214
|
-
_event.add_result(self, 'output'=>output_dump)
|
215
|
-
end
|
216
|
-
else
|
217
|
-
stdout.each do |output_dump|
|
218
|
-
|
219
|
-
|
211
|
+
|
212
|
+
# if stdout
|
213
|
+
# if @stdout_blocking
|
214
|
+
# output_dump = stdout.read
|
215
|
+
# if output_dump && output_dump.length > 0
|
216
|
+
# output_mark = Arcadia.console(self,'msg'=>output_dump, 'level'=>'error', 'mark'=>output_mark)
|
217
|
+
# _event.add_result(self, 'output'=>output_dump)
|
218
|
+
# end
|
219
|
+
# else
|
220
|
+
# stdout.each do |output_dump|
|
221
|
+
# p "th.status = #{th.status}"
|
222
|
+
# output_mark = Arcadia.console(self,'msg'=>output_dump, 'level'=>'debug', 'mark'=>output_mark)
|
223
|
+
# _event.add_result(self, 'output'=>output_dump)
|
224
|
+
# if stdin && !stdin.closed? && th.status != false
|
225
|
+
# begin
|
226
|
+
# stdin.puts(Arcadia.console_input(self))
|
227
|
+
# rescue Exception => e
|
228
|
+
# output_mark = Arcadia.console(self,'msg'=>e.to_s, 'level'=>'debug', 'mark'=>output_mark)
|
229
|
+
# end
|
230
|
+
# end
|
231
|
+
# end
|
232
|
+
# end
|
233
|
+
# end
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
to = Thread.new(stdout) do |tout|
|
238
|
+
begin
|
239
|
+
while (line = tout.gets)
|
240
|
+
output_mark = Arcadia.console(self,'msg'=>line, 'level'=>'debug', 'mark'=>output_mark)
|
241
|
+
_event.add_result(self, 'output'=>line)
|
220
242
|
end
|
243
|
+
rescue Exception => e
|
244
|
+
output_mark = Arcadia.console(self,'msg'=>e.to_s, 'level'=>'debug', 'mark'=>output_mark)
|
221
245
|
end
|
222
246
|
end
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
247
|
+
|
248
|
+
input_break = false
|
249
|
+
ti = Thread.new(stdin, input_break) do |tin|
|
250
|
+
begin
|
251
|
+
while (tin && !tin.closed? && !input_break)
|
252
|
+
if th.status != false && to.status == 'sleep'
|
253
|
+
begin
|
254
|
+
input = Arcadia.console_input(self)
|
255
|
+
tin.puts(input) if input != nil
|
256
|
+
sleep(0.1)
|
257
|
+
rescue Exception => e
|
258
|
+
output_mark = Arcadia.console(self,'msg'=>e.to_s, 'level'=>'debug', 'mark'=>output_mark)
|
259
|
+
end
|
260
|
+
else
|
261
|
+
sleep(0.1)
|
231
262
|
end
|
232
|
-
output_mark = Arcadia.console(self,'msg'=>output_dump, 'level'=>'error', 'mark'=>output_mark)
|
233
|
-
_event.add_result(self, 'output'=>output_dump)
|
234
263
|
end
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
264
|
+
rescue Exception => e
|
265
|
+
output_mark = Arcadia.console(self,'msg'=>e.to_s, 'level'=>'debug', 'mark'=>output_mark)
|
266
|
+
end
|
267
|
+
end
|
268
|
+
|
269
|
+
te = Thread.new(stderr) do |terr|
|
270
|
+
begin
|
271
|
+
while (line = terr.gets)
|
272
|
+
output_mark = Arcadia.console(self,'msg'=>line, 'level'=>'error', 'mark'=>output_mark)
|
273
|
+
_event.add_result(self, 'output'=>line)
|
242
274
|
end
|
275
|
+
rescue Exception => e
|
276
|
+
output_mark = Arcadia.console(self,'msg'=>e.to_s, 'level'=>'debug', 'mark'=>output_mark)
|
243
277
|
end
|
244
|
-
|
278
|
+
end
|
279
|
+
|
280
|
+
to.join
|
281
|
+
te.join
|
282
|
+
input_event = Arcadia.console_input_event
|
283
|
+
if input_event != nil
|
284
|
+
input_event.break
|
285
|
+
input_break = true
|
286
|
+
ti.join
|
287
|
+
else
|
288
|
+
ti.exit
|
289
|
+
end
|
290
|
+
te.exit
|
291
|
+
|
292
|
+
# if stderr
|
293
|
+
# if @stderr_blocking
|
294
|
+
# current_buffer = '<<current buffer>>'
|
295
|
+
# output_dump = stderr.read
|
296
|
+
# if output_dump && output_dump.length > 0
|
297
|
+
# if !_event.persistent
|
298
|
+
# output_dump.gsub!(_event.file, current_buffer)
|
299
|
+
# end
|
300
|
+
# output_mark = Arcadia.console(self,'msg'=>output_dump, 'level'=>'error', 'mark'=>output_mark)
|
301
|
+
# _event.add_result(self, 'output'=>output_dump)
|
302
|
+
# end
|
303
|
+
# else
|
304
|
+
# stderr.each do |output_dump|
|
305
|
+
# if !_event.persistent
|
306
|
+
# output_dump.gsub!(_event.file, current_buffer)
|
307
|
+
# end
|
308
|
+
# output_mark = Arcadia.console(self,'msg'=>output_dump, 'level'=>'error', 'mark'=>output_mark)
|
309
|
+
# _event.add_result(self, 'output'=>output_dump)
|
310
|
+
# end
|
311
|
+
# end
|
312
|
+
# end
|
245
313
|
}
|
246
|
-
output_mark = Arcadia.console(self,'msg'=>"\
|
314
|
+
output_mark = Arcadia.console(self,'msg'=>"\n"+Arcadia.text('ext.shell.done.1', [_event.title]), 'level'=>'debug', 'mark'=>output_mark)
|
247
315
|
|
248
316
|
|
249
317
|
# open(_cmd_, "r"){|f|
|