Something went wrong. Try again.
Monorepo for Aesthetic.Computer aesthetic.computer
Something went wrong. Try again.
4.2 kB · 116 lines
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117" auto-install vim-plugif empty(glob('~/.config/nvim/autoload/plug.vim')) silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall | source $MYVIMRCendif
" specify a directory for storing pluginscall plug#begin(stdpath('data') . '/plugged')
" list pluginsPlug 'lifepillar/vim-solarized8'Plug 'dag/vim-fish'Plug 'ethanholz/nvim-lastplace'Plug 'neovim/nvim-lspconfig'Plug 'tomlion/vim-solidity'Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} " We recommend updating the parsers on update
" Initialize plugin system (🗒️ install: https://github.com/junegunn/vimplug)call plug#end()
lua require'nvim-lastplace'.setup{}
" enable terminal colors to be set from appset termguicolors
" tie to system clipboardset clipboard=unnamedplus
" clear inc highlights on escnnoremap <Esc> :noh<CR><Esc>
" choose my favorite colorscheme on my chosen backgroundset background=darkcolorscheme solarized8
" enable line numbersset nu
" always scroll with cursorset so=0 " 999
" foldingset foldmethod=indentset foldnestmax=10" set nofoldenableset foldlevelstart=99autocmd FileType * setlocal foldenable
" set up tabs (note: eventually exceptions could be added for certain files: https://stackoverflow.com/a/51995699set tabstop=2set shiftwidth=2set expandtabset smartindent
" sign gutterset signcolumn=yes
" auto apply chezmoi edits: https://www.chezmoi.io/docs/how-to/#use-your-preferred-editor-with-chezmoi-edit-and-" " " chezmoi-edit-config" autocmd BufWritePost ~/.local/share/chezmoi/* ! chezmoi apply --source-path "%"
lua << EOF-- enable lsp server -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#tsserver
-- require'lspconfig'.tsserver.setup{}
-- setup basic lsp
local nvim_lsp = require('lspconfig')
-- Use an on_attach function to only map the following keys-- after the language server attaches to the current bufferlocal on_attach = function(client, bufnr) local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
-- Enable completion triggered by <c-x><c-o> buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
-- Mappings. local opts = { noremap=true, silent=true }
-- See `:help vim.lsp.*` for documentation on any of the below functions buf_set_keymap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts) buf_set_keymap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts) buf_set_keymap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts) buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts) buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts) buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts) buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts) buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts) buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts) -- buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts) -- buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts) buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts) -- buf_set_keymap('n', '<space>e', '<cmd>lua vim.diagnostic.open_float()<CR>', opts) -- buf_set_keymap('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts) -- buf_set_keymap('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts) buf_set_keymap('n', '<space>q', '<cmd>lua vim.diagnostic.setloclist()<CR>', opts) buf_set_keymap('n', '<space>f', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)end
-- Use a loop to conveniently call 'setup' on multiple servers and-- map buffer local keybindings when the language server attacheslocal servers = { 'tsserver' }for _, lsp in ipairs(servers) do nvim_lsp[lsp].setup { on_attach = on_attach, flags = { debounce_text_changes = 150, } }endEOF