From 5d96e9349bb172766999b6444b8a0b5ba0b5fa02 Mon Sep 17 00:00:00 2001 From: Fernando Bueno Date: Sun, 30 Jun 2024 22:53:50 -0400 Subject: [PATCH] moar --- lua/custom/core/keymaps.lua | 2 +- lua/custom/plugins/conform.lua | 42 +++++++++++++++++++++++++ lua/custom/plugins/neo-tree.lua | 20 ++++++------ lua/custom/plugins/nvim-ufo.lua | 25 +++++++++++++++ lua/custom/plugins/typescript-tools.lua | 15 +++++++++ 5 files changed, 93 insertions(+), 11 deletions(-) create mode 100644 lua/custom/plugins/conform.lua create mode 100644 lua/custom/plugins/nvim-ufo.lua create mode 100644 lua/custom/plugins/typescript-tools.lua diff --git a/lua/custom/core/keymaps.lua b/lua/custom/core/keymaps.lua index 5ee8f5ff..de84c468 100644 --- a/lua/custom/core/keymaps.lua +++ b/lua/custom/core/keymaps.lua @@ -112,5 +112,5 @@ keymap.set("n", "3", function() require("harpoon.ui").nav_file(3) end, o keymap.set("n", "4", function() require("harpoon.ui").nav_file(4) end, opts) -- undotree -keymap.set("n", "", ":UndotreeToggle") +keymap.set("n", "u", ":UndotreeToggle") diff --git a/lua/custom/plugins/conform.lua b/lua/custom/plugins/conform.lua new file mode 100644 index 00000000..cace6498 --- /dev/null +++ b/lua/custom/plugins/conform.lua @@ -0,0 +1,42 @@ +return { + 'stevearc/conform.nvim', + event = { 'BufReadPre', 'BufNewFile' }, + config = function() + local conform = require 'conform' + + conform.setup { + formatters_by_ft = { + lua = { 'stylua' }, + svelte = { { 'prettierd', 'prettier' } }, + javascript = { { 'prettierd', 'prettier' } }, + typescript = { { 'prettierd', 'prettier' } }, + javascriptreact = { { 'prettierd', 'prettier' } }, + typescriptreact = { { 'prettierd', 'prettier' } }, + json = { { 'prettierd', 'prettier' } }, + graphql = { { 'prettierd', 'prettier' } }, + java = { 'google-java-format' }, + kotlin = { 'ktlint' }, + ruby = { 'standardrb' }, + markdown = { { 'prettierd', 'prettier' } }, + erb = { 'htmlbeautifier' }, + html = { 'htmlbeautifier' }, + bash = { 'beautysh' }, + proto = { 'buf' }, + rust = { 'rustfmt' }, + yaml = { 'yamlfix' }, + toml = { 'taplo' }, + css = { { 'prettierd', 'prettier' } }, + scss = { { 'prettierd', 'prettier' } }, + sh = { { 'shellcheck' } }, + }, + } + + vim.keymap.set({ 'n', 'v' }, 'l', function() + conform.format { + lsp_fallback = true, + async = false, + timeout_ms = 1000, + } + end, { desc = 'Format file or range (in visual mode)' }) + end, +} diff --git a/lua/custom/plugins/neo-tree.lua b/lua/custom/plugins/neo-tree.lua index e2f00f62..0e278401 100644 --- a/lua/custom/plugins/neo-tree.lua +++ b/lua/custom/plugins/neo-tree.lua @@ -1,19 +1,19 @@ -- Unless you are still migrating, remove the deprecated commands from v1.x -vim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]]) +vim.cmd [[ let g:neo_tree_remove_legacy_commands = 1 ]] return { - "nvim-neo-tree/neo-tree.nvim", - version = "*", + 'nvim-neo-tree/neo-tree.nvim', + version = '*', dependencies = { - "nvim-lua/plenary.nvim", + 'nvim-lua/plenary.nvim', -- "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended - "MunifTanjim/nui.nvim", + 'MunifTanjim/nui.nvim', }, keys = { - { "o", ":Neotree toggle", desc = "NeoTree", silent = true }, + { 'o', ':Neotree toggle', desc = 'NeoTree', silent = true }, }, - config = function () - require('neo-tree').setup { - } + config = function() + require('neo-tree').setup {} end, -} \ No newline at end of file +} + diff --git a/lua/custom/plugins/nvim-ufo.lua b/lua/custom/plugins/nvim-ufo.lua new file mode 100644 index 00000000..bc19900e --- /dev/null +++ b/lua/custom/plugins/nvim-ufo.lua @@ -0,0 +1,25 @@ +return { + "kevinhwang91/nvim-ufo", + dependencies = "kevinhwang91/promise-async", + config = function() + vim.o.foldcolumn = "1" -- '0' is not bad + vim.o.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value + vim.o.foldlevelstart = 99 + vim.o.foldenable = true + + vim.keymap.set("n", "zR", require("ufo").openAllFolds, { desc = "Open all folds" }) + vim.keymap.set("n", "zM", require("ufo").closeAllFolds, { desc = "Close all folds" }) + vim.keymap.set("n", "zK", function() + local winid = require("ufo").peekFoldedLinesUnderCursor() + if not winid then + vim.lsp.buf.hover() + end + end, { desc = "Peek Fold" }) + + require("ufo").setup({ + provider_selector = function(bufnr, filetype, buftype) + return { "lsp", "indent" } + end, + }) + end, +} \ No newline at end of file diff --git a/lua/custom/plugins/typescript-tools.lua b/lua/custom/plugins/typescript-tools.lua new file mode 100644 index 00000000..f7c37693 --- /dev/null +++ b/lua/custom/plugins/typescript-tools.lua @@ -0,0 +1,15 @@ +return { + 'pmizio/typescript-tools.nvim', + dependencies = { 'nvim-lua/plenary.nvim', 'neovim/nvim-lspconfig' }, + opts = {}, + config = function() + require('typescript-tools').setup { + settings = { + tsserver_plugins = { + -- '@styled/typescript-styled-plugin', + 'typescript-styled-plugin', + }, + }, + } + end, +}