summaryrefslogtreecommitdiff
path: root/lib/irb/cmd/pushws.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/irb/cmd/pushws.rb')
-rw-r--r--lib/irb/cmd/pushws.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/irb/cmd/pushws.rb b/lib/irb/cmd/pushws.rb
new file mode 100644
index 0000000000..0d8130d5c6
--- /dev/null
+++ b/lib/irb/cmd/pushws.rb
@@ -0,0 +1,39 @@
+#
+# change-ws.rb -
+# $Release Version: 0.9$
+# $Revision$
+# $Date$
+# by Keiju ISHITSUKA(Nihon Rational Software Co.,Ltd)
+#
+# --
+#
+#
+#
+
+require "irb/cmd/nop.rb"
+require "irb/ext/workspaces.rb"
+
+module IRB
+ module ExtendCommand
+ class Workspaces<Nop
+ def execute(*obj)
+ irb_context.workspaces.collect{|ws| ws.main}
+ end
+ end
+
+ class PushWorkspace<Workspaces
+ def execute(*obj)
+ irb_context.push_workspace(*obj)
+ super
+ end
+ end
+
+ class PopWorkspace<Workspaces
+ def execute(*obj)
+ irb_context.pop_workspace(*obj)
+ super
+ end
+ end
+ end
+end
+