#music #cli

app surge

cli/daemon for music

1 unstable release

Uses old Rust 2015

0.2.0 Aug 19, 2017
0.1.1 Jun 9, 2017
0.1.0 May 31, 2017

#271 in #music


397 lines


Command-line YouTube-based music player. System dependencies:

* youtube-dl
* libmpv
* A valid YouTube api key

You must run surge with the YouTube API key as the first (and only) argument:

alias surge='surge $(cat ~/yt_api_key)'

Play music

  • search populates a Vec of 5 current results
  • cycle cycles through
  • play <selection> plays the selection immediately
  • queue <selection> queues the selection
  • related populates the Vec with 5 related videos
  • pause/play pauses and resumes
  • stop stops the player and clears the queue
  • loop toggles loop mode


Surge uses rustyline which is a pure-Rust implementation of GNU Readline. It supports command history and other readline goodies:

  • Emacs navigation keys
  • Ctrl-R for reverse search
  • Up/down arrows to cycle through commands


~257K SLoC