diff --git a/fish/dot-config/fish/config.fish b/fish/dot-config/fish/config.fish index 125d6da..a95da1d 100644 --- a/fish/dot-config/fish/config.fish +++ b/fish/dot-config/fish/config.fish @@ -23,3 +23,4 @@ set -x -g PATH $CARGO_HOME/bin $RUSTUP_HOME/bin $HOME/.local/bin $PATH test (command -v fnm) && fnm env | source test (command -v zoxide) && zoxide init fish | source +test -e /opt/asdf-vm/asdf.fish && source /opt/asdf-vm/asdf.fish diff --git a/nvim/dot-config/nvim/after/plugin/lspconfig.lua b/nvim/dot-config/nvim/after/plugin/lspconfig.lua index def83de..92c5b7e 100644 --- a/nvim/dot-config/nvim/after/plugin/lspconfig.lua +++ b/nvim/dot-config/nvim/after/plugin/lspconfig.lua @@ -4,8 +4,6 @@ if not ok then return end -local nmap = require("my.utils").nmap - local border = { { "┌", "FloatBorder" }, { "─", "FloatBorder" }, @@ -60,12 +58,7 @@ local format_handler = function(err, result, ctx) end local on_attach = function(client, bufnr) - nmap("r", vim.lsp.buf.rename, "Rename", bufnr) - nmap("cf", vim.lsp.buf.format, "Format document", bufnr) - nmap("ca", vim.lsp.buf.code_action, "Code actions", bufnr) - nmap("ci", vim.lsp.buf.implementation, "Go to implementation", bufnr) - nmap("D", vim.lsp.buf.type_definition, "Go to type definition", bufnr) - nmap("gr", "Telescope lsp_references", "View references", bufnr) + require("my.keymaps").lsp_keymaps(client, bufnr) if client.server_capabilities.completionProvider then vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc") @@ -75,10 +68,6 @@ local on_attach = function(client, bufnr) vim.api.nvim_buf_set_option(bufnr, "tagfunc", "v:lua.vim.lsp.tagfunc") end - if client.server_capabilities.hoverProvider then - nmap("K", vim.lsp.buf.hover, "LSP hover", bufnr) - end - -- Highlight on cursor hold if client.server_capabilities.documentHighlightProvider then vim.api.nvim_create_autocmd({ "CursorHold" }, { diff --git a/nvim/dot-config/nvim/after/plugin/telescope.lua b/nvim/dot-config/nvim/after/plugin/telescope.lua index 0b8310f..6299f00 100644 --- a/nvim/dot-config/nvim/after/plugin/telescope.lua +++ b/nvim/dot-config/nvim/after/plugin/telescope.lua @@ -6,14 +6,39 @@ end local nmap = require("my.utils").nmap -telescope.setup {} +telescope.setup { + extensions = { + fzf = { + fuzzy = true, + override_generic_sorter = true, + override_file_sorter = true, + case_mode = "smart_case", + } + } +} -local function project_or_files() - local opts = { show_untracked = true } - local ok = pcall(builtin.git_files, opts) - if not ok then - builtin.fd(opts) +local function project() + local exclusions = { + "**/.git/", + "*.svg", + "*.png", + "*.jpg", + } + + local find_command = nil + if FD_EXISTS then + find_command = { "fd", "--hidden", "-t", "f" } + for _, value in ipairs(exclusions) do + table.insert(find_command, "--exclude") + table.insert(find_command, value) + end + elseif RIPGREP_EXISTS then + find_command = { "rg", "--files", "--hidden", "--glob", "!**/.git/*" } end + + builtin.find_files { + find_command = find_command, + } end local function dotfiles() @@ -24,7 +49,10 @@ local function dotfiles() } end -nmap("", project_or_files, "Find project files") +nmap("", project, "Find project files") nmap("fn", dotfiles, "Dotfiles") +nmap("", builtin.git_files, "Find git files") nmap("fg", builtin.live_grep, "Live grep") nmap("gs", builtin.git_status, "Git status") + +telescope.load_extension("fzf") diff --git a/nvim/dot-config/nvim/init.lua b/nvim/dot-config/nvim/init.lua index 6b6ce23..4823ad5 100644 --- a/nvim/dot-config/nvim/init.lua +++ b/nvim/dot-config/nvim/init.lua @@ -5,6 +5,9 @@ Configuration Home: https://github.com/esprssoo/dotfiles --]] +FD_EXISTS = vim.fn.executable("fd") +RIPGREP_EXISTS = vim.fn.executable("rg") + vim.g.mapleader = " " -- vim.g.netrw_banner = 0 vim.g.loaded_netrw = 1 diff --git a/nvim/dot-config/nvim/lua/my/keymaps.lua b/nvim/dot-config/nvim/lua/my/keymaps.lua index 036c567..bdebac4 100644 --- a/nvim/dot-config/nvim/lua/my/keymaps.lua +++ b/nvim/dot-config/nvim/lua/my/keymaps.lua @@ -61,3 +61,20 @@ imap("jk", "") vmap("p", '"_dP') vmap(">", ">gv") vmap("<", "r", vim.lsp.buf.rename, "Rename", bufnr) + nmap("cf", vim.lsp.buf.format, "Format document", bufnr) + nmap("ca", vim.lsp.buf.code_action, "Code actions", bufnr) + nmap("ci", vim.lsp.buf.implementation, "Go to implementation", bufnr) + nmap("D", vim.lsp.buf.type_definition, "Go to type definition", bufnr) + nmap("gr", "Telescope lsp_references", "View references", bufnr) + + if client.server_capabilities.hoverProvider then + nmap("K", vim.lsp.buf.hover, "LSP hover", bufnr) + end +end + +return { + lsp_keymaps = lsp_keymaps, +} diff --git a/nvim/dot-config/nvim/lua/my/plugins.lua b/nvim/dot-config/nvim/lua/my/plugins.lua index 91e659e..44b7c25 100644 --- a/nvim/dot-config/nvim/lua/my/plugins.lua +++ b/nvim/dot-config/nvim/lua/my/plugins.lua @@ -25,9 +25,10 @@ require "paq" { "nvim-lualine/lualine.nvim", "windwp/nvim-autopairs", "mickael-menu/zk-nvim", - { "nvim-telescope/telescope.nvim", branch = "0.1.x" }, - { "catppuccin/nvim", as = "catppuccin" }, - { "williamboman/mason.nvim", branch = "v1.0.1" }, + { "nvim-telescope/telescope.nvim", branch = "0.1.x" }, + { "nvim-telescope/telescope-fzf-native.nvim", run = "make" }, + { "catppuccin/nvim", as = "catppuccin" }, + { "williamboman/mason.nvim", branch = "v1.0.1" }, "stevearc/oil.nvim", -- Treesitter @@ -45,5 +46,4 @@ require "paq" { "L3MON4D3/LuaSnip", "nvim-lua/lsp-status.nvim", "onsails/lspkind.nvim", - "mfussenegger/nvim-lint", } diff --git a/nvim/dot-config/nvim/spell/en.utf-8.add.spl b/nvim/dot-config/nvim/spell/en.utf-8.add.spl index 6293053..71a02bf 100644 Binary files a/nvim/dot-config/nvim/spell/en.utf-8.add.spl and b/nvim/dot-config/nvim/spell/en.utf-8.add.spl differ