From be77967e94e9e59028f033be1b88c636a843cd05 Mon Sep 17 00:00:00 2001 From: Jeff LANCE Date: Mon, 11 Aug 2025 03:50:33 +0200 Subject: [PATCH] up --- init.lua | 1 + lua/custom/autocommands/init.lua | 7 +++ lua/custom/autocommands/quarto.lua | 48 +++++++++++++++++++++ lua/custom/keymaps/buffers.lua | 34 +++++++++------ lua/custom/keymaps/edit.lua | 13 ++++-- lua/custom/keymaps/files.lua | 15 +++++-- lua/custom/keymaps/general.lua | 7 ++- lua/custom/keymaps/init.lua | 1 - lua/custom/keymaps/quarto.lua | 13 ------ lua/kickstart/plugins/quarto.lua | 69 ++++++++++++------------------ 10 files changed, 129 insertions(+), 79 deletions(-) create mode 100644 lua/custom/autocommands/init.lua create mode 100644 lua/custom/autocommands/quarto.lua delete mode 100644 lua/custom/keymaps/quarto.lua diff --git a/init.lua b/init.lua index b0159db..e9c81fe 100644 --- a/init.lua +++ b/init.lua @@ -95,6 +95,7 @@ require 'kickstart.core.lazy-plugins' -- [[ Basic Autocommands ]] require 'kickstart.core.autocommands' +require 'custom.autocommands' -- [[ Keymaps ]] require 'kickstart.core.keymaps' diff --git a/lua/custom/autocommands/init.lua b/lua/custom/autocommands/init.lua new file mode 100644 index 0000000..3ae13da --- /dev/null +++ b/lua/custom/autocommands/init.lua @@ -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 diff --git a/lua/custom/autocommands/quarto.lua b/lua/custom/autocommands/quarto.lua new file mode 100644 index 0000000..9a16d52 --- /dev/null +++ b/lua/custom/autocommands/quarto.lua @@ -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 + { 'Q', group = '[Q]uarto' }, -- group + { 'Qp', 'QuartoPreview', desc = '[p]review Quarto' }, + { 'Qs', 'QuartoSend', desc = '[s]end to Quarto' }, + }, + + { -- Molten + { 'M', group = '[M]olten' }, -- group + { 'Mi', init, desc = '[i]nitialize Molten' }, + { 'Ms', deinit, desc = '[s]top Molten' }, + { 'Md', 'MoltenStop', desc = '[S]top Molten' }, + { 'Mp', 'MoltenPause', desc = '[p]ause Molten' }, + { 'Mr', 'MoltenReset', desc = '[r]eset Molten' }, + }, + + { -- Vim-slime + { 'S', group = '[S]lime' }, -- group + { 'Ss', 'SlimeSend', desc = '[s]end Slime' }, + { 'Sr', 'SlimeRestart', desc = '[r]estart Slime' }, + }, + } + end, +}) diff --git a/lua/custom/keymaps/buffers.lua b/lua/custom/keymaps/buffers.lua index 9e6f12c..b41c2ae 100644 --- a/lua/custom/keymaps/buffers.lua +++ b/lua/custom/keymaps/buffers.lua @@ -1,27 +1,35 @@ -- Neo-tree mappings -- -local wk = require 'which-key' -local bufremove = require 'mini.bufremove' +local status_wk, wk = pcall(require, 'which-key') +if not status_wk then + return +end + +local status_mbr, mbr = pcall(require, 'mini.bufremove') +if not status_mbr then + return +end wk.add { { 'b', group = '[b]uffers' }, -- group { mode = { 'n', 'v', 'i' }, - { 'bd', bufremove.delete, desc = '[d]elete buffer', silent = true }, - { 'bl', 'Neotree buffers', desc = '[l]ist buffers ', silent = true }, - { 'bs', 'source %', desc = '[s]ource buffer', silent = true }, - { 'bw', 'w', desc = '[w]rite buffer', silent = true }, - { 'bp', 'bprevious', desc = '[p]revious buffer', silent = true }, - { 'bn', 'bnext', desc = '[n]ext buffer', silent = true }, + { 'bd', mbr.delete, desc = '[d]elete buffer', noremap = true, silent = true }, + { 'bl', 'Neotree buffers', desc = '[l]ist buffers ', noremap = true, silent = true }, + { 'bs', 'source %', desc = '[s]ource buffer', noremap = true, silent = true }, + { 'bw', 'w', desc = '[w]rite buffer', noremap = true, silent = true }, + { 'bp', 'bprevious', desc = '[p]revious buffer', noremap = true, silent = true }, + { 'bn', 'bnext', desc = '[n]ext buffer', noremap = true, silent = true }, - { '', 'bprevious', desc = 'Previous buffer', silent = true, hidden = true }, - { '', 'bnext', desc = 'Next buffer', silent = true, hidden = true }, + { '', 'bprevious', desc = 'Previous buffer', noremap = true, silent = true, hidden = true }, + { '', 'bnext', desc = 'Next buffer', noremap = true, silent = true, hidden = true }, }, { - mode = { 'n', 'v' }, - { '', bufremove.delete, desc = 'Delete buffer', silent = true, hidden = true }, - { '', 'w', desc = 'Save buffer', silent = true, hidden = true }, + mode = { 'n', 'v', 'i' }, + -- mapping runs here as which-key intercepts ctrl-z signal before term + { '', mbr.delete, desc = 'Delete buffer', noremap = true, silent = true, hidden = true }, + { '', 'w', desc = 'Save buffer', noremap = true, silent = true, hidden = true }, }, } diff --git a/lua/custom/keymaps/edit.lua b/lua/custom/keymaps/edit.lua index d95871b..441737c 100644 --- a/lua/custom/keymaps/edit.lua +++ b/lua/custom/keymaps/edit.lua @@ -1,12 +1,17 @@ -- Edition mappings -- -local wk = require 'which-key' +local status_wk, wk = pcall(require, 'which-key') +if not status_wk then + return +end wk.add { - mode = { 'n', 'v', 'i' }, - -- mapping runs here as which-key intercepts ctrl-z signal before term - { '', 'undo', desc = 'Undo', silent = true, noremap = true, hidden = true }, + { + mode = { 'n', 'v', 'i' }, + -- mapping runs here as which-key intercepts ctrl-z signal before term + { '', 'undo', desc = 'Undo', silent = true, noremap = true, hidden = true }, + }, } -- The line beneath this is called `modeline`. See `:help modeline` diff --git a/lua/custom/keymaps/files.lua b/lua/custom/keymaps/files.lua index d05666c..762a54e 100644 --- a/lua/custom/keymaps/files.lua +++ b/lua/custom/keymaps/files.lua @@ -1,17 +1,24 @@ -- Neo-tree mappings -- -local wk = require 'which-key' -local neotree_helper = require 'custom.plugins.neotree-helper' +local status_wk, wk = pcall(require, 'which-key') +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 { { mode = { 'n', 'v', 'i' }, - { 'e', neotree_helper.smart_open, desc = 'File [e]xplorer', silent = true, noremap = true }, + { 'e', nth.smart_open, desc = 'File [e]xplorer', silent = true, noremap = true }, }, { mode = { 'n', 'v' }, - { '', neotree_helper.smart_open, desc = 'File explorer', silent = true, noremap = true, hidden = true }, + { '', nth.smart_open, desc = 'File explorer', silent = true, noremap = true, hidden = true }, }, } diff --git a/lua/custom/keymaps/general.lua b/lua/custom/keymaps/general.lua index f14db5a..5654b84 100644 --- a/lua/custom/keymaps/general.lua +++ b/lua/custom/keymaps/general.lua @@ -1,9 +1,12 @@ -- 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' }, 'Q', 'qall', { silent = true, noremap = true, desc = '[Q]uit all' }) +kh.map({ 'n', 'v', 'i' }, 'q', 'qall', { silent = true, noremap = true, desc = '[Q]uit all' }) -- The line beneath this is called `modeline`. See `:help modeline` -- vim: ts=2 sts=2 sw=2 et diff --git a/lua/custom/keymaps/init.lua b/lua/custom/keymaps/init.lua index 257fe43..faccbba 100644 --- a/lua/custom/keymaps/init.lua +++ b/lua/custom/keymaps/init.lua @@ -7,7 +7,6 @@ require 'custom.keymaps.buffers' require 'custom.keymaps.files' require 'custom.keymaps.edit' require 'custom.keymaps.display' -require 'custom.keymaps.quarto' -- The line beneath this is called `modeline`. See `:help modeline` -- vim: ts=2 sts=2 sw=2 et diff --git a/lua/custom/keymaps/quarto.lua b/lua/custom/keymaps/quarto.lua deleted file mode 100644 index d29afac..0000000 --- a/lua/custom/keymaps/quarto.lua +++ /dev/null @@ -1,13 +0,0 @@ --- Quarto mappings --- - -local wk = require 'which-key' - -wk.add { - mode = { 'n', 'v', 'i' }, - { 'q', group = '[q]uarto' }, -- group - { 'qp', 'QuartoPreview', desc = '[p]review quarto' }, -} - --- The line beneath this is called `modeline`. See `:help modeline` --- vim: ts=2 sts=2 sw=2 et diff --git a/lua/kickstart/plugins/quarto.lua b/lua/kickstart/plugins/quarto.lua index 4e62691..e614971 100644 --- a/lua/kickstart/plugins/quarto.lua +++ b/lua/kickstart/plugins/quarto.lua @@ -50,7 +50,7 @@ return { endfunction ]] - vim.g.slime_target = 'kitty' + vim.g.slime_target = 'neovim' vim.g.slime_no_mappings = true vim.g.slime_python_ipython = 1 end, @@ -60,16 +60,16 @@ return { vim.g.slime_menu_config = false vim.g.slime_neovim_ignore_unlisted = true - local function mark_terminal() - local job_id = vim.b.terminal_job_id - vim.print('job_id: ' .. job_id) - end - - local function set_terminal() - vim.fn.call('slime#config', {}) - end - vim.keymap.set('n', 'cm', mark_terminal, { desc = '[m]ark terminal' }) - vim.keymap.set('n', 'cs', set_terminal, { desc = '[s]et terminal' }) + -- local function mark_terminal() + -- local job_id = vim.b.terminal_job_id + -- vim.print('job_id: ' .. job_id) + -- end + -- + -- local function set_terminal() + -- vim.fn.call('slime#config', {}) + -- end + -- vim.keymap.set('n', 'cm', mark_terminal, { desc = '[m]ark terminal' }) + -- vim.keymap.set('n', 'cs', set_terminal, { desc = '[s]et terminal' }) end, opts = { debug = true, @@ -89,42 +89,27 @@ return { vim.g.molten_tick_rate = 200 end, config = 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 - vim.keymap.set('n', 'mi', init, { silent = true, desc = 'Initialize molten' }) - vim.keymap.set('n', 'md', deinit, { silent = true, desc = 'Stop molten' }) - vim.keymap.set('n', 'mp', ':MoltenImagePopup', { silent = true, desc = 'molten image popup' }) - vim.keymap.set('n', 'mb', ':MoltenOpenInBrowser', { silent = true, desc = 'molten open in browser' }) - vim.keymap.set('n', 'mh', ':MoltenHideOutput', { silent = true, desc = 'hide output' }) - vim.keymap.set('n', 'ms', ':noautocmd MoltenEnterOutput', { silent = true, desc = 'show/enter output' }) + -- 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 + -- vim.keymap.set('n', 'mi', init, { silent = true, desc = 'Initialize molten' }) + -- vim.keymap.set('n', 'md', deinit, { silent = true, desc = 'Stop molten' }) + -- vim.keymap.set('n', 'mp', ':MoltenImagePopup', { silent = true, desc = 'molten image popup' }) + -- vim.keymap.set('n', 'mb', ':MoltenOpenInBrowser', { silent = true, desc = 'molten open in browser' }) + -- vim.keymap.set('n', 'mh', ':MoltenHideOutput', { silent = true, desc = 'hide output' }) + -- vim.keymap.set('n', 'ms', ':noautocmd MoltenEnterOutput', { silent = true, desc = 'show/enter output' }) end, opts = { 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', build = false, -- so that it doesn't build the rock https://github.com/3rd/image.nvim/issues/91#issuecomment-2453430239