mirror of https://github.com/LazyVim/starter
add auto change line
parent
840ee35eb3
commit
dfc2ef548f
|
@ -1,12 +1,10 @@
|
||||||
{
|
{
|
||||||
"CopilotChat.nvim": { "branch": "main", "commit": "16d897fd43d07e3b54478ccdb2f8a16e4df4f45a" },
|
"CopilotChat.nvim": { "branch": "main", "commit": "16d897fd43d07e3b54478ccdb2f8a16e4df4f45a" },
|
||||||
"LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" },
|
"LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" },
|
||||||
"blink-cmp-copilot": { "branch": "main", "commit": "439cff78780c033aa23cf061d7315314b347e3c1" },
|
|
||||||
"blink.cmp": { "branch": "main", "commit": "022521a8910a5543b0251b21c9e1a1e989745796" },
|
"blink.cmp": { "branch": "main", "commit": "022521a8910a5543b0251b21c9e1a1e989745796" },
|
||||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||||
"catppuccin": { "branch": "main", "commit": "be1e5e6308bb9d016bf5c1565e0f1d5e46400d7a" },
|
"catppuccin": { "branch": "main", "commit": "56a9dfd1e05868cf3189369aad87242941396563" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "6feb2f28f9a9385e401857b21eeac3c1b66dd628" },
|
"conform.nvim": { "branch": "master", "commit": "6feb2f28f9a9385e401857b21eeac3c1b66dd628" },
|
||||||
"copilot.lua": { "branch": "master", "commit": "a620a5a97b73faba009a8160bab2885316e1451c" },
|
|
||||||
"copilot.vim": { "branch": "release", "commit": "d1e8429bef7f7709586886b0a23a46fbecc685c4" },
|
"copilot.vim": { "branch": "release", "commit": "d1e8429bef7f7709586886b0a23a46fbecc685c4" },
|
||||||
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
|
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||||
|
@ -17,6 +15,7 @@
|
||||||
"lualine.nvim": { "branch": "master", "commit": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af" },
|
"lualine.nvim": { "branch": "master", "commit": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af" },
|
||||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
|
||||||
|
"mason-nvim-dap.nvim": { "branch": "main", "commit": "4c2cdc69d69fe00c15ae8648f7e954d99e5de3ea" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
|
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
|
||||||
"mini.ai": { "branch": "main", "commit": "b91997d220086e92edc1fec5ce82094dcc234291" },
|
"mini.ai": { "branch": "main", "commit": "b91997d220086e92edc1fec5ce82094dcc234291" },
|
||||||
"mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" },
|
"mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" },
|
||||||
|
@ -26,14 +25,16 @@
|
||||||
"neotest": { "branch": "master", "commit": "ef492755730e59e1d8122c461abbd086bee4c76b" },
|
"neotest": { "branch": "master", "commit": "ef492755730e59e1d8122c461abbd086bee4c76b" },
|
||||||
"neotest-python": { "branch": "master", "commit": "a2861ab3c9a0bf75a56b11835c2bfc8270f5be7e" },
|
"neotest-python": { "branch": "master", "commit": "a2861ab3c9a0bf75a56b11835c2bfc8270f5be7e" },
|
||||||
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
|
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
|
||||||
"nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" },
|
"nui.nvim": { "branch": "main", "commit": "7cd18e73cfbd70e1546931b7268b3eebaeff9391" },
|
||||||
"nvim-dap": { "branch": "master", "commit": "b0f983507e3702f073bfe1516846e58b56d4e42f" },
|
"nvim-dap": { "branch": "master", "commit": "b0f983507e3702f073bfe1516846e58b56d4e42f" },
|
||||||
"nvim-dap-python": { "branch": "master", "commit": "261ce649d05bc455a29f9636dc03f8cdaa7e0e2c" },
|
"nvim-dap-python": { "branch": "master", "commit": "261ce649d05bc455a29f9636dc03f8cdaa7e0e2c" },
|
||||||
|
"nvim-dap-ui": { "branch": "master", "commit": "73a26abf4941aa27da59820fd6b028ebcdbcf932" },
|
||||||
|
"nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" },
|
||||||
"nvim-lint": { "branch": "master", "commit": "b47cbb249351873e3a571751c3fb66ed6369852f" },
|
"nvim-lint": { "branch": "master", "commit": "b47cbb249351873e3a571751c3fb66ed6369852f" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "3ea99227e316c5028f57a4d86a1a7fd01dd876d0" },
|
"nvim-lspconfig": { "branch": "master", "commit": "d45702594afc661a9dfa95e96acf18c56006d4d9" },
|
||||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||||
"nvim-treesitter-context": { "branch": "master", "commit": "404502e607c3b309e405be9112c438c721153372" },
|
"nvim-treesitter-context": { "branch": "master", "commit": "153a076598076bf5664ab868fb01d3418ecffce9" },
|
||||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "0f051e9813a36481f48ca1f833897210dbcfffde" },
|
"nvim-treesitter-textobjects": { "branch": "master", "commit": "0f051e9813a36481f48ca1f833897210dbcfffde" },
|
||||||
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
|
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
|
||||||
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
|
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
|
||||||
|
@ -43,6 +44,7 @@
|
||||||
"render-markdown.nvim": { "branch": "main", "commit": "df64d5d5432e13026a79384ec4e2bab185fd4eb5" },
|
"render-markdown.nvim": { "branch": "main", "commit": "df64d5d5432e13026a79384ec4e2bab185fd4eb5" },
|
||||||
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
|
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
|
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
|
||||||
|
"texlab": { "branch": "master", "commit": "86d5a3c9ad0c20855fe8441834d36d8e3f92e6d7" },
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||||
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
|
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
|
||||||
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
|
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
"extras": [
|
"extras": [
|
||||||
"lazyvim.plugins.extras.coding.mini-surround",
|
"lazyvim.plugins.extras.coding.mini-surround",
|
||||||
"lazyvim.plugins.extras.coding.yanky",
|
"lazyvim.plugins.extras.coding.yanky",
|
||||||
|
"lazyvim.plugins.extras.dap.core",
|
||||||
"lazyvim.plugins.extras.editor.refactoring",
|
"lazyvim.plugins.extras.editor.refactoring",
|
||||||
"lazyvim.plugins.extras.lang.markdown",
|
"lazyvim.plugins.extras.lang.markdown",
|
||||||
"lazyvim.plugins.extras.lang.python",
|
"lazyvim.plugins.extras.lang.python",
|
||||||
|
|
|
@ -16,22 +16,38 @@ end
|
||||||
vim.keymap.set("v", "x", '"_x', { noremap = true, desc = "Delete selection with Backspace" })
|
vim.keymap.set("v", "x", '"_x', { noremap = true, desc = "Delete selection with Backspace" })
|
||||||
map_all_mode("<F5>", function()
|
map_all_mode("<F5>", function()
|
||||||
require("dap").continue()
|
require("dap").continue()
|
||||||
end, { desc = "DAP: Continue" })
|
end, { desc = "Dap: Continue" })
|
||||||
map_all_mode("<F6>", function()
|
map_all_mode("<F6>", function()
|
||||||
require("dap").run_last()
|
require("dap").run_last()
|
||||||
end, { desc = "DAP: Use last config" })
|
end, { desc = "Dap: Use last config" })
|
||||||
map_all_mode("<F10>", function()
|
map_all_mode("<F10>", function()
|
||||||
require("dap").step_over()
|
require("dap").step_over()
|
||||||
end, { desc = "DAP: Step Over" })
|
end, { desc = "Dap: Step Over" })
|
||||||
map_all_mode("<F11>", function()
|
map_all_mode("<F11>", function()
|
||||||
require("dap").step_into()
|
require("dap").step_into()
|
||||||
end, { desc = "DAP: Step Into" })
|
end, { desc = "Dap: Step Into" })
|
||||||
map_all_mode("<F12>", function()
|
map_all_mode("<F12>", function()
|
||||||
require("dap").step_out()
|
require("dap").step_out()
|
||||||
end, { desc = "DAP: Step Out" })
|
end, { desc = "Dap: Step Out" })
|
||||||
vim.keymap.set("n", "\\b", function()
|
vim.keymap.set("n", "\\b", function()
|
||||||
require("dap").toggle_breakpoint()
|
require("dap").toggle_breakpoint()
|
||||||
end, { desc = "DAP: Toggle Breakpoint" })
|
end, { desc = "Dap: Toggle Breakpoint" })
|
||||||
|
vim.keymap.set("n", "\\dr", function()
|
||||||
|
require("dap").repl.open()
|
||||||
|
end, { desc = "Dap: Open REPL" })
|
||||||
|
vim.keymap.set({ "n", "v" }, "\\dh", function()
|
||||||
|
require("dap.ui.widgets").hover()
|
||||||
|
end, { desc = "Print variable (Hover Mode)" })
|
||||||
|
vim.keymap.set({ "n", "v" }, "\\dp", function()
|
||||||
|
require("dap.ui.widgets").preview()
|
||||||
|
end, { desc = "Print variable (Preview Mode)" })
|
||||||
|
-- TODO: remove this
|
||||||
|
-- vim.keymap.set("n", "\\dt", function()
|
||||||
|
-- require("dapui").toggle()
|
||||||
|
-- end, { desc = "Toggle debug GUI" })
|
||||||
|
-- vim.keymap.set({ "n", "v" }, "\\de", function()
|
||||||
|
-- require("dapui").eval()
|
||||||
|
-- end, { desc = "Eval variable" })
|
||||||
|
|
||||||
-- Now configure shortcuts for MacOS
|
-- Now configure shortcuts for MacOS
|
||||||
-- if vim.g.neovide then
|
-- if vim.g.neovide then
|
||||||
|
@ -52,90 +68,37 @@ vim.keymap.set("v", "<D-c>", '"+y', { desc = "Copy to clipboard in visual mode"
|
||||||
vim.keymap.set("v", "<D-x>", '"+d', { desc = "Cut to clipboard" })
|
vim.keymap.set("v", "<D-x>", '"+d', { desc = "Cut to clipboard" })
|
||||||
map_nv("<D-a>", "gg<S-v>G", { desc = "Select all" })
|
map_nv("<D-a>", "gg<S-v>G", { desc = "Select all" })
|
||||||
-- end
|
-- end
|
||||||
local function get_environments_from_lsp_symbols(symbols)
|
|
||||||
local blocks = {}
|
|
||||||
local lsp_symbol_kind = vim.lsp.protocol.SymbolKind -- Access the SymbolKind enum
|
|
||||||
|
|
||||||
local function traverse(nodes)
|
|
||||||
for _, symbol in ipairs(nodes) do
|
|
||||||
-- We check for 'Struct' which texlab uses for most \begin{}...\end{} blocks.
|
|
||||||
-- You could add other kinds here if your LSP server uses them.
|
|
||||||
if symbol.kind == lsp_symbol_kind.Struct then
|
|
||||||
table.insert(blocks, {
|
|
||||||
-- lnum is 0-indexed from LSP, so we add 1 for vim
|
|
||||||
lnum = symbol.range.start.line + 1,
|
|
||||||
-- 'text' is the name of the environment (e.g., "figure", "itemize")
|
|
||||||
text = "\\begin{" .. symbol.name .. "}",
|
|
||||||
})
|
|
||||||
end
|
|
||||||
-- Recursively search in child symbols
|
|
||||||
if symbol.children and #symbol.children > 0 then
|
|
||||||
traverse(symbol.children)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
traverse(symbols)
|
|
||||||
return blocks
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Set the keymap <leader>fg to trigger the picker
|
-- Set the keymap <leader>fg to trigger the picker
|
||||||
vim.keymap.set("n", "<leader>fg", function()
|
-- vim.keymap.set("n", "<leader>fg", function()
|
||||||
local Snacks = require("snacks")
|
-- local Snacks = require("snacks")
|
||||||
return Snacks.picker({
|
-- return Snacks.picker({
|
||||||
finder = "lsp_symbols", -- Use the LSP symbols as the source
|
-- finder = "lsp_symbols", -- Use the LSP symbols as the source
|
||||||
layout = {
|
-- layout = {
|
||||||
layout = {
|
-- layout = {
|
||||||
box = "horizontal",
|
-- box = "horizontal",
|
||||||
width = 0.5,
|
-- width = 0.5,
|
||||||
height = 0.5,
|
-- height = 0.5,
|
||||||
{
|
-- {
|
||||||
box = "vertical",
|
-- box = "vertical",
|
||||||
border = "rounded",
|
-- border = "rounded",
|
||||||
title = "Find directory",
|
-- title = "Find directory",
|
||||||
{ win = "input", height = 1, border = "bottom" },
|
-- { win = "input", height = 1, border = "bottom" },
|
||||||
{ win = "list", border = "none" },
|
-- { win = "list", border = "none" },
|
||||||
},
|
-- },
|
||||||
},
|
-- },
|
||||||
},
|
-- },
|
||||||
format = 'lsp_symbol',
|
-- format = 'lsp_symbol',
|
||||||
confirm = function(picker, item)
|
-- confirm = function(picker, item)
|
||||||
picker:close()
|
-- picker:close()
|
||||||
Snacks.picker.pick("files", {
|
-- Snacks.picker.pick("files", {
|
||||||
dirs = { item.file },
|
-- dirs = { item.file },
|
||||||
})
|
-- })
|
||||||
end,
|
-- end,
|
||||||
filter = {
|
-- filter = {
|
||||||
tex = true,
|
-- tex = true,
|
||||||
}
|
-- }
|
||||||
})
|
-- })
|
||||||
end
|
-- end
|
||||||
, { desc = "Find LaTeX environments using LSP" }) -- Updated description
|
-- , { desc = "Find LaTeX environments using LSP" }) -- Updated description
|
||||||
local function get_symbols()
|
|
||||||
-- 1. 检查texlab是否已附加到当前缓冲区
|
|
||||||
local clients = vim.lsp.get_clients({ bufnr = 0 })
|
|
||||||
local texlab_found = false
|
|
||||||
local bufnr = vim.api.nvim_get_current_buf()
|
|
||||||
for _, client in ipairs(clients) do
|
|
||||||
if client.name == "texlab" then
|
|
||||||
texlab_found = true
|
|
||||||
client.request("textDocument/documentSymbol", {
|
|
||||||
textDocument = vim.lsp.util.make_text_document_params(bufnr),
|
|
||||||
}, function(err, result, ctx, config)
|
|
||||||
if err then
|
|
||||||
print("Error:", vim.inspect(err))
|
|
||||||
return
|
|
||||||
end
|
|
||||||
print("texlab symbols:", vim.inspect(result))
|
|
||||||
end, bufnr)
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if not texlab_found then
|
|
||||||
vim.notify("Texlab LSP 未附加到当前缓冲区。", vim.log.levels.WARN)
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.notify("正在向 texlab 请求文档结构...", vim.log.levels.INFO)
|
|
||||||
end
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
-- Add any additional options here
|
-- Add any additional options here
|
||||||
vim.o.clipboard = ""
|
vim.o.clipboard = ""
|
||||||
vim.o.guifont = "Monaco:h16"
|
vim.o.guifont = "Monaco:h16"
|
||||||
|
vim.cmd('set wrap')
|
||||||
local dap = require("dap")
|
local dap = require("dap")
|
||||||
|
|
||||||
dap.adapters.python = {
|
dap.adapters.python = {
|
||||||
|
|
|
@ -20,6 +20,17 @@ return {
|
||||||
vim.cmd.colorscheme("molokai")
|
vim.cmd.colorscheme("molokai")
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"folke/which-key.nvim",
|
||||||
|
--TODO: Try to use this without warning
|
||||||
|
-- opts = function(_, opts)
|
||||||
|
-- -- 添加 '\' 开头的提示组
|
||||||
|
-- opts.defaults["\\"] = {
|
||||||
|
-- name = "\\", -- 或你喜欢的名字,比如 '+custom'
|
||||||
|
-- d = { name = "+debug" }, -- 这样会提示 \d 有 "debug" 的子命令
|
||||||
|
-- }
|
||||||
|
-- end,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"lervag/vimtex",
|
"lervag/vimtex",
|
||||||
lazy = false, -- we don't want to lazy load VimTeX
|
lazy = false, -- we don't want to lazy load VimTeX
|
||||||
|
@ -138,7 +149,43 @@ return {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"latex-lsp/texlab",
|
"latex-lsp/texlab",
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
"rcarriga/nvim-dap-ui",
|
||||||
|
dependencies = { "nvim-neotest/nvim-nio" },
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>du",
|
||||||
|
function()
|
||||||
|
require("dapui").toggle {}
|
||||||
|
end,
|
||||||
|
desc = "Dap UI",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>de",
|
||||||
|
function()
|
||||||
|
require("dapui").eval()
|
||||||
|
end,
|
||||||
|
desc = "Eval",
|
||||||
|
mode = { "n", "v" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
opts = {},
|
||||||
|
config = function(_, opts)
|
||||||
|
local dap = require "dap"
|
||||||
|
local dapui = require "dapui"
|
||||||
|
dapui.setup(opts)
|
||||||
|
dap.listeners.after.event_initialized["dapui_config"] = function()
|
||||||
|
dap.repl.open()
|
||||||
|
end
|
||||||
|
-- dap.listeners.before.event_terminated["dapui_config"] = function()
|
||||||
|
-- dapui.close {}
|
||||||
|
-- end
|
||||||
|
-- dap.listeners.before.event_exited["dapui_config"] = function()
|
||||||
|
-- dapui.close {}
|
||||||
|
-- end
|
||||||
|
end,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
|
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
|
||||||
--
|
--
|
||||||
|
|
Loading…
Reference in New Issue