I'm trying to write a brief function to allow me to toggle wemo lights on and off from the command line. Basically I have a command that if i type wemo status
will return either Switch: Lights 1
if the lights are on or 0 if they are off. I'd like to write a fish function that essentially lets me toggle them:
function lights --description 'Toggle lights'
if contains (wemo status) "Lights 1"
wemo switch "Lights" off
else
wemo switch "Lights" on
end
end
Though this doesn't work. I'm thinking that the parens probably do a textual replacement? Anyone know how I can test if a string contains another string in Fish?
So I ended up fixing this with the following:
# Toggle lights
function lights --description "Toggle Wemo Lights"
set -l wemo (wemo status)
switch $wemo
case '*1'
wemo switch "Lights" off
case '*0'
wemo switch "Lights" on
end
end