add snippet and complete more function

This commit is contained in:
gameloader 2022-10-10 17:40:13 +08:00
parent 81ef9d9ea1
commit c5128bda3c
10 changed files with 103 additions and 73 deletions

2
.gitignore vendored
View File

@ -1,3 +1 @@
./plugin/packer_compiled.lua
plugin plugin

1
ftplugin/markdown.lua Normal file
View File

@ -0,0 +1 @@
vim.cmd("TableModeEnable")

View File

@ -3,7 +3,7 @@ local M = {}
M.load_default_options = function() M.load_default_options = function()
local set_options = { local set_options = {
backup = false, -- creates a backup file backup = false, -- creates a backup file
clipboard = "unnamedplus", -- allows neovim to access the system clipboard clipboard = "unnamed", -- allows neovim to access the system clipboard
cmdheight = 1, -- more space in the neovim command line for displaying messages cmdheight = 1, -- more space in the neovim command line for displaying messages
completeopt = { "menuone", "noselect" }, completeopt = { "menuone", "noselect" },
conceallevel = 0, -- so that `` is visible in markdown files conceallevel = 0, -- so that `` is visible in markdown files

View File

@ -28,7 +28,7 @@ wk.register({
-- markdown 表格 -- markdown 表格
wk.register({ wk.register({
["<Leader>t"] = { ["<Leader>t"] = {
name = "+Table", name = "",
}, },
}) })
@ -105,6 +105,7 @@ wk.register({
b = { ":bp<CR>", "Last buffer" }, b = { ":bp<CR>", "Last buffer" },
n = { ":ls<CR>", "Buffer numbers" }, n = { ":ls<CR>", "Buffer numbers" },
t = { ":b ", "To buffer" }, t = { ":b ", "To buffer" },
c = { ":noh<CR>", "Cancel highlight" },
}, },
}) })
-- change left and right tab -- change left and right tab
@ -132,8 +133,16 @@ map("n", "f", ":Telescope find_files<CR>", opt)
pluginKeys.cmp = function(cmp) pluginKeys.cmp = function(cmp)
return { return {
-- next option -- next option
-- 下一个 ["<Tab>"] = cmp.mapping(function(fallback)
["<Tab>"] = cmp.mapping.select_next_item(), if cmp.visible() then
cmp.select_next_item()
elseif require("luasnip").expand_or_jumpable() then
require("luasnip").expand_or_jump()
else
fallback()
end
end, { "i", "s" }), -- 下一个
["<Up>"] = cmp.mapping.select_prev_item(), ["<Up>"] = cmp.mapping.select_prev_item(),
["<CR>"] = cmp.mapping.confirm({ ["<CR>"] = cmp.mapping.confirm({

View File

@ -1,67 +1,80 @@
local lspkind = require('lspkind') local lspkind = require("lspkind")
local cmp = require'cmp' local cmp = require("cmp")
cmp.setup { cmp.setup({
-- 指定 snippet 引擎 -- 指定 snippet 引擎
snippet = { snippet = {
expand = function(args) expand = function(args)
-- For `vsnip` users. -- For `vsnip` users.
vim.fn["vsnip#anonymous"](args.body) -- vim.fn["vsnip#anonymous"](args.body)
-- For `luasnip` users. -- For `luasnip` users.
-- require('luasnip').lsp_expand(args.body) require("luasnip").lsp_expand(args.body)
-- For `ultisnips` users. -- For `ultisnips` users.
-- vim.fn["UltiSnips#Anon"](args.body) -- vim.fn["UltiSnips#Anon"](args.body)
-- For `snippy` users. -- For `snippy` users.
-- require'snippy'.expand_snippet(args.body) -- require'snippy'.expand_snippet(args.body)
end, end,
}, },
-- 来源 -- 来源
sources = cmp.config.sources({ sources = cmp.config.sources({
{ name = 'nvim_lsp' }, { name = "nvim_lsp" },
-- For vsnip users. -- For vsnip users.
{ name = 'vsnip' }, -- { name = "vsnip" },
-- For luasnip users. -- For luasnip users.
-- { name = 'luasnip' }, { name = "luasnip" },
--For ultisnips users. --For ultisnips users.
-- { name = 'ultisnips' }, -- { name = 'ultisnips' },
-- -- For snippy users. -- -- For snippy users.
-- { name = 'snippy' }, -- { name = 'snippy' },
}, { { name = 'buffer' }, }, { { name = "buffer" }, { name = "path" } }),
{ name = 'path' }
}),
-- 快捷键 -- 快捷键
mapping = require('keybindings').cmp(cmp), mapping = require("keybindings").cmp(cmp),
-- 使用lspkind-nvim显示类型图标 -- 使用lspkind-nvim显示类型图标
formatting = { formatting = {
format = lspkind.cmp_format({ format = lspkind.cmp_format({
with_text = true, -- do not show text alongside icons with_text = true, -- do not show text alongside icons
maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters)
before = function (entry, vim_item) before = function(entry, vim_item)
-- Source 显示提示来源 -- Source 显示提示来源
vim_item.menu = "["..string.upper(entry.source.name).."]" vim_item.menu = "[" .. string.upper(entry.source.name) .. "]"
return vim_item return vim_item
end end,
}) }),
}, },
} experimental = { ghost_text = true },
})
-- Use buffer source for `/`. -- Use buffer source for `/`.
cmp.setup.cmdline('/', { cmp.setup.cmdline("/", {
sources = { sources = {
{ name = 'buffer' } { name = "buffer" },
} },
}) })
-- Use cmdline & path source for ':'. -- Use cmdline & path source for ':'.
cmp.setup.cmdline(':', { cmp.setup.cmdline(":", {
sources = cmp.config.sources({ sources = cmp.config.sources({
{ name = 'path' } { name = "path" },
}, { }, {
{ name = 'cmdline' } { name = "cmdline" },
}) }),
}) })
-- 浮窗参数提示
local signature_config = {
debug = true,
hint_enable = false,
handler_opts = { border = "single" },
max_width = 80,
}
require("lsp_signature").setup(signature_config)
-- 补全时自动添加括号
local cmp_autopairs = require("nvim-autopairs.completion.cmp")
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({ map_char = { tex = "" } }))

View File

@ -1,7 +1,5 @@
local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
-- 每次自动选择null-ls作为formatter auto choose null-ls as formatter
-- 每次自动选择null-ls作为formatter
-- auto choose null-ls as formatter
local lsp_formatting = function(bufnr) local lsp_formatting = function(bufnr)
vim.lsp.buf.format({ vim.lsp.buf.format({
filter = function(client) filter = function(client)

View File

@ -1,7 +1,7 @@
require("lualine").setup({ require("lualine").setup({
options = { options = {
icons_enabled = true, icons_enabled = true,
theme = "", -- theme = "auto",
component_separators = { left = "", right = "" }, component_separators = { left = "", right = "" },
section_separators = { left = "", right = "" }, section_separators = { left = "", right = "" },
disabled_filetypes = { disabled_filetypes = {

View File

@ -1,2 +1,10 @@
require('notify').setup{ require("notify").setup({})
}
local notify = vim.notify
vim.notify = function(msg, ...)
if msg:match("warning: multiple different client offset_encodings") then
return
end
notify(msg, ...)
end

View File

@ -1,3 +1,3 @@
require('nvim-autopairs').setup({ require("nvim-autopairs").setup({
enable_check_bracket_line = true enable_check_bracket_line = true,
}) })

View File

@ -137,9 +137,12 @@ return require("packer").startup(function()
-- 补全引擎 -- 补全引擎
use("hrsh7th/nvim-cmp") use("hrsh7th/nvim-cmp")
-- Snippet 引擎 -- Snippet 引擎
use("hrsh7th/vim-vsnip") use({ "L3MON4D3/LuaSnip" })
-- use("hrsh7th/vim-vsnip")
-- 补全源 -- 补全源
use("hrsh7th/cmp-vsnip") -- use("hrsh7th/cmp-vsnip")
use({ "ray-x/lsp_signature.nvim" })
use({ "saadparwaiz1/cmp_luasnip" })
use("hrsh7th/cmp-nvim-lsp") -- { name = nvim_lsp } use("hrsh7th/cmp-nvim-lsp") -- { name = nvim_lsp }
use("hrsh7th/cmp-buffer") -- { name = 'buffer' }, use("hrsh7th/cmp-buffer") -- { name = 'buffer' },
use("hrsh7th/cmp-path") -- { name = 'path' } use("hrsh7th/cmp-path") -- { name = 'path' }