|
|
@ -1,69 +1,43 @@
|
|
|
|
set nocompatible
|
|
|
|
if &compatible
|
|
|
|
|
|
|
|
set nocompatible
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
map <F12> :source $MYVIMRC<CR>
|
|
|
|
map <F12> :source $MYVIMRC<CR>
|
|
|
|
|
|
|
|
|
|
|
|
" Plugins -------------------------------------------------------------------{{{
|
|
|
|
" Plugins -------------------------------------------------------------------{{{
|
|
|
|
" set the runtime path to include Vundle and initialize
|
|
|
|
|
|
|
|
if has('nvim') && has('win32')
|
|
|
|
if has('nvim') && has('win32')
|
|
|
|
lua require('plugins')
|
|
|
|
lua require('plugins')
|
|
|
|
set rtp+=~/AppData/Local/nvim/bundle/Vundle.vim
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
set rtp+=~/.vim/bundle/Vundle.vim
|
|
|
|
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
" allegedly this needs to be off to load Vundle
|
|
|
|
call plug#begin()
|
|
|
|
filetype off
|
|
|
|
" if !has('nvim')
|
|
|
|
|
|
|
|
" Plug 'dense-analysis/ale' " asynchronous linting engine
|
|
|
|
call vundle#begin()
|
|
|
|
" endif
|
|
|
|
" let Vundle manage Vundle, required
|
|
|
|
Plug 'yegappan/lsp'
|
|
|
|
Plugin 'VundleVim/Vundle.vim'
|
|
|
|
Plug 'tpope/vim-fugitive' " integration with the git cli
|
|
|
|
|
|
|
|
Plug 'tpope/vim-surround' " edits surrounding quotes and parens and the like
|
|
|
|
if !has('nvim')
|
|
|
|
Plug 'tpope/vim-rails' " rails project management stuff
|
|
|
|
Plugin 'dense-analysis/ale' " asynchronous linting engine
|
|
|
|
Plug 'tpope/vim-repeat' " fixes the . key for ...something
|
|
|
|
endif
|
|
|
|
Plug 'scrooloose/nerdtree' " better file navigation
|
|
|
|
|
|
|
|
Plug 'mhinz/vim-signify'
|
|
|
|
Plugin 'tpope/vim-fugitive' " integration with the git cli
|
|
|
|
Plug 'slim-template/vim-slim' " what in the 2008 is this
|
|
|
|
Plugin 'tpope/vim-surround' " edits surrounding quotes and parens and the like
|
|
|
|
Plug 'kchmck/vim-coffee-script' " lol coffee script
|
|
|
|
Plugin 'tpope/vim-rails' " rails project management stuff
|
|
|
|
Plug 'fatih/vim-go' " all-in-one Go tools
|
|
|
|
Plugin 'tpope/vim-repeat' " fixes the . key for ...something
|
|
|
|
Plug 'fatih/vim-hclfmt' " nicely formats hcl files
|
|
|
|
Plugin 'scrooloose/nerdtree' " better file navigation
|
|
|
|
Plug 'nanotech/jellybeans.vim' " the best colorscheme
|
|
|
|
" Plugin 'airblade/vim-gitgutter' " in-file git integration
|
|
|
|
Plug 'ervandew/supertab' " makes tab better apparently
|
|
|
|
Plugin 'mhinz/vim-signify'
|
|
|
|
Plug 'scrooloose/nerdcommenter' " no idea if I'm even using this
|
|
|
|
Plugin 'slim-template/vim-slim' " what in the 2008 is this
|
|
|
|
Plug 'ctrlpvim/ctrlp.vim' " don't actually know how to use this honestly
|
|
|
|
Plugin 'kchmck/vim-coffee-script' " lol coffee script
|
|
|
|
Plug 'itchyny/lightline.vim' " fancy status line
|
|
|
|
Plugin 'fatih/vim-go' " all-in-one Go tools
|
|
|
|
Plug 'heavenshell/vim-jsdoc' " js docs?
|
|
|
|
Plugin 'fatih/vim-hclfmt' " nicely formats hcl files
|
|
|
|
Plug 'hashivim/vim-terraform' " hclfmt but for terraform
|
|
|
|
Plugin 'nanotech/jellybeans.vim' " the best colorscheme
|
|
|
|
Plug 'b4b4r07/vim-hcl' " hcl syntax stuff?
|
|
|
|
Plugin 'ervandew/supertab' " makes tab better apparently
|
|
|
|
Plug 'Glench/Vim-Jinja2-Syntax' " jinja2 syntax stuff
|
|
|
|
Plugin 'scrooloose/nerdcommenter' " no idea if I'm even using this
|
|
|
|
Plug 'rust-lang/rust.vim' " bare minimum rust syntax stuff
|
|
|
|
Plugin 'Align' " aligns things on demand
|
|
|
|
Plug 'elubow/cql-vim'
|
|
|
|
Plugin 'ctrlpvim/ctrlp.vim' " don't actually know how to use this honestly
|
|
|
|
Plug 'tikhomirov/vim-glsl'
|
|
|
|
Plugin 'itchyny/lightline.vim' " fancy status line
|
|
|
|
Plug 'jparise/vim-graphql'
|
|
|
|
Plugin 'heavenshell/vim-jsdoc' " js docs?
|
|
|
|
call plug#end()
|
|
|
|
Plugin 'hashivim/vim-terraform' " hclfmt but for terraform
|
|
|
|
|
|
|
|
Plugin 'b4b4r07/vim-hcl' " hcl syntax stuff?
|
|
|
|
|
|
|
|
Plugin 'Glench/Vim-Jinja2-Syntax' " jinja2 syntax stuff
|
|
|
|
|
|
|
|
Plugin 'rust-lang/rust.vim' " bare minimum rust syntax stuff
|
|
|
|
|
|
|
|
Plugin 'elubow/cql-vim'
|
|
|
|
|
|
|
|
Plugin 'tikhomirov/vim-glsl'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Past plugins
|
|
|
|
|
|
|
|
"
|
|
|
|
|
|
|
|
" Seems to break NERDTree. I dunno why. Kinda problematic since it's
|
|
|
|
|
|
|
|
" intended to improve NERDTree.
|
|
|
|
|
|
|
|
" Plugin 'Xuyuanp/nerdtree-git-plugin'
|
|
|
|
|
|
|
|
"
|
|
|
|
|
|
|
|
" Still figuring this one out. I think I hate it?
|
|
|
|
|
|
|
|
" Plugin 'neoclide/coc.nvim'
|
|
|
|
|
|
|
|
"
|
|
|
|
|
|
|
|
" this repo is gone
|
|
|
|
|
|
|
|
" Plugin 'calviken/vim-gdscript3'
|
|
|
|
|
|
|
|
"
|
|
|
|
|
|
|
|
" I'm trying ALE instead
|
|
|
|
|
|
|
|
" Plugin 'ycm-core/YouCompleteMe'
|
|
|
|
|
|
|
|
" Plugin 'prabirshrestha/vim-lsp'
|
|
|
|
|
|
|
|
" Plugin 'mattn/vim-lsp-settings'
|
|
|
|
|
|
|
|
call vundle#end() " required
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" enable the filetype plugin
|
|
|
|
" enable the filetype plugin
|
|
|
|
filetype plugin indent on
|
|
|
|
filetype plugin indent on
|
|
|
@ -192,6 +166,7 @@ if &t_Co > 2 || has("gui_running")
|
|
|
|
" this should not do anything but it does.
|
|
|
|
" this should not do anything but it does.
|
|
|
|
set termguicolors
|
|
|
|
set termguicolors
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" jellybeans disables italics by default for some reason
|
|
|
|
let g:jellybeans_use_term_italics = 1
|
|
|
|
let g:jellybeans_use_term_italics = 1
|
|
|
|
let g:jellybeans_overrides = {
|
|
|
|
let g:jellybeans_overrides = {
|
|
|
|
\ 'background': { 'ctermbg': 'none', '256ctermbg': 'none' },
|
|
|
|
\ 'background': { 'ctermbg': 'none', '256ctermbg': 'none' },
|
|
|
@ -215,15 +190,13 @@ if has("autocmd")
|
|
|
|
augroup vimrcEx
|
|
|
|
augroup vimrcEx
|
|
|
|
autocmd!
|
|
|
|
autocmd!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Add filetype recognition for some lesser-known file types
|
|
|
|
autocmd BufNewFile,BufRead *.zig set filetype=zig
|
|
|
|
autocmd BufNewFile,BufRead *.zig set filetype=zig
|
|
|
|
autocmd BufNewFile,BufRead *.txt set filetype=text
|
|
|
|
autocmd BufNewFile,BufRead *.txt set filetype=text
|
|
|
|
autocmd BufNewFile,BufRead *.gd set filetype=gdscript3
|
|
|
|
autocmd BufNewFile,BufRead *.gd set filetype=gdscript3
|
|
|
|
|
|
|
|
|
|
|
|
" on some machines md files are thought to be modula2
|
|
|
|
" on some machines md files are thought to be modula2
|
|
|
|
autocmd BufNewFile,BufRead *.md set filetype=markdown
|
|
|
|
autocmd BufNewFile,BufRead *.md set filetype=markdown
|
|
|
|
|
|
|
|
|
|
|
|
autocmd BufNewFile,BufRead *.tf set filetype=terraform
|
|
|
|
autocmd BufNewFile,BufRead *.tf set filetype=terraform
|
|
|
|
|
|
|
|
|
|
|
|
" add Coloring for ChucK source
|
|
|
|
" add Coloring for ChucK source
|
|
|
|
autocmd BufNewFile,BufRead *.ck set filetype=ck
|
|
|
|
autocmd BufNewFile,BufRead *.ck set filetype=ck
|
|
|
|
|
|
|
|
|
|
|
@ -242,7 +215,7 @@ if has("autocmd")
|
|
|
|
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
|
|
|
|
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
|
|
|
|
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
|
|
|
|
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
|
|
|
|
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
|
|
|
|
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
|
|
|
|
autocmd FileType python set omnifunc=pythoncomplete#Complete
|
|
|
|
autocmd FileType python set omnifunc=ale#completion#OmniFunc
|
|
|
|
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
|
|
|
|
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
|
|
|
|
autocmd FileType rust set omnifunc=ale#completion#OmniFunc
|
|
|
|
autocmd FileType rust set omnifunc=ale#completion#OmniFunc
|
|
|
|
endif
|
|
|
|
endif
|
|
|
@ -499,6 +472,20 @@ let g:SuperTabClosePreviewOnPopupClose = 1
|
|
|
|
" \ ]
|
|
|
|
" \ ]
|
|
|
|
" ---------------------------------------------------------------------------}}}
|
|
|
|
" ---------------------------------------------------------------------------}}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" lsp -----------------------------------------------------------------------{{{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" this is not portable at all and I hate it and dunno how to fix it yet
|
|
|
|
|
|
|
|
" call LspAddServer([#{name: 'pyright',
|
|
|
|
|
|
|
|
" \ filetype: 'python',
|
|
|
|
|
|
|
|
" \ path: '/Users/jordan.orelli/.nix-profile/bin/pyright-langserver',
|
|
|
|
|
|
|
|
" \ args: ['--stdio'],
|
|
|
|
|
|
|
|
" \ workspaceConfig: #{
|
|
|
|
|
|
|
|
" \ python: #{
|
|
|
|
|
|
|
|
" \ pythonPath: '/usr/local/bin/python3'
|
|
|
|
|
|
|
|
" \ }}
|
|
|
|
|
|
|
|
" \ }])
|
|
|
|
|
|
|
|
" ---------------------------------------------------------------------------}}}
|
|
|
|
|
|
|
|
|
|
|
|
" ALE -----------------------------------------------------------------------{{{
|
|
|
|
" ALE -----------------------------------------------------------------------{{{
|
|
|
|
if !has('nvim')
|
|
|
|
if !has('nvim')
|
|
|
|
let g:ale_linters = {'rust': ['analyzer']}
|
|
|
|
let g:ale_linters = {'rust': ['analyzer']}
|
|
|
|