237 lines
6.9 KiB
Lua
237 lines
6.9 KiB
Lua
return {
|
|
{
|
|
"max397574/better-escape.nvim",
|
|
event = "InsertEnter",
|
|
opts = {
|
|
k = function()
|
|
vim.api.nvim_input("<esc>")
|
|
local current_line = vim.api.nvim_get_current_line()
|
|
if current_line:match("^%s+j$") then
|
|
vim.schedule(function()
|
|
vim.api.nvim_set_current_line("")
|
|
end)
|
|
end
|
|
end,
|
|
},
|
|
},
|
|
{
|
|
"CRAG666/code_runner.nvim",
|
|
config = true,
|
|
vim.keymap.set("n", "<leader>rc", "<cmd>RunCode<CR>", { desc = "Run Code " }),
|
|
vim.keymap.set("n", "<leader>rf", "<cmd>RunFile<CR>", { desc = "Run Code File " }),
|
|
vim.keymap.set("n", "<leader>rp", "<cmd>RunProject<CR>", { desc = "Run Code Project " }),
|
|
vim.keymap.set("n", "<leader>rx", "<cmd>RunClose<CR>", { desc = "Close Code Run " }),
|
|
opts = {
|
|
filetype = {
|
|
python = "python3 -u",
|
|
c = "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir/$fileNameWithoutExt",
|
|
cpp = "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir/$fileNameWithoutExt",
|
|
sh = "bash",
|
|
go = "go run",
|
|
lua = "lua",
|
|
julia = "julia",
|
|
typescript = "ts-node",
|
|
javascript = "node",
|
|
rust = "cd $dir && cargo run",
|
|
php = "php",
|
|
java = "cd $dir && javac $fileName && java $fileNameWithoutExt",
|
|
kotlin = "cd $dir && kotlinc $fileName -include-runtime -d $fileNameWithoutExt.jar && java -jar $fileNameWithoutExt.jar",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"L3MON4D3/LuaSnip",
|
|
event = { "BufReadPost", "BufNewFile" },
|
|
dependencies = {
|
|
"rafamadriz/friendly-snippets",
|
|
"mstuttgart/odoo-snippets",
|
|
},
|
|
opts = {
|
|
history = true,
|
|
updateevents = "TextChanged,TextChangedI",
|
|
},
|
|
keys = function()
|
|
return {}
|
|
end,
|
|
config = function()
|
|
require("luasnip.loaders.from_vscode").lazy_load()
|
|
end,
|
|
},
|
|
{
|
|
"altermo/ultimate-autopair.nvim",
|
|
event = { "InsertEnter", "CmdlineEnter" },
|
|
branch = "v0.6", --recommended as each new version will have breaking changes
|
|
opts = {},
|
|
},
|
|
{
|
|
"hrsh7th/nvim-cmp",
|
|
event = { "InsertEnter" },
|
|
dependencies = {
|
|
-- autocomplete plugins
|
|
"hrsh7th/cmp-buffer",
|
|
"hrsh7th/cmp-path",
|
|
"hrsh7th/cmp-cmdline",
|
|
"hrsh7th/cmp-nvim-lsp",
|
|
"hrsh7th/cmp-nvim-lua",
|
|
"saadparwaiz1/cmp_luasnip",
|
|
-- "hrsh7th/cmp-nvim-lsp-signature-help",
|
|
-- "hrsh7th/cmp-calc",
|
|
|
|
-- vscode like icons to autocomplete list
|
|
"onsails/lspkind.nvim",
|
|
-- snippet plugin
|
|
{ "L3MON4D3/LuaSnip", event = { "BufReadPost", "BufNewFile" } },
|
|
{ "rafamadriz/friendly-snippets", event = { "BufReadPost", "BufNewFile" } },
|
|
},
|
|
config = function()
|
|
require("configs.cmp")
|
|
end,
|
|
},
|
|
{
|
|
"Exafunction/codeium.vim",
|
|
event = "InsertEnter",
|
|
config = function()
|
|
local cmp = require("cmp")
|
|
cmp.event:on("menu_opened", function()
|
|
vim.g.codeium_manual = true
|
|
vim.fn["codeium#Clear"]()
|
|
end)
|
|
cmp.event:on("menu_closed", function()
|
|
vim.g.codeium_manual = false
|
|
vim.fn["codeium#Complete"]()
|
|
end)
|
|
|
|
vim.g.codeium_filetypes = {
|
|
TelescopePrompt = false,
|
|
DressingInput = false,
|
|
["neo-tree-popup"] = false,
|
|
["dap-repl"] = false,
|
|
}
|
|
|
|
local opts = { expr = true, silent = true }
|
|
vim.g.codeium_disable_bindings = 1
|
|
|
|
vim.keymap.set("i", "<M-CR>", function()
|
|
return vim.fn["codeium#Accept"]()
|
|
end, opts)
|
|
|
|
vim.keymap.set("n", "<leader>ch", function()
|
|
return vim.fn["codeium#Chat"]()
|
|
end, { desc = "Chat with IA (Codeium)" })
|
|
|
|
vim.keymap.set("i", "<M-]>", function()
|
|
return vim.fn["codeium#CycleCompletions"](1)
|
|
end, opts)
|
|
|
|
vim.keymap.set("i", "<M-[>", function()
|
|
return vim.fn["codeium#CycleCompletions"](-1)
|
|
end, opts)
|
|
|
|
vim.keymap.set("i", "<M-c>", function()
|
|
return vim.fn["codeium#Clear"]()
|
|
end, opts)
|
|
|
|
vim.keymap.set("n", "<leader>cI", "<cmd>CodeiumToggle<cr>", { desc = "Toggle IA (Codeium)" })
|
|
end,
|
|
},
|
|
{
|
|
"nacro90/numb.nvim",
|
|
event = "CmdlineEnter",
|
|
config = function()
|
|
require("numb").setup({
|
|
show_numbers = true, -- Enable 'number' for the window while peeking
|
|
show_cursorline = true, -- Enable 'cursorline' for the window while peeking
|
|
hide_relativenumbers = true, -- Enable turning off 'relativenumber' for the window while peeking
|
|
number_only = false, -- Peek only when the command is only a number instead of when it starts with a number
|
|
centered_peeking = true, -- Peeked line will be centered relative to window
|
|
})
|
|
end,
|
|
},
|
|
{
|
|
"NStefan002/screenkey.nvim",
|
|
cmd = "Screenkey",
|
|
version = "*",
|
|
vim.keymap.set("n", "<leader>kt", "<cmd>Screenkey<CR>", { desc = "Toggle keys" }),
|
|
config = function()
|
|
require("screenkey").setup({
|
|
win_opts = {
|
|
relative = "editor",
|
|
anchor = "SE",
|
|
width = 40,
|
|
height = 1,
|
|
border = "single",
|
|
},
|
|
compress_after = 3,
|
|
clear_after = 3,
|
|
disable = {
|
|
filetypes = {}, -- for example: "toggleterm"
|
|
buftypes = {}, -- for example: "terminal"
|
|
},
|
|
})
|
|
end,
|
|
},
|
|
{
|
|
"gbprod/yanky.nvim",
|
|
event = "BufReadPost",
|
|
keys = {
|
|
{ "<C-n>", "<Plug>(YankyCycleForward)" },
|
|
{ "<C-p>", "<Plug>(YankyCycleBackward)" },
|
|
{
|
|
"<leader>yp",
|
|
function()
|
|
require("telescope").extensions.yank_history.yank_history({})
|
|
end,
|
|
desc = "Open Yank History",
|
|
},
|
|
{ "y", "<Plug>(YankyYank)", mode = { "n", "x" }, desc = "Yank text" },
|
|
{ "p", "<Plug>(YankyPutAfter)", mode = { "n", "x" }, desc = "Put yanked text after cursor" },
|
|
{ "P", "<Plug>(YankyPutBefore)", mode = { "n", "x" }, desc = "Put yanked text before cursor" },
|
|
{ "gp", "<Plug>(YankyGPutAfter)", mode = { "n", "x" }, desc = "Put yanked text after selection" },
|
|
{ "gP", "<Plug>(YankyGPutBefore)", mode = { "n", "x" }, desc = "Put yanked text before selection" },
|
|
-- This is not plugin keymaps
|
|
{ "<leader>yP", "<cmd>CopyAbsolutePath<cr>", desc = "Absolute Path" },
|
|
{ "<leader>ya", "<cmd>%y+<cr>", desc = "Copy Whole File" },
|
|
{ "<leader>yf", "<cmd>CopyFileName<cr>", desc = "File Name" },
|
|
{ "<leader>yg", '<cmd>lua require"gitlinker".get_buf_range_url()<cr>', desc = "Copy Git URL" },
|
|
{ "<leader>yp", "<cmd>CopyRelativePath<cr>", desc = "Relative Path" },
|
|
},
|
|
opts = {
|
|
highlight = {
|
|
timer = 150,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
{
|
|
"LudoPinelli/comment-box.nvim",
|
|
opts = {},
|
|
vscode = true,
|
|
keys = {
|
|
{ "<leader>Cb", "<cmd>CBccbox<CR>", mode = { "n", "v" }, desc = "Comment Box" },
|
|
{ "<leader>Ct", "<cmd>CBllline<CR>", mode = { "n", "v" }, desc = "Tiled line" },
|
|
{ "<leader>Cl", "<cmd>CBline<CR>", desc = "Line" },
|
|
{ "<leader>Cm", "<cmd>CBllbox14<CR>", mode = { "n", "v" }, desc = "Marked" },
|
|
{ "<leader>Cc", "<cmd>CBcatalog<CR>", desc = "Catalog" },
|
|
{ "<leader>Cd", "<cmd>CBd<CR>", mode = { "n", "v" }, desc = "Delete Comment Style" },
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"m-demare/hlargs.nvim",
|
|
event = { "BufReadPost", "BufNewFile" },
|
|
},
|
|
{
|
|
"numToStr/Navigator.nvim",
|
|
keys = {
|
|
{ "<C-h>", "<cmd>NavigatorLeft<cr>" },
|
|
{ "<C-j>", "<cmd>NavigatorDown<cr>" },
|
|
{ "<C-k>", "<cmd>NavigatorUp<cr>" },
|
|
{ "<C-l>", "<cmd>NavigatorRight<cr>" },
|
|
{ "<C-\\>", "<cmd>NavigatorPrevious<cr>" },
|
|
},
|
|
config = function()
|
|
require("Navigator").setup()
|
|
end,
|
|
},
|
|
}
|