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
fn call-navi []{
fn call-navi {
if (eq $edit:current-command '') {
answer = (navi --print)
var answer = (navi --print)
edit:replace-input $answer
} 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 '') {
edit:replace-input $answer
}
} else {
cmds = [(str:split '|' $edit:current-command)]
qty = (- (count $cmds) 1)
query = (all $cmds | drop $qty)
cmds = [(all $cmds | take $qty)]
answer = ''
if (eq $query '') {
answer = (navi --print)
} else {
answer = (navi --print --query $query)
}
var @cmds query = (str:split '|' $edit:current-command)
var answer = (
if (eq $query '') {
navi --print
} else {
navi --print --query $query
}
)
if (not-eq $answer '') {
cmds = [$@cmds $answer]
set cmds = [$@cmds $answer]
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 }