Update legacy syntax from Elvish widget

This commit updates the legacy assignment and lambda syntax from the Elvish widget so it works on v0.17 without deprecation errors. This commit also refactors some of the code so it's cleaner.
This commit is contained in:
cherryblossom000 2022-01-13 21:34:55 +11:00 committed by GitHub
parent 35b544f418
commit c082c09935
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,31 +1,29 @@
use str use str
fn call-navi []{ fn call-navi {
if (eq $edit:current-command '') { if (eq $edit:current-command '') {
answer = (navi --print) var answer = (navi --print)
edit:replace-input $answer edit:replace-input $answer
} elif (not (str:contains-any $edit:current-command '|')) { } elif (not (str:contains-any $edit:current-command '|')) {
answer = (navi --print --query $edit:current-command) var answer = (navi --print --query $edit:current-command)
if (not-eq $answer '') { if (not-eq $answer '') {
edit:replace-input $answer edit:replace-input $answer
} }
} else { } else {
cmds = [(str:split '|' $edit:current-command)] var @cmds query = (str:split '|' $edit:current-command)
qty = (- (count $cmds) 1) var answer = (
query = (all $cmds | drop $qty) if (eq $query '') {
cmds = [(all $cmds | take $qty)] navi --print
answer = '' } else {
if (eq $query '') { navi --print --query $query
answer = (navi --print) }
} else { )
answer = (navi --print --query $query)
}
if (not-eq $answer '') { if (not-eq $answer '') {
cmds = [$@cmds $answer] set cmds = [$@cmds $answer]
edit:replace-input (str:join '| ' $cmds) edit:replace-input (str:join '| ' $cmds)
} }
} }
} }
edit:insert:binding[Alt-h] = []{ call-navi >/dev/tty 2>&1 } set edit:insert:binding[Alt-h] = { call-navi >/dev/tty 2>&1 }