toggles
This commit is contained in:
parent
ce4c38469e
commit
aa4eadeb61
4 changed files with 85 additions and 65 deletions
|
@ -2,21 +2,6 @@ vim.keymap.set("i", "jk", "<ESC>")
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>pl", "<cmd>Lazy<cr>", { desc = "Lazy" })
|
vim.keymap.set("n", "<leader>pl", "<cmd>Lazy<cr>", { desc = "Lazy" })
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>uc", function ()
|
|
||||||
if #vim.o.colorcolumn == 0 then
|
|
||||||
vim.o.colorcolumn = "80"
|
|
||||||
else
|
|
||||||
vim.o.colorcolumn = ""
|
|
||||||
end
|
|
||||||
end, { desc = "toggle 80th column" })
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>ur", function ()
|
|
||||||
if vim.o.relativenumber then
|
|
||||||
vim.o.relativenumber = false
|
|
||||||
else
|
|
||||||
vim.o.relativenumber = true
|
|
||||||
end
|
|
||||||
end, { desc = "toggle relative numbers" })
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<C-A-k>", "<cmd>m .-2<cr>==", { desc = "move up" })
|
vim.keymap.set("n", "<C-A-k>", "<cmd>m .-2<cr>==", { desc = "move up" })
|
||||||
vim.keymap.set("n", "<C-A-j>", "<cmd>m .+1<cr>==", { desc = "move line down" })
|
vim.keymap.set("n", "<C-A-j>", "<cmd>m .+1<cr>==", { desc = "move line down" })
|
||||||
|
|
|
@ -34,7 +34,7 @@ return {
|
||||||
map("n", "<leader>gB", function() gitsigns.blame_line({ full = true }) end, "full blame!")
|
map("n", "<leader>gB", function() gitsigns.blame_line({ full = true }) end, "full blame!")
|
||||||
map("n", "<leader>gp", gitsigns.preview_hunk, "look at hunk")
|
map("n", "<leader>gp", gitsigns.preview_hunk, "look at hunk")
|
||||||
map("n", "<leader>gS", ":Gitsigns select_hunk<CR>", "select hunk")
|
map("n", "<leader>gS", ":Gitsigns select_hunk<CR>", "select hunk")
|
||||||
map("n", "<leader>gdd", gitsigns.diffthis, "diff this")
|
-- map("n", "<leader>gdd", gitsigns.diffthis, "diff this")
|
||||||
|
|
||||||
map("n", "<leader>gsb", gitsigns.stage_buffer, "stage buffer")
|
map("n", "<leader>gsb", gitsigns.stage_buffer, "stage buffer")
|
||||||
map("n", "<leader>gsh", ":Gitsigns stage_hunk<CR>", "stage hunk (toggle)")
|
map("n", "<leader>gsh", ":Gitsigns stage_hunk<CR>", "stage hunk (toggle)")
|
||||||
|
@ -63,6 +63,8 @@ return {
|
||||||
event = "BufReadPre",
|
event = "BufReadPre",
|
||||||
keys = {
|
keys = {
|
||||||
{ "<leader>gdo", "<CMD>DiffviewOpen<CR>", desc = "open diffview", },
|
{ "<leader>gdo", "<CMD>DiffviewOpen<CR>", desc = "open diffview", },
|
||||||
|
{ "<leader>gdf", "<CMD>DiffviewFileHistory<CR>", desc = "open diffview", },
|
||||||
|
{ "<leader>gdF", "<CMD>DiffviewFileHistory %<CR>", desc = "open file", },
|
||||||
{ "<leader>gdc", "<CMD>DiffviewClose<CR>", desc = "close diffview", },
|
{ "<leader>gdc", "<CMD>DiffviewClose<CR>", desc = "close diffview", },
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -4,7 +4,7 @@ return {
|
||||||
"https://github.com/mbbill/undotree",
|
"https://github.com/mbbill/undotree",
|
||||||
cmd = "UndotreeToggle",
|
cmd = "UndotreeToggle",
|
||||||
keys = {
|
keys = {
|
||||||
{ "<leader>ut", "<cmd>UndotreeToggle<cr>", desc = "undo tree" },
|
{ "<leader>ut", "<cmd>UndotreeToggle<cr>", desc = "undo tree" },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ return {
|
||||||
modes = { "n", "i", "no", "c" },
|
modes = { "n", "i", "no", "c" },
|
||||||
hybrid_modes = { "i" },
|
hybrid_modes = { "i" },
|
||||||
callbacks = {
|
callbacks = {
|
||||||
on_enable = function (_, win)
|
on_enable = function(_, win)
|
||||||
vim.wo[win].conceallevel = 2;
|
vim.wo[win].conceallevel = 2;
|
||||||
vim.wo[win].concealcursor = "nc";
|
vim.wo[win].concealcursor = "nc";
|
||||||
end
|
end
|
||||||
|
@ -48,10 +48,10 @@ return {
|
||||||
sh = {
|
sh = {
|
||||||
-- Can be a table or a function that
|
-- Can be a table or a function that
|
||||||
-- returns a table (see below)
|
-- returns a table (see below)
|
||||||
command = {"zsh"}
|
command = { "zsh" }
|
||||||
},
|
},
|
||||||
julia = {
|
julia = {
|
||||||
command = {"julia", "--project"},
|
command = { "julia", "--project" },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
repl_open_cmd = "vertical botright 80 split", -- require("iron").view.split.vertical.botright(100),
|
repl_open_cmd = "vertical botright 80 split", -- require("iron").view.split.vertical.botright(100),
|
||||||
|
@ -79,7 +79,7 @@ return {
|
||||||
},
|
},
|
||||||
ignore_blank_lines = true, -- ignore blank lines when sending visual select lines
|
ignore_blank_lines = true, -- ignore blank lines when sending visual select lines
|
||||||
},
|
},
|
||||||
config = function (_, opts)
|
config = function(_, opts)
|
||||||
local iron = require("iron.core")
|
local iron = require("iron.core")
|
||||||
iron.setup(opts)
|
iron.setup(opts)
|
||||||
|
|
||||||
|
@ -88,11 +88,11 @@ return {
|
||||||
local iron_core = require('iron.core')
|
local iron_core = require('iron.core')
|
||||||
local marks = require('iron.marks')
|
local marks = require('iron.marks')
|
||||||
|
|
||||||
local cell_pattern = "^\\s*##" -- cell delimiter pattern
|
local cell_pattern = "^\\s*##" -- cell delimiter pattern
|
||||||
local cell_start = vim.fn.search(cell_pattern, 'bcnW')
|
local cell_start = vim.fn.search(cell_pattern, 'bcnW')
|
||||||
local cell_end = vim.fn.search(cell_pattern, 'nW')
|
local cell_end = vim.fn.search(cell_pattern, 'nW')
|
||||||
|
|
||||||
local lines = vim.api.nvim_buf_get_lines(0, cell_start, cell_end-1, 0)
|
local lines = vim.api.nvim_buf_get_lines(0, cell_start, cell_end - 1, 0)
|
||||||
-- ignore blank lines
|
-- ignore blank lines
|
||||||
local b_lines = {}
|
local b_lines = {}
|
||||||
for _, line in ipairs(lines) do
|
for _, line in ipairs(lines) do
|
||||||
|
@ -109,17 +109,17 @@ return {
|
||||||
cell_end = vim.fn.line('$') -- set to last line
|
cell_end = vim.fn.line('$') -- set to last line
|
||||||
end
|
end
|
||||||
|
|
||||||
marks.set{ from_line=cell_start, from_col=0, to_line=cell_end, to_col=-1 }
|
marks.set { from_line = cell_start, from_col = 0, to_line = cell_end, to_col = -1 }
|
||||||
marks.winrestview()
|
marks.winrestview()
|
||||||
|
|
||||||
iron_core.send(nil, b_lines)
|
iron_core.send(nil, b_lines)
|
||||||
if next_cell == true then
|
if next_cell == true then
|
||||||
vim.fn.cursor(cell_end+1, 0) -- move to next cell start
|
vim.fn.cursor(cell_end + 1, 0) -- move to next cell start
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.keymap.set('n', '<space>sc', function () IronSendCell(false) end)
|
vim.keymap.set('n', '<space>sc', function() IronSendCell(false) end)
|
||||||
vim.keymap.set('n', '<space>sC', function () IronSendCell(true) end)
|
vim.keymap.set('n', '<space>sC', function() IronSendCell(true) end)
|
||||||
vim.cmd("nmap <leader>sp <leader>ssap")
|
vim.cmd("nmap <leader>sp <leader>ssap")
|
||||||
end
|
end
|
||||||
},
|
},
|
||||||
|
@ -137,9 +137,9 @@ return {
|
||||||
priority = 1000,
|
priority = 1000,
|
||||||
lazy = false,
|
lazy = false,
|
||||||
keys = {
|
keys = {
|
||||||
{ "<leader>pp", function () require("snacks").picker() end, desc = "pick picker", },
|
{ "<leader>pp", function() require("snacks").picker() end, desc = "pick picker", },
|
||||||
{ "<leader>pg", function () require("snacks").picker.grep() end, desc = "pick string", },
|
{ "<leader>pg", function() require("snacks").picker.grep() end, desc = "pick string", },
|
||||||
{ "<leader>pf", function () require("snacks").picker.files() end, desc = "pick files", },
|
{ "<leader>pf", function() require("snacks").picker.files() end, desc = "pick files", },
|
||||||
{
|
{
|
||||||
"<leader>gl",
|
"<leader>gl",
|
||||||
function()
|
function()
|
||||||
|
@ -205,6 +205,8 @@ return {
|
||||||
end,
|
end,
|
||||||
desc = "[P]Snacks picker buffers",
|
desc = "[P]Snacks picker buffers",
|
||||||
},
|
},
|
||||||
|
{ "<leader>un", function() Snacks.notifier.hide() end, desc = "Dismiss All Notifications" },
|
||||||
|
{ "<leader>n", function() Snacks.notifier.show_history() end, desc = "Notification History" },
|
||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
picker = {
|
picker = {
|
||||||
|
@ -240,23 +242,78 @@ return {
|
||||||
notify = { enabled = true },
|
notify = { enabled = true },
|
||||||
quickfile = { enabled = true },
|
quickfile = { enabled = true },
|
||||||
words = { enabled = true },
|
words = { enabled = true },
|
||||||
|
toggle = { enabled = true },
|
||||||
indent = { enabled = true },
|
indent = { enabled = true },
|
||||||
dashboard = {
|
dashboard = {
|
||||||
sections = {
|
sections = {
|
||||||
{
|
{
|
||||||
section = "terminal",
|
section = "terminal",
|
||||||
cmd = "chafa ~/i/piksela_arto/docks_1041uuu_Toyoi_Yuuta.gif --format symbols --symbols vhalf --size 60x17 --stretch; sleep .1",
|
cmd =
|
||||||
|
"chafa ~/i/piksela_arto/docks_1041uuu_Toyoi_Yuuta.gif --format symbols --symbols vhalf --size 60x17 --stretch; sleep .1",
|
||||||
height = 17,
|
height = 17,
|
||||||
padding = 1,
|
padding = 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
pane = 2,
|
pane = 2,
|
||||||
{ section = "keys", gap = 1, padding = 1 },
|
{ section = "keys", gap = 1, padding = 1 },
|
||||||
{ section = "startup" },
|
{ section = "startup" },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
zen = { enabled = true },
|
||||||
},
|
},
|
||||||
|
init = function()
|
||||||
|
vim.api.nvim_create_autocmd("User", {
|
||||||
|
pattern = "VeryLazy",
|
||||||
|
callback = function()
|
||||||
|
Snacks = require("snacks")
|
||||||
|
Snacks.toggle.option("spell", { name = "Spelling" }):map("<leader>us")
|
||||||
|
Snacks.toggle.option("wrap", { name = "Wrap" }):map("<leader>uw")
|
||||||
|
Snacks.toggle.diagnostics():map("<leader>ud")
|
||||||
|
Snacks.toggle.line_number():map("<leader>ul")
|
||||||
|
Snacks.toggle.option("relativenumber", { name = "Relative Number" }):map("<leader>uL")
|
||||||
|
Snacks.toggle.option("conceallevel",
|
||||||
|
{ off = 0, on = vim.o.conceallevel > 0 and vim.o.conceallevel or 2 }):map("<leader>uc")
|
||||||
|
Snacks.toggle.treesitter():map("<leader>uT")
|
||||||
|
Snacks.toggle.option("background", { off = "light", on = "dark", name = "Dark Background" }):map(
|
||||||
|
"<leader>ub")
|
||||||
|
Snacks.toggle.inlay_hints():map("<leader>uh")
|
||||||
|
Snacks.toggle.indent():map("<leader>ug")
|
||||||
|
Snacks.toggle.dim():map("<leader>uD")
|
||||||
|
|
||||||
|
|
||||||
|
local toggleopt = {
|
||||||
|
name = "80th column",
|
||||||
|
keys = "<leader>uc",
|
||||||
|
which_key = true,
|
||||||
|
get = function()
|
||||||
|
return vim.o.colorcolumn == "80"
|
||||||
|
end,
|
||||||
|
notify = false,
|
||||||
|
set = function(state)
|
||||||
|
if state then
|
||||||
|
vim.o.colorcolumn = "80"
|
||||||
|
else
|
||||||
|
vim.o.colorcolumn = ""
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
require("snacks.toggle").new(toggleopt):map(toggleopt.keys, { mode = { "n" } })
|
||||||
|
|
||||||
|
|
||||||
|
require("snacks").toggle({
|
||||||
|
name = "Diffview",
|
||||||
|
get = function()
|
||||||
|
return require("diffview.lib").get_current_view() ~= nil
|
||||||
|
end,
|
||||||
|
set = function(state)
|
||||||
|
vim.cmd("Diffview" .. (state and "Open" or "Close"))
|
||||||
|
end,
|
||||||
|
}):map("<leader>gdd")
|
||||||
|
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -306,11 +363,11 @@ return {
|
||||||
ft = "typst",
|
ft = "typst",
|
||||||
version = "1.*",
|
version = "1.*",
|
||||||
keys = {
|
keys = {
|
||||||
{ "<localleader>pd", "<CMD>TypstPreview document<CR>", desc = "open typst preview document", },
|
{ "<localleader>pd", "<CMD>TypstPreview document<CR>", desc = "open typst preview document", },
|
||||||
{ "<localleader>ps", "<CMD>TypstPreview slide<CR>", desc = "open typst preview slide", },
|
{ "<localleader>ps", "<CMD>TypstPreview slide<CR>", desc = "open typst preview slide", },
|
||||||
{ "<localleader>s", "<CMD>TypstPreviewStop<CR>", desc = "stop typst preview", },
|
{ "<localleader>s", "<CMD>TypstPreviewStop<CR>", desc = "stop typst preview", },
|
||||||
{ "<localleader><SPACE>", "<CMD>TypstPreviewSyncCursor<CR>", desc = "sync cursor", },
|
{ "<localleader><SPACE>", "<CMD>TypstPreviewSyncCursor<CR>", desc = "sync cursor", },
|
||||||
{ "<localleader>f", "<CMD>TypstPreviewFollowCursorToggle<CR>", desc = "toggle follow cursor", },
|
{ "<localleader>f", "<CMD>TypstPreviewFollowCursorToggle<CR>", desc = "toggle follow cursor", },
|
||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
dependencies_bin = {
|
dependencies_bin = {
|
||||||
|
@ -321,12 +378,12 @@ return {
|
||||||
|
|
||||||
{
|
{
|
||||||
"https://github.com/hat0uma/csvview.nvim",
|
"https://github.com/hat0uma/csvview.nvim",
|
||||||
ft = {"csv", "tsv"},
|
ft = { "csv", "tsv" },
|
||||||
opts = {},
|
opts = {},
|
||||||
keys = {
|
keys = {
|
||||||
{ "<localleader>e", "<CMD>CsvViewEnable<CR>", desc = "enable csv preview", },
|
{ "<localleader>e", "<CMD>CsvViewEnable<CR>", desc = "enable csv preview", },
|
||||||
{ "<localleader>d", "<CMD>CsvViewDisable<CR>", desc = "disable csv preview", },
|
{ "<localleader>d", "<CMD>CsvViewDisable<CR>", desc = "disable csv preview", },
|
||||||
{ "<localleader>t", "<CMD>CsvViewToggle<CR>", desc = "toggle csv preview", },
|
{ "<localleader>t", "<CMD>CsvViewToggle<CR>", desc = "toggle csv preview", },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,4 @@
|
||||||
return {
|
return {
|
||||||
{ -- notification popups
|
|
||||||
"https://github.com/rcarriga/nvim-notify",
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<leader>un",
|
|
||||||
function()
|
|
||||||
require("notify").dismiss({ silent = true, pending = true })
|
|
||||||
end,
|
|
||||||
desc = "clear notifications",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
opts = {
|
|
||||||
stages = "fade_in_slide_out",
|
|
||||||
render = "compact",
|
|
||||||
background_colour = "#000000",
|
|
||||||
timeout = 3000,
|
|
||||||
max_height = function()
|
|
||||||
return math.floor(vim.o.lines * 0.75)
|
|
||||||
end,
|
|
||||||
max_width = function()
|
|
||||||
return math.floor(vim.o.columns * 0.75)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{ -- a snazzy bufferline
|
{ -- a snazzy bufferline
|
||||||
"https://github.com/akinsho/bufferline.nvim",
|
"https://github.com/akinsho/bufferline.nvim",
|
||||||
event = "BufReadPre",
|
event = "BufReadPre",
|
||||||
|
|
Loading…
Add table
Reference in a new issue