initial: with copilot addon
This commit is contained in:
@@ -0,0 +1 @@
|
||||
require("nvim-autopairs").setup({})
|
||||
@@ -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,
|
||||
},
|
||||
},
|
||||
})
|
||||
@@ -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 },
|
||||
},
|
||||
},
|
||||
})
|
||||
@@ -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",
|
||||
},
|
||||
})
|
||||
@@ -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" })
|
||||
@@ -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>")
|
||||
@@ -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" })
|
||||
|
||||
|
||||
@@ -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
|
||||
})
|
||||
Reference in New Issue
Block a user