45 lines
1.9 KiB
Lua
45 lines
1.9 KiB
Lua
|
|
vim.keymap.set('v', '<C-c>', '"+y', { noremap = true })
|
||
|
|
vim.keymap.set('n', '<C-v>', '"+p', { noremap = true })
|
||
|
|
-- Keymaps
|
||
|
|
vim.keymap.set("n", "<leader>fb", function()
|
||
|
|
require("telescope").extensions.file_browser.file_browser()
|
||
|
|
end, { desc="file browser"} )
|
||
|
|
-- -- Navigation entre buffers en mode NORMAL
|
||
|
|
-- vim.keymap.set("n", "<Tab>", ":bnext<CR>", { desc = "⬅️ Buffer précédent" })
|
||
|
|
-- vim.keymap.set("n", "<S-Tab>", ":bprevious<CR>", { desc = "⬅️ Buffer précédent" })
|
||
|
|
--
|
||
|
|
-- -- Indentation en mode INSERT et VISUEL
|
||
|
|
-- vim.keymap.set("i", "<Tab>", "<Tab>", { desc = "➡️ Tabulation" })
|
||
|
|
-- vim.keymap.set("v", "<Tab>", ">gv", { desc = "➡️ Indenter la sélection" })
|
||
|
|
-- vim.keymap.set("v", "<S-Tab>", "<gv", { desc = "⬅️ Désindenter la sélection" })
|
||
|
|
|
||
|
|
-- Fonction générique pour créer une commande Docker
|
||
|
|
local function create_docker_command(name, cmd)
|
||
|
|
vim.api.nvim_create_user_command(name, function()
|
||
|
|
local Terminal = require("toggleterm.terminal").Terminal
|
||
|
|
local cwd = vim.fn.getcwd()
|
||
|
|
local docker_terminal = Terminal:new({
|
||
|
|
cmd = "docker run --platform=linux/amd64 --rm -it -v " .. cwd .. ":/app lomigandtux/meson-gcc:latest sh -c \"cd /app && " .. cmd .. "\"",
|
||
|
|
close_on_exit = false,
|
||
|
|
direction = "float",
|
||
|
|
hidden = true,
|
||
|
|
float_opts = {
|
||
|
|
border = "curved",
|
||
|
|
width = 80,
|
||
|
|
height = 20,
|
||
|
|
winblend = 10,
|
||
|
|
},
|
||
|
|
})
|
||
|
|
docker_terminal:toggle()
|
||
|
|
end, {})
|
||
|
|
end
|
||
|
|
|
||
|
|
-- Ajout des commandes Docker
|
||
|
|
create_docker_command("Make", "make")
|
||
|
|
create_docker_command("MakeClean", "make clean")
|
||
|
|
create_docker_command("MakeRun", "/bin/bash run.sh")
|
||
|
|
create_docker_command("MesonSetup", "meson setup build")
|
||
|
|
create_docker_command("MesonBuild", "ninja -C build")
|
||
|
|
create_docker_command("MesonClean", "ninja -C build clean")
|
||
|
|
create_docker_command("MesonRun", "cd build && ./main")
|