some plugins
This commit is contained in:
parent
2d3a785a76
commit
59bae3ef87
2 changed files with 134 additions and 2 deletions
|
@ -1 +1,133 @@
|
||||||
return {}
|
return {
|
||||||
|
{ -- display undo tree for a file
|
||||||
|
"https://github.com/mbbill/undotree",
|
||||||
|
cmd = "UndotreeToggle",
|
||||||
|
keys = {
|
||||||
|
{ "<leader>ut", "<cmd>UndotreeToggle<cr>", desc = "undo tree" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ -- markview.nvim
|
||||||
|
"https://github.com/OXY2DEV/markview.nvim",
|
||||||
|
ft = 'markdown',
|
||||||
|
keys = {
|
||||||
|
{ -- toggle markview rendering
|
||||||
|
"<localleader>t",
|
||||||
|
"<cmd>Markview toggle<cr>",
|
||||||
|
desc = "Toggle markdown rendering",
|
||||||
|
ft = "markdown"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
modes = { "n", "i", "no", "c" },
|
||||||
|
hybrid_modes = { "i" },
|
||||||
|
callbacks = {
|
||||||
|
on_enable = function (_, win)
|
||||||
|
vim.wo[win].conceallevel = 2;
|
||||||
|
vim.wo[win].concealcursor = "nc";
|
||||||
|
end
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ -- repl integration
|
||||||
|
"https://github.com/Vigemus/iron.nvim",
|
||||||
|
keys = {
|
||||||
|
{ "<leader>rs", "<cmd>IronRepl<cr>", desc = "Show/start REPL" },
|
||||||
|
{ "<leader>rh", "<cmd>IronHide<cr>", desc = "Hide REPL" },
|
||||||
|
{ "<leader>rf", "<cmd>IronFocus<cr>", desc = "Focus REPL" },
|
||||||
|
{ "<leader>rr", "<cmd>IronRestart<cr>", desc = "Restart REPL" },
|
||||||
|
{ "<leader>rq", function() require("iron").core.close_repl(vim.bo.filetype) end, desc = "Quit REPL" },
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
config = {
|
||||||
|
-- Whether a repl should be discarded or not
|
||||||
|
scratch_repl = true,
|
||||||
|
-- Your repl definitions come here
|
||||||
|
repl_definition = {
|
||||||
|
sh = {
|
||||||
|
-- Can be a table or a function that
|
||||||
|
-- returns a table (see below)
|
||||||
|
command = {"zsh"}
|
||||||
|
},
|
||||||
|
julia = {
|
||||||
|
command = {"julia", "--project", "--threads", "4"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
repl_open_cmd = "vertical botright 80 split", -- require("iron").view.split.vertical.botright(100),
|
||||||
|
},
|
||||||
|
-- Iron doesn't set keymaps by default anymore.
|
||||||
|
-- You can set them here or manually add keymaps to the functions in iron.core
|
||||||
|
keymaps = {
|
||||||
|
send_motion = "<leader>ss",
|
||||||
|
visual_send = "<leader>ss",
|
||||||
|
send_file = "<space>sf",
|
||||||
|
send_line = "<space>sl",
|
||||||
|
send_until_cursor = "<space>su",
|
||||||
|
-- send_mark = "<space>sm",
|
||||||
|
mark_motion = "<space>mc",
|
||||||
|
mark_visual = "<space>mc",
|
||||||
|
remove_mark = "<space>md",
|
||||||
|
cr = "<space>s<cr>",
|
||||||
|
interrupt = "<space>s<space>",
|
||||||
|
clear = "<space>cl",
|
||||||
|
},
|
||||||
|
-- If the highlight is on, you can change how it looks
|
||||||
|
-- For the available options, check nvim_set_hl
|
||||||
|
highlight = {
|
||||||
|
italic = false,
|
||||||
|
},
|
||||||
|
ignore_blank_lines = true, -- ignore blank lines when sending visual select lines
|
||||||
|
},
|
||||||
|
config = function (_, opts)
|
||||||
|
local iron = require("iron.core")
|
||||||
|
iron.setup(opts)
|
||||||
|
|
||||||
|
IronSendCell = function(next_cell)
|
||||||
|
-- source: https://github.com/Vigemus/iron.nvim/issues/236#issuecomment-1317674256
|
||||||
|
local iron_core = require('iron.core')
|
||||||
|
local marks = require('iron.marks')
|
||||||
|
|
||||||
|
local cell_pattern = "^\\s*##" -- cell delimiter pattern
|
||||||
|
local cell_start = vim.fn.search(cell_pattern, 'bcnW')
|
||||||
|
local cell_end = vim.fn.search(cell_pattern, 'nW')
|
||||||
|
|
||||||
|
local lines = vim.api.nvim_buf_get_lines(0, cell_start, cell_end-1, 0)
|
||||||
|
-- ignore blank lines
|
||||||
|
local b_lines = {}
|
||||||
|
for _, line in ipairs(lines) do
|
||||||
|
if line:gsub("^%s*(.-)%s*$", "%1") ~= '' then
|
||||||
|
table.insert(b_lines, line)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if #b_lines == 0 then return end
|
||||||
|
|
||||||
|
if cell_start == 0 then
|
||||||
|
cell_start = 1 -- if first cell, then start from first line
|
||||||
|
end
|
||||||
|
if cell_end == 0 then
|
||||||
|
cell_end = vim.fn.line('$') -- set to last line
|
||||||
|
end
|
||||||
|
|
||||||
|
marks.set{ from_line=cell_start, from_col=0, to_line=cell_end, to_col=-1 }
|
||||||
|
marks.winrestview()
|
||||||
|
|
||||||
|
iron_core.send(nil, b_lines)
|
||||||
|
if next_cell == true then
|
||||||
|
vim.fn.cursor(cell_end+1, 0) -- move to next cell start
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<space>sc', function () IronSendCell(false) end)
|
||||||
|
vim.keymap.set('n', '<space>sC', function () IronSendCell(true) end)
|
||||||
|
vim.cmd("nmap <leader>sp <leader>ssap")
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{ -- neodev
|
||||||
|
"https://github.com/folke/lazydev.nvim",
|
||||||
|
ft = "lua",
|
||||||
|
},
|
||||||
|
{ -- A better user experience for interacting with and manipulating marks
|
||||||
|
"https://github.com/chentoast/marks.nvim",
|
||||||
|
event = "BufReadPost",
|
||||||
|
config = true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
|
@ -157,7 +157,7 @@ return {
|
||||||
-- "neocmake",
|
-- "neocmake",
|
||||||
"dockerls",
|
"dockerls",
|
||||||
"elixirls",
|
"elixirls",
|
||||||
"fennel_ls",
|
-- "fennel_ls",
|
||||||
"fortls",
|
"fortls",
|
||||||
"html",
|
"html",
|
||||||
"biome", -- js + json
|
"biome", -- js + json
|
||||||
|
|
Loading…
Reference in a new issue