Setting up a lot of changes

This commit is contained in:
Fabian Becker 2022-09-20 14:01:09 +02:00
parent 183d7b6a57
commit 04eac8f2b6
19 changed files with 475 additions and 265 deletions

View File

@ -16,7 +16,8 @@ font:
family: Hack Nerd Font
style: Bold Italic
size: 11
size: 15
ligatures: true
# Gruvbox
colors:
@ -47,5 +48,11 @@ colors:
white: '#ebdbb2'
window:
opacity: 0.75
opacity: 0.95
decorations: none
key_bindings:
- { key: Right, mods: Alt, chars: "\x1BF" }
- { key: Left, mods: Alt, chars: "\x1BB" }
alt_send_esc: true

View File

@ -3,96 +3,120 @@ local lspkind = require('lspkind')
local luasnip = require 'luasnip'
local source_mapping = {
buffer = "[Buffer]",
nvim_lsp = "[LSP]",
nvim_lua = "[Lua]",
cmp_tabnine = "[TN]",
path = "[Path]",
buffer = "[Buffer]",
nvim_lsp = "[LSP]",
nvim_lua = "[Lua]",
cmp_tabnine = "[TN]",
path = "[Path]",
orgmode = "[Org]",
luasnip = "[Snippet]",
}
local has_words_before = function()
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and
vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(
col, col):match("%s") == nil
end
cmp.setup({
-- snippet = {
-- -- REQUIRED - you must specify a snippet engine
-- expand = function(args)
-- vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
-- -- require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
-- -- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users.
-- -- require'snippy'.expand_snippet(args.body) -- For `snippy` users.
-- end,
-- },
--mapping = {
--['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
--['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }),
--['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }),
--['<CR>'] = cmp.mapping.confirm({ select = true }),
--},
snippet = {
expand = function(args)
require'luasnip'.lsp_expand(args.body)
end,
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
mapping = {
['<C-p>'] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }),
['<C-n>'] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }),
['<C-d>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.close(),
['<CR>'] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Replace,
select = false, -- only replace if explicitly selected
},
mapping = {
['<C-p>'] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }),
['<C-n>'] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }),
['<C-d>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.close(),
['<CR>'] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Replace,
select = false, -- only replace if explicitly selected
},
},
sources = cmp.config.sources({
{ name = 'cmp_tabnine' },
{ name = 'nvim_lsp' },
}),
formatting = {
format = function(entry, vim_item)
vim_item.kind = lspkind.presets.default[vim_item.kind]
local menu = source_mapping[entry.source.name]
if entry.source.name == 'cmp_tabnine' then
if entry.completion_item.data ~= nil and entry.completion_item.data.detail ~= nil then
menu = entry.completion_item.data.detail .. ' ' .. menu
end
vim_item.kind = '?'
end
vim_item.menu = menu
return vim_item
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.expand_or_jumpable() then
luasnip.expand_or_jump()
elseif has_words_before() then
cmp.complete()
else
fallback()
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { "i", "s" })
},
sources = cmp.config.sources({
{ name = 'cmp_tabnine' },
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
}),
formatting = {
format = function(entry, vim_item)
vim_item.kind = lspkind.presets.default[vim_item.kind]
local menu = source_mapping[entry.source.name]
if entry.source.name == 'cmp_tabnine' then
if entry.completion_item.data ~= nil and entry.completion_item.data.detail ~= nil then
menu = entry.completion_item.data.detail .. ' ' .. menu
end
}
vim_item.kind = '?'
end
vim_item.menu = menu
return vim_item
end
}
})
-- Set configuration for specific filetype.
cmp.setup.filetype('org', {
sources = cmp.config.sources({
{ name = 'orgmode' },
{ name = 'cmp_tabnine' },
}, {
{ name = 'buffer' },
})
})
-- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline('/', {
sources = {
{ name = 'buffer' }
}
sources = {
{ name = 'buffer' }
}
})
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline(':', {
sources = cmp.config.sources({
{ name = 'path' }
}, {
{ name = 'cmdline' }
sources = cmp.config.sources({
{ name = 'path' }
}, {
{ name = 'cmdline' }
}),
mappings = cmp.mapping.preset.cmdline(),
mappings = cmp.mapping.preset.cmdline(),
})
-- Setup tabnine
local tabnine = require('cmp_tabnine.config')
tabnine:setup({
max_lines = 1000;
max_num_results = 20;
sort = true;
run_on_every_keystroke = true;
snippet_placeholder = '..';
ignored_file_types = { -- default is not to ignore
-- uncomment to ignore in lua:
lua = true
};
max_lines = 1000;
max_num_results = 20;
sort = true;
run_on_every_keystroke = true;
snippet_placeholder = '..';
ignored_file_types = { -- default is not to ignore
-- uncomment to ignore in lua:
lua = true
};
})
-- Setup lspconfig.
local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities())
capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)

View File

@ -0,0 +1,25 @@
local Worktree = require("git-worktree")
local Job = require("plenary.job")
local function is_massdriver()
return not not (string.find(vim.loop.cwd(), "massdriver.git", 1, true))
end
Worktree.on_tree_change(function (op, metadata)
local compile_job = Job:new({
"mix", "compile"
})
if op == Worktree.Operations.Create and is_massdriver() then
local deps_job = Job:new({
"mix", "deps.get"
})
deps_job:and_then(compile_job)
deps_job:sync()
compile_job:wait()
end
if op == Worktree.Operations.Switch and is_massdriver() then
compile_job:start()
end
end)

View File

@ -47,6 +47,10 @@ vnoremap('>', '>gv')
nnoremap('<TAB>', ':bnext<CR>')
nnoremap('<S-TAB>', ':bprevious<CR>')
-- Quickfix list
nnoremap('[q', ':cprev<CR>')
nnoremap(']q', ':cnext<CR>')
-- Move selected line / block of text in visual mode
xnoremap('J', ':move \'>+1<CR>gv-gv')
xnoremap('K', ':move \'<-2<CR>gv-gv')

View File

@ -2,37 +2,52 @@ local Remap = require("halfdan.keymap")
local nnoremap = Remap.nnoremap
local inoremap = Remap.inoremap
-- TODO figure out why this don't work
vim.fn.sign_define(
"LspDiagnosticsSignError",
{texthl = "LspDiagnosticsSignError", text = "", numhl = "LspDiagnosticsSignError"}
)
vim.fn.sign_define(
"LspDiagnosticsSignWarning",
{texthl = "LspDiagnosticsSignWarning", text = "", numhl = "LspDiagnosticsSignWarning"}
)
vim.fn.sign_define(
"LspDiagnosticsSignHint",
{texthl = "LspDiagnosticsSignHint", text = "", numhl = "LspDiagnosticsSignHint"}
)
vim.fn.sign_define(
"LspDiagnosticsSignInformation",
{texthl = "LspDiagnosticsSignInformation", text = "", numhl = "LspDiagnosticsSignInformation"}
)
vim.fn.sign_define("DiagnosticSignError", {text = "", texthl = "DiagnosticSignError"})
vim.fn.sign_define("DiagnosticSignWarn", {text = "", texthl = "DiagnosticSignWarn"})
vim.fn.sign_define("DiagnosticSignInfo", {text = "", texthl = "DiagnosticSignInfo"})
vim.fn.sign_define("DiagnosticSignHint", {text = "", texthl = "DiagnosticSignHint"})
-- Set Default Prefix.
-- Note: You can set a prefix per lsp server in the lv-globals.lua file
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
vim.lsp.diagnostic.on_publish_diagnostics, {
virtual_text = {
prefix = "",
spacing = 1,
},
-- virtual_text = {
-- prefix = "",
-- spacing = 1,
-- },
signs = true,
underline = true,
}
)
-- Setup for nvim-notify
vim.lsp.set_log_level(1 )
local convert_lsp_log_level_to_neovim_log_level = function(lsp_log_level)
if lsp_log_level == 1 then
return 4
elseif lsp_log_level == 2 then
return 3
elseif lsp_log_level == 3 then
return 2
elseif lsp_log_level == 4 then
return 1
end
end
local levels = {
"ERROR",
"WARN",
"INFO",
"DEBUG",
[0] = "TRACE",
}
vim.lsp.handlers["window/showMessage"] = function(_, result, ...)
if require("vim.lsp.log").should_log(convert_lsp_log_level_to_neovim_log_level(result.type)) then
vim.notify(result.message, levels[result.type])
end
end
-- symbols for autocomplete
vim.lsp.protocol.CompletionItemKind = {
"  (Text) ",
@ -81,12 +96,12 @@ local function documentHighlight(client, bufnr)
end
end
-- needed for the LSP to recognize elixir files (alternativly just use elixir-editors/vim-elixir)
vim.cmd([[
au BufRead,BufNewFile *.ex,*.exs set filetype=elixir
au BufRead,BufNewFile *.eex,*.leex,*.sface set filetype=eelixir
au BufRead,BufNewFile mix.lock set filetype=elixir
]])
-- -- needed for the LSP to recognize elixir files (alternativly just use elixir-editors/vim-elixir)
-- vim.cmd([[
-- au BufRead,BufNewFile *.ex,*.exs set filetype=elixir
-- au BufRead,BufNewFile *.eex,*.leex,*.sface set filetype=eelixir
-- au BufRead,BufNewFile mix.lock set filetype=elixir
-- ]])
@ -95,47 +110,64 @@ vim.api.nvim_set_keymap('n', '<leader>e', '<cmd>lua vim.diagnostic.open_float()<
vim.api.nvim_set_keymap('n', '<leader>q', '<cmd>lua vim.diagnostic.setloclist()<CR>', { noremap = true, silent = true })
-- LSP settings
local lsp_status = require('lsp-status')
lsp_status.register_progress()
local lspconfig = require 'lspconfig'
local on_attach = function(client, bufnr)
nnoremap("gd", function() vim.lsp.buf.definition() end)
nnoremap("gD", function() vim.lsp.buf.declaration() end)
nnoremap("K", function() vim.lsp.buf.hover() end)
nnoremap("gW", function() vim.lsp.buf.workspace_symbol() end)
nnoremap("<leader>vd", function() vim.diagnostic.open_float() end)
nnoremap("[d", function() vim.diagnostic.goto_next() end)
nnoremap("]d", function() vim.diagnostic.goto_prev() end)
nnoremap("<leader>ca", function() vim.lsp.buf.code_action() end)
nnoremap("gr", function() vim.lsp.buf.references() end)
nnoremap("<leader>rn", function() vim.lsp.buf.rename() end)
nnoremap("<leader>cl", function() vim.lsp.codelens.run() end)
nnoremap("<leader>ff", function() vim.lsp.buf.format{async = true} end)
inoremap("<C-h>", function() vim.lsp.buf.signature_help() end)
lsp_status.on_attach(client, bufnr)
end
local function config(_config)
return vim.tbl_deep_extend("force", {
capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()),
on_attach = function()
-- local opts = { noremap = true, silent = true }
nnoremap("gd", function() vim.lsp.buf.definition() end)
nnoremap("gD", function() vim.lsp.buf.declaration() end)
nnoremap("K", function() vim.lsp.buf.hover() end)
nnoremap("gW", function() vim.lsp.buf.workspace_symbol() end)
nnoremap("<leader>vd", function() vim.diagnostic.open_float() end)
nnoremap("[d", function() vim.diagnostic.goto_next() end)
nnoremap("]d", function() vim.diagnostic.goto_prev() end)
nnoremap("<leader>ca", function() vim.lsp.buf.code_action() end)
nnoremap("<leader>rr", function() vim.lsp.buf.references() end)
nnoremap("<leader>rn", function() vim.lsp.buf.rename() end)
nnoremap("<leader>cl", function() vim.lsp.codelens.run() end)
nnoremap("<leader>ff", function() vim.lsp.buf.format{async = true} end)
inoremap("<C-h>", function() vim.lsp.buf.signature_help() end)
--vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>so', [[<cmd>lua require('telescope.builtin').lsp_document_symbols()<CR>]], opts)
-- vim.cmd [[ command! Format execute 'lua vim.lsp.buf.formatting()' ]]
end,
}, _config or {})
_config = vim.tbl_deep_extend("force", {
log_level = vim.lsp.protocol.MessageType.Log,
message_level = vim.lsp.protocol.MessageType.Log,
capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()),
on_attach = on_attach,
}, _config or {})
-- Set default client capabilities plus window/workDoneProgress
_config.capabilities = vim.tbl_extend('keep', _config.capabilities or {}, lsp_status.capabilities)
return _config
end
local elixir = require('elixir')
elixir.setup(config({
cmd = {"/Users/fbecker18/opt/elixir-ls/bin/language_server.sh"},
-- repo = "mhanberg/elixir-ls", -- defaults to elixir-lsp/elixir-ls
-- branch = "mh/all-workspace-symbols", -- defaults to nil, just checkouts out the default branch, mutually exclusive with the `tag` option
settings = elixir.settings({
dialyzerEnabled = true,
fetchDeps = false,
enableTestLenses = true,
suggestSpecs = false,
}),
on_attach = function(client, bufnr)
on_attach(client, bufnr)
local map_opts = { buffer = true, noremap = true}
-- remove the pipe operator
vim.keymap.set("n", "<leader>fp", ":ElixirFromPipe<cr>", map_opts)
-- add the pipe operator
vim.keymap.set("n", "<leader>tp", ":ElixirToPipe<cr>", map_opts)
vim.keymap.set("v", "<leader>em", ":ElixirExpandMacro<cr>", map_opts)
end
}))
-- Enable the following language servers
@ -144,6 +176,16 @@ for _, lsp in ipairs(servers) do
lspconfig[lsp].setup(config())
end
lspconfig.sumneko_lua.setup(config({
settings = {
Lua = {
diagnostics = {
globals = { 'vim' }
}
}
}
}))
require('rust-tools').setup({
tools = {
inlay_hints = {

View File

@ -1,12 +1,12 @@
local saga = require 'lspsaga'
saga.init_lsp_saga({
-- symbols in winbar
symbol_in_winbar = {
enable = true,
click_support = true,
show_file = true,
in_custom = true,
},
-- symbol_in_winbar = {
-- enable = true,
-- click_support = true,
-- show_file = true,
-- in_custom = true,
-- },
})
local function get_file_name(include_path)

View File

@ -0,0 +1,7 @@
local luasnip = require('luasnip')
luasnip.config.set_config {
history = true,
updateevents = "TextChanged,TextChangedI"
}
require("luasnip/loaders/from_vscode").lazy_load()

View File

@ -1,5 +1,6 @@
require("neotest").setup({
adapters = {
require("neotest-vim-test")({ allow_file_types = { "haskell", "elixir" } }),
require("neotest-vim-test")({ allow_file_types = { "haskell"} }),
require("neotest-elixir")
},
})

View File

@ -0,0 +1,3 @@
require('notify').setup({
background_colour = "#000000",
})

View File

@ -0,0 +1,23 @@
local orgmode = require('orgmode')
orgmode.setup_ts_grammar()
orgmode.setup({
org_agenda_files = { '~/org/*' },
org_default_notes_file = '~/org/inbox.org',
org_todo_keywords = {'TODO(t)', 'WAITING(w)', '|', 'DONE(d)', 'CANCELLED(c)'},
org_capture_templates = {
t = {
description = 'Todo',
template = '* TODO %?\n %u',
target = '~/org/inbox.org'
},
j = {
description = 'Journal',
template = '\n*** %<%Y-%m-%d> %<%A>\n**** %U\n\n%?',
target = '~/org/journal.org'
},
},
})

View File

@ -2,8 +2,8 @@ local Remap = require("halfdan.keymap")
local nnoremap = Remap.nnoremap
local builtin = require("telescope.builtin")
nnoremap("<leader>ps", function()
builtin.grep_string({ search = vim.fn.input("Grep For > ")})
nnoremap("<leader>pg", function()
builtin.grep_string({ search = vim.fn.input("Grep For > ")})
end)
nnoremap("<C-p>", function()
if not pcall(builtin.git_files) then
@ -14,22 +14,22 @@ nnoremap("<Leader>pf", function()
builtin.find_files()
end)
nnoremap("<Leader>ps", function()
builtin.lsp_workspace_symbols()
end)
nnoremap("<leader>pw", function()
builtin.grep_string { search = vim.fn.expand("<cword>") }
builtin.grep_string { search = vim.fn.expand("<cword>") }
end)
nnoremap("<leader>pb", function()
builtin.buffers()
builtin.buffers()
end)
nnoremap("<leader>vh", function()
builtin.help_tags()
builtin.help_tags()
end)
nnoremap("<leader>gw", function()
require('telescope').extensions.git_worktree.git_worktrees()
end)
nnoremap("<leader>gc", function()
builtin.git_branches()
end)
-- Telescope
-- nnoremap('<leader>fs', ':lua require(\'telescope.builtin\').grep_string({ search = vim.fn.input("Grep For > ")})<CR>')
-- nnoremap('<Leader>ff', ':lua require(\'telescope.builtin\').find_files()<CR>')
-- nnoremap('<leader>fw', ':lua require(\'telescope.builtin\').grep_string { search = vim.fn.expand("<cword>") }<CR>')
-- nnoremap('<leader>fb', ':lua require(\'telescope.builtin\').buffers()<CR>')
-- nnoremap('<leader>vh', ':lua require(\'telescope.builtin\').help_tags()<CR>')
-- nnoremap('<leader>gwl', ':lua require(\'telescope\').extensions.git_worktree.git_worktrees()<CR>')
-- nnoremap('<leader>gwc', ':lua require(\'telescope\').extensions.git_worktree.create_git_worktree()<CR>')

View File

@ -2,4 +2,4 @@ vim.cmd('let g:nvcode_termcolors=256')
vim.cmd('colorscheme ' .. O.colorscheme)
vim.cmd('highlight Normal guibg=NONE ctermbg=NONE')
-- vim.cmd('highlight Normal guibg=NONE ctermbg=NONE')

View File

@ -1,7 +1,7 @@
require'lualine'.setup {
options = {
icons_enabled = true,
theme = 'auto',
theme = 'gruvbox-baby',
--component_separators = {'', ''},
--section_separators = {'', ''},
disabled_filetypes = {}
@ -9,8 +9,8 @@ require'lualine'.setup {
sections = {
lualine_a = {'mode'},
lualine_b = {'branch'},
lualine_c = { 'filename', 'data', "require'lsp-status'.status()" },
lualine_x = {'filetype'},
lualine_c = { 'filename', 'diff' },
lualine_x = {"require'lsp-status'.status()", 'filetype'},
lualine_y = {'progress'},
lualine_z = {'location'}
},
@ -23,5 +23,14 @@ require'lualine'.setup {
lualine_z = {}
},
tabline = {},
extensions = {}
extensions = {},
winbar = {
lualine_a = {
},
lualine_b = {},
lualine_c = {'filename' },
lualine_x = {},
lualine_y = {},
lualine_z = {}
}
}

View File

@ -47,10 +47,21 @@ return require("packer").startup({
-- Goodies
use {'tpope/vim-fugitive'}
use {'tpope/vim-surround'} -- ✅
use {'tpope/vim-dispatch'}
use {'tpope/vim-dispatch'}
-- Testing
use {'vim-test/vim-test'}
use {
"nvim-neotest/neotest",
requires = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
"antoinemadec/FixCursorHold.nvim",
"jfpedroza/neotest-elixir"
}
}
use {"nvim-neotest/neotest-vim-test" }
-- Treesitter
use {"nvim-treesitter/nvim-treesitter", run = ":TSUpdate"}
@ -65,6 +76,9 @@ return require("packer").startup({
requires = {'kyazdani42/nvim-web-devicons'}
}
use {'rcarriga/nvim-notify'}
use {'nvim-orgmode/orgmode'}
use {'justinmk/vim-sneak'}
@ -84,7 +98,10 @@ return require("packer").startup({
use {'hrsh7th/nvim-cmp'}
use {'tzachar/cmp-tabnine', run = './install.sh'}
use {'onsails/lspkind-nvim'} -- Display symbol with cmp suggestions
use {'L3MON4D3/LuaSnip'}
use {
'L3MON4D3/LuaSnip',
requires = {"rafamadriz/friendly-snippets"},
}
use {'saadparwaiz1/cmp_luasnip'}
use {'glepnir/lspsaga.nvim'}

View File

@ -1,3 +1,5 @@
vim.notify = require("notify")
vim.cmd('set iskeyword+=-') -- treat dash separated words as a word text object"
vim.cmd('set shortmess+=c') -- Don't pass messages to |ins-completion-menu|.
vim.cmd('set inccommand=split') -- Make substitution work in realtime
@ -17,7 +19,8 @@ vim.o.mouse = "a" -- Enable your mouse
vim.o.splitbelow = true -- Horizontal splits will automatically be below
vim.o.termguicolors = true -- set term gui colors most terminals support this
vim.o.splitright = true -- Vertical splits will automatically be to the right
vim.o.conceallevel = 0 -- So that I can see `` in markdown files
vim.opt.conceallevel = 2
vim.opt.concealcursor = 'nc'
vim.cmd('set ts=2') -- Insert 4 spaces for a tab
vim.cmd('set sw=2') -- Change the number of space characters inserted for indentation
vim.cmd('set expandtab') -- Converts tabs to spaces
@ -34,10 +37,10 @@ vim.o.updatetime = 300 -- Faster completion
vim.o.timeoutlen = 500 -- By default timeoutlen is 1000 ms
vim.o.clipboard = "unnamedplus" -- Copy paste between vim and everything else
vim.o.laststatus = 3 -- Set global status bar
vim.opt.winbar = "%=%m %f" -- Show winbar with modified flag and filename right adjusted
-- Enable telescope theme
vim.g.gruvbox_baby_telescope_theme = 1
vim.g.gruvbox_baby_background_color = "dark"
-- vim.g.gruvbox_baby_telescope_theme = 1
-- vim.g.gruvbox_baby_background_color = "dark"
vim.g.colorscheme = "gruvbox-baby" -- Set colorscheme
vim.g.mapleader = ' '

View File

@ -1,10 +1,12 @@
local actions = require('telescope.actions')
require("telescope").load_extension("git_worktree")
-- Global remapping
------------------------------
-- '--color=never',
require('telescope').setup {
defaults = {
find_command = {'rg', '--no-heading', '--with-filename', '--line-number', '--column', '--smart-case'},
file_ignore_patterns = {"_build", "node_modules", "deps" },
prompt_position = "bottom",
--prompt_prefix = " ",
prompt_prefix = "",
@ -16,7 +18,6 @@ require('telescope').setup {
layout_strategy = "horizontal",
layout_defaults = {horizontal = {mirror = false}, vertical = {mirror = false}},
file_sorter = require'telescope.sorters'.get_fuzzy_file,
file_ignore_patterns = {"_build", "node_modules", "deps" },
generic_sorter = require'telescope.sorters'.get_generic_fuzzy_sorter,
shorten_path = true,
winblend = 0,
@ -32,7 +33,6 @@ require('telescope').setup {
file_previewer = require'telescope.previewers'.vim_buffer_cat.new,
grep_previewer = require'telescope.previewers'.vim_buffer_vimgrep.new,
qflist_previewer = require'telescope.previewers'.vim_buffer_qflist.new,
layout_strategy = "horizontal",
-- Developer configurations: Not meant for general override
buffer_previewer_maker = require'telescope.previewers'.buffer_previewer_maker,
mappings = {
@ -43,7 +43,6 @@ require('telescope').setup {
-- To disable a keymap, put [map] = false
-- So, to not map "<C-n>", just put
-- ["<c-x>"] = false,
-- Otherwise, just set the mapping to the function that you want it to be.
-- ["<C-i>"] = actions.select_horizontal,

View File

@ -1,11 +1,13 @@
require('nvim-treesitter.configs').setup({
ensure_installed = { "python", "go", "elixir", "rust", "gomod", "json", "lua", "ruby", "yaml" },
ensure_installed = { "python", "go", "elixir", "rust", "gomod", "json", "lua", "ruby", "yaml", "org" },
ignore_install = { "haskell" },
highlight = {
enable = true
enable = true,
additional_vim_regex_highlighting = {'org'},
},
indent = {
enable = true
enable = true,
disable = { 'org' },
},
incremental_selection = {
enable = true,

View File

@ -9,23 +9,26 @@ vim.api.nvim_command('packadd packer.nvim')
local no_errors, error_msg = pcall(function()
local time
local profile_info
local should_profile = false
if should_profile then
local hrtime = vim.loop.hrtime
profile_info = {}
time = function(chunk, start)
if start then
profile_info[chunk] = hrtime()
else
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
end
_G._packer = _G._packer or {}
_G._packer.inside_compile = true
local time
local profile_info
local should_profile = false
if should_profile then
local hrtime = vim.loop.hrtime
profile_info = {}
time = function(chunk, start)
if start then
profile_info[chunk] = hrtime()
else
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
end
else
time = function(chunk, start) end
end
else
time = function(chunk, start) end
end
local function save_profiles(threshold)
local sorted_times = {}
for chunk_name, time_taken in pairs(profile_info) do
@ -38,14 +41,16 @@ local function save_profiles(threshold)
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
end
end
if threshold then
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
end
_G._packer = _G._packer or {}
_G._packer.profile_output = results
end
time([[Luarocks path setup]], true)
local package_path_str = "/Users/halfdan/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/Users/halfdan/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/Users/halfdan/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/Users/halfdan/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/Users/halfdan/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
local package_path_str = "/Users/matthiasnienaber/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/Users/matthiasnienaber/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/Users/matthiasnienaber/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/Users/matthiasnienaber/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/Users/matthiasnienaber/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
if not string.find(package.path, package_path_str, 1, true) then
package.path = package.path .. ';' .. package_path_str
end
@ -69,249 +74,286 @@ end
time([[try_loadstring definition]], false)
time([[Defining packer_plugins]], true)
_G.packer_plugins = {
["JuliaFormatter.vim"] = {
["Comment.nvim"] = {
config = { "\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fComment\frequire\0" },
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/JuliaFormatter.vim",
url = "https://github.com/kdheepak/JuliaFormatter.vim"
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/Comment.nvim",
url = "https://github.com/numToStr/Comment.nvim"
},
["FixCursorHold.nvim"] = {
loaded = true,
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim",
url = "https://github.com/antoinemadec/FixCursorHold.nvim"
},
LuaSnip = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/LuaSnip",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/LuaSnip",
url = "https://github.com/L3MON4D3/LuaSnip"
},
["cmp-buffer"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/cmp-buffer",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/cmp-buffer",
url = "https://github.com/hrsh7th/cmp-buffer"
},
["cmp-cmdline"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/cmp-cmdline",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/cmp-cmdline",
url = "https://github.com/hrsh7th/cmp-cmdline"
},
["cmp-nvim-lsp"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
},
["cmp-path"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/cmp-path",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/cmp-path",
url = "https://github.com/hrsh7th/cmp-path"
},
["cmp-tabnine"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/cmp-tabnine",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/cmp-tabnine",
url = "https://github.com/tzachar/cmp-tabnine"
},
cmp_luasnip = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
url = "https://github.com/saadparwaiz1/cmp_luasnip"
},
["darcula-solid.nvim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/darcula-solid.nvim",
url = "https://github.com/briones-gabriel/darcula-solid.nvim"
},
dracula = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/dracula",
url = "https://github.com/dracula/vim"
},
["editorconfig-vim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/editorconfig-vim",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/editorconfig-vim",
url = "https://github.com/editorconfig/editorconfig-vim"
},
everforest = {
["elixir.nvim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/everforest",
url = "https://github.com/sainnhe/everforest"
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/elixir.nvim",
url = "https://github.com/mhanberg/elixir.nvim"
},
["git-worktree.nvim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/git-worktree.nvim",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/git-worktree.nvim",
url = "https://github.com/theprimeagen/git-worktree.nvim"
},
["jsonc.vim"] = {
gruvbox = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/jsonc.vim",
url = "https://github.com/neoclide/jsonc.vim"
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/gruvbox",
url = "https://github.com/gruvbox-community/gruvbox"
},
["julia-vim"] = {
loaded = false,
needs_bufread = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/opt/julia-vim",
url = "https://github.com/JuliaEditorSupport/julia-vim"
["gruvbox-baby"] = {
loaded = true,
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/gruvbox-baby",
url = "https://github.com/luisiacc/gruvbox-baby"
},
["lsp-status.nvim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/lsp-status.nvim",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/lsp-status.nvim",
url = "https://github.com/nvim-lua/lsp-status.nvim"
},
["lspkind-nvim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/lspkind-nvim",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/lspkind-nvim",
url = "https://github.com/onsails/lspkind-nvim"
},
["lspsaga.nvim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/lspsaga.nvim",
url = "https://github.com/tami5/lspsaga.nvim"
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/lspsaga.nvim",
url = "https://github.com/glepnir/lspsaga.nvim"
},
["lualine.nvim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/lualine.nvim",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/lualine.nvim",
url = "https://github.com/nvim-lualine/lualine.nvim"
},
["lush.nvim"] = {
neogit = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/lush.nvim",
url = "https://github.com/rktjmp/lush.nvim"
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/neogit",
url = "https://github.com/TimUntersberger/neogit"
},
moonlight = {
neotest = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/moonlight",
url = "https://github.com/shaunsingh/moonlight.nvim"
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/neotest",
url = "https://github.com/nvim-neotest/neotest"
},
nerdcommenter = {
["neotest-elixir"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/nerdcommenter",
url = "https://github.com/preservim/nerdcommenter"
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/neotest-elixir",
url = "https://github.com/jfpedroza/neotest-elixir"
},
["neotest-vim-test"] = {
loaded = true,
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/neotest-vim-test",
url = "https://github.com/nvim-neotest/neotest-vim-test"
},
["nord-vim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/nord-vim",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/nord-vim",
url = "https://github.com/arcticicestudio/nord-vim"
},
["nvim-cmp"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/nvim-cmp",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/nvim-cmp",
url = "https://github.com/hrsh7th/nvim-cmp"
},
["nvim-dap"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/nvim-dap",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/nvim-dap",
url = "https://github.com/mfussenegger/nvim-dap"
},
["nvim-dap-ui"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/nvim-dap-ui",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/nvim-dap-ui",
url = "https://github.com/rcarriga/nvim-dap-ui"
},
["nvim-dap-virtual-text"] = {
loaded = true,
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/nvim-dap-virtual-text",
url = "https://github.com/theHamsta/nvim-dap-virtual-text"
},
["nvim-lsp-installer"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/nvim-lsp-installer",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/nvim-lsp-installer",
url = "https://github.com/williamboman/nvim-lsp-installer"
},
["nvim-lspconfig"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
url = "https://github.com/neovim/nvim-lspconfig"
},
["nvim-notify"] = {
loaded = true,
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/nvim-notify",
url = "https://github.com/rcarriga/nvim-notify"
},
["nvim-treesitter"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
url = "https://github.com/nvim-treesitter/nvim-treesitter"
},
["nvim-treesitter-textobjects"] = {
loaded = true,
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/nvim-treesitter-textobjects",
url = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects"
},
["nvim-web-devicons"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
url = "https://github.com/kyazdani42/nvim-web-devicons"
},
["onedark.vim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/onedark.vim",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/onedark.vim",
url = "https://github.com/joshdick/onedark.vim"
},
orgmode = {
loaded = true,
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/orgmode",
url = "https://github.com/nvim-orgmode/orgmode"
},
["packer.nvim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/packer.nvim",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/packer.nvim",
url = "https://github.com/wbthomason/packer.nvim"
},
["plenary.nvim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/plenary.nvim",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/plenary.nvim",
url = "https://github.com/nvim-lua/plenary.nvim"
},
["popup.nvim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/popup.nvim",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/popup.nvim",
url = "https://github.com/nvim-lua/popup.nvim"
},
["rust-tools.nvim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/rust-tools.nvim",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/rust-tools.nvim",
url = "https://github.com/simrat39/rust-tools.nvim"
},
["rust.vim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/rust.vim",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/rust.vim",
url = "https://github.com/rust-lang/rust.vim"
},
["symbols-outline.nvim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim",
url = "https://github.com/marcuscaisey/symbols-outline.nvim"
},
tagbar = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/tagbar",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/tagbar",
url = "https://github.com/preservim/tagbar"
},
["telescope-fzy-native.nvim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/telescope-fzy-native.nvim",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/telescope-fzy-native.nvim",
url = "https://github.com/nvim-telescope/telescope-fzy-native.nvim"
},
["telescope-project.nvim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/telescope-project.nvim",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/telescope-project.nvim",
url = "https://github.com/nvim-telescope/telescope-project.nvim"
},
["telescope.nvim"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/telescope.nvim",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/telescope.nvim",
url = "https://github.com/nvim-telescope/telescope.nvim"
},
["vim-dispatch"] = {
loaded = true,
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/vim-dispatch",
url = "https://github.com/tpope/vim-dispatch"
},
["vim-easy-align"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/vim-easy-align",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/vim-easy-align",
url = "https://github.com/junegunn/vim-easy-align"
},
["vim-fugitive"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/vim-fugitive",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/vim-fugitive",
url = "https://github.com/tpope/vim-fugitive"
},
["vim-gitgutter"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/vim-gitgutter",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/vim-gitgutter",
url = "https://github.com/airblade/vim-gitgutter"
},
["vim-highlightedyank"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/vim-highlightedyank",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/vim-highlightedyank",
url = "https://github.com/machakann/vim-highlightedyank"
},
["vim-sneak"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/vim-sneak",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/vim-sneak",
url = "https://github.com/justinmk/vim-sneak"
},
["vim-surround"] = {
loaded = true,
path = "/Users/halfdan/.local/share/nvim/site/pack/packer/start/vim-surround",
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/vim-surround",
url = "https://github.com/tpope/vim-surround"
},
["vim-test"] = {
loaded = true,
path = "/Users/matthiasnienaber/.local/share/nvim/site/pack/packer/start/vim-test",
url = "https://github.com/vim-test/vim-test"
}
}
time([[Defining packer_plugins]], false)
-- Config for: Comment.nvim
time([[Config for Comment.nvim]], true)
try_loadstring("\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fComment\frequire\0", "config", "Comment.nvim")
time([[Config for Comment.nvim]], false)
_G._packer.inside_compile = false
if _G._packer.needs_bufread == true then
vim.cmd("doautocmd BufRead")
end
_G._packer.needs_bufread = false
if should_profile then save_profiles() end
end)
if not no_errors then
error_msg = error_msg:gsub('"', '\\"')
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
end

View File

@ -5,6 +5,8 @@
# Plugin manager for tmux
set -g @plugin 'tmux-plugins/tpm'
set-environment -g TMUX_PLUGIN_MANAGER_PATH '~/.tmux/plugins/'
# Simple tmux options for anyone
set -g @plugin 'tmux-plugins/tmux-sensible'