modify lua init

This commit is contained in:
2023-05-16 15:31:46 -04:00
parent 6d7a383491
commit d77d0f2e35
11 changed files with 411 additions and 183 deletions

View File

@@ -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
View 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')

View File

@@ -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,
}

View 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))

View File

@@ -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")

View 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' }
})
})

View 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)

View File

@@ -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')

View File

@@ -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

View File

@@ -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"