Go to file
abs3nt 779cb517c9
Some checks failed
builder / build (push) Has been cancelled
fix(deps): update module github.com/charmbracelet/bubbles to v0.19.0 (#33)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/charmbracelet/bubbles](https://github.com/charmbracelet/bubbles) | require | minor | `v0.18.0` -> `v0.19.0` |

---

### Release Notes

<details>
<summary>charmbracelet/bubbles (github.com/charmbracelet/bubbles)</summary>

### [`v0.19.0`](https://github.com/charmbracelet/bubbles/releases/tag/v0.19.0)

[Compare Source](https://github.com/charmbracelet/bubbles/compare/v0.18.0...v0.19.0)

### Bugs? Squashed (along with a few nice lil’ features).

Community-Driven Development?! Yep, the majority of the changes in this release were done by the community. *Thank you* all for your contributions that made this release possible.

#### Progress: custom chars

You can now customize the filled and empty characters of the progress bar.

```go
p := progress.New(progress.WithFillCharacters('>', '.'))
```

![progress bar example](https://github.com/user-attachments/assets/ee1a1351-ebee-4f39-8543-af464e60b099)

#### Table improvements

##### Help is on the way

Table now includes a short and full help view so it's easier than ever to tell your users how to interact with the table.

```go
// Render a table with its help.
t := table.New()
view := t.View() + "\n" + t.HelpView()
```

<img src="https://github.com/user-attachments/assets/22195043-5578-4201-982d-a8f9b7eefc5f" width="600">

##### Accessing columns

You can also now get the table's columns (this already existed for rows).

```go
package table

// Columns returns the current columns.
func (m Model) Columns() []Column
```

#### List: page navigation is fixed!

Previously, `list.NextPage()` and `list.PrevPage()` didn't work because the methods did not have pointer receivers. We've fixed this…by making them pointer receivers!

⚠️ Note that this is a minor API change and you *might* need to update your app to pass a pointer receiver to your model rather than a copy. Details in [#&#8203;458](https://github.com/charmbracelet/bubbles/issues/458).

```go
package progress

// NextPage moves to the next page, if available.
func (m *Model) NextPage()

// PrevPage moves to the previous page, if available.
func (m *Model) PrevPage()
```

***

#### What’s Changed

##### Changed

-   Textarea: Improve setting width by [@&#8203;mikelorant](https://github.com/mikelorant) in https://github.com/charmbracelet/bubbles/pull/496
-   Textinput: fix out of range panic if no matched suggestions by [@&#8203;rdnt](https://github.com/rdnt) in https://github.com/charmbracelet/bubbles/pull/473
-   List: Fix no-op list pagination functions by [@&#8203;nekopy](https://github.com/nekopy) in https://github.com/charmbracelet/bubbles/pull/458
-   Table: Clarify position constant in JoinHorizontal by [@&#8203;aditipatelpro](https://github.com/aditipatelpro) in https://github.com/charmbracelet/bubbles/pull/577
-   Progress: make full/empty fill characters configurable by [@&#8203;rwinkhart](https://github.com/rwinkhart) in https://github.com/charmbracelet/bubbles/pull/409
-   Dependencies: switch to x/ansi for text manipulation by [@&#8203;aymanbagabas](https://github.com/aymanbagabas) in https://github.com/charmbracelet/bubbles/pull/505

##### Added

-   Textarea: add help to textarea key bindings by [@&#8203;TravisYeah](https://github.com/TravisYeah) in https://github.com/charmbracelet/bubbles/pull/418
-   Textarea: Add multiline placeholder by [@&#8203;mikelorant](https://github.com/mikelorant) in https://github.com/charmbracelet/bubbles/pull/302
-   Table: Add column return function by [@&#8203;abeleinin](https://github.com/abeleinin) in https://github.com/charmbracelet/bubbles/pull/369
-   Table: Implement help.Keymap interface and add quit mapping by [@&#8203;prgres](https://github.com/prgres) in https://github.com/charmbracelet/bubbles/pull/440
-   Ctrl+Left/Right for WordForward/Backward by [@&#8203;maaslalani](https://github.com/maaslalani) in https://github.com/charmbracelet/bubbles/pull/387
-   Use goreleaser for releases by [@&#8203;aymanbagabas](https://github.com/aymanbagabas) in https://github.com/charmbracelet/bubbles/pull/526

##### Fixed

-   Table: Render Row Tests by [@&#8203;maaslalani](https://github.com/maaslalani) in https://github.com/charmbracelet/bubbles/pull/487
-   Table: Only render columns with a positive width by [@&#8203;fabio42](https://github.com/fabio42) in https://github.com/charmbracelet/bubbles/pull/465
-   Table: Fix inheritence of SelectedStyle in StyleFunc by [@&#8203;gabrielfu](https://github.com/gabrielfu) in https://github.com/charmbracelet/bubbles/pull/539
-   Table: Don't include header height in the total table size by [@&#8203;prgres](https://github.com/prgres) in https://github.com/charmbracelet/bubbles/pull/434
-   Table: Fix premature viewport scroll by [@&#8203;dzeleniak](https://github.com/dzeleniak) in https://github.com/charmbracelet/bubbles/pull/429
-   Textarea: Fix end of buffer character by [@&#8203;mikelorant](https://github.com/mikelorant) in https://github.com/charmbracelet/bubbles/pull/491
-   Textarea: Set textarea default EndOfBufferCharacter to ' ' by [@&#8203;blvrd](https://github.com/blvrd) in https://github.com/charmbracelet/bubbles/pull/510
-   Textarea: End of Buffer alignment by [@&#8203;maaslalani](https://github.com/maaslalani) in https://github.com/charmbracelet/bubbles/pull/486
-   Textinput: don't block input on validation by [@&#8203;GabrielNagy](https://github.com/GabrielNagy) in https://github.com/charmbracelet/bubbles/pull/185
-   Viewport: Fix division by zero in scrollpercentage by [@&#8203;zMoooooritz](https://github.com/zMoooooritz) in https://github.com/charmbracelet/bubbles/pull/494
-   Help: Fix centering by [@&#8203;gabe565](https://github.com/gabe565) in https://github.com/charmbracelet/bubbles/pull/516
-   Progress: Stop spring defaults from overriding WithStringOptions by [@&#8203;nervo](https://github.com/nervo) in https://github.com/charmbracelet/bubbles/pull/540
-   Cursor: Make SetMode method in cursor library handle invalid mode values correctly by [@&#8203;anirudhaCodes](https://github.com/anirudhaCodes) in https://github.com/charmbracelet/bubbles/pull/477

##### Test coverage 

-   Add tests for textarea view by [@&#8203;mikelorant](https://github.com/mikelorant) in https://github.com/charmbracelet/bubbles/pull/485
-   Add tests for paginator by [@&#8203;anirudhaCodes](https://github.com/anirudhaCodes) in https://github.com/charmbracelet/bubbles/pull/480
-   Add tests for textInput Tests by [@&#8203;KevM](https://github.com/KevM) in https://github.com/charmbracelet/bubbles/pull/500
-   Improve textarea tests by [@&#8203;mikelorant](https://github.com/mikelorant) in https://github.com/charmbracelet/bubbles/pull/490

#### New Contributors

-   [@&#8203;rdnt](https://github.com/rdnt) made their first contribution in https://github.com/charmbracelet/bubbles/pull/473
-   [@&#8203;rwinkhart](https://github.com/rwinkhart) made their first contribution in https://github.com/charmbracelet/bubbles/pull/409
-   [@&#8203;mikelorant](https://github.com/mikelorant) made their first contribution in https://github.com/charmbracelet/bubbles/pull/485
-   [@&#8203;anirudhaCodes](https://github.com/anirudhaCodes) made their first contribution in https://github.com/charmbracelet/bubbles/pull/480
-   [@&#8203;nekopy](https://github.com/nekopy) made their first contribution in https://github.com/charmbracelet/bubbles/pull/458
-   [@&#8203;TravisYeah](https://github.com/TravisYeah) made their first contribution in https://github.com/charmbracelet/bubbles/pull/418
-   [@&#8203;abeleinin](https://github.com/abeleinin) made their first contribution in https://github.com/charmbracelet/bubbles/pull/369
-   [@&#8203;fabio42](https://github.com/fabio42) made their first contribution in https://github.com/charmbracelet/bubbles/pull/465
-   [@&#8203;prgres](https://github.com/prgres) made their first contribution in https://github.com/charmbracelet/bubbles/pull/440
-   [@&#8203;zMoooooritz](https://github.com/zMoooooritz) made their first contribution in https://github.com/charmbracelet/bubbles/pull/494
-   [@&#8203;dzeleniak](https://github.com/dzeleniak) made their first contribution in https://github.com/charmbracelet/bubbles/pull/429
-   [@&#8203;KevM](https://github.com/KevM) made their first contribution in https://github.com/charmbracelet/bubbles/pull/500
-   [@&#8203;gabe565](https://github.com/gabe565) made their first contribution in https://github.com/charmbracelet/bubbles/pull/516
-   [@&#8203;blvrd](https://github.com/blvrd) made their first contribution in https://github.com/charmbracelet/bubbles/pull/510
-   [@&#8203;nervo](https://github.com/nervo) made their first contribution in https://github.com/charmbracelet/bubbles/pull/540
-   [@&#8203;gabrielfu](https://github.com/gabrielfu) made their first contribution in https://github.com/charmbracelet/bubbles/pull/539
-   [@&#8203;aditipatelpro](https://github.com/aditipatelpro) made their first contribution in https://github.com/charmbracelet/bubbles/pull/577

**Full Changelog**: https://github.com/charmbracelet/bubbles/compare/v0.18.0...v0.19.0

***

<a href="https://charm.sh/"><img alt="The Charm logo" src="https://stuff.charm.sh/charm-badge.jpg?1" width="400"></a>

Thoughts? Questions? We love hearing from you. Feel free to reach out on [Twitter](https://twitter.com/charmcli), [The Fediverse](https://mastodon.social/@&#8203;charm), or on [Discord](https://charm.sh/chat).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC40NC4zIiwidXBkYXRlZEluVmVyIjoiMzguNDQuMyIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Reviewed-on: #33
2024-08-27 16:23:52 +00:00
.gitea/workflows chore(deps): update actions/checkout action to v4 (#11) 2024-07-06 20:56:31 +00:00
completions better completions 2024-04-02 21:30:26 -07:00
src refill 2024-08-22 00:35:50 -07:00
.gitignore ignore 2024-02-18 18:53:02 -08:00
.golangci.yml cleanup 2024-02-18 20:00:15 -08:00
.goreleaser.yaml update 2024-05-30 15:19:52 -07:00
go.mod fix(deps): update module github.com/charmbracelet/bubbles to v0.19.0 (#33) 2024-08-27 16:23:52 +00:00
go.sum fix(deps): update module github.com/charmbracelet/bubbles to v0.19.0 (#33) 2024-08-27 16:23:52 +00:00
LICENSE license 2024-02-19 17:21:17 -08:00
main.go remove imports 2024-07-06 14:05:01 -07:00
Makefile move 2024-02-23 12:48:32 -08:00
README.md readme 2024-02-19 13:33:36 -08:00
renovate.json Update renovate.json 2024-07-06 20:33:53 +00:00

IF YOU ARE ON GITHUB.COM GO HERE INSTEAD: https://git.asdf.cafe/abs3nt/gspot :)

If you open an issue or PR on github I won't see it please use git.asdf.cafe. Register on asdf and open your PRs there

This project is still under heavy development and some things might not work or not work as intended. Don't hesitate to open an issue to let me know.


status-badge

To install (with a package manager):

Archlinux (AUR)

yay -S gspot-git

To build from source by pulling and building the binary

git clone https://git.asdf.cafe/abs3nt/gspot

cd gspot

make build && sudo make install

Configuration

go here https://developer.spotify.com/dashboard/applications to make a spotify application. you will need a client ID and a client secret. Set your redirect uri like this:

http://localhost:8888/callback

add your information to ~/.config/gspot/gspot.yml like this

client_id: "idgoeshere"
client_secret: "secretgoeshere"
port: "8888"

if you dont want to store your secret in the file in plaintext you can use a command to retreive it:

client_secret_cmd: "secret spotify_secret"

you should have either client_secret or client_secret_cmd

you can enable debug logging by adding

log_level: "debug"
log_output: "file"

it will log to ~/.config/gspot/gspot.log

RUNNING

gspot

you will be asked to login, you will only have to do this the first time. After login you will be asked to select your default device.

helpful keybinds are shown in the bottom of the screen, hit ? to see all of them

To use the custom radio feature:

gspot radio

or hit ctrl+r on any track in the TUI. This will start an extended radio. To replenish the current radio run gspot refillradio and all the songs already listened will be removed and that number of new recomendations will be added.

This radio uses slightly different logic than the standard spotify radio to give a longer playlist and more recomendation. With a cronjob you can schedule refill to run to have an infinite and morphing radio station.

To view help:

gspot --help

Very open to contributations feel free to open a PR

tmux plugin

wiki