nu_plugin_explore_ir

Crates.ionu_plugin_explore_ir
lib.rsnu_plugin_explore_ir
version0.4.0
sourcesrc
created_at2024-07-24 02:13:27.542124
updated_at2024-10-16 07:01:01.338951
descriptiona nushell plugin called explore_ir
homepage
repositoryhttps://github.com/devyn/nu_plugin_explore_ir
max_upload_size
id1313587
size263,422
Devyn Cairns (devyn)

documentation

README

nu_plugin_explore_ir

cargo install nu_plugin_explore_ir
plugin add ~/.cargo/bin/nu_plugin_explore_ir

This is a fancy viewer for internal representation (IR) code in Nushell. Example:

explore ir {
  if ($env.HELLO | is-not-empty) {
    "Hello, " ++ $env.HELLO ++ "!"
  } else {
    "Goodbye, " ++ (random uuid) ++ "!"
  }
}

An example of what the UI looks like for the above code

Key bindings:

Key Effect
q Quit the application.
SPACE Open the inspector, which shows debug info for the instruction.
g Go to a specific instruction by index.
or k Go to the previous instruction.
or j Go to the next instruction.
[ Go back after jumping to an instruction's target.
] Jump into an instruction's target (branch or call decl / block)
ESC Close a dialog box or prompt.

With the [ and ] keys it is easy to navigate through IR code and jump into blocks referenced by literals, (custom) declarations in call instructions, or branch targets.

Commit count: 23

cargo fmt