mirror of
https://git.disroot.org/FollieHiyuki/dotfiles.git
synced 2024-12-12 17:18:22 -05:00
168 lines
5.2 KiB
Lua
168 lines
5.2 KiB
Lua
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()
|
|
require('indent_blankline').setup {
|
|
char = '│',
|
|
-- space_char_blankline = '·',
|
|
show_first_indent_level = true,
|
|
filetype_exclude = {
|
|
'startify', 'dashboard', 'alpha', 'log', 'gitcommit', 'packer', 'vimwiki',
|
|
'markdown', 'org', 'json', 'txt', 'help', 'NvimTree', 'git', 'TelescopePrompt',
|
|
'undotree', 'dotooagenda', 'fugitive',
|
|
'' -- for all buffers without a filetype
|
|
},
|
|
buftype_exclude = {'terminal', 'nofile'},
|
|
show_trailing_blankline_indent = false,
|
|
show_current_context = true,
|
|
context_patterns = {
|
|
'class', 'function', 'method', 'block', 'list_literal', 'selector', '^if',
|
|
'^table', 'if_statement', 'while', 'for'
|
|
},
|
|
use_treesitter = true
|
|
}
|
|
|
|
-- Refresh often, since it is lazy-loaded
|
|
-- vim.api.nvim_command('autocmd CursorMoved * IndentBlanklineRefresh')
|
|
end
|
|
|
|
function M.aniseed_conf()
|
|
-- Compile fennel config to lua on startup
|
|
require('aniseed.env').init()
|
|
end
|
|
|
|
function M.treesitter_conf()
|
|
vim.api.nvim_command('set foldmethod=expr')
|
|
vim.api.nvim_command('set foldexpr=nvim_treesitter#foldexpr()')
|
|
|
|
-- Additional parser for rest.nvim (*.http files)
|
|
local parser_configs = require('nvim-treesitter.parsers').get_parser_configs()
|
|
parser_configs.http = {
|
|
install_info = {
|
|
url = 'https://github.com/NTBBloodbath/tree-sitter-http',
|
|
files = { 'src/parser.c' },
|
|
branch = 'main'
|
|
}
|
|
}
|
|
|
|
require('nvim-treesitter.configs').setup {
|
|
ensure_installed = 'maintained',
|
|
highlight = {enable = true},
|
|
textobjects = {
|
|
select = {
|
|
enable = true,
|
|
lookahead = 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.iswap_conf()
|
|
require('iswap').setup {
|
|
-- The keys that will be used as a selection, in order
|
|
-- ('asdfghjklqwertyuiopzxcvbnm' by default)
|
|
-- keys = 'qwertyuiop',
|
|
|
|
-- Grey out the rest of the text when making a selection
|
|
-- (enabled by default)
|
|
-- grey = 'disable',
|
|
|
|
-- Highlight group for the sniping value (asdf etc.)
|
|
-- default 'Search'
|
|
-- hl_snipe = 'ErrorMsg',
|
|
|
|
-- Highlight group for the visual selection of terms
|
|
-- default 'Visual'
|
|
-- hl_selection = 'WarningMsg',
|
|
|
|
-- Highlight group for the greyed background
|
|
-- default 'Comment'
|
|
hl_grey = 'LineNr',
|
|
|
|
-- Automatically swap with only two arguments
|
|
-- default nil
|
|
autoswap = 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
|
|
|
|
function M.project_conf()
|
|
require('project_nvim').setup {
|
|
manual_mode = false,
|
|
detection_methods = {'pattern', 'lsp'},
|
|
patterns = {'.git', '_darcs', '.hg', '.bzr', '.svn', 'Makefile', 'package.json', '*.pro', 'Dockerfile', '>Code'},
|
|
show_hidden = true,
|
|
silent_chdir = true,
|
|
datapath = vim.fn.stdpath('data')
|
|
}
|
|
end
|
|
|
|
return M
|