From f80e1dd01307ee69552550bc53a88872cf9ad91f Mon Sep 17 00:00:00 2001 From: Jeff LANCE Date: Tue, 5 Aug 2025 17:01:27 +0200 Subject: [PATCH] up --- lua/custom/keymaps/display.lua | 14 ++++++++ lua/custom/keymaps/edit.lua | 16 +++++++++ lua/custom/keymaps/files.lua | 22 ++++++++++++ lua/custom/keymaps/init.lua | 7 ++++ lua/custom/keymaps/neotree.lua | 7 ---- lua/custom/plugins/init.lua | 3 ++ lua/custom/plugins/neotree.lua | 34 +++++++++---------- lua/kickstart/core/autocommands.lua | 17 ---------- lua/kickstart/core/lazy-plugins.lua | 7 ++-- lua/kickstart/plugins/header.lua | 9 +++++ lua/kickstart/plugins/mini.lua | 20 +++++++++++ lua/kickstart/themes/onedark.lua | 15 ++++++++ .../{plugins => themes}/tokyonight.lua | 0 13 files changed, 128 insertions(+), 43 deletions(-) create mode 100644 lua/custom/keymaps/display.lua create mode 100644 lua/custom/keymaps/edit.lua create mode 100644 lua/custom/keymaps/files.lua delete mode 100644 lua/custom/keymaps/neotree.lua create mode 100644 lua/kickstart/plugins/header.lua create mode 100644 lua/kickstart/themes/onedark.lua rename lua/kickstart/{plugins => themes}/tokyonight.lua (100%) diff --git a/lua/custom/keymaps/display.lua b/lua/custom/keymaps/display.lua new file mode 100644 index 0000000..daa7bd5 --- /dev/null +++ b/lua/custom/keymaps/display.lua @@ -0,0 +1,14 @@ +-- Display mappings +-- + +local wk = require 'which-key' + +wk.add { + mode = { 'n', 'v', 'i' }, + { 'E', group = 'Affichage' }, -- group + { '', 'bprevious', desc = 'Buffer précédent', silent = true }, + { '', 'bnext', desc = 'Buffer suivant', silent = true }, +} + +-- The line beneath this is called `modeline`. See `:help modeline` +-- vim: ts=2 sts=2 sw=2 et diff --git a/lua/custom/keymaps/edit.lua b/lua/custom/keymaps/edit.lua new file mode 100644 index 0000000..638deb9 --- /dev/null +++ b/lua/custom/keymaps/edit.lua @@ -0,0 +1,16 @@ +-- Edition mappings +-- + +local wk = require 'which-key' +local header = require 'header' + +wk.add { + mode = { 'n', 'v', 'i' }, + { 'E', group = 'Édition' }, -- group + { 'Eah', header.add_headers, desc = 'Ajouter en-tête', silent = true }, + { 'Eal', header.add_license_header 'gpl3', desc = 'Ajouter license', silent = true }, + { '', 'undo', desc = 'Défaire', silent = true }, +} + +-- The line beneath this is called `modeline`. See `:help modeline` +-- vim: ts=2 sts=2 sw=2 et diff --git a/lua/custom/keymaps/files.lua b/lua/custom/keymaps/files.lua new file mode 100644 index 0000000..82d896d --- /dev/null +++ b/lua/custom/keymaps/files.lua @@ -0,0 +1,22 @@ +-- Neo-tree mappings +-- + +local wk = require 'which-key' +local neotree_utils = require 'custom.plugins.neotree' +local bufremove = require 'mini.bufremove' + +wk.add { + mode = { 'n', 'v' }, + { 'F', group = 'Fichier' }, -- group + { 'Fo', neotree_utils.smart_open, desc = 'Fichiers...' }, + { 'Fc', bufremove.delete, desc = 'Fermer buffer', silent = true }, + { 'Fr', 'source %', desc = 'Recharger buffer', silent = true }, + { 'Fs', 'w', desc = 'Sauver buffer', silent = true }, + { '', 'source %', desc = 'Recharger buffer', silent = true }, + { '', 'w', desc = 'Sauver buffer', silent = true }, + { '', bufremove.delete, desc = 'Fermer buffer', silent = true }, + { '', neotree_utils.smart_open, desc = 'Fichiers...' }, +} + +-- 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 080f223..a4e9e1d 100644 --- a/lua/custom/keymaps/init.lua +++ b/lua/custom/keymaps/init.lua @@ -1,2 +1,9 @@ -- load which-key mappings +-- + +require 'custom.keymaps.buffers' +require 'custom.keymaps.edit' require 'custom.keymaps.neotree' + +-- The line beneath this is called `modeline`. See `:help modeline` +-- vim: ts=2 sts=2 sw=2 et diff --git a/lua/custom/keymaps/neotree.lua b/lua/custom/keymaps/neotree.lua deleted file mode 100644 index 33ce20e..0000000 --- a/lua/custom/keymaps/neotree.lua +++ /dev/null @@ -1,7 +0,0 @@ -local wk = require 'which-key' -local neotree_utils = require 'custom.plugins.neotree' - -wk.add({ - { "f", group = "file" }, -- group - { 'fe', 'Neotree toggle position=right reveal_force_cwd ~', desc = 'Fichiers...', mode = 'n' }, -}) diff --git a/lua/custom/plugins/init.lua b/lua/custom/plugins/init.lua index be0eb9d..e16c817 100644 --- a/lua/custom/plugins/init.lua +++ b/lua/custom/plugins/init.lua @@ -3,3 +3,6 @@ -- -- See the kickstart.nvim README for more information return {} + +-- The line beneath this is called `modeline`. See `:help modeline` +-- vim: ts=2 sts=2 sw=2 et diff --git a/lua/custom/plugins/neotree.lua b/lua/custom/plugins/neotree.lua index 791991a..29b56c6 100644 --- a/lua/custom/plugins/neotree.lua +++ b/lua/custom/plugins/neotree.lua @@ -1,27 +1,27 @@ +-- Neo-tree helper module +-- + local M = {} function M.smart_open() local bufname = vim.api.nvim_buf_get_name(0) + local filetype = vim.bo.filetype local is_real_file = vim.fn.filereadable(bufname) == 1 - local cwd = vim.fn.getcwd() - local target_path = "~" - - if is_real_file then - target_path = vim.fn.fnamemodify(bufname, ":p:h") - vim.cmd("Neotree toggle position=left reveal_file=" .. target_path) - elseif bufname ~= "" then - -- buffer avec un nom mais fichier inexistant (ex: nouveau buffer) - target_path = "~" - vim.cmd("Neotree toggle position=right reveal_force_cwd reveal_file=" .. target_path) - elseif vim.bo.filetype == "ministarter" then - -- buffer mini.starter - target_path = "~" - vim.cmd("Neotree toggle reveal=true position=float dir=" .. target_path) + -- 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 + elseif is_real_file and bufname ~= '' then + vim.cmd 'Neotree toggle position=left reveal=true' + -- Sinon, ouvrir dans le répertoire de travail courant + else + vim.cmd('Neotree toggle position=left reveal_force_cwd=true dir=' .. vim.fn.getcwd()) end - - -- Appel de Neotree avec le bon dossier - -- vim.cmd("Neotree toggle reveal=true dir=" .. target_path) end return M + +-- The line beneath this is called `modeline`. See `:help modeline` +-- vim: ts=2 sts=2 sw=2 et + diff --git a/lua/kickstart/core/autocommands.lua b/lua/kickstart/core/autocommands.lua index b41b5fa..7fef745 100644 --- a/lua/kickstart/core/autocommands.lua +++ b/lua/kickstart/core/autocommands.lua @@ -12,22 +12,5 @@ vim.api.nvim_create_autocmd('TextYankPost', { end, }) --- -- Delay start of neotree smart open command --- -- --- local ok, neotree_utils = pcall(require, "custom.plugins.neotree") --- if not ok then --- return --- end - --- vim.api.nvim_create_autocmd("VimEnter", { --- callback = function() --- vim.defer_fn(function() --- if vim.bo.filetype == "ministarter" then --- neotree_utils.smart_open() --- end --- end, 0) -- délai pour laisser mini.starter s'afficher --- end, --- }) - -- The line beneath this is called `modeline`. See `:help modeline` -- vim: ts=2 sts=2 sw=2 et \ No newline at end of file diff --git a/lua/kickstart/core/lazy-plugins.lua b/lua/kickstart/core/lazy-plugins.lua index 8f0560e..bf817fc 100644 --- a/lua/kickstart/core/lazy-plugins.lua +++ b/lua/kickstart/core/lazy-plugins.lua @@ -13,13 +13,13 @@ require('lazy').setup({ -- NOTE: Plugins can be added with a link (or for a github repo: 'owner/repo' link). 'NMAC427/guess-indent.nvim', -- Detect tabstop and shiftwidth automatically + require 'kickstart.plugins.mini', require 'kickstart.plugins.noice', require 'kickstart.plugins.gitsigns', require 'kickstart.plugins.telescope', require 'kickstart.plugins.lsp', require 'kickstart.plugins.autoformat', require 'kickstart.plugins.autocompletion', - require 'kickstart.plugins.tokyonight', require 'kickstart.plugins.todo-comments', -- require 'kickstart.plugins.debug', -- require 'kickstart.plugins.indent_line', -- use alternative mini module @@ -27,10 +27,13 @@ require('lazy').setup({ require 'kickstart.plugins.autopairs', require 'kickstart.plugins.neo-tree', -- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps - require 'kickstart.plugins.mini', require 'kickstart.plugins.treesitter', + require 'kickstart.plugins.header', require 'kickstart.plugins.which-key', + -- Themes + require 'kickstart.themes.onedark', + -- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua` -- This is the easiest way to modularize your config. -- diff --git a/lua/kickstart/plugins/header.lua b/lua/kickstart/plugins/header.lua new file mode 100644 index 0000000..968a30b --- /dev/null +++ b/lua/kickstart/plugins/header.lua @@ -0,0 +1,9 @@ +-- header +-- https://github.com/attilarepka/header.nvim + +return { + { + 'attilarepka/header.nvim', + config = true, + }, +} diff --git a/lua/kickstart/plugins/mini.lua b/lua/kickstart/plugins/mini.lua index 9157ad8..104140f 100644 --- a/lua/kickstart/plugins/mini.lua +++ b/lua/kickstart/plugins/mini.lua @@ -72,6 +72,26 @@ return { local commenter = require 'mini.comment' commenter.setup {} + -- Minimal and fast tabline showing listed buffers + local tabline = require 'mini.tabline' + tabline.setup {} + + -- Work with trailing whitespace + local trailspace = require 'mini.trailspace' + trailspace.setup {} + + -- Highlight word under cursor + local cursorword = require 'mini.cursorword' + cursorword.setup {} + + -- Animate common Neovim actions + local animate = require 'mini.animate' + animate.setup {} + + -- Buffer removing (unshow, delete, wipeout), which saves window layout + local bufremove = require 'mini.bufremove' + bufremove.setup {} + -- ... and there is more! -- Check out: https://github.com/echasnovski/mini.nvim end, diff --git a/lua/kickstart/themes/onedark.lua b/lua/kickstart/themes/onedark.lua new file mode 100644 index 0000000..5fd4776 --- /dev/null +++ b/lua/kickstart/themes/onedark.lua @@ -0,0 +1,15 @@ +-- Themes +-- + +return { + { + 'navarasu/onedark.nvim', + priority = 1000, -- make sure to load this before all the other start plugins + config = function() + require('onedark').setup { + style = 'darker', + } + require('onedark').load() + end, + }, +} diff --git a/lua/kickstart/plugins/tokyonight.lua b/lua/kickstart/themes/tokyonight.lua similarity index 100% rename from lua/kickstart/plugins/tokyonight.lua rename to lua/kickstart/themes/tokyonight.lua