This commit is contained in:
2025-08-15 19:33:16 +02:00
parent be77967e94
commit 6c3434aceb
21 changed files with 280 additions and 97 deletions

View File

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

View File

@@ -0,0 +1,15 @@
-- 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 = 'markdown',
callback = function()
vim.opt_local.conceallevel = 1
end,
})

View File

@@ -18,29 +18,29 @@ vim.api.nvim_create_autocmd('FileType', {
local deinit = function()
local quarto_cfg = require('quarto.config').config
quarto_cfg.codeRunner.default_method = 'slime'
vim.cmd [[MoltenStop]]
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' },
{ '<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>Ss', '<CMD>SlimeSend<CR>', desc = '[s]end to Slime' },
{ '<leader>Sr', '<CMD>SlimeRestart<CR>', desc = '[r]estart Slime' },
},
}

View File

@@ -1,4 +1,4 @@
-- Neo-tree mappings
-- Buffer group mappings
--
local status_wk, wk = pcall(require, 'which-key')
@@ -11,11 +11,25 @@ if not status_mbr then
return
end
local status_tele, tele = pcall(require, 'telescope.builtin')
if not status_tele then
return
end
wk.add {
{ '<leader>b', group = '[b]uffers' }, -- group
{
mode = { 'n', 'v', 'i' },
{ '<leader>bd', mbr.delete, desc = '[d]elete buffer', noremap = true, silent = true },
{
'<leader>bF',
function()
require('conform').format { async = true, lsp_format = 'fallback' }
end,
desc = '[F]ormat buffer',
noremap = true,
silent = true,
},
{ '<leader>bf', tele.buffers, desc = '[f]ind existing buffers' },
{ '<leader>bl', '<CMD>Neotree buffers<CR>', desc = '[l]ist buffers ', noremap = true, silent = true },
{ '<leader>bs', '<CMD>source %<CR>', desc = '[s]ource buffer', noremap = true, silent = true },
{ '<leader>bw', '<CMD>w<CR>', desc = '[w]rite buffer', noremap = true, silent = true },

View File

@@ -1,12 +0,0 @@
-- Display mappings
--
local wk = require 'which-key'
wk.add {
mode = { 'n', 'v', 'i' },
{ '<leader>d', group = '[d]isplay' }, -- group
}
-- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et

View File

@@ -13,11 +13,18 @@ end
wk.add {
{
mode = { 'n', 'v', 'i' },
{ '<leader>e', nth.smart_open, desc = 'File [e]xplorer', silent = true, noremap = true },
mode = { 'n', 'v' },
{ '<leader>ef', nth.smart_open, desc = 'explore [f]iles', silent = true, noremap = true },
{
'<leader>ec',
'<CMD>Neotree position=left toggle dir=' .. os.getenv 'XDG_CONFIG_HOME' .. '/nvim<CR>',
desc = 'explore [c]onfiguration files',
silent = true,
noremap = true,
},
},
{
mode = { 'n', 'v' },
mode = { 'n', 'v', 'i' },
{ '<C-e>', nth.smart_open, desc = 'File explorer', silent = true, noremap = true, hidden = true },
},
}

View File

@@ -6,7 +6,7 @@ if not status_kh then
return
end
kh.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`
-- vim: ts=2 sts=2 sw=2 et

View File

@@ -0,0 +1,25 @@
-- Key mappings groups
--
local wk = require 'which-key'
wk.add {
{
{
mode = { 'n' },
{ '<leader>s', group = '[s]earch' },
{ '<leader>t', group = '[t]oggles' },
},
{
mode = { 'n', 'v' },
{ '<leader>e', group = '[e]xplore' },
{ '<leader>b', group = '[b]uffers' },
{ '<leader>g', group = '[g]it hunk' },
},
},
{},
}
-- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et

View File

@@ -2,11 +2,13 @@
--
require 'custom.keymaps.nop'
require 'custom.keymaps.groups'
require 'custom.keymaps.general'
require 'custom.keymaps.buffers'
require 'custom.keymaps.files'
require 'custom.keymaps.edit'
require 'custom.keymaps.display'
require 'custom.keymaps.search'
require 'custom.keymaps.toggles'
-- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et

View File

@@ -0,0 +1,53 @@
-- Search group mappings
--
local wk = require 'which-key'
local tele = require 'telescope.builtin'
wk.add {
mode = { 'n' },
{ '<leader>sh', tele.help_tags, desc = 'search [h]elp' },
{ '<leader>sk', tele.keymaps, desc = 'search [k]eymaps' },
{ '<leader>sf', tele.find_files, desc = 'search [f]iles' },
{ '<leader>ss', tele.builtin, desc = 'search [s]elect Telescope' },
{ '<leader>sw', tele.grep_string, desc = 'search current [w]ord' },
{ '<leader>sg', tele.live_grep, desc = 'search by [g]rep' },
{ '<leader>sd', tele.diagnostics, desc = 'search [d]iagnostics' },
{ '<leader>sr', tele.resume, desc = 'search [r]esume' },
{ '<leader>s.', tele.oldfiles, desc = '[.] search recent Files ("." for repeat)' },
-- Slightly advanced example of overriding default behavior and theme
{
'<leader>/',
function()
-- You can pass additional configuration to Telescope to change the theme, layout, etc.
tele.current_buffer_fuzzy_find(require('telescope.themes').get_dropdown {
winblend = 10,
previewer = false,
})
end,
desc = '[/] fuzzily search in current buffer',
},
-- It's also possible to pass additional configuration options.
-- See `:help telescope.builtin.live_grep()` for information about particular keys
{
'<leader>s/',
function()
tele.live_grep {
grep_open_files = true,
prompt_title = 'Live Grep in Open Files',
}
end,
desc = '[/] search in Open Files',
},
-- Shortcut for searching your Neovim configuration files
{
'<leader>sn',
function()
tele.find_files { cwd = vim.fn.stdpath 'config' }
end,
desc = 'search [n]eovim files',
},
}
-- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et

View File

@@ -0,0 +1,15 @@
-- Toggles group mappings
--
local wk = require 'which-key'
local gitsigns = require 'gitsigns'
wk.add {
mode = { 'n' },
-- gitsigns
{ '<leader>tb', gitsigns.toggle_current_line_blame, desc = 'toggle git show [b]lame line' },
{ '<leader>tD', gitsigns.preview_hunk_inline, desc = 'toggle git show [D]eleted' },
}
-- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et

View File

@@ -28,7 +28,7 @@ function M.smart_open()
-- Si c'est le dashboard ministarter, ouvrir dans le home
if filetype == 'ministarter' then
vim.cmd('Neotree toggle reveal=false position=float dir=' .. vim.fn.expand '~')
-- Si c'est un fichier réel, révéler le fichier dans l'arborescence
-- Si c'est un fichier réel, révéler le fichier dans l'arborescence
elseif is_real_file and bufname ~= '' then
vim.cmd('Neotree toggle position=left reveal=true dir=' .. vim.fn.expand '%:p:h')
-- vim.cmd 'Neotree position=left reveal=true'