modify lua init
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
|
vim.g.mapleader = " "
|
||||||
|
|
||||||
require("sets")
|
require("sets")
|
||||||
require("plugins")
|
require("plugins")
|
||||||
require("remaps")
|
require("keymaps")
|
||||||
require("lsp")
|
require("lsp")
|
||||||
require("theme")
|
require("theme")
|
||||||
|
|
||||||
|
|||||||
41
nvim/lua/keymaps.lua
Normal file
41
nvim/lua/keymaps.lua
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
local map = vim.api.nvim_set_keymap
|
||||||
|
|
||||||
|
local noremap = function(ctx, keys, cmd, opts)
|
||||||
|
opts = opts or {}
|
||||||
|
opts['noremap'] = true
|
||||||
|
opts['silent'] = true
|
||||||
|
map(ctx, keys, cmd, opts)
|
||||||
|
end
|
||||||
|
|
||||||
|
local nnoremap = function(keys, cmd)
|
||||||
|
noremap('n', keys, cmd, nil)
|
||||||
|
end
|
||||||
|
local tnoremap = function(keys, cmd)
|
||||||
|
noremap('t', keys, cmd, nil)
|
||||||
|
end
|
||||||
|
local vnoremap = function(keys, cmd)
|
||||||
|
noremap('v', keys, cmd, nil)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- For plugin-specific keymaps, see that plugin's file in lua/plugins/
|
||||||
|
|
||||||
|
map('i', 'jj', '<Esc>', {})
|
||||||
|
|
||||||
|
nnoremap('<Leader>q', ':bp|bd #<CR>')
|
||||||
|
nnoremap('<Leader>w', ':w<CR>')
|
||||||
|
nnoremap('<Leader>n', ':bn<CR>')
|
||||||
|
nnoremap('<Leader>b', ':bp<CR>')
|
||||||
|
|
||||||
|
nnoremap('<c-j>', '<c-w><c-j>')
|
||||||
|
nnoremap('<c-k>', '<c-w><c-k>')
|
||||||
|
nnoremap('<c-h>', '<c-w><c-h>')
|
||||||
|
nnoremap('<c-l>', '<c-w><c-l>')
|
||||||
|
|
||||||
|
tnoremap('<c-j>', '<c-\\><c-n><c-w><c-j>')
|
||||||
|
tnoremap('<c-k>', '<c-\\><c-n><c-w><c-k>')
|
||||||
|
tnoremap('<c-h>', '<c-\\><c-n><c-w><c-h>')
|
||||||
|
tnoremap('<c-l>', '<c-\\><c-n><c-w><c-l>')
|
||||||
|
tnoremap('<Esc>', '<c-\\><c-n>')
|
||||||
|
|
||||||
|
vnoremap('J', ':m \'>+1<CR>gv=gv')
|
||||||
|
vnoremap('K', ':m \'<-2<CR>gv=gv')
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
-- Mappings.
|
||||||
|
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
||||||
|
local opts = { noremap=true, silent=true }
|
||||||
|
vim.keymap.set('n', '<space>d', vim.diagnostic.open_float, opts)
|
||||||
|
vim.keymap.set('n', '<space>dd', require'telescope.builtin'.diagnostics, opts)
|
||||||
|
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
|
||||||
|
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
|
||||||
|
vim.keymap.set('n', '<space>dl', vim.diagnostic.setloclist, opts)
|
||||||
|
|
||||||
|
-- Use an on_attach function to only map the following keys
|
||||||
|
-- after the language server attaches to the current buffer
|
||||||
|
local on_attach = function(client, bufnr)
|
||||||
|
-- Enable completion triggered by <c-x><c-o>
|
||||||
|
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||||
|
|
||||||
|
-- Mappings.
|
||||||
|
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||||
|
local bufopts = { noremap=true, silent=true, buffer=bufnr }
|
||||||
|
--vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
|
||||||
|
vim.keymap.set('n', 'gD', require'telescope.builtin'.lsp_type_definitions, bufopts)
|
||||||
|
--vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
|
||||||
|
vim.keymap.set('n', 'gd', require'telescope.builtin'.lsp_definitions, bufopts)
|
||||||
|
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
|
||||||
|
vim.keymap.set('n', 'gi', require'telescope.builtin'.lsp_implementations, bufopts)
|
||||||
|
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts)
|
||||||
|
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
|
||||||
|
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
|
||||||
|
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
|
||||||
|
--vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
|
||||||
|
vim.keymap.set('n', 'gr', require'telescope.builtin'.lsp_references, bufopts)
|
||||||
|
vim.keymap.set('n', '<space>f', vim.lsp.buf.format, bufopts)
|
||||||
|
end
|
||||||
|
local capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities())
|
||||||
|
require('lspconfig')['gopls'].setup{
|
||||||
|
settings = {
|
||||||
|
gopls = {
|
||||||
|
templateExtensions = {'gotmpl', 'gohtml'},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
filetypes = { "go", "gomod", "gowork", "gotmpl", "gohtml", "gohtmltmpl" },
|
||||||
|
on_attach = on_attach,
|
||||||
|
capabilities = capabilities,
|
||||||
|
}
|
||||||
|
require('lspconfig')['pyright'].setup{
|
||||||
|
on_attach = on_attach,
|
||||||
|
capabilities = capabilities,
|
||||||
|
}
|
||||||
|
require('lspconfig')['tsserver'].setup{
|
||||||
|
on_attach = on_attach,
|
||||||
|
capabilities = capabilities,
|
||||||
|
}
|
||||||
|
require('lspconfig')['clangd'].setup{
|
||||||
|
on_attach = on_attach,
|
||||||
|
capabilities = capabilities,
|
||||||
|
}
|
||||||
|
require('lspconfig')['rust_analyzer'].setup{
|
||||||
|
on_attach = on_attach,
|
||||||
|
capabilities = capabilities,
|
||||||
|
}
|
||||||
|
require('lspconfig')['bashls'].setup{
|
||||||
|
on_attach = on_attach,
|
||||||
|
capabilities = capabilities,
|
||||||
|
}
|
||||||
|
|||||||
29
nvim/lua/plugins/harpoon.lua
Normal file
29
nvim/lua/plugins/harpoon.lua
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
local map = vim.api.nvim_set_keymap
|
||||||
|
|
||||||
|
local harp = require('harpoon.ui')
|
||||||
|
|
||||||
|
local harpmap = function(cmd, cb)
|
||||||
|
map('n', cmd, '', {
|
||||||
|
noremap = true,
|
||||||
|
silent = true,
|
||||||
|
callback = cb,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
local nav_file = function(n)
|
||||||
|
return function()
|
||||||
|
harp.nav_file(n)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
harpmap('<Leader>ee', require('harpoon.mark').add_file)
|
||||||
|
harpmap('<Leader>fh', harp.toggle_quick_menu)
|
||||||
|
harpmap('<Leader>1', nav_file(1))
|
||||||
|
harpmap('<Leader>2', nav_file(2))
|
||||||
|
harpmap('<Leader>3', nav_file(3))
|
||||||
|
harpmap('<Leader>4', nav_file(4))
|
||||||
|
harpmap('<Leader>5', nav_file(5))
|
||||||
|
harpmap('<Leader>6', nav_file(6))
|
||||||
|
harpmap('<Leader>7', nav_file(7))
|
||||||
|
harpmap('<Leader>8', nav_file(8))
|
||||||
|
harpmap('<Leader>9', nav_file(9))
|
||||||
@@ -58,4 +58,8 @@ Plug 'tpope/vim-dispatch'
|
|||||||
|
|
||||||
vim.call('plug#end')
|
vim.call('plug#end')
|
||||||
|
|
||||||
|
require("plugins/floaterm")
|
||||||
|
require("plugins/harpoon")
|
||||||
|
require("plugins/telescope")
|
||||||
require("plugins/treesitter")
|
require("plugins/treesitter")
|
||||||
|
require("plugins/nvim-cmp")
|
||||||
|
|||||||
73
nvim/lua/plugins/nvim-cmp.lua
Normal file
73
nvim/lua/plugins/nvim-cmp.lua
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
local cmp = require('cmp')
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
vim.fn["vsnip#anonymous"](args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
completion = cmp.config.window.bordered(),
|
||||||
|
documentation = cmp.config.window.bordered(),
|
||||||
|
},
|
||||||
|
mapping = cmp.mapping.preset.insert({
|
||||||
|
["<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" }),
|
||||||
|
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||||
|
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||||
|
['<C-Space>'] = cmp.mapping.complete(),
|
||||||
|
['<C-e>'] = cmp.mapping.abort(),
|
||||||
|
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||||
|
}),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'nvim_lsp' },
|
||||||
|
{ name = 'vsnip' },
|
||||||
|
}, {
|
||||||
|
{ name = 'buffer' },
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Set configuration for specific filetype.
|
||||||
|
cmp.setup.filetype('gitcommit', {
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'cmp_git' },
|
||||||
|
}, {
|
||||||
|
{ name = 'buffer' },
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
|
||||||
|
cmp.setup.cmdline('/', {
|
||||||
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
sources = {
|
||||||
|
{ name = 'buffer' }
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
||||||
|
cmp.setup.cmdline(':', {
|
||||||
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'path' }
|
||||||
|
}, {
|
||||||
|
{ name = 'cmdline' }
|
||||||
|
})
|
||||||
|
})
|
||||||
21
nvim/lua/plugins/telescope.lua
Normal file
21
nvim/lua/plugins/telescope.lua
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
local map = vim.api.nvim_set_keymap
|
||||||
|
|
||||||
|
local tele = require('telescope.builtin')
|
||||||
|
|
||||||
|
local telemap = function(cmd, cb)
|
||||||
|
map('n', cmd, '', {
|
||||||
|
noremap = true,
|
||||||
|
silent = true,
|
||||||
|
callback = cb,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
telemap('<Leader>ff', function() tele.find_files({ hidden = true, file_ignore_patterns = {'^.git'} }) end)
|
||||||
|
|
||||||
|
telemap('<Leader>fg', tele.live_grep)
|
||||||
|
|
||||||
|
telemap('<Leader>fb', tele.buffers)
|
||||||
|
|
||||||
|
telemap('<Leader>ft', tele.grep_string)
|
||||||
|
|
||||||
|
telemap('<Leader>tr', tele.treesitter)
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
vim.api.nvim_set_option('number', true)
|
vim.api.nvim_win_set_option(0, 'number', true)
|
||||||
vim.api.nvim_set_option('relativenumber', true)
|
vim.api.nvim_win_set_option(0, 'relativenumber', true)
|
||||||
vim.api.nvim_win_set_option(0, 'wrap', false)
|
vim.api.nvim_win_set_option(0, 'wrap', false)
|
||||||
|
|
||||||
vim.api.nvim_set_option('tabstop', 4)
|
vim.api.nvim_set_option('tabstop', 4)
|
||||||
@@ -23,5 +23,5 @@ vim.api.nvim_set_option('updatetime', 50)
|
|||||||
vim.api.nvim_set_option('swapfile', false)
|
vim.api.nvim_set_option('swapfile', false)
|
||||||
vim.api.nvim_set_option('backup', false)
|
vim.api.nvim_set_option('backup', false)
|
||||||
vim.api.nvim_set_option('undofile', true)
|
vim.api.nvim_set_option('undofile', true)
|
||||||
vim.api.nvim_set_option('undodir', '~/.vim/undodir')
|
vim.api.nvim_set_option('undodir', vim.fn.expand('~')..'/.vim/undodir')
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
imap jj <Esc>
|
" imap jj <Esc>
|
||||||
|
|
||||||
" set number
|
" set number
|
||||||
" set relativenumber
|
" set relativenumber
|
||||||
@@ -93,46 +93,45 @@ let $GINKGO_EDITOR_INTEGRATION = "true"
|
|||||||
" nnoremap ZZ zA<CR>
|
" nnoremap ZZ zA<CR>
|
||||||
|
|
||||||
" Find files using Telescope command-line sugar.
|
" Find files using Telescope command-line sugar.
|
||||||
let mapleader = " "
|
" let mapleader = \" \"
|
||||||
nnoremap <Leader>ff <cmd>lua require('telescope.builtin').find_files({hidden = true, file_ignore_patterns = {"^.git"}})<cr>
|
" nnoremap <Leader>ff <cmd>lua require('telescope.builtin').find_files({hidden = true, file_ignore_patterns = {"^.git"}})<cr>
|
||||||
nnoremap <Leader>fg <cmd>lua require('telescope.builtin').live_grep()<cr>
|
" nnoremap <Leader>fg <cmd>lua require('telescope.builtin').live_grep()<cr>
|
||||||
nnoremap <Leader>fb <cmd>lua require('telescope.builtin').buffers()<cr>
|
" nnoremap <Leader>fb <cmd>lua require('telescope.builtin').buffers()<cr>
|
||||||
nnoremap <Leader>ft <cmd>lua require('telescope.builtin').grep_string()<cr>
|
" nnoremap <Leader>ft <cmd>lua require('telescope.builtin').grep_string()<cr>
|
||||||
nnoremap <Leader>fh <cmd>lua require('harpoon.ui').toggle_quick_menu()<cr>
|
" nnoremap <Leader>fh <cmd>lua require('harpoon.ui').toggle_quick_menu()<cr>
|
||||||
nnoremap <Leader>tr <cmd>lua require('telescope.builtin').treesitter()<cr>
|
" nnoremap <Leader>tr <cmd>lua require('telescope.builtin').treesitter()<cr>
|
||||||
|
|
||||||
nnoremap <Leader>err oif err != nil {<CR>return nil, err<CR>}<CR><esc>kkI<esc>
|
nnoremap <Leader>err oif err != nil {<CR>return nil, err<CR>}<CR><esc>kkI<esc>
|
||||||
nnoremap <buffer> <silent> <C-[> :GoReferrers<cr>
|
|
||||||
|
|
||||||
nnoremap <Leader>q :bp\|bd #<CR>
|
" nnoremap <Leader>q :bp\|bd #<CR>
|
||||||
nnoremap <Leader>w :w<CR>
|
" nnoremap <Leader>w :w<CR>
|
||||||
nnoremap <Leader>n :bn<CR>
|
" nnoremap <Leader>n :bn<CR>
|
||||||
nnoremap <Leader>b :bp<CR>
|
" nnoremap <Leader>b :bp<CR>
|
||||||
nnoremap <Leader>1 <cmd>lua require("harpoon.ui").nav_file(1)<CR>
|
" nnoremap <Leader>1 <cmd>lua require("harpoon.ui").nav_file(1)<CR>
|
||||||
nnoremap <Leader>2 <cmd>lua require("harpoon.ui").nav_file(2)<CR>
|
" nnoremap <Leader>2 <cmd>lua require("harpoon.ui").nav_file(2)<CR>
|
||||||
nnoremap <Leader>3 <cmd>lua require("harpoon.ui").nav_file(3)<CR>
|
" nnoremap <Leader>3 <cmd>lua require("harpoon.ui").nav_file(3)<CR>
|
||||||
nnoremap <Leader>4 <cmd>lua require("harpoon.ui").nav_file(4)<CR>
|
" nnoremap <Leader>4 <cmd>lua require("harpoon.ui").nav_file(4)<CR>
|
||||||
nnoremap <Leader>5 <cmd>lua require("harpoon.ui").nav_file(5)<CR>
|
" nnoremap <Leader>5 <cmd>lua require("harpoon.ui").nav_file(5)<CR>
|
||||||
nnoremap <Leader>6 <cmd>lua require("harpoon.ui").nav_file(6)<CR>
|
" nnoremap <Leader>6 <cmd>lua require("harpoon.ui").nav_file(6)<CR>
|
||||||
nnoremap <Leader>7 <cmd>lua require("harpoon.ui").nav_file(7)<CR>
|
" nnoremap <Leader>7 <cmd>lua require("harpoon.ui").nav_file(7)<CR>
|
||||||
nnoremap <Leader>8 <cmd>lua require("harpoon.ui").nav_file(8)<CR>
|
" nnoremap <Leader>8 <cmd>lua require("harpoon.ui").nav_file(8)<CR>
|
||||||
nnoremap <Leader>9 <cmd>lua require("harpoon.ui").nav_file(9)<CR>
|
" nnoremap <Leader>9 <cmd>lua require("harpoon.ui").nav_file(9)<CR>
|
||||||
nnoremap <c-j> <c-w><c-j>
|
" nnoremap <c-j> <c-w><c-j>
|
||||||
nnoremap <c-k> <c-w><c-k>
|
" nnoremap <c-k> <c-w><c-k>
|
||||||
nnoremap <c-h> <c-w><c-h>
|
" nnoremap <c-h> <c-w><c-h>
|
||||||
nnoremap <c-l> <c-w><c-l>
|
" nnoremap <c-l> <c-w><c-l>
|
||||||
tnoremap <c-j> <c-\><c-n><c-w><c-j>
|
" tnoremap <c-j> <c-\><c-n><c-w><c-j>
|
||||||
tnoremap <c-k> <c-\><c-n><c-w><c-k>
|
" tnoremap <c-k> <c-\><c-n><c-w><c-k>
|
||||||
tnoremap <c-h> <c-\><c-n><c-w><c-h>
|
" tnoremap <c-h> <c-\><c-n><c-w><c-h>
|
||||||
tnoremap <c-l> <c-\><c-n><c-w><c-l>
|
" tnoremap <c-l> <c-\><c-n><c-w><c-l>
|
||||||
tnoremap <Esc> <C-\><C-n>
|
" tnoremap <Esc> <C-\><C-n>
|
||||||
nnoremap <Leader>ee :NvimTreeFindFileToggle<cr>
|
nnoremap <Leader>ee :NvimTreeFindFileToggle<cr>
|
||||||
nnoremap <Leader>h <cmd>lua require("harpoon.mark").add_file()<cr>
|
" nnoremap <Leader>h <cmd>lua require("harpoon.mark").add_file()<cr>
|
||||||
nnoremap <Leader>/ :Commentary<cr>
|
nnoremap <Leader>/ :Commentary<cr>
|
||||||
vnoremap <Leader>/ :Commentary<cr>
|
vnoremap <Leader>/ :Commentary<cr>
|
||||||
|
|
||||||
vnoremap J :m '>+1<CR>gv=gv
|
" vnoremap J :m '>+1<CR>gv=gv
|
||||||
vnoremap K :m '<-2<CR>gv=gv
|
" vnoremap K :m '<-2<CR>gv=gv
|
||||||
|
|
||||||
let g:floaterm_wintype='split'
|
let g:floaterm_wintype='split'
|
||||||
let g:floaterm_height=0.2
|
let g:floaterm_height=0.2
|
||||||
@@ -146,8 +145,9 @@ nnoremap <silent> <F12> :FloatermToggle<CR>
|
|||||||
tnoremap <silent> <F12> <C-\><C-n>:FloatermToggle<CR>
|
tnoremap <silent> <F12> <C-\><C-n>:FloatermToggle<CR>
|
||||||
|
|
||||||
let mapleader = '\'
|
let mapleader = '\'
|
||||||
nnoremap <Leader><CR> :so ~/.config/nvim/init.vim<CR>
|
nnoremap <Leader><CR> :so ~/.config/nvim/init.lua<CR>
|
||||||
nnoremap <Leader><Leader> :e ~/.config/nvim/init.vim<CR>
|
nnoremap <Leader><Leader> :e ~/.config/nvim/init.lua<CR>
|
||||||
|
let mapleader = ' '
|
||||||
|
|
||||||
augroup jbohanon
|
augroup jbohanon
|
||||||
autocmd!
|
autocmd!
|
||||||
@@ -179,154 +179,146 @@ let g:airline#extensions#tabline#enabled = 1
|
|||||||
let g:airline_powerline_fonts = 1
|
let g:airline_powerline_fonts = 1
|
||||||
|
|
||||||
" Completion config
|
" Completion config
|
||||||
set completeopt=menu,menuone,noselect
|
set completeopt=menu,menuone,noselect,noinsert,preview
|
||||||
|
|
||||||
lua << EOF
|
" lua << EOF
|
||||||
-- Mappings.
|
" -- Mappings.
|
||||||
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
" -- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
||||||
local opts = { noremap=true, silent=true }
|
" local opts = { noremap=true, silent=true }
|
||||||
vim.keymap.set('n', '<space>d', vim.diagnostic.open_float, opts)
|
" vim.keymap.set('n', '<space>d', vim.diagnostic.open_float, opts)
|
||||||
vim.keymap.set('n', '<space>dd', require'telescope.builtin'.diagnostics, opts)
|
" vim.keymap.set('n', '<space>dd', require'telescope.builtin'.diagnostics, opts)
|
||||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
|
" vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
|
||||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
|
" vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
|
||||||
vim.keymap.set('n', '<space>dl', vim.diagnostic.setloclist, opts)
|
" vim.keymap.set('n', '<space>dl', vim.diagnostic.setloclist, opts)
|
||||||
|
|
||||||
-- Use an on_attach function to only map the following keys
|
" -- Use an on_attach function to only map the following keys
|
||||||
-- after the language server attaches to the current buffer
|
" -- after the language server attaches to the current buffer
|
||||||
local on_attach = function(client, bufnr)
|
" local on_attach = function(client, bufnr)
|
||||||
-- Enable completion triggered by <c-x><c-o>
|
" -- Enable completion triggered by <c-x><c-o>
|
||||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
" vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||||
|
|
||||||
-- Mappings.
|
" -- Mappings.
|
||||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
" -- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||||
local bufopts = { noremap=true, silent=true, buffer=bufnr }
|
" local bufopts = { noremap=true, silent=true, buffer=bufnr }
|
||||||
--vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
|
" --vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
|
||||||
vim.keymap.set('n', 'gD', require'telescope.builtin'.lsp_type_definitions, bufopts)
|
" vim.keymap.set('n', 'gD', require'telescope.builtin'.lsp_type_definitions, bufopts)
|
||||||
--vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
|
" --vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
|
||||||
vim.keymap.set('n', 'gd', require'telescope.builtin'.lsp_definitions, bufopts)
|
" vim.keymap.set('n', 'gd', require'telescope.builtin'.lsp_definitions, bufopts)
|
||||||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
|
" vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
|
||||||
vim.keymap.set('n', 'gi', require'telescope.builtin'.lsp_implementations, bufopts)
|
" vim.keymap.set('n', 'gi', require'telescope.builtin'.lsp_implementations, bufopts)
|
||||||
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts)
|
" vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts)
|
||||||
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
|
" vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
|
||||||
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
|
" vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
|
||||||
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
|
" vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
|
||||||
--vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
|
" --vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
|
||||||
vim.keymap.set('n', 'gr', require'telescope.builtin'.lsp_references, bufopts)
|
" vim.keymap.set('n', 'gr', require'telescope.builtin'.lsp_references, bufopts)
|
||||||
vim.keymap.set('n', '<space>f', vim.lsp.buf.format, bufopts)
|
" vim.keymap.set('n', '<space>f', vim.lsp.buf.format, bufopts)
|
||||||
end
|
" end
|
||||||
local capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities())
|
" local capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities())
|
||||||
require('lspconfig')['gopls'].setup{
|
" require('lspconfig')['gopls'].setup{
|
||||||
settings = {
|
" settings = {
|
||||||
gopls = {
|
" gopls = {
|
||||||
templateExtensions = {'gotmpl', 'gohtml'},
|
" templateExtensions = {'gotmpl', 'gohtml'},
|
||||||
}
|
" }
|
||||||
},
|
" },
|
||||||
filetypes = { "go", "gomod", "gowork", "gotmpl", "gohtml", "gohtmltmpl" },
|
" filetypes = { "go", "gomod", "gowork", "gotmpl", "gohtml", "gohtmltmpl" },
|
||||||
on_attach = on_attach,
|
" on_attach = on_attach,
|
||||||
capabilities = capabilities,
|
" capabilities = capabilities,
|
||||||
}
|
" }
|
||||||
require('lspconfig')['pyright'].setup{
|
" require('lspconfig')['pyright'].setup{
|
||||||
on_attach = on_attach,
|
" on_attach = on_attach,
|
||||||
capabilities = capabilities,
|
" capabilities = capabilities,
|
||||||
}
|
" }
|
||||||
require('lspconfig')['tsserver'].setup{
|
" require('lspconfig')['tsserver'].setup{
|
||||||
on_attach = on_attach,
|
" on_attach = on_attach,
|
||||||
capabilities = capabilities,
|
" capabilities = capabilities,
|
||||||
}
|
" }
|
||||||
require('lspconfig')['clangd'].setup{
|
" require('lspconfig')['clangd'].setup{
|
||||||
on_attach = on_attach,
|
" on_attach = on_attach,
|
||||||
capabilities = capabilities,
|
" capabilities = capabilities,
|
||||||
}
|
" }
|
||||||
require('lspconfig')['rust_analyzer'].setup{
|
" require('lspconfig')['rust_analyzer'].setup{
|
||||||
on_attach = on_attach,
|
" on_attach = on_attach,
|
||||||
capabilities = capabilities,
|
" capabilities = capabilities,
|
||||||
}
|
" }
|
||||||
require('lspconfig')['bashls'].setup{
|
" require('lspconfig')['bashls'].setup{
|
||||||
on_attach = on_attach,
|
" on_attach = on_attach,
|
||||||
capabilities = capabilities,
|
" capabilities = capabilities,
|
||||||
}
|
" }
|
||||||
EOF
|
" EOF
|
||||||
|
|
||||||
lua <<EOF
|
" lua <<EOF
|
||||||
local cmp = require'cmp'
|
" local cmp = require'cmp'
|
||||||
|
|
||||||
cmp.setup({
|
" cmp.setup({
|
||||||
snippet = {
|
" snippet = {
|
||||||
expand = function(args)
|
" expand = function(args)
|
||||||
vim.fn["vsnip#anonymous"](args.body)
|
" vim.fn["vsnip#anonymous"](args.body)
|
||||||
end,
|
" end,
|
||||||
},
|
" },
|
||||||
window = {
|
" window = {
|
||||||
completion = cmp.config.window.bordered(),
|
" completion = cmp.config.window.bordered(),
|
||||||
documentation = cmp.config.window.bordered(),
|
" documentation = cmp.config.window.bordered(),
|
||||||
},
|
" },
|
||||||
mapping = cmp.mapping.preset.insert({
|
" mapping = cmp.mapping.preset.insert({
|
||||||
["<Tab>"] = cmp.mapping(function(fallback)
|
" ["<Tab>"] = cmp.mapping(function(fallback)
|
||||||
if cmp.visible() then
|
" if cmp.visible() then
|
||||||
cmp.select_next_item()
|
" cmp.select_next_item()
|
||||||
elseif luasnip.expand_or_jumpable() then
|
" elseif luasnip.expand_or_jumpable() then
|
||||||
luasnip.expand_or_jump()
|
" luasnip.expand_or_jump()
|
||||||
elseif has_words_before() then
|
" elseif has_words_before() then
|
||||||
cmp.complete()
|
" cmp.complete()
|
||||||
else
|
" else
|
||||||
fallback()
|
" fallback()
|
||||||
end
|
" end
|
||||||
end, { "i", "s" }),
|
" end, { "i", "s" }),
|
||||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
" ["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||||
if cmp.visible() then
|
" if cmp.visible() then
|
||||||
cmp.select_prev_item()
|
" cmp.select_prev_item()
|
||||||
elseif luasnip.jumpable(-1) then
|
" elseif luasnip.jumpable(-1) then
|
||||||
luasnip.jump(-1)
|
" luasnip.jump(-1)
|
||||||
else
|
" else
|
||||||
fallback()
|
" fallback()
|
||||||
end
|
" end
|
||||||
end, { "i", "s" }),
|
" end, { "i", "s" }),
|
||||||
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
" ['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
" ['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||||
['<C-Space>'] = cmp.mapping.complete(),
|
" ['<C-Space>'] = cmp.mapping.complete(),
|
||||||
['<C-e>'] = cmp.mapping.abort(),
|
" ['<C-e>'] = cmp.mapping.abort(),
|
||||||
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
" ['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||||
}),
|
" }),
|
||||||
sources = cmp.config.sources({
|
" sources = cmp.config.sources({
|
||||||
{ name = 'nvim_lsp' },
|
" { name = 'nvim_lsp' },
|
||||||
{ name = 'vsnip' },
|
" { name = 'vsnip' },
|
||||||
}, {
|
" }, {
|
||||||
{ name = 'buffer' },
|
" { name = 'buffer' },
|
||||||
})
|
" })
|
||||||
})
|
" })
|
||||||
|
|
||||||
-- Set configuration for specific filetype.
|
" -- Set configuration for specific filetype.
|
||||||
cmp.setup.filetype('gitcommit', {
|
" cmp.setup.filetype('gitcommit', {
|
||||||
sources = cmp.config.sources({
|
" sources = cmp.config.sources({
|
||||||
{ name = 'cmp_git' },
|
" { name = 'cmp_git' },
|
||||||
}, {
|
" }, {
|
||||||
{ name = 'buffer' },
|
" { name = 'buffer' },
|
||||||
})
|
" })
|
||||||
})
|
" })
|
||||||
|
|
||||||
-- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
|
" -- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
|
||||||
cmp.setup.cmdline('/', {
|
" cmp.setup.cmdline('/', {
|
||||||
mapping = cmp.mapping.preset.cmdline(),
|
" mapping = cmp.mapping.preset.cmdline(),
|
||||||
sources = {
|
" sources = {
|
||||||
{ name = 'buffer' }
|
" { name = 'buffer' }
|
||||||
}
|
" }
|
||||||
})
|
" })
|
||||||
|
|
||||||
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
" -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
||||||
cmp.setup.cmdline(':', {
|
" cmp.setup.cmdline(':', {
|
||||||
mapping = cmp.mapping.preset.cmdline(),
|
" mapping = cmp.mapping.preset.cmdline(),
|
||||||
sources = cmp.config.sources({
|
" sources = cmp.config.sources({
|
||||||
{ name = 'path' }
|
" { name = 'path' }
|
||||||
}, {
|
" }, {
|
||||||
{ name = 'cmdline' }
|
" { name = 'cmdline' }
|
||||||
})
|
" })
|
||||||
})
|
" })
|
||||||
EOF
|
" EOF
|
||||||
|
|
||||||
lua << EOF
|
|
||||||
vim.filetype.add({
|
|
||||||
extension = {
|
|
||||||
gohtml = "gohtmltmpl"
|
|
||||||
}
|
|
||||||
})
|
|
||||||
EOF
|
|
||||||
|
|||||||
@@ -8,3 +8,6 @@ alias startenvoydev="gcloud compute instances start bohanon-envoy-dev --zone us-
|
|||||||
alias stopenvoydev="gcloud compute instances stop bohanon-envoy-dev --zone us-central1-c --project solo-test-236622"
|
alias stopenvoydev="gcloud compute instances stop bohanon-envoy-dev --zone us-central1-c --project solo-test-236622"
|
||||||
alias sshenvoydev="gcloud beta compute ssh --zone us-central1-c bohanon-envoy-dev --project solo-test-236622"
|
alias sshenvoydev="gcloud beta compute ssh --zone us-central1-c bohanon-envoy-dev --project solo-test-236622"
|
||||||
|
|
||||||
|
alias startoldenvoydev="gcloud compute instances start bohanon-envoy-dev-old --zone us-central1-a --project solo-test-236622 && gcloud compute config-ssh --force-key-file-overwrite --project solo-test-236622"
|
||||||
|
alias stopoldenvoydev="gcloud compute instances stop bohanon-envoy-dev-old --zone us-central1-a --project solo-test-236622"
|
||||||
|
alias ssholdenvoydev="gcloud beta compute ssh --zone us-central1-a bohanon-envoy-dev-old --project solo-test-236622"
|
||||||
|
|||||||
Reference in New Issue
Block a user