Skip to content

Commit 4f4c0e1

Browse files
feat: remove scope + small refactor
1 parent 5a8660d commit 4f4c0e1

File tree

6 files changed

+28
-133
lines changed

6 files changed

+28
-133
lines changed

flake.lock

Lines changed: 21 additions & 38 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,10 +204,6 @@
204204
url = "github:lewis6991/satellite.nvim";
205205
flake = false;
206206
};
207-
"scope.nvim" = {
208-
url = "github:tiagovla/scope.nvim";
209-
flake = false;
210-
};
211207
"snacks.nvim" = {
212208
url = "github:folke/snacks.nvim";
213209
flake = false;

lua/keymaps.lua

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,15 @@ map("n", "<s-tab>", "<cmd>bprevious<cr>", { desc = "Previous buffer" })
4343
map("n", "]b", "<cmd>bnext<cr>", { desc = "Next buffer" })
4444
map("n", "[b", "<cmd>bprevious<cr>", { desc = "Previous buffer" })
4545
map("n", "<leader>bl", "<cmd>e #<cr>", { desc = "Last buffer" })
46-
map("n", "<leader>x", "<cmd>bd<cr>", { desc = "Delete buffer" })
4746
map("n", "<leader>bd", "<cmd>bd<cr>", { desc = "Delete buffer" })
47+
map("n", "<leader>x", "<cmd>bd<cr>", { desc = "Delete buffer" })
4848

4949
map("n", "<c-tab>", "<cmd>tabnext<cr>", { desc = "Next tab" })
5050
map("n", "<c-s-tab>", "<cmd>tabprevious<cr>", { desc = "Previous tab" })
5151
map("n", "]<tab>", "<cmd>tabnext<cr>", { desc = "Next tab" })
5252
map("n", "[<tab>", "<cmd>tabprevious<cr>", { desc = "Previous tab" })
53+
map("n", "<c-a-l>", "<cmd>+tabmove<cr>", { desc = "Move tab right" })
54+
map("n", "<c-a-h>", "<cmd>-tabmove<cr>", { desc = "Move tab left" })
5355
map("n", "<leader><tab><tab>", "<cmd>tabnew<cr>", { desc = "New tab" })
5456
map("n", "<leader><tab>l", "<cmd>tabnext #<cr>", { desc = "Last tab" })
5557
map("n", "<leader><tab>d", "<cmd>tabclose<cr>", { desc = "Delete tab" })

lua/plugins/bufferline.lua

Lines changed: 1 addition & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,4 @@
1-
-- TODO: Remove catppuccin dependency
21
-- TODO: Modularise snacks integration
3-
-- TODO: Modularise scope integration
4-
5-
-- Close orphan buffers when deleting current tab
6-
-- BUG: Cancelling the closing of an unwritten buffer still causes ghosting
7-
-- BUG: Scope cache not instantly updating when making a new tab
8-
9-
local function delete_current_tab()
10-
local tab_list = require("scope.core").cache
11-
local current_tab = vim.api.nvim_get_current_tabpage()
12-
13-
local other_buffers = {}
14-
15-
for tab, buffer_list in pairs(tab_list) do
16-
if tab ~= current_tab then
17-
for _, buffer in ipairs(buffer_list) do
18-
table.insert(other_buffers, buffer)
19-
end
20-
end
21-
end
22-
23-
for _, buffer in ipairs(tab_list[current_tab]) do
24-
if not vim.tbl_contains(other_buffers, buffer) then
25-
Snacks.bufdelete.delete(buffer)
26-
end
27-
end
28-
29-
vim.cmd "tabclose"
30-
end
31-
32-
local function delete_other_tabs()
33-
local tab_list = require("scope.core").cache
34-
local current_tab = vim.api.nvim_get_current_tabpage()
35-
36-
for tab, buffer_list in pairs(tab_list) do
37-
if tab ~= current_tab then
38-
for _, buffer in ipairs(buffer_list) do
39-
if not vim.tbl_contains(tab_list[current_tab], buffer) then
40-
Snacks.bufdelete.delete(buffer)
41-
end
42-
end
43-
end
44-
end
45-
46-
vim.cmd "tabonly"
47-
end
482

493
local default_opts = {
504
options = {
@@ -64,22 +18,14 @@ local function config(_, opts)
6418
opts.options = opts.options or {}
6519
opts.options.close_command = "lua Snacks.bufdelete.delete(%d)"
6620
opts.options.right_mouse_command = opts.options.close_command
67-
68-
vim.keymap.set("n", "<leader><tab>d", delete_current_tab, { desc = "Delete tab" })
69-
vim.keymap.set("n", "<leader><tab>o", delete_other_tabs, { desc = "Delete other tabs" })
7021
end
7122

72-
require("scope").setup()
7323
require("bufferline").setup(opts)
7424
end
7525

7626
return {
7727
"akinsho/bufferline.nvim",
78-
dependencies = {
79-
"catppuccin/nvim",
80-
"nvim-tree/nvim-web-devicons",
81-
"tiagovla/scope.nvim",
82-
},
28+
dependencies = "nvim-tree/nvim-web-devicons",
8329

8430
lazy = false,
8531
keys = {
@@ -91,14 +37,9 @@ return {
9137
{ "<a-l>", "<cmd>BufferLineMoveNext<cr>", desc = "Move buffer right" },
9238
{ "<a-h>", "<cmd>BufferLineMovePrev<cr>", desc = "Move buffer left" },
9339

94-
{ "<c-a-l>", "<cmd>+tabmove<cr>", desc = "Move tab right" },
95-
{ "<c-a-h>", "<cmd>-tabmove<cr>", desc = "Move tab left" },
96-
9740
{ "<leader>bp", "<cmd>BufferLinePick<cr>", desc = "Pick buffer to move to" },
9841
{ "<leader>bP", "<cmd>BufferLineTogglePin<cr>", desc = "Toggle pin" },
9942
{ "<leader>bD", "<cmd>BufferLinePickClose<cr>", desc = "Pick buffer to delete" },
100-
101-
{ "<leader><tab>m", "<cmd>ScopeMoveBuf<cr>", desc = "Move buffer to tab" },
10243
},
10344

10445
opts = default_opts,

lua/plugins/catppuccin.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ local function config(_, opts)
6464
end
6565

6666
local function bufferline_opts(_, opts)
67-
opts.highlights = require("catppuccin.groups.integrations.bufferline").get()
67+
opts.highlights = require("catppuccin.groups.integrations.bufferline").get_theme()
6868
end
6969

7070
return {

lua/plugins/persistence.lua

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,4 @@
1-
-- TODO: Modularise opts table
2-
-- TODO: Modularise scope integration
3-
4-
local function config()
5-
-- TODO: Scope persistence is funky
6-
-- TODO: Don't persist neo-tree
7-
if require("lazy.core.config").plugins["scope.nvim"] then
8-
vim.api.nvim_create_autocmd("User", {
9-
pattern = "PersistenceSavePre",
10-
group = vim.api.nvim_create_augroup("frosty_tabpage_session", { clear = true }),
11-
desc = "Save tabpage information with session",
12-
callback = function()
13-
vim.cmd "ScopeSaveState"
14-
end,
15-
})
16-
17-
vim.api.nvim_create_autocmd("User", {
18-
pattern = "PersistenceLoadPost",
19-
group = vim.api.nvim_create_augroup("frosty_tabpage_session", { clear = true }),
20-
desc = "Load tabpage information from session",
21-
callback = function()
22-
vim.cmd "ScopeLoadState"
23-
end,
24-
})
25-
end
26-
27-
require("persistence").setup()
28-
end
1+
-- TODO: Don't persist neo-tree
292

303
return {
314
"folke/persistence.nvim",
@@ -62,5 +35,5 @@ return {
6235
},
6336
},
6437

65-
config = config,
38+
opts = {},
6639
}

0 commit comments

Comments
 (0)