From aa5857eb871b4f7e7a736737eeb3fb192b165a1f Mon Sep 17 00:00:00 2001 From: Jason Hilder Date: Wed, 1 Apr 2026 08:07:08 +0200 Subject: [PATCH] Neovim mini split for plugins. --- config/nvim/init.lua | 30 ++++--------------- config/nvim/lua/plugins/init.lua | 49 ++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 24 deletions(-) create mode 100644 config/nvim/lua/plugins/init.lua diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 291101f..fd60d1b 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -16,28 +16,21 @@ vim.o.list = true vim.o.splitright = true vim.o.splitbelow = true vim.o.winborder = 'rounded' -vim.o.undodir = os.getenv("HOME") .. "/.cache/nvim/undodir" vim.opt.clipboard = "unnamedplus" vim.o.completeopt = 'menuone,noselect' +vim.o.undodir = os.getenv("HOME") .. "/.cache/nvim/undodir" +vim.env.PATH = vim.env.PATH .. ":" .. os.getenv("HOME") .. "/.local/share/fnm/aliases/default/bin" vim.api.nvim_create_autocmd("BufEnter", { pattern = "term://*", callback = function() vim.cmd("startinsert") end }) -vim.lsp.enable({ "gopls", "gdscript" }) -vim.cmd(":colorscheme retrobox") -vim.pack.add({ - { src = "https://github.com/ibhagwan/fzf-lua" }, - { src = "https://github.com/tribela/transparent.nvim" }, - { src = "https://github.com/neovim/nvim-lspconfig" }, - { src = "https://github.com/nvim-treesitter/nvim-treesitter", version = "master" }, -}) -require("fzf-lua").setup() -require('nvim-treesitter.configs').setup({highlight = { enable = true }}) +vim.cmd(":colorscheme retrobox") +require("plugins") local map = vim.keymap.set map({"t", "n"}, "", "") map({"t", "n"}, "", "") map({"t", "n"}, "", "") map({"t", "n"}, "", "") -map({"i", "n"}, "", "") +map("i", "", "") map("n", '', 'noh') map("t", "", "") map("v", "J", ":m '>+1gv=gv") @@ -49,21 +42,10 @@ map("n", "e", ":Ex") map("n", "c", ":bd") map("n", "ff", ":lua FzfLua.files()") map("n", "fo", ":lua FzfLua.buffers()") -map("n", "fp", ":lua FzfLua.lsp_document_diagnostics()") -map("n", "fa", ":lua FzfLua.lsp_code_actions()") map("n", "sp", ":lua FzfLua.grep_project()") map("n", "sf", ":lua FzfLua.grep_curbuf()") map("n", "sw", ":lua FzfLua.grep_cword()") map("n", "sh", ":lua FzfLua.help_tags()") map("n", "1", ":vsplit | vertical resize 95 | terminala") map("n", "2", ":split | horizontal resize 25 | terminala") -map("n", "gd", ":lua vim.lsp.buf.definition()") - --- [[ GODOT ]] -local cwd = vim.fn.getcwd() -for _, path in ipairs({ cwd, cwd .. '/..' }) do - if vim.uv.fs_stat(path .. '/project.godot') and not vim.uv.fs_stat(path .. '/server.pipe') then - vim.fn.serverstart(path .. '/server.pipe') - break - end -end +map("n", "r", ":split | resize 25 | terminal godot --path . a") diff --git a/config/nvim/lua/plugins/init.lua b/config/nvim/lua/plugins/init.lua new file mode 100644 index 0000000..b976298 --- /dev/null +++ b/config/nvim/lua/plugins/init.lua @@ -0,0 +1,49 @@ +vim.pack.add({ + { src = "https://github.com/ibhagwan/fzf-lua" }, + { src = "https://github.com/tribela/transparent.nvim" }, + { src = "https://github.com/nvim-treesitter/nvim-treesitter", version = "master" }, +}) + +-- Required funny setup for cleaning up output in godot projects. +require("fzf-lua").setup({ + files = { + cmd = (function() + if vim.fn.findfile("project.godot", vim.fn.getcwd() .. ";") ~= "" then + return "fdfind --type f -e gd -e gdshader -e gdshaderinc -e tres -e tscn -e cfg -e json -e toml -e txt -e md --exclude={.godot,.git}" + else + return "fdfind --exclude={.git,.cache,.xmake,.zig-cache,build,tmp,node_modules,elpa} --type f -H" + end + end)(), + }, +}) + +require("nvim-treesitter.configs").setup({ + ensure_installed = { + -- Godot + "gdscript", + "godot_resource", + -- Go + "go", + "gomod", + "gosum", + "gowork", + -- Web (common) + "html", + "css", + "javascript", + "typescript", + -- General + "lua", + "python", + "bash", + "json", + "toml", + "yaml", + "markdown", + "markdown_inline", + "vim", + "vimdoc", + }, + highlight = { enable = true }, + indent = { enable = true }, +})