ruby/lib/irb/cmd/pushws.rb
Stan Lo f11ac06337 [ruby/irb] Add workspace category
(https://github.com/ruby/irb/pull/661)

* Create a new Workspace command category

* Update readme

310650c213
2023-08-01 12:51:30 +00:00

45 lines
868 B
Ruby

# frozen_string_literal: false
#
# change-ws.rb -
# by Keiju ISHITSUKA(keiju@ruby-lang.org)
#
require_relative "nop"
require_relative "../ext/workspaces"
module IRB
# :stopdoc:
module ExtendCommand
class Workspaces < Nop
category "Workspace"
description "Show workspaces."
def execute(*obj)
irb_context.workspaces.collect{|ws| ws.main}
end
end
class PushWorkspace < Workspaces
category "Workspace"
description "Push an object to the workspace stack."
def execute(*obj)
irb_context.push_workspace(*obj)
super
end
end
class PopWorkspace < Workspaces
category "Workspace"
description "Pop a workspace from the workspace stack."
def execute(*obj)
irb_context.pop_workspace(*obj)
super
end
end
end
# :startdoc:
end