id = "pry" name = "Pry" homepage = "https://pry.github.io" description = "A runtime developer console and IRB alternative with powerful introspection capabilities." # Pry's own logo, from the project's home page. icon = "https://pry.github.io/images/pry_logo.png" executables = ["pry"] [dotfiles] # lib/pry/config.rb, `default_rc_file`: $PRYRC, then # "$XDG_CONFIG_HOME/pry/pryrc", then File.expand_path('~/.pryrc'), then # File.expand_path('~/.config/pry/pryrc') — the first that exists wins, so both # spellings are listed and a consumer skips the one that is absent. The XDG one # is [configHome], which is where $XDG_CONFIG_HOME gets its say; ~/.pryrc is a # plain home-directory dotfile. The `.pryrc` a project keeps in its working # directory is not user-level. paths = [ "~/.pryrc", "[configHome]/pry/pryrc", ] # lib/pry/history.rb, `default_file`: $XDG_DATA_HOME/pry/pry_history, else # ~/.pry_history when that file already exists, else # ~/.local/share/pry/pry_history. Command history, not configuration. The XDG # one is [xdgData] — the variable with ~/.local/share as its default, on macOS # too, since Pry is Ruby and has no per-platform branch — and not [dataHome], # which would name ~/Library/Application Support. ~/.pry_history is a plain # home-directory dotfile. exclude = [ "~/.pry_history", "[xdgData]/pry/pry_history", ] # Pry has no credential file: the rc file is Ruby that sets Pry.config. secret = [] # Read once, when the session starts. side_effect = false # No machine_lines: editor, prompt, colour, pager and command aliases are the # preferences a developer wants on every machine. [commands] format = 1 label = "Start a Pry session" description = "Start Pry with optional startup code, requires and display switches. Plugin selection and load-path options are left out." quality = "ai-draft" base = "fig:pry" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/pry.ts" license = "MIT" [[commands.field]] id = "exec" label = "Code to run first" description = "Ruby executed in context before the session starts." type = "string" option = ["--exec", "-e"] sources = ["fig"] [[commands.field]] id = "require" label = "Require script" description = "Ruby script or gem to require at startup." type = "string" option = ["--require", "-r"] sources = ["fig"] [[commands.field]] id = "context" label = "Start context" description = "Start the session in this object context." type = "string" option = ["--context", "-c"] sources = ["fig"] [[commands.field]] id = "no_pager" label = "Disable pager" type = "boolean" option = ["--no-pager"] sources = ["fig"] [[commands.field]] id = "no_history" label = "Skip history" type = "boolean" option = ["--no-history"] sources = ["fig"] [[commands.field]] id = "no_color" label = "No syntax highlighting" type = "boolean" option = ["--no-color"] sources = ["fig"] [[commands.field]] id = "no_plugins" label = "No plugins" type = "boolean" option = ["--no-plugins"] sources = ["fig"] [[commands.field]] id = "simple_prompt" label = "Simple prompt" type = "boolean" option = ["--simple-prompt"] sources = ["fig"] [[commands.field]] id = "no_pryrc" label = "Skip pryrc" description = "Suppress loading of pryrc." type = "boolean" option = ["-f"] sources = ["fig"] [[commands.task]] id = "plain" label = "Plain session" fields = ["no_pager", "no_history", "no_color", "simple_prompt"] required = [] [[commands.task]] id = "with-require" label = "Session with a library" fields = ["require", "exec"] required = ["require"] [[commands.group]] id = "basic" label = "Basic" fields = ["exec", "require", "context", "simple_prompt"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["no_pager", "no_history", "no_color", "no_plugins", "no_pryrc"]