scorpio 1 år sedan
förälder
incheckning
d20cef7e37
6 ändrade filer med 308 tillägg och 6 borttagningar
  1. 53 0
      lua/.luarc.json
  2. 1 3
      lua/keybindings.lua
  3. 1 1
      lua/lsp/common-config.lua
  4. 2 2
      lua/lsp/config/lspconfig.lua
  5. 10 0
      lua/plugins.lua
  6. 241 0
      lua/uConfig.lua

+ 53 - 0
lua/.luarc.json

@@ -0,0 +1,53 @@
+{
+    "workspace.library": [
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/neodev.nvim/types/stable",
+        "/usr/local/Cellar/neovim/0.9.0/share/nvim/runtime/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/cmp-buffer/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/cmp-cmdline/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/cmp-path/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/cmp-vsnip/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/Comment.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/dashboard-nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/eslint.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/formatter.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/gitsigns.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/hop.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/lazygit.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/lspkind.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/lualine.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/LuaSnip/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/mason-null-ls.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/mason.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/neodev.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/null-ls.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/nvim-autopairs/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/nvim-cmp/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/nvim-lsp-ts-utils/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/nvim-tree-docs/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/nvim-tree.lua/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/nvim-treesitter/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/nvim-treesitter-textobjects/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/nvim-ts-context-commentstring/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/nvim-ts-rainbow/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/packer.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/plenary.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/prettier.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/project.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/rust-tools.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/schemastore.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/telescope.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/tokyonight.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/trouble.nvim/lua",
+        "/Users/sdaduanbilei/.local/share/nvim/site/pack/packer/start/typescript.nvim/lua",
+        "/Users/sdaduanbilei/.config/nvim/lua",
+        "${3rd}/luv/library"
+    ]
+}

+ 1 - 3
lua/keybindings.lua

@@ -38,12 +38,10 @@ map("n", "git", ":Gitsigns toggle_current_line_blame<CR>", opt)
 map("n", "<leader>lg", ":LazyGit<CR>", opt)
 -- terminal 相关
 map("n", "<leader>t", ":FloatermToggle<CR>", opt)
--- 高亮 intent
-map("n", "<leader>i", ":IndentGuidesToggle<CR>", opt)
 -- 开启/关闭 全屏窗口
 map("n", "<leader>s", ":MaximizerToggle<CR>", opt)
 -- 开始错误列表
-map("n", "<leader>o", ":TroubleToggle<CR>", opt)
+map("n", "<leader>i", ":TroubleToggle<CR>", opt)
 -- 代码缩进
 map("v", "<", "<gv", opt)
 map("v", ">", ">gv", opt)

+ 1 - 1
lua/lsp/common-config.lua

@@ -10,7 +10,7 @@ end
 
 -- 禁用格式化功能,交给专门插件插件处理
 M.disableFormat = function(client)
-  if vim.fn.has("nvim-0.8") == 1 then
+  if vim.fn.has("nvim-0.9") == 1 then
     client.server_capabilities.documentFormattingProvider = false
     client.server_capabilities.documentRangeFormattingProvider = false
   else

+ 2 - 2
lua/lsp/config/lspconfig.lua

@@ -105,7 +105,7 @@ lspconfig["cssls"].setup({
 lspconfig["emmet_ls"].setup({
   capabilities = capabilities,
   on_attach = on_attach,
-  filetypes = { "html", "typescriptreact", "javascriptreact", "css", "sass", "scss", "less", "svelte" },
+  filetypes = { "html", "typescriptreact", "javascriptreact", "css", "sass", "scss", "less", "svelte","vue" },
 })
 
 -- configure pyright server
@@ -126,7 +126,7 @@ lspconfig["pyright"].setup({
 })
 
 -- configure lua server (with special settings)
-lspconfig["sumneko_lua"].setup({
+lspconfig["lua_ls"].setup({
   capabilities = capabilities,
   on_attach = on_attach,
   settings = { -- custom settings for lua

+ 10 - 0
lua/plugins.lua

@@ -152,6 +152,9 @@ packer.startup({
         }
         -- lspsage
         use("tami5/lspsaga.nvim")
+         -- TypeScript 增强
+        use({ "jose-elias-alvarez/nvim-lsp-ts-utils", requires = "nvim-lua/plenary.nvim" })
+        use("jose-elias-alvarez/typescript.nvim")
         -- formatter
         use("mhartington/formatter.nvim")
         -- lua 增强
@@ -162,6 +165,13 @@ packer.startup({
         use("simrat39/rust-tools.nvim")
         -- 彩虹括号
         use("p00f/nvim-ts-rainbow")
+        -- nvim-notify
+        use({
+          "rcarriga/nvim-notify",
+          config = function()
+            require("plugin-config.nvim-notify")
+          end,
+        })
 
     end,
     config = {

+ 241 - 0
lua/uConfig.lua

@@ -0,0 +1,241 @@
+local M = {
+  config_path = vim.fn.stdpath("config"),
+
+  keys = {
+
+    leader_key = " ",
+
+    -- : 模式
+    c_next_item = "<C-j>",
+    c_prev_item = "<C-k>",
+
+    -- normal 模式
+    n_save = "<leader>w", -- :w
+    n_save_quit = "<leader>wq", --:wq
+    n_save_all = "<leader>wa", -- :wa
+    -- n_save_all_quit = "<leader>qa", -- :wqa
+    n_force_quit = "<leader>q", -- :qa!
+
+    n_v_5j = "<C-j>",
+    n_v_5k = "<C-k>",
+
+    n_v_10k = "<C-u>",
+    n_v_10j = "<C-d>",
+
+    -- cmp 快捷键
+    cmp_complete = "<A-.>",
+    cmp_abort = "<A-,>",
+    cmp_confirm = "<CR>",
+    cmp_scroll_doc_up = "<C-u>",
+    cmp_scroll_doc_down = "<C-d>",
+    cmp_select_prev_item = "<C-k>",
+    cmp_select_next_item = "<C-j>",
+
+    -- luasnip
+    snip_jump_next = "<C-l>",
+    snip_jump_prev = "<C-h>",
+    snip_next_choice = "<C-j>",
+    snip_prev_choice = "<C-k>",
+
+    s_windows = {
+
+      enable = true,
+
+      -- 窗口开关
+      split_vertically = "sv",
+      split_horizontally = "sh",
+      close = "sc",
+      close_others = "so",
+
+      -- 窗口跳转
+      jump_left = "<A-h>",
+      jump_right = "<A-l>",
+      jump_up = "<A-k>",
+      jump_down = "<A-j>",
+
+      -- <leader> + hjkl 窗口之间跳转
+      -- jump_left = "<leader>h",
+      -- jump_right = "<leader>j",
+      -- jump_up = "<leader>k",
+      -- jump_down = "<leader>l",
+
+      -- 窗口比例控制
+      width_decrease = "s,",
+      width_increase = "s.",
+      height_decrease = "sj",
+      height_increase = "sk",
+      size_equal = "s=",
+    },
+
+    s_tab = {
+      split = "ts",
+      prev = "th",
+      next = "tl",
+      first = "tj",
+      last = "tk",
+      close = "tc",
+    },
+
+    fold = {
+      open = "Z",
+      close = "zz",
+    },
+
+    format = "<leader>f",
+
+    terminal_to_normal = "<Esc>",
+    -- TODO
+
+    -- proxy
+    -- im-select
+  },
+
+  enable_magic_search = true,
+
+  nvimTree = {
+
+    enable = true,
+
+    toggle = "<A-m>",
+    -- toggle = "<leader>m"
+    edit = { "o", "<2-LeftMouse>" },
+    system_open = "<CR>",
+    -- v分屏打开文件
+    vsplit = "sv",
+    -- h分屏打开文件
+    split = "sh",
+    -- toggle .gitignore (git enable)
+    toggle_git_ignored = "i",
+    -- Hide (dotfiles)
+    toggle_dotfiles = ".",
+    -- togglle custom config
+    toggle_custom = "u",
+
+    refresh = "R",
+    -- 文件操作
+    create = "a",
+    remove = "d",
+    rename = "r",
+    cut = "x",
+    copy = "c",
+    paste = "p",
+    copy_name = "y",
+    copy_path = "Y",
+    copy_absolute_path = "gy",
+    toggle_file_info = "I",
+    tabnew = "t",
+    -- 进入下一级
+    cd = "]",
+    -- 进入上一级
+    dir_up = "[",
+  },
+
+  bufferLine = {
+
+    enable = true,
+
+    prev = "<C-h>",
+    next = "<C-l>",
+    close = "<C-w>",
+    -- close = "<leader>bc",
+    close_left = "<leader>bh",
+    close_right = "<leader>bl",
+    close_others = "<leader>bo",
+    close_pick = "<leader>bp",
+  },
+
+  telescope = {
+
+    enable = true,
+
+    find_files = "<C-p>",
+    live_grep = "<C-f>",
+
+    -- 上下移动
+    move_selection_next = "<C-j>",
+    move_selection_previous = "<C-k>",
+    -- move_selection_next = "<C-n>",
+    -- move_selection_previous = "<C-p>",
+    -- 历史记录
+    cycle_history_next = "<Down>",
+    cycle_history_prev = "<Up>",
+    -- 关闭窗口
+    -- close = "<C-c>",
+    close = "<esc>",
+    -- 预览窗口上下滚动
+    preview_scrolling_up = "<C-u>",
+    preview_scrolling_down = "<C-d>",
+  },
+
+  mkdnflow = {
+    enable = true,
+    next_link = "gn",
+    prev_link = "gp",
+    next_heading = "gj",
+    prev_heading = "gk",
+    go_back = "<C-o>",
+    follow_link = "gd",
+    toggle_item = "tt",
+  },
+
+  comment = {
+    enable = true,
+    -- Normal 模式快捷键
+    toggler = {
+      line = "gcc", -- 行注释
+      block = "gbc", -- 块注释
+    },
+    -- Visual 模式
+    opleader = {
+      line = "gc",
+      bock = "gb",
+    },
+  },
+
+  toggleterm = {
+    enable = true,
+
+    -- <leader>ta 浮动命令行窗口
+    toggle_window_A = "<leader>ta",
+    -- <leader>tb 右侧命令行窗口
+    toggle_window_B = "<leader>tb",
+    -- <leader>tc 下方命令行窗口
+    toggle_window_C = "<leader>tc",
+  },
+
+  venn = {
+    -- toggle keymappings for venn using <leader>v
+    enable = true,
+    -- venn.nvim: enable or disable keymappings
+    toggle = "<leader>v",
+    -- draw a box by pressing "f" with visual selection
+    draw_box = "f",
+  },
+
+  zen = {
+    enable = true,
+    toggle = "<leader>z",
+  },
+
+  lsp = {
+    rename = "<leader>rn",
+    code_action = "<leader>ca",
+    format = "<leader>f",
+    definition = "gd",
+    references = "gr",
+    hover = "gh",
+    -- diagnostic
+    open_flow = "gp",
+    goto_next = "gj",
+    goto_prev = "gk",
+    -- typescript
+    ts_organize = "gs",
+    ts_rename_file = "gR",
+    ts_add_missing_import = "gi",
+    ts_remove_unused = "gu",
+    ts_fix_all = "gf",
+    ts_goto_source = "gD",
+  },
+}
+
+return M