and tags like the block tags they are
let g:html_indent_tags = 'li\|p'
+" Set tags for vim-fugitive
+set tags^=.git/tags
+
" Open new split panes to right and bottom, which feels more natural
set splitbelow
set splitright
@@ -134,11 +158,12 @@ nnoremap k
nnoremap h
nnoremap l
-" configure syntastic syntax checking to check on open as well as save
-let g:syntastic_check_on_open=1
-let g:syntastic_html_tidy_ignore_errors=[" proprietary attribute \"ng-"]
-let g:syntastic_eruby_ruby_quiet_messages =
- \ {"regex": "possibly useless use of a variable in void context"}
+" Move between linting errors
+nnoremap ]r :ALENextWrap
+nnoremap [r :ALEPreviousWrap
+
+" Map Ctrl + p to open fuzzy find (FZF)
+nnoremap :Files
" Set spellfile to location that is guaranteed to exist, can be symlinked to
" Dropbox or kept in Git and managed outside of thoughtbot/dotfiles using rcm.
@@ -149,3 +174,8 @@ set complete+=kspell
" Always use vertical diffs
set diffopt+=vertical
+
+" Local config
+if filereadable($HOME . "/.vimrc.local")
+ source ~/.vimrc.local
+endif
diff --git a/vimrc.bundles b/vimrc.bundles
index 0de5cd4..633a44f 100644
--- a/vimrc.bundles
+++ b/vimrc.bundles
@@ -10,38 +10,27 @@ function! s:UnPlug(plug_name)
endfunction
command! -nargs=1 UnPlug call s:UnPlug()
-" Shim command and function to allow migration from Vundle to vim-plug.
-function! VundleToPlug(vundle_command, arg, ...)
- echom "You are using Vundle's `".a:vundle_command."` command to declare plugins. Dotfiles now uses vim-plug for plugin management. Please rename uses of `".a:vundle_command."` to `Plug`. Plugin was '".a:arg."'."
- let vim_plug_options = {}
-
- if a:0 > 0
- if has_key(a:1, 'name')
- let name = a:1.name
- let vim_plug_options.dir = "$HOME/.vim/bundle/".a:1.name
- endif
-
- if has_key(a:1, 'rtp')
- let vim_plug_options.rtp = a:1.rtp
- endif
- endif
-
- Plug a:arg, vim_plug_options
-endfunction
-
-com! -nargs=+ -bar Plugin call VundleToPlug("Plugin", )
-com! -nargs=+ -bar Bundle call VundleToPlug("Bundle", )
+let g:has_async = v:version >= 800 || has('nvim')
call plug#begin('~/.vim/bundle')
" Define bundles via Github repos
Plug 'christoomey/vim-run-interactive'
-Plug 'ctrlpvim/ctrlp.vim'
+
+" If fzf has already been installed via Homebrew, use the existing fzf
+" Otherwise, install fzf. The `--all` flag makes fzf accessible outside of vim
+if isdirectory("/usr/local/opt/fzf")
+ Plug '/usr/local/opt/fzf'
+else
+ Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
+endif
+
+Plug 'junegunn/fzf.vim'
Plug 'elixir-lang/vim-elixir'
Plug 'fatih/vim-go'
Plug 'janko-m/vim-test'
+Plug 'pangloss/vim-javascript'
Plug 'pbrisbin/vim-mkdir'
-Plug 'scrooloose/syntastic'
Plug 'slim-template/vim-slim'
Plug 'tpope/vim-bundler'
Plug 'tpope/vim-endwise'
@@ -56,4 +45,12 @@ Plug 'tpope/vim-surround'
Plug 'vim-ruby/vim-ruby'
Plug 'vim-scripts/tComment'
+if g:has_async
+ Plug 'dense-analysis/ale'
+endif
+
+if filereadable(expand("~/.vimrc.bundles.local"))
+ source ~/.vimrc.bundles.local
+endif
+
call plug#end()
diff --git a/vscode.settings.json b/vscode.settings.json
index e7c3df0..7b85ec3 100644
--- a/vscode.settings.json
+++ b/vscode.settings.json
@@ -48,5 +48,9 @@
"gitlens.views.search.location": "scm",
"editor.cursorStyle": "block",
"editor.cursorBlinking": "solid",
- "editor.renderWhitespace": "all"
+ "editor.renderWhitespace": "all",
+ "[typescript]": {
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
+ },
+ "editor.multiCursorModifier": "ctrlCmd"
}
diff --git a/zsh/configs/poetry b/zsh/configs/poetry
new file mode 100644
index 0000000..bfda5e4
--- /dev/null
+++ b/zsh/configs/poetry
@@ -0,0 +1 @@
+export PATH="$HOME/.poetry/bin:$PATH"