Compare commits
8 Commits
ded84fd5da
...
eacb2dff1d
Author | SHA1 | Date | |
---|---|---|---|
eacb2dff1d | |||
989a562482 | |||
c715354d16 | |||
e1e6438725 | |||
e83bfda6eb | |||
ae7fdfcd6d | |||
dc2a5c035d | |||
9257108148 |
113
init.lua
113
init.lua
@ -60,9 +60,9 @@ require('Comment').setup{
|
||||
|
||||
-- Enable `lukas-reineke/indent-blankline.nvim`
|
||||
-- See `:help indent_blankline.txt`
|
||||
require('indent_blankline').setup {
|
||||
char = '┊',
|
||||
show_trailing_blankline_indent = false,
|
||||
require('ibl').setup {
|
||||
indent = {char = '┊'},
|
||||
-- show_trailing_blankline_indent = false,
|
||||
}
|
||||
|
||||
-- Gitsigns
|
||||
@ -75,6 +75,66 @@ require('gitsigns').setup {
|
||||
topdelete = { text = '‾' },
|
||||
changedelete = { text = '~' },
|
||||
},
|
||||
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', 'v' }, ']c', function()
|
||||
if vim.wo.diff then
|
||||
return ']c'
|
||||
end
|
||||
vim.schedule(function()
|
||||
gs.next_hunk()
|
||||
end)
|
||||
return '<Ignore>'
|
||||
end, { expr = true, desc = 'Jump to next hunk' })
|
||||
|
||||
map({ 'n', 'v' }, '[c', function()
|
||||
if vim.wo.diff then
|
||||
return '[c'
|
||||
end
|
||||
vim.schedule(function()
|
||||
gs.prev_hunk()
|
||||
end)
|
||||
return '<Ignore>'
|
||||
end, { expr = true, desc = 'Jump to previous hunk' })
|
||||
|
||||
-- Actions
|
||||
-- visual mode
|
||||
map('v', '<leader>gs', function()
|
||||
gs.stage_hunk { vim.fn.line '.', vim.fn.line 'v' }
|
||||
end, { desc = 'stage git hunk' })
|
||||
map('v', '<leader>gr', function()
|
||||
gs.reset_hunk { vim.fn.line '.', vim.fn.line 'v' }
|
||||
end, { desc = 'reset git hunk' })
|
||||
-- normal mode
|
||||
map('n', '<leader>gs', gs.stage_hunk, { desc = 'git stage hunk' })
|
||||
map('n', '<leader>gr', gs.reset_hunk, { desc = 'git reset hunk' })
|
||||
map('n', '<leader>gS', gs.stage_buffer, { desc = 'git Stage buffer' })
|
||||
map('n', '<leader>gu', gs.undo_stage_hunk, { desc = 'undo stage hunk' })
|
||||
map('n', '<leader>gR', gs.reset_buffer, { desc = 'git Reset buffer' })
|
||||
map('n', '<leader>gp', gs.preview_hunk, { desc = 'preview git hunk' })
|
||||
map('n', '<leader>gb', function()
|
||||
gs.blame_line { full = false }
|
||||
end, { desc = 'git blame line' })
|
||||
map('n', '<leader>gd', gs.diffthis, { desc = 'git diff against index' })
|
||||
map('n', '<leader>gD', function()
|
||||
gs.diffthis '~'
|
||||
end, { desc = 'git diff against last commit' })
|
||||
|
||||
-- Toggles
|
||||
map('n', '<leader>tb', gs.toggle_current_line_blame, { desc = 'toggle git blame line' })
|
||||
map('n', '<leader>td', gs.toggle_deleted, { desc = 'toggle git show deleted' })
|
||||
|
||||
-- Text object
|
||||
map({ 'o', 'x' }, 'ih', ':<C-U>Gitsigns select_hunk<CR>', { desc = 'select git hunk' })
|
||||
end,
|
||||
}
|
||||
|
||||
-- [[ Configure Telescope ]]
|
||||
@ -226,6 +286,30 @@ local servers = {
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
local rainbow_delimiters = require 'rainbow-delimiters'
|
||||
|
||||
vim.g.rainbow_delimiters = {
|
||||
strategy = {
|
||||
[''] = rainbow_delimiters.strategy['global'],
|
||||
vim = rainbow_delimiters.strategy['local'],
|
||||
},
|
||||
query = {
|
||||
[''] = 'rainbow-delimiters',
|
||||
lua = 'rainbow-blocks',
|
||||
},
|
||||
highlight = {
|
||||
'RainbowDelimiterRed',
|
||||
'RainbowDelimiterYellow',
|
||||
'RainbowDelimiterBlue',
|
||||
'RainbowDelimiterOrange',
|
||||
'RainbowDelimiterGreen',
|
||||
'RainbowDelimiterViolet',
|
||||
'RainbowDelimiterCyan',
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
-- Setup neovim lua configuration
|
||||
require('neodev').setup()
|
||||
--
|
||||
@ -238,7 +322,6 @@ require('mason').setup()
|
||||
|
||||
-- Ensure the servers above are installed
|
||||
local mason_lspconfig = require 'mason-lspconfig'
|
||||
local coq = require 'coq'
|
||||
|
||||
mason_lspconfig.setup {
|
||||
ensure_installed = vim.tbl_keys(servers),
|
||||
@ -248,7 +331,6 @@ mason_lspconfig.setup {
|
||||
mason_lspconfig.setup_handlers {
|
||||
function(server_name)
|
||||
require('lspconfig')[server_name].setup {
|
||||
-- capabilities = coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach,
|
||||
settings = servers[server_name],
|
||||
@ -256,7 +338,7 @@ mason_lspconfig.setup_handlers {
|
||||
end,
|
||||
}
|
||||
-- Turn on lsp status information
|
||||
require('fidget').setup()
|
||||
-- require('fidget').setup()
|
||||
|
||||
-- highlight trailing whitespace
|
||||
vim.cmd([[
|
||||
@ -279,6 +361,22 @@ vim.keymap.set('n', '<leader>F', function()
|
||||
hop.hint_words({ direction = directions.BEFORE_CURSOR, current_line_only = false })
|
||||
end, {remap=true})
|
||||
|
||||
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
|
||||
},
|
||||
show_prediction_strength = false
|
||||
})
|
||||
|
||||
-- nvim-cmp setup
|
||||
local cmp = require 'cmp'
|
||||
local luasnip = require 'luasnip'
|
||||
@ -293,6 +391,8 @@ cmp.setup {
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert {
|
||||
['<C-n>'] = cmp.mapping.select_next_item(),
|
||||
['<C-p>'] = cmp.mapping.select_prev_item(),
|
||||
['<C-d>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
@ -322,6 +422,7 @@ cmp.setup {
|
||||
sources = {
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = 'luasnip' },
|
||||
{ name = 'cmp_tabnine' },
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -54,8 +54,8 @@ vim.keymap.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { de
|
||||
|
||||
|
||||
-- Diagnostic keymaps
|
||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev)
|
||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next)
|
||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to previous diagnostic message' })
|
||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnostic message' })
|
||||
vim.keymap.set('n', '<leader>ld', '<esc>:TroubleToggle<cr>', {desc = 'Buffer diagnostics', silent = true})
|
||||
-- vim.keymap.set('n', '<leader>ld', vim.diagnostic.open_float)
|
||||
-- vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist)
|
||||
|
@ -14,7 +14,6 @@ require('packer').startup({function(use)
|
||||
use {
|
||||
-- Useful status updates for LSP
|
||||
'j-hui/fidget.nvim',
|
||||
-- branch = 'legacy',
|
||||
}
|
||||
|
||||
use { -- LSP Configuration & Plugins
|
||||
@ -58,18 +57,6 @@ require('packer').startup({function(use)
|
||||
requires = { 'hrsh7th/cmp-nvim-lsp', 'L3MON4D3/LuaSnip', 'saadparwaiz1/cmp_luasnip' },
|
||||
}
|
||||
|
||||
-- coq Autocompletion
|
||||
use {
|
||||
'ms-jpq/coq_nvim',
|
||||
branch = "coq",
|
||||
}
|
||||
|
||||
use {
|
||||
"ms-jpq/coq.artifacts",
|
||||
branch = "artifacts",
|
||||
requires = {'ms-jpq/coq_nvim'}
|
||||
}
|
||||
|
||||
use { -- Highlight, edit, and navigate code
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
run = function()
|
||||
@ -78,7 +65,13 @@ require('packer').startup({function(use)
|
||||
}
|
||||
use {
|
||||
'nvim-treesitter/playground',
|
||||
}
|
||||
}
|
||||
|
||||
use {
|
||||
'HiPhish/rainbow-delimiters.nvim'
|
||||
}
|
||||
|
||||
use {'tzachar/cmp-tabnine', run='./install.sh', requires = 'hrsh7th/nvim-cmp'}
|
||||
|
||||
use { -- Additional text objects via treesitter
|
||||
'nvim-treesitter/nvim-treesitter-textobjects',
|
||||
|
Loading…
x
Reference in New Issue
Block a user