From 1d41611815d05384a10543cb8092de380e4fb1f7 Mon Sep 17 00:00:00 2001 From: Jason Hilder Date: Thu, 5 Mar 2026 07:57:54 +0200 Subject: [PATCH] Updates to nvim config to handle godot workflow. --- config/nvim/init.lua | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/config/nvim/init.lua b/config/nvim/init.lua index f505442..fcab554 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -28,16 +28,16 @@ vim.o.completeopt = 'menuone,noselect' -- Configures how the completion menu wor vim.o.winborder = 'rounded' -- LSP hover borders vim.opt.showmode = false vim.opt.laststatus = 0 +vim.opt.list = true +vim.opt.listchars = { tab = "| " } --------------------------------------------------------------------------------- -- [[ PLUGINS ]] --------------------------------------------------------------------------------- vim.pack.add({ - { src = "https://github.com/rktjmp/lush.nvim" }, - { src = "https://github.com/CosecSecCot/cosec-twilight.nvim" }, { src = "https://github.com/rebelot/kanagawa.nvim" }, { src = "https://github.com/neovim/nvim-lspconfig" }, - { src = "https://github.com/nvim-mini/mini.nvim" }, + { src = "https://github.com/ibhagwan/fzf-lua" }, { src = "https://github.com/stevearc/oil.nvim" }, { src = "https://github.com/akinsho/toggleterm.nvim" }, { src = "https://github.com/folke/trouble.nvim" }, @@ -49,14 +49,12 @@ vim.pack.add({ require('winbar').setup() require("trouble").setup() -require("mini.pick").setup() -require("mini.pairs").setup() -require("mini.surround").setup() require('gdscript-extended-lsp').setup() require('kanagawa').setup({ undercurl = false, transparent = true }) require("oil").setup({ view_options = { show_hidden = true, } }) require("toggleterm").setup({ open_mapping = [[]], direction = "float" }) require('nvim-treesitter.configs').setup({ highlight = { enable = true, } }) +require("fzf-lua").setup({ winopts = { height = 0.95, width = 0.95, }, }) require('blink.cmp').setup({ keymap = { preset = 'none', @@ -70,6 +68,26 @@ require('blink.cmp').setup({ }) vim.cmd.colorscheme("kanagawa") +vim.api.nvim_set_hl(0, "@string.special.url", { + underline = false, + undercurl = false, +}) + +-------------------------------------------------------------------------------- +-- [[ SMART FILE PICKER ]] +-------------------------------------------------------------------------------- +local function smart_files() + local is_godot = vim.fs.find("project.godot", { upward = true })[1] ~= nil + + if is_godot then + require("fzf-lua").files({ + cmd = "fdfind --type f -e gd -e cs -e gdshader -e shader -e tscn -e tres -e cfg --exclude .godot --exclude .import" + }) + else + require("fzf-lua").files() + end +end + --------------------------------------------------------------------------------- -- [[ KEYMAPS ]] --------------------------------------------------------------------------------- @@ -85,12 +103,14 @@ vim.keymap.set("v", "J", ":m '>+1gv=gv") vim.keymap.set("v", "K", ":m '<-2gv=gv") vim.keymap.set("n", "p", "b#") vim.keymap.set("n", "x", "bd") -vim.keymap.set("n", "f", ":Pick files") -vim.keymap.set("n", "h", ":Pick help") -vim.keymap.set("n", "s", ":Pick grep_live") -vim.keymap.set("n", "b", ":Pick buffers") +vim.keymap.set("n", "f", smart_files) vim.keymap.set("n", "q", ":Trouble diagnostics toggle") vim.keymap.set("n", "e", ":Oil") +vim.keymap.set("n", "sp", ":lua FzfLua.grep_project()") +vim.keymap.set("n", "sf", ":lua FzfLua.grep_curbuf()") +vim.keymap.set("n", "sw", ":lua FzfLua.grep_cword()") +vim.keymap.set("n", "h", function() require("fzf-lua").help_tags() end) +vim.keymap.set("n", "b", function() require("fzf-lua").buffers() end) -------------------------------------------------------------------------------- -- [[ LSP ]]