Server : LiteSpeed System : Linux ncr1.int3rnet.net 4.18.0-553.123.2.lve.el8.x86_64 #1 SMP Thu May 7 23:17:13 UTC 2026 x86_64 User : digitaln ( 1704) PHP Version : 8.1.34 Disable Function : NONE Directory : /opt/cpanel/ea-ruby27/root/usr/local/share/gems/gems/irb-1.18.0/lib/irb/command/ |
# frozen_string_literal: true
#
# nop.rb -
# by Keiju ISHITSUKA(keiju@ruby-lang.org)
#
module IRB
module Command
class CommandArgumentError < StandardError; end # :nodoc:
class << self
def extract_ruby_args(*args, **kwargs) # :nodoc:
throw :EXTRACT_RUBY_ARGS, [args, kwargs]
end
end
class Base
class << self
def category(category = nil)
@category = category if category
@category || "No category"
end
def description(description = nil)
@description = description if description
@description || "No description provided."
end
def help_message(help_message = nil)
@help_message = help_message if help_message
@help_message
end
def execute(irb_context, arg)
new(irb_context).execute(arg)
rescue CommandArgumentError => e
puts e.message
end
# Returns formatted lines for display in the doc dialog popup.
def doc_dialog_content(name, width)
lines = []
lines << Color.colorize(name, [:BOLD, :BLUE]) + Color.colorize(" (command)", [:CYAN])
lines << ""
lines.concat(wrap_lines(description, width))
if help_message
lines << ""
lines.concat(wrap_lines(help_message, width))
end
lines
end
private
def highlight(text)
Color.colorize(text, [:BOLD, :BLUE])
end
def wrap_lines(text, width)
text.lines.flat_map do |line|
line = line.chomp
next [''] if line.empty?
next [line] if line.length <= width
indent = line[/\A\s*/]
parts = line.strip.split(/(\s+)/)
result = []
current = indent.dup
parts.each do |part|
if current != indent && current.length + part.length > width
result << current.rstrip
current = indent.dup
end
current << part unless current == indent && part.match?(/\A\s+\z/)
end
result << current.rstrip unless current == indent
result
end
end
end
def initialize(irb_context)
@irb_context = irb_context
end
attr_reader :irb_context
def execute(arg)
#nop
end
end
Nop = Base # :nodoc:
end
end