This commit is contained in:
2025-08-11 03:50:33 +02:00
parent fd50e6818e
commit be77967e94
10 changed files with 129 additions and 79 deletions

View File

@@ -95,6 +95,7 @@ require 'kickstart.core.lazy-plugins'
-- [[ Basic Autocommands ]] -- [[ Basic Autocommands ]]
require 'kickstart.core.autocommands' require 'kickstart.core.autocommands'
require 'custom.autocommands'
-- [[ Keymaps ]] -- [[ Keymaps ]]
require 'kickstart.core.keymaps' require 'kickstart.core.keymaps'

View File

@@ -0,0 +1,7 @@
-- load autocommands
--
require 'custom.autocommands.quarto'
-- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et

View File

@@ -0,0 +1,48 @@
-- Quarto autocommands file
--
local status_wk, wk = pcall(require, 'which-key')
if not status_wk then
return
end
vim.api.nvim_create_autocmd('FileType', {
desc = '',
pattern = 'quarto',
callback = function()
local init = function()
local quarto_cfg = require('quarto.config').config
quarto_cfg.codeRunner.default_method = 'molten'
vim.cmd [[MoltenInit]]
end
local deinit = function()
local quarto_cfg = require('quarto.config').config
quarto_cfg.codeRunner.default_method = 'slime'
vim.cmd [[MoltenDeinit]]
end
wk.add {
{ mode = { 'n', 'v', 'i' }, buffer = true },
{ -- Quarto
{ '<leader>Q', group = '[Q]uarto' }, -- group
{ '<leader>Qp', '<CMD>QuartoPreview<CR>', desc = '[p]review Quarto' },
{ '<leader>Qs', '<CMD>QuartoSend<CR>', desc = '[s]end to Quarto' },
},
{ -- Molten
{ '<leader>M', group = '[M]olten' }, -- group
{ '<leader>Mi', init, desc = '[i]nitialize Molten' },
{ '<leader>Ms', deinit, desc = '[s]top Molten' },
{ '<leader>Md', '<CMD>MoltenStop<CR>', desc = '[S]top Molten' },
{ '<leader>Mp', '<CMD>MoltenPause<CR>', desc = '[p]ause Molten' },
{ '<leader>Mr', '<CMD>MoltenReset<CR>', desc = '[r]eset Molten' },
},
{ -- Vim-slime
{ '<leader>S', group = '[S]lime' }, -- group
{ '<leader>Ss', '<CMD>SlimeSend<CR>', desc = '[s]end Slime' },
{ '<leader>Sr', '<CMD>SlimeRestart<CR>', desc = '[r]estart Slime' },
},
}
end,
})

View File

@@ -1,27 +1,35 @@
-- Neo-tree mappings -- Neo-tree mappings
-- --
local wk = require 'which-key' local status_wk, wk = pcall(require, 'which-key')
local bufremove = require 'mini.bufremove' if not status_wk then
return
end
local status_mbr, mbr = pcall(require, 'mini.bufremove')
if not status_mbr then
return
end
wk.add { wk.add {
{ '<leader>b', group = '[b]uffers' }, -- group { '<leader>b', group = '[b]uffers' }, -- group
{ {
mode = { 'n', 'v', 'i' }, mode = { 'n', 'v', 'i' },
{ '<leader>bd', bufremove.delete, desc = '[d]elete buffer', silent = true }, { '<leader>bd', mbr.delete, desc = '[d]elete buffer', noremap = true, silent = true },
{ '<leader>bl', '<CMD>Neotree buffers<CR>', desc = '[l]ist buffers ', silent = true }, { '<leader>bl', '<CMD>Neotree buffers<CR>', desc = '[l]ist buffers ', noremap = true, silent = true },
{ '<leader>bs', '<CMD>source %<CR>', desc = '[s]ource buffer', silent = true }, { '<leader>bs', '<CMD>source %<CR>', desc = '[s]ource buffer', noremap = true, silent = true },
{ '<leader>bw', '<CMD>w<CR>', desc = '[w]rite buffer', silent = true }, { '<leader>bw', '<CMD>w<CR>', desc = '[w]rite buffer', noremap = true, silent = true },
{ '<leader>bp', '<CMD>bprevious<CR>', desc = '[p]revious buffer', silent = true }, { '<leader>bp', '<CMD>bprevious<CR>', desc = '[p]revious buffer', noremap = true, silent = true },
{ '<leader>bn', '<CMD>bnext<CR>', desc = '[n]ext buffer', silent = true }, { '<leader>bn', '<CMD>bnext<CR>', desc = '[n]ext buffer', noremap = true, silent = true },
{ '<C-PageUp>', '<CMD>bprevious<CR>', desc = 'Previous buffer', silent = true, hidden = true }, { '<C-PageUp>', '<CMD>bprevious<CR>', desc = 'Previous buffer', noremap = true, silent = true, hidden = true },
{ '<C-PageDown>', '<CMD>bnext<CR>', desc = 'Next buffer', silent = true, hidden = true }, { '<C-PageDown>', '<CMD>bnext<CR>', desc = 'Next buffer', noremap = true, silent = true, hidden = true },
}, },
{ {
mode = { 'n', 'v' }, mode = { 'n', 'v', 'i' },
{ '<C-c>', bufremove.delete, desc = 'Delete buffer', silent = true, hidden = true }, -- mapping runs here as which-key intercepts ctrl-z signal before term
{ '<C-s>', '<CMD>w<CR>', desc = 'Save buffer', silent = true, hidden = true }, { '<C-c>', mbr.delete, desc = 'Delete buffer', noremap = true, silent = true, hidden = true },
{ '<C-s>', '<CMD>w<CR><ESC>', desc = 'Save buffer', noremap = true, silent = true, hidden = true },
}, },
} }

View File

@@ -1,12 +1,17 @@
-- Edition mappings -- Edition mappings
-- --
local wk = require 'which-key' local status_wk, wk = pcall(require, 'which-key')
if not status_wk then
return
end
wk.add { wk.add {
mode = { 'n', 'v', 'i' }, {
-- mapping runs here as which-key intercepts ctrl-z signal before term mode = { 'n', 'v', 'i' },
{ '<C-z>', '<CMD>undo<CR>', desc = 'Undo', silent = true, noremap = true, hidden = true }, -- mapping runs here as which-key intercepts ctrl-z signal before term
{ '<C-z>', '<CMD>undo<CR>', desc = 'Undo', silent = true, noremap = true, hidden = true },
},
} }
-- The line beneath this is called `modeline`. See `:help modeline` -- The line beneath this is called `modeline`. See `:help modeline`

View File

@@ -1,17 +1,24 @@
-- Neo-tree mappings -- Neo-tree mappings
-- --
local wk = require 'which-key' local status_wk, wk = pcall(require, 'which-key')
local neotree_helper = require 'custom.plugins.neotree-helper' if not status_wk then
return
end
local status_nth, nth = pcall(require, 'custom.plugins.neotree-helper')
if not status_nth then
return
end
wk.add { wk.add {
{ {
mode = { 'n', 'v', 'i' }, mode = { 'n', 'v', 'i' },
{ '<leader>e', neotree_helper.smart_open, desc = 'File [e]xplorer', silent = true, noremap = true }, { '<leader>e', nth.smart_open, desc = 'File [e]xplorer', silent = true, noremap = true },
}, },
{ {
mode = { 'n', 'v' }, mode = { 'n', 'v' },
{ '<C-e>', neotree_helper.smart_open, desc = 'File explorer', silent = true, noremap = true, hidden = true }, { '<C-e>', nth.smart_open, desc = 'File explorer', silent = true, noremap = true, hidden = true },
}, },
} }

View File

@@ -1,9 +1,12 @@
-- General mappings -- General mappings
-- --
local key = require 'custom.plugins.keymaps-helper' local status_kh, kh = pcall(require, 'custom.plugins.keymaps-helper')
if not status_kh then
return
end
key.map({ 'n', 'v', 'i' }, '<leader>Q', '<CMD>qall<CR>', { silent = true, noremap = true, desc = '[Q]uit all' }) kh.map({ 'n', 'v', 'i' }, '<leader>q', '<CMD>qall<CR>', { silent = true, noremap = true, desc = '[Q]uit all' })
-- The line beneath this is called `modeline`. See `:help modeline` -- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et -- vim: ts=2 sts=2 sw=2 et

View File

@@ -7,7 +7,6 @@ require 'custom.keymaps.buffers'
require 'custom.keymaps.files' require 'custom.keymaps.files'
require 'custom.keymaps.edit' require 'custom.keymaps.edit'
require 'custom.keymaps.display' require 'custom.keymaps.display'
require 'custom.keymaps.quarto'
-- The line beneath this is called `modeline`. See `:help modeline` -- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et -- vim: ts=2 sts=2 sw=2 et

View File

@@ -1,13 +0,0 @@
-- Quarto mappings
--
local wk = require 'which-key'
wk.add {
mode = { 'n', 'v', 'i' },
{ '<leader>q', group = '[q]uarto' }, -- group
{ '<leader>qp', '<CMD>QuartoPreview<CR>', desc = '[p]review quarto' },
}
-- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et

View File

@@ -50,7 +50,7 @@ return {
endfunction endfunction
]] ]]
vim.g.slime_target = 'kitty' vim.g.slime_target = 'neovim'
vim.g.slime_no_mappings = true vim.g.slime_no_mappings = true
vim.g.slime_python_ipython = 1 vim.g.slime_python_ipython = 1
end, end,
@@ -60,16 +60,16 @@ return {
vim.g.slime_menu_config = false vim.g.slime_menu_config = false
vim.g.slime_neovim_ignore_unlisted = true vim.g.slime_neovim_ignore_unlisted = true
local function mark_terminal() -- local function mark_terminal()
local job_id = vim.b.terminal_job_id -- local job_id = vim.b.terminal_job_id
vim.print('job_id: ' .. job_id) -- vim.print('job_id: ' .. job_id)
end -- end
--
local function set_terminal() -- local function set_terminal()
vim.fn.call('slime#config', {}) -- vim.fn.call('slime#config', {})
end -- end
vim.keymap.set('n', '<leader>cm', mark_terminal, { desc = '[m]ark terminal' }) -- vim.keymap.set('n', '<leader>cm', mark_terminal, { desc = '[m]ark terminal' })
vim.keymap.set('n', '<leader>cs', set_terminal, { desc = '[s]et terminal' }) -- vim.keymap.set('n', '<leader>cs', set_terminal, { desc = '[s]et terminal' })
end, end,
opts = { opts = {
debug = true, debug = true,
@@ -89,42 +89,27 @@ return {
vim.g.molten_tick_rate = 200 vim.g.molten_tick_rate = 200
end, end,
config = function() config = function()
local init = function() -- local init = function()
local quarto_cfg = require('quarto.config').config -- local quarto_cfg = require('quarto.config').config
quarto_cfg.codeRunner.default_method = 'molten' -- quarto_cfg.codeRunner.default_method = 'molten'
vim.cmd [[MoltenInit]] -- vim.cmd [[MoltenInit]]
end -- end
local deinit = function() -- local deinit = function()
local quarto_cfg = require('quarto.config').config -- local quarto_cfg = require('quarto.config').config
quarto_cfg.codeRunner.default_method = 'slime' -- quarto_cfg.codeRunner.default_method = 'slime'
vim.cmd [[MoltenDeinit]] -- vim.cmd [[MoltenDeinit]]
end -- end
vim.keymap.set('n', '<localleader>mi', init, { silent = true, desc = 'Initialize molten' }) -- vim.keymap.set('n', '<localleader>mi', init, { silent = true, desc = 'Initialize molten' })
vim.keymap.set('n', '<localleader>md', deinit, { silent = true, desc = 'Stop molten' }) -- vim.keymap.set('n', '<localleader>md', deinit, { silent = true, desc = 'Stop molten' })
vim.keymap.set('n', '<localleader>mp', ':MoltenImagePopup<CR>', { silent = true, desc = 'molten image popup' }) -- vim.keymap.set('n', '<localleader>mp', ':MoltenImagePopup<CR>', { silent = true, desc = 'molten image popup' })
vim.keymap.set('n', '<localleader>mb', ':MoltenOpenInBrowser<CR>', { silent = true, desc = 'molten open in browser' }) -- vim.keymap.set('n', '<localleader>mb', ':MoltenOpenInBrowser<CR>', { silent = true, desc = 'molten open in browser' })
vim.keymap.set('n', '<localleader>mh', ':MoltenHideOutput<CR>', { silent = true, desc = 'hide output' }) -- vim.keymap.set('n', '<localleader>mh', ':MoltenHideOutput<CR>', { silent = true, desc = 'hide output' })
vim.keymap.set('n', '<localleader>ms', ':noautocmd MoltenEnterOutput<CR>', { silent = true, desc = 'show/enter output' }) -- vim.keymap.set('n', '<localleader>ms', ':noautocmd MoltenEnterOutput<CR>', { silent = true, desc = 'show/enter output' })
end, end,
opts = { opts = {
auto_scroll = true, auto_scroll = true,
}, },
}, },
-- {
-- 'benlubas/molten-nvim',
-- version = '^1.0.0', -- use version <2.0.0 to avoid breaking changes
-- dependencies = { '3rd/image.nvim' },
-- build = ':UpdateRemotePlugins',
-- init = function()
-- -- these are examples, not defaults. Please see the readme
-- vim.g.molten_image_provider = 'image.nvim'
-- vim.g.molten_output_win_max_height = 20
-- end,
-- opts = {
-- debug = true,
-- },
-- },
{ {
'3rd/image.nvim', '3rd/image.nvim',
build = false, -- so that it doesn't build the rock https://github.com/3rd/image.nvim/issues/91#issuecomment-2453430239 build = false, -- so that it doesn't build the rock https://github.com/3rd/image.nvim/issues/91#issuecomment-2453430239