Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Ohmyzsh
Commits
3b2f827d
Commit
3b2f827d
authored
Aug 31, 2016
by
mahi97
Browse files
add Search Option for album,artist and tracks
parent
96d57dc3
Changes
1
Hide whitespace changes
Inline
Side-by-side
plugins/osx/osx.plugin.zsh
View file @
3b2f827d
...
...
@@ -330,9 +330,49 @@ function spotify() {
case
$arg
in
"play"
)
if
[
$#
!=
1
]
;
then
# There are additional arguments, so find out how many
array
=(
$@
)
;
len
=
${#
array
[@]
}
;
SPOTIFY_SEARCH_API
=
"https://api.spotify.com/v1/search"
SPOTIFY_PLAY_URI
=
""
;
searchAndPlay
()
{
type
=
"
$1
"
Q
=
"
$2
"
cecho
"Searching
${
type
}
s for:
$Q
"
;
SPOTIFY_PLAY_URI
=
$(
\
curl
-s
-G
$SPOTIFY_SEARCH_API
--data-urlencode
"q=
$Q
"
-d
"type=
$type
&limit=1&offset=0"
-H
"Accept: application/json"
\
|
grep
-E
-o
"spotify:
$type
:[a-zA-Z0-9]+"
-m
1
)
}
case
$2
in
"album"
|
"artist"
|
"track"
)
_args
=
${
array
[*]
:2:
$len
}
;
searchAndPlay
"
$2
"
"
$_args
"
;;
*
)
_args
=
${
array
[*]
:1:
$len
}
;
searchAndPlay track
"
$_args
"
;;
esac
if
[
"
$SPOTIFY_PLAY_URI
"
!=
""
]
;
then
cecho
"Playing (
$Q
Search) -> Spotify URL: $"
;
osascript
-e
"tell application
\"
Spotify
\"
to play track
\"
$SPOTIFY_PLAY_URI
\"
"
;
else
cecho
"No results when searching for
$Q
"
;
fi
else
# play is the only param
cecho
"Playing Spotify."
;
osascript
-e
'tell application "Spotify" to play'
;
break
;;
fi
break
;;
"pause"
)
state
=
$(
osascript
-e
'tell application "Spotify" to player state as string'
)
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment