local config = {} function config.whisky() require('whiskyline').setup() end function config.dashboard() local db = require('dashboard') db.setup({ theme = 'hyper', config = { week_header = { enable = true, }, disable_move = true, shortcut = { { desc = 'Update', icon = ' ', group = '@variable', action = 'Lazy update', key = 'u' }, { icon = ' ', desc = 'Files', group = '@variable', action = 'Telescope find_files', key = 'f', }, { icon = ' ', desc = 'Apps', group = '@variable', action = 'Telescope app', key = 'a', }, { icon = ' ', desc = 'dotfiles', group = '@variable', action = 'Telescope dotfiles', key = 'd', }, }, }, -- preivew = { -- command = 'cat | lolcat -F 0.3', -- file_path = vim.env.HOME .. '/.config/nvim/static/neovim.cat', -- file_height = 11, -- file_width = 70, -- }, }) end function config.gitsigns() require('gitsigns').setup({ signs = { add = { hl = 'GitGutterAdd', text = '▍' }, change = { hl = 'GitGutterChange', text = '▍' }, delete = { hl = 'GitGutterDelete', text = '▍' }, topdelete = { hl = 'GitGutterDeleteChange', text = '▔' }, changedelete = { hl = 'GitGutterChange', text = '▍' }, untracked = { hl = 'GitGutterAdd', text = '▍' }, }, keymaps = { -- Default keymap options noremap = true, buffer = true, ['n ]g'] = { expr = true, "&diff ? ']g' : 'lua require\"gitsigns\".next_hunk()'" }, ['n [g'] = { expr = true, "&diff ? '[g' : 'lua require\"gitsigns\".prev_hunk()'" }, ['n hs'] = 'lua require"gitsigns".stage_hunk()', ['n hu'] = 'lua require"gitsigns".undo_stage_hunk()', ['n hr'] = 'lua require"gitsigns".reset_hunk()', ['n hp'] = 'lua require"gitsigns".preview_hunk()', ['n hb'] = 'lua require"gitsigns".blame_line()', -- Text objects ['o ih'] = ':lua require"gitsigns".text_object()', ['x ih'] = ':lua require"gitsigns".text_object()', }, }) end function config.indent_blankline() require('indent_blankline').setup({ char = '│', use_treesitter_scope = true, show_first_indent_level = true, show_current_context = false, show_current_context_start = false, show_current_context_start_on_current_line = false, filetype_exclude = { 'dashboard', 'log', 'fugitive', 'gitcommit', 'packer', 'markdown', 'json', 'txt', 'vista', 'help', 'todoist', 'git', 'TelescopePrompt', 'undotree', }, buftype_exclude = { 'terminal', 'nofile', 'prompt' }, context_patterns = { 'class', 'function', 'method', 'block', 'list_literal', 'selector', '^if', '^table', 'if_statement', 'while', 'for', }, }) end return config