{"id":13665443,"url":"https://github.com/KadoBOT/nvim-spotify","last_synced_at":"2025-04-26T08:32:04.470Z","repository":{"id":45148652,"uuid":"439857997","full_name":"KadoBOT/nvim-spotify","owner":"KadoBOT","description":"For productivity addicts who enjoy coding while listening to Spotify, and cannot lose their focus switching to the app to control their music.","archived":false,"fork":false,"pushed_at":"2023-03-28T04:46:47.000Z","size":16632,"stargazers_count":188,"open_issues_count":7,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-12T08:28:29.538Z","etag":null,"topics":["lua","neovim","nvim","spotify","vim"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KadoBOT.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":["KadoBOT"],"patreon":null,"open_collective":"nvim-spotify","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null}},"created_at":"2021-12-19T12:30:31.000Z","updated_at":"2025-04-08T15:25:55.000Z","dependencies_parsed_at":"2022-08-12T11:41:02.959Z","dependency_job_id":null,"html_url":"https://github.com/KadoBOT/nvim-spotify","commit_stats":{"total_commits":55,"total_committers":6,"mean_commits":9.166666666666666,"dds":0.4181818181818182,"last_synced_commit":"33f34563b1c49600757d74a6f341254bd0727fe9"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KadoBOT%2Fnvim-spotify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KadoBOT%2Fnvim-spotify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KadoBOT%2Fnvim-spotify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KadoBOT%2Fnvim-spotify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KadoBOT","download_url":"https://codeload.github.com/KadoBOT/nvim-spotify/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249990402,"owners_count":21357067,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lua","neovim","nvim","spotify","vim"],"created_at":"2024-08-02T06:00:38.739Z","updated_at":"2025-04-26T08:32:04.449Z","avatar_url":"https://github.com/KadoBOT.png","language":"Go","funding_links":["https://github.com/sponsors/KadoBOT","https://opencollective.com/nvim-spotify"],"categories":["Go"],"sub_categories":[],"readme":"# 🎵nvim-spotify\n\nFor productivity addicts who enjoy coding while listening to Spotify, and cannot lose their focus switching to the app to control their music.\n\n`nvim-spotify` requires [spotify-tui](https://github.com/Rigellute/spotify-tui)\n\n## Features\n-   Display/Filter the search results with Telescope  \n\n-   Currently playing statusline.  \n\n-   Pause/Resume a track  #\n\n-   Skip a track  \n\n-   Add a track to the library  \n\n-   Display the name of what's being played  \n\n-   Select which device to play on  \n\n-   Search by:\n    -   Track (`\u003cC-T\u003e or CR`)\n    -   Album (`\u003cC-L\u003e`)\n    -   Playlist (`\u003cC-Y\u003e`)\n    -   Artist (`\u003cC-R\u003e`)\n\n## Requirements\n\u003e `nvim-spotify` is a wrapper for `spotify-tui`, therefore, it is required for this plugin to work. Check [their Github\n\u003e repository for installation instructions](https://github.com/Rigellute/spotify-tui#installation)\n\n-   [Spotify TUI](https://github.com/Rigellute/spotify-tui)\n-   Golang\n-   Telescope\n\n## Installation\n\n### [packer](https://github.com/wbthomason/packer.nvim)\n```lua\n-- Lua\nuse {\n    'KadoBOT/nvim-spotify',\n    requires = 'nvim-telescope/telescope.nvim',\n    config = function()\n        local spotify = require'nvim-spotify'\n\n        spotify.setup {\n            -- default opts\n            status = {\n                update_interval = 10000, -- the interval (ms) to check for what's currently playing\n                format = '%s %t by %a' -- spotify-tui --format argument\n            }\n        }\n    end,\n    run = 'make'\n}\n```\n\n### [vim-plug](https://github.com/junegunn/vim-plug)\n```viml\nPlug 'KadoBOT/nvim-spotify', { 'do': 'make' }\n```\n\n#### Notes\nDecreasing the `update_interval` value means more API calls in a shorter period. Because of the Spotify API rate limiter, setting this too low can block future requests.\nBesides that, those constant updates can make your computer slow. \n**So bear this in mind when changing this value.**\n\n## Usage\n\u003e By default, the search will look for tracks. You can switch the type of the search by pressing one of the [Keymaps Shortcuts](#default-keymaps)  \n\n`nvim-spotify` has two commands:\n\n### Connecting to a Device\nUse this command to select which device Spotify should play on.\n```bash\n:SpotifyDevices\n```\n\n### Opening search input\nSpotify Search input. Check the keymaps below for Search shortcuts.\n```bash\n:Spotify\n```\n\n### Default keymaps\nThe following keymaps are set by default when the Spotify search input is open:\n| mode | key | Description |\n|---|---|---|\n| normal | Esc | Close\n| normal | q | Close\n| normal, insert | C-T | Search for Tracks\n| normal, insert | C-Y | Search for Playlists\n| normal, insert | C-L | Search for Albums\n| normal, insert | C-R | Search for Artists\n\n### Extra keymaps\n You can also define the additional following keymaps\n```lua\nvim.api.nvim_set_keymap(\"n\", \"\u003cleader\u003esn\", \"\u003cPlug\u003e(SpotifySkip)\", { silent = true }) -- Skip the current track\nvim.api.nvim_set_keymap(\"n\", \"\u003cleader\u003esp\", \"\u003cPlug\u003e(SpotifyPause)\", { silent = true }) -- Pause/Resume the current track\nvim.api.nvim_set_keymap(\"n\", \"\u003cleader\u003ess\", \"\u003cPlug\u003e(SpotifySave)\", { silent = true }) -- Add the current track to your library\nvim.api.nvim_set_keymap(\"n\", \"\u003cleader\u003eso\", \":Spotify\u003cCR\u003e\", { silent = true }) -- Open Spotify Search window\nvim.api.nvim_set_keymap(\"n\", \"\u003cleader\u003esd\", \":SpotifyDevices\u003cCR\u003e\", { silent = true }) -- Open Spotify Devices window\nvim.api.nvim_set_keymap(\"n\", \"\u003cleader\u003esb\", \"\u003cPlug\u003e(SpotifyPrev)\", { silent = true }) -- Go back to the previous track\nvim.api.nvim_set_keymap(\"n\", \"\u003cleader\u003esh\", \"\u003cPlug\u003e(SpotifyShuffle)\", { silent = true }) -- Toggles shuffle mode\n```\n\n### Statusline\nYou can display what's currently playing on your statusline. The example below shows how to show it on [lualine](https://github.com/nvim-lualine/lualine.nvim),\nalthough the configuration should be quite similar on other statusline plugins:\n```lua\nlocal status = require'nvim-spotify'.status\n\nstatus:start()\n\nrequire('lualine').setup {\n    sections = {\n        lualine_x = {\n            status.listen\n        }\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKadoBOT%2Fnvim-spotify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKadoBOT%2Fnvim-spotify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKadoBOT%2Fnvim-spotify/lists"}