From 08274e8ad84c30064c73e87a13d451b3eaac9ccc Mon Sep 17 00:00:00 2001 From: minco Date: Sun, 26 Oct 2025 10:23:16 +0900 Subject: [PATCH] add nvim-tree --- lazy-lock.json | 2 + lua/plugins/lspconfig.lua | 5 ++- lua/plugins/nvim-tree.lua | 61 +++++++++++++++++++++++++++ lua/plugins/yazi.lua | 89 ++++++++++++++++++++------------------- 4 files changed, 111 insertions(+), 46 deletions(-) create mode 100644 lua/plugins/nvim-tree.lua diff --git a/lazy-lock.json b/lazy-lock.json index 4af35fc..ba329cf 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -27,6 +27,8 @@ "nvim-highlight-colors": { "branch": "main", "commit": "b42a5ccec7457b44e89f7ed3b3afb1b375bb2093" }, "nvim-lspconfig": { "branch": "master", "commit": "61fdd3a8609071ce44519e405f3424d84ec94d9d" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, + "nvim-tree.lua": { "branch": "master", "commit": "64e2192f5250796aa4a7f33c6ad888515af50640" }, + "nvim-tree.lua-float-preview": { "branch": "master", "commit": "78b3ff2e0423438a341c9628f2f10f51b80a69c6" }, "nvim-treesitter": { "branch": "main", "commit": "32cb9f9b9db71b0dc2454817727cd9a5d840658c" }, "nvim-web-devicons": { "branch": "master", "commit": "c2599a81ecabaae07c49ff9b45dcd032a8d90f1a" }, "peek.nvim": { "branch": "master", "commit": "5820d937d5414baea5f586dc2a3d912a74636e5b" }, diff --git a/lua/plugins/lspconfig.lua b/lua/plugins/lspconfig.lua index dfbcdfd..af249f3 100644 --- a/lua/plugins/lspconfig.lua +++ b/lua/plugins/lspconfig.lua @@ -27,9 +27,10 @@ return { cmd = { vim.fn.stdpath("config") .. "/shell/clangd-direnv.sh" } }) - lspconfig['hls'].setup({ + lspconfig.hls.setup({ capabilities = capabilities, - cmd = { "haskell-language-server-wrapper" }, + filetypes = { 'haskell', 'lhaskell' }, + cmd = { "haskell-language-server-wrapper", "--lsp" }, settings = { haskell = { formattingProvider = "fourmolu" diff --git a/lua/plugins/nvim-tree.lua b/lua/plugins/nvim-tree.lua new file mode 100644 index 0000000..589b96c --- /dev/null +++ b/lua/plugins/nvim-tree.lua @@ -0,0 +1,61 @@ +return { + "nvim-tree/nvim-tree.lua", + dependencies = { + { + "JMarkin/nvim-tree.lua-float-preview", + lazy = true, + -- default + opts = { + -- Whether the float preview is enabled by default. When set to false, it has to be "toggled" on. + toggled_on = true, + -- wrap nvimtree commands + wrap_nvimtree_commands = true, + -- lines for scroll + scroll_lines = 20, + -- window config + window = { + style = "minimal", + relative = "win", + border = "rounded", + wrap = false, + }, + mapping = { + -- scroll down float buffer + down = { "" }, + -- scroll up float buffer + up = { "", "" }, + -- enable/disable float windows + toggle = { "" }, + }, + -- hooks if return false preview doesn't shown + hooks = { + pre_open = function(path) + -- if file > 5 MB or not text -> not preview + local size = require("float-preview.utils").get_size(path) + if type(size) ~= "number" then + return false + end + local is_text = require("float-preview.utils").is_text(path) + return size < 5 and is_text + end, + post_open = function(bufnr) + return true + end, + }, + }, + }, + }, + config = function() + require('nvim-tree').setup { + renderer = { + group_empty = true, + }, + filters = { + dotfiles = false, + } + } + end, + keys = { + { ";", function() require("nvim-tree.api").tree.toggle({ focus = true }) end, desc = "Toggle nvim tree" } + }, +} diff --git a/lua/plugins/yazi.lua b/lua/plugins/yazi.lua index 65530c2..25407d7 100644 --- a/lua/plugins/yazi.lua +++ b/lua/plugins/yazi.lua @@ -1,44 +1,45 @@ ----@type LazySpec -return { - "mikavilpas/yazi.nvim", - version = "*", -- use the latest stable version - event = "VeryLazy", - dependencies = { - { "nvim-lua/plenary.nvim", lazy = true }, - }, - keys = { - -- 👇 in this section, choose your own keymappings! - { - "-", - mode = { "n", "v" }, - "Yazi", - desc = "Open yazi at the current file", - }, - { - -- Open in the current working directory - "cw", - "Yazi cwd", - desc = "Open the file manager in nvim's working directory", - }, - { - ";", - "Yazi toggle", - desc = "Resume the last yazi session", - }, - }, - ---@type YaziConfig | {} - opts = { - -- if you want to open yazi instead of netrw, see below for more info - open_for_directories = false, - keymaps = { - show_help = "", - }, - }, - -- 👇 if you use `open_for_directories=true`, this is recommended - init = function() - -- mark netrw as loaded so it's not loaded at all. - -- - -- More details: https://github.com/mikavilpas/yazi.nvim/issues/802 - vim.g.loaded_netrwPlugin = 1 - end, -} +return {} +-- ---@type LazySpec +-- return { +-- "mikavilpas/yazi.nvim", +-- version = "*", -- use the latest stable version +-- event = "VeryLazy", +-- dependencies = { +-- { "nvim-lua/plenary.nvim", lazy = true }, +-- }, +-- keys = { +-- -- 👇 in this section, choose your own keymappings! +-- { +-- "-", +-- mode = { "n", "v" }, +-- "Yazi", +-- desc = "Open yazi at the current file", +-- }, +-- { +-- -- Open in the current working directory +-- "cw", +-- "Yazi cwd", +-- desc = "Open the file manager in nvim's working directory", +-- }, +-- { +-- ";", +-- "Yazi toggle", +-- desc = "Resume the last yazi session", +-- }, +-- }, +-- ---@type YaziConfig | {} +-- opts = { +-- -- if you want to open yazi instead of netrw, see below for more info +-- open_for_directories = false, +-- keymaps = { +-- show_help = "", +-- }, +-- }, +-- -- 👇 if you use `open_for_directories=true`, this is recommended +-- init = function() +-- -- mark netrw as loaded so it's not loaded at all. +-- -- +-- -- More details: https://github.com/mikavilpas/yazi.nvim/issues/802 +-- vim.g.loaded_netrwPlugin = 1 +-- end, +-- }