94 lines
2.3 KiB
Lua
94 lines
2.3 KiB
Lua
-- ========================================================================
|
|
-- 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,
|
|
},
|
|
},
|
|
},
|
|
}
|