Compare commits

..

6 Commits

5 changed files with 269 additions and 163 deletions

View File

@ -1,3 +1,6 @@
[main] [main]
font=MesloLGS NF:size=10, Noto Color Emoji:size=10,Source Code Pro:size=10,monofur:size=10, font=MesloLGS NF:size=10, Noto Color Emoji:size=10,Source Code Pro:size=10,monofur:size=10,
initial-window-size-chars=220x60 initial-window-size-chars=220x60
[key-bindings]
fullscreen=F11

View File

@ -0,0 +1,8 @@
return {
{
"Zeioth/hot-reload.nvim",
dependencies = "nvim-lua/plenary.nvim",
event = "BufEnter",
opts = {}
}
}

View File

@ -475,8 +475,8 @@ return {
-- 自行加入的 -- 自行加入的
source_selector = { source_selector = {
winbar = false, winbar = true,
statusline = false statusline = true
} }
}, },
config = function(_, opts) config = function(_, opts)
@ -502,6 +502,17 @@ return {
require("neo-tree").setup(opts) require("neo-tree").setup(opts)
-- 打Patch暫時解決winbar與nui.nvim 不完全兼容錯誤
-- [Neo-tree ERROR] debounce neo-tree-follow error: ~/.local/share/nvim/lazy/nui.nvim/lua/nui/tree/init.lua:261: Invalid 'window': Expected Lua number
local Tree = require("nui.tree")
local old_set_win = Tree.set_win
Tree.set_win = function(self, window)
if type(window) ~= "number" or not vim.api.nvim_win_is_valid(window) then
return
end
return old_set_win(self, window)
end
-- vim.keymap.set("n", "<leader>e", "<Cmd>Neotree reveal<CR>") -- vim.keymap.set("n", "<leader>e", "<Cmd>Neotree reveal<CR>")
-- 自動命令:啟動時自動顯示 Neo-tree -- 自動命令:啟動時自動顯示 Neo-tree

View File

@ -1,171 +1,243 @@
-- if true then return {} end -- 先停用 -- if true then return {} end -- 先停用
return { return {
{
'dstein64/nvim-scrollview', 'dstein64/nvim-scrollview',
config = function() opts = {
require('scrollview').setup({
current_only = true, current_only = true,
-- base = 'buffer', -- base = 'buffer',
-- column = 80, -- 註解掉這行,讓它自己決定位置 -- column = 80, -- 註解掉這行,讓它自己決定位置
-- excluded_filetypes = { 'neo-tree', 'help' }, -- excluded_filetypes = { 'neo-tree', 'help' },
signs_on_startup = { 'all' }, signs_on_startup = { 'all' },
diagnostics_severities = { vim.diagnostic.severity.ERROR }, diagnostics_severities = { vim.diagnostic.severity.ERROR },
}) },
config = function(_, opts)
require('scrollview').setup(opts)
end, end,
} },
-- return { -- {
-- { "petertriho/nvim-scrollbar", -- 'wfxr/minimap.vim',
-- cond = true, -- config = function()
-- config = function() -- vim.g.minimap_width = 10
-- require("scrollbar").setup({ -- vim.g.minimap_auto_start = 1
-- show = true, -- vim.g.minimap_auto_start_win_enter = 1
-- show_in_active_only = false, -- end,
-- set_highlights = true, -- }
-- folds = 1000, -- handle folds, set to number to disable folds if no. of lines in buffer exceeds this -- {
-- max_lines = false, -- disables if no. of lines in buffer exceeds this -- 'gorbit99/codewindow.nvim',
-- hide_if_all_visible = false, -- Hides everything if all lines are visible -- config = function()
-- throttle_ms = 100, -- local codewindow = require('codewindow')
-- handle = { -- codewindow.setup()
-- text = " ", -- codewindow.apply_default_keybinds()
-- blend = 30, -- Integer between 0 and 100. 0 for fully opaque and 100 to full transparent. Defaults to 30. -- end,
-- color = nil, -- },
-- color_nr = nil, -- cterm ---@module "neominimap.config.meta"
-- highlight = "CursorColumn", {
-- hide_if_all_visible = true, -- Hides handle if all lines are visible "Isrothy/neominimap.nvim",
-- }, version = "v3.x.x",
-- marks = { lazy = false, -- NOTE: NO NEED to Lazy load
-- Cursor = { -- Optional. You can alse set your own keybindings
-- text = "•", keys = {
-- priority = 0, -- Global Minimap Controls
-- gui = nil, { "<leader>nm", "<cmd>Neominimap Toggle<cr>", desc = "Toggle global minimap" },
-- color = nil, { "<leader>no", "<cmd>Neominimap Enable<cr>", desc = "Enable global minimap" },
-- cterm = nil, { "<leader>nc", "<cmd>Neominimap Disable<cr>", desc = "Disable global minimap" },
-- color_nr = nil, -- cterm { "<leader>nr", "<cmd>Neominimap Refresh<cr>", desc = "Refresh global minimap" },
-- highlight = "Normal",
-- }, -- Window-Specific Minimap Controls
-- Search = { { "<leader>nwt", "<cmd>Neominimap WinToggle<cr>", desc = "Toggle minimap for current window" },
-- text = { "-", "=" }, { "<leader>nwr", "<cmd>Neominimap WinRefresh<cr>", desc = "Refresh minimap for current window" },
-- priority = 1, { "<leader>nwo", "<cmd>Neominimap WinEnable<cr>", desc = "Enable minimap for current window" },
-- gui = nil, { "<leader>nwc", "<cmd>Neominimap WinDisable<cr>", desc = "Disable minimap for current window" },
-- color = nil,
-- cterm = nil, -- Tab-Specific Minimap Controls
-- color_nr = nil, -- cterm { "<leader>ntt", "<cmd>Neominimap TabToggle<cr>", desc = "Toggle minimap for current tab" },
-- highlight = "Search", { "<leader>ntr", "<cmd>Neominimap TabRefresh<cr>", desc = "Refresh minimap for current tab" },
-- }, { "<leader>nto", "<cmd>Neominimap TabEnable<cr>", desc = "Enable minimap for current tab" },
-- Error = { { "<leader>ntc", "<cmd>Neominimap TabDisable<cr>", desc = "Disable minimap for current tab" },
-- text = { "-", "=" },
-- priority = 2, -- Buffer-Specific Minimap Controls
-- gui = nil, { "<leader>nbt", "<cmd>Neominimap BufToggle<cr>", desc = "Toggle minimap for current buffer" },
-- color = nil, { "<leader>nbr", "<cmd>Neominimap BufRefresh<cr>", desc = "Refresh minimap for current buffer" },
-- cterm = nil, { "<leader>nbo", "<cmd>Neominimap BufEnable<cr>", desc = "Enable minimap for current buffer" },
-- color_nr = nil, -- cterm { "<leader>nbc", "<cmd>Neominimap BufDisable<cr>", desc = "Disable minimap for current buffer" },
-- highlight = "DiagnosticVirtualTextError",
-- }, ---Focus Controls
-- Warn = { { "<leader>nf", "<cmd>Neominimap Focus<cr>", desc = "Focus on minimap" },
-- text = { "-", "=" }, { "<leader>nu", "<cmd>Neominimap Unfocus<cr>", desc = "Unfocus minimap" },
-- priority = 3, { "<leader>ns", "<cmd>Neominimap ToggleFocus<cr>", desc = "Switch focus on minimap" },
-- gui = nil, },
-- color = nil, init = function()
-- cterm = nil, -- The following options are recommended when layout == "float"
-- color_nr = nil, -- cterm vim.opt.wrap = false
-- highlight = "DiagnosticVirtualTextWarn", vim.opt.sidescrolloff = 36 -- Set a large value
-- },
-- Info = { --- Put your configuration here
-- text = { "-", "=" }, ---@type Neominimap.UserConfig
-- priority = 4, vim.g.neominimap = {
-- gui = nil, auto_enable = true,
-- color = nil,
-- cterm = nil, click = {
-- color_nr = nil, -- cterm -- Enable mouse click on the minimap
-- highlight = "DiagnosticVirtualTextInfo", enabled = true, ---@type boolean
-- }, -- Automatically switch focus to the minimap when clicked
-- Hint = { auto_switch_focus = true, ---@type boolean
-- text = { "-", "=" }, },
-- priority = 5, }
-- gui = nil, end,
-- color = nil, }
-- cterm = nil, -- { "petertriho/nvim-scrollbar",
-- color_nr = nil, -- cterm -- cond = true,
-- highlight = "DiagnosticVirtualTextHint", -- config = function()
-- }, -- require("scrollbar").setup({
-- Misc = { -- show = true,
-- text = { "-", "=" }, -- show_in_active_only = false,
-- priority = 6, -- set_highlights = true,
-- gui = nil, -- folds = 1000, -- handle folds, set to number to disable folds if no. of lines in buffer exceeds this
-- color = nil, -- max_lines = false, -- disables if no. of lines in buffer exceeds this
-- cterm = nil, -- hide_if_all_visible = false, -- Hides everything if all lines are visible
-- color_nr = nil, -- cterm -- throttle_ms = 100,
-- highlight = "Normal", -- handle = {
-- }, -- text = " ",
-- GitAdd = { -- blend = 30, -- Integer between 0 and 100. 0 for fully opaque and 100 to full transparent. Defaults to 30.
-- text = "┆", -- color = nil,
-- priority = 7, -- color_nr = nil, -- cterm
-- gui = nil, -- highlight = "CursorColumn",
-- color = nil, -- hide_if_all_visible = true, -- Hides handle if all lines are visible
-- cterm = nil, -- },
-- color_nr = nil, -- cterm -- marks = {
-- highlight = "GitSignsAdd", -- Cursor = {
-- }, -- text = "•",
-- GitChange = { -- priority = 0,
-- text = "┆", -- gui = nil,
-- priority = 7, -- color = nil,
-- gui = nil, -- cterm = nil,
-- color = nil, -- color_nr = nil, -- cterm
-- cterm = nil, -- highlight = "Normal",
-- color_nr = nil, -- cterm -- },
-- highlight = "GitSignsChange", -- Search = {
-- }, -- text = { "-", "=" },
-- GitDelete = { -- priority = 1,
-- text = "▁", -- gui = nil,
-- priority = 7, -- color = nil,
-- gui = nil, -- cterm = nil,
-- color = nil, -- color_nr = nil, -- cterm
-- cterm = nil, -- highlight = "Search",
-- color_nr = nil, -- cterm -- },
-- highlight = "GitSignsDelete", -- Error = {
-- }, -- text = { "-", "=" },
-- }, -- priority = 2,
-- excluded_buftypes = { -- gui = nil,
-- "terminal", -- color = nil,
-- }, -- cterm = nil,
-- excluded_filetypes = { -- color_nr = nil, -- cterm
-- "dropbar_menu", -- highlight = "DiagnosticVirtualTextError",
-- "dropbar_menu_fzf", -- },
-- "DressingInput", -- Warn = {
-- "cmp_docs", -- text = { "-", "=" },
-- "cmp_menu", -- priority = 3,
-- "noice", -- gui = nil,
-- "prompt", -- color = nil,
-- "TelescopePrompt", -- cterm = nil,
-- }, -- color_nr = nil, -- cterm
-- autocmd = { -- highlight = "DiagnosticVirtualTextWarn",
-- render = { -- },
-- "BufWinEnter", -- Info = {
-- "TabEnter", -- text = { "-", "=" },
-- "TermEnter", -- priority = 4,
-- "WinEnter", -- gui = nil,
-- "CmdwinLeave", -- color = nil,
-- "TextChanged", -- cterm = nil,
-- "VimResized", -- color_nr = nil, -- cterm
-- "WinScrolled", -- highlight = "DiagnosticVirtualTextInfo",
-- }, -- },
-- clear = { -- Hint = {
-- "BufWinLeave", -- text = { "-", "=" },
-- "TabLeave", -- priority = 5,
-- "TermLeave", -- gui = nil,
-- "WinLeave", -- color = nil,
-- }, -- cterm = nil,
-- }, -- color_nr = nil, -- cterm
-- handlers = { -- highlight = "DiagnosticVirtualTextHint",
-- cursor = true, -- },
-- diagnostic = true, -- Misc = {
-- gitsigns = false, -- Requires gitsigns -- text = { "-", "=" },
-- handle = true, -- priority = 6,
-- search = false, -- Requires hlslens -- gui = nil,
-- ale = false, -- Requires ALE -- color = nil,
-- }, -- cterm = nil,
-- }) -- color_nr = nil, -- cterm
-- end -- highlight = "Normal",
-- }, -- },
-- } -- GitAdd = {
-- text = "┆",
-- priority = 7,
-- gui = nil,
-- color = nil,
-- cterm = nil,
-- color_nr = nil, -- cterm
-- highlight = "GitSignsAdd",
-- },
-- GitChange = {
-- text = "┆",
-- priority = 7,
-- gui = nil,
-- color = nil,
-- cterm = nil,
-- color_nr = nil, -- cterm
-- highlight = "GitSignsChange",
-- },
-- GitDelete = {
-- text = "▁",
-- priority = 7,
-- gui = nil,
-- color = nil,
-- cterm = nil,
-- color_nr = nil, -- cterm
-- highlight = "GitSignsDelete",
-- },
-- },
-- excluded_buftypes = {
-- "terminal",
-- },
-- excluded_filetypes = {
-- "dropbar_menu",
-- "dropbar_menu_fzf",
-- "DressingInput",
-- "cmp_docs",
-- "cmp_menu",
-- "noice",
-- "prompt",
-- "TelescopePrompt",
-- },
-- autocmd = {
-- render = {
-- "BufWinEnter",
-- "TabEnter",
-- "TermEnter",
-- "WinEnter",
-- "CmdwinLeave",
-- "TextChanged",
-- "VimResized",
-- "WinScrolled",
-- },
-- clear = {
-- "BufWinLeave",
-- "TabLeave",
-- "TermLeave",
-- "WinLeave",
-- },
-- },
-- handlers = {
-- cursor = true,
-- diagnostic = true,
-- gitsigns = false, -- Requires gitsigns
-- handle = true,
-- search = false, -- Requires hlslens
-- ale = false, -- Requires ALE
-- },
-- })
-- end
-- },
}

View File

@ -2,3 +2,15 @@ vim.g.lsp_position_encoding = 'utf-16'
require("lsp.config.mason") require("lsp.config.mason")
require("lsp.config.lspconfig") require("lsp.config.lspconfig")
require("lsp.config.cmp") require("lsp.config.cmp")
-- 處理nvim一直都會跳警告
-- position_encoding param is required in vim.lsp.util.make_position_params. Defaulting to position encoding of the first client.
-- 目前無法處理,需要等待大多數來自 plugin 尚未更新以配合 Neovim 0.10+的套件修正,先手動抑制
-- 臨時抑制這類 LSP 訊息
vim.notify = function(msg, log_level, _)
if msg:match("position_encoding param is required") then
return
end
vim.api.nvim_notify(msg, log_level, {})
end