my dotz
0

Configure Feed

Select the types of activity you want to include in your feed.

init.vim -> init.lua

+66 -122
+66
.config/nvim/init.lua
··· 1 + local use = require('packer').use 2 + require('packer').startup(function() 3 + use 'wbthomason/packer.nvim' -- Package manager 4 + use 'neovim/nvim-lspconfig' -- Configurations for Nvim LSP 5 + use 'sainnhe/everforest' -- Colorscheme 6 + 7 + -- Very powerful search 8 + use { 9 + 'nvim-telescope/telescope.nvim', tag = '0.1.1', 10 + requires = { {'nvim-lua/plenary.nvim', 'BurntSushi/ripgrep'} } 11 + } 12 + end) 13 + 14 + vim.cmd('colorscheme everforest') -- solarized, but green 15 + vim.cmd('set termguicolors') -- needed for truecolor support 16 + vim.cmd('set mmp=2000') -- resolves https://github.com/vim/vim/issues/2049 17 + 18 + -- Mappings. 19 + -- See `:help vim.diagnostic.*` for documentation on any of the below functions 20 + local opts = { noremap=true, silent=true } 21 + vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts) 22 + vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts) 23 + vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) 24 + vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts) 25 + vim.keymap.set('n', '<space>m', "Go<esc>:put =strftime('%Y-%m-%d')<cr>o============<cr>", opts) 26 + 27 + -- auto-format on save 28 + vim.cmd [[autocmd BufWritePre * lua vim.lsp.buf.formatting_sync()]] 29 + 30 + -- Use an on_attach function to only map the following keys 31 + -- after the language server attaches to the current buffer 32 + local on_attach = function(client, bufnr) 33 + -- Enable completion triggered by <c-x><c-o> 34 + vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') 35 + 36 + -- Mappings. 37 + -- See `:help vim.lsp.*` for documentation on any of the below functions 38 + local bufopts = { noremap=true, silent=true, buffer=bufnr } 39 + vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) 40 + vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) 41 + vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) 42 + vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts) 43 + vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts) 44 + vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, bufopts) 45 + vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, bufopts) 46 + vim.keymap.set('n', '<space>wl', function() 47 + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) 48 + end, bufopts) 49 + vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts) 50 + vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts) 51 + vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts) 52 + vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) 53 + vim.keymap.set('n', '<space>f', function() vim.lsp.buf.format { async = true } end, bufopts) 54 + end 55 + 56 + ---- golang 57 + require('lspconfig')['gopls'].setup{ 58 + on_attach = on_attach, 59 + } 60 + -- organize golang imports on save 61 + vim.api.nvim_create_autocmd('BufWritePre', { 62 + pattern = '*.go', 63 + callback = function() 64 + vim.lsp.buf.code_action({ context = { only = { 'source.organizeImports' } }, apply = true }) 65 + end 66 + })
-122
.config/nvim/init.vim
··· 1 - call plug#begin() 2 - Plug 'junegunn/vim-easy-align' 3 - Plug 'neovim/nvim-lspconfig' 4 - Plug 'nvim-lua/plenary.nvim' " lua funcs i guess 5 - Plug 'hrsh7th/nvim-compe' 6 - Plug 'ctrlpvim/ctrlp.vim' 7 - Plug 'cormacrelf/vim-colors-github' 8 - Plug 'dewyze/vim-tada' 9 - Plug 'tidalcycles/vim-tidal' 10 - call plug#end() 11 - 12 - colorscheme github 13 - set termguicolors " required for truecolor support 14 - 15 - " idk, this resolved the following weirdness: 16 - " https://github.com/vim/vim/issues/2049 17 - set mmp=2000 18 - 19 - lua << EOF 20 - require'lspconfig'.gopls.setup{} 21 - require'lspconfig'.terraformls.setup{} 22 - EOF 23 - 24 - " set keybinds for go LSP - warning: disgusting 25 - lua << EOF 26 - local nvim_lsp = require('lspconfig') 27 - 28 - -- Use an on_attach function to only map the following keys 29 - -- after the language server attaches to the current buffer 30 - local on_attach = function(client, bufnr) 31 - local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end 32 - local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end 33 - 34 - --Enable completion triggered by <c-x><c-o> 35 - buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') 36 - 37 - -- Mappings. 38 - local opts = { noremap=true, silent=true } 39 - 40 - -- See `:help vim.lsp.*` for documentation on any of the below functions 41 - buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts) 42 - buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts) 43 - buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts) 44 - buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts) 45 - buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts) 46 - buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts) 47 - buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts) 48 - buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts) 49 - buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts) 50 - buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts) 51 - buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts) 52 - buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts) 53 - buf_set_keymap('n', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts) 54 - buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts) 55 - buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts) 56 - buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts) 57 - buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts) 58 - end 59 - 60 - -- Use a loop to conveniently call 'setup' on multiple servers and 61 - -- map buffer local keybindings when the language server attaches 62 - local servers = { "gopls", "terraformls" } 63 - for _, lsp in ipairs(servers) do 64 - nvim_lsp[lsp].setup { on_attach = on_attach } 65 - end 66 - EOF 67 - 68 - " golang imports setup (ugh, sorry) 69 - lua <<EOF 70 - -- … 71 - 72 - function go_org_imports(wait_ms) 73 - local params = vim.lsp.util.make_range_params() 74 - params.context = {only = {"source.organizeImports"}} 75 - local result = vim.lsp.buf_request_sync(0, "textDocument/codeAction", params, wait_ms) 76 - for cid, res in pairs(result or {}) do 77 - for _, r in pairs(res.result or {}) do 78 - if r.edit then 79 - local enc = (vim.lsp.get_client_by_id(cid) or {}).offset_encoding or "utf-16" 80 - vim.lsp.util.apply_workspace_edit(r.edit, enc) 81 - end 82 - end 83 - end 84 - end 85 - EOF 86 - 87 - autocmd BufWritePre *.go lua go_org_imports() 88 - 89 - " tabstops for my langs 90 - autocmd FileType sh setlocal et ts=4 sw=4 91 - autocmd FileType python setlocal et ts=4 sw=4 92 - autocmd FileType go setlocal noet ts=4 sw=4 93 - autocmd FileType ruby setlocal et ts=2 sw=2 94 - autocmd FileType terraform setlocal et ts=2 sw=2 95 - autocmd FileType text setlocal tw=80 96 - autocmd FileType html setlocal et ts=2 sw=2 97 - autocmd FileType yaml setlocal et ts=2 sw=2 98 - autocmd FileType mail setlocal noautoindent 99 - augroup filetypedetect 100 - autocmd BufRead,BufNewFile *mutt-* setfiletype mail 101 - augroup filetypedetect 102 - autocmd FileType json setlocal et ts=2 sw=2 103 - " markdown auto-wrapping per 104 - " https://vi.stackexchange.com/questions/9421/how-to-make-formatoptions-a-useful 105 - autocmd FileType markdown set fo+=aw 106 - autocmd FileType markdown setlocal tw=80 et ts=2 sw=2 107 - 108 - " terraform ft detection 109 - " vint: -ProhibitAutocmdWithNoGroup 110 - " By default, Vim associates .tf files with TinyFugue - tell it not to. 111 - silent! autocmd! filetypedetect BufRead,BufNewFile *.tf 112 - autocmd BufRead,BufNewFile *.hcl set filetype=hcl 113 - autocmd BufRead,BufNewFile .terraformrc,terraform.rc set filetype=hcl 114 - autocmd BufRead,BufNewFile *.tf,*.tfvars set filetype=terraform 115 - autocmd BufRead,BufNewFile *.tfstate,*.tfstate.backup set filetype=json 116 - 117 - " bindings 118 - let mapleader = "," 119 - nmap <leader>m Go<esc>:put =strftime(\"%Y-%m-%d\")<cr>o----------------<cr><esc> 120 - 121 - " use neovim's own terminal instead of tmux: 122 - let g:tidal_target = "terminal"