Thomas Frans 9c3c7f7c87 chore: Update to edition 2024
* chore(deps): `cargo update`

* chore: update to Rust edition 2024 and apply fixes

Update the Rust edition and apply changes required in the new edition.
Also update the Cargo manifests to reflect the edition change, and
ensure changes automatically apply to workspace members in the future.

* chore: format all code with `rustfmt`

The new Rust edition comes with some new formatting defaults, which need
to be applied since the edition was increased.

* style: change suggested matches back to `if let`

There has been a breaking change in Rust edition 2024 that changed the
behavior of `if let` statements slightly. The new behavior is more in
line with what users would expect, but could lead to problems in
existing code. The automatic edition update therefore changed such `if
let` statements to match statements instead. That lead to deeply nested
code which was hard to reason about.

This changes most of them back to regular `if let` chains, as the new
behavior shouldn't cause problems for these cases.

---------

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2025-03-11 09:06:39 +00:00
2023-03-06 21:55:19 +01:00
2023-03-20 23:00:19 +01:00
2025-03-11 09:06:39 +00:00
2025-03-11 09:06:39 +00:00
2023-12-16 18:34:43 +01:00
2025-03-11 09:06:39 +00:00
2025-03-11 09:06:39 +00:00
2025-01-31 20:26:30 +01:00
2019-03-13 13:56:30 +01:00
2021-12-27 09:32:16 +01:00

ncspot logo

An ncurses Spotify client written in Rust using librespot

Crates.io Gitter

ncspot search tab

ncspot is an ncurses Spotify client written in Rust using librespot. It is heavily inspired by ncurses MPD clients, such as ncmpc. My motivation was to provide a simple and resource friendly alternative to the official client as well as to support platforms that currently don't have a Spotify client, such as the *BSDs.

ncspot only works with a Spotify premium account as it offers features that are not available for free accounts.

Features

  • Support for tracks, albums, playlists, genres, searching...
  • Small resource footprint
  • Support for a lot of platforms
  • Vim keybindings out of the box
  • IPC socket for remote control

Installation

ncspot is available on macOS (Homebrew), Windows (Scoop, WinGet), Linux (native package, Flathub and Snapcraft) and the BSD's. Detailed installation instructions for each platform can be found here.

Configuration

A configuration file can be provided. The default location is ~/.config/ncspot. Detailed configuration information can be found here.

Building

Building ncspot requires a working Rust installation and a Python 3 installation. To compile ncspot, run cargo build. For detailed instructions on building ncspot, there is more information here.

Packaging

Information about provided files, how to generate some of them and current package status accross platforms can be found here.

Description
No description provided
Readme 3.9 MiB
Languages
Rust 100%