aboutsummaryrefslogtreecommitdiff
path: root/dot_config/nvim/lua/plugins/autocomplete.lua
diff options
context:
space:
mode:
authortwells46 <173561638+twells46@users.noreply.github.com>2025-12-31 13:28:05 -0600
committertwells46 <173561638+twells46@users.noreply.github.com>2025-12-31 13:28:05 -0600
commit2140ab51deed88e90eafebf9520fa5f9995dc7c9 (patch)
tree03cf1dcd2900495c1efb79aaa85f3254ecd5fb87 /dot_config/nvim/lua/plugins/autocomplete.lua
parentff8f50638e4b17a9d7cc88d2f0d9560b7effce39 (diff)
Migrate from stow
Diffstat (limited to 'dot_config/nvim/lua/plugins/autocomplete.lua')
-rw-r--r--dot_config/nvim/lua/plugins/autocomplete.lua87
1 files changed, 87 insertions, 0 deletions
diff --git a/dot_config/nvim/lua/plugins/autocomplete.lua b/dot_config/nvim/lua/plugins/autocomplete.lua
new file mode 100644
index 0000000..4f38b38
--- /dev/null
+++ b/dot_config/nvim/lua/plugins/autocomplete.lua
@@ -0,0 +1,87 @@
+return {
+ { -- Autocompletion
+ 'saghen/blink.cmp',
+ lazy = true,
+ -- event = 'VimEnter',
+ version = '1.*',
+ dependencies = {
+ -- Snippet Engine
+ {
+ 'L3MON4D3/LuaSnip',
+ version = '2.*',
+ build = (function()
+ -- Build Step is needed for regex support in snippets.
+ -- This step is not supported in many windows environments.
+ -- Remove the below condition to re-enable on windows.
+ if vim.fn.has 'win32' == 1 or vim.fn.executable 'make' == 0 then
+ return
+ end
+ return 'make install_jsregexp'
+ end)(),
+ dependencies = {
+ -- `friendly-snippets` contains a variety of premade snippets.
+ -- See the README about individual language/framework/plugin snippets:
+ -- https://github.com/rafamadriz/friendly-snippets
+ -- {
+ -- 'rafamadriz/friendly-snippets',
+ -- config = function()
+ -- require('luasnip.loaders.from_vscode').lazy_load()
+ -- end,
+ -- },
+ },
+ opts = {},
+ },
+ 'folke/lazydev.nvim',
+ },
+ --- @module 'blink.cmp'
+ --- @type blink.cmp.Config
+ opts = {
+ keymap = {
+ -- All presets have the following mappings:
+ -- <tab>/<s-tab>: move to right/left of your snippet expansion
+ -- <c-space>: Open menu or open docs if already open
+ -- <c-n>/<c-p> or <up>/<down>: Select next/previous item
+ -- <c-e>: Hide menu
+ -- <c-k>: Toggle signature help
+ -- See :h blink-cmp-config-keymap for defining your own keymap
+ preset = 'default',
+
+ -- For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see:
+ -- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps
+ },
+
+ appearance = {
+ -- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
+ -- Adjusts spacing to ensure icons are aligned
+ nerd_font_variant = 'mono',
+ },
+
+ completion = {
+ -- By default, you may press `<c-space>` to show the documentation.
+ -- Optionally, set `auto_show = true` to show the documentation after a delay.
+ documentation = { auto_show = false, auto_show_delay_ms = 500 },
+ },
+
+ sources = {
+ default = { 'lsp', 'path', 'snippets', 'lazydev' },
+ providers = {
+ lazydev = { module = 'lazydev.integrations.blink', score_offset = 100 },
+ },
+ },
+
+ snippets = { preset = 'luasnip' },
+
+ -- Blink.cmp includes an optional, recommended rust fuzzy matcher,
+ -- which automatically downloads a prebuilt binary when enabled.
+
+ -- By default, we use the Lua implementation instead, but you may enable
+ -- the rust implementation via `'prefer_rust_with_warning'`
+
+ -- See :h blink-cmp-config-fuzzy for more information
+ fuzzy = { implementation = 'prefer_rust_with_warning' },
+
+ -- Shows a signature help window while you type arguments for a function
+ signature = { enabled = true },
+ },
+ },
+}