diff --git a/lazy-lock.json b/lazy-lock.json index bc6ccb5..ce8db16 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,15 +1,15 @@ { "LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" }, - "SchemaStore.nvim": { "branch": "main", "commit": "ba7bad63cb96dae5a82e48310beada18e8eeafe5" }, + "SchemaStore.nvim": { "branch": "main", "commit": "386bdbf18abb6ca103495c5bdbab65e46f3c361d" }, "blink.cmp": { "branch": "main", "commit": "022521a8910a5543b0251b21c9e1a1e989745796" }, "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, "catppuccin": { "branch": "main", "commit": "1bf070129c0b6f77cc23f6a2212dcdc868308c52" }, - "conform.nvim": { "branch": "master", "commit": "2b2b30260203af3b93a7470ac6c8457ddd6e32d9" }, + "conform.nvim": { "branch": "master", "commit": "a4bb5d6c4ae6f32ab13114e62e70669fa67745b9" }, "crates.nvim": { "branch": "main", "commit": "25f31372ab6f504d4fd7cfee836ad459caed8e68" }, "flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "gitsigns.nvim": { "branch": "main", "commit": "e399f9748d7cfd8859747c8d6c4e9c8b4d50a1bd" }, - "grug-far.nvim": { "branch": "main", "commit": "176ba4c42924f4d84ee7d19c9f0081c538f84a88" }, + "gitsigns.nvim": { "branch": "main", "commit": "39e0d1cd44eafed5f30c372e377ab1cb1781ec9f" }, + "grug-far.nvim": { "branch": "main", "commit": "7df08fff7da6ee08006fe8eaccc3407b89da368b" }, "hop.nvim": { "branch": "v2", "commit": "90db1b2c61b820e230599a04fedcd2679e64bd07" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" }, @@ -32,7 +32,7 @@ "persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" }, "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, "render-markdown.nvim": { "branch": "main", "commit": "a1b0988f5ab26698afb56b9c2f0525a4de1195c1" }, - "rustaceanvim": { "branch": "master", "commit": "cb532f57c1ed2463c66df683468eb3994e554002" }, + "rustaceanvim": { "branch": "master", "commit": "3567efce84c223519d0dcbe19ebbfb24683ec493" }, "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" }, "supermaven-nvim": { "branch": "main", "commit": "07d20fce48a5629686aefb0a7cd4b25e33947d50" }, "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }, diff --git a/lua/config/autocmds.lua b/lua/config/autocmds.lua index 01ad6a1..9d65f4f 100644 --- a/lua/config/autocmds.lua +++ b/lua/config/autocmds.lua @@ -14,7 +14,8 @@ local function set_filetype(patterns, filetype) pattern = patterns, callback = function() local buf = vim.api.nvim_get_current_buf() - vim.api.nvim_buf_set_option(buf, "filetype", filetype) + -- vim.api.nvim_buf_set_option(buf, "filetype", filetype) + vim.bo[buf].filetype = filetype end, }) end @@ -25,12 +26,17 @@ set_filetype({ "*.mdx" }, "markdown") -- 设置 env 文件为 sh 类型 set_filetype({ ".env.example", ".env.local", ".env.development", ".env.production" }, "sh") +-- 设置 json 文件夹为 jsonc 类型 +set_filetype({ "*.json" }, "jsonc") + -- 设置终端相关选项 local autocmd = vim.api.nvim_create_autocmd autocmd({ "TermOpen" }, { callback = function() local buf = vim.api.nvim_get_current_buf() + -- vim.bo[buf].relativenumber = false vim.api.nvim_buf_set_option(buf, "relativenumber", false) + -- vim.bo[buf].number = false vim.api.nvim_buf_set_option(buf, "number", false) end, }) @@ -180,6 +186,7 @@ local function update_winbar(bufnr) -- vim.opt.winbar = winbar -- 检查缓冲区是否支持设置 winbar if vim.api.nvim_buf_is_valid(bufnr) then + -- vim.bo[bufnr].winbar = winbar vim.api.nvim_buf_set_option(bufnr, "winbar", winbar) end -- 检查 old_buf 是否有效 diff --git a/lua/config/keymaps.lua b/lua/config/keymaps.lua index c1d0491..2d88489 100644 --- a/lua/config/keymaps.lua +++ b/lua/config/keymaps.lua @@ -89,3 +89,12 @@ map("n", "fb", function() }, }) end, { desc = "Grep Open Buffers" }) +map("n", "ct", function() + Snacks.picker.pick({ + source = "filetypes", + layout = { + preview = "main", + preset = "ivy", + }, + }) +end, { desc = "Change file type" }) diff --git a/lua/plugins/snacks.lua b/lua/plugins/snacks.lua index b986e00..3e42cea 100644 --- a/lua/plugins/snacks.lua +++ b/lua/plugins/snacks.lua @@ -179,6 +179,7 @@ return { -- https://github.com/folke/snacks.nvim/discussions/860#discussioncomment-12027395 picker = { sources = { + -- change explorer to right explorer = { include = { "ignored", "hidden" }, layout = { @@ -187,6 +188,34 @@ return { }, }, }, + -- add filetypes source + filetypes = { + name = "filetypes", + format = "text", + preview = "none", + layout = { + preview = "main", + preset = "ivy", + }, + confirm = function(picker, item) + picker:close() + if item then + vim.schedule(function() + vim.cmd("setfiletype " .. item.text) + end) + end + end, + finder = function() + local items = {} + local filetypes = vim.fn.getcompletion("", "filetype") + for _, type in ipairs(filetypes) do + items[#items + 1] = { + text = type, + } + end + return items + end, + }, }, }, },