Commit graph

1292 commits

Author SHA1 Message Date
Folke Lemaitre
efbc4a12af
fix(explorer): remove sleep :) 2025-02-02 16:50:23 +01:00
Folke Lemaitre
1ce435c6eb
fix(picker.explorer): use cached git status 2025-02-02 16:44:52 +01:00
Folke Lemaitre
c2dedb647f
feat(picker.projects): allow disabling projects from recent files 2025-02-02 16:37:24 +01:00
Folke Lemaitre
6f8f0d3c72
feat(picker.projects): projects now automatically processes dev folders and added a bunch of actions/keymaps. Closes #871 2025-02-02 16:09:00 +01:00
Folke Lemaitre
287db30ed2
perf(explorer): don't wait till git status finished. Update tree when needed. See #869 2025-02-02 14:29:19 +01:00
Folke Lemaitre
72826a72de
fix(picker.undo): add newlines
Some checks failed
CI / ci (push) Failing after 0s
2025-02-02 09:50:09 +01:00
Folke Lemaitre
d61fb453c6
feat(picker.undo): make diff opts for undo configurable 2025-02-02 09:47:13 +01:00
Folke Lemaitre
8368176243
fix(picker.undo): cleanup tmp buffer 2025-02-02 09:37:59 +01:00
Folke Lemaitre
033db250cd
fix(picker.undo): disable swap for tmp undo buffer 2025-02-02 09:36:31 +01:00
Folke Lemaitre
3d4b8eeea9
perf(picker.undo): more performance improvements for the undo picker 2025-02-02 09:33:02 +01:00
Folke Lemaitre
c900e2cb3a
fix(picker.undo): copy over buffer lines instead of just the file 2025-02-02 09:20:28 +01:00
Folke Lemaitre
d4a5449813
perf(picker.undo): use a tmp buffer to get diffs. Way faster than before. Closes #863 2025-02-02 09:17:36 +01:00
Folke Lemaitre
44b8e38204
feat(picker.undo): better undo tree visualization. Closes #863 2025-02-02 08:25:18 +01:00
Folke Lemaitre
4a50291448
fix(picker.list): better virtual scrolling that works from any window 2025-02-01 23:40:07 +01:00
Folke Lemaitre
8555789d86
fix(picker): propagate WinEnter when going to the real window after entering the layout split window 2025-02-01 21:24:35 +01:00
Folke Lemaitre
8a570bb48b
feat(picker.list): use regular CursorLine when picker window is not focused 2025-02-01 21:20:38 +01:00
Folke Lemaitre
c955a8d1ef
fix(layout): destroy in schedule. Fixes #861 2025-02-01 21:11:57 +01:00
Folke Lemaitre
df0e3e3d86
fix(picker.actions): pass edit commands to jump. Closes #859 2025-02-01 19:13:22 +01:00
Folke Lemaitre
551d053c7c
fix(explorer): fix git status sorting 2025-02-01 17:30:32 +01:00
Folke Lemaitre
263dfde1b5
feat(explorer): added ]g and [g to jump between files mentioned in git status 2025-02-01 16:59:00 +01:00
Folke Lemaitre
b40c0d4ee4
feat(explorer): hide git status for open directories by default. it's mostly redundant 2025-02-01 16:58:25 +01:00
Folke Lemaitre
8f87c2c32b
perf(picker.files): no need to check every time for cmd availability 2025-02-01 16:37:50 +01:00
Folke Lemaitre
2946875af0
fix(picker.actions): reworked split/vsplit/drop/tab cmds to better do what's intended. Closes #854 2025-02-01 16:32:03 +01:00
Folke Lemaitre
0f5b30b411
fix(picker): improve resume. Closes #853 2025-02-01 14:40:00 +01:00
Folke Lemaitre
6a8337396a
feat(picker): beter API to interact with active pickers. Closes #851 2025-02-01 14:40:00 +01:00
Folke Lemaitre
d2459258f1
feat(picker): better health checks. Fixes #855 2025-02-01 13:46:57 +01:00
Folke Lemaitre
35295e0eb2
feat(picker): history per source. Closes #843 2025-02-01 11:39:07 +01:00
Folke Lemaitre
3ca54beebb
ci: remove debug 2025-02-01 11:30:34 +01:00
Folke Lemaitre
f0f053a1d9
fix(picker): better main window management. Closes #842 2025-02-01 11:26:19 +01:00
Folke Lemaitre
2ff389312a
feat(explorer): more keymaps and tree rework. See #837 2025-02-01 10:20:03 +01:00
Folke Lemaitre
4aba559c6e
fix(win): close help when leaving the win buffer 2025-02-01 10:20:03 +01:00
Folke Lemaitre
e1566a483d
fix(util): better keymap normalization 2025-02-01 10:20:03 +01:00
Jiahe Jiang
de16b44f97
fix(picker): enforce bottom positioning for quickfix and location lists (#845)
## Description

This PR addresses an issue where the quickfix list (qflist) would open
on the left side of the screen when using vertical splits. By replacing
the default :copen command with :botright copen, this update ensures
that the qflist consistently opens at the bottom, regardless of the
current window layout.

## Reproduce:

1. Open Neovim: Start Neovim normally.
2. Create a Vertical Split
3. Use picker to pick anything
4. Press <c-q> to send them to quickfix list

```lua
vim.env.LAZY_STDPATH = ".repro"
load(vim.fn.system("curl -s https://raw.githubusercontent.com/folke/lazy.nvim/main/bootstrap.lua"))()

vim.g.mapleader = " "

require("lazy.minit").repro({
	spec = {
		{
			"Isrothy/snacks.nvim",
			branch = "bottom-positioning-for-qf",
			lazy = false,
			keys = {
				{
					"<LEADER>ff",
					function()
						Snacks.picker.files()
					end,
					desc = "Files",
				},
			opts = {},
		},
		-- add any other plugins here
	},
})

```

## Screenshots

before:
<img width="1439" alt="Screenshot 2025-01-31 at 23 48 59"
src="https://github.com/user-attachments/assets/d21b9668-ff4d-4464-84b4-48c47c48153a"
/>

after:
<img width="1438" alt="Screenshot 2025-01-31 at 23 50 11"
src="https://github.com/user-attachments/assets/6aba0840-2125-4336-92e2-7152e8669aa6"
/>
2025-02-01 06:56:06 +01:00
Folke Lemaitre
d962d5f335
fix(picker.actions): tab -> tabnew. Closes #842 2025-02-01 06:51:51 +01:00
Folke Lemaitre
5549d4e848
fix(explorer): cwd is now changed automatically, so no need to update state. 2025-01-31 22:22:28 +01:00
Folke Lemaitre
d17449ee90
fix(explorer): after search, cursor always jumped to top. Closes #827 2025-01-31 21:39:25 +01:00
Folke Lemaitre
cd44efb60c
fix(picker): multi layouts that need async task work again. 2025-01-31 21:35:12 +01:00
Folke Lemaitre
8dea225209
feat(explorer): update on cwd change 2025-01-31 21:08:09 +01:00
Folke Lemaitre
8646ba4696
feat(explorer.git): added git_status_open. When false, then dont show recursive git status in open directories 2025-01-31 21:00:24 +01:00
Folke Lemaitre
4b29ddc5d9
feat(explorer): navigate with h/l to close/open directories. Closes #833 2025-01-31 20:51:52 +01:00
Folke Lemaitre
6921cd06ac
fix(explorer): don't try to show when closed. Fixes #836 2025-01-31 20:22:11 +01:00
Folke Lemaitre
78d4116662
feat(explorer): update status when saving a file that is currently visible 2025-01-31 19:56:33 +01:00
Folke Lemaitre
fa32e20e99
fix(explorer): fixed hierarchical sorting. Closes #828 2025-01-31 19:51:44 +01:00
Folke Lemaitre
692aeaf131
chore: remove debug 2025-01-31 19:28:28 +01:00
Folke Lemaitre
ab8af1bb32
fix(layout): adjust zindex when needed when another layout is already open. Closes #826 2025-01-31 19:26:02 +01:00
Folke Lemaitre
6dbc26757c
fix(picker): make pick_win work with split layouts. Closes #834 2025-01-31 19:14:16 +01:00
Folke Lemaitre
5cae48d93c
feat(explorer): added git status. Closes #817 2025-01-31 19:08:32 +01:00
Folke Lemaitre
dad3e00e83
fix(picker.format): extra slash in path 2025-01-31 17:09:08 +01:00
Folke Lemaitre
16d700eb65
fix(git): use os.getenv to get env var. Fixes #5504 2025-01-31 17:09:07 +01:00
Folke Lemaitre
ae897f329f
feat(picker.lines): jump to first position of match. Closes #806 2025-01-31 14:13:36 +01:00