Accumulated tiny changes
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
/Users/andrewminer/src/kitping/.tmux-suite.yml
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/Users/andrewminer/src/kitping/.tmux-term.yml
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# /Users/andrewminer/.config/tmuxinator/kitping.yml
|
|
||||||
|
|
||||||
name: kitping
|
|
||||||
root: ~/src/kitping
|
|
||||||
|
|
||||||
pre_window: export KITPING_ENV=development; nvm use
|
|
||||||
startup_window: terminal
|
|
||||||
|
|
||||||
windows:
|
|
||||||
- terminal:
|
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
name: kitping-term
|
||||||
|
root: ~/src/kitping
|
||||||
|
|
||||||
|
pre_window: export KITPING_ENV=development; nvm use
|
||||||
|
startup_window: terminal
|
||||||
|
|
||||||
|
windows:
|
||||||
|
- terminal:
|
||||||
|
layout: 7def,157x80,0,0[157x70,0,0,0,157x9,0,71,1]
|
||||||
|
panes:
|
||||||
|
-
|
||||||
|
- npm run todo:watch
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# /Users/andrewminer/.config/tmuxinator/sulphurette.yml
|
|
||||||
|
|
||||||
name: sulphurette
|
|
||||||
root: /src/sulphurette
|
|
||||||
|
|
||||||
windows:
|
|
||||||
- main:
|
|
||||||
layout: 7def,157x80,0,0[157x70,0,0,0,157x9,0,71,1]
|
|
||||||
panes:
|
|
||||||
- vim
|
|
||||||
- ./build.py server --site sulphurette.com
|
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
/Users/andrewminer/src/sulphurette/.tmuxinator.yml
|
||||||
+9
-2
@@ -14,6 +14,9 @@ alias mux='tmuxinator'
|
|||||||
# Machine-Specific Configuration
|
# Machine-Specific Configuration
|
||||||
[[ -e "$HOME/.profile.local" ]] && source $HOME/.profile.local
|
[[ -e "$HOME/.profile.local" ]] && source $HOME/.profile.local
|
||||||
|
|
||||||
|
# Brew Config
|
||||||
|
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||||
|
|
||||||
# Git Config
|
# Git Config
|
||||||
source ~/bin/git-completion.sh
|
source ~/bin/git-completion.sh
|
||||||
|
|
||||||
@@ -38,7 +41,11 @@ export PATH="$PYENV_ROOT/bin:$PATH"
|
|||||||
eval "$(pyenv init --path)"
|
eval "$(pyenv init --path)"
|
||||||
eval "$(pyenv init -)"
|
eval "$(pyenv init -)"
|
||||||
export PYTHONSTARTUP="$(python -m jedi repl)"
|
export PYTHONSTARTUP="$(python -m jedi repl)"
|
||||||
|
export PYTHONPYCACHEPREFIX=$HOME/.pycache/
|
||||||
|
|
||||||
# Ruby Config
|
# Ruby Config
|
||||||
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
|
#[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
|
||||||
export PATH=$PATH:$HOME/.rvm/bin
|
#export PATH=$PATH:$HOME/.rvm/bin
|
||||||
|
#source /usr/local/opt/chruby/share/chruby/chruby.sh
|
||||||
|
#source /usr/local/opt/chruby/share/chruby/auto.sh
|
||||||
|
#chruby ruby-3.1.3
|
||||||
|
|||||||
+186
-113
@@ -1,67 +1,36 @@
|
|||||||
" vim-plug: Vim plugin manager
|
" vim-plug: Vim plugin manager
|
||||||
" ============================
|
" ============================
|
||||||
"
|
"
|
||||||
" Download plug.vim and put it in ~/.vim/autoload
|
" 1. Download plug.vim and put it in 'autoload' directory
|
||||||
"
|
"
|
||||||
|
" # Vim
|
||||||
" curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
|
" curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
|
||||||
" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||||
"
|
"
|
||||||
" Edit your .vimrc
|
" # Neovim
|
||||||
|
" sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
|
||||||
|
" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
|
||||||
"
|
"
|
||||||
" call plug#begin('~/.vim/plugged')
|
" 2. Add a vim-plug section to your ~/.vimrc (or ~/.config/nvim/init.vim for Neovim)
|
||||||
"
|
"
|
||||||
" " Make sure you use single quotes
|
" call plug#begin()
|
||||||
"
|
"
|
||||||
" " Shorthand notation; fetches https://github.com/junegunn/vim-easy-align
|
" " List your plugins here
|
||||||
" Plug 'junegunn/vim-easy-align'
|
" Plug 'tpope/vim-sensible'
|
||||||
"
|
"
|
||||||
" " Any valid git URL is allowed
|
|
||||||
" Plug 'https://github.com/junegunn/vim-github-dashboard.git'
|
|
||||||
"
|
|
||||||
" " Multiple Plug commands can be written in a single line using | separators
|
|
||||||
" Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
|
|
||||||
"
|
|
||||||
" " On-demand loading
|
|
||||||
" Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
|
|
||||||
" Plug 'tpope/vim-fireplace', { 'for': 'clojure' }
|
|
||||||
"
|
|
||||||
" " Using a non-default branch
|
|
||||||
" Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' }
|
|
||||||
"
|
|
||||||
" " Using a tagged release; wildcard allowed (requires git 1.9.2 or above)
|
|
||||||
" Plug 'fatih/vim-go', { 'tag': '*' }
|
|
||||||
"
|
|
||||||
" " Plugin options
|
|
||||||
" Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' }
|
|
||||||
"
|
|
||||||
" " Plugin outside ~/.vim/plugged with post-update hook
|
|
||||||
" Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
|
|
||||||
"
|
|
||||||
" " Unmanaged plugin (manually installed and updated)
|
|
||||||
" Plug '~/my-prototype-plugin'
|
|
||||||
"
|
|
||||||
" " Initialize plugin system
|
|
||||||
" call plug#end()
|
" call plug#end()
|
||||||
"
|
"
|
||||||
" Then reload .vimrc and :PlugInstall to install plugins.
|
" 3. Reload the file or restart Vim, then you can,
|
||||||
"
|
"
|
||||||
" Plug options:
|
" :PlugInstall to install plugins
|
||||||
|
" :PlugUpdate to update plugins
|
||||||
|
" :PlugDiff to review the changes from the last update
|
||||||
|
" :PlugClean to remove plugins no longer in the list
|
||||||
"
|
"
|
||||||
"| Option | Description |
|
" For more information, see https://github.com/junegunn/vim-plug
|
||||||
"| ----------------------- | ------------------------------------------------ |
|
|
||||||
"| `branch`/`tag`/`commit` | Branch/tag/commit of the repository to use |
|
|
||||||
"| `rtp` | Subdirectory that contains Vim plugin |
|
|
||||||
"| `dir` | Custom directory for the plugin |
|
|
||||||
"| `as` | Use different name for the plugin |
|
|
||||||
"| `do` | Post-update hook (string or funcref) |
|
|
||||||
"| `on` | On-demand loading: Commands or `<Plug>`-mappings |
|
|
||||||
"| `for` | On-demand loading: File types |
|
|
||||||
"| `frozen` | Do not update unless explicitly specified |
|
|
||||||
"
|
|
||||||
" More information: https://github.com/junegunn/vim-plug
|
|
||||||
"
|
"
|
||||||
"
|
"
|
||||||
" Copyright (c) 2017 Junegunn Choi
|
" Copyright (c) 2024 Junegunn Choi
|
||||||
"
|
"
|
||||||
" MIT License
|
" MIT License
|
||||||
"
|
"
|
||||||
@@ -238,7 +207,6 @@ endfunction
|
|||||||
|
|
||||||
function! plug#begin(...)
|
function! plug#begin(...)
|
||||||
if a:0 > 0
|
if a:0 > 0
|
||||||
let s:plug_home_org = a:1
|
|
||||||
let home = s:path(s:plug_fnamemodify(s:plug_expand(a:1), ':p'))
|
let home = s:path(s:plug_fnamemodify(s:plug_expand(a:1), ':p'))
|
||||||
elseif exists('g:plug_home')
|
elseif exists('g:plug_home')
|
||||||
let home = s:path(g:plug_home)
|
let home = s:path(g:plug_home)
|
||||||
@@ -352,7 +320,7 @@ function! plug#end()
|
|||||||
endif
|
endif
|
||||||
let lod = { 'ft': {}, 'map': {}, 'cmd': {} }
|
let lod = { 'ft': {}, 'map': {}, 'cmd': {} }
|
||||||
|
|
||||||
if exists('g:did_load_filetypes')
|
if get(g:, 'did_load_filetypes', 0)
|
||||||
filetype off
|
filetype off
|
||||||
endif
|
endif
|
||||||
for name in g:plugs_order
|
for name in g:plugs_order
|
||||||
@@ -391,6 +359,9 @@ function! plug#end()
|
|||||||
if !empty(types)
|
if !empty(types)
|
||||||
augroup filetypedetect
|
augroup filetypedetect
|
||||||
call s:source(s:rtp(plug), 'ftdetect/**/*.vim', 'after/ftdetect/**/*.vim')
|
call s:source(s:rtp(plug), 'ftdetect/**/*.vim', 'after/ftdetect/**/*.vim')
|
||||||
|
if has('nvim-0.5.0')
|
||||||
|
call s:source(s:rtp(plug), 'ftdetect/**/*.lua', 'after/ftdetect/**/*.lua')
|
||||||
|
endif
|
||||||
augroup END
|
augroup END
|
||||||
endif
|
endif
|
||||||
for type in types
|
for type in types
|
||||||
@@ -401,8 +372,10 @@ function! plug#end()
|
|||||||
|
|
||||||
for [cmd, names] in items(lod.cmd)
|
for [cmd, names] in items(lod.cmd)
|
||||||
execute printf(
|
execute printf(
|
||||||
\ 'command! -nargs=* -range -bang -complete=file %s call s:lod_cmd(%s, "<bang>", <line1>, <line2>, <q-args>, %s)',
|
\ has('patch-7.4.1898')
|
||||||
\ cmd, string(cmd), string(names))
|
\ ? 'command! -nargs=* -range -bang -complete=file %s call s:lod_cmd(%s, "<bang>", <line1>, <line2>, <q-args>, <q-mods> ,%s)'
|
||||||
|
\ : 'command! -nargs=* -range -bang -complete=file %s call s:lod_cmd(%s, "<bang>", <line1>, <line2>, <q-args>, %s)'
|
||||||
|
\ , cmd, string(cmd), string(names))
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
for [map, names] in items(lod.map)
|
for [map, names] in items(lod.map)
|
||||||
@@ -438,6 +411,9 @@ endfunction
|
|||||||
|
|
||||||
function! s:load_plugin(spec)
|
function! s:load_plugin(spec)
|
||||||
call s:source(s:rtp(a:spec), 'plugin/**/*.vim', 'after/plugin/**/*.vim')
|
call s:source(s:rtp(a:spec), 'plugin/**/*.vim', 'after/plugin/**/*.vim')
|
||||||
|
if has('nvim-0.5.0')
|
||||||
|
call s:source(s:rtp(a:spec), 'plugin/**/*.lua', 'after/plugin/**/*.lua')
|
||||||
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:reload_plugins()
|
function! s:reload_plugins()
|
||||||
@@ -655,6 +631,9 @@ function! s:lod(names, types, ...)
|
|||||||
let rtp = s:rtp(g:plugs[name])
|
let rtp = s:rtp(g:plugs[name])
|
||||||
for dir in a:types
|
for dir in a:types
|
||||||
call s:source(rtp, dir.'/**/*.vim')
|
call s:source(rtp, dir.'/**/*.vim')
|
||||||
|
if has('nvim-0.5.0') " see neovim#14686
|
||||||
|
call s:source(rtp, dir.'/**/*.lua')
|
||||||
|
endif
|
||||||
endfor
|
endfor
|
||||||
if a:0
|
if a:0
|
||||||
if !s:source(rtp, a:1) && !empty(s:glob(rtp, a:2))
|
if !s:source(rtp, a:1) && !empty(s:glob(rtp, a:2))
|
||||||
@@ -674,11 +653,19 @@ function! s:lod_ft(pat, names)
|
|||||||
call s:doautocmd('filetypeindent', 'FileType')
|
call s:doautocmd('filetypeindent', 'FileType')
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:lod_cmd(cmd, bang, l1, l2, args, names)
|
if has('patch-7.4.1898')
|
||||||
call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin'])
|
function! s:lod_cmd(cmd, bang, l1, l2, args, mods, names)
|
||||||
call s:dobufread(a:names)
|
call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin'])
|
||||||
execute printf('%s%s%s %s', (a:l1 == a:l2 ? '' : (a:l1.','.a:l2)), a:cmd, a:bang, a:args)
|
call s:dobufread(a:names)
|
||||||
endfunction
|
execute printf('%s %s%s%s %s', a:mods, (a:l1 == a:l2 ? '' : (a:l1.','.a:l2)), a:cmd, a:bang, a:args)
|
||||||
|
endfunction
|
||||||
|
else
|
||||||
|
function! s:lod_cmd(cmd, bang, l1, l2, args, names)
|
||||||
|
call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin'])
|
||||||
|
call s:dobufread(a:names)
|
||||||
|
execute printf('%s%s%s %s', (a:l1 == a:l2 ? '' : (a:l1.','.a:l2)), a:cmd, a:bang, a:args)
|
||||||
|
endfunction
|
||||||
|
endif
|
||||||
|
|
||||||
function! s:lod_map(map, names, with_prefix, prefix)
|
function! s:lod_map(map, names, with_prefix, prefix)
|
||||||
call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin'])
|
call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin'])
|
||||||
@@ -806,10 +793,11 @@ endfunction
|
|||||||
function! s:syntax()
|
function! s:syntax()
|
||||||
syntax clear
|
syntax clear
|
||||||
syntax region plug1 start=/\%1l/ end=/\%2l/ contains=plugNumber
|
syntax region plug1 start=/\%1l/ end=/\%2l/ contains=plugNumber
|
||||||
syntax region plug2 start=/\%2l/ end=/\%3l/ contains=plugBracket,plugX
|
syntax region plug2 start=/\%2l/ end=/\%3l/ contains=plugBracket,plugX,plugAbort
|
||||||
syn match plugNumber /[0-9]\+[0-9.]*/ contained
|
syn match plugNumber /[0-9]\+[0-9.]*/ contained
|
||||||
syn match plugBracket /[[\]]/ contained
|
syn match plugBracket /[[\]]/ contained
|
||||||
syn match plugX /x/ contained
|
syn match plugX /x/ contained
|
||||||
|
syn match plugAbort /\~/ contained
|
||||||
syn match plugDash /^-\{1}\ /
|
syn match plugDash /^-\{1}\ /
|
||||||
syn match plugPlus /^+/
|
syn match plugPlus /^+/
|
||||||
syn match plugStar /^*/
|
syn match plugStar /^*/
|
||||||
@@ -834,6 +822,7 @@ function! s:syntax()
|
|||||||
hi def link plug2 Repeat
|
hi def link plug2 Repeat
|
||||||
hi def link plugH2 Type
|
hi def link plugH2 Type
|
||||||
hi def link plugX Exception
|
hi def link plugX Exception
|
||||||
|
hi def link plugAbort Ignore
|
||||||
hi def link plugBracket Structure
|
hi def link plugBracket Structure
|
||||||
hi def link plugNumber Number
|
hi def link plugNumber Number
|
||||||
|
|
||||||
@@ -869,7 +858,7 @@ function! s:lastline(msg)
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:new_window()
|
function! s:new_window()
|
||||||
execute get(g:, 'plug_window', 'vertical topleft new')
|
execute get(g:, 'plug_window', '-tabnew')
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:plug_window_exists()
|
function! s:plug_window_exists()
|
||||||
@@ -931,7 +920,7 @@ function! s:prepare(...)
|
|||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
call s:job_abort()
|
call s:job_abort(0)
|
||||||
if s:switch_in()
|
if s:switch_in()
|
||||||
if b:plug_preview == 1
|
if b:plug_preview == 1
|
||||||
pc
|
pc
|
||||||
@@ -967,6 +956,8 @@ function! s:close_pane()
|
|||||||
if b:plug_preview == 1
|
if b:plug_preview == 1
|
||||||
pc
|
pc
|
||||||
let b:plug_preview = -1
|
let b:plug_preview = -1
|
||||||
|
elseif exists('s:jobs') && !empty(s:jobs)
|
||||||
|
call s:job_abort(1)
|
||||||
else
|
else
|
||||||
bd
|
bd
|
||||||
endif
|
endif
|
||||||
@@ -1031,6 +1022,11 @@ function! s:is_updated(dir)
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:do(pull, force, todo)
|
function! s:do(pull, force, todo)
|
||||||
|
if has('nvim')
|
||||||
|
" Reset &rtp to invalidate Neovim cache of loaded Lua modules
|
||||||
|
" See https://github.com/junegunn/vim-plug/pull/1157#issuecomment-1809226110
|
||||||
|
let &rtp = &rtp
|
||||||
|
endif
|
||||||
for [name, spec] in items(a:todo)
|
for [name, spec] in items(a:todo)
|
||||||
if !isdirectory(spec.dir)
|
if !isdirectory(spec.dir)
|
||||||
continue
|
continue
|
||||||
@@ -1089,15 +1085,21 @@ function! s:hash_match(a, b)
|
|||||||
return stridx(a:a, a:b) == 0 || stridx(a:b, a:a) == 0
|
return stridx(a:a, a:b) == 0 || stridx(a:b, a:a) == 0
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! s:disable_credential_helper()
|
||||||
|
return s:git_version_requirement(2) && get(g:, 'plug_disable_credential_helper', 1)
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! s:checkout(spec)
|
function! s:checkout(spec)
|
||||||
let sha = a:spec.commit
|
let sha = a:spec.commit
|
||||||
let output = s:git_revision(a:spec.dir)
|
let output = s:git_revision(a:spec.dir)
|
||||||
|
let error = 0
|
||||||
if !empty(output) && !s:hash_match(sha, s:lines(output)[0])
|
if !empty(output) && !s:hash_match(sha, s:lines(output)[0])
|
||||||
let credential_helper = s:git_version_requirement(2) ? '-c credential.helper= ' : ''
|
let credential_helper = s:disable_credential_helper() ? '-c credential.helper= ' : ''
|
||||||
let output = s:system(
|
let output = s:system(
|
||||||
\ 'git '.credential_helper.'fetch --depth 999999 && git checkout '.plug#shellescape(sha).' --', a:spec.dir)
|
\ 'git '.credential_helper.'fetch --depth 999999 && git checkout '.plug#shellescape(sha).' --', a:spec.dir)
|
||||||
|
let error = v:shell_error
|
||||||
endif
|
endif
|
||||||
return output
|
return [output, error]
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:finish(pull)
|
function! s:finish(pull)
|
||||||
@@ -1158,7 +1160,7 @@ function! s:update_impl(pull, force, args) abort
|
|||||||
let threads = (len(args) > 0 && args[-1] =~ '^[1-9][0-9]*$') ?
|
let threads = (len(args) > 0 && args[-1] =~ '^[1-9][0-9]*$') ?
|
||||||
\ remove(args, -1) : get(g:, 'plug_threads', 16)
|
\ remove(args, -1) : get(g:, 'plug_threads', 16)
|
||||||
|
|
||||||
let managed = filter(copy(g:plugs), 's:is_managed(v:key)')
|
let managed = filter(deepcopy(g:plugs), 's:is_managed(v:key)')
|
||||||
let todo = empty(args) ? filter(managed, '!v:val.frozen || !isdirectory(v:val.dir)') :
|
let todo = empty(args) ? filter(managed, '!v:val.frozen || !isdirectory(v:val.dir)') :
|
||||||
\ filter(managed, 'index(args, v:key) >= 0')
|
\ filter(managed, 'index(args, v:key) >= 0')
|
||||||
|
|
||||||
@@ -1292,9 +1294,11 @@ function! s:update_finish()
|
|||||||
if !pos
|
if !pos
|
||||||
continue
|
continue
|
||||||
endif
|
endif
|
||||||
|
let out = ''
|
||||||
|
let error = 0
|
||||||
if has_key(spec, 'commit')
|
if has_key(spec, 'commit')
|
||||||
call s:log4(name, 'Checking out '.spec.commit)
|
call s:log4(name, 'Checking out '.spec.commit)
|
||||||
let out = s:checkout(spec)
|
let [out, error] = s:checkout(spec)
|
||||||
elseif has_key(spec, 'tag')
|
elseif has_key(spec, 'tag')
|
||||||
let tag = spec.tag
|
let tag = spec.tag
|
||||||
if tag =~ '\*'
|
if tag =~ '\*'
|
||||||
@@ -1307,19 +1311,16 @@ function! s:update_finish()
|
|||||||
endif
|
endif
|
||||||
call s:log4(name, 'Checking out '.tag)
|
call s:log4(name, 'Checking out '.tag)
|
||||||
let out = s:system('git checkout -q '.plug#shellescape(tag).' -- 2>&1', spec.dir)
|
let out = s:system('git checkout -q '.plug#shellescape(tag).' -- 2>&1', spec.dir)
|
||||||
else
|
let error = v:shell_error
|
||||||
let branch = s:git_origin_branch(spec)
|
|
||||||
call s:log4(name, 'Merging origin/'.s:esc(branch))
|
|
||||||
let out = s:system('git checkout -q '.plug#shellescape(branch).' -- 2>&1'
|
|
||||||
\. (has_key(s:update.new, name) ? '' : ('&& git merge --ff-only '.plug#shellescape('origin/'.branch).' 2>&1')), spec.dir)
|
|
||||||
endif
|
endif
|
||||||
if !v:shell_error && filereadable(spec.dir.'/.gitmodules') &&
|
if !error && filereadable(spec.dir.'/.gitmodules') &&
|
||||||
\ (s:update.force || has_key(s:update.new, name) || s:is_updated(spec.dir))
|
\ (s:update.force || has_key(s:update.new, name) || s:is_updated(spec.dir))
|
||||||
call s:log4(name, 'Updating submodules. This may take a while.')
|
call s:log4(name, 'Updating submodules. This may take a while.')
|
||||||
let out .= s:bang('git submodule update --init --recursive'.s:submodule_opt.' 2>&1', spec.dir)
|
let out .= s:bang('git submodule update --init --recursive'.s:submodule_opt.' 2>&1', spec.dir)
|
||||||
|
let error = v:shell_error
|
||||||
endif
|
endif
|
||||||
let msg = s:format_message(v:shell_error ? 'x': '-', name, out)
|
let msg = s:format_message(v:shell_error ? 'x': '-', name, out)
|
||||||
if v:shell_error
|
if error
|
||||||
call add(s:update.errors, name)
|
call add(s:update.errors, name)
|
||||||
call s:regress_bar()
|
call s:regress_bar()
|
||||||
silent execute pos 'd _'
|
silent execute pos 'd _'
|
||||||
@@ -1343,7 +1344,12 @@ function! s:update_finish()
|
|||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:job_abort()
|
function! s:mark_aborted(name, message)
|
||||||
|
let attrs = { 'running': 0, 'error': 1, 'abort': 1, 'lines': [a:message] }
|
||||||
|
let s:jobs[a:name] = extend(get(s:jobs, a:name, {}), attrs)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:job_abort(cancel)
|
||||||
if (!s:nvim && !s:vim8) || !exists('s:jobs')
|
if (!s:nvim && !s:vim8) || !exists('s:jobs')
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
@@ -1357,8 +1363,18 @@ function! s:job_abort()
|
|||||||
if j.new
|
if j.new
|
||||||
call s:rm_rf(g:plugs[name].dir)
|
call s:rm_rf(g:plugs[name].dir)
|
||||||
endif
|
endif
|
||||||
|
if a:cancel
|
||||||
|
call s:mark_aborted(name, 'Aborted')
|
||||||
|
endif
|
||||||
endfor
|
endfor
|
||||||
let s:jobs = {}
|
|
||||||
|
if a:cancel
|
||||||
|
for todo in values(s:update.todo)
|
||||||
|
let todo.abort = 1
|
||||||
|
endfor
|
||||||
|
else
|
||||||
|
let s:jobs = {}
|
||||||
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:last_non_empty_line(lines)
|
function! s:last_non_empty_line(lines)
|
||||||
@@ -1372,6 +1388,16 @@ function! s:last_non_empty_line(lines)
|
|||||||
return ''
|
return ''
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! s:bullet_for(job, ...)
|
||||||
|
if a:job.running
|
||||||
|
return a:job.new ? '+' : '*'
|
||||||
|
endif
|
||||||
|
if get(a:job, 'abort', 0)
|
||||||
|
return '~'
|
||||||
|
endif
|
||||||
|
return a:job.error ? 'x' : get(a:000, 0, '-')
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! s:job_out_cb(self, data) abort
|
function! s:job_out_cb(self, data) abort
|
||||||
let self = a:self
|
let self = a:self
|
||||||
let data = remove(self.lines, -1) . a:data
|
let data = remove(self.lines, -1) . a:data
|
||||||
@@ -1380,9 +1406,10 @@ function! s:job_out_cb(self, data) abort
|
|||||||
" To reduce the number of buffer updates
|
" To reduce the number of buffer updates
|
||||||
let self.tick = get(self, 'tick', -1) + 1
|
let self.tick = get(self, 'tick', -1) + 1
|
||||||
if !self.running || self.tick % len(s:jobs) == 0
|
if !self.running || self.tick % len(s:jobs) == 0
|
||||||
let bullet = self.running ? (self.new ? '+' : '*') : (self.error ? 'x' : '-')
|
|
||||||
let result = self.error ? join(self.lines, "\n") : s:last_non_empty_line(self.lines)
|
let result = self.error ? join(self.lines, "\n") : s:last_non_empty_line(self.lines)
|
||||||
call s:log(bullet, self.name, result)
|
if len(result)
|
||||||
|
call s:log(s:bullet_for(self), self.name, result)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
@@ -1395,7 +1422,7 @@ endfunction
|
|||||||
|
|
||||||
function! s:job_cb(fn, job, ch, data)
|
function! s:job_cb(fn, job, ch, data)
|
||||||
if !s:plug_window_exists() " plug window closed
|
if !s:plug_window_exists() " plug window closed
|
||||||
return s:job_abort()
|
return s:job_abort(0)
|
||||||
endif
|
endif
|
||||||
call call(a:fn, [a:job, a:data])
|
call call(a:fn, [a:job, a:data])
|
||||||
endfunction
|
endfunction
|
||||||
@@ -1406,16 +1433,17 @@ function! s:nvim_cb(job_id, data, event) dict abort
|
|||||||
\ s:job_cb('s:job_exit_cb', self, 0, a:data)
|
\ s:job_cb('s:job_exit_cb', self, 0, a:data)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:spawn(name, cmd, opts)
|
function! s:spawn(name, spec, queue, opts)
|
||||||
let job = { 'name': a:name, 'running': 1, 'error': 0, 'lines': [''],
|
let job = { 'name': a:name, 'spec': a:spec, 'running': 1, 'error': 0, 'lines': [''],
|
||||||
\ 'new': get(a:opts, 'new', 0) }
|
\ 'new': get(a:opts, 'new', 0), 'queue': copy(a:queue) }
|
||||||
|
let Item = remove(job.queue, 0)
|
||||||
|
let argv = type(Item) == s:TYPE.funcref ? call(Item, [a:spec]) : Item
|
||||||
let s:jobs[a:name] = job
|
let s:jobs[a:name] = job
|
||||||
|
|
||||||
if s:nvim
|
if s:nvim
|
||||||
if has_key(a:opts, 'dir')
|
if has_key(a:opts, 'dir')
|
||||||
let job.cwd = a:opts.dir
|
let job.cwd = a:opts.dir
|
||||||
endif
|
endif
|
||||||
let argv = a:cmd
|
|
||||||
call extend(job, {
|
call extend(job, {
|
||||||
\ 'on_stdout': function('s:nvim_cb'),
|
\ 'on_stdout': function('s:nvim_cb'),
|
||||||
\ 'on_stderr': function('s:nvim_cb'),
|
\ 'on_stderr': function('s:nvim_cb'),
|
||||||
@@ -1431,7 +1459,7 @@ function! s:spawn(name, cmd, opts)
|
|||||||
\ 'Invalid arguments (or job table is full)']
|
\ 'Invalid arguments (or job table is full)']
|
||||||
endif
|
endif
|
||||||
elseif s:vim8
|
elseif s:vim8
|
||||||
let cmd = join(map(copy(a:cmd), 'plug#shellescape(v:val, {"script": 0})'))
|
let cmd = join(map(copy(argv), 'plug#shellescape(v:val, {"script": 0})'))
|
||||||
if has_key(a:opts, 'dir')
|
if has_key(a:opts, 'dir')
|
||||||
let cmd = s:with_cd(cmd, a:opts.dir, 0)
|
let cmd = s:with_cd(cmd, a:opts.dir, 0)
|
||||||
endif
|
endif
|
||||||
@@ -1451,27 +1479,33 @@ function! s:spawn(name, cmd, opts)
|
|||||||
let job.lines = ['Failed to start job']
|
let job.lines = ['Failed to start job']
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
let job.lines = s:lines(call('s:system', has_key(a:opts, 'dir') ? [a:cmd, a:opts.dir] : [a:cmd]))
|
let job.lines = s:lines(call('s:system', has_key(a:opts, 'dir') ? [argv, a:opts.dir] : [argv]))
|
||||||
let job.error = v:shell_error != 0
|
let job.error = v:shell_error != 0
|
||||||
let job.running = 0
|
let job.running = 0
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:reap(name)
|
function! s:reap(name)
|
||||||
let job = s:jobs[a:name]
|
let job = remove(s:jobs, a:name)
|
||||||
if job.error
|
if job.error
|
||||||
call add(s:update.errors, a:name)
|
call add(s:update.errors, a:name)
|
||||||
elseif get(job, 'new', 0)
|
elseif get(job, 'new', 0)
|
||||||
let s:update.new[a:name] = 1
|
let s:update.new[a:name] = 1
|
||||||
endif
|
endif
|
||||||
let s:update.bar .= job.error ? 'x' : '='
|
|
||||||
|
|
||||||
let bullet = job.error ? 'x' : '-'
|
let more = len(get(job, 'queue', []))
|
||||||
let result = job.error ? join(job.lines, "\n") : s:last_non_empty_line(job.lines)
|
let result = job.error ? join(job.lines, "\n") : s:last_non_empty_line(job.lines)
|
||||||
call s:log(bullet, a:name, empty(result) ? 'OK' : result)
|
if len(result)
|
||||||
call s:bar()
|
call s:log(s:bullet_for(job), a:name, result)
|
||||||
|
endif
|
||||||
|
|
||||||
call remove(s:jobs, a:name)
|
if !job.error && more
|
||||||
|
let job.spec.queue = job.queue
|
||||||
|
let s:update.todo[a:name] = job.spec
|
||||||
|
else
|
||||||
|
let s:update.bar .= s:bullet_for(job, '=')
|
||||||
|
call s:bar()
|
||||||
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:bar()
|
function! s:bar()
|
||||||
@@ -1524,6 +1558,16 @@ function! s:update_vim()
|
|||||||
call s:tick()
|
call s:tick()
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! s:checkout_command(spec)
|
||||||
|
let a:spec.branch = s:git_origin_branch(a:spec)
|
||||||
|
return ['git', 'checkout', '-q', a:spec.branch, '--']
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:merge_command(spec)
|
||||||
|
let a:spec.branch = s:git_origin_branch(a:spec)
|
||||||
|
return ['git', 'merge', '--ff-only', 'origin/'.a:spec.branch]
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! s:tick()
|
function! s:tick()
|
||||||
let pull = s:update.pull
|
let pull = s:update.pull
|
||||||
let prog = s:progress_opt(s:nvim || s:vim8)
|
let prog = s:progress_opt(s:nvim || s:vim8)
|
||||||
@@ -1538,24 +1582,39 @@ while 1 " Without TCO, Vim stack is bound to explode
|
|||||||
|
|
||||||
let name = keys(s:update.todo)[0]
|
let name = keys(s:update.todo)[0]
|
||||||
let spec = remove(s:update.todo, name)
|
let spec = remove(s:update.todo, name)
|
||||||
let new = empty(globpath(spec.dir, '.git', 1))
|
if get(spec, 'abort', 0)
|
||||||
|
call s:mark_aborted(name, 'Skipped')
|
||||||
|
call s:reap(name)
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
|
||||||
call s:log(new ? '+' : '*', name, pull ? 'Updating ...' : 'Installing ...')
|
let queue = get(spec, 'queue', [])
|
||||||
redraw
|
let new = empty(globpath(spec.dir, '.git', 1))
|
||||||
|
|
||||||
|
if empty(queue)
|
||||||
|
call s:log(new ? '+' : '*', name, pull ? 'Updating ...' : 'Installing ...')
|
||||||
|
redraw
|
||||||
|
endif
|
||||||
|
|
||||||
let has_tag = has_key(spec, 'tag')
|
let has_tag = has_key(spec, 'tag')
|
||||||
if !new
|
if len(queue)
|
||||||
|
call s:spawn(name, spec, queue, { 'dir': spec.dir })
|
||||||
|
elseif !new
|
||||||
let [error, _] = s:git_validate(spec, 0)
|
let [error, _] = s:git_validate(spec, 0)
|
||||||
if empty(error)
|
if empty(error)
|
||||||
if pull
|
if pull
|
||||||
let cmd = s:git_version_requirement(2) ? ['git', '-c', 'credential.helper=', 'fetch'] : ['git', 'fetch']
|
let cmd = s:disable_credential_helper() ? ['git', '-c', 'credential.helper=', 'fetch'] : ['git', 'fetch']
|
||||||
if has_tag && !empty(globpath(spec.dir, '.git/shallow'))
|
if has_tag && !empty(globpath(spec.dir, '.git/shallow'))
|
||||||
call extend(cmd, ['--depth', '99999999'])
|
call extend(cmd, ['--depth', '99999999'])
|
||||||
endif
|
endif
|
||||||
if !empty(prog)
|
if !empty(prog)
|
||||||
call add(cmd, prog)
|
call add(cmd, prog)
|
||||||
endif
|
endif
|
||||||
call s:spawn(name, cmd, { 'dir': spec.dir })
|
let queue = [cmd, split('git remote set-head origin -a')]
|
||||||
|
if !has_tag && !has_key(spec, 'commit')
|
||||||
|
call extend(queue, [function('s:checkout_command'), function('s:merge_command')])
|
||||||
|
endif
|
||||||
|
call s:spawn(name, spec, queue, { 'dir': spec.dir })
|
||||||
else
|
else
|
||||||
let s:jobs[name] = { 'running': 0, 'lines': ['Already installed'], 'error': 0 }
|
let s:jobs[name] = { 'running': 0, 'lines': ['Already installed'], 'error': 0 }
|
||||||
endif
|
endif
|
||||||
@@ -1570,7 +1629,7 @@ while 1 " Without TCO, Vim stack is bound to explode
|
|||||||
if !empty(prog)
|
if !empty(prog)
|
||||||
call add(cmd, prog)
|
call add(cmd, prog)
|
||||||
endif
|
endif
|
||||||
call s:spawn(name, extend(cmd, [spec.uri, s:trim(spec.dir)]), { 'new': 1 })
|
call s:spawn(name, spec, [extend(cmd, [spec.uri, s:trim(spec.dir)]), function('s:checkout_command'), function('s:merge_command')], { 'new': 1 })
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if !s:jobs[name].running
|
if !s:jobs[name].running
|
||||||
@@ -2269,7 +2328,10 @@ endfunction
|
|||||||
|
|
||||||
function! s:with_cd(cmd, dir, ...)
|
function! s:with_cd(cmd, dir, ...)
|
||||||
let script = a:0 > 0 ? a:1 : 1
|
let script = a:0 > 0 ? a:1 : 1
|
||||||
return printf('cd%s %s && %s', s:is_win ? ' /d' : '', plug#shellescape(a:dir, {'script': script}), a:cmd)
|
let pwsh = s:is_powershell(&shell)
|
||||||
|
let cd = s:is_win && !pwsh ? 'cd /d' : 'cd'
|
||||||
|
let sep = pwsh ? ';' : '&&'
|
||||||
|
return printf('%s %s %s %s', cd, plug#shellescape(a:dir, {'script': script, 'shell': &shell}), sep, a:cmd)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:system(cmd, ...)
|
function! s:system(cmd, ...)
|
||||||
@@ -2346,18 +2408,21 @@ function! s:git_validate(spec, check_branch)
|
|||||||
\ current_branch, origin_branch)
|
\ current_branch, origin_branch)
|
||||||
endif
|
endif
|
||||||
if empty(err)
|
if empty(err)
|
||||||
let [ahead, behind] = split(s:lastline(s:system([
|
let ahead_behind = split(s:lastline(s:system([
|
||||||
\ 'git', 'rev-list', '--count', '--left-right',
|
\ 'git', 'rev-list', '--count', '--left-right',
|
||||||
\ printf('HEAD...origin/%s', origin_branch)
|
\ printf('HEAD...origin/%s', origin_branch)
|
||||||
\ ], a:spec.dir)), '\t')
|
\ ], a:spec.dir)), '\t')
|
||||||
if !v:shell_error && ahead
|
if v:shell_error || len(ahead_behind) != 2
|
||||||
if behind
|
let err = "Failed to compare with the origin. The default branch might have changed.\nPlugClean required."
|
||||||
|
else
|
||||||
|
let [ahead, behind] = ahead_behind
|
||||||
|
if ahead && behind
|
||||||
" Only mention PlugClean if diverged, otherwise it's likely to be
|
" Only mention PlugClean if diverged, otherwise it's likely to be
|
||||||
" pushable (and probably not that messed up).
|
" pushable (and probably not that messed up).
|
||||||
let err = printf(
|
let err = printf(
|
||||||
\ "Diverged from origin/%s (%d commit(s) ahead and %d commit(s) behind!\n"
|
\ "Diverged from origin/%s (%d commit(s) ahead and %d commit(s) behind!\n"
|
||||||
\ .'Backup local changes and run PlugClean and PlugUpdate to reinstall it.', origin_branch, ahead, behind)
|
\ .'Backup local changes and run PlugClean and PlugUpdate to reinstall it.', origin_branch, ahead, behind)
|
||||||
else
|
elseif ahead
|
||||||
let err = printf("Ahead of origin/%s by %d commit(s).\n"
|
let err = printf("Ahead of origin/%s by %d commit(s).\n"
|
||||||
\ .'Cannot update until local changes are pushed.',
|
\ .'Cannot update until local changes are pushed.',
|
||||||
\ origin_branch, ahead)
|
\ origin_branch, ahead)
|
||||||
@@ -2389,7 +2454,7 @@ function! s:clean(force)
|
|||||||
let errs = {}
|
let errs = {}
|
||||||
let [cnt, total] = [0, len(g:plugs)]
|
let [cnt, total] = [0, len(g:plugs)]
|
||||||
for [name, spec] in items(g:plugs)
|
for [name, spec] in items(g:plugs)
|
||||||
if !s:is_managed(name)
|
if !s:is_managed(name) || get(spec, 'frozen', 0)
|
||||||
call add(dirs, spec.dir)
|
call add(dirs, spec.dir)
|
||||||
else
|
else
|
||||||
let [err, clean] = s:git_validate(spec, 1)
|
let [err, clean] = s:git_validate(spec, 1)
|
||||||
@@ -2621,26 +2686,34 @@ function! s:preview_commit()
|
|||||||
|
|
||||||
let sha = matchstr(getline('.'), '^ \X*\zs[0-9a-f]\{7,9}')
|
let sha = matchstr(getline('.'), '^ \X*\zs[0-9a-f]\{7,9}')
|
||||||
if empty(sha)
|
if empty(sha)
|
||||||
return
|
let name = matchstr(getline('.'), '^- \zs[^:]*\ze:$')
|
||||||
|
if empty(name)
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let title = 'HEAD@{1}..'
|
||||||
|
let command = 'git diff --no-color HEAD@{1}'
|
||||||
|
else
|
||||||
|
let title = sha
|
||||||
|
let command = 'git show --no-color --pretty=medium '.sha
|
||||||
|
let name = s:find_name(line('.'))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let name = s:find_name(line('.'))
|
|
||||||
if empty(name) || !has_key(g:plugs, name) || !isdirectory(g:plugs[name].dir)
|
if empty(name) || !has_key(g:plugs, name) || !isdirectory(g:plugs[name].dir)
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if exists('g:plug_pwindow') && !s:is_preview_window_open()
|
if !s:is_preview_window_open()
|
||||||
execute g:plug_pwindow
|
execute get(g:, 'plug_pwindow', 'vertical rightbelow new')
|
||||||
execute 'e' sha
|
execute 'e' title
|
||||||
else
|
else
|
||||||
execute 'pedit' sha
|
execute 'pedit' title
|
||||||
wincmd P
|
wincmd P
|
||||||
endif
|
endif
|
||||||
setlocal previewwindow filetype=git buftype=nofile nobuflisted modifiable
|
setlocal previewwindow filetype=git buftype=nofile bufhidden=wipe nobuflisted modifiable
|
||||||
let batchfile = ''
|
let batchfile = ''
|
||||||
try
|
try
|
||||||
let [sh, shellcmdflag, shrd] = s:chsh(1)
|
let [sh, shellcmdflag, shrd] = s:chsh(1)
|
||||||
let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && git show --no-color --pretty=medium '.sha
|
let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && '.command
|
||||||
if s:is_win
|
if s:is_win
|
||||||
let [batchfile, cmd] = s:batchfile(cmd)
|
let [batchfile, cmd] = s:batchfile(cmd)
|
||||||
endif
|
endif
|
||||||
@@ -2766,9 +2839,9 @@ function! s:snapshot(force, ...) abort
|
|||||||
1
|
1
|
||||||
let anchor = line('$') - 3
|
let anchor = line('$') - 3
|
||||||
let names = sort(keys(filter(copy(g:plugs),
|
let names = sort(keys(filter(copy(g:plugs),
|
||||||
\'has_key(v:val, "uri") && !has_key(v:val, "commit") && isdirectory(v:val.dir)')))
|
\'has_key(v:val, "uri") && isdirectory(v:val.dir)')))
|
||||||
for name in reverse(names)
|
for name in reverse(names)
|
||||||
let sha = s:git_revision(g:plugs[name].dir)
|
let sha = has_key(g:plugs[name], 'commit') ? g:plugs[name].commit : s:git_revision(g:plugs[name].dir)
|
||||||
if !empty(sha)
|
if !empty(sha)
|
||||||
call append(anchor, printf("silent! let g:plugs['%s'].commit = '%s'", name, sha))
|
call append(anchor, printf("silent! let g:plugs['%s'].commit = '%s'", name, sha))
|
||||||
redraw
|
redraw
|
||||||
|
|||||||
+39
-25
@@ -22,22 +22,22 @@ Plug 'vim-airline/vim-airline'
|
|||||||
Plug 'w0rp/ale'
|
Plug 'w0rp/ale'
|
||||||
|
|
||||||
" Language Support Plugins
|
" Language Support Plugins
|
||||||
Plug 'davidhalter/jedi-vim' " python autocomplete
|
Plug 'davidhalter/jedi-vim' " python
|
||||||
Plug 'digitaltoad/vim-pug' " pug
|
Plug 'digitaltoad/vim-pug' " pug
|
||||||
Plug 'elzr/vim-json' " json
|
Plug 'elzr/vim-json' " json
|
||||||
Plug 'gisraptor/vim-lilypond-integrator' " lilypond
|
Plug 'gisraptor/vim-lilypond-integrator' " lilypond
|
||||||
Plug 'google/yapf' " python
|
Plug 'google/yapf' " python
|
||||||
Plug 'kchmck/vim-coffee-script' " coffeescript
|
Plug 'kchmck/vim-coffee-script' " coffeescript
|
||||||
Plug 'leafgarland/typescript-vim' " typescript
|
Plug 'leafgarland/typescript-vim' " typescript
|
||||||
Plug 'ljfa-ag/minetweaker-highlighting' " zenscript
|
Plug 'ljfa-ag/minetweaker-highlighting' " zenscript
|
||||||
Plug 'maxmellon/vim-jsx-pretty' " jsx
|
Plug 'maxmellon/vim-jsx-pretty' " jsx
|
||||||
Plug 'pangloss/vim-javascript' " javascript
|
Plug 'pangloss/vim-javascript' " javascript
|
||||||
Plug 'plasticboy/vim-markdown' " markdown
|
Plug 'plasticboy/vim-markdown' " markdown
|
||||||
Plug 'posva/vim-vue' " vue
|
Plug 'posva/vim-vue' " vue
|
||||||
Plug 'slim-template/vim-slim' " slim
|
Plug 'slim-template/vim-slim' " slim
|
||||||
Plug 'statianzo/vim-jade' " jade
|
Plug 'statianzo/vim-jade' " jade
|
||||||
Plug 'stephpy/vim-yaml' " yaml
|
Plug 'stephpy/vim-yaml' " yaml
|
||||||
Plug 'vim-scripts/mako.vim' " mako
|
Plug 'vim-scripts/mako.vim' " mako
|
||||||
|
|
||||||
call plug#end()
|
call plug#end()
|
||||||
|
|
||||||
@@ -45,8 +45,6 @@ call plug#end()
|
|||||||
|
|
||||||
set background=dark
|
set background=dark
|
||||||
silent! colorscheme gruvbox
|
silent! colorscheme gruvbox
|
||||||
" abra alduin badwolf Benokai birds-of-paradise black-angus brogrammer bvemu cabin camo chlordane coffee corporation
|
|
||||||
" dark-robin feral golden greens gruvbox kellys liquidcarbon molokai night_vision obsidian solarized zmrok
|
|
||||||
|
|
||||||
filetype plugin indent on
|
filetype plugin indent on
|
||||||
hi ColorColumn ctermbg=8
|
hi ColorColumn ctermbg=8
|
||||||
@@ -63,6 +61,7 @@ set colorcolumn=100
|
|||||||
set cursorline
|
set cursorline
|
||||||
set diffopt=filler,vertical
|
set diffopt=filler,vertical
|
||||||
set expandtab
|
set expandtab
|
||||||
|
set exrc
|
||||||
set incsearch
|
set incsearch
|
||||||
set laststatus=2
|
set laststatus=2
|
||||||
set list
|
set list
|
||||||
@@ -78,6 +77,7 @@ set number
|
|||||||
set path=**
|
set path=**
|
||||||
set ruler
|
set ruler
|
||||||
set scrolloff=5
|
set scrolloff=5
|
||||||
|
set secure
|
||||||
set shiftwidth=4
|
set shiftwidth=4
|
||||||
set showbreak="+++>"
|
set showbreak="+++>"
|
||||||
set showcmd
|
set showcmd
|
||||||
@@ -113,10 +113,12 @@ endif
|
|||||||
let g:vim_json_syntax_conceal = 0
|
let g:vim_json_syntax_conceal = 0
|
||||||
|
|
||||||
" godlygeek/tabular
|
" godlygeek/tabular
|
||||||
nmap == :Tabularize /=<CR>
|
nmap == :'a,.Tab /=/<CR>
|
||||||
nmap =: :Tabularize /[^:]*:<CR>
|
nmap =: :'a,.Tab /:/<CR>
|
||||||
nmap =or :Tabularize /or<CR>
|
nmap =or :'a,.Tab /or/<CR>
|
||||||
nmap =, :Tabularize /[^,]*:<CR>
|
nmap =, :'a,.Tab /,/<CR>
|
||||||
|
nmap =as :'a,.Tab /as/<CR>
|
||||||
|
nmap =import :'a,.Tab /import/<CR>
|
||||||
|
|
||||||
" nathanaelkane/vim-indent-guides
|
" nathanaelkane/vim-indent-guides
|
||||||
let g:indent_guides_enable_on_vim_startup = 0
|
let g:indent_guides_enable_on_vim_startup = 0
|
||||||
@@ -159,7 +161,7 @@ let g:ale_linters = {
|
|||||||
\'javascript': ['eslint'],
|
\'javascript': ['eslint'],
|
||||||
\'json': ['jsonlint'],
|
\'json': ['jsonlint'],
|
||||||
\'pug': ['puglint'],
|
\'pug': ['puglint'],
|
||||||
\'python': ['pycodestyle', 'pydocstyle', 'pyflakes', 'pyls'],
|
\'python': ['mypy', 'pycodestyle', 'pydocstyle', 'pyflakes', 'pyls'],
|
||||||
\'typescript': ['eslint', 'tsserver'],
|
\'typescript': ['eslint', 'tsserver'],
|
||||||
\'typescriptreact': ['eslint', 'tsserver'],
|
\'typescriptreact': ['eslint', 'tsserver'],
|
||||||
\'vue': ['vls']
|
\'vue': ['vls']
|
||||||
@@ -169,11 +171,10 @@ let g:ale_virtualenv_dir_names = ['usr']
|
|||||||
|
|
||||||
" Key Mappings #########################################################################################################
|
" Key Mappings #########################################################################################################
|
||||||
|
|
||||||
map <F1> :NERDTreeToggle<CR>
|
map <F1> :NERDTreeToggle \| wincmd p \| vertical resize 107 \| wincmd p<CR>
|
||||||
map <F2> :NERDTreeFind<CR>
|
map <F2> :NERDTreeFind<CR>
|
||||||
map <F3> :'a,.!sort -fg<CR>
|
map <F3> :'a,.!sort -fg<CR>
|
||||||
map <F4> :IndentGuidesToggle<CR>
|
map <F4> :IndentGuidesToggle<CR>
|
||||||
map <F5> :e!<CR>
|
|
||||||
map <F6> :set hlsearch!<CR>
|
map <F6> :set hlsearch!<CR>
|
||||||
map <F7> :cp<CR>
|
map <F7> :cp<CR>
|
||||||
map <F8> :copen<CR>
|
map <F8> :copen<CR>
|
||||||
@@ -182,6 +183,13 @@ map <F10> :ALEFindReferences<CR>
|
|||||||
map <F11> :ALEGoToDefinition<CR>
|
map <F11> :ALEGoToDefinition<CR>
|
||||||
map <F12> :ALEGoToTypeDefinition<CR>
|
map <F12> :ALEGoToTypeDefinition<CR>
|
||||||
|
|
||||||
|
" Toggle between file.py and file_test.py
|
||||||
|
nnoremap <F5> :if expand('%:t') =~# '_test\.py$' \|
|
||||||
|
\ execute 'edit ' . substitute(expand('%'), '_test\.py$', '.py', '') \|
|
||||||
|
\ else \|
|
||||||
|
\ execute 'edit ' . expand('%:r') . '_test.py' \|
|
||||||
|
\ endif<CR>
|
||||||
|
|
||||||
nmap ' :BufExplorer<CR>
|
nmap ' :BufExplorer<CR>
|
||||||
|
|
||||||
" Local Overrides ######################################################################################################
|
" Local Overrides ######################################################################################################
|
||||||
@@ -197,4 +205,10 @@ autocmd BufRead *.mako set syntax=mako
|
|||||||
autocmd BufRead *.go set noexpandtab
|
autocmd BufRead *.go set noexpandtab
|
||||||
autocmd BufRead *.go set listchars=tab:\ \ ,
|
autocmd BufRead *.go set listchars=tab:\ \ ,
|
||||||
autocmd BufRead *.jin set syntax=jinja
|
autocmd BufRead *.jin set syntax=jinja
|
||||||
|
autocmd BufRead *.scss set shiftwidth=4
|
||||||
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
|
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
|
||||||
|
|
||||||
|
" Startup Commands #################################################################################
|
||||||
|
|
||||||
|
autocmd VimEnter * NERDTree | wincmd p | vertical resize 107
|
||||||
|
autocmd CursorHold,FocusLost * silent! wall
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ USAGE: $0 <package>|all
|
|||||||
python install Python language tools
|
python install Python language tools
|
||||||
ruby install Ruby language tools
|
ruby install Ruby language tools
|
||||||
typescript install TypeScript language tools
|
typescript install TypeScript language tools
|
||||||
|
vim install VIM and plugins
|
||||||
webtools install tools for web development
|
webtools install tools for web development
|
||||||
END
|
END
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user