diff --git a/custom-menus/extra/commands.nu b/custom-menus/extra/commands.nu new file mode 100644 index 00000000..a18486cd --- /dev/null +++ b/custom-menus/extra/commands.nu @@ -0,0 +1,30 @@ +# can be used in the REPL by adding something like the following block to `$env.config.keybindings` in your `config.nu` +# { +# name: commands_menu +# modifier: control +# keycode: char_t +# mode: [emacs, vi_normal, vi_insert] +# event: { send: menu name: commands_menu } +# } + +{ + name: commands_menu + only_buffer_difference: false + marker: "# " + type: { + layout: columnar + columns: 4 + col_width: 20 + col_padding: 2 + } + style: { + text: green + selected_text: green_reverse + description_text: yellow + } + source: { |buffer, position| + scope commands + | where name =~ $buffer + | each { |it| {value: $it.name description: $it.usage} } + } +} diff --git a/custom-menus/extra/commands_with_description.nu b/custom-menus/extra/commands_with_description.nu new file mode 100644 index 00000000..3f67f4f6 --- /dev/null +++ b/custom-menus/extra/commands_with_description.nu @@ -0,0 +1,32 @@ +# can be used in the REPL by adding something like the following block to `$env.config.keybindings` in your `config.nu` +# { +# name: commands_with_description_menu +# modifier: control +# keycode: char_s +# mode: [emacs, vi_normal, vi_insert] +# event: { send: menu name: commands_with_description } +# } + +{ + name: commands_with_description_menu + only_buffer_difference: true + marker: "# " + type: { + layout: description + columns: 4 + col_width: 20 + col_padding: 2 + selection_rows: 4 + description_rows: 10 + } + style: { + text: green + selected_text: green_reverse + description_text: yellow + } + source: { |buffer, position| + scope commands + | where name =~ $buffer + | each { |it| {value: $it.name description: $it.usage} } + } +} diff --git a/custom-menus/extra/vars.nu b/custom-menus/extra/vars.nu new file mode 100644 index 00000000..c054e03a --- /dev/null +++ b/custom-menus/extra/vars.nu @@ -0,0 +1,29 @@ +# can be used in the REPL by adding something like the following block to `$env.config.keybindings` in your `config.nu` +# { +# name: vars_menu +# modifier: alt +# keycode: char_o +# mode: [emacs, vi_normal, vi_insert] +# event: { send: menu name: vars_menu } +# } + +{ + name: vars_menu + only_buffer_difference: true + marker: "# " + type: { + layout: list + page_size: 10 + } + style: { + text: green + selected_text: green_reverse + description_text: yellow + } + source: { |buffer, position| + scope variables + | where name =~ $buffer + | sort-by name + | each { |it| {value: $it.name description: $it.type} } + } +}