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,20 +1,92 @@
-- 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,
},
-- {
-- 'wfxr/minimap.vim',
-- config = function()
-- vim.g.minimap_width = 10
-- vim.g.minimap_auto_start = 1
-- vim.g.minimap_auto_start_win_enter = 1
-- end,
-- }
-- {
-- 'gorbit99/codewindow.nvim',
-- config = function()
-- local codewindow = require('codewindow')
-- codewindow.setup()
-- codewindow.apply_default_keybinds()
-- end,
-- },
---@module "neominimap.config.meta"
{
"Isrothy/neominimap.nvim",
version = "v3.x.x",
lazy = false, -- NOTE: NO NEED to Lazy load
-- Optional. You can alse set your own keybindings
keys = {
-- Global Minimap Controls
{ "<leader>nm", "<cmd>Neominimap Toggle<cr>", desc = "Toggle global minimap" },
{ "<leader>no", "<cmd>Neominimap Enable<cr>", desc = "Enable global minimap" },
{ "<leader>nc", "<cmd>Neominimap Disable<cr>", desc = "Disable global minimap" },
{ "<leader>nr", "<cmd>Neominimap Refresh<cr>", desc = "Refresh global minimap" },
-- Window-Specific Minimap Controls
{ "<leader>nwt", "<cmd>Neominimap WinToggle<cr>", desc = "Toggle minimap for current window" },
{ "<leader>nwr", "<cmd>Neominimap WinRefresh<cr>", desc = "Refresh minimap for current window" },
{ "<leader>nwo", "<cmd>Neominimap WinEnable<cr>", desc = "Enable minimap for current window" },
{ "<leader>nwc", "<cmd>Neominimap WinDisable<cr>", desc = "Disable minimap for current window" },
-- Tab-Specific Minimap Controls
{ "<leader>ntt", "<cmd>Neominimap TabToggle<cr>", desc = "Toggle minimap for current tab" },
{ "<leader>ntr", "<cmd>Neominimap TabRefresh<cr>", desc = "Refresh minimap for current tab" },
{ "<leader>nto", "<cmd>Neominimap TabEnable<cr>", desc = "Enable minimap for current tab" },
{ "<leader>ntc", "<cmd>Neominimap TabDisable<cr>", desc = "Disable minimap for current tab" },
-- Buffer-Specific Minimap Controls
{ "<leader>nbt", "<cmd>Neominimap BufToggle<cr>", desc = "Toggle minimap for current buffer" },
{ "<leader>nbr", "<cmd>Neominimap BufRefresh<cr>", desc = "Refresh minimap for current buffer" },
{ "<leader>nbo", "<cmd>Neominimap BufEnable<cr>", desc = "Enable minimap for current buffer" },
{ "<leader>nbc", "<cmd>Neominimap BufDisable<cr>", desc = "Disable minimap for current buffer" },
---Focus Controls
{ "<leader>nf", "<cmd>Neominimap Focus<cr>", desc = "Focus on minimap" },
{ "<leader>nu", "<cmd>Neominimap Unfocus<cr>", desc = "Unfocus minimap" },
{ "<leader>ns", "<cmd>Neominimap ToggleFocus<cr>", desc = "Switch focus on minimap" },
},
init = function()
-- The following options are recommended when layout == "float"
vim.opt.wrap = false
vim.opt.sidescrolloff = 36 -- Set a large value
--- Put your configuration here
---@type Neominimap.UserConfig
vim.g.neominimap = {
auto_enable = true,
click = {
-- Enable mouse click on the minimap
enabled = true, ---@type boolean
-- Automatically switch focus to the minimap when clicked
auto_switch_focus = true, ---@type boolean
},
}
end, end,
} }
-- return {
-- { "petertriho/nvim-scrollbar", -- { "petertriho/nvim-scrollbar",
-- cond = true, -- cond = true,
-- config = function() -- config = function()
@ -168,4 +240,4 @@ return {
-- }) -- })
-- end -- 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