local M = {} function M.colorizer_conf() require('colorizer').setup( {'*'}, { RGB = true, -- #RGB hex codes RRGGBB = true, -- #RRGGBB hex codes names = true, -- "Name" codes like Blue RRGGBBAA = true, -- #RRGGBBAA hex codes rgb_fn = true, -- CSS rgb() and rgba() functions hsl_fn = true, -- CSS hsl() and hsla() functions css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn mode = 'background' -- Set the display mode. }) end function M.blankline_conf() vim.g.indent_blankline_char = '│' -- vim.g.indent_blankline_space_char = '·' vim.g.indent_blankline_show_first_indent_level = true vim.g.indent_blankline_filetype_exclude = { 'startify', 'dashboard', 'dotooagenda', 'log', 'fugitive', 'gitcommit', 'packer', 'vimwiki', 'markdown', 'org', 'json', 'txt', 'vista', 'help', 'todoist', 'NvimTree', 'peekaboo', 'git', 'TelescopePrompt', 'undotree', 'flutterToolsOutline', '' -- for all buffers without a file type } vim.g.indent_blankline_buftype_exclude = {'terminal', 'nofile'} vim.g.indent_blankline_show_trailing_blankline_indent = false vim.g.indent_blankline_show_current_context = true vim.g.indent_blankline_context_patterns = { 'class', 'function', 'method', 'block', 'list_literal', 'selector', '^if', '^table', 'if_statement', 'while', 'for' } -- Refresh often, since it is lazy-loaded -- vim.api.nvim_command('autocmd CursorMoved * IndentBlanklineRefresh') end function M.treesitter_conf() vim.api.nvim_command('set foldmethod=expr') vim.api.nvim_command('set foldexpr=nvim_treesitter#foldexpr()') require('nvim-treesitter.configs').setup { ensure_installed = 'maintained', highlight = {enable = true}, textobjects = { select = { enable = true, keymaps = { ['af'] = '@function.outer', ['if'] = '@function.inner', ['ac'] = '@class.outer', ['ic'] = '@class.inner' } }, move = { enable = true, set_jumps = true, -- whether to set jumps in the jumplist goto_next_start = { [']['] = '@function.outer', [']m'] = '@class.outer' }, goto_next_end = { [']]'] = '@function.outer', [']M'] = '@class.outer' }, goto_previous_start = { ['[['] = '@function.outer', ['[m'] = '@class.outer' }, goto_previous_end = { ['[]'] = '@function.outer', ['[M'] = '@class.outer' } } }, matchup = {enable = true} } end function M.rainbow_conf() require('nvim-treesitter.configs').setup { rainbow = { enable = true, extended_mode = true, max_file_lines = 1000 } } end function M.matchup_conf() vim.g.matchup_matchparen_offscreen = {method = 'popup'} end function M.hop_conf() require('hop').setup{keys = 'etovxqpdygfblzhckisuran'} end function M.eft_conf() vim.g.eft_index_function = {all = function() return true end} end function M.comment_conf() require('nvim_comment').setup({comment_empty = false}) end return M