mirror of
https://github.com/pnx/dotfiles
synced 2026-06-18 20:10:03 +02:00
nvim: formatting
This commit is contained in:
parent
b46a37b4b2
commit
1da358dff8
8 changed files with 163 additions and 165 deletions
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
return {
|
return {
|
||||||
prompt = "",
|
prompt = "",
|
||||||
current = " ",
|
current = " ",
|
||||||
|
|
|
||||||
|
|
@ -9,12 +9,13 @@ vim.keymap.set('n', 'Q', '<nop>')
|
||||||
--
|
--
|
||||||
-- Editing
|
-- Editing
|
||||||
--
|
--
|
||||||
vim.keymap.set("n", "<leader>W", "<cmd>lua vim.opt.list = not vim.opt.list._value<cr>", { silent = true, desc = "Toggle show whitespace" })
|
vim.keymap.set("n", "<leader>W", "<cmd>lua vim.opt.list = not vim.opt.list._value<cr>",
|
||||||
vim.keymap.set({'n', 'i'}, '<C-s>', vim.cmd.w, { desc = 'Save current buffer' })
|
{ silent = true, desc = "Toggle show whitespace" })
|
||||||
|
vim.keymap.set({ 'n', 'i' }, '<C-s>', vim.cmd.w, { desc = 'Save current buffer' })
|
||||||
|
|
||||||
-- Indent
|
-- Indent
|
||||||
vim.keymap.set('n', '<Tab>', '^=$')
|
vim.keymap.set('n', '<Tab>', '^=$')
|
||||||
vim.keymap.set('x', '<Tab>', '=', { desc = 'auto indent selection' })
|
vim.keymap.set('x', '<Tab>', '=', { desc = 'auto indent selection' })
|
||||||
vim.keymap.set('i', '<S-Tab', '<C-d>', { desc = 'delete indent' })
|
vim.keymap.set('i', '<S-Tab', '<C-d>', { desc = 'delete indent' })
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -31,14 +32,15 @@ vim.keymap.set('x', '<leader>fha', [[:s/0x\(\x\{1\}\X\)/0x0\1/g]], { desc = "For
|
||||||
vim.keymap.set('x', '<leader>fhn', [[:s/\(\(0x\x\{1,2\}, \)\{8\}\)/\1\r/g]], { desc = "Format hex" })
|
vim.keymap.set('x', '<leader>fhn', [[:s/\(\(0x\x\{1,2\}, \)\{8\}\)/\1\r/g]], { desc = "Format hex" })
|
||||||
|
|
||||||
-- Case formatting
|
-- Case formatting
|
||||||
vim.keymap.set("x", "<leader>fcsc", [[:s/\%V\([a-z]\+\)_\?/\u\1/g]], { desc = "Convert text from snake_case to CamelCase" })
|
vim.keymap.set("x", "<leader>fcsc", [[:s/\%V\([a-z]\+\)_\?/\u\1/g]],
|
||||||
|
{ desc = "Convert text from snake_case to CamelCase" })
|
||||||
|
|
||||||
|
|
||||||
-- copy/paste
|
-- copy/paste
|
||||||
|
|
||||||
vim.keymap.set({'n', 'v'}, '<leader>y', [["+y]], {})
|
vim.keymap.set({ 'n', 'v' }, '<leader>y', [["+y]], {})
|
||||||
vim.keymap.set({'n', 'v'}, '<leader>p', [["+p]], {})
|
vim.keymap.set({ 'n', 'v' }, '<leader>p', [["+p]], {})
|
||||||
vim.keymap.set('x', '<leader>p', [["_dP]], {silent = true })
|
vim.keymap.set('x', '<leader>p', [["_dP]], { silent = true })
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Navigation
|
-- Navigation
|
||||||
|
|
@ -47,14 +49,14 @@ vim.keymap.set('x', '<leader>p', [["_dP]], {silent = true })
|
||||||
-- Move text
|
-- Move text
|
||||||
vim.keymap.set('n', '<S-a>', [[:m -2<CR>v=]], { silent = true, desc = 'move current line one line up' })
|
vim.keymap.set('n', '<S-a>', [[:m -2<CR>v=]], { silent = true, desc = 'move current line one line up' })
|
||||||
vim.keymap.set('n', '<S-d>', [[:m +1<CR>v=]], { silent = true, desc = 'move current line one line down' })
|
vim.keymap.set('n', '<S-d>', [[:m +1<CR>v=]], { silent = true, desc = 'move current line one line down' })
|
||||||
vim.keymap.set('v', '<S-a>', [[:m '<-2<CR>gv=gv]], { silent = true, desc = 'move current selection one line up' })
|
vim.keymap.set('v', '<S-a>', [[:m '<-2<CR>gv=gv]], { silent = true, desc = 'move current selection one line up' })
|
||||||
vim.keymap.set('v', '<S-d>', [[:m '>+1<CR>gv=gv]], { silent = true, desc = 'move current selection one line down' })
|
vim.keymap.set('v', '<S-d>', [[:m '>+1<CR>gv=gv]], { silent = true, desc = 'move current selection one line down' })
|
||||||
|
|
||||||
-- Make half page jumps stay in the center of screen
|
-- Make half page jumps stay in the center of screen
|
||||||
vim.keymap.set('n', '<C-u>', '<C-u>zz', { silent = true, desc = 'jump half a page up'})
|
vim.keymap.set('n', '<C-u>', '<C-u>zz', { silent = true, desc = 'jump half a page up' })
|
||||||
vim.keymap.set('n', '<C-d>', '<C-d>zz', { silent = true, desc = 'jump half a page down'})
|
vim.keymap.set('n', '<C-d>', '<C-d>zz', { silent = true, desc = 'jump half a page down' })
|
||||||
vim.keymap.set('n', '<S-PageUp>', '<C-u>zz', { silent = true, desc = 'jump half a page up'})
|
vim.keymap.set('n', '<S-PageUp>', '<C-u>zz', { silent = true, desc = 'jump half a page up' })
|
||||||
vim.keymap.set('n', '<S-PageDown>', '<C-d>zz', { silent = true, desc = 'jump half a page down'})
|
vim.keymap.set('n', '<S-PageDown>', '<C-d>zz', { silent = true, desc = 'jump half a page down' })
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Buffers
|
-- Buffers
|
||||||
|
|
@ -63,59 +65,58 @@ vim.keymap.set('n', '<S-PageDown>', '<C-d>zz', { silent = true, desc = 'jump hal
|
||||||
-- vim.keymap.set('n', '<leader>bb', vim.cmd.bp, { silent = true, desc = 'Move to previous buffer' })
|
-- vim.keymap.set('n', '<leader>bb', vim.cmd.bp, { silent = true, desc = 'Move to previous buffer' })
|
||||||
-- vim.keymap.set('n', '<leader>bd', vim.cmd.bd, { silent = true, desc = 'Close current buffer' })
|
-- vim.keymap.set('n', '<leader>bd', vim.cmd.bd, { silent = true, desc = 'Close current buffer' })
|
||||||
-- vim.keymap.set('n', '<leader>bd', '<cmd>bp | bd #<cr>', { silent = true, desc = 'Close current buffer' })
|
-- vim.keymap.set('n', '<leader>bd', '<cmd>bp | bd #<cr>', { silent = true, desc = 'Close current buffer' })
|
||||||
vim.keymap.set('n', '<leader>bd', buffers.CloseCurrent, { silent = true, desc = 'Close current buffer' })
|
vim.keymap.set('n', '<leader>bd', buffers.CloseCurrent, { silent = true, desc = 'Close current buffer' })
|
||||||
vim.keymap.set('n', '<leader>bc', buffers.CloseOthers, { silent = true, desc = 'Close all other buffers' })
|
vim.keymap.set('n', '<leader>bc', buffers.CloseOthers, { silent = true, desc = 'Close all other buffers' })
|
||||||
vim.keymap.set('n', '<leader>bD', buffers.CloseAll, { silent = true, desc = 'Close all buffers' })
|
vim.keymap.set('n', '<leader>bD', buffers.CloseAll, { silent = true, desc = 'Close all buffers' })
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Diagnostics
|
-- Diagnostics
|
||||||
--
|
--
|
||||||
|
|
||||||
vim.keymap.set('n', "<leader>dk", vim.diagnostic.open_float, {desc = "Show diagnostic message under cursor" })
|
vim.keymap.set('n', "<leader>dk", vim.diagnostic.open_float, { desc = "Show diagnostic message under cursor" })
|
||||||
vim.keymap.set('n', "<leader>dn", vim.diagnostic.get_next, {desc = "Goto next" })
|
vim.keymap.set('n', "<leader>dn", vim.diagnostic.get_next, { desc = "Goto next" })
|
||||||
vim.keymap.set('n', "<leader>dp", vim.diagnostic.get_prev, {desc = "Goto previous" })
|
vim.keymap.set('n', "<leader>dp", vim.diagnostic.get_prev, { desc = "Goto previous" })
|
||||||
vim.keymap.set('n', "<leader>dd", "<cmd>Telescope diagnostics<cr>", {desc = "Open workspace diagnostics" })
|
vim.keymap.set('n', "<leader>dd", "<cmd>Telescope diagnostics<cr>", { desc = "Open workspace diagnostics" })
|
||||||
|
|
||||||
--
|
--
|
||||||
-- File explorer
|
-- File explorer
|
||||||
--
|
--
|
||||||
vim.keymap.set('n', "<leader>.", "<cmd>Neotree toggle<cr>", {desc = "Toggle Neotree" })
|
vim.keymap.set('n', "<leader>.", "<cmd>Neotree toggle<cr>", { desc = "Toggle Neotree" })
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Git
|
-- Git
|
||||||
--
|
--
|
||||||
vim.keymap.set('n', "<leader>gp", "<cmd>Gitsigns preview_hunk<cr>", {desc = "Preview section at cursor" })
|
vim.keymap.set('n', "<leader>gp", "<cmd>Gitsigns preview_hunk<cr>", { desc = "Preview section at cursor" })
|
||||||
vim.keymap.set('n', "<leader>gr", "<cmd>Gitsigns reset_hunk<cr>", {desc = "Reset section at cursor" })
|
vim.keymap.set('n', "<leader>gr", "<cmd>Gitsigns reset_hunk<cr>", { desc = "Reset section at cursor" })
|
||||||
vim.keymap.set('n', "<leader>gR", "<cmd>Gitsigns reset_buffer<cr>", {desc = "Reset buffer" })
|
vim.keymap.set('n', "<leader>gR", "<cmd>Gitsigns reset_buffer<cr>", { desc = "Reset buffer" })
|
||||||
vim.keymap.set('n', "<leader>gv", "<cmd>Gitsigns select_hunk<cr>", {desc = "Select section under cursor" })
|
vim.keymap.set('n', "<leader>gv", "<cmd>Gitsigns select_hunk<cr>", { desc = "Select section under cursor" })
|
||||||
|
|
||||||
--
|
--
|
||||||
-- LSP
|
-- LSP
|
||||||
--
|
--
|
||||||
|
|
||||||
vim.keymap.set('n', 'go', '<cmd>Telescope lsp_type_definitions<cr>', {desc = 'Goto type definition' })
|
vim.keymap.set('n', 'go', '<cmd>Telescope lsp_type_definitions<cr>', { desc = 'Goto type definition' })
|
||||||
vim.keymap.set('n', 'gd', '<cmd>Telescope lsp_definitions<cr>', {desc = 'Goto definition' })
|
vim.keymap.set('n', 'gd', '<cmd>Telescope lsp_definitions<cr>', { desc = 'Goto definition' })
|
||||||
vim.keymap.set({'n', 'x'}, '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<cr>', {desc = 'Code action' })
|
vim.keymap.set({ 'n', 'x' }, '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<cr>', { desc = 'Code action' })
|
||||||
vim.keymap.set('n', '<leader>rs', '<cmd>lua vim.lsp.buf.rename()<cr>', {desc = 'Rename symbol'} )
|
vim.keymap.set('n', '<leader>rs', '<cmd>lua vim.lsp.buf.rename()<cr>', { desc = 'Rename symbol' })
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Search
|
-- Search
|
||||||
--
|
--
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>sf', '<cmd>Telescope find_files<cr>', { desc = 'Search files' })
|
vim.keymap.set('n', '<leader>sf', '<cmd>Telescope find_files<cr>', { desc = 'Search files' })
|
||||||
vim.keymap.set('n', '<leader>sF', telescope.all_files, { desc = 'Search all files' })
|
vim.keymap.set('n', '<leader>sF', telescope.all_files, { desc = 'Search all files' })
|
||||||
vim.keymap.set('n', '<leader>sw', '<cmd>Telescope grep_string<cr>', { desc = 'Search for word under cursor' })
|
vim.keymap.set('n', '<leader>sw', '<cmd>Telescope grep_string<cr>', { desc = 'Search for word under cursor' })
|
||||||
vim.keymap.set('n', '<leader>sa', '<cmd>Telescope live_grep<cr>', { desc = 'Search in files' })
|
vim.keymap.set('n', '<leader>sa', '<cmd>Telescope live_grep<cr>', { desc = 'Search in files' })
|
||||||
vim.keymap.set('n', '<leader>sb', '<cmd>Telescope buffers<cr>', { desc = 'Search Buffers' })
|
vim.keymap.set('n', '<leader>sb', '<cmd>Telescope buffers<cr>', { desc = 'Search Buffers' })
|
||||||
vim.keymap.set('n', '<leader>sg', '<cmd>Telescope git_files<cr>', { desc = 'Search Git files' })
|
vim.keymap.set('n', '<leader>sg', '<cmd>Telescope git_files<cr>', { desc = 'Search Git files' })
|
||||||
vim.keymap.set('n', '<leader>sG', '<cmd>Telescope git_status<cr>', { desc = 'Search Git status' })
|
vim.keymap.set('n', '<leader>sG', '<cmd>Telescope git_status<cr>', { desc = 'Search Git status' })
|
||||||
vim.keymap.set('n', '<leader>sc', '<cmd>Telescope git_commits<cr>', { desc = 'Search Git commits' })
|
vim.keymap.set('n', '<leader>sc', '<cmd>Telescope git_commits<cr>', { desc = 'Search Git commits' })
|
||||||
vim.keymap.set('n', '<leader>so', '<cmd>Telescope oldfiles<cr>', { desc = 'Search old files' })
|
vim.keymap.set('n', '<leader>so', '<cmd>Telescope oldfiles<cr>', { desc = 'Search old files' })
|
||||||
vim.keymap.set('n', '<leader>sd', '<cmd>Telescope diagnostics<cr>', { desc = 'Search Diagnostics' })
|
vim.keymap.set('n', '<leader>sd', '<cmd>Telescope diagnostics<cr>', { desc = 'Search Diagnostics' })
|
||||||
vim.keymap.set('n', '<leader>sq', '<cmd>Telescope quickfix<cr>', { desc = 'Search Quickfix' })
|
vim.keymap.set('n', '<leader>sq', '<cmd>Telescope quickfix<cr>', { desc = 'Search Quickfix' })
|
||||||
vim.keymap.set('n', '<leader>sr', '<cmd>Telescope lsp_references<cr>', { desc = 'Search Reference' })
|
vim.keymap.set('n', '<leader>sr', '<cmd>Telescope lsp_references<cr>', { desc = 'Search Reference' })
|
||||||
vim.keymap.set('n', '<leader>ss', '<cmd>Telescope lsp_document_symbols<cr>', { desc = 'Search document symbols' })
|
vim.keymap.set('n', '<leader>ss', '<cmd>Telescope lsp_document_symbols<cr>', { desc = 'Search document symbols' })
|
||||||
vim.keymap.set('n', '<leader>si', '<cmd>Telescope lsp_implementations<cr>', { desc = 'Search Inplementations' })
|
vim.keymap.set('n', '<leader>si', '<cmd>Telescope lsp_implementations<cr>', { desc = 'Search Inplementations' })
|
||||||
vim.keymap.set('n', '<leader>sp', '<cmd>Telescope lsp_workspace_symbols<cr>', { desc = 'Search Workspace symbols' })
|
vim.keymap.set('n', '<leader>sp', '<cmd>Telescope lsp_workspace_symbols<cr>', { desc = 'Search Workspace symbols' })
|
||||||
vim.keymap.set('n', '<leader>sh', '<cmd>Telescope help<cr>', { desc = 'Search Neovim help' })
|
vim.keymap.set('n', '<leader>sh', '<cmd>Telescope help<cr>', { desc = 'Search Neovim help' })
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
---@diagnostic disable-next-line: undefined-field
|
---@diagnostic disable-next-line: undefined-field
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
|
|
@ -7,7 +6,7 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
if vim.v.shell_error ~= 0 then
|
if vim.v.shell_error ~= 0 then
|
||||||
vim.api.nvim_echo({
|
vim.api.nvim_echo({
|
||||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||||
{ out, "WarningMsg" },
|
{ out, "WarningMsg" },
|
||||||
{ "\nPress any key to exit..." },
|
{ "\nPress any key to exit..." },
|
||||||
}, true, {})
|
}, true, {})
|
||||||
vim.fn.getchar()
|
vim.fn.getchar()
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
-- Helper imports
|
-- Helper imports
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
|
|
@ -17,15 +16,15 @@ vim.o.updatetime = 50
|
||||||
-- Displays which-key popup sooner
|
-- Displays which-key popup sooner
|
||||||
vim.o.timeoutlen = 50
|
vim.o.timeoutlen = 50
|
||||||
|
|
||||||
vim.o.mouse="a"
|
vim.o.mouse = "a"
|
||||||
vim.o.confirm = true
|
vim.o.confirm = true
|
||||||
|
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
-- User interface
|
-- User interface
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
|
|
||||||
vim.o.winblend = 5 -- how much floating windows should blend with background.
|
vim.o.winblend = 5 -- how much floating windows should blend with background.
|
||||||
vim.o.pumblend = 5 -- popup blend
|
vim.o.pumblend = 5 -- popup blend
|
||||||
vim.o.pumheight = 15 -- popup height
|
vim.o.pumheight = 15 -- popup height
|
||||||
|
|
||||||
-- Configure how new splits should be opened
|
-- Configure how new splits should be opened
|
||||||
|
|
@ -77,7 +76,8 @@ vim.o.foldcolumn = "auto"
|
||||||
vim.o.list = false
|
vim.o.list = false
|
||||||
vim.o.listchars = 'tab: »,space:·,eol:,nbsp:␣'
|
vim.o.listchars = 'tab: »,space:·,eol:,nbsp:␣'
|
||||||
|
|
||||||
vim.o.fillchars = string.format([[eob: ,fold: ,foldopen:%s,foldsep:%s,foldclose:%s]], icons.fold.open, icons.fold.sep, icons.fold.close)
|
vim.o.fillchars = string.format([[eob: ,fold: ,foldopen:%s,foldsep:%s,foldclose:%s]],
|
||||||
|
icons.fold.open, icons.fold.sep, icons.fold.close)
|
||||||
|
|
||||||
-- Spell stuff, because i cant English
|
-- Spell stuff, because i cant English
|
||||||
vim.o.spell = true
|
vim.o.spell = true
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,7 @@ local options = {
|
||||||
["@lsp.type.property"] = { link = "@variable" },
|
["@lsp.type.property"] = { link = "@variable" },
|
||||||
|
|
||||||
-- Bash
|
-- Bash
|
||||||
["@variable.parameter.bash"] = { fg=colors.rosewater },
|
["@variable.parameter.bash"] = { fg = colors.rosewater },
|
||||||
|
|
||||||
-- Makefile
|
-- Makefile
|
||||||
["@function.make"] = { link = "Keyword" },
|
["@function.make"] = { link = "Keyword" },
|
||||||
|
|
|
||||||
|
|
@ -1,36 +1,36 @@
|
||||||
return {
|
return {
|
||||||
"echasnovski/mini.bufremove",
|
"echasnovski/mini.bufremove",
|
||||||
{
|
{
|
||||||
"windwp/nvim-autopairs",
|
"windwp/nvim-autopairs",
|
||||||
event = "InsertEnter",
|
event = "InsertEnter",
|
||||||
config = true,
|
config = true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
"lukas-reineke/indent-blankline.nvim",
|
||||||
main = "ibl",
|
main = "ibl",
|
||||||
opts = {
|
opts = {
|
||||||
debounce = 10,
|
debounce = 10,
|
||||||
indent = {
|
indent = {
|
||||||
char = "▏",
|
char = "▏",
|
||||||
},
|
},
|
||||||
scope = {
|
scope = {
|
||||||
enabled = false,
|
enabled = false,
|
||||||
},
|
},
|
||||||
exclude = {
|
exclude = {
|
||||||
filetypes = {
|
filetypes = {
|
||||||
"help",
|
"help",
|
||||||
"dashboard",
|
"dashboard",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
require("ibl").setup(opts)
|
require("ibl").setup(opts)
|
||||||
|
|
||||||
local hooks = require("ibl.hooks")
|
local hooks = require("ibl.hooks")
|
||||||
hooks.register(hooks.type.WHITESPACE, hooks.builtin.hide_first_tab_indent_level)
|
hooks.register(hooks.type.WHITESPACE, hooks.builtin.hide_first_tab_indent_level)
|
||||||
hooks.register(hooks.type.WHITESPACE, hooks.builtin.hide_first_space_indent_level)
|
hooks.register(hooks.type.WHITESPACE, hooks.builtin.hide_first_space_indent_level)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
-- Better folds
|
-- Better folds
|
||||||
{
|
{
|
||||||
'kevinhwang91/nvim-ufo',
|
'kevinhwang91/nvim-ufo',
|
||||||
|
|
|
||||||
|
|
@ -1,93 +1,93 @@
|
||||||
return {
|
return {
|
||||||
"hrsh7th/nvim-cmp",
|
"hrsh7th/nvim-cmp",
|
||||||
version = false,
|
version = false,
|
||||||
event = "InsertEnter",
|
event = "InsertEnter",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"hrsh7th/cmp-buffer", -- autocomplete from buffer
|
"hrsh7th/cmp-buffer", -- autocomplete from buffer
|
||||||
"hrsh7th/cmp-path", -- autocomplete from filesystem
|
"hrsh7th/cmp-path", -- autocomplete from filesystem
|
||||||
"f3fora/cmp-spell",
|
"f3fora/cmp-spell",
|
||||||
},
|
},
|
||||||
opts = function()
|
opts = function()
|
||||||
local cmp = require("cmp")
|
local cmp = require("cmp")
|
||||||
local utils = require("user.utils.cmp")
|
local utils = require("user.utils.cmp")
|
||||||
local format = require("user.utils.cmp_format")
|
local format = require("user.utils.cmp_format")
|
||||||
-- local lspkind = require("user.utils.lspkind")
|
-- local lspkind = require("user.utils.lspkind")
|
||||||
local icons = require("user.icons")
|
local icons = require("user.icons")
|
||||||
|
|
||||||
local selectPrev = utils.selectPrev({ behavior = cmp.SelectBehavior.Insert })
|
local selectPrev = utils.selectPrev({ behavior = cmp.SelectBehavior.Insert })
|
||||||
local selectNext = utils.selectNext({ behavior = cmp.SelectBehavior.Insert })
|
local selectNext = utils.selectNext({ behavior = cmp.SelectBehavior.Insert })
|
||||||
|
|
||||||
return {
|
return {
|
||||||
preselect = false,
|
preselect = false,
|
||||||
completion = {
|
completion = {
|
||||||
completeopt = "menu,menuone,longest,popup",
|
completeopt = "menu,menuone,longest,popup",
|
||||||
},
|
},
|
||||||
view = {
|
view = {
|
||||||
entries = { name = "custom", selection_order = "near_cursor" },
|
entries = { name = "custom", selection_order = "near_cursor" },
|
||||||
},
|
},
|
||||||
window = {
|
window = {
|
||||||
documentation = {
|
documentation = {
|
||||||
border = { "", "", "", "", "", "", "", " " },
|
border = { "", "", "", "", "", "", "", " " },
|
||||||
},
|
},
|
||||||
completion = {
|
completion = {
|
||||||
scrolloff = 4,
|
scrolloff = 4,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mapping = {
|
mapping = {
|
||||||
["<Up>"] = selectPrev,
|
["<Up>"] = selectPrev,
|
||||||
["<S-Tab>"] = selectPrev,
|
["<S-Tab>"] = selectPrev,
|
||||||
["<Down>"] = selectNext,
|
["<Down>"] = selectNext,
|
||||||
["<Tab>"] = selectNext,
|
["<Tab>"] = selectNext,
|
||||||
["<C-c>"] = cmp.mapping.abort(),
|
["<C-c>"] = cmp.mapping.abort(),
|
||||||
["<CR>"] = utils.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true }),
|
["<CR>"] = utils.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true }),
|
||||||
},
|
},
|
||||||
-- snippet = {
|
-- snippet = {
|
||||||
-- expand = function(args)
|
-- expand = function(args)
|
||||||
-- require("luasnip").lsp_expand(args.body)
|
-- require("luasnip").lsp_expand(args.body)
|
||||||
-- end,
|
-- end,
|
||||||
-- },
|
-- },
|
||||||
formatting = {
|
formatting = {
|
||||||
fields = { "abbr", "kind", "menu" },
|
fields = { "abbr", "kind", "menu" },
|
||||||
format = format({
|
format = format({
|
||||||
symbol_map = icons.symbols,
|
symbol_map = icons.symbols,
|
||||||
widths = {
|
widths = {
|
||||||
menu = 0,
|
menu = 0,
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
sources = {
|
sources = {
|
||||||
{ name = "nvim_lsp" },
|
{ name = "nvim_lsp" },
|
||||||
{ name = 'nvim_lsp_signature_help' },
|
{ name = 'nvim_lsp_signature_help' },
|
||||||
{ name = "luasnip" },
|
{ name = "luasnip" },
|
||||||
{ name = "buffer" },
|
{ name = "buffer" },
|
||||||
{ name = "path" },
|
{ name = "path" },
|
||||||
{
|
{
|
||||||
name = "spell",
|
name = "spell",
|
||||||
keyword_length = 3,
|
keyword_length = 3,
|
||||||
option = {
|
option = {
|
||||||
keep_all_entries = false,
|
keep_all_entries = false,
|
||||||
enable_in_context = function()
|
enable_in_context = function()
|
||||||
return require('cmp.config.context').in_treesitter_capture('spell')
|
return require('cmp.config.context').in_treesitter_capture('spell')
|
||||||
end,
|
end,
|
||||||
preselect_correct_word = true,
|
preselect_correct_word = true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
-- experimental = {
|
-- experimental = {
|
||||||
-- ghost_text = {
|
-- ghost_text = {
|
||||||
-- hl_group = "NonText",
|
-- hl_group = "NonText",
|
||||||
-- },
|
-- },
|
||||||
-- },
|
-- },
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
local cmp = require("cmp")
|
local cmp = require("cmp")
|
||||||
cmp.setup(opts)
|
cmp.setup(opts)
|
||||||
|
|
||||||
-- insert () on function completion using autopairs
|
-- insert () on function completion using autopairs
|
||||||
local has_autopair, autopair = pcall(require, "nvim-autopairs.completion.cmp")
|
local has_autopair, autopair = pcall(require, "nvim-autopairs.completion.cmp")
|
||||||
if has_autopair then
|
if has_autopair then
|
||||||
cmp.event:on("confirm_done", autopair.on_confirm_done())
|
cmp.event:on("confirm_done", autopair.on_confirm_done())
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,6 @@ return {
|
||||||
local augroup = vim.api.nvim_create_augroup("Lsp", {})
|
local augroup = vim.api.nvim_create_augroup("Lsp", {})
|
||||||
|
|
||||||
for name, server_opts in pairs(opts.servers) do
|
for name, server_opts in pairs(opts.servers) do
|
||||||
|
|
||||||
local on_attach = function(_, bufnr)
|
local on_attach = function(_, bufnr)
|
||||||
vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
|
vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue