github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/docs/changelog/v4.2.md (about) 1 # v4.2 2 3 Murex usage has raised considerably in recent weeks. This release addresses a number of feature requests and bugs raised on Github. 4 5 ## Breaking Changes 6 7 none 8 9 ### Features 10 11 * new flag in `foreach`: `--step <int>`. This allows the `foreach` to jump indexes at a time. When used, all the lines jumped are merged into a JSON array and that is passed to the `foreach` nested code block 12 13 * new alias `builtin` => `fexec builtin`. This was added to bring more familiarity to those coming from Bash et al ([#608](https://github.com/lmorg/murex/issues/608)) 14 15 * on Darwin, Homebrew defaults are imported, just like you'd expect them to be from any other shell 16 17 * new hotkeys ([#611](https://github.com/lmorg/murex/issues/611)) ([#613](https://github.com/lmorg/murex/issues/613)): 18 19 1. `ctrl`+`a`: jump to beginning of line 20 21 2. `ctrl`+`e`: jump to end of line 22 23 3. `alt`+`f`: jump forwards a word at a time 24 25 4. `alt`+`b`: jump backwards a word at a time 26 27 5. `ctrl`+`k`: clear line after cursor position 28 29 6. `ctrl`+`l`: clear entire screen 30 31 7. `ctrl`+`g`: same as `esc` 32 33 * `open` builtin should fallback to system default if type unknown ([#620](https://github.com/lmorg/murex/issues/620)) 34 35 * `pre-prompt-func` added to `config`. Block runs before the interactive prompt is displayed 36 37 * `post-prompt-func` added to `config`. Block runs after the interactive prompt has been exited but before any command lines have been executed 38 39 * **auto-cd** option added to `config`: `config: set shell auto-cd true`. This allows you to traverse directories without having to prefix `cd`. By default it is disabled 40 41 * Meta values added to `foreach`, `formap`, and `while`. Meta values are a `$.` variable that holds meta-information about the running block, such as the number of iterations in a loop 42 43 * `command` alias for `exec` (for familiarity with Bash) 44 45 * `builtin` alias for `fexec builtin` (for familiarity with Bash) 46 47 ## Bug Fixes 48 49 * brace encapsulated variables, eg `$(foobar)`, now autocomplete as expected 50 51 * improvements to inlining images in iTerm2 when shell running on top of `tmux`. It still doesn't work reliably but this is an issue with `tmux` rather than Murex 52 53 * `method` forwards exceptions rather than errors. This behaviour has been changed to surface issues as errors 54 55 * `profile_preload.mx` added to profile defaults. This will be loaded before any of the OS-specific profiles 56 57 * missing rune length check causing the shell to panic ([#617](https://github.com/lmorg/murex/issues/617)) 58 59 * fixed deadlock in flag parsing 60 61 * zero length string title bars should be ignored ([#614](https://github.com/lmorg/murex/issues/614)) 62 63 * minor improvements to documentation 64 65 <hr> 66 67 Published: 19.06.2023 at 23:15 68 69 ## See Also 70 71 * [Interactive Shell](../user-guide/interactive-shell.md): 72 What's different about Murex's interactive shell? 73 * [Terminal Hotkeys](../user-guide/terminal-keys.md): 74 A list of all the terminal hotkeys and their uses 75 * [`alias`](../commands/alias.md): 76 Create an alias for a command 77 * [`config`](../commands/config.md): 78 Query or define Murex runtime settings 79 * [`exec`](../commands/exec.md): 80 Runs an executable 81 * [`fexec` ](../commands/fexec.md): 82 Execute a command or function, bypassing the usual order of precedence. 83 * [`foreach`](../commands/foreach.md): 84 Iterate through an array 85 * [`formap`](../commands/formap.md): 86 Iterate through a map or other collection of data 87 * [`method`](../commands/method.md): 88 Define a methods supported data-types 89 * [`open`](../commands/open.md): 90 Open a file with a preferred handler 91 * [`while`](../commands/while.md): 92 Loop until condition false 93 94 <hr/> 95 96 This document was generated from [gen/changelog/v4.2_doc.yaml](https://github.com/lmorg/murex/blob/master/gen/changelog/v4.2_doc.yaml).