Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document a full list of commands #451

Merged
merged 3 commits into from
Nov 19, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,50 @@ irb(main):006:1> end

The Readline extension module can be used with irb. Use of Readline is default if it's installed.

## Commands
k0kubun marked this conversation as resolved.
Show resolved Hide resolved

The following commands are available on IRB.

* `cwws`
* Show the current workspace.
* `cb`, `cws`, `chws`
* Change the current workspace to an object.
* `bindings`, `workspaces`
* Show workspaces.
* `pushb`, `pushws`
* Push an object to the workspace stack.
* `popb`, `popws`
* Pop a workspace from the workspace stack.
* `load`
* Load a Ruby file.
* `require`
* Require a Ruby file.
* `source`
* Loads a given file in the current session.
* `irb`
* Start a child IRB.
* `jobs`
* List of current sessions.
* `fg`
* Switches to the session of the given number.
* `kill`
* Kills the session with the given number.
* `help`
* Enter the mode to look up RI documents.
* `irb_info`
* Show information about IRB.
* `ls`
* Show methods, constants, and variables.
`-g [query]` or `-G [query]` allows you to filter out the output.
* `measure`
* `measure` enables the mode to measure processing time. `measure :off` disables it.
* `$`, `show_source`
* Show the source code of a given method or constant.
* `@`, `whereami`
* Show the source code around binding.irb again.
* `debug`
* Start the debugger of debug.gem.

## Documentation

https://docs.ruby-lang.org/en/master/IRB.html
Expand Down
44 changes: 44 additions & 0 deletions lib/irb.rb
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,50 @@
#
# :include: ./irb/lc/help-message
#
# == Commands
#
# The following commands are available on IRB.
#
# * cwws
# * Show the current workspace.
# * cb, cws, chws
# * Change the current workspace to an object.
# * bindings, workspaces
# * Show workspaces.
# * pushb, pushws
# * Push an object to the workspace stack.
# * popb, popws
# * Pop a workspace from the workspace stack.
# * load
# * Load a Ruby file.
# * require
# * Require a Ruby file.
# * source
# * Loads a given file in the current session.
# * irb
# * Start a child IRB.
# * jobs
# * List of current sessions.
# * fg
# * Switches to the session of the given number.
# * kill
# * Kills the session with the given number.
# * help
# * Enter the mode to look up RI documents.
# * irb_info
# * Show information about IRB.
# * ls
# * Show methods, constants, and variables.
# -g [query] or -G [query] allows you to filter out the output.
# * measure
# * measure enables the mode to measure processing time. measure :off disables it.
# * $, show_source
# * Show the source code of a given method or constant.
# * @, whereami
# * Show the source code around binding.irb again.
# * debug
# * Start the debugger of debug.gem.
#
# == Configuration
#
# IRB reads a personal initialization file when it's invoked.
Expand Down
21 changes: 1 addition & 20 deletions lib/irb/extend-command.rb
Original file line number Diff line number Diff line change
Expand Up @@ -165,26 +165,7 @@ def self.load_command(command)
nil
end

# Installs the default irb commands:
#
# +irb_current_working_workspace+:: Context#main
# +irb_change_workspace+:: Context#change_workspace
# +irb_workspaces+:: Context#workspaces
# +irb_push_workspace+:: Context#push_workspace
# +irb_pop_workspace+:: Context#pop_workspace
# +irb_load+:: #irb_load
# +irb_require+:: #irb_require
# +irb_source+:: IrbLoader#source_file
# +irb+:: IRB.irb
# +irb_jobs+:: JobManager
# +irb_fg+:: JobManager#switch
# +irb_kill+:: JobManager#kill
# +irb_help+:: IRB@Command+line+options
# +irb_info+:: #inspect
# +irb_ls+:: Output#dump
# +irb_measure+:: IRB::unset_measure_callback
# +irb_show_source+:: #find_source, #show_source
# +irb_whereami+:: Workspace#code_around_binding
# Installs the default irb commands.
def self.install_extend_commands
for args in @EXTEND_COMMANDS
def_extend_command(*args)
Expand Down