Folke Lemaitre
448a55a0e3
fix(compat): correct Neovim 0.11 check
2025-02-20 07:00:42 +01:00
Folke Lemaitre
63277f96c9
refactor(compat): use svim.islist
2025-02-20 07:00:05 +01:00
Folke Lemaitre
bc902f7032
feat(compat): added svim
, a compatibility layer for Neovim. Closes #1321
2025-02-20 06:59:44 +01:00
Folke Lemaitre
39bf5131c4
feat(image): enabled pdf previews
2025-02-17 17:17:56 +01:00
Folke Lemaitre
b5b0995e8b
style(image): luals
2025-02-17 16:09:41 +01:00
Folke Lemaitre
001f3002ca
feat(image): markdown inline image preview. opts.image
must be enabled and terminal needs support
2025-02-13 18:03:33 +01:00
Folke Lemaitre
7d655fe09d
feat(image): use kitty's unicode placeholder images
2025-02-10 08:49:47 +01:00
Folke Lemaitre
4e4e63048e
feat: added new image
snacks plugin for the kitty graphics protocol
2025-02-09 22:35:13 +01:00
Folke Lemaitre
670c67366f
feat(explorer): new explorer
module with shortcut to start explorer picker and netrw replacement functionlity
2025-01-31 08:31:49 +01:00
Folke Lemaitre
9986b47707
fix(picker.config): better config merging and tests
2025-01-17 20:36:33 +01:00
Folke Lemaitre
2d4a0b594a
fix(config): dont exclude metatables
2025-01-16 22:16:32 +01:00
Folke Lemaitre
75eb16fd9c
fix(config): better vim.tbl_deep_extend that prevents issues with list-like tables. Fixes #554
2025-01-16 21:42:04 +01:00
Folke Lemaitre
559d6c6bf2
feat(snacks): added snacks.picker
( #445 )
...
## Description
More info coming tomorrow.
In short:
- very fast. pretty much realtime filtering/sorting in huge repos (like
1.7 million files)
- extensible
- easy to customize the layout (and lots of presets) with
`snacks.layout`
- simple to create custom pickers
- `vim.ui.select`
- lots of builtin pickers
- uses treesitter highlighting wherever it makes sense
- fast lua fuzzy matcher which supports the [fzf
syntax](https://junegunn.github.io/fzf/search-syntax/ ) and additionally
supports field filters, like `file:lua$ 'function`
There's no snacks picker command, just use lua.
```lua
-- all pickers
Snacks.picker()
-- run files picker
Snacks.picker.files(opts)
Snacks.picker.pick("files", opts)
Snacks.picker.pick({source = "files", ...})
```
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Todo
- [x] issue with preview loc not always correct when scrolling fast in
list (probably due to `snacks.scroll`)
- [x] `grep` (`live_grep`) is sometimes too fast in large repos and can
impact ui rendering. Not very noticeable, but something I want to look
at.
- [x] docs
- [x] treesitter highlights are broken. Messed something up somewhere
## Related Issue(s)
<!--
If this PR fixes any issues, please link to the issue here.
- Fixes #<issue_number>
-->
## Screenshots
<!-- Add screenshots of the changes if applicable. -->
2025-01-14 22:53:59 +01:00
Valentin Degenne
c11b74c676
feat(styles): exportable styles ( #306 )
...
To allow syntax like:
```lua
local mystyle = Snacks.config.style('...')
-- somewhere else
Snacks.win({
style = mystyle
})
```
and improve code navigation (e.g. jumping using `gd`, as opposed to
searching string, or not being sure of the exact name, ...)
2024-12-15 19:08:04 +01:00
Folke Lemaitre
b41320c6b4
test: added scope tests
2024-12-14 21:50:19 +01:00
Folke Lemaitre
b0f5b74f4a
style: annotations
2024-12-13 23:57:50 +01:00
Folke Lemaitre
2a664b615f
ci: try making config options optional
2024-12-13 15:58:54 +01:00
Folke Lemaitre
8faafb3483
feat(scope): text objects and jumping for scopes. Closes #231
2024-12-11 22:17:59 +01:00
Folke Lemaitre
acf743fcfc
fix(input): health check. Fixes #239
2024-12-10 19:38:40 +01:00
Folke Lemaitre
e9d099322f
fix(init): set input disabled by default. Fixes #227
2024-12-10 14:26:22 +01:00
Folke Lemaitre
614df63acf
perf(input): lazy-load vim.ui.input
2024-12-10 13:55:51 +01:00
Folke Lemaitre
70902eee9e
feat(input): added input
snack
2024-12-10 13:55:51 +01:00
Folke Lemaitre
72eba84180
fix(health): health checks
2024-12-10 13:55:51 +01:00
Folke Lemaitre
01ab0fce21
refactor(init): cleanup code
2024-12-10 13:55:51 +01:00
Folke Lemaitre
519a45bfe5
fix(init): enabled check
2024-12-10 13:55:51 +01:00
Folke Lemaitre
38a5ccc3a6
feat(scroll): added smooth scrolling plugin
2024-12-10 13:55:51 +01:00
Folke Lemaitre
2c4021c466
feat(indent): added indent plugin
2024-12-10 13:55:51 +01:00
Folke Lemaitre
0194f18cfa
refactor: auto-gen plugin types
2024-12-10 13:55:51 +01:00
Folke Lemaitre
1cec695fef
feat(snacks): added new scratch
snack
2024-12-01 09:08:03 +01:00
Folke Lemaitre
d0794dcf8e
fix(init): use rawget when loading modules to prevent possible recursive loading with invalid module fields
2024-11-29 07:37:49 +01:00
Folke Lemaitre
45fd0efe41
fix(config): check correct var for single config result. Fixes #167
2024-11-27 23:56:56 +01:00
Folke Lemaitre
d730a13b55
feat(config): allow overriding resolved options for a plugin. See #164
2024-11-27 21:43:15 +01:00
Folke Lemaitre
6e3cb7e53c
feat(config): make it easier to use examples in your config
2024-11-27 21:27:56 +01:00
Folke Lemaitre
deb00d0ddc
feat: added dashboard health checks
2024-11-18 19:16:54 +01:00
Folke Lemaitre
d540fa607c
feat(dashboard): added new dashboard
snack ( #77 )
...
## Description
A new dashboard plugin that comes with sane defaults, and can be fully
customized to your liking.
## Screenshots





2024-11-18 16:25:17 +01:00
Folke Lemaitre
797708b038
feat(config)!: plugins are no longer enabled by default. Pass any options, or set enabled = true
.
2024-11-14 23:56:37 +01:00
Folke Lemaitre
4f99818b0a
fix: added compatibility with Neovim >= 0.9.4
2024-11-09 15:38:43 +01:00
Folke Lemaitre
6c76f91398
fix(config): deepcopy config where needed
2024-11-06 22:36:37 +01:00
Folke Lemaitre
0d91a4e364
fix(config): fix reading config during setup. Fixes #2
2024-11-06 22:36:37 +01:00
Folke Lemaitre
9341f730d9
refactor(notifier): make notify a mod method instead of class method
2024-11-06 13:38:51 +01:00
Folke Lemaitre
66810971b9
fix(win): better implementation of window styles (previously views)
2024-11-06 10:56:08 +01:00
Folke Lemaitre
b4bd12c0ea
docs: better docs
2024-11-05 23:16:08 +01:00
Folke Lemaitre
44011ddf0d
feat: added notifier
2024-11-05 16:54:58 +01:00
Folke Lemaitre
0209e95f6d
style(toggle): types
2024-11-05 16:54:58 +01:00
Folke Lemaitre
28c3029699
feat: added toggle
2024-11-05 00:20:26 +01:00
Folke Lemaitre
f5bbb446ed
fix(config): merging of possible nil values
2024-11-04 22:22:36 +01:00
Folke Lemaitre
12d6f863f7
feat(win): custom views
2024-11-04 22:17:12 +01:00
Folke Lemaitre
1bdb193139
refactor: float -> win, since it also manages splits
2024-11-04 20:29:25 +01:00
Folke Lemaitre
6cb43f6033
feat: added debug
2024-11-04 18:56:19 +01:00
Folke Lemaitre
f4e0130ec3
feat: added notify
2024-11-04 18:56:19 +01:00