initial: with copilot addon

This commit is contained in:
squarePotatoe
2026-08-26 12:59:09 +08:00
parent 94997c4f9f
commit 1008568c39
18 changed files with 779 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
require("nvim-autopairs").setup({})
+16
View File
@@ -0,0 +1,16 @@
require("nvim-ts-autotag").setup({
opts = {
-- Defaults
enable_close = true, -- Auto close tags
enable_rename = true, -- Auto rename pairs of tags
enable_close_on_slash = false, -- Auto close on trailing </
},
-- Also override individual filetype configs, these take priority.
-- Empty by default, useful if one of the "opts" global settings
-- doesn't work well in a specific filetype
per_filetype = {
["html"] = {
enable_close = false,
},
},
})
+23
View File
@@ -0,0 +1,23 @@
local cmp = require("blink.cmp")
cmp.setup({
keymap = {
preset = "default",
["<Tab>"] = { "accept", "fallback" },
["<C><leader>"] = { "show" },
},
appearance = {
nerd_font_variant = "mono",
},
sources = {
default = { "lsp", "path", "snippets", "buffer" },
},
completion = {
documentation = {
auto_show = true,
auto_show_delay_ms = 200,
},
accept = {
auto_brackets = { enabled = true },
},
},
})
+16
View File
@@ -0,0 +1,16 @@
require("conform").setup({
formatter_by_ft = {
lua = { "stylua" },
javascript = { "prettierd", "prettier", stop_after_first = true },
json = { "prettierd", "prettier", stop_after_first = true },
vue = { "prettierd", "prettier", stop_after_first = true },
php = { "pint" },
},
format_on_save = {
timeout_ms = 500,
lsp_format = "fallback",
},
default_format_ops = {
lsp_format = "fallback",
},
})
+39
View File
@@ -0,0 +1,39 @@
require("CopilotChat").setup({
providers = {
my_mac = {
get_url = function(otps)
return "http://192.168.8.10:11434/v1"
end,
get_models = function()
return { { id = "qwen2.5:14b" } }
end,
prepare_input = require("CopilotChat.config.providers").copilot.prepare_input,
prepare_output = require("CopilotChat.config.providers").copilot.prepare_output,
},
},
})
vim.g.copilot_no_tab_map = true
vim.g.copilot_enabled = false
vim.keymap.set("n", "<leader>cc", ":CopilotChat<CR>", { desc = "Open Copilot Chat" })
vim.keymap.set("n", "<leader>cr", ":CopilotChatRestart<CR>", { desc = "Restart Copilot Chat" })
vim.keymap.set("n", "<leader>cs", ":CopilotChatStop<CR>", { desc = "Stop Copilot Chat" })
vim.keymap.set("n", "<leader>ca", ":CopilotChatAccept<CR>", { desc = "Accept Copilot Chat Suggestion" })
vim.keymap.set("n", "<leader>cn", ":CopilotChatNext<CR>", { desc = "Next Copilot Chat Suggestion" })
vim.keymap.set("n", "<leader>cp", ":CopilotChatPrev<CR>", { desc = "Previous Copilot Chat Suggestion" })
vim.keymap.set("n", "<leader>cd", ":CopilotChatClose<CR>", { desc = "Dismiss Copilot Chat" })
local function toggle_copilot()
local copilot_enabled = vim.g.copilot_enabled
if copilot_enabled == 1 then
vim.cmd("Copilot disable")
print("Copilot disabled")
else
vim.cmd("Copilot enable")
print("Copilot enabled")
end
end
vim.keymap.set("n", "<leader>ct", toggle_copilot, { desc = "Toggle Copilot" })
+5
View File
@@ -0,0 +1,5 @@
require("diffview").setup({})
vim.keymap.set("n", "<leader>do", ":DiffviewOpen<CR>")
vim.keymap.set("n", "<leader>dc", ":DiffviewClose<CR>")
vim.keymap.set("n", "<leader>dh", ":DiffviewFileHistory<CR>")
+23
View File
@@ -0,0 +1,23 @@
require("fzf-lua").setup({})
-- FZF-KEYMAPS
vim.keymap.set("n", "<leader>ff", function()
require("fzf-lua").files()
end, { desc = "FZF Files" })
vim.keymap.set("n", "<leader>fg", function()
require("fzf-lua").live_grep()
end, { desc = "FZF Live Grep" })
vim.keymap.set("n", "<leader>fb", function()
require("fzf-lua").buffers()
end, { desc = "FZF Buffers" })
vim.keymap.set("n", "<leader>fh", function()
require("fzf-lua").help_tags()
end, { desc = "FZF Help Tags" })
vim.keymap.set("n", "<leader>fx", function()
require("fzf-lua").diagnostics_document()
end, { desc = "FZF Diagnostics Document" })
vim.keymap.set("n", "<leader>fX", function()
require("fzf-lua").diagnostics_workspace()
end, { desc = "FZF Diagnostics Workspace" })
+76
View File
@@ -0,0 +1,76 @@
require("gitsigns").setup({
signs = {
add = { text = "\u{2590}" }, -- ▏
change = { text = "\u{2590}" }, -- ▐
delete = { text = "\u{2590}" }, -- ◦
topdelete = { text = "\u{25e6}" }, -- ◦
changedelete = { text = "\u{25cf}" }, -- ●
untracked = { text = "\u{25cb}" }, -- ○
},
signcolumn = true,
current_line_blame = false,
on_attach = function(bufnr)
local gitsigns = require('gitsigns')
local function map(mode, l, r, opts)
opts = opts or {}
opts.buffer = bufnr
vim.keymap.set(mode, l, r, opts)
end
-- Navigation
map('n', ']c', function()
if vim.wo.diff then
vim.cmd.normal({']c', bang = true})
else
gitsigns.nav_hunk('next')
end
end)
map('n', '[c', function()
if vim.wo.diff then
vim.cmd.normal({'[c', bang = true})
else
gitsigns.nav_hunk('prev')
end
end)
-- Actions
map('n', '<leader>hs', gitsigns.stage_hunk)
map('n', '<leader>hr', gitsigns.reset_hunk)
map('v', '<leader>hs', function()
gitsigns.stage_hunk({ vim.fn.line('.'), vim.fn.line('v') })
end)
map('v', '<leader>hr', function()
gitsigns.reset_hunk({ vim.fn.line('.'), vim.fn.line('v') })
end)
map('n', '<leader>hS', gitsigns.stage_buffer)
map('n', '<leader>hR', gitsigns.reset_buffer)
map('n', '<leader>hp', gitsigns.preview_hunk)
map('n', '<leader>hi', gitsigns.preview_hunk_inline)
map('n', '<leader>hb', function()
gitsigns.blame_line({ full = true })
end)
map('n', '<leader>hd', gitsigns.diffthis)
map('n', '<leader>hD', function()
gitsigns.diffthis('~')
end)
map('n', '<leader>hQ', function() gitsigns.setqflist('all') end)
map('n', '<leader>hq', gitsigns.setqflist)
-- Toggles
map('n', '<leader>tb', gitsigns.toggle_current_line_blame)
map('n', '<leader>tw', gitsigns.toggle_word_diff)
-- Text object
map({'o', 'x'}, 'ih', gitsigns.select_hunk)
end
})