return { { -- Autocompletion 'hrsh7th/nvim-cmp', dependencies = { 'hrsh7th/cmp-nvim-lsp', 'L3MON4D3/LuaSnip', 'saadparwaiz1/cmp_luasnip' }, }, { 'folke/which-key.nvim', opts = {} }, { -- Adds git releated signs to the gutter, as well as utilities for managing changes 'lewis6991/gitsigns.nvim', opts = { -- See `:help gitsigns.txt` signs = { add = { text = '+' }, change = { text = '~' }, delete = { text = '_' }, topdelete = { text = '‾' }, changedelete = { text = '~' }, }, }, }, { -- Set lualine as statusline 'nvim-lualine/lualine.nvim', -- See `:help lualine.txt` opts = { options = { icons_enabled = true, theme = 'onedark', component_separators = '|', section_separators = '', }, }, }, { -- Add indentation guides even on blank lines 'lukas-reineke/indent-blankline.nvim', opts = { char = '┊', space_char_blankline = " ", show_current_context = true, show_current_context_start = false, show_trailing_blankline_indent = false, }, }, { 'simrat39/symbols-outline.nvim', highlight_hovered_item = true, show_guides = true, auto_preview = false, position = 'right', relative_width = true, width = 40, auto_close = false, show_numbers = true, show_relative_numbers = false, show_symbol_details = true, preview_bg_highlight = 'Pmenu', keymaps = { close = {"", "q"}, goto_location = "", focus_location = "o", hover_symbol = "", toggle_preview = "K", rename_symbol = "r", code_actions = "a", }, lsp_blacklist = {}, symbol_blacklist = {}, symbols = { File = {icon = "", hl = "TSURI"}, Module = {icon = "", hl = "TSNamespace"}, Namespace = {icon = "", hl = "TSNamespace"}, Package = {icon = "", hl = "TSNamespace"}, Class = {icon = "𝓒", hl = "TSType"}, Method = {icon = "ƒ", hl = "TSMethod"}, Property = {icon = "", hl = "TSMethod"}, Field = {icon = "", hl = "TSField"}, Constructor = {icon = "", hl = "TSConstructor"}, Enum = {icon = "ℰ", hl = "TSType"}, Interface = {icon = "ﰮ", hl = "TSType"}, Function = {icon = "λ", hl = "TSFunction"}, Variable = {icon = "", hl = "TSConstant"}, Constant = {icon = "", hl = "TSConstant"}, String = {icon = "𝓐", hl = "TSString"}, Number = {icon = "#", hl = "TSNumber"}, Boolean = {icon = "⊨", hl = "TSBoolean"}, Array = {icon = "", hl = "TSConstant"}, Object = {icon = "⦿", hl = "TSType"}, Key = {icon = "🔐", hl = "TSType"}, Null = {icon = "NULL", hl = "TSType"}, EnumMember = {icon = "", hl = "TSField"}, Struct = {icon = "𝓢", hl = "TSType"}, Event = {icon = "🗲", hl = "TSType"}, Operator = {icon = "+", hl = "TSOperator"}, TypeParameter = {icon = "𝙏", hl = "TSParameter"} } }, -- "gc" to comment visual regions/lines { 'numToStr/Comment.nvim', opts = {} }, -- Fuzzy Finder (files, lsp, etc) { 'nvim-telescope/telescope.nvim', version = '*', dependencies = { 'nvim-lua/plenary.nvim' } }, { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make', cond = function() return vim.fn.executable 'make' == 1 end, }, { -- Highlight, edit, and navigate code 'nvim-treesitter/nvim-treesitter', dependencies = { 'nvim-treesitter/nvim-treesitter-textobjects', }, build = ":TSUpdate", }, { 'dense-analysis/ale' }, { 'mbbill/undotree' }, { 'rust-lang/rust.vim' }, { 'ray-x/lsp_signature.nvim' }, }