|
264 | 264 |
|
265 | 265 | </Tabs>
|
266 | 266 |
|
| 267 | +## [snacks.nvim](https://github.com/folke/snacks.nvim) |
| 268 | + |
| 269 | +<Tabs> |
| 270 | + |
| 271 | +<TabItem value="opts" label="Options"> |
| 272 | + |
| 273 | +```lua |
| 274 | +opts = { |
| 275 | + picker = { |
| 276 | + win = { |
| 277 | + input = { |
| 278 | + keys = { |
| 279 | + ["<a-s>"] = { "flash", mode = { "n", "i" } }, |
| 280 | + ["s"] = { "flash" }, |
| 281 | + }, |
| 282 | + }, |
| 283 | + }, |
| 284 | + actions = { |
| 285 | + flash = function(picker) |
| 286 | + require("flash").jump({ |
| 287 | + pattern = "^", |
| 288 | + label = { after = { 0, 0 } }, |
| 289 | + search = { |
| 290 | + mode = "search", |
| 291 | + exclude = { |
| 292 | + function(win) |
| 293 | + return vim.bo[vim.api.nvim_win_get_buf(win)].filetype ~= "snacks_picker_list" |
| 294 | + end, |
| 295 | + }, |
| 296 | + }, |
| 297 | + action = function(match) |
| 298 | + local idx = picker.list:row2idx(match.pos[1]) |
| 299 | + picker.list:move(idx, true) |
| 300 | + end, |
| 301 | + }) |
| 302 | + end, |
| 303 | + }, |
| 304 | + }, |
| 305 | +} |
| 306 | +``` |
| 307 | + |
| 308 | +</TabItem> |
| 309 | + |
| 310 | + |
| 311 | +<TabItem value="code" label="Full Spec"> |
| 312 | + |
| 313 | +```lua |
| 314 | +{ |
| 315 | + "folke/snacks.nvim", |
| 316 | + opts = { |
| 317 | + picker = { |
| 318 | + win = { |
| 319 | + input = { |
| 320 | + keys = { |
| 321 | + ["<a-s>"] = { "flash", mode = { "n", "i" } }, |
| 322 | + ["s"] = { "flash" }, |
| 323 | + }, |
| 324 | + }, |
| 325 | + }, |
| 326 | + actions = { |
| 327 | + flash = function(picker) |
| 328 | + require("flash").jump({ |
| 329 | + pattern = "^", |
| 330 | + label = { after = { 0, 0 } }, |
| 331 | + search = { |
| 332 | + mode = "search", |
| 333 | + exclude = { |
| 334 | + function(win) |
| 335 | + return vim.bo[vim.api.nvim_win_get_buf(win)].filetype ~= "snacks_picker_list" |
| 336 | + end, |
| 337 | + }, |
| 338 | + }, |
| 339 | + action = function(match) |
| 340 | + local idx = picker.list:row2idx(match.pos[1]) |
| 341 | + picker.list:move(idx, true) |
| 342 | + end, |
| 343 | + }) |
| 344 | + end, |
| 345 | + }, |
| 346 | + }, |
| 347 | + }, |
| 348 | +} |
| 349 | +``` |
| 350 | + |
| 351 | +</TabItem> |
| 352 | + |
| 353 | +</Tabs> |
| 354 | + |
267 | 355 | ## [todo-comments.nvim](https://github.com/folke/todo-comments.nvim) _(optional)_
|
268 | 356 |
|
269 | 357 | <Tabs>
|
@@ -295,4 +383,67 @@ opts = nil
|
295 | 383 |
|
296 | 384 | </Tabs>
|
297 | 385 |
|
| 386 | +## [flash.nvim](https://github.com/folke/flash.nvim) _(optional)_ |
| 387 | + |
| 388 | +<Tabs> |
| 389 | + |
| 390 | +<TabItem value="opts" label="Options"> |
| 391 | + |
| 392 | +```lua |
| 393 | +opts = nil |
| 394 | +``` |
| 395 | + |
| 396 | +</TabItem> |
| 397 | + |
| 398 | + |
| 399 | +<TabItem value="code" label="Full Spec"> |
| 400 | + |
| 401 | +```lua |
| 402 | +{ |
| 403 | + "folke/flash.nvim", |
| 404 | + optional = true, |
| 405 | + specs = { |
| 406 | + { |
| 407 | + "folke/snacks.nvim", |
| 408 | + opts = { |
| 409 | + picker = { |
| 410 | + win = { |
| 411 | + input = { |
| 412 | + keys = { |
| 413 | + ["<a-s>"] = { "flash", mode = { "n", "i" } }, |
| 414 | + ["s"] = { "flash" }, |
| 415 | + }, |
| 416 | + }, |
| 417 | + }, |
| 418 | + actions = { |
| 419 | + flash = function(picker) |
| 420 | + require("flash").jump({ |
| 421 | + pattern = "^", |
| 422 | + label = { after = { 0, 0 } }, |
| 423 | + search = { |
| 424 | + mode = "search", |
| 425 | + exclude = { |
| 426 | + function(win) |
| 427 | + return vim.bo[vim.api.nvim_win_get_buf(win)].filetype ~= "snacks_picker_list" |
| 428 | + end, |
| 429 | + }, |
| 430 | + }, |
| 431 | + action = function(match) |
| 432 | + local idx = picker.list:row2idx(match.pos[1]) |
| 433 | + picker.list:move(idx, true) |
| 434 | + end, |
| 435 | + }) |
| 436 | + end, |
| 437 | + }, |
| 438 | + }, |
| 439 | + }, |
| 440 | + }, |
| 441 | + }, |
| 442 | +} |
| 443 | +``` |
| 444 | + |
| 445 | +</TabItem> |
| 446 | + |
| 447 | +</Tabs> |
| 448 | + |
298 | 449 | <!-- plugins:end -->
|
0 commit comments