From 4c5bd3505f23b9444aaf69f7159fdf9a2d73827b Mon Sep 17 00:00:00 2001 From: Christian Nieves Date: Sun, 16 Mar 2025 18:04:13 -0500 Subject: [PATCH] stuff --- config/.ripgreprc | 9 + vim/.vim/lua/plugins/blink.lua | 312 ++++++++++++++++++++------------- zsh/.zshrc | 1 + 3 files changed, 198 insertions(+), 124 deletions(-) create mode 100644 config/.ripgreprc diff --git a/config/.ripgreprc b/config/.ripgreprc new file mode 100644 index 0000000..22663d0 --- /dev/null +++ b/config/.ripgreprc @@ -0,0 +1,9 @@ +# add gdscript type +--type-add +gd:*.{gd,gdscript}* + +# Search hidden files / directories (e.g. dotfiles) by default +--hidden + +# Because who cares about case!? +--smart-case diff --git a/vim/.vim/lua/plugins/blink.lua b/vim/.vim/lua/plugins/blink.lua index 87dd926..e5f99fc 100644 --- a/vim/.vim/lua/plugins/blink.lua +++ b/vim/.vim/lua/plugins/blink.lua @@ -1,38 +1,96 @@ local use_google = require("utils").use_google local flags = require("utils").flags +local kind_icons = { + -- LLM Provider icons + claude = "󰋦", + openai = "󱢆", + codestral = "󱎥", + gemini = "", + nvim_ciderlsp = "󱜚", + Groq = "", + Openrouter = "󱂇", + Ollama = "󰳆", + ["Llama.cpp"] = "󰳆", + Deepseek = "", +} return { - { - "saghen/blink.compat", - -- use the latest release, via version = '*', if you also use the latest release for blink.cmp - version = "*", - -- lazy.nvim will automatically load the plugin when it's required by blink.cmp - lazy = true, - cond = flags.blink, - -- make sure to set opts so that lazy.nvim calls blink.compat's setup - opts = { - impersonate_nvim_cmp = true, - debug = true, - }, - }, - { - "saghen/blink.cmp", - lazy = false, -- lazy loading handled internally - cond = flags.blink, - dependencies = { - "chrisgrieser/cmp-nerdfont", - "hrsh7th/cmp-nvim-lsp", - "mikavilpas/blink-ripgrep.nvim", - "moyiz/blink-emoji.nvim", - "rafamadriz/friendly-snippets", -- optional: provides snippets for the snippet source - "saghen/blink.compat", - }, - version = "v0.*", -- use a release tag to download pre-built binaries - -- build = 'cargo build --release', + { + "milanglacier/minuet-ai.nvim", + config = function() + require("minuet").setup({ + provider = "gemini", + provider_options = { + gemini = { + optional = { + generationConfig = { + maxOutputTokens = 256, + }, + safetySettings = { + { + -- HARM_CATEGORY_HATE_SPEECH, + -- HARM_CATEGORY_HARASSMENT + -- HARM_CATEGORY_SEXUALLY_EXPLICIT + category = "HARM_CATEGORY_DANGEROUS_CONTENT", + -- BLOCK_NONE + threshold = "BLOCK_ONLY_HIGH", + }, + }, + }, + }, + }, + -- Your configuration options here + virtualtext = { + auto_trigger_ft = {}, + keymap = { + -- accept whole completion + accept = "", + -- accept one line + accept_line = "", + -- accept n lines (prompts for number) + -- e.g. "A-z 2 CR" will accept 2 lines + accept_n_lines = "", + -- Cycle to prev completion item, or manually invoke completion + prev = "", + -- Cycle to next completion item, or manually invoke completion + next = "", + dismiss = "", + }, + }, + }) + end, + }, + { + "saghen/blink.compat", + -- use the latest release, via version = '*', if you also use the latest release for blink.cmp + version = "*", + -- lazy.nvim will automatically load the plugin when it's required by blink.cmp + lazy = true, + cond = flags.blink, + -- make sure to set opts so that lazy.nvim calls blink.compat's setup + opts = { + impersonate_nvim_cmp = true, + debug = true, + }, + }, + { + "saghen/blink.cmp", + lazy = false, -- lazy loading handled internally + cond = flags.blink, + dependencies = { + "chrisgrieser/cmp-nerdfont", + "hrsh7th/cmp-nvim-lsp", + "mikavilpas/blink-ripgrep.nvim", + "moyiz/blink-emoji.nvim", + "rafamadriz/friendly-snippets", -- optional: provides snippets for the snippet source + "saghen/blink.compat", + }, + version = "v0.*", -- use a release tag to download pre-built binaries + -- build = 'cargo build --release', - ---@module 'blink.cmp' - ---@type blink.cmp.Config - opts = { + ---@module 'blink.cmp' + ---@type blink.cmp.Config + opts = { -- stylua: ignore keymap = { preset = "none", @@ -49,104 +107,110 @@ return { [""] = { "scroll_documentation_up", "fallback" }, [""] = { "scroll_documentation_down", "fallback" }, }, - sources = { - default = function(ctx) - local providerToEnable = { - "lsp", - "path", - "snippets", - "ripgrep", - "emoji", - "nerdfont", - "buffer", - } - if use_google() then - table.insert(providerToEnable, "nvim_ciderlsp") - table.insert(providerToEnable, "buganizer") - else - table.insert(providerToEnable, "codeium") - end - return providerToEnable - end, - -- default = { "lsp" }, - providers = { - lsp = { name = "LSP", module = "blink.cmp.sources.lsp", score_offset = 90 }, - -- dont show LuaLS require statements when lazydev has items - lazydev = { name = "LazyDev", module = "lazydev.integrations.blink", fallbacks = { "lsp" } }, - ripgrep = { - module = "blink-ripgrep", - name = "Ripgrep", - -- the options below are optional, some default values are shown - ---@module "blink-ripgrep" - ---@type blink-ripgrep.Options - opts = { - prefix_min_len = 3, - context_size = 5, - max_filesize = "1M", - additional_rg_options = {}, - }, - }, - -- https://github.com/moyiz/blink-emoji.nvim - emoji = { - module = "blink-emoji", - name = "Emoji", - score_offset = 15, -- the higher the number, the higher the priority - opts = { insert = true }, -- Insert emoji (default) or complete its name - }, - buffer = { - name = "Buffer", - enabled = true, - max_items = 3, - module = "blink.cmp.sources.buffer", - min_keyword_length = 4, - score_offset = 15, -- the higher the number, the higher the priority - }, - -- compat sources - nerdfont = { - name = "nerdfont", - module = "blink.compat.source", - }, - codeium = { - name = "codeium", - module = "blink.compat.source", - score_offset = 100, - }, - nvim_ciderlsp = { - name = "nvim_ciderlsp", - module = "blink.compat.source", - score_offset = 100, - }, - buganizer = { - name = "nvim_buganizer", - module = "blink.compat.source", - }, - }, - }, - -- experimental signature help support - signature = { enabled = true }, - completion = { - list = { + appearance = { + use_nvim_cmp_as_default = true, + nerd_font_variant = "normal", + kind_icons = kind_icons, + }, + sources = { + default = function(ctx) + local providerToEnable = { + "lsp", + "path", + "snippets", + "ripgrep", + "emoji", + "nerdfont", + "buffer", + } + if use_google() then + table.insert(providerToEnable, "nvim_ciderlsp") + table.insert(providerToEnable, "buganizer") + else + table.insert(providerToEnable, "minuet") + end + return providerToEnable + end, + providers = { + lsp = { name = "LSP", module = "blink.cmp.sources.lsp", score_offset = 90 }, + -- dont show LuaLS require statements when lazydev has items + lazydev = { name = "LazyDev", module = "lazydev.integrations.blink", fallbacks = { "lsp" } }, + ripgrep = { + module = "blink-ripgrep", + name = "Ripgrep", + -- the options below are optional, some default values are shown + ---@module "blink-ripgrep" + ---@type blink-ripgrep.Options + opts = { + prefix_min_len = 3, + context_size = 5, + max_filesize = "1M", + additional_rg_options = {}, + }, + }, + -- https://github.com/moyiz/blink-emoji.nvim + emoji = { + module = "blink-emoji", + name = "Emoji", + score_offset = 15, -- the higher the number, the higher the priority + opts = { insert = true }, -- Insert emoji (default) or complete its name + }, + buffer = { + name = "Buffer", + enabled = true, + max_items = 3, + module = "blink.cmp.sources.buffer", + min_keyword_length = 4, + score_offset = 15, -- the higher the number, the higher the priority + }, + -- compat sources + nerdfont = { + name = "nerdfont", + module = "blink.compat.source", + }, + minuet = { + name = "minuet", + module = "minuet.blink", + score_offset = 100, -- Gives minuet higher priority among suggestions + }, + nvim_ciderlsp = { + name = "nvim_ciderlsp", + module = "blink.compat.source", + score_offset = 100, + }, + buganizer = { + name = "nvim_buganizer", + module = "blink.compat.source", + }, + }, + }, + -- experimental signature help support + signature = { enabled = true }, + completion = { + -- Recommended to avoid unnecessary request + trigger = { prefetch_on_insert = false }, + list = { -- stylua: ignore selection = { preselect = function(ctx) return ctx.mode ~= 'cmdline' end, auto_insert = function(ctx) return ctx.mode ~= 'cmdline' end, }, - }, - documentation = { - auto_show = true, - }, - -- Displays a preview of the selected item on the current line - ghost_text = { - enabled = true, - }, - trigger = { - show_on_x_blocked_trigger_characters = { "'", '"', "(", "{" }, - }, - }, - }, + }, + documentation = { + auto_show = true, + }, + -- Displays a preview of the selected item on the current line + ghost_text = { + enabled = true, + }, + trigger = { + show_on_x_blocked_trigger_characters = { "'", '"', "(", "{" }, + }, + }, + }, - -- allows extending the providers array elsewhere in your config - -- without having to redefine it - opts_extend = { "sources.default" }, - }, + -- allows extending the providers array elsewhere in your config + -- without having to redefine it + opts_extend = { "sources.default" }, + }, } diff --git a/zsh/.zshrc b/zsh/.zshrc index 24bc2f1..b6d490e 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -165,5 +165,6 @@ export CARGO_NET_GIT_FETCH_WITH_CLI=true source ~/.bash_profile +export RIPGREP_CONFIG_PATH=$HOME/.ripgreprc export PATH="$HOME/.local/bin:$PATH"