return { { "nvim-telescope/telescope.nvim", dependencies = { "nvim-lua/plenary.nvim" }, }, { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate", }, { "mbbill/undotree" }, { "tpope/vim-fugitive" }, { "folke/trouble.nvim", opts = {}, -- for default options, refer to the configuration section for custom setup. cmd = "Trouble", keys = { { "xx", "Trouble diagnostics toggle", desc = "Diagnostics (Trouble)", }, }, }, { "nvim-tree/nvim-tree.lua", version = "*", dependencies = { "nvim-tree/nvim-web-devicons", }, cmd = { "NvimTreeToggle", }, opts = { update_focused_file = { enable = true }, }, }, { "mason-org/mason.nvim", opts = {}, }, { "mason-org/mason-lspconfig.nvim", opts = { automatic_enable = true, ensure_installed = { "lua_ls", "ts_ls" }, }, }, { "jay-babu/mason-null-ls.nvim", dependencies = { "mason-org/mason.nvim", "nvimtools/none-ls.nvim", }, opts = { ensure_installed = { "prettier", "stylua" } }, }, { "hedyhli/outline.nvim", config = function() -- Example mapping to toggle outline vim.keymap.set("n", "o", "Outline", { desc = "Toggle Outline" }) require("outline").setup({ -- Your setup opts here (leave empty to use defaults) }) end, }, { "stevearc/conform.nvim", opts = { formatters_by_ft = { typescript = { "prettier" }, jsx = { "prettier" }, lua = { "stylua" }, rust = { "rustfmt", lsp_format = "fallback" }, }, format_on_save = { timeout_ms = 500, lsp_format = "fallback", }, }, }, { "windwp/nvim-autopairs", event = "InsertEnter", config = true, opts = {}, }, { "rmagatti/auto-session", lazy = false, opts = { suppressed_dirs = { "~/", "~/Downloads", "/" }, post_restore_cmds = { function() -- Restore nvim-tree after a session is restored local nvim_tree_api = require("nvim-tree.api") nvim_tree_api.tree.open() nvim_tree_api.tree.change_root(vim.fn.getcwd()) nvim_tree_api.tree.reload() end, }, }, }, { "nvim-lualine/lualine.nvim", dependencies = { "nvim-tree/nvim-web-devicons" }, opts = { options = { theme = "jellybeans", }, }, }, }