dotfiles/.config/nvim/lua/my/tools.lua

178 lines
5.1 KiB
Lua
Raw Normal View History

require('which-key').setup({})
local map = require('my.functions').map
local telescope = require('telescope')
2022-08-17 19:57:20 +02:00
local t_actions = require('telescope.actions')
telescope.load_extension('projections')
2022-08-28 20:30:59 +02:00
telescope.load_extension('dap')
telescope.load_extension('fzf')
2022-08-13 19:09:59 +02:00
2022-08-28 21:39:24 +02:00
telescope.setup({
mappings = {
i = {
2022-08-17 19:57:20 +02:00
["<C-_>"] = t_actions.which_key,
},
n = {
2022-08-17 19:57:20 +02:00
["?"] = t_actions.which_key,
}
},
defaults = {
file_ignore_patterns = { '^\\.git', '^fun' },
},
pickers = {
find_files = {
-- show hidden files by default
find_command = { "rg", "--files", "--hidden", "--glob", "!.git/*" }
}
}
2022-08-28 21:39:24 +02:00
})
2022-08-13 19:09:59 +02:00
2022-08-17 19:13:25 +02:00
local t_builtin = require('telescope.builtin')
local my = require('my.functions')
require('which-key').register({ ['<Leader>t'] = { name = 'Telescope' } })
2022-08-17 19:13:25 +02:00
map('n', '<Leader>tb', t_builtin.buffers, 'Buffers')
map('n', '<Leader>tf', function()
t_builtin.find_files({ cwd = my.get_project_root() })
2022-08-16 04:55:49 +02:00
end, 'Files')
2022-08-31 06:09:43 +02:00
map('n', '<Leader>tF', t_builtin.find_files, 'Files in cwd')
2022-08-17 19:13:25 +02:00
map('n', '<Leader>to', t_builtin.oldfiles, 'Recently opened files')
map('n', '<Leader>tg', function()
2022-08-17 19:13:25 +02:00
t_builtin.live_grep({ cwd = my.get_project_root() })
2022-08-16 04:55:49 +02:00
end, 'Live-grep')
2022-08-17 19:13:25 +02:00
map('n', '<Leader>tm', t_builtin.man_pages, 'Man pages')
map('n', '<Leader>tr', t_builtin.registers, 'Registers')
map('n', '<Leader>gh', t_builtin.git_bcommits, 'History of this file')
2022-08-28 21:39:24 +02:00
map('n', '<F7>', t_builtin.diagnostics, 'Show diagnostics')
map('n', '<Leader>tp', telescope.extensions.projections.projections, 'Projects')
map('n', '<Leader>tt',
require("telescope._extensions.todo-comments").exports.todo,
'Display TODO comments in project')
map('n', '<Leader>tn', telescope.extensions.notify.notify, 'Notifications')
2022-08-19 00:11:15 +02:00
local nerdfont_installed = require('my.functions').nerdfont_installed()
2022-08-16 21:38:31 +02:00
require("nvim-tree").setup({
filters = {
dotfiles = false,
custom = { '^\\.git' }
2022-08-16 21:38:31 +02:00
},
sync_root_with_cwd = true,
respect_buf_cwd = true,
update_focused_file = {
enable = true,
update_root = true
},
2022-08-16 21:38:31 +02:00
renderer = {
icons = {
show = {
2022-08-19 00:11:15 +02:00
file = nerdfont_installed,
folder = nerdfont_installed,
folder_arrow = nerdfont_installed,
git = nerdfont_installed
2022-08-16 21:38:31 +02:00
}
}
}
})
map('n', '<F9>', require("nvim-tree.api").tree.toggle, 'Open nvim-tree')
map('i', '<F9>', require("nvim-tree.api").tree.toggle, 'Open nvim-tree')
2022-08-18 17:40:37 +02:00
vim.o.showmode = false
local not_firenvim = require('my.functions').not_firenvim
2022-08-18 17:40:37 +02:00
require('lualine').setup({
options = {
icons_enabled = nerdfont_installed,
2022-08-18 17:40:37 +02:00
component_separators = {},
section_separators = {},
2022-08-26 04:20:49 +02:00
extensions = {},
globalstatus = true
2022-08-18 17:40:37 +02:00
},
sections = {
2022-08-26 04:20:49 +02:00
lualine_a = { { 'mode' } },
lualine_b = {
{ 'branch', icons_enabled = true },
{ 'diff' },
{ require('my.functions').lsp_status, padding = 0 },
2022-08-26 04:20:49 +02:00
{ 'diagnostics' }
},
lualine_c = {
{
'filename',
path = 1,
newfile_status = true,
cond = not_firenvim
},
{
require('my.functions').current_function,
padding = 0,
color = 'StatusLineNC'
}
},
lualine_x = { {
require('my.functions').lsp_sig_status,
color = 'StatusLineNC'
}, { 'filetype' } },
2022-08-26 04:20:49 +02:00
lualine_y = { { 'progress' } },
lualine_z = { { 'location' }, { '"🍄"', padding = 0 }
}
2022-08-18 17:40:37 +02:00
},
})
2022-08-26 04:10:26 +02:00
2022-10-11 15:34:37 +02:00
if vim.version().api_level >= 10 then -- >=0.8.0
require('lualine').setup({
inactive_winbar = {
lualine_c = { { 'filename', cond = not_firenvim } },
}
})
end
map('n', '<Leader>B', require('bug-reference').open, 'Open bug under cursor')
2022-08-26 04:10:26 +02:00
local mind = require('mind')
2022-08-31 03:55:28 +02:00
mind.setup({
ui = {
width = 50
}
})
2022-12-26 16:02:49 +01:00
local function mind_project()
vim.cmd.lcd(require('my.functions').get_project_root())
mind.open_project()
end
2023-01-26 11:14:49 +01:00
2022-08-26 04:10:26 +02:00
map('n', '<C-F9>', mind.open_main, 'Open main mind')
map('n', '<F33>', mind.open_main, 'Open main mind') -- <C-F9> = <F33>
2022-12-26 16:02:49 +01:00
map('n', '<S-F9>', mind_project, 'Open project mind')
map('n', '<F21>', mind_project, 'Open project mind') -- <S-F9> = <F21>
2022-08-31 22:59:30 +02:00
2022-10-01 19:02:40 +02:00
vim.g.table_mode_map_prefix = '<Leader>T'
require('which-key').register({ ['<Leader>T'] = { name = 'Table mode' } })
2022-09-15 21:50:18 +02:00
require('dressing').setup({
input = {
relative = 'win',
min_width = { 60, 0.4 },
}
})
require('notify').setup({
on_open = function(win)
vim.api.nvim_win_set_option(win, 'wrap', true) -- does not work
end,
stages = 'static',
})
vim.notify = require('notify')
2022-09-25 12:38:05 +02:00
require('autolist').setup({})
2022-11-14 12:26:25 +01:00
require('which-key').register({ ['<Leader>j'] = { name = 'Jump' } })
map('n', '<Leader>ja', require('harpoon.mark').add_file, 'Add file')
map('n', '<Leader>jm', require('harpoon.ui').toggle_quick_menu, 'Quick menu')
2023-01-24 21:04:18 +01:00
2023-01-26 11:14:49 +01:00
require('copyright-updater').setup({
enabled = true,
return_cursor = true,
mappings = nil,
limiters = {
range = '1,10'
}
})