feat: auto bracket

This commit is contained in:
2025-08-20 14:29:19 +09:00
parent 51da8e6e1d
commit a5265bd3ba

View File

@@ -1,60 +1,69 @@
return { return {
'saghen/blink.cmp', 'saghen/blink.cmp',
-- optional: provides snippets for the snippet source -- optional: provides snippets for the snippet source
dependencies = { 'rafamadriz/friendly-snippets' }, dependencies = { 'rafamadriz/friendly-snippets' },
-- use a release tag to download pre-built binaries -- use a release tag to download pre-built binaries
version = '1.*', version = '1.*',
-- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust -- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust
-- build = 'cargo build --release', -- build = 'cargo build --release',
-- If you use nix, you can build from source using latest nightly rust with: -- If you use nix, you can build from source using latest nightly rust with:
-- build = 'nix run .#build-plugin', -- build = 'nix run .#build-plugin',
---@module 'blink.cmp' ---@module 'blink.cmp'
---@type blink.cmp.Config ---@type blink.cmp.Config
opts = { opts = {
-- 'default' (recommended) for mappings similar to built-in completions (C-y to accept) -- 'default' (recommended) for mappings similar to built-in completions (C-y to accept)
-- 'super-tab' for mappings similar to vscode (tab to accept) -- 'super-tab' for mappings similar to vscode (tab to accept)
-- 'enter' for enter to accept -- 'enter' for enter to accept
-- 'none' for no mappings -- 'none' for no mappings
-- --
-- All presets have the following mappings: -- All presets have the following mappings:
-- C-space: Open menu or open docs if already open -- C-space: Open menu or open docs if already open
-- C-n/C-p or Up/Down: Select next/previous item -- C-n/C-p or Up/Down: Select next/previous item
-- C-e: Hide menu -- C-e: Hide menu
-- C-k: Toggle signature help (if signature.enabled = true) -- C-k: Toggle signature help (if signature.enabled = true)
-- --
-- See :h blink-cmp-config-keymap for defining your own keymap -- See :h blink-cmp-config-keymap for defining your own keymap
keymap = { preset = 'enter' }, keymap = { preset = 'enter' },
appearance = { appearance = {
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font' -- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
-- Adjusts spacing to ensure icons are aligned -- Adjusts spacing to ensure icons are aligned
nerd_font_variant = 'mono' nerd_font_variant = 'mono'
},
-- (Default) Only show the documentation popup when manually triggered
completion = {
documentation = { auto_show = true, auto_show_delay_ms = 500, },
menu = { auto_show = true },
ghost_text = { show_with_menu = false },
list = {
selection = { preselect = false }
}, },
},
-- Default list of enabled providers defined so that you can extend it -- (Default) Only show the documentation popup when manually triggered
-- elsewhere in your config, without redefining it, due to `opts_extend` completion = {
sources = { documentation = { auto_show = true, auto_show_delay_ms = 500, },
default = { 'lsp', 'path', 'snippets', 'buffer' }, menu = { auto_show = true },
}, ghost_text = { show_with_menu = false },
list = {
selection = { preselect = false }
},
accept = {
auto_brackets = {
enabled = true,
semantic_token_resolution = {
enabled = true,
timeout_ms = 400,
},
},
},
},
-- (Default) Rust fuzzy matcher for typo resistance and significantly better performance -- Default list of enabled providers defined so that you can extend it
-- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation, -- elsewhere in your config, without redefining it, due to `opts_extend`
-- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"` sources = {
-- default = { 'lsp', 'path', 'snippets', 'buffer' },
-- See the fuzzy documentation for more information },
fuzzy = { implementation = "prefer_rust_with_warning" }
}, -- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
opts_extend = { "sources.default" } -- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation,
-- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"`
--
-- See the fuzzy documentation for more information
fuzzy = { implementation = "prefer_rust_with_warning" }
},
opts_extend = { "sources.default" }
} }