Compare commits
15 commits
a3b00c4693
...
fadacf5313
Author | SHA1 | Date | |
---|---|---|---|
fadacf5313 | |||
14f33460df | |||
892544df8e | |||
27860162b4 | |||
86fdfbe3d5 | |||
af6e91561b | |||
ff3b4ef605 | |||
0220f7f03f | |||
03a4148796 | |||
26c3124e95 | |||
84714379ab | |||
7fbdbf0203 | |||
ba5d5d2561 | |||
e3b2f0f0e5 | |||
9628ff30b9 |
13 changed files with 226 additions and 197 deletions
|
@ -9,6 +9,7 @@
|
|||
pushmerge = "push -o merge_request.merge_when_pipeline_succeeds" # see https://docs.gitlab.com/ce/user/project/push_options.html # merge-when-pipeline-succeeds-alias
|
||||
last = "diff HEAD~ HEAD"
|
||||
pushall = "!git remote | xargs -I R git push R" # push to all connected remotes
|
||||
fetchall = "!git remote | xargs -I R git fetch R" # fetch from all connected remotes
|
||||
|
||||
[commit]
|
||||
gpgsign = true # sign commits as me
|
||||
|
|
|
@ -47,6 +47,7 @@ alias glog='git log --stat'
|
|||
alias gloog='git log --stat -p'
|
||||
|
||||
alias gf='git fetch'
|
||||
alias gfa='git fetchall'
|
||||
alias gl='git pull'
|
||||
|
||||
alias gpn='git push --dry-run'
|
||||
|
|
|
@ -11,15 +11,18 @@ require('maps')
|
|||
vim.api.nvim_create_autocmd({ "TextYankPost" }, {
|
||||
command = 'silent! lua require"vim.highlight".on_yank{timeout=500}',
|
||||
desc = "Highlight yanked text whenevery yanking something",
|
||||
group = vim.api.nvim_create_augroup('highlightyanks', { clear = true }),
|
||||
group = vim.api.nvim_create_augroup('highlightyanks', { clear = true })
|
||||
})
|
||||
|
||||
-- Special setting for editing gopass files - make sure nothing leaks outside the directories it is supposed to
|
||||
vim.api.nvim_create_autocmd({ "BufNewFile", "BufRead" }, {
|
||||
pattern = { "/dev/shm/gopass.*", "/dev/shm/pass.?*/?*.txt", "$TMPDIR/pass.?*/?*.txt", "/tmp/pass.?*/?*.txt" },
|
||||
pattern = {
|
||||
"/dev/shm/gopass.*", "/dev/shm/pass.?*/?*.txt",
|
||||
"$TMPDIR/pass.?*/?*.txt", "/tmp/pass.?*/?*.txt"
|
||||
},
|
||||
command = 'setlocal noswapfile nobackup noundofile nowritebackup viminfo=',
|
||||
desc = "Don't leak any information when editing potential password files",
|
||||
group = vim.api.nvim_create_augroup('passnoleak', { clear = true }),
|
||||
group = vim.api.nvim_create_augroup('passnoleak', { clear = true })
|
||||
})
|
||||
|
||||
api.nvim_exec('runtime abbrev.vim', false)
|
||||
|
@ -31,5 +34,5 @@ vim.api.nvim_create_autocmd({ "VimEnter" }, {
|
|||
vim.defer_fn(function() vim.loop.kill(pid, WINCH) end, 20)
|
||||
end,
|
||||
desc = "Fix neovim sizing issues if opening same time as alacritty",
|
||||
group = vim.api.nvim_create_augroup('alacritty_fixsize', { clear = true }),
|
||||
group = vim.api.nvim_create_augroup('alacritty_fixsize', { clear = true })
|
||||
})
|
||||
|
|
|
@ -1,18 +1,33 @@
|
|||
require('nvim-autopairs').setup({check_ts = true})
|
||||
require('nvim-autopairs').setup({ check_ts = true })
|
||||
|
||||
--- Auto-space rules
|
||||
local npairs = require 'nvim-autopairs'
|
||||
local Rule = require 'nvim-autopairs.rule'
|
||||
|
||||
npairs.setup({
|
||||
check_ts = true,
|
||||
ts_config = {
|
||||
lua = { 'string' }, -- it will not add a pair on that treesitter node
|
||||
javascript = { 'template_string' },
|
||||
java = false -- don't check treesitter on java
|
||||
}
|
||||
})
|
||||
|
||||
local ts_conds = require('nvim-autopairs.ts-conds')
|
||||
|
||||
-- press % => %% only while inside a comment or string
|
||||
npairs.add_rules({
|
||||
Rule("%", "%", "lua"):with_pair(ts_conds.is_ts_node({ 'string', 'comment' })),
|
||||
Rule("$", "$", "lua"):with_pair(ts_conds.is_not_ts_node({ 'function' }))
|
||||
})
|
||||
|
||||
npairs.add_rules {
|
||||
Rule(' ', ' '):with_pair(function(opts)
|
||||
local pair = opts.line:sub(opts.col, opts.col + 1)
|
||||
return vim.tbl_contains({'()', '[]', '{}'}, pair)
|
||||
return vim.tbl_contains({ '()', '[]', '{}' }, pair)
|
||||
end)
|
||||
}
|
||||
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
|
||||
local cmp = require('cmp')
|
||||
cmp.event:on('confirm_done',
|
||||
cmp_autopairs.on_confirm_done({map_char = {tex = ''}}))
|
||||
-- add a lisp filetype (wrap my-function), FYI: Hardcoded = { "clojure", "clojurescript", "fennel", "janet" }
|
||||
cmp_autopairs.lisp[#cmp_autopairs.lisp + 1] = "racket"
|
||||
cmp_autopairs.on_confirm_done({ map_char = { tex = '' } }))
|
||||
|
|
92
nvim/.config/nvim/lua/plug/_cmp.lua
Normal file
92
nvim/.config/nvim/lua/plug/_cmp.lua
Normal file
|
@ -0,0 +1,92 @@
|
|||
local cmp = require 'cmp'
|
||||
local lspkind = require 'lspkind'
|
||||
|
||||
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
|
||||
|
||||
local feedkey = function(key, mode)
|
||||
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true),
|
||||
mode, true)
|
||||
end
|
||||
|
||||
vim.o.completeopt = "menu,menuone,noselect"
|
||||
|
||||
-- completion items
|
||||
require('cmp').register_source('vCard', require('completion_vcard').setup_cmp(
|
||||
'~/documents/contacts/myconts'))
|
||||
vim.g.vsnip_snippet_dir = (vim.env.XDG_DATA_HOME or "~/.local/share") ..
|
||||
"/nvim/snippets"
|
||||
cmp.setup({
|
||||
snippet = { expand = function(args) vim.fn["vsnip#anonymous"](args.body) 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' }),
|
||||
['<C-y>'] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping.
|
||||
['<C-e>'] = cmp.mapping({
|
||||
i = cmp.mapping.abort(),
|
||||
c = cmp.mapping.close()
|
||||
}),
|
||||
-- Accept currently selected item. If none selected, `select` first item.
|
||||
-- Set `select` to `false` to only confirm explicitly selected items.
|
||||
['<CR>'] = cmp.mapping.confirm({ select = false }),
|
||||
["<C-n>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif vim.fn["vsnip#available"](1) == 1 then
|
||||
feedkey("<Plug>(vsnip-expand-or-jump)", "")
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
|
||||
["<C-p>"] = cmp.mapping(function()
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif vim.fn["vsnip#jumpable"](-1) == 1 then
|
||||
feedkey("<Plug>(vsnip-jump-prev)", "")
|
||||
end
|
||||
end, { "i", "s" })
|
||||
},
|
||||
formatting = {
|
||||
format = lspkind.cmp_format({
|
||||
with_text = false,
|
||||
menu = ({
|
||||
buffer = "B",
|
||||
nvim_lua = "NLua",
|
||||
tmux = "τ",
|
||||
vCard = "VCARD"
|
||||
})
|
||||
})
|
||||
},
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'path' }, { name = 'nvim_lsp' }, { name = 'treesitter' },
|
||||
{ name = 'tmux' }, { name = 'vsnip' }, { name = 'latex_symbols' },
|
||||
{ name = 'vCard' }, { name = 'nvim_lua' }
|
||||
}, { { name = 'buffer' }, { name = 'spell' } })
|
||||
})
|
||||
|
||||
if vim.o.ft == 'clap_input' and vim.o.ft == 'guihua' and vim.o.ft ==
|
||||
'guihua_rust' then require 'cmp'.setup.buffer { completion = { enable = false } } end
|
||||
|
||||
-- Use buffer source for `/` search
|
||||
cmp.setup.cmdline('/', {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources({ { name = 'buffer' } })
|
||||
})
|
||||
|
||||
-- Use cmdline & path source for ':' in vim
|
||||
cmp.setup.cmdline(':', {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources({ { name = 'path' } }, { { name = 'cmdline' } })
|
||||
})
|
||||
|
||||
require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol
|
||||
.make_client_capabilities())
|
|
@ -1,5 +1,3 @@
|
|||
local augroup = require('helpers.augroup')
|
||||
|
||||
-- for each filetype autoformat on save
|
||||
-- TODO can automatically gather from formatter table keys?
|
||||
local prettierfmt = {
|
||||
|
|
40
nvim/.config/nvim/lua/plug/_gitsigns.lua
Normal file
40
nvim/.config/nvim/lua/plug/_gitsigns.lua
Normal file
|
@ -0,0 +1,40 @@
|
|||
-- require('gitsigns').setup {
|
||||
-- on_attach = function(bufnr)
|
||||
-- local gs = package.loaded.gitsigns
|
||||
--
|
||||
-- local function map(mode, l, r, opts)
|
||||
-- opts = opts or {}
|
||||
-- opts.buffer = bufnr
|
||||
-- vim.keymap.set(mode, l, r, opts)
|
||||
-- end
|
||||
--
|
||||
-- -- Navigation
|
||||
-- map('n', ']h', function()
|
||||
-- if vim.wo.diff then return ']h' end
|
||||
-- vim.schedule(function() gs.next_hunk() end)
|
||||
-- return '<Ignore>'
|
||||
-- end, {expr = true})
|
||||
--
|
||||
-- map('n', '[h', function()
|
||||
-- if vim.wo.diff then return '[h' end
|
||||
-- vim.schedule(function() gs.prev_hunk() end)
|
||||
-- return '<Ignore>'
|
||||
-- end, {expr = true})
|
||||
--
|
||||
-- -- Actions
|
||||
-- map({'n', 'v'}, '<leader>hs', ':Gitsigns stage_hunk<CR>')
|
||||
-- map('n', '<leader>hS', gs.stage_buffer)
|
||||
-- map({'n', 'v'}, '<leader>hr', ':Gitsigns reset_hunk<CR>')
|
||||
-- map('n', '<leader>hR', gs.reset_buffer)
|
||||
-- map('n', '<leader>hu', gs.undo_stage_hunk)
|
||||
-- map('n', '<leader>hp', gs.preview_hunk)
|
||||
-- map('n', '<leader>hb', function() gs.blame_line {full = true} end)
|
||||
-- map('n', '<leader>hB', gs.toggle_current_line_blame)
|
||||
-- map('n', '<leader>hd', gs.diffthis)
|
||||
-- map('n', '<leader>hD', function() gs.diffthis('~') end)
|
||||
-- map('n', '<leader>hdd', gs.toggle_deleted)
|
||||
--
|
||||
-- -- Text object
|
||||
-- map({'o', 'x'}, 'ih', ':<C-U>Gitsigns select_hunk<CR>')
|
||||
-- end
|
||||
-- }
|
|
@ -1,154 +1,3 @@
|
|||
local cmp = require 'cmp'
|
||||
local lspkind = require 'lspkind'
|
||||
|
||||
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
|
||||
|
||||
local feedkey = function(key, mode)
|
||||
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true),
|
||||
mode, true)
|
||||
end
|
||||
|
||||
vim.o.completeopt = "menu,menuone,noselect"
|
||||
|
||||
-- completion items
|
||||
require('cmp').register_source('vCard', require('completion_vcard').setup_cmp(
|
||||
'~/documents/contacts/myconts'))
|
||||
vim.g.vsnip_snippet_dir = (vim.env.XDG_DATA_HOME or "~/.local/share") ..
|
||||
"/nvim/snippets"
|
||||
cmp.setup({
|
||||
snippet = {expand = function(args) vim.fn["vsnip#anonymous"](args.body) 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'}),
|
||||
['<C-y>'] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping.
|
||||
['<C-e>'] = cmp.mapping({
|
||||
i = cmp.mapping.abort(),
|
||||
c = cmp.mapping.close()
|
||||
}),
|
||||
-- Accept currently selected item. If none selected, `select` first item.
|
||||
-- Set `select` to `false` to only confirm explicitly selected items.
|
||||
['<CR>'] = cmp.mapping.confirm({select = false}),
|
||||
["<C-n>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif vim.fn["vsnip#available"](1) == 1 then
|
||||
feedkey("<Plug>(vsnip-expand-or-jump)", "")
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, {"i", "s"}),
|
||||
|
||||
["<C-p>"] = cmp.mapping(function()
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif vim.fn["vsnip#jumpable"](-1) == 1 then
|
||||
feedkey("<Plug>(vsnip-jump-prev)", "")
|
||||
end
|
||||
end, {"i", "s"})
|
||||
},
|
||||
formatting = {
|
||||
format = lspkind.cmp_format({
|
||||
with_text = false,
|
||||
menu = ({
|
||||
buffer = "B",
|
||||
nvim_lua = "NLua",
|
||||
tmux = "τ",
|
||||
vCard = "VCARD"
|
||||
})
|
||||
})
|
||||
},
|
||||
sources = cmp.config.sources({
|
||||
{name = 'path'}, {name = 'nvim_lsp'}, {name = 'treesitter'},
|
||||
{name = 'tmux'}, {name = 'vsnip'}, {name = 'latex_symbols'},
|
||||
{name = 'pandoc_references'}, {name = 'vCard'}
|
||||
}, {{name = 'buffer'}, {name = 'spell'}})
|
||||
})
|
||||
if vim.o.ft == 'clap_input' and vim.o.ft == 'guihua' and vim.o.ft ==
|
||||
'guihua_rust' then require'cmp'.setup.buffer {completion = {enable = false}} end
|
||||
|
||||
-- Use buffer source for `/` search
|
||||
cmp.setup.cmdline('/', {sources = {{name = 'buffer'}}})
|
||||
|
||||
-- Use cmdline & path source for ':' in vim
|
||||
cmp.setup.cmdline(':', {
|
||||
sources = cmp.config.sources({{name = 'path'}}, {{name = 'cmdline'}})
|
||||
})
|
||||
|
||||
require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol
|
||||
.make_client_capabilities())
|
||||
|
||||
-- requires the lua-language-server package to be installed
|
||||
-- The arch package defaults to the following directory
|
||||
local sumneko_root_path = "/usr/share/lua-language-server"
|
||||
require'navigator'.setup({
|
||||
lsp = {
|
||||
servers = {'efm'},
|
||||
disable_lsp = {"pylsp", "jedi_language_server"},
|
||||
sumneko_lua = {
|
||||
cmd = {
|
||||
"lua-language-server", "-E", sumneko_root_path .. "/main.lua"
|
||||
},
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
|
||||
version = 'LuaJIT',
|
||||
-- Setup your lua path
|
||||
path = vim.split(package.path, ';')
|
||||
},
|
||||
diagnostics = {
|
||||
-- Get the language server to recognize additional globals
|
||||
globals = {
|
||||
'vim', 'before_each', 'after_each', 'describe',
|
||||
'it', 'mock', 'stub'
|
||||
}
|
||||
},
|
||||
workspace = {
|
||||
-- Make the server aware of additional runtime files
|
||||
library = {
|
||||
[vim.fn.expand('$VIMRUNTIME/lua')] = true,
|
||||
[vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true,
|
||||
["/usr/share/lua/5.1/busted/"] = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
efm = {
|
||||
init_options = {
|
||||
documentFormatting = true,
|
||||
codeAction = true,
|
||||
completion = true,
|
||||
documentSymbol = true,
|
||||
hover = true
|
||||
},
|
||||
filetypes = {"sh"},
|
||||
settings = {
|
||||
rootMarkers = {".git/"},
|
||||
languages = {
|
||||
sh = {
|
||||
{
|
||||
lintCommand = 'shellcheck -f gcc -x',
|
||||
lintFormats = {
|
||||
'%f:%l:%c: %trror: %m',
|
||||
'%f:%l:%c: %tarning: %m', '%f:%l:%c: %tote: %m'
|
||||
}
|
||||
},
|
||||
{formatCommand = 'shfmt -ci -s -bn', formatStdin = true}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
require'navigator'.setup()
|
||||
require"lsp_signature".setup()
|
||||
|
|
8
nvim/.config/nvim/lua/plug/_neorg.lua
Normal file
8
nvim/.config/nvim/lua/plug/_neorg.lua
Normal file
|
@ -0,0 +1,8 @@
|
|||
require("neorg").setup {
|
||||
load = {
|
||||
["core.defaults"] = {},
|
||||
["core.norg.concealer"] = {},
|
||||
["core.norg.completion"] = { config = { engine = "nvim-cmp" } },
|
||||
["core.norg.qol.toc"] = {}
|
||||
}
|
||||
}
|
|
@ -32,13 +32,9 @@ require("packer").startup(function()
|
|||
use 'vifm/vifm.vim' -- integrate file manager
|
||||
use {
|
||||
'lewis6991/gitsigns.nvim', -- show vcs changes on left-hand gutter
|
||||
requires = {'nvim-lua/plenary.nvim'},
|
||||
requires = { 'nvim-lua/plenary.nvim' },
|
||||
tag = 'release',
|
||||
config = function()
|
||||
require('gitsigns').setup {
|
||||
keymaps = {['n ]c'] = nil, ['n [c'] = nil}
|
||||
}
|
||||
end,
|
||||
config = function() require('plug._gitsigns') end,
|
||||
event = "BufRead"
|
||||
}
|
||||
use {
|
||||
|
@ -53,7 +49,12 @@ require("packer").startup(function()
|
|||
}
|
||||
|
||||
-- editing
|
||||
use {'machakann/vim-sandwich', event = "BufRead"} -- surround things with other things using sa/sd/sr
|
||||
-- use {'machakann/vim-sandwich', event = "BufRead"} -- surround things with other things using sa/sd/sr
|
||||
use {
|
||||
'kylechui/nvim-surround',
|
||||
tag = '*',
|
||||
config = function() require('nvim-surround').setup() end
|
||||
} -- surround things with other things using ys/cs/ds
|
||||
use {
|
||||
'monaqa/dial.nvim', -- extend the ^a / ^x possibilities to dates, hex, alphabets, markdown headers
|
||||
event = "BufRead"
|
||||
|
@ -87,14 +88,19 @@ require("packer").startup(function()
|
|||
-- statusline
|
||||
use {
|
||||
'nvim-lualine/lualine.nvim',
|
||||
requires = {'kyazdani42/nvim-web-devicons', opt = true},
|
||||
requires = { 'kyazdani42/nvim-web-devicons', opt = true },
|
||||
config = function() require('plug._lualine') end
|
||||
}
|
||||
|
||||
-- writing
|
||||
use {'vim-pandoc/vim-pandoc-syntax', ft = 'pandoc'}
|
||||
use {'vim-pandoc/vim-pandoc', ft = 'pandoc'}
|
||||
use {'vim-pandoc/vim-criticmarkup', ft = 'pandoc'} -- highlights for criticmarkup
|
||||
use { 'vim-pandoc/vim-pandoc-syntax' }
|
||||
use { 'vim-pandoc/vim-pandoc' }
|
||||
use { 'vim-pandoc/vim-criticmarkup' }
|
||||
use {
|
||||
"quarto-dev/quarto-vim",
|
||||
requires = { { "vim-pandoc/vim-pandoc-syntax" } },
|
||||
ft = { "quarto" }
|
||||
}
|
||||
use 'micarmst/vim-spellsync' -- personal dict improvements for git sync
|
||||
use { -- provide distraction free writing
|
||||
'Pocco81/TrueZen.nvim',
|
||||
|
@ -103,17 +109,18 @@ require("packer").startup(function()
|
|||
integrations = {
|
||||
gitsigns = true,
|
||||
lualine = true,
|
||||
tmux = {global = false},
|
||||
tmux = { global = false },
|
||||
limelight = true
|
||||
}
|
||||
})
|
||||
end
|
||||
}
|
||||
use {'junegunn/limelight.vim', event = 'BufRead'} -- provide even distraction free-er writing (lowlight paragraphs)
|
||||
use { 'junegunn/limelight.vim', event = 'BufRead' } -- provide even distraction free-er writing (lowlight paragraphs)
|
||||
use 'alok/notational-fzf-vim' -- quickly search through the wiki
|
||||
|
||||
-- languages
|
||||
use {'euclidianAce/BetterLua.vim', ft = 'lua'} -- better syntax highlighting for lua
|
||||
use { 'euclidianAce/BetterLua.vim', ft = 'lua' } -- better syntax highlighting for lua
|
||||
use 'aliou/bats.vim' -- enable syntax for bats shell-code testing library
|
||||
|
||||
-- REPL work
|
||||
use {
|
||||
|
@ -133,7 +140,7 @@ require("packer").startup(function()
|
|||
'hanschen/vim-ipython-cell', -- send code 'cells' to REPL
|
||||
ft = "python",
|
||||
config = function()
|
||||
vim.g.ipython_cell_highlight_cells_ft = {'python'}
|
||||
vim.g.ipython_cell_highlight_cells_ft = { 'python' }
|
||||
vim.g.ipython_cell_insert_tag = "## Cell"
|
||||
end
|
||||
}
|
||||
|
@ -156,24 +163,31 @@ require("packer").startup(function()
|
|||
"folke/which-key.nvim",
|
||||
config = function() require("which-key").setup {} end
|
||||
}
|
||||
-- extensive organization plugin mimicking orgmode
|
||||
use {
|
||||
"nvim-neorg/neorg",
|
||||
config = function() require("plug._neorg") end,
|
||||
requires = "nvim-lua/plenary.nvim",
|
||||
tag = "*"
|
||||
}
|
||||
|
||||
-- fuzzy matching
|
||||
use {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
requires = {
|
||||
{"nvim-lua/popup.nvim"}, {"nvim-lua/plenary.nvim"},
|
||||
{"nvim-telescope/telescope-fzf-native.nvim", run = 'make'}
|
||||
{ "nvim-lua/popup.nvim" }, { "nvim-lua/plenary.nvim" },
|
||||
{ "nvim-telescope/telescope-fzf-native.nvim", run = 'make' }
|
||||
},
|
||||
config = function() require('plug._telescope') end
|
||||
}
|
||||
use {
|
||||
'protex/better-digraphs.nvim',
|
||||
requires = {{"nvim-telescope/telescope.nvim"}}
|
||||
requires = { { "nvim-telescope/telescope.nvim" } }
|
||||
}
|
||||
|
||||
-- snippeting
|
||||
use {"hrsh7th/vim-vsnip", event = "InsertEnter"} -- snippet engine
|
||||
use {"rafamadriz/friendly-snippets", event = "InsertEnter"} -- many snippets
|
||||
use { "hrsh7th/vim-vsnip", event = "InsertEnter" } -- snippet engine
|
||||
use { "rafamadriz/friendly-snippets", event = "InsertEnter" } -- many snippets
|
||||
|
||||
-- treesitter
|
||||
use {
|
||||
|
@ -186,7 +200,7 @@ require("packer").startup(function()
|
|||
use {
|
||||
'RRethy/nvim-treesitter-textsubjects', -- allows using . and ; to target treesitter branches
|
||||
config = function()
|
||||
require'nvim-treesitter.configs'.setup {
|
||||
require 'nvim-treesitter.configs'.setup {
|
||||
textsubjects = {
|
||||
enable = true,
|
||||
keymaps = {
|
||||
|
@ -206,11 +220,15 @@ require("packer").startup(function()
|
|||
|
||||
-- lsp
|
||||
use 'neovim/nvim-lspconfig' -- some commong language server configurations
|
||||
use 'simrat39/symbols-outline.nvim' -- vista-like outline view for code
|
||||
use {
|
||||
'simrat39/symbols-outline.nvim',
|
||||
config = function() require('symbols-outline').setup() end
|
||||
} -- vista-like outline view for code
|
||||
use 'ray-x/lsp_signature.nvim'
|
||||
use {
|
||||
'ray-x/navigator.lua',
|
||||
requires = {'ray-x/guihua.lua', run = 'cd lua/fzy && make'}
|
||||
requires = { 'ray-x/guihua.lua', run = 'cd lua/fzy && make' },
|
||||
config = function() require('plug._lsp') end
|
||||
}
|
||||
-- and completion
|
||||
use {
|
||||
|
@ -218,12 +236,12 @@ require("packer").startup(function()
|
|||
requires = {
|
||||
'onsails/lspkind-nvim', 'andersevenrud/cmp-tmux', -- completion source from adjacent tmux panes
|
||||
'hrsh7th/cmp-nvim-lsp', 'hrsh7th/cmp-buffer', 'hrsh7th/cmp-path',
|
||||
'hrsh7th/cmp-cmdline', 'hrsh7th/cmp-vsnip',
|
||||
'hrsh7th/cmp-cmdline', 'hrsh7th/cmp-vsnip', 'hrsh7th/cmp-nvim-lua',
|
||||
'kdheepak/cmp-latex-symbols', 'ray-x/cmp-treesitter',
|
||||
'f3fora/cmp-spell', 'jc-doyle/cmp-pandoc-references',
|
||||
'cbarrete/completion-vcard'
|
||||
'f3fora/cmp-spell', 'cbarrete/completion-vcard'
|
||||
|
||||
}
|
||||
}
|
||||
require('plug._lsp')
|
||||
require('plug._cmp')
|
||||
|
||||
end)
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
" PLUGIN: vim-pandoc
|
||||
" handle markdown files with pandoc (and pandoc syntax!)
|
||||
let g:pandoc#modules#disabled = [ "keyboard", "folding" ]
|
||||
let g:pandoc#filetypes#pandoc_markdown = 1
|
||||
let g:pandoc#filetypes#handled = [ "extra", "latex", "markdown", "pandoc", "rst", "textile" ]
|
||||
let g:pandoc#filetypes#pandoc_markdown = 0
|
||||
let g:pandoc#filetypes#handled = [ "extra", "latex", "markdown", "pandoc", "rst", "textile"]
|
||||
" disable all default keymaps
|
||||
let g:pandoc#keyboard#use_default_mappings=0
|
||||
" needs to be set for wrapping and unwrapping of lines to work when doing j/k
|
||||
|
|
|
@ -177,3 +177,4 @@ ascriptions
|
|||
exploitations
|
||||
tradeable
|
||||
reproducability
|
||||
positivity
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Layout of this conf file:
|
||||
# 1. Global Settings
|
||||
# 2. Keybinds
|
||||
# 2. Plugins
|
||||
# 3. Keybinds
|
||||
# 4. Theme
|
||||
|
||||
|
@ -27,11 +27,8 @@ set -g mouse on
|
|||
# allow truecolor support
|
||||
set -g default-terminal 'xterm-256color'
|
||||
set -ga terminal-overrides ',xterm-256color:Tc'
|
||||
# Set Cursor terminal override, so nvim can change cursor style when changing modes
|
||||
# more info see nvim, :help tui-cursor-shape
|
||||
# LEGACY: this should not be necessary anymore
|
||||
# set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q'
|
||||
set -g status-keys vi
|
||||
set-window-option -g mode-keys vi
|
||||
set -g history-limit 10000
|
||||
|
||||
# Screen size is based on the smallest client looking at the current windows, not the smallest
|
||||
|
@ -111,6 +108,12 @@ bind-key '-' split-window -v -c '#{pane_current_path}'
|
|||
# Open a sessions chooser
|
||||
bind C-s split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t"
|
||||
|
||||
# Make visual selections act a little more like vim
|
||||
bind-key -T copy-mode-vi v send -X begin-selection
|
||||
bind-key -T copy-mode-vi V send -X select-line
|
||||
bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel 'wl-copy' \; send -X rectangle-off
|
||||
bind-key -T copy-mode-vi 'C-v' send -X begin-selection \; send -X rectangle-on
|
||||
|
||||
#####################
|
||||
## 4. THEME ##
|
||||
#####################
|
||||
|
|
Loading…
Reference in a new issue