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
Oh My Zsh
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