-- ======================================================================== -- UI PLUGINS -- ======================================================================== -- Visual enhancements and UI components -- - Colorscheme: tokyonight -- - Statusline: mini.statusline -- - Treesitter: Syntax highlighting -- - Mini modules: Textobjects, surround, pairs -- - Todo comments: Highlight TODOs/FIXMEs -- ======================================================================== return { -- Colorscheme { 'folke/tokyonight.nvim', priority = 1000, config = function() require('tokyonight').setup { styles = { comments = { italic = false }, }, } vim.cmd.colorscheme 'tokyonight-night' end, }, -- Highlight todo, notes, etc in comments { 'folke/todo-comments.nvim', event = 'VimEnter', dependencies = { 'nvim-lua/plenary.nvim' }, opts = { signs = false }, }, -- Mini.nvim collection { 'echasnovski/mini.nvim', config = function() -- Better Around/Inside textobjects require('mini.ai').setup { n_lines = 500 } -- Add/delete/replace surroundings (brackets, quotes, etc.) require('mini.surround').setup() -- Autopairs - automatically close brackets, quotes, etc. require('mini.pairs').setup() -- Simple and easy statusline local statusline = require 'mini.statusline' statusline.setup { use_icons = vim.g.have_nerd_font } ---@diagnostic disable-next-line: duplicate-set-field statusline.section_location = function() return '%2l:%-2v' end end, }, -- Treesitter: Syntax highlighting and code understanding { 'nvim-treesitter/nvim-treesitter', build = ':TSUpdate', main = 'nvim-treesitter.configs', opts = { ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc', 'javascript', 'typescript', 'css', 'json', }, auto_install = true, highlight = { enable = true, additional_vim_regex_highlighting = { 'ruby' }, }, indent = { enable = true, disable = { 'ruby' } }, fold = { enable = true, }, }, }, }