aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCody Hiar <codyfh@gmail.com>2018-05-28 16:04:49 -0600
committerCody Hiar <codyfh@gmail.com>2018-05-28 16:04:49 -0600
commit2276b4e2c1628b2f4236d8447d610f9f071208c6 (patch)
treefb84169ac93d3dea93cb2f269debfa429d64b516
parent070bb4b391d67d3833dcc364c54bcecff13c099a (diff)
Spring Cleaning
-rw-r--r--Makefile2
-rw-r--r--README.md2
-rw-r--r--autoload/plug.vim198
-rw-r--r--backups/.gitignore (renamed from vim-files/backups/.gitignore)0
-rw-r--r--colors/distinguished.vim181
-rw-r--r--colors/solarized.vim1117
-rw-r--r--colors/zenburn.vim560
-rwxr-xr-xinstall-plugins.sh (renamed from install-bundles.sh)0
-rw-r--r--swap/.gitignore (renamed from vim-files/swaps/.gitignore)0
-rw-r--r--vimrc156
10 files changed, 265 insertions, 1951 deletions
diff --git a/Makefile b/Makefile
index 0b228ea..8bac6e7 100644
--- a/Makefile
+++ b/Makefile
@@ -6,4 +6,4 @@ install: ## Install the symlink
vim +PlugInstall +qa
uninstall: ## Remove the sumlink
- [[ -L ~/.muttrc ]] && rm ~/.vimrc
+ [[ -L ~/.vimrc ]] && rm ~/.vimrc
diff --git a/README.md b/README.md
index 4ebb7d2..517df4f 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Setup
Now that I use Neovim exclusively, this has become my vim repo that I call when I want to install vim on a remote machine.
```
-git clone https://github.com/thornycrackers/.vim.git; ln -s .vim/vimrc .vimrc; vim +PlugInstall +qa
+git clone https://github.com/thornycrackers/.vim.git && cd .vim && make install
```
diff --git a/autoload/plug.vim b/autoload/plug.vim
index 7945e8d..9dd02c0 100644
--- a/autoload/plug.vim
+++ b/autoload/plug.vim
@@ -18,7 +18,7 @@
" " Any valid git URL is allowed
" Plug 'https://github.com/junegunn/vim-github-dashboard.git'
"
-" " Group dependencies, vim-snippets depends on ultisnips
+" " Multiple Plug commands can be written in a single line using | separators
" Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
"
" " On-demand loading
@@ -40,7 +40,7 @@
" " Unmanaged plugin (manually installed and updated)
" Plug '~/my-prototype-plugin'
"
-" " Add plugins to &runtimepath
+" " Initialize plugin system
" call plug#end()
"
" Then reload .vimrc and :PlugInstall to install plugins.
@@ -61,7 +61,7 @@
" More information: https://github.com/junegunn/vim-plug
"
"
-" Copyright (c) 2016 Junegunn Choi
+" Copyright (c) 2017 Junegunn Choi
"
" MIT License
"
@@ -97,7 +97,7 @@ let s:plug_tab = get(s:, 'plug_tab', -1)
let s:plug_buf = get(s:, 'plug_buf', -1)
let s:mac_gui = has('gui_macvim') && has('gui_running')
let s:is_win = has('win32') || has('win64')
-let s:nvim = has('nvim') && exists('*jobwait') && !s:is_win
+let s:nvim = has('nvim-0.2') || (has('nvim') && exists('*jobwait') && !s:is_win)
let s:vim8 = has('patch-8.0.0039') && exists('*job_start')
let s:me = resolve(expand('<sfile>:p'))
let s:base_spec = { 'branch': 'master', 'frozen': 0 }
@@ -121,6 +121,9 @@ function! plug#begin(...)
else
return s:err('Unable to determine plug home. Try calling plug#begin() with a path argument.')
endif
+ if fnamemodify(home, ':t') ==# 'plugin' && fnamemodify(home, ':h') ==# s:first_rtp
+ return s:err('Invalid plug home. '.home.' is a standard Vim runtime path and is not allowed.')
+ endif
let g:plug_home = home
let g:plugs = {}
@@ -225,6 +228,7 @@ function! plug#end()
endif
call add(s:triggers[name].map, cmd)
elseif cmd =~# '^[A-Z]'
+ let cmd = substitute(cmd, '!*$', '', '')
if exists(':'.cmd) != 2
call s:assoc(lod.cmd, cmd, name)
endif
@@ -251,7 +255,7 @@ function! plug#end()
for [cmd, names] in items(lod.cmd)
execute printf(
- \ 'command! -nargs=* -range -bang %s call s:lod_cmd(%s, "<bang>", <line1>, <line2>, <q-args>, %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
@@ -425,7 +429,10 @@ function! s:dobufread(names)
let path = s:rtp(g:plugs[name]).'/**'
for dir in ['ftdetect', 'ftplugin']
if len(finddir(dir, path))
- return s:doautocmd('BufRead')
+ if exists('#BufRead')
+ doautocmd BufRead
+ endif
+ return
endif
endfor
endfor
@@ -438,16 +445,21 @@ function! plug#load(...)
if !exists('g:plugs')
return s:err('plug#begin was not called')
endif
- let unknowns = filter(copy(a:000), '!has_key(g:plugs, v:val)')
+ let names = a:0 == 1 && type(a:1) == s:TYPE.list ? a:1 : a:000
+ let unknowns = filter(copy(names), '!has_key(g:plugs, v:val)')
if !empty(unknowns)
let s = len(unknowns) > 1 ? 's' : ''
return s:err(printf('Unknown plugin%s: %s', s, join(unknowns, ', ')))
end
- for name in a:000
- call s:lod([name], ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin'])
- endfor
- call s:dobufread(a:000)
- return 1
+ let unloaded = filter(copy(names), '!get(s:loaded, v:val, 0)')
+ if !empty(unloaded)
+ for name in unloaded
+ call s:lod([name], ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin'])
+ endfor
+ call s:dobufread(unloaded)
+ return 1
+ end
+ return 0
endfunction
function! s:remove_triggers(name)
@@ -571,7 +583,7 @@ function! s:infer_properties(name, repo)
let uri = repo
else
if repo !~ '/'
- let repo = 'vim-scripts/'. repo
+ throw printf('Invalid argument: %s (implicit `vim-scripts'' expansion is deprecated)', repo)
endif
let fmt = get(g:, 'plug_url_format', 'https://git::@github.com/%s.git')
let uri = printf(fmt, repo)
@@ -593,7 +605,7 @@ function! plug#helptags()
return s:err('plug#begin was not called')
endif
for spec in values(g:plugs)
- let docd = join([spec.dir, 'doc'], '/')
+ let docd = join([s:rtp(spec), 'doc'], '/')
if isdirectory(docd)
silent! execute 'helptags' s:esc(docd)
endif
@@ -617,10 +629,10 @@ function! s:syntax()
syn match plugTag /(tag: [^)]\+)/
syn match plugInstall /\(^+ \)\@<=[^:]*/
syn match plugUpdate /\(^* \)\@<=[^:]*/
- syn match plugCommit /^ \X*[0-9a-f]\{7} .*/ contains=plugRelDate,plugEdge,plugTag
+ syn match plugCommit /^ \X*[0-9a-f]\{7,9} .*/ contains=plugRelDate,plugEdge,plugTag
syn match plugEdge /^ \X\+$/
syn match plugEdge /^ \X*/ contained nextgroup=plugSha
- syn match plugSha /[0-9a-f]\{7}/ contained
+ syn match plugSha /[0-9a-f]\{7,9}/ contained
syn match plugRelDate /([^)]*)$/ contained
syn match plugNotLoaded /(not loaded)$/
syn match plugError /^x.*/
@@ -750,7 +762,7 @@ function! s:prepare(...)
for k in ['<cr>', 'L', 'o', 'X', 'd', 'dd']
execute 'silent! unmap <buffer>' k
endfor
- setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline modifiable
+ setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline modifiable nospell
setf vim-plug
if exists('g:syntax_on')
call s:syntax()
@@ -770,8 +782,10 @@ function! s:assign_name()
endfunction
function! s:chsh(swap)
- let prev = [&shell, &shellredir]
- if !s:is_win && a:swap
+ let prev = [&shell, &shellcmdflag, &shellredir]
+ if s:is_win
+ set shell=cmd.exe shellcmdflag=/c shellredir=>%s\ 2>&1
+ elseif a:swap
set shell=sh shellredir=>%s\ 2>&1
endif
return prev
@@ -779,15 +793,23 @@ endfunction
function! s:bang(cmd, ...)
try
- let [sh, shrd] = s:chsh(a:0)
+ let [sh, shellcmdflag, shrd] = s:chsh(a:0)
" FIXME: Escaping is incomplete. We could use shellescape with eval,
" but it won't work on Windows.
let cmd = a:0 ? s:with_cd(a:cmd, a:1) : a:cmd
- let g:_plug_bang = '!'.escape(cmd, '#!%')
+ if s:is_win
+ let batchfile = tempname().'.bat'
+ call writefile(["@echo off\r", cmd . "\r"], batchfile)
+ let cmd = batchfile
+ endif
+ let g:_plug_bang = (s:is_win && has('gui_running') ? 'silent ' : '').'!'.escape(cmd, '#!%')
execute "normal! :execute g:_plug_bang\<cr>\<cr>"
finally
unlet g:_plug_bang
- let [&shell, &shellredir] = [sh, shrd]
+ let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd]
+ if s:is_win
+ call delete(batchfile)
+ endif
endtry
return v:shell_error ? 'Exit status: ' . v:shell_error : ''
endfunction
@@ -816,6 +838,10 @@ function! s:do(pull, force, todo)
let type = type(spec.do)
if type == s:TYPE.string
if spec.do[0] == ':'
+ if !get(s:loaded, name, 0)
+ let s:loaded[name] = 1
+ call s:reorg_rtp()
+ endif
call s:load_plugin(spec)
try
execute spec.do[1:]
@@ -860,7 +886,7 @@ function! s:checkout(spec)
let output = s:system('git rev-parse HEAD', a:spec.dir)
if !v:shell_error && !s:hash_match(sha, s:lines(output)[0])
let output = s:system(
- \ 'git fetch --depth 999999 && git checkout '.s:esc(sha), a:spec.dir)
+ \ 'git fetch --depth 999999 && git checkout '.s:esc(sha).' --', a:spec.dir)
endif
return output
endfunction
@@ -882,7 +908,7 @@ function! s:finish(pull)
call add(msgs, "Press 'R' to retry.")
endif
if a:pull && len(s:update.new) < len(filter(getline(5, '$'),
- \ "v:val =~ '^- ' && stridx(v:val, 'Already up-to-date') < 0"))
+ \ "v:val =~ '^- ' && v:val !~# 'Already up.to.date'"))
call add(msgs, "Press 'D' to see the updated changes.")
endif
echo join(msgs, ' ')
@@ -918,7 +944,8 @@ function! s:check_ruby()
endfunction
function! s:update_impl(pull, force, args) abort
- let args = copy(a:args)
+ let sync = index(a:args, '--sync') >= 0 || has('vim_starting')
+ let args = filter(copy(a:args), 'v:val != "--sync"')
let threads = (len(args) > 0 && args[-1] =~ '^[1-9][0-9]*$') ?
\ remove(args, -1) : get(g:, 'plug_threads', 16)
@@ -954,7 +981,7 @@ function! s:update_impl(pull, force, args) abort
let use_job = s:nvim || s:vim8
let python = (has('python') || has('python3')) && !use_job
- let ruby = has('ruby') && !use_job && (v:version >= 703 || v:version == 702 && has('patch374')) && !(s:is_win && has('gui_running')) && s:check_ruby()
+ let ruby = has('ruby') && !use_job && (v:version >= 703 || v:version == 702 && has('patch374')) && !(s:is_win && has('gui_running')) && threads > 1 && s:check_ruby()
let s:update = {
\ 'start': reltime(),
@@ -977,6 +1004,10 @@ function! s:update_impl(pull, force, args) abort
let s:clone_opt = get(g:, 'plug_shallow', 1) ?
\ '--depth 1' . (s:git_version_requirement(1, 7, 10) ? ' --no-single-branch' : '') : ''
+ if has('win32unix')
+ let s:clone_opt .= ' -c core.eol=lf -c core.autocrlf=input'
+ endif
+
" Python version requirement (>= 2.7)
if python && !has('python3') && !ruby && !use_job && s:update.threads > 1
redir => pyv
@@ -1019,7 +1050,7 @@ function! s:update_impl(pull, force, args) abort
endtry
else
call s:update_vim()
- while use_job && has('vim_starting')
+ while use_job && sync
sleep 100m
if s:update.fin
break
@@ -1050,7 +1081,7 @@ function! s:update_finish()
elseif has_key(spec, 'tag')
let tag = spec.tag
if tag =~ '\*'
- let tags = s:lines(s:system('git tag --list '.string(tag).' --sort -version:refname 2>&1', spec.dir))
+ let tags = s:lines(s:system('git tag --list '.s:shellesc(tag).' --sort -version:refname 2>&1', spec.dir))
if !v:shell_error && !empty(tags)
let tag = tags[0]
call s:log4(name, printf('Latest tag for %s -> %s', spec.tag, tag))
@@ -1058,11 +1089,11 @@ function! s:update_finish()
endif
endif
call s:log4(name, 'Checking out '.tag)
- let out = s:system('git checkout -q '.s:esc(tag).' 2>&1', spec.dir)
+ let out = s:system('git checkout -q '.s:esc(tag).' -- 2>&1', spec.dir)
else
let branch = s:esc(get(spec, 'branch', 'master'))
call s:log4(name, 'Merging origin/'.branch)
- let out = s:system('git checkout -q '.branch.' 2>&1'
+ let out = s:system('git checkout -q '.branch.' -- 2>&1'
\. (has_key(s:update.new, name) ? '' : ('&& git merge --ff-only origin/'.branch.' 2>&1')), spec.dir)
endif
if !v:shell_error && filereadable(spec.dir.'/.gitmodules') &&
@@ -1152,7 +1183,7 @@ function! s:job_cb(fn, job, ch, data)
call call(a:fn, [a:job, a:data])
endfunction
-function! s:nvim_cb(job_id, data, event) abort
+function! s:nvim_cb(job_id, data, event) dict abort
return a:event == 'stdout' ?
\ s:job_cb('s:job_out_cb', self, 0, join(a:data, "\n")) :
\ s:job_cb('s:job_exit_cb', self, 0, a:data)
@@ -1160,10 +1191,15 @@ endfunction
function! s:spawn(name, cmd, opts)
let job = { 'name': a:name, 'running': 1, 'error': 0, 'lines': [''],
+ \ 'batchfile': (s:is_win && (s:nvim || s:vim8)) ? tempname().'.bat' : '',
\ 'new': get(a:opts, 'new', 0) }
let s:jobs[a:name] = job
- let argv = add(s:is_win ? ['cmd', '/c'] : ['sh', '-c'],
- \ has_key(a:opts, 'dir') ? s:with_cd(a:cmd, a:opts.dir) : a:cmd)
+ let cmd = has_key(a:opts, 'dir') ? s:with_cd(a:cmd, a:opts.dir) : a:cmd
+ if !empty(job.batchfile)
+ call writefile(["@echo off\r", cmd . "\r"], job.batchfile)
+ let cmd = job.batchfile
+ endif
+ let argv = add(s:is_win ? ['cmd', '/c'] : ['sh', '-c'], cmd)
if s:nvim
call extend(job, {
@@ -1180,7 +1216,7 @@ function! s:spawn(name, cmd, opts)
\ 'Invalid arguments (or job table is full)']
endif
elseif s:vim8
- let jid = job_start(argv, {
+ let jid = job_start(s:is_win ? join(argv, ' ') : argv, {
\ 'out_cb': function('s:job_cb', ['s:job_out_cb', job]),
\ 'exit_cb': function('s:job_cb', ['s:job_exit_cb', job]),
\ 'out_mode': 'raw'
@@ -1193,8 +1229,7 @@ function! s:spawn(name, cmd, opts)
let job.lines = ['Failed to start job']
endif
else
- let params = has_key(a:opts, 'dir') ? [a:cmd, a:opts.dir] : [a:cmd]
- let job.lines = s:lines(call('s:system', params))
+ let job.lines = s:lines(call('s:system', [cmd]))
let job.error = v:shell_error != 0
let job.running = 0
endif
@@ -1214,6 +1249,9 @@ function! s:reap(name)
call s:log(bullet, a:name, empty(result) ? 'OK' : result)
call s:bar()
+ if has_key(job, 'batchfile') && !empty(job.batchfile)
+ call delete(job.batchfile)
+ endif
call remove(s:jobs, a:name)
endfunction
@@ -1763,6 +1801,7 @@ function! s:update_ruby()
tries = VIM::evaluate('get(g:, "plug_retries", 2)') + 1
nthr = VIM::evaluate('s:update.threads').to_i
maxy = VIM::evaluate('winheight(".")').to_i
+ vim7 = VIM::evaluate('v:version').to_i <= 703 && RUBY_PLATFORM =~ /darwin/
cd = iswin ? 'cd /d' : 'cd'
tot = VIM::evaluate('len(s:update.todo)') || 0
bar = ''
@@ -1852,11 +1891,17 @@ function! s:update_ruby()
main = Thread.current
threads = []
watcher = Thread.new {
- require 'io/console' # >= Ruby 1.9
- nil until IO.console.getch == 3.chr
+ if vim7
+ while VIM::evaluate('getchar(1)')
+ sleep 0.1
+ end
+ else
+ require 'io/console' # >= Ruby 1.9
+ nil until IO.console.getch == 3.chr
+ end
mtx.synchronize do
running = false
- threads.each { |t| t.raise Interrupt }
+ threads.each { |t| t.raise Interrupt } unless vim7
end
threads.each { |t| t.join rescue nil }
main.kill
@@ -1924,8 +1969,19 @@ function! s:update_ruby()
EOF
endfunction
+function! s:shellesc_cmd(arg)
+ let escaped = substitute(a:arg, '[&|<>()@^]', '^&', 'g')
+ let escaped = substitute(escaped, '%', '%%', 'g')
+ let escaped = substitute(escaped, '"', '\\^&', 'g')
+ let escaped = substitute(escaped, '\(\\\+\)\(\\^\)', '\1\1\2', 'g')
+ return '^"'.substitute(escaped, '\(\\\+\)$', '\1\1', '').'^"'
+endfunction
+
function! s:shellesc(arg)
- return '"'.escape(a:arg, '"').'"'
+ if &shell =~# 'cmd.exe$'
+ return s:shellesc_cmd(a:arg)
+ endif
+ return shellescape(a:arg)
endfunction
function! s:glob_dir(path)
@@ -1963,11 +2019,19 @@ endfunction
function! s:system(cmd, ...)
try
- let [sh, shrd] = s:chsh(1)
+ let [sh, shellcmdflag, shrd] = s:chsh(1)
let cmd = a:0 > 0 ? s:with_cd(a:cmd, a:1) : a:cmd
+ if s:is_win
+ let batchfile = tempname().'.bat'
+ call writefile(["@echo off\r", cmd . "\r"], batchfile)
+ let cmd = batchfile
+ endif
return system(s:is_win ? '('.cmd.')' : cmd)
finally
- let [&shell, &shellredir] = [sh, shrd]
+ let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd]
+ if s:is_win
+ call delete(batchfile)
+ endif
endtry
endfunction
@@ -2002,7 +2066,7 @@ function! s:git_validate(spec, check_branch)
" Check tag
if has_key(a:spec, 'tag')
let tag = s:system_chomp('git describe --exact-match --tags HEAD 2>&1', a:spec.dir)
- if a:spec.tag !=# tag
+ if a:spec.tag !=# tag && a:spec.tag !~ '\*'
let err = printf('Invalid tag: %s (expected: %s). Try PlugUpdate.',
\ (empty(tag) ? 'N/A' : tag), a:spec.tag)
endif
@@ -2012,10 +2076,21 @@ function! s:git_validate(spec, check_branch)
\ branch, a:spec.branch)
endif
if empty(err)
- let commits = len(s:lines(s:system(printf('git rev-list origin/%s..HEAD', a:spec.branch), a:spec.dir)))
- if !v:shell_error && commits
- let err = join([printf('Diverged from origin/%s by %d commit(s).', a:spec.branch, commits),
- \ 'Reinstall after PlugClean.'], "\n")
+ let [ahead, behind] = split(s:lastline(s:system(printf(
+ \ 'git rev-list --count --left-right HEAD...origin/%s',
+ \ a:spec.branch), a:spec.dir)), '\t')
+ if !v:shell_error && ahead
+ if behind
+ " Only mention PlugClean if diverged, otherwise it's likely to be
+ " pushable (and probably not that messed up).
+ let err = printf(
+ \ "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.', a:spec.branch, ahead, behind)
+ else
+ let err = printf("Ahead of origin/%s by %d commit(s).\n"
+ \ .'Cannot update until local changes are pushed.',
+ \ a:spec.branch, ahead)
+ endif
endif
endif
endif
@@ -2171,15 +2246,16 @@ function! s:status()
let unloaded = 0
let [cnt, total] = [0, len(g:plugs)]
for [name, spec] in items(g:plugs)
+ let is_dir = isdirectory(spec.dir)
if has_key(spec, 'uri')
- if isdirectory(spec.dir)
+ if is_dir
let [err, _] = s:git_validate(spec, 1)
let [valid, msg] = [empty(err), empty(err) ? 'OK' : err]
else
let [valid, msg] = [0, 'Not found. Try PlugInstall.']
endif
else
- if isdirectory(spec.dir)
+ if is_dir
let [valid, msg] = [1, 'OK']
else
let [valid, msg] = [0, 'Not found.']
@@ -2188,7 +2264,7 @@ function! s:status()
let cnt += 1
let ecnt += !valid
" `s:loaded` entry can be missing if PlugUpgraded
- if valid && get(s:loaded, name, -1) == 0
+ if is_dir && get(s:loaded, name, -1) == 0
let unloaded = 1
let msg .= ' (not loaded)'
endif
@@ -2258,7 +2334,7 @@ function! s:preview_commit()
let b:plug_preview = !s:is_preview_window_open()
endif
- let sha = matchstr(getline('.'), '^ \X*\zs[0-9a-f]\{7}')
+ let sha = matchstr(getline('.'), '^ \X*\zs[0-9a-f]\{7,9}')
if empty(sha)
return
endif
@@ -2276,7 +2352,21 @@ function! s:preview_commit()
wincmd P
endif
setlocal previewwindow filetype=git buftype=nofile nobuflisted modifiable
- execute 'silent %!cd' s:shellesc(g:plugs[name].dir) '&& git show --no-color --pretty=medium' sha
+ try
+ let [sh, shellcmdflag, shrd] = s:chsh(1)
+ let cmd = 'cd '.s:shellesc(g:plugs[name].dir).' && git show --no-color --pretty=medium '.sha
+ if s:is_win
+ let batchfile = tempname().'.bat'
+ call writefile(["@echo off\r", cmd . "\r"], batchfile)
+ let cmd = batchfile
+ endif
+ execute 'silent %!' cmd
+ finally
+ let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd]
+ if s:is_win
+ call delete(batchfile)
+ endif
+ endtry
setlocal nomodifiable
nnoremap <silent> <buffer> q :q<cr>
wincmd p
@@ -2317,7 +2407,7 @@ function! s:diff()
call s:append_ul(2, origin ? 'Pending updates:' : 'Last update:')
for [k, v] in plugs
let range = origin ? '..origin/'.v.branch : 'HEAD@{1}..'
- let diff = s:system_chomp('git log --graph --color=never --pretty=format:"%x01%h%x01%d%x01%s%x01%cr" '.s:shellesc(range), v.dir)
+ let diff = s:system_chomp('git log --graph --color=never '.join(map(['--pretty=format:%x01%h%x01%d%x01%s%x01%cr', range], 's:shellesc(v:val)')), v.dir)
if !empty(diff)
let ref = has_key(v, 'tag') ? (' (tag: '.v.tag.')') : has_key(v, 'commit') ? (' '.v.commit) : ''
call append(5, extend(['', '- '.k.':'.ref], map(s:lines(diff), 's:format_git_log(v:val)')))
@@ -2358,7 +2448,7 @@ function! s:revert()
return
endif
- call s:system('git reset --hard HEAD@{1} && git checkout '.s:esc(g:plugs[name].branch), g:plugs[name].dir)
+ call s:system('git reset --hard HEAD@{1} && git checkout '.s:esc(g:plugs[name].branch).' --', g:plugs[name].dir)
setlocal modifiable
normal! "_dap
setlocal nomodifiable
diff --git a/vim-files/backups/.gitignore b/backups/.gitignore
index d6b7ef3..d6b7ef3 100644
--- a/vim-files/backups/.gitignore
+++ b/backups/.gitignore
diff --git a/colors/distinguished.vim b/colors/distinguished.vim
deleted file mode 100644
index db3af12..0000000
--- a/colors/distinguished.vim
+++ /dev/null
@@ -1,181 +0,0 @@
-" Author: Kim Silkebækken <kim.silkebaekken+vim@gmail.com>
-" Source repository: https://github.com/Lokaltog/vim-distinguished
-
-" Initialization {{{
- set background=dark
-
- hi clear
- if exists('syntax_on')
- syntax reset
- endif
-
- let g:colors_name = 'distinguished'
-
- if ! has('gui_running')
- if &t_Co != 256
- echoe 'The ' . g:colors_name . ' color scheme requires gvim or a 256-color terminal'
-
- finish
- endif
- endif
-" }}}
-" Color dictionary parser {{{
- function! s:ColorDictParser(color_dict)
- for [group, group_colors] in items(a:color_dict)
- exec 'hi ' . group
- \ . ' ctermfg=' . (group_colors[0] == '' ? 'NONE' : group_colors[0])
- \ . ' ctermbg=' . (group_colors[1] == '' ? 'NONE' : group_colors[1])
- \ . ' cterm=' . (group_colors[2] == '' ? 'NONE' : group_colors[2])
- \
- \ . ' guifg=' . (group_colors[3] == '' ? 'NONE' : '#' . group_colors[3])
- \ . ' guibg=' . (group_colors[4] == '' ? 'NONE' : '#' . group_colors[4])
- \ . ' gui=' . (group_colors[5] == '' ? 'NONE' : group_colors[5])
- endfor
- endfunction
-" }}}
-
-" | Highlight group | CTFG | CTBG | CTAttributes | || | GUIFG | GUIBG | GUIAttributes |
-" |--------------------------------|-------|-------|-----------------| || |---------|----------|-----------------|
-call s:ColorDictParser({
- \ 'Normal' : [ 231, 16, '', 'ffffff', '000000', '']
- \ , 'Visual' : [ 240, 253, '', '585858', 'dadada', '']
- \
- \ , 'Cursor' : [ '', '', '', 'ffffff', 'dd4010', '']
- \ , 'lCursor' : [ '', '', '', 'ffffff', '89b6e2', '']
- \
- \ , 'CursorLine' : [ '', 236, '', '', '3a3a3a', '']
- \ , 'CursorLineNr' : [ 231, 240, '', 'ffffff', '585858', '']
- \ , 'CursorColumn' : [ 231, 237, '', 'ffffff', '3a3a3a', '']
- \
- \ , 'Folded' : [ 249, 234, '', 'b2b2b2', '1c1c1c', '']
- \ , 'FoldColumn' : [ 243, 234, '', '767676', '1c1c1c', '']
- \ , 'SignColumn' : [ 231, 233, 'bold', 'ffffff', '121212', 'bold']
- \ , 'ColorColumn' : [ '', 233, '', '', '262626', '']
- \
- \ , 'StatusLine' : [ 231, 236, 'bold', 'ffffff', '303030', 'bold']
- \ , 'StatusLineNC' : [ 244, 232, '', '808080', '080808', '']
- \
- \ , 'LineNr' : [ 243, 235, '', '767676', '262626', '']
- \ , 'VertSplit' : [ 240, '', '', '585858', '1c1c1c', '']
- \
- \ , 'WildMenu' : [ 234, 231, '', '1c1c1c', 'ffffff', '']
- \ , 'Directory' : [ 143, '', 'bold', 'afaf5f', '', 'bold']
- \ , 'Underlined' : [ 130, '', '', 'af5f00', '', '']
- \
- \ , 'Question' : [ 74, '', 'bold', '5fafd7', '', 'bold']
- \ , 'MoreMsg' : [ 214, '', 'bold', 'ffaf00', '', 'bold']
- \ , 'WarningMsg' : [ 202, '', 'bold', 'ff5f00', '', 'bold']
- \ , 'ErrorMsg' : [ 196, '', 'bold', 'ff0000', '', 'bold']
- \
- \ , 'Comment' : [ 243, 233, '', '767676', '121212', '']
- \ , 'vimCommentTitleLeader' : [ 250, 233, '', 'bcbcbc', '121212', '']
- \ , 'vimCommentTitle' : [ 250, 233, '', 'bcbcbc', '121212', '']
- \ , 'vimCommentString' : [ 245, 233, '', '8a8a8a', '121212', '']
- \
- \ , 'TabLine' : [ 231, 238, '', 'ffffff', '444444', '']
- \ , 'TabLineSel' : [ 255, '', 'bold', 'eeeeee', '', 'bold']
- \ , 'TabLineFill' : [ 240, 238, '', '585858', '444444', '']
- \ , 'TabLineNumber' : [ 160, 238, 'bold', 'd70000', '444444', 'bold']
- \ , 'TabLineClose' : [ 245, 238, 'bold', '8a8a8a', '444444', 'bold']
- \
- \ , 'SpellCap' : [ 231, 31, 'bold', 'ffffff', '0087af', 'bold']
- \
- \ , 'SpecialKey' : [ 239, '', '', '4e4e4e', '', '']
- \ , 'NonText' : [ 88, '', '', '870000', '', '']
- \ , 'MatchParen' : [ 231, 25, 'bold', 'ffffff', '005faf', 'bold']
- \
- \ , 'Constant' : [ 137, '', 'bold', 'af875f', '', 'bold']
- \ , 'Special' : [ 150, '', '', 'afd787', '', '']
- \ , 'Identifier' : [ 66, '', 'bold', '5f8787', '', 'bold']
- \ , 'Statement' : [ 186, '', 'bold', 'd7d787', '', 'bold']
- \ , 'PreProc' : [ 247, '', '', '9e9e9e', '', '']
- \ , 'Type' : [ 67, '', 'bold', '5f87af', '', 'bold']
- \ , 'String' : [ 143, '', '', 'afaf5f', '', '']
- \ , 'Number' : [ 173, '', '', 'd7875f', '', '']
- \ , 'Define' : [ 173, '', '', 'd7875f', '', '']
- \ , 'Error' : [ 208, 124, '', 'ff8700', 'af0000', '']
- \ , 'Function' : [ 179, '', '', 'd7af5f', '', '']
- \ , 'Include' : [ 173, '', '', 'd7875f', '', '']
- \ , 'PreCondit' : [ 173, '', '', 'd7875f', '', '']
- \ , 'Keyword' : [ 173, '', '', 'd7875f', '', '']
- \ , 'Search' : [ 231, 131, '', '000000', 'ffff5f', 'underline,bold']
- \ , 'Title' : [ 231, '', '', 'ffffff', '', '']
- \ , 'Delimiter' : [ 246, '', '', '949494', '', '']
- \ , 'StorageClass' : [ 187, '', '', 'd7d7af', '', '']
- \ , 'Operator' : [ 180, '', '', 'd7af87', '', '']
- \
- \ , 'TODO' : [ 228, 94, 'bold', 'ffff87', '875f00', 'bold']
- \
- \ , 'SyntasticWarning' : [ 220, 94, '', 'ffff87', '875f00', 'bold']
- \ , 'SyntasticError' : [ 202, 52, '', 'ffff87', '875f00', 'bold']
- \
- \ , 'Pmenu' : [ 248, 240, '', 'a8a8a8', '585858', '']
- \ , 'PmenuSel' : [ 253, 245, '', 'dadada', '8a8a8a', '']
- \ , 'PmenuSbar' : [ 253, 248, '', 'dadada', 'a8a8a8', '']
- \
- \ , 'phpEOL' : [ 245, '', '', 'dadada', '', '']
- \ , 'phpStringDelim' : [ 94, '', '', '875f00', '', '']
- \ , 'phpDelimiter' : [ 160, '', '', 'd70000', '', '']
- \ , 'phpFunctions' : [ 221, '', 'bold', 'ffd75f', '', 'bold']
- \ , 'phpBoolean' : [ 172, '', 'bold', 'd78700', '', 'bold']
- \ , 'phpOperator' : [ 215, '', '', 'ffaf5f', '', '']
- \ , 'phpMemberSelector' : [ 138, '', 'bold', 'af8787', '', 'bold']
- \ , 'phpParent' : [ 227, '', '', 'ffff5f', '', '']
- \
- \ , 'PHPClassTag' : [ 253, '', '', 'dadada', '', '']
- \ , 'PHPInterfaceTag' : [ 253, '', '', 'dadada', '', '']
- \ , 'PHPFunctionTag' : [ 222, '', 'bold', 'ffd787', '', 'bold']
- \
- \ , 'pythonDocString' : [ 240, 233, '', '585858', '121212', '']
- \ , 'pythonDocStringTitle' : [ 245, 233, '', 'dadada', '121212', '']
- \ , 'pythonRun' : [ 65, '', '', '5f875f', '', '']
- \ , 'pythonBuiltinObj' : [ 67, '', 'bold', '5f87af', '', 'bold']
- \ , 'pythonSelf' : [ 250, '', 'bold', 'bcbcbc', '', 'bold']
- \ , 'pythonFunction' : [ 179, '', 'bold', 'd7af5f', '', 'bold']
- \ , 'pythonClass' : [ 221, '', 'bold', 'ffd75f', '', 'bold']
- \ , 'pythonExClass' : [ 130, '', '', 'af5f00', '', '']
- \ , 'pythonException' : [ 130, '', 'bold', 'af5f00', '', 'bold']
- \ , 'pythonOperator' : [ 186, '', '', 'd7d787', '', '']
- \ , 'pythonPreCondit' : [ 152, '', 'bold', 'afd7d7', '', 'bold']
- \ , 'pythonDottedName' : [ 166, '', '', 'd75f00', '', '']
- \ , 'pythonDecorator' : [ 124, '', 'bold', 'af0000', '', 'bold']
- \
- \ , 'PythonInterfaceTag' : [ 109, '', '', '87afaf', '', '']
- \ , 'PythonClassTag' : [ 221, '', '', 'ffd75f', '', '']
- \ , 'PythonFunctionTag' : [ 109, '', '', '87afaf', '', '']
- \ , 'PythonVariableTag' : [ 253, '', '', 'dadada', '', '']
- \ , 'PythonMemberTag' : [ 145, '', '', 'afafaf', '', '']
- \
- \ , 'CTagsImport' : [ 109, '', '', '87afaf', '', '']
- \ , 'CTagsClass' : [ 221, '', '', 'ffd75f', '', '']
- \ , 'CTagsFunction' : [ 109, '', '', '87afaf', '', '']
- \ , 'CTagsGlobalVariable' : [ 253, '', '', 'dadada', '', '']
- \ , 'CTagsMember' : [ 145, '', '', 'afafaf', '', '']
- \
- \ , 'xmlTag' : [ 149, '', 'bold', 'afd75f', '', 'bold']
- \ , 'xmlTagName' : [ 250, '', '', 'bcbcbc', '', '']
- \ , 'xmlEndTag' : [ 209, '', 'bold', 'ff875f', '', 'bold']
- \
- \ , 'cssImportant' : [ 166, '', 'bold', 'd75f00', '', 'bold']
- \
- \ , 'DiffAdd' : [ 112, 22, '', '87d700', '005f00', '']
- \ , 'DiffChange' : [ 220, 94, '', 'ffd700', '875f00', '']
- \ , 'DiffDelete' : [ 160, '', '', 'd70000', '', '']
- \ , 'DiffText' : [ 220, 94, 'reverse,bold', 'ffd700', '875f00', 'reverse,bold']
- \
- \ , 'diffLine' : [ 68, '', 'bold', '5f87d7', '', 'bold']
- \ , 'diffFile' : [ 242, '', '', '6c6c6c', '', '']
- \ , 'diffNewFile' : [ 242, '', '', '6c6c6c', '', '']
-\ })
-
-hi link htmlTag xmlTag
-hi link htmlTagName xmlTagName
-hi link htmlEndTag xmlEndTag
-
-hi link phpCommentTitle vimCommentTitle
-hi link phpDocTags vimCommentString
-hi link phpDocParam vimCommentTitle
-
-hi link diffAdded DiffAdd
-hi link diffChanged DiffChange
-hi link diffRemoved DiffDelete
diff --git a/colors/solarized.vim b/colors/solarized.vim
deleted file mode 100644
index ad16beb..0000000
--- a/colors/solarized.vim
+++ /dev/null
@@ -1,1117 +0,0 @@
-" Name: Solarized vim colorscheme
-" Author: Ethan Schoonover <es@ethanschoonover.com>
-" URL: http://ethanschoonover.com/solarized
-" (see this url for latest release & screenshots)
-" License: OSI approved MIT license (see end of this file)
-" Created: In the middle of the night
-" Modified: 2011 May 05
-"
-" Usage "{{{
-"
-" ---------------------------------------------------------------------
-" ABOUT:
-" ---------------------------------------------------------------------
-" Solarized is a carefully designed selective contrast colorscheme with dual
-" light and dark modes that runs in both GUI, 256 and 16 color modes.
-"
-" See the homepage above for screenshots and details.
-"
-" ---------------------------------------------------------------------
-" OPTIONS:
-" ---------------------------------------------------------------------
-" See the "solarized.txt" help file included with this colorscheme (in the
-" "doc" subdirectory) for information on options, usage, the Toggle Background
-" function and more. If you have already installed Solarized, this is available
-" from the Solarized menu and command line as ":help solarized"
-"
-" ---------------------------------------------------------------------
-" INSTALLATION:
-" ---------------------------------------------------------------------
-" Two options for installation: manual or pathogen
-"
-" MANUAL INSTALLATION OPTION:
-" ---------------------------------------------------------------------
-"
-" 1. Download the solarized distribution (available on the homepage above)
-" and unarchive the file.
-" 2. Move `solarized.vim` to your `.vim/colors` directory.
-" 3. Move each of the files in each subdirectories to the corresponding .vim
-" subdirectory (e.g. autoload/togglebg.vim goes into your .vim/autoload
-" directory as .vim/autoload/togglebg.vim).
-"
-" RECOMMENDED PATHOGEN INSTALLATION OPTION:
-" ---------------------------------------------------------------------
-"
-" 1. Download and install Tim Pope's Pathogen from:
-" https://github.com/tpope/vim-pathogen
-"
-" 2. Next, move or clone the `vim-colors-solarized` directory so that it is
-" a subdirectory of the `.vim/bundle` directory.
-"
-" a. **clone with git:**
-"
-" $ cd ~/.vim/bundle
-" $ git clone git://github.com/altercation/vim-colors-solarized.git
-"
-" b. **or move manually into the pathogen bundle directory:**
-" In the parent directory of vim-colors-solarized:
-"
-" $ mv vim-colors-solarized ~/.vim/bundle/
-"
-" MODIFY VIMRC:
-"
-" After either Option 1 or Option 2 above, put the following two lines in your
-" .vimrc:
-"
-" syntax enable
-" set background=dark
-" colorscheme solarized
-"
-" or, for the light background mode of Solarized:
-"
-" syntax enable
-" set background=light
-" colorscheme solarized
-"
-" I like to have a different background in GUI and terminal modes, so I can use
-" the following if-then. However, I find vim's background autodetection to be
-" pretty good and, at least with MacVim, I can leave this background value
-" assignment out entirely and get the same results.
-"
-" if has('gui_running')
-" set background=light
-" else
-" set background=dark
-" endif
-"
-" See the Solarized homepage at http://ethanschoonover.com/solarized for
-" screenshots which will help you select either the light or dark background.
-"
-" ---------------------------------------------------------------------
-" COLOR VALUES
-" ---------------------------------------------------------------------
-" Download palettes and files from: http://ethanschoonover.com/solarized
-"
-" L\*a\*b values are canonical (White D65, Reference D50), other values are
-" matched in sRGB space.
-"
-" SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B sRGB HSB
-" --------- ------- ---- ------- ----------- ---------- ----------- -----------
-" base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21
-" base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26
-" base01 #586e75 10/7 brgreen 240 #4e4e4e 45 -07 -07 88 110 117 194 25 46
-" base00 #657b83 11/7 bryellow 241 #585858 50 -07 -07 101 123 131 195 23 51
-" base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59
-" base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63
-" base2 #eee8d5 7/7 white 254 #d7d7af 92 -00 10 238 232 213 44 11 93
-" base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99
-" yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71
-" orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80
-" red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86
-" magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83
-" violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77
-" blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82
-" cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63
-" green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60
-"
-" ---------------------------------------------------------------------
-" COLORSCHEME HACKING
-" ---------------------------------------------------------------------
-"
-" Useful commands for testing colorschemes:
-" :source $VIMRUNTIME/syntax/hitest.vim
-" :help highlight-groups
-" :help cterm-colors
-" :help group-name
-"
-" Useful links for developing colorschemes:
-" http://www.vim.org/scripts/script.php?script_id=2937
-" http://vimcasts.org/episodes/creating-colorschemes-for-vim/
-" http://www.frexx.de/xterm-256-notes/"
-"
-" }}}
-" Environment Specific Overrides "{{{
-" Allow or disallow certain features based on current terminal emulator or
-" environment.
-
-" Terminals that support italics
-let s:terms_italic=[
- \"rxvt",
- \"gnome-terminal"
- \]
-" For reference only, terminals are known to be incomptible.
-" Terminals that are in neither list need to be tested.
-let s:terms_noitalic=[
- \"iTerm.app",
- \"Apple_Terminal"
- \]
-if has("gui_running")
- let s:terminal_italic=1 " TODO: could refactor to not require this at all
-else
- let s:terminal_italic=0 " terminals will be guilty until proven compatible
- for term in s:terms_italic
- if $TERM_PROGRAM =~ term
- let s:terminal_italic=1
- endif
- endfor
-endif
-
-" }}}
-" Default option values"{{{
-" ---------------------------------------------------------------------
-" s:options_list is used to autogenerate a list of all non-default options
-" using "call SolarizedOptions()" or with the "Generate .vimrc commands"
-" Solarized menu option. See the "Menus" section below for the function itself.
-let s:options_list=[
- \'" this block of commands has been autogenerated by solarized.vim and',
- \'" includes the current, non-default Solarized option values.',
- \'" To use, place these commands in your .vimrc file (replacing any',
- \'" existing colorscheme commands). See also ":help solarized"',
- \'',
- \'" ------------------------------------------------------------------',
- \'" Solarized Colorscheme Config',
- \'" ------------------------------------------------------------------',
- \]
-let s:colorscheme_list=[
- \'syntax enable',
- \'set background='.&background,
- \'colorscheme solarized',
- \]
-let s:defaults_list=[
- \'" ------------------------------------------------------------------',
- \'',
- \'" The following items are available options, but do not need to be',
- \'" included in your .vimrc as they are currently set to their defaults.',
- \''
- \]
-let s:lazycat_list=[
- \'" lazy method of appending this onto your .vimrc ":w! >> ~/.vimrc"',
- \'" ------------------------------------------------------------------',
- \]
-
-function! s:SetOption(name,default)
- if type(a:default) == type(0)
- let l:wrap=''
- let l:ewrap=''
- else
- let l:wrap='"'
- let l:ewrap='\"'
- endif
- if !exists("g:solarized_".a:name) || g:solarized_{a:name}==a:default
- exe 'let g:solarized_'.a:name.'='.l:wrap.a:default.l:wrap.'"'
- exe 'call add(s:defaults_list, "\" let g:solarized_'.a:name.'='.l:ewrap.g:solarized_{a:name}.l:ewrap.'")'
- else
- exe 'call add(s:options_list, "let g:solarized_'.a:name.'='.l:ewrap.g:solarized_{a:name}.l:ewrap.' \"default value is '.a:default.'")'
- endif
-endfunction
-
-if ($TERM_PROGRAM ==? "apple_terminal" && &t_Co < 256)
- let s:solarized_termtrans_default = 1
-else
- let s:solarized_termtrans_default = 0
-endif
-call s:SetOption("termtrans",s:solarized_termtrans_default)
-call s:SetOption("degrade",0)
-call s:SetOption("bold",1)
-call s:SetOption("underline",1)
-call s:SetOption("italic",1) " note that we need to override this later if the terminal doesn't support
-call s:SetOption("termcolors",16)
-call s:SetOption("contrast","normal")
-call s:SetOption("visibility","normal")
-call s:SetOption("diffmode","normal")
-call s:SetOption("hitrail",0)
-call s:SetOption("menu",1)
-
-"}}}
-" Colorscheme initialization "{{{
-" ---------------------------------------------------------------------
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = "solarized"
-
-"}}}
-" GUI & CSApprox hexadecimal palettes"{{{
-" ---------------------------------------------------------------------
-"
-" Set both gui and terminal color values in separate conditional statements
-" Due to possibility that CSApprox is running (though I suppose we could just
-" leave the hex values out entirely in that case and include only cterm colors)
-" We also check to see if user has set solarized (force use of the
-" neutral gray monotone palette component)
-if (has("gui_running") && g:solarized_degrade == 0)
- let s:vmode = "gui"
- let s:base03 = "#002b36"
- let s:base02 = "#073642"
- let s:base01 = "#586e75"
- let s:base00 = "#657b83"
- let s:base0 = "#839496"
- let s:base1 = "#93a1a1"
- let s:base2 = "#eee8d5"
- let s:base3 = "#fdf6e3"
- let s:yellow = "#b58900"
- let s:orange = "#cb4b16"
- let s:red = "#dc322f"
- let s:magenta = "#d33682"
- let s:violet = "#6c71c4"
- let s:blue = "#268bd2"
- let s:cyan = "#2aa198"
- "let s:green = "#859900" "original
- let s:green = "#719e07" "experimental
-elseif (has("gui_running") && g:solarized_degrade == 1)
- " These colors are identical to the 256 color mode. They may be viewed
- " while in gui mode via "let g:solarized_degrade=1", though this is not
- " recommened and is for testing only.
- let s:vmode = "gui"
- let s:base03 = "#1c1c1c"
- let s:base02 = "#262626"
- let s:base01 = "#4e4e4e"
- let s:base00 = "#585858"
- let s:base0 = "#808080"
- let s:base1 = "#8a8a8a"
- let s:base2 = "#d7d7af"
- let s:base3 = "#ffffd7"
- let s:yellow = "#af8700"
- let s:orange = "#d75f00"
- let s:red = "#af0000"
- let s:magenta = "#af005f"
- let s:violet = "#5f5faf"
- let s:blue = "#0087ff"
- let s:cyan = "#00afaf"
- let s:green = "#5f8700"
-elseif g:solarized_termcolors != 256 && &t_Co >= 16
- let s:vmode = "cterm"
- let s:base03 = "8"
- let s:base02 = "0"
- let s:base01 = "10"
- let s:base00 = "11"
- let s:base0 = "12"
- let s:base1 = "14"
- let s:base2 = "7"
- let s:base3 = "15"
- let s:yellow = "3"
- let s:orange = "9"
- let s:red = "1"
- let s:magenta = "5"
- let s:violet = "13"
- let s:blue = "4"
- let s:cyan = "6"
- let s:green = "2"
-elseif g:solarized_termcolors == 256
- let s:vmode = "cterm"
- let s:base03 = "234"
- let s:base02 = "235"
- let s:base01 = "239"
- let s:base00 = "240"
- let s:base0 = "244"
- let s:base1 = "245"
- let s:base2 = "187"
- let s:base3 = "230"
- let s:yellow = "136"
- let s:orange = "166"
- let s:red = "124"
- let s:magenta = "125"
- let s:violet = "61"
- let s:blue = "33"
- let s:cyan = "37"
- let s:green = "64"
-else
- let s:vmode = "cterm"
- let s:bright = "* term=bold cterm=bold"
-" let s:base03 = "0".s:bright
-" let s:base02 = "0"
-" let s:base01 = "2".s:bright
-" let s:base00 = "3".s:bright
-" let s:base0 = "4".s:bright
-" let s:base1 = "6".s:bright
-" let s:base2 = "7"
-" let s:base3 = "7".s:bright
-" let s:yellow = "3"
-" let s:orange = "1".s:bright
-" let s:red = "1"
-" let s:magenta = "5"
-" let s:violet = "5".s:bright
-" let s:blue = "4"
-" let s:cyan = "6"
-" let s:green = "2"
- let s:base03 = "DarkGray" " 0*
- let s:base02 = "Black" " 0
- let s:base01 = "LightGreen" " 2*
- let s:base00 = "LightYellow" " 3*
- let s:base0 = "LightBlue" " 4*
- let s:base1 = "LightCyan" " 6*
- let s:base2 = "LightGray" " 7
- let s:base3 = "White" " 7*
- let s:yellow = "DarkYellow" " 3
- let s:orange = "LightRed" " 1*
- let s:red = "DarkRed" " 1
- let s:magenta = "DarkMagenta" " 5
- let s:violet = "LightMagenta" " 5*
- let s:blue = "DarkBlue" " 4
- let s:cyan = "DarkCyan" " 6
- let s:green = "DarkGreen" " 2
-
-endif
-"}}}
-" Formatting options and null values for passthrough effect "{{{
-" ---------------------------------------------------------------------
- let s:none = "NONE"
- let s:none = "NONE"
- let s:t_none = "NONE"
- let s:n = "NONE"
- let s:c = ",undercurl"
- let s:r = ",reverse"
- let s:s = ",standout"
- let s:ou = ""
- let s:ob = ""
-"}}}
-" Background value based on termtrans setting "{{{
-" ---------------------------------------------------------------------
-if (has("gui_running") || g:solarized_termtrans == 0)
- let s:back = s:base03
-else
- let s:back = "NONE"
-endif
-"}}}
-" Alternate light scheme "{{{
-" ---------------------------------------------------------------------
-if &background == "light"
- let s:temp03 = s:base03
- let s:temp02 = s:base02
- let s:temp01 = s:base01
- let s:temp00 = s:base00
- let s:base03 = s:base3
- let s:base02 = s:base2
- let s:base01 = s:base1
- let s:base00 = s:base0
- let s:base0 = s:temp00
- let s:base1 = s:temp01
- let s:base2 = s:temp02
- let s:base3 = s:temp03
- if (s:back != "NONE")
- let s:back = s:base03
- endif
-endif
-"}}}
-" Optional contrast schemes "{{{
-" ---------------------------------------------------------------------
-if g:solarized_contrast == "high"
- let s:base01 = s:base00
- let s:base00 = s:base0
- let s:base0 = s:base1
- let s:base1 = s:base2
- let s:base2 = s:base3
- let s:back = s:back
-endif
-if g:solarized_contrast == "low"
- let s:back = s:base02
- let s:ou = ",underline"
-endif
-"}}}
-" Overrides dependent on user specified values and environment "{{{
-" ---------------------------------------------------------------------
-if (g:solarized_bold == 0 || &t_Co == 8 )
- let s:b = ""
- let s:bb = ",bold"
-else
- let s:b = ",bold"
- let s:bb = ""
-endif
-
-if g:solarized_underline == 0
- let s:u = ""
-else
- let s:u = ",underline"
-endif
-
-if g:solarized_italic == 0 || s:terminal_italic == 0
- let s:i = ""
-else
- let s:i = ",italic"
-endif
-"}}}
-" Highlighting primitives"{{{
-" ---------------------------------------------------------------------
-
-exe "let s:bg_none = ' ".s:vmode."bg=".s:none ."'"
-exe "let s:bg_back = ' ".s:vmode."bg=".s:back ."'"
-exe "let s:bg_base03 = ' ".s:vmode."bg=".s:base03 ."'"
-exe "let s:bg_base02 = ' ".s:vmode."bg=".s:base02 ."'"
-exe "let s:bg_base01 = ' ".s:vmode."bg=".s:base01 ."'"
-exe "let s:bg_base00 = ' ".s:vmode."bg=".s:base00 ."'"
-exe "let s:bg_base0 = ' ".s:vmode."bg=".s:base0 ."'"
-exe "let s:bg_base1 = ' ".s:vmode."bg=".s:base1 ."'"
-exe "let s:bg_base2 = ' ".s:vmode."bg=".s:base2 ."'"
-exe "let s:bg_base3 = ' ".s:vmode."bg=".s:base3 ."'"
-exe "let s:bg_green = ' ".s:vmode."bg=".s:green ."'"
-exe "let s:bg_yellow = ' ".s:vmode."bg=".s:yellow ."'"
-exe "let s:bg_orange = ' ".s:vmode."bg=".s:orange ."'"
-exe "let s:bg_red = ' ".s:vmode."bg=".s:red ."'"
-exe "let s:bg_magenta = ' ".s:vmode."bg=".s:magenta."'"
-exe "let s:bg_violet = ' ".s:vmode."bg=".s:violet ."'"
-exe "let s:bg_blue = ' ".s:vmode."bg=".s:blue ."'"
-exe "let s:bg_cyan = ' ".s:vmode."bg=".s:cyan ."'"
-
-exe "let s:fg_none = ' ".s:vmode."fg=".s:none ."'"
-exe "let s:fg_back = ' ".s:vmode."fg=".s:back ."'"
-exe "let s:fg_base03 = ' ".s:vmode."fg=".s:base03 ."'"
-exe "let s:fg_base02 = ' ".s:vmode."fg=".s:base02 ."'"
-exe "let s:fg_base01 = ' ".s:vmode."fg=".s:base01 ."'"
-exe "let s:fg_base00 = ' ".s:vmode."fg=".s:base00 ."'"
-exe "let s:fg_base0 = ' ".s:vmode."fg=".s:base0 ."'"
-exe "let s:fg_base1 = ' ".s:vmode."fg=".s:base1 ."'"
-exe "let s:fg_base2 = ' ".s:vmode."fg=".s:base2 ."'"
-exe "let s:fg_base3 = ' ".s:vmode."fg=".s:base3 ."'"
-exe "let s:fg_green = ' ".s:vmode."fg=".s:green ."'"
-exe "let s:fg_yellow = ' ".s:vmode."fg=".s:yellow ."'"
-exe "let s:fg_orange = ' ".s:vmode."fg=".s:orange ."'"
-exe "let s:fg_red = ' ".s:vmode."fg=".s:red ."'"
-exe "let s:fg_magenta = ' ".s:vmode."fg=".s:magenta."'"
-exe "let s:fg_violet = ' ".s:vmode."fg=".s:violet ."'"
-exe "let s:fg_blue = ' ".s:vmode."fg=".s:blue ."'"
-exe "let s:fg_cyan = ' ".s:vmode."fg=".s:cyan ."'"
-
-exe "let s:fmt_none = ' ".s:vmode."=NONE". " term=NONE". "'"
-exe "let s:fmt_bold = ' ".s:vmode."=NONE".s:b. " term=NONE".s:b."'"
-exe "let s:fmt_bldi = ' ".s:vmode."=NONE".s:b. " term=NONE".s:b."'"
-exe "let s:fmt_undr = ' ".s:vmode."=NONE".s:u. " term=NONE".s:u."'"
-exe "let s:fmt_undb = ' ".s:vmode."=NONE".s:u.s:b. " term=NONE".s:u.s:b."'"
-exe "let s:fmt_undi = ' ".s:vmode."=NONE".s:u. " term=NONE".s:u."'"
-exe "let s:fmt_uopt = ' ".s:vmode."=NONE".s:ou. " term=NONE".s:ou."'"
-exe "let s:fmt_curl = ' ".s:vmode."=NONE".s:c. " term=NONE".s:c."'"
-exe "let s:fmt_ital = ' ".s:vmode."=NONE".s:i. " term=NONE".s:i."'"
-exe "let s:fmt_stnd = ' ".s:vmode."=NONE".s:s. " term=NONE".s:s."'"
-exe "let s:fmt_revr = ' ".s:vmode."=NONE".s:r. " term=NONE".s:r."'"
-exe "let s:fmt_revb = ' ".s:vmode."=NONE".s:r.s:b. " term=NONE".s:r.s:b."'"
-" revbb (reverse bold for bright colors) is only set to actual bold in low
-" color terminals (t_co=8, such as OS X Terminal.app) and should only be used
-" with colors 8-15.
-exe "let s:fmt_revbb = ' ".s:vmode."=NONE".s:r.s:bb. " term=NONE".s:r.s:bb."'"
-exe "let s:fmt_revbbu = ' ".s:vmode."=NONE".s:r.s:bb.s:u." term=NONE".s:r.s:bb.s:u."'"
-
-if has("gui_running")
- exe "let s:sp_none = ' guisp=".s:none ."'"
- exe "let s:sp_back = ' guisp=".s:back ."'"
- exe "let s:sp_base03 = ' guisp=".s:base03 ."'"
- exe "let s:sp_base02 = ' guisp=".s:base02 ."'"
- exe "let s:sp_base01 = ' guisp=".s:base01 ."'"
- exe "let s:sp_base00 = ' guisp=".s:base00 ."'"
- exe "let s:sp_base0 = ' guisp=".s:base0 ."'"
- exe "let s:sp_base1 = ' guisp=".s:base1 ."'"
- exe "let s:sp_base2 = ' guisp=".s:base2 ."'"
- exe "let s:sp_base3 = ' guisp=".s:base3 ."'"
- exe "let s:sp_green = ' guisp=".s:green ."'"
- exe "let s:sp_yellow = ' guisp=".s:yellow ."'"
- exe "let s:sp_orange = ' guisp=".s:orange ."'"
- exe "let s:sp_red = ' guisp=".s:red ."'"
- exe "let s:sp_magenta = ' guisp=".s:magenta."'"
- exe "let s:sp_violet = ' guisp=".s:violet ."'"
- exe "let s:sp_blue = ' guisp=".s:blue ."'"
- exe "let s:sp_cyan = ' guisp=".s:cyan ."'"
-else
- let s:sp_none = ""
- let s:sp_back = ""
- let s:sp_base03 = ""
- let s:sp_base02 = ""
- let s:sp_base01 = ""
- let s:sp_base00 = ""
- let s:sp_base0 = ""
- let s:sp_base1 = ""
- let s:sp_base2 = ""
- let s:sp_base3 = ""
- let s:sp_green = ""
- let s:sp_yellow = ""
- let s:sp_orange = ""
- let s:sp_red = ""
- let s:sp_magenta = ""
- let s:sp_violet = ""
- let s:sp_blue = ""
- let s:sp_cyan = ""
-endif
-
-"}}}
-" Basic highlighting"{{{
-" ---------------------------------------------------------------------
-" note that link syntax to avoid duplicate configuration doesn't work with the
-" exe compiled formats
-
-exe "hi! Normal" .s:fmt_none .s:fg_base0 .s:bg_back
-
-exe "hi! Comment" .s:fmt_ital .s:fg_base01 .s:bg_none
-" *Comment any comment
-
-exe "hi! Constant" .s:fmt_none .s:fg_cyan .s:bg_none
-" *Constant any constant
-" String a string constant: "this is a string"
-" Character a character constant: 'c', '\n'
-" Number a number constant: 234, 0xff
-" Boolean a boolean constant: TRUE, false
-" Float a floating point constant: 2.3e10
-
-exe "hi! Identifier" .s:fmt_none .s:fg_blue .s:bg_none
-" *Identifier any variable name
-" Function function name (also: methods for classes)
-"
-exe "hi! Statement" .s:fmt_none .s:fg_green .s:bg_none
-" *Statement any statement
-" Conditional if, then, else, endif, switch, etc.
-" Repeat for, do, while, etc.
-" Label case, default, etc.
-" Operator "sizeof", "+", "*", etc.
-" Keyword any other keyword
-" Exception try, catch, throw
-
-exe "hi! PreProc" .s:fmt_none .s:fg_orange .s:bg_none
-" *PreProc generic Preprocessor
-" Include preprocessor #include
-" Define preprocessor #define
-" Macro same as Define
-" PreCondit preprocessor #if, #else, #endif, etc.
-
-exe "hi! Type" .s:fmt_none .s:fg_yellow .s:bg_none
-" *Type int, long, char, etc.
-" StorageClass static, register, volatile, etc.
-" Structure struct, union, enum, etc.
-" Typedef A typedef
-
-exe "hi! Special" .s:fmt_none .s:fg_red .s:bg_none
-" *Special any special symbol
-" SpecialChar special character in a constant
-" Tag you can use CTRL-] on this
-" Delimiter character that needs attention
-" SpecialComment special things inside a comment
-" Debug debugging statements
-
-exe "hi! Underlined" .s:fmt_none .s:fg_violet .s:bg_none
-" *Underlined text that stands out, HTML links
-
-exe "hi! Ignore" .s:fmt_none .s:fg_none .s:bg_none
-" *Ignore left blank, hidden |hl-Ignore|
-
-exe "hi! Error" .s:fmt_bold .s:fg_red .s:bg_none
-" *Error any erroneous construct
-
-exe "hi! Todo" .s:fmt_bold .s:fg_magenta.s:bg_none
-" *Todo anything that needs extra attention; mostly the
-" keywords TODO FIXME and XXX
-"
-"}}}
-" Extended highlighting "{{{
-" ---------------------------------------------------------------------
-if (g:solarized_visibility=="high")
- exe "hi! SpecialKey" .s:fmt_revr .s:fg_red .s:bg_none
- exe "hi! NonText" .s:fmt_bold .s:fg_red .s:bg_none
-elseif (g:solarized_visibility=="low")
- exe "hi! SpecialKey" .s:fmt_bold .s:fg_base02 .s:bg_none
- exe "hi! NonText" .s:fmt_bold .s:fg_base02 .s:bg_none
-else
- exe "hi! SpecialKey" .s:fmt_bold .s:fg_base00 .s:bg_base02
- exe "hi! NonText" .s:fmt_bold .s:fg_base00 .s:bg_none
-endif
-exe "hi! StatusLine" .s:fmt_none .s:fg_base1 .s:bg_base02 .s:fmt_revbb
-exe "hi! StatusLineNC" .s:fmt_none .s:fg_base00 .s:bg_base02 .s:fmt_revbb
-exe "hi! Visual" .s:fmt_none .s:fg_base01 .s:bg_base03 .s:fmt_revbb
-exe "hi! Directory" .s:fmt_none .s:fg_blue .s:bg_none
-exe "hi! ErrorMsg" .s:fmt_revr .s:fg_red .s:bg_none
-exe "hi! IncSearch" .s:fmt_stnd .s:fg_orange .s:bg_none
-exe "hi! Search" .s:fmt_revr .s:fg_base2 .s:bg_red
-exe "hi! MoreMsg" .s:fmt_none .s:fg_blue .s:bg_none
-exe "hi! ModeMsg" .s:fmt_none .s:fg_blue .s:bg_none
-exe "hi! LineNr" .s:fmt_none .s:fg_base01 .s:bg_base02
-exe "hi! Question" .s:fmt_bold .s:fg_cyan .s:bg_none
-if ( has("gui_running") || &t_Co > 8 )
- exe "hi! VertSplit" .s:fmt_none .s:fg_base00 .s:bg_base00
-else
- exe "hi! VertSplit" .s:fmt_revbb .s:fg_base00 .s:bg_base02
-endif
-exe "hi! Title" .s:fmt_bold .s:fg_orange .s:bg_none
-exe "hi! VisualNOS" .s:fmt_stnd .s:fg_none .s:bg_base02 .s:fmt_revbb
-exe "hi! WarningMsg" .s:fmt_bold .s:fg_red .s:bg_none
-exe "hi! WildMenu" .s:fmt_none .s:fg_base2 .s:bg_base02 .s:fmt_revbb
-exe "hi! Folded" .s:fmt_undb .s:fg_base0 .s:bg_base02 .s:sp_base03
-exe "hi! FoldColumn" .s:fmt_none .s:fg_base0 .s:bg_base02
-if (g:solarized_diffmode=="high")
-exe "hi! DiffAdd" .s:fmt_revr .s:fg_green .s:bg_none
-exe "hi! DiffChange" .s:fmt_revr .s:fg_yellow .s:bg_none
-exe "hi! DiffDelete" .s:fmt_revr .s:fg_red .s:bg_none
-exe "hi! DiffText" .s:fmt_revr .s:fg_blue .s:bg_none
-elseif (g:solarized_diffmode=="low")
-exe "hi! DiffAdd" .s:fmt_undr .s:fg_green .s:bg_none .s:sp_green
-exe "hi! DiffChange" .s:fmt_undr .s:fg_yellow .s:bg_none .s:sp_yellow
-exe "hi! DiffDelete" .s:fmt_bold .s:fg_red .s:bg_none
-exe "hi! DiffText" .s:fmt_undr .s:fg_blue .s:bg_none .s:sp_blue
-else " normal
- if has("gui_running")
-exe "hi! DiffAdd" .s:fmt_bold .s:fg_green .s:bg_base02 .s:sp_green
-exe "hi! DiffChange" .s:fmt_bold .s:fg_yellow .s:bg_base02 .s:sp_yellow
-exe "hi! DiffDelete" .s:fmt_bold .s:fg_red .s:bg_base02
-exe "hi! DiffText" .s:fmt_bold .s:fg_blue .s:bg_base02 .s:sp_blue
- else
-exe "hi! DiffAdd" .s:fmt_none .s:fg_green .s:bg_base02 .s:sp_green
-exe "hi! DiffChange" .s:fmt_none .s:fg_yellow .s:bg_base02 .s:sp_yellow
-exe "hi! DiffDelete" .s:fmt_none .s:fg_red .s:bg_base02
-exe "hi! DiffText" .s:fmt_none .s:fg_blue .s:bg_base02 .s:sp_blue
- endif
-endif
-exe "hi! SignColumn" .s:fmt_none .s:fg_base0
-exe "hi! Conceal" .s:fmt_none .s:fg_blue .s:bg_none
-exe "hi! SpellBad" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_red
-exe "hi! SpellCap" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_violet
-exe "hi! SpellRare" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_cyan
-exe "hi! SpellLocal" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_yellow
-exe "hi! Pmenu" .s:fmt_none .s:fg_base0 .s:bg_base02 .s:fmt_revbb
-exe "hi! PmenuSel" .s:fmt_none .s:fg_base01 .s:bg_base2 .s:fmt_revbb
-exe "hi! PmenuSbar" .s:fmt_none .s:fg_base2 .s:bg_base0 .s:fmt_revbb
-exe "hi! PmenuThumb" .s:fmt_none .s:fg_base0 .s:bg_base03 .s:fmt_revbb
-exe "hi! TabLine" .s:fmt_undr .s:fg_base0 .s:bg_base02 .s:sp_base0
-exe "hi! TabLineFill" .s:fmt_undr .s:fg_base0 .s:bg_base02 .s:sp_base0
-exe "hi! TabLineSel" .s:fmt_undr .s:fg_base01 .s:bg_base2 .s:sp_base0 .s:fmt_revbbu
-exe "hi! CursorColumn" .s:fmt_none .s:fg_none .s:bg_base02
-exe "hi! CursorLine" .s:fmt_uopt .s:fg_none .s:bg_base02 .s:sp_base1
-exe "hi! ColorColumn" .s:fmt_none .s:fg_none .s:bg_base02
-exe "hi! Cursor" .s:fmt_none .s:fg_base03 .s:bg_base0
-hi! link lCursor Cursor
-exe "hi! MatchParen" .s:fmt_bold .s:fg_red .s:bg_base01
-
-"}}}
-" vim syntax highlighting "{{{
-" ---------------------------------------------------------------------
-"exe "hi! vimLineComment" . s:fg_base01 .s:bg_none .s:fmt_ital
-"hi! link vimComment Comment
-"hi! link vimLineComment Comment
-hi! link vimVar Identifier
-hi! link vimFunc Function
-hi! link vimUserFunc Function
-hi! link helpSpecial Special
-hi! link vimSet Normal
-hi! link vimSetEqual Normal
-exe "hi! vimCommentString" .s:fmt_none .s:fg_violet .s:bg_none
-exe "hi! vimCommand" .s:fmt_none .s:fg_yellow .s:bg_none
-exe "hi! vimCmdSep" .s:fmt_bold .s:fg_blue .s:bg_none
-exe "hi! helpExample" .s:fmt_none .s:fg_base1 .s:bg_none
-exe "hi! helpOption" .s:fmt_none .s:fg_cyan .s:bg_none
-exe "hi! helpNote" .s:fmt_none .s:fg_magenta.s:bg_none
-exe "hi! helpVim" .s:fmt_none .s:fg_magenta.s:bg_none
-exe "hi! helpHyperTextJump" .s:fmt_undr .s:fg_blue .s:bg_none
-exe "hi! helpHyperTextEntry".s:fmt_none .s:fg_green .s:bg_none
-exe "hi! vimIsCommand" .s:fmt_none .s:fg_base00 .s:bg_none
-exe "hi! vimSynMtchOpt" .s:fmt_none .s:fg_yellow .s:bg_none
-exe "hi! vimSynType" .s:fmt_none .s:fg_cyan .s:bg_none
-exe "hi! vimHiLink" .s:fmt_none .s:fg_blue .s:bg_none
-exe "hi! vimHiGroup" .s:fmt_none .s:fg_blue .s:bg_none
-exe "hi! vimGroup" .s:fmt_undb .s:fg_blue .s:bg_none
-"}}}
-" diff highlighting "{{{
-" ---------------------------------------------------------------------
-hi! link diffAdded Statement
-hi! link diffLine Identifier
-"}}}
-" git & gitcommit highlighting "{{{
-"git
-"exe "hi! gitDateHeader"
-"exe "hi! gitIdentityHeader"
-"exe "hi! gitIdentityKeyword"
-"exe "hi! gitNotesHeader"
-"exe "hi! gitReflogHeader"
-"exe "hi! gitKeyword"
-"exe "hi! gitIdentity"
-"exe "hi! gitEmailDelimiter"
-"exe "hi! gitEmail"
-"exe "hi! gitDate"
-"exe "hi! gitMode"
-"exe "hi! gitHashAbbrev"
-"exe "hi! gitHash"
-"exe "hi! gitReflogMiddle"
-"exe "hi! gitReference"
-"exe "hi! gitStage"
-"exe "hi! gitType"
-"exe "hi! gitDiffAdded"
-"exe "hi! gitDiffRemoved"
-"gitcommit
-"exe "hi! gitcommitSummary"
-exe "hi! gitcommitComment" .s:fmt_ital .s:fg_base01 .s:bg_none
-hi! link gitcommitUntracked gitcommitComment
-hi! link gitcommitDiscarded gitcommitComment
-hi! link gitcommitSelected gitcommitComment
-exe "hi! gitcommitUnmerged" .s:fmt_bold .s:fg_green .s:bg_none
-exe "hi! gitcommitOnBranch" .s:fmt_bold .s:fg_base01 .s:bg_none
-exe "hi! gitcommitBranch" .s:fmt_bold .s:fg_magenta .s:bg_none
-hi! link gitcommitNoBranch gitcommitBranch
-exe "hi! gitcommitDiscardedType".s:fmt_none .s:fg_red .s:bg_none
-exe "hi! gitcommitSelectedType" .s:fmt_none .s:fg_green .s:bg_none
-"exe "hi! gitcommitUnmergedType"
-"exe "hi! gitcommitType"
-"exe "hi! gitcommitNoChanges"
-"exe "hi! gitcommitHeader"
-exe "hi! gitcommitHeader" .s:fmt_none .s:fg_base01 .s:bg_none
-exe "hi! gitcommitUntrackedFile".s:fmt_bold .s:fg_cyan .s:bg_none
-exe "hi! gitcommitDiscardedFile".s:fmt_bold .s:fg_red .s:bg_none
-exe "hi! gitcommitSelectedFile" .s:fmt_bold .s:fg_green .s:bg_none
-exe "hi! gitcommitUnmergedFile" .s:fmt_bold .s:fg_yellow .s:bg_none
-exe "hi! gitcommitFile" .s:fmt_bold .s:fg_base0 .s:bg_none
-hi! link gitcommitDiscardedArrow gitcommitDiscardedFile
-hi! link gitcommitSelectedArrow gitcommitSelectedFile
-hi! link gitcommitUnmergedArrow gitcommitUnmergedFile
-"exe "hi! gitcommitArrow"
-"exe "hi! gitcommitOverflow"
-"exe "hi! gitcommitBlank"
-" }}}
-" html highlighting "{{{
-" ---------------------------------------------------------------------
-exe "hi! htmlTag" .s:fmt_none .s:fg_base01 .s:bg_none
-exe "hi! htmlEndTag" .s:fmt_none .s:fg_base01 .s:bg_none
-exe "hi! htmlTagN" .s:fmt_bold .s:fg_base1 .s:bg_none
-exe "hi! htmlTagName" .s:fmt_bold .s:fg_blue .s:bg_none
-exe "hi! htmlSpecialTagName".s:fmt_ital .s:fg_blue .s:bg_none
-exe "hi! htmlArg" .s:fmt_none .s:fg_base00 .s:bg_none
-exe "hi! javaScript" .s:fmt_none .s:fg_yellow .s:bg_none
-"}}}
-" perl highlighting "{{{
-" ---------------------------------------------------------------------
-exe "hi! perlHereDoc" . s:fg_base1 .s:bg_back .s:fmt_none
-exe "hi! perlVarPlain" . s:fg_yellow .s:bg_back .s:fmt_none
-exe "hi! perlStatementFileDesc". s:fg_cyan.s:bg_back.s:fmt_none
-
-"}}}
-" tex highlighting "{{{
-" ---------------------------------------------------------------------
-exe "hi! texStatement" . s:fg_cyan .s:bg_back .s:fmt_none
-exe "hi! texMathZoneX" . s:fg_yellow .s:bg_back .s:fmt_none
-exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back .s:fmt_none
-exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back .s:fmt_none
-exe "hi! texRefLabel" . s:fg_yellow .s:bg_back .s:fmt_none
-"}}}
-" ruby highlighting "{{{
-" ---------------------------------------------------------------------
-exe "hi! rubyDefine" . s:fg_base1 .s:bg_back .s:fmt_bold
-"rubyInclude
-"rubySharpBang
-"rubyAccess
-"rubyPredefinedVariable
-"rubyBoolean
-"rubyClassVariable
-"rubyBeginEnd
-"rubyRepeatModifier
-"hi! link rubyArrayDelimiter Special " [ , , ]
-"rubyCurlyBlock { , , }
-
-"hi! link rubyClass Keyword
-"hi! link rubyModule Keyword
-"hi! link rubyKeyword Keyword
-"hi! link rubyOperator Operator
-"hi! link rubyIdentifier Identifier
-"hi! link rubyInstanceVariable Identifier
-"hi! link rubyGlobalVariable Identifier
-"hi! link rubyClassVariable Identifier
-"hi! link rubyConstant Type
-"}}}
-" haskell syntax highlighting"{{{
-" ---------------------------------------------------------------------
-" For use with syntax/haskell.vim : Haskell Syntax File
-" http://www.vim.org/scripts/script.php?script_id=3034
-" See also Steffen Siering's github repository:
-" http://github.com/urso/dotrc/blob/master/vim/syntax/haskell.vim
-" ---------------------------------------------------------------------
-"
-" Treat True and False specially, see the plugin referenced above
-let hs_highlight_boolean=1
-" highlight delims, see the plugin referenced above
-let hs_highlight_delimiters=1
-
-exe "hi! cPreCondit". s:fg_orange.s:bg_none .s:fmt_none
-
-exe "hi! VarId" . s:fg_blue .s:bg_none .s:fmt_none
-exe "hi! ConId" . s:fg_yellow .s:bg_none .s:fmt_none
-exe "hi! hsImport" . s:fg_magenta.s:bg_none .s:fmt_none
-exe "hi! hsString" . s:fg_base00 .s:bg_none .s:fmt_none
-
-exe "hi! hsStructure" . s:fg_cyan .s:bg_none .s:fmt_none
-exe "hi! hs_hlFunctionName" . s:fg_blue .s:bg_none
-exe "hi! hsStatement" . s:fg_cyan .s:bg_none .s:fmt_none
-exe "hi! hsImportLabel" . s:fg_cyan .s:bg_none .s:fmt_none
-exe "hi! hs_OpFunctionName" . s:fg_yellow .s:bg_none .s:fmt_none
-exe "hi! hs_DeclareFunction" . s:fg_orange .s:bg_none .s:fmt_none
-exe "hi! hsVarSym" . s:fg_cyan .s:bg_none .s:fmt_none
-exe "hi! hsType" . s:fg_yellow .s:bg_none .s:fmt_none
-exe "hi! hsTypedef" . s:fg_cyan .s:bg_none .s:fmt_none
-exe "hi! hsModuleName" . s:fg_green .s:bg_none .s:fmt_undr
-exe "hi! hsModuleStartLabel" . s:fg_magenta.s:bg_none .s:fmt_none
-hi! link hsImportParams Delimiter
-hi! link hsDelimTypeExport Delimiter
-hi! link hsModuleStartLabel hsStructure
-hi! link hsModuleWhereLabel hsModuleStartLabel
-
-" following is for the haskell-conceal plugin
-" the first two items don't have an impact, but better safe
-exe "hi! hsNiceOperator" . s:fg_cyan .s:bg_none .s:fmt_none
-exe "hi! hsniceoperator" . s:fg_cyan .s:bg_none .s:fmt_none
-
-"}}}
-" pandoc markdown syntax highlighting "{{{
-" ---------------------------------------------------------------------
-
-"PandocHiLink pandocNormalBlock
-exe "hi! pandocTitleBlock" .s:fg_blue .s:bg_none .s:fmt_none
-exe "hi! pandocTitleBlockTitle" .s:fg_blue .s:bg_none .s:fmt_bold
-exe "hi! pandocTitleComment" .s:fg_blue .s:bg_none .s:fmt_bold
-exe "hi! pandocComment" .s:fg_base01 .s:bg_none .s:fmt_ital
-exe "hi! pandocVerbatimBlock" .s:fg_yellow .s:bg_none .s:fmt_none
-hi! link pandocVerbatimBlockDeep pandocVerbatimBlock
-hi! link pandocCodeBlock pandocVerbatimBlock
-hi! link pandocCodeBlockDelim pandocVerbatimBlock
-exe "hi! pandocBlockQuote" .s:fg_blue .s:bg_none .s:fmt_none
-exe "hi! pandocBlockQuoteLeader1" .s:fg_blue .s:bg_none .s:fmt_none
-exe "hi! pandocBlockQuoteLeader2" .s:fg_cyan .s:bg_none .s:fmt_none
-exe "hi! pandocBlockQuoteLeader3" .s:fg_yellow .s:bg_none .s:fmt_none
-exe "hi! pandocBlockQuoteLeader4" .s:fg_red .s:bg_none .s:fmt_none
-exe "hi! pandocBlockQuoteLeader5" .s:fg_base0 .s:bg_none .s:fmt_none
-exe "hi! pandocBlockQuoteLeader6" .s:fg_base01 .s:bg_none .s:fmt_none
-exe "hi! pandocListMarker" .s:fg_magenta.s:bg_none .s:fmt_none
-exe "hi! pandocListReference" .s:fg_magenta.s:bg_none .s:fmt_undr
-
-" Definitions
-" ---------------------------------------------------------------------
-let s:fg_pdef = s:fg_violet
-exe "hi! pandocDefinitionBlock" .s:fg_pdef .s:bg_none .s:fmt_none
-exe "hi! pandocDefinitionTerm" .s:fg_pdef .s:bg_none .s:fmt_stnd
-exe "hi! pandocDefinitionIndctr" .s:fg_pdef .s:bg_none .s:fmt_bold
-exe "hi! pandocEmphasisDefinition" .s:fg_pdef .s:bg_none .s:fmt_ital
-exe "hi! pandocEmphasisNestedDefinition" .s:fg_pdef .s:bg_none .s:fmt_bldi
-exe "hi! pandocStrongEmphasisDefinition" .s:fg_pdef .s:bg_none .s:fmt_bold
-exe "hi! pandocStrongEmphasisNestedDefinition" .s:fg_pdef.s:bg_none.s:fmt_bldi
-exe "hi! pandocStrongEmphasisEmphasisDefinition" .s:fg_pdef.s:bg_none.s:fmt_bldi
-exe "hi! pandocStrikeoutDefinition" .s:fg_pdef .s:bg_none .s:fmt_revr
-exe "hi! pandocVerbatimInlineDefinition" .s:fg_pdef .s:bg_none .s:fmt_none
-exe "hi! pandocSuperscriptDefinition" .s:fg_pdef .s:bg_none .s:fmt_none
-exe "hi! pandocSubscriptDefinition" .s:fg_pdef .s:bg_none .s:fmt_none
-
-" Tables
-" ---------------------------------------------------------------------
-let s:fg_ptable = s:fg_blue
-exe "hi! pandocTable" .s:fg_ptable.s:bg_none .s:fmt_none
-exe "hi! pandocTableStructure" .s:fg_ptable.s:bg_none .s:fmt_none
-hi! link pandocTableStructureTop pandocTableStructre
-hi! link pandocTableStructureEnd pandocTableStructre
-exe "hi! pandocTableZebraLight" .s:fg_ptable.s:bg_base03.s:fmt_none
-exe "hi! pandocTableZebraDark" .s:fg_ptable.s:bg_base02.s:fmt_none
-exe "hi! pandocEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_ital
-exe "hi! pandocEmphasisNestedTable" .s:fg_ptable.s:bg_none .s:fmt_bldi
-exe "hi! pandocStrongEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_bold
-exe "hi! pandocStrongEmphasisNestedTable" .s:fg_ptable.s:bg_none .s:fmt_bldi
-exe "hi! pandocStrongEmphasisEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_bldi
-exe "hi! pandocStrikeoutTable" .s:fg_ptable.s:bg_none .s:fmt_revr
-exe "hi! pandocVerbatimInlineTable" .s:fg_ptable.s:bg_none .s:fmt_none
-exe "hi! pandocSuperscriptTable" .s:fg_ptable.s:bg_none .s:fmt_none
-exe "hi! pandocSubscriptTable" .s:fg_ptable.s:bg_none .s:fmt_none
-
-" Headings
-" ---------------------------------------------------------------------
-let s:fg_phead = s:fg_orange
-exe "hi! pandocHeading" .s:fg_phead .s:bg_none.s:fmt_bold
-exe "hi! pandocHeadingMarker" .s:fg_yellow.s:bg_none.s:fmt_bold
-exe "hi! pandocEmphasisHeading" .s:fg_phead .s:bg_none.s:fmt_bldi
-exe "hi! pandocEmphasisNestedHeading" .s:fg_phead .s:bg_none.s:fmt_bldi
-exe "hi! pandocStrongEmphasisHeading" .s:fg_phead .s:bg_none.s:fmt_bold
-exe "hi! pandocStrongEmphasisNestedHeading" .s:fg_phead .s:bg_none.s:fmt_bldi
-exe "hi! pandocStrongEmphasisEmphasisHeading".s:fg_phead .s:bg_none.s:fmt_bldi
-exe "hi! pandocStrikeoutHeading" .s:fg_phead .s:bg_none.s:fmt_revr
-exe "hi! pandocVerbatimInlineHeading" .s:fg_phead .s:bg_none.s:fmt_bold
-exe "hi! pandocSuperscriptHeading" .s:fg_phead .s:bg_none.s:fmt_bold
-exe "hi! pandocSubscriptHeading" .s:fg_phead .s:bg_none.s:fmt_bold
-
-" Links
-" ---------------------------------------------------------------------
-exe "hi! pandocLinkDelim" .s:fg_base01 .s:bg_none .s:fmt_none
-exe "hi! pandocLinkLabel" .s:fg_blue .s:bg_none .s:fmt_undr
-exe "hi! pandocLinkText" .s:fg_blue .s:bg_none .s:fmt_undb
-exe "hi! pandocLinkURL" .s:fg_base00 .s:bg_none .s:fmt_undr
-exe "hi! pandocLinkTitle" .s:fg_base00 .s:bg_none .s:fmt_undi
-exe "hi! pandocLinkTitleDelim" .s:fg_base01 .s:bg_none .s:fmt_undi .s:sp_base00
-exe "hi! pandocLinkDefinition" .s:fg_cyan .s:bg_none .s:fmt_undr .s:sp_base00
-exe "hi! pandocLinkDefinitionID" .s:fg_blue .s:bg_none .s:fmt_bold
-exe "hi! pandocImageCaption" .s:fg_violet .s:bg_none .s:fmt_undb
-exe "hi! pandocFootnoteLink" .s:fg_green .s:bg_none .s:fmt_undr
-exe "hi! pandocFootnoteDefLink" .s:fg_green .s:bg_none .s:fmt_bold
-exe "hi! pandocFootnoteInline" .s:fg_green .s:bg_none .s:fmt_undb
-exe "hi! pandocFootnote" .s:fg_green .s:bg_none .s:fmt_none
-exe "hi! pandocCitationDelim" .s:fg_magenta.s:bg_none .s:fmt_none
-exe "hi! pandocCitation" .s:fg_magenta.s:bg_none .s:fmt_none
-exe "hi! pandocCitationID" .s:fg_magenta.s:bg_none .s:fmt_undr
-exe "hi! pandocCitationRef" .s:fg_magenta.s:bg_none .s:fmt_none
-
-" Main Styles
-" ---------------------------------------------------------------------
-exe "hi! pandocStyleDelim" .s:fg_base01 .s:bg_none .s:fmt_none
-exe "hi! pandocEmphasis" .s:fg_base0 .s:bg_none .s:fmt_ital
-exe "hi! pandocEmphasisNested" .s:fg_base0 .s:bg_none .s:fmt_bldi
-exe "hi! pandocStrongEmphasis" .s:fg_base0 .s:bg_none .s:fmt_bold
-exe "hi! pandocStrongEmphasisNested" .s:fg_base0 .s:bg_none .s:fmt_bldi
-exe "hi! pandocStrongEmphasisEmphasis" .s:fg_base0 .s:bg_none .s:fmt_bldi
-exe "hi! pandocStrikeout" .s:fg_base01 .s:bg_none .s:fmt_revr
-exe "hi! pandocVerbatimInline" .s:fg_yellow .s:bg_none .s:fmt_none
-exe "hi! pandocSuperscript" .s:fg_violet .s:bg_none .s:fmt_none
-exe "hi! pandocSubscript" .s:fg_violet .s:bg_none .s:fmt_none
-
-exe "hi! pandocRule" .s:fg_blue .s:bg_none .s:fmt_bold
-exe "hi! pandocRuleLine" .s:fg_blue .s:bg_none .s:fmt_bold
-exe "hi! pandocEscapePair" .s:fg_red .s:bg_none .s:fmt_bold
-exe "hi! pandocCitationRef" .s:fg_magenta.s:bg_none .s:fmt_none
-exe "hi! pandocNonBreakingSpace" . s:fg_red .s:bg_none .s:fmt_revr
-hi! link pandocEscapedCharacter pandocEscapePair
-hi! link pandocLineBreak pandocEscapePair
-
-" Embedded Code
-" ---------------------------------------------------------------------
-exe "hi! pandocMetadataDelim" .s:fg_base01 .s:bg_none .s:fmt_none
-exe "hi! pandocMetadata" .s:fg_blue .s:bg_none .s:fmt_none
-exe "hi! pandocMetadataKey" .s:fg_blue .s:bg_none .s:fmt_none
-exe "hi! pandocMetadata" .s:fg_blue .s:bg_none .s:fmt_bold
-hi! link pandocMetadataTitle pandocMetadata
-
-"}}}
-" Utility autocommand "{{{
-" ---------------------------------------------------------------------
-" In cases where Solarized is initialized inside a terminal vim session and
-" then transferred to a gui session via the command `:gui`, the gui vim process
-" does not re-read the colorscheme (or .vimrc for that matter) so any `has_gui`
-" related code that sets gui specific values isn't executed.
-"
-" Currently, Solarized sets only the cterm or gui values for the colorscheme
-" depending on gui or terminal mode. It's possible that, if the following
-" autocommand method is deemed excessively poor form, that approach will be
-" used again and the autocommand below will be dropped.
-"
-" However it seems relatively benign in this case to include the autocommand
-" here. It fires only in cases where vim is transferring from terminal to gui
-" mode (detected with the script scope s:vmode variable). It also allows for
-" other potential terminal customizations that might make gui mode suboptimal.
-"
-autocmd GUIEnter * if (s:vmode != "gui") | exe "colorscheme " . g:colors_name | endif
-"}}}
-" Highlight Trailing Space {{{
-" Experimental: Different highlight when on cursorline
-function! s:SolarizedHiTrail()
- if g:solarized_hitrail==0
- hi! clear solarizedTrailingSpace
- else
- syn match solarizedTrailingSpace "\s*$"
- exe "hi! solarizedTrailingSpace " .s:fmt_undr .s:fg_red .s:bg_none .s:sp_red
- endif
-endfunction
-augroup SolarizedHiTrail
- autocmd!
- if g:solarized_hitrail==1
- autocmd! Syntax * call s:SolarizedHiTrail()
- autocmd! ColorScheme * if g:colors_name == "solarized" | call s:SolarizedHiTrail() | else | augroup! s:SolarizedHiTrail | endif
- endif
-augroup END
-" }}}
-" Menus "{{{
-" ---------------------------------------------------------------------
-" Turn off Solarized menu by including the following assignment in your .vimrc:
-"
-" let g:solarized_menu=0
-
-function! s:SolarizedOptions()
- new "new buffer
- setf vim "vim filetype
- let failed = append(0, s:defaults_list)
- let failed = append(0, s:colorscheme_list)
- let failed = append(0, s:options_list)
- let failed = append(0, s:lazycat_list)
- 0 "jump back to the top
-endfunction
-if !exists(":SolarizedOptions")
- command SolarizedOptions :call s:SolarizedOptions()
-endif
-
-function! SolarizedMenu()
- if exists("g:loaded_solarized_menu")
- try
- silent! aunmenu Solarized
- endtry
- endif
- let g:loaded_solarized_menu = 1
-
- if g:colors_name == "solarized" && g:solarized_menu != 0
-
- amenu &Solarized.&Contrast.&Low\ Contrast :let g:solarized_contrast="low" \| colorscheme solarized<CR>
- amenu &Solarized.&Contrast.&Normal\ Contrast :let g:solarized_contrast="normal" \| colorscheme solarized<CR>
- amenu &Solarized.&Contrast.&High\ Contrast :let g:solarized_contrast="high" \| colorscheme solarized<CR>
- an &Solarized.&Contrast.-sep- <Nop>
- amenu &Solarized.&Contrast.&Help:\ Contrast :help 'solarized_contrast'<CR>
-
- amenu &Solarized.&Visibility.&Low\ Visibility :let g:solarized_visibility="low" \| colorscheme solarized<CR>
- amenu &Solarized.&Visibility.&Normal\ Visibility :let g:solarized_visibility="normal" \| colorscheme solarized<CR>
- amenu &Solarized.&Visibility.&High\ Visibility :let g:solarized_visibility="high" \| colorscheme solarized<CR>
- an &Solarized.&Visibility.-sep- <Nop>
- amenu &Solarized.&Visibility.&Help:\ Visibility :help 'solarized_visibility'<CR>
-
- amenu &Solarized.&Background.&Toggle\ Background :ToggleBG<CR>
- amenu &Solarized.&Background.&Dark\ Background :set background=dark \| colorscheme solarized<CR>
- amenu &Solarized.&Background.&Light\ Background :set background=light \| colorscheme solarized<CR>
- an &Solarized.&Background.-sep- <Nop>
- amenu &Solarized.&Background.&Help:\ ToggleBG :help togglebg<CR>
-
- if g:solarized_bold==0 | let l:boldswitch="On" | else | let l:boldswitch="Off" | endif
- exe "amenu &Solarized.&Styling.&Turn\\ Bold\\ ".l:boldswitch." :let g:solarized_bold=(abs(g:solarized_bold-1)) \\| colorscheme solarized<CR>"
- if g:solarized_italic==0 | let l:italicswitch="On" | else | let l:italicswitch="Off" | endif
- exe "amenu &Solarized.&Styling.&Turn\\ Italic\\ ".l:italicswitch." :let g:solarized_italic=(abs(g:solarized_italic-1)) \\| colorscheme solarized<CR>"
- if g:solarized_underline==0 | let l:underlineswitch="On" | else | let l:underlineswitch="Off" | endif
- exe "amenu &Solarized.&Styling.&Turn\\ Underline\\ ".l:underlineswitch." :let g:solarized_underline=(abs(g:solarized_underline-1)) \\| colorscheme solarized<CR>"
-
- amenu &Solarized.&Diff\ Mode.&Low\ Diff\ Mode :let g:solarized_diffmode="low" \| colorscheme solarized<CR>
- amenu &Solarized.&Diff\ Mode.&Normal\ Diff\ Mode :let g:solarized_diffmode="normal" \| colorscheme solarized<CR>
- amenu &Solarized.&Diff\ Mode.&High\ Diff\ Mode :let g:solarized_diffmode="high" \| colorscheme solarized<CR>
-
- if g:solarized_hitrail==0 | let l:hitrailswitch="On" | else | let l:hitrailswitch="Off" | endif
- exe "amenu &Solarized.&Experimental.&Turn\\ Highlight\\ Trailing\\ Spaces\\ ".l:hitrailswitch." :let g:solarized_hitrail=(abs(g:solarized_hitrail-1)) \\| colorscheme solarized<CR>"
- an &Solarized.&Experimental.-sep- <Nop>
- amenu &Solarized.&Experimental.&Help:\ HiTrail :help 'solarized_hitrail'<CR>
-
- an &Solarized.-sep1- <Nop>
-
- amenu &Solarized.&Autogenerate\ options :SolarizedOptions<CR>
-
- an &Solarized.-sep2- <Nop>
-
- amenu &Solarized.&Help.&Solarized\ Help :help solarized<CR>
- amenu &Solarized.&Help.&Toggle\ Background\ Help :help togglebg<CR>
- amenu &Solarized.&Help.&Removing\ This\ Menu :help solarized-menu<CR>
-
- an 9999.77 &Help.&Solarized\ Colorscheme :help solarized<CR>
- an 9999.78 &Help.&Toggle\ Background :help togglebg<CR>
- an 9999.79 &Help.-sep3- <Nop>
-
- endif
-endfunction
-
-autocmd ColorScheme * if g:colors_name != "solarized" | silent! aunmenu Solarized | else | call SolarizedMenu() | endif
-
-"}}}
-" License "{{{
-" ---------------------------------------------------------------------
-"
-" Copyright (c) 2011 Ethan Schoonover
-"
-" Permission is hereby granted, free of charge, to any person obtaining a copy
-" of this software and associated documentation files (the "Software"), to deal
-" in the Software without restriction, including without limitation the rights
-" to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-" copies of the Software, and to permit persons to whom the Software is
-" furnished to do so, subject to the following conditions:
-"
-" The above copyright notice and this permission notice shall be included in
-" all copies or substantial portions of the Software.
-"
-" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-" THE SOFTWARE.
-"
-" vim:foldmethod=marker:foldlevel=0
-"}}}
diff --git a/colors/zenburn.vim b/colors/zenburn.vim
deleted file mode 100644
index 923e2eb..0000000
--- a/colors/zenburn.vim
+++ /dev/null
@@ -1,560 +0,0 @@
-" Vim color file
-" Maintainer: Jani Nurminen <slinky@iki.fi>
-" Last Change: $Id: zenburn.vim,v 2.21 2011/04/26 12:13:41 slinky Exp slinky $
-" URL: http://slinky.imukuppi.org/zenburnpage/
-" License: GNU GPL <http://www.gnu.org/licenses/gpl.html>
-"
-" Nothing too fancy, just some alien fruit salad to keep you in the zone.
-" This syntax file was designed to be used with dark environments and
-" low light situations. Of course, if it works during a daybright office, go
-" ahead :)
-"
-" Owes heavily to other Vim color files! With special mentions
-" to "BlackDust", "Camo" and "Desert".
-"
-" To install, copy to ~/.vim/colors directory.
-"
-" Alternatively, you can use Vimball installation:
-" vim zenburn.vba
-" :so %
-" :q
-"
-" For details, see :help vimball
-"
-" After installation, use it with :colorscheme zenburn.
-" See also :help syntax
-"
-" Credits:
-" - Jani Nurminen - original Zenburn, maintainer
-" - Steve Hall & Cream posse - higher-contrast Visual selection
-" - Kurt Maier - 256 color console coloring, low and high contrast toggle,
-" bug fixing
-" - Charlie - spotted too bright StatusLine in non-high contrast mode
-" - Pablo Castellazzi - CursorLine fix for 256 color mode
-" - Tim Smith - force dark background
-" - John Gabriele - spotted bad Ignore-group handling
-" - Zac Thompson - spotted invisible NonText in low contrast mode
-" - Christophe-Marie Duquesne - suggested making a Vimball,
-" suggested support for ctags_highlighting.vim
-" - Andrew Wagner - noted the CursorColumn bug (guifg was unintentionally set),
-" unify CursorColumn colour
-" - Martin Langasek - clarify the license, whitespace fixes
-" - Marcin Szamotulski - support autocomplete for Zenburn configuration
-" parameters
-" - Clayton Parker (claytron) - Convinced by Kurt Maier to use Zenburn. Point
-" out issues with LineNr, fix directory styles, and their usage in MacVim.
-" - Paweł Piekarski - Spotted bad FoldColumn and TabLine. Made better
-" FoldColumn colors, fixed TabLine colors.
-"
-" CONFIGURABLE PARAMETERS:
-"
-" You can use the default (don't set any parameters), or you can
-" set some parameters to tweak the Zenburn colours.
-"
-" To use them, put them into your .vimrc file before loading the color scheme,
-" example:
-" let g:zenburn_high_Contrast=1
-" colors zenburn
-"
-" You can also do ":let g:zenburn" then hit Ctrl-d or Tab to scroll through the
-" list of configurable parameters.
-"
-" * You can now set a darker background for bright environments. To activate, use:
-" contrast Zenburn, use:
-"
-" let g:zenburn_high_Contrast = 1
-"
-" * For example, Vim help files uses the Ignore-group for the pipes in tags
-" like "|somelink.txt|". By default, the pipes are not visible, as they
-" map to Ignore group. If you wish to enable coloring of the Ignore group,
-" set the following parameter to 1. Warning, it might make some syntax files
-" look strange.
-"
-" let g:zenburn_color_also_Ignore = 1
-"
-" * To get more contrast to the Visual selection, use
-"
-" let g:zenburn_alternate_Visual = 1
-"
-" Note: this is enabled only if the old-style Visual
-" if used, see g:zenburn_old_Visual
-"
-" * To use alternate colouring for Error message, use
-"
-" let g:zenburn_alternate_Error = 1
-"
-" * The new default for Include is a duller orange. To use the original
-" colouring for Include, use
-"
-" let g:zenburn_alternate_Include = 1
-"
-" * Work-around to a Vim bug, it seems to misinterpret ctermfg and 234 and 237
-" as light values, and sets background to light for some people. If you have
-" this problem, use:
-"
-" let g:zenburn_force_dark_Background = 1
-"
-" * By default the CursorColumn is of a lighter colour. I find it more readable
-" that way, but some people may want to align it with the darker CursorLine
-" color, for visual uniformity. To do so, use:
-"
-" let g:zenburn_unified_CursorColumn = 1
-"
-" Note: you can ignore this unless you use
-" ":set cursorline cursorcolumn", since otherwise the effect won't be
-" seen.
-"
-" * New (dark) Visual coloring has been introduced.
-" The dark Visual is more aligned with the rest of the colour scheme,
-" especially if you use line numbers. If you wish to use the
-" old Visual coloring, use
-"
-" let g:zenburn_old_Visual = 1
-"
-" Default is to use the new Visual.
-"
-" * EXPERIMENTAL FEATURE: Zenburn will automatically detect if you
-" have ctags_highlighting.vim (by Al Budden,
-" http://www.vim.org/scripts/script.php?script_id=2646) enabled, and
-" will set sensible highlight links. Nothing will happen if you do
-" not have ctags_highlighting.vim. If you do not want this feature, you can
-" override the check with:
-"
-" let g:zenburn_disable_ctags_highlighting_support = 1
-"
-" NOTE:
-"
-" * To turn the parameter(s) back to defaults, use UNLET or set them to 0:
-"
-" unlet g:zenburn_alternate_Include
-" or
-" let g:zenburn_alternate_Include = 0
-"
-"
-" That's it, enjoy!
-"
-" TODO
-" - Visual alternate color is broken? Try GVim >= 7.0.66 if you have trouble
-" - IME colouring (CursorIM)
-
-" Set defaults, but keep any parameters already set by the user
-if ! exists("g:zenburn_high_Contrast")
- let g:zenburn_high_Contrast = 0
-endif
-
-if ! exists("g:zenburn_color_also_Ignore")
- let g:zenburn_color_also_Ignore = 0
-endif
-
-if ! exists("g:zenburn_alternate_Error")
- let g:zenburn_alternate_Error = 0
-endif
-
-if ! exists("g:zenburn_force_dark_Background")
- let g:zenburn_force_dark_Background = 0
-endif
-
-if ! exists("g:zenburn_alternate_Visual")
- let g:zenburn_alternate_Visual = 0
-endif
-
-if ! exists("g:zenburn_alternate_Include")
- let g:zenburn_alternate_Include = 0
-endif
-
-if ! exists("g:zenburn_unified_CursorColumn")
- let g:zenburn_unified_CursorColumn = 0
-endif
-
-if ! exists("g:zenburn_old_Visual")
- let g:zenburn_old_Visual = 0
-endif
-
-if ! exists("g:zenburn_disable_ctags_highlighting_support")
- " enabled by default
- let g:zenburn_disable_ctags_highlighting_support = 0
-endif
-
-" -----------------------------------------------
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="zenburn"
-
-" check for ctags-highlighting
-if exists("g:loaded_ctags_highlighting") && g:loaded_ctags_highlighting && ! g:zenburn_disable_ctags_highlighting_support
- " internal
- let _zenburn_ctags = 1
-endif
-
-hi Boolean guifg=#dca3a3
-hi Character guifg=#dca3a3 gui=bold
-hi Comment guifg=#7f9f7f gui=italic
-hi Conditional guifg=#f0dfaf gui=bold
-hi Constant guifg=#dca3a3 gui=bold
-hi Cursor guifg=#000d18 guibg=#8faf9f gui=bold
-hi Debug guifg=#bca3a3 gui=bold
-hi Define guifg=#ffcfaf gui=bold
-hi Delimiter guifg=#8f8f8f
-hi DiffAdd guifg=#709080 guibg=#313c36 gui=bold
-hi DiffChange guibg=#333333
-hi DiffDelete guifg=#333333 guibg=#464646
-hi DiffText guifg=#ecbcbc guibg=#41363c gui=bold
-hi Directory guifg=#9fafaf gui=bold
-hi ErrorMsg guifg=#80d4aa guibg=#2f2f2f gui=bold
-hi Exception guifg=#c3bf9f gui=bold
-hi Float guifg=#c0bed1
-hi FoldColumn guifg=#93b3a3 guibg=#3f4040
-hi Folded guifg=#93b3a3 guibg=#3f4040
-hi Function guifg=#efef8f
-hi Identifier guifg=#efdcbc
-hi IncSearch guibg=#f8f893 guifg=#385f38
-hi Keyword guifg=#f0dfaf gui=bold
-hi Label guifg=#dfcfaf gui=underline
-hi Macro guifg=#ffcfaf gui=bold
-hi ModeMsg guifg=#ffcfaf gui=none
-hi MoreMsg guifg=#ffffff gui=bold
-hi Number guifg=#8cd0d3
-hi Operator guifg=#f0efd0
-hi PreCondit guifg=#dfaf8f gui=bold
-hi PreProc guifg=#ffcfaf gui=bold
-hi Question guifg=#ffffff gui=bold
-hi Repeat guifg=#ffd7a7 gui=bold
-hi Search guifg=#ffffe0 guibg=#284f28
-hi SpecialChar guifg=#dca3a3 gui=bold
-hi SpecialComment guifg=#82a282 gui=bold
-hi Special guifg=#cfbfaf
-hi SpecialKey guifg=#9ece9e
-hi Statement guifg=#e3ceab gui=none
-hi StatusLine guifg=#313633 guibg=#ccdc90
-hi StatusLineNC guifg=#2e3330 guibg=#88b090
-hi StorageClass guifg=#c3bf9f gui=bold
-hi String guifg=#cc9393
-hi Structure guifg=#efefaf gui=bold
-hi Tag guifg=#e89393 gui=bold
-hi Title guifg=#efefef gui=bold
-hi Todo guifg=#dfdfdf guibg=bg gui=bold
-hi Typedef guifg=#dfe4cf gui=bold
-hi Type guifg=#dfdfbf gui=bold
-hi Underlined guifg=#dcdccc gui=underline
-hi VertSplit guifg=#2e3330 guibg=#688060
-hi VisualNOS guifg=#333333 guibg=#f18c96 gui=bold,underline
-hi WarningMsg guifg=#ffffff guibg=#333333 gui=bold
-hi WildMenu guibg=#2c302d guifg=#cbecd0 gui=underline
-
-hi SpellBad guisp=#bc6c4c guifg=#dc8c6c
-hi SpellCap guisp=#6c6c9c guifg=#8c8cbc
-hi SpellRare guisp=#bc6c9c guifg=#bc8cbc
-hi SpellLocal guisp=#7cac7c guifg=#9ccc9c
-
-" Entering Kurt zone
-if &t_Co > 255
- hi Boolean ctermfg=181
- hi Character ctermfg=181 cterm=bold
- hi Comment ctermfg=108
- hi Conditional ctermfg=223 cterm=bold
- hi Constant ctermfg=181 cterm=bold
- hi Cursor ctermfg=233 ctermbg=109 cterm=bold
- hi Debug ctermfg=181 cterm=bold
- hi Define ctermfg=223 cterm=bold
- hi Delimiter ctermfg=245
- hi DiffAdd ctermfg=66 ctermbg=237 cterm=bold
- hi DiffChange ctermbg=236
- hi DiffDelete ctermfg=236 ctermbg=238
- hi DiffText ctermfg=217 ctermbg=237 cterm=bold
- hi Directory ctermfg=109 cterm=bold
- hi ErrorMsg ctermfg=115 ctermbg=236 cterm=bold
- hi Exception ctermfg=249 cterm=bold
- hi Float ctermfg=251
- hi Function ctermfg=228
- hi Identifier ctermfg=223
- hi IncSearch ctermbg=228 ctermfg=238
- hi Keyword ctermfg=223 cterm=bold
- hi Label ctermfg=187 cterm=underline
- hi LineNr ctermfg=248 ctermbg=233
- hi Macro ctermfg=223 cterm=bold
- hi ModeMsg ctermfg=223 cterm=none
- hi MoreMsg ctermfg=15 cterm=bold
- hi Number ctermfg=116
- hi Operator ctermfg=230
- hi PreCondit ctermfg=180 cterm=bold
- hi PreProc ctermfg=223 cterm=bold
- hi Question ctermfg=15 cterm=bold
- hi Repeat ctermfg=223 cterm=bold
- hi Search ctermfg=230 ctermbg=236
- hi SpecialChar ctermfg=181 cterm=bold
- hi SpecialComment ctermfg=108 cterm=bold
- hi Special ctermfg=181
- hi SpecialKey ctermfg=151
- hi Statement ctermfg=187 ctermbg=234 cterm=none
- hi StatusLine ctermfg=236 ctermbg=186
- hi StatusLineNC ctermfg=235 ctermbg=108
- hi StorageClass ctermfg=249 cterm=bold
- hi String ctermfg=174
- hi Structure ctermfg=229 cterm=bold
- hi Tag ctermfg=181 cterm=bold
- hi Title ctermfg=7 ctermbg=234 cterm=bold
- hi Todo ctermfg=108 ctermbg=234 cterm=bold
- hi Typedef ctermfg=253 cterm=bold
- hi Type ctermfg=187 cterm=bold
- hi Underlined ctermfg=188 ctermbg=234 cterm=bold
- hi VertSplit ctermfg=236 ctermbg=65
- hi VisualNOS ctermfg=236 ctermbg=210 cterm=bold
- hi WarningMsg ctermfg=15 ctermbg=236 cterm=bold
- hi WildMenu ctermbg=236 ctermfg=194 cterm=bold
-
- " spellchecking, always "bright" background
- hi SpellLocal ctermfg=14 ctermbg=237
- hi SpellBad ctermfg=9 ctermbg=237
- hi SpellCap ctermfg=12 ctermbg=237
- hi SpellRare ctermfg=13 ctermbg=237
-
- " pmenu
- hi PMenu ctermfg=248 ctermbg=0
- hi PMenuSel ctermfg=223 ctermbg=235
-
- if exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast
- hi Normal ctermfg=188 ctermbg=234
- hi NonText ctermfg=238
-
- if exists("g:zenburn_color_also_Ignore") && g:zenburn_color_also_Ignore
- hi Ignore ctermfg=238
- endif
-
- " hc mode, darker CursorLine, default 236
- hi CursorLine ctermbg=233 cterm=none
-
- if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn
- hi CursorColumn ctermbg=233 cterm=none
- else
- hi CursorColumn ctermbg=235 cterm=none
- endif
- else
- hi Normal ctermfg=188 ctermbg=237
- hi Cursor ctermbg=109
- hi diffadd ctermbg=237
- hi diffdelete ctermbg=238
- hi difftext ctermbg=237
- hi errormsg ctermbg=237
- hi incsearch ctermbg=228
- hi linenr ctermbg=235
- hi search ctermbg=238
- hi statement ctermbg=237
- hi statusline ctermbg=144
- hi statuslinenc ctermbg=108
- hi title ctermbg=237
- hi todo ctermbg=237
- hi underlined ctermbg=237
- hi vertsplit ctermbg=65
- hi visualnos ctermbg=210
- hi warningmsg ctermbg=236
- hi wildmenu ctermbg=236
- hi NonText ctermfg=240
-
- if exists("g:zenburn_color_also_Ignore") && g:zenburn_color_also_Ignore
- hi Ignore ctermfg=240
- endif
-
- " normal mode, lighter CursorLine
- hi CursorLine ctermbg=238 cterm=none
-
- if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn
- hi CursorColumn ctermbg=238 cterm=none
- else
- hi CursorColumn ctermbg=239 cterm=none
- endif
- endif
-
- if exists("g:zenburn_alternate_Error") && g:zenburn_alternate_Error
- " use more jumpy Error
- hi Error ctermfg=210 ctermbg=52 gui=bold
- else
- " default is something more zenburn-compatible
- hi Error ctermfg=228 ctermbg=95 gui=bold
- endif
-endif
-
-if exists("g:zenburn_force_dark_Background") && g:zenburn_force_dark_Background
- " Force dark background, because of a bug in VIM: VIM sets background
- " automatically during "hi Normal ctermfg=X"; it misinterprets the high
- " value (234 or 237 above) as a light color, and wrongly sets background to
- " light. See ":help highlight" for details.
- set background=dark
-endif
-
-if exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast
- " use new darker background
- hi Normal guifg=#dcdccc guibg=#1f1f1f
- hi CursorLine guibg=#121212 gui=bold
- if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn
- hi CursorColumn guibg=#121212 gui=bold
- else
- hi CursorColumn guibg=#2b2b2b
- endif
- hi Pmenu guibg=#242424 guifg=#ccccbc
- hi PMenuSel guibg=#353a37 guifg=#ccdc90 gui=bold
- hi PmenuSbar guibg=#2e3330 guifg=#000000
- hi PMenuThumb guibg=#a0afa0 guifg=#040404
- hi MatchParen guifg=#f0f0c0 guibg=#383838 gui=bold
- hi SignColumn guifg=#9fafaf guibg=#181818 gui=bold
- hi TabLineFill guifg=#cfcfaf guibg=#181818 gui=bold
- hi TabLineSel guifg=#efefef guibg=#1c1c1b gui=bold
- hi TabLine guifg=#b6bf98 guibg=#181818 gui=bold
- hi NonText guifg=#404040 gui=bold
-
- hi LineNr guifg=#9fafaf guibg=#161616
-else
- " Original, lighter background
- hi Normal guifg=#dcdccc guibg=#3f3f3f
- hi CursorLine guibg=#434443
- if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn
- hi CursorColumn guibg=#434343
- else
- hi CursorColumn guibg=#4f4f4f
- endif
- hi Pmenu guibg=#2c2e2e guifg=#9f9f9f
- hi PMenuSel guibg=#242424 guifg=#d0d0a0 gui=bold
- hi PmenuSbar guibg=#2e3330 guifg=#000000
- hi PMenuThumb guibg=#a0afa0 guifg=#040404
- hi MatchParen guifg=#b2b2a0 guibg=#2e2e2e gui=bold
- hi SignColumn guifg=#9fafaf guibg=#343434 gui=bold
- hi TabLineFill guifg=#cfcfaf guibg=#353535 gui=bold
- hi TabLineSel guifg=#efefef guibg=#3a3a39 gui=bold
- hi TabLine guifg=#b6bf98 guibg=#353535 gui=bold
- hi NonText guifg=#5b605e gui=bold
-
- hi LineNr guifg=#9fafaf guibg=#262626
-endif
-
-if exists("g:zenburn_old_Visual") && g:zenburn_old_Visual
- if exists("g:zenburn_alternate_Visual") && g:zenburn_alternate_Visual
- " Visual with more contrast, thanks to Steve Hall & Cream posse
- " gui=none fixes weird highlight problem in at least GVim 7.0.66, thanks to Kurt Maier
- hi Visual guifg=#000000 guibg=#71d3b4 gui=none
- hi VisualNOS guifg=#000000 guibg=#71d3b4 gui=none
- else
- " use default visual
- hi Visual guifg=#233323 guibg=#71d3b4 gui=none
- hi VisualNOS guifg=#233323 guibg=#71d3b4 gui=none
- endif
-else
- " new Visual style
- if exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast
- " high contrast
- "hi Visual guibg=#304a3d
- "hi VisualNos guibg=#304a3d
- "TODO no nice greenish in console, 65 is closest. use full black instead,
- "although i like the green..!
- hi Visual guibg=#0f0f0f
- hi VisualNos guibg=#0f0f0f
- if &t_Co > 255
- hi Visual ctermbg=0
- endif
- else
- " low contrast
- hi Visual guibg=#2f2f2f
- hi VisualNOS guibg=#2f2f2f
-
- if &t_Co > 255
- hi Visual ctermbg=235
- hi VisualNOS ctermbg=235
- endif
- endif
-endif
-
-if exists("g:zenburn_alternate_Error") && g:zenburn_alternate_Error
- " use more jumpy Error
- hi Error guifg=#e37170 guibg=#664040 gui=bold
-else
- " default is something more zenburn-compatible
- hi Error guifg=#e37170 guibg=#3d3535 gui=none
-endif
-
-if exists("g:zenburn_alternate_Include") && g:zenburn_alternate_Include
- " original setting
- hi Include guifg=#ffcfaf gui=bold
-else
- " new, less contrasted one
- hi Include guifg=#dfaf8f gui=bold
-endif
-
-if exists("g:zenburn_color_also_Ignore") && g:zenburn_color_also_Ignore
- " color the Ignore groups
- " note: if you get strange coloring for your files, turn this off (unlet)
- hi Ignore guifg=#545a4f
-endif
-
-" new tabline and fold column
-if exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast
- hi FoldColumn guibg=#161616
- hi Folded guibg=#161616
- hi TabLine guifg=#88b090 guibg=#313633 gui=none
- hi TabLineSel guifg=#ccd990 guibg=#222222
- hi TabLineFill guifg=#88b090 guibg=#313633 gui=none
-
- hi SpecialKey guibg=#242424
-
- if &t_Co > 255
- hi FoldColumn ctermbg=233 ctermfg=109
- hi Folded ctermbg=233 ctermfg=109
- hi TabLine ctermbg=236 ctermfg=108 cterm=none
- hi TabLineSel ctermbg=235 ctermfg=186 cterm=bold
- hi TabLineFill ctermbg=236 ctermfg=236
- endif
-else
- hi FoldColumn guibg=#333333
- hi Folded guibg=#333333
- hi TabLine guifg=#d0d0b8 guibg=#222222 gui=none
- hi TabLineSel guifg=#f0f0b0 guibg=#333333 gui=bold
- hi TabLineFill guifg=#dccdcc guibg=#101010 gui=none
-
- hi SpecialKey guibg=#444444
-
- if &t_Co > 255
- hi FoldColumn ctermbg=236 ctermfg=109
- hi Folded ctermbg=236 ctermfg=109
- hi TabLine ctermbg=235 ctermfg=187 cterm=none
- hi TabLineSel ctermbg=236 ctermfg=229 cterm=bold
- hi TabLineFill ctermbg=233 ctermfg=233
- endif
-endif
-
-" EXPERIMENTAL ctags_highlighting support
-" link/set sensible defaults here;
-"
-" For now I mostly link to subset of Zenburn colors, the linkage is based
-" on appearance, not semantics. In later versions I might define more new colours.
-"
-" HELP NEEDED to make this work properly.
-if exists("_zenburn_ctags") && _zenburn_ctags
-
- " Highlighter seems to think a lot of things are global variables even
- " though they're not. Example: python method-local variable is
- " coloured as a global variable. They should not be global, since
- " they're not visible outside the method.
- " If this is some very bright colour group then things look bad.
- hi link CTagsGlobalVariable Identifier
-
- hi CTagsClass guifg=#acd0b3
- if &t_Co > 255
- hi CTagsClass ctermfg=115
- endif
-
- hi link CTagsImport Statement
- hi link CTagsMember Function
-
- hi link CTagsGlobalConstant Constant
-
- " These do not yet have support, I can't get them to appear
- hi link EnumerationValue Float
- hi link EnumerationName Identifier
- hi link DefinedName WarningMsg
- hi link LocalVariable WarningMsg
- hi link Structure WarningMsg
- hi link Union WarningMsg
-endif
-
-" TODO check for more obscure syntax groups that they're ok
diff --git a/install-bundles.sh b/install-plugins.sh
index 4ed3d47..4ed3d47 100755
--- a/install-bundles.sh
+++ b/install-plugins.sh
diff --git a/vim-files/swaps/.gitignore b/swap/.gitignore
index d6b7ef3..d6b7ef3 100644
--- a/vim-files/swaps/.gitignore
+++ b/swap/.gitignore
diff --git a/vimrc b/vimrc
index 3d6146c..a41b562 100644
--- a/vimrc
+++ b/vimrc
@@ -1,45 +1,127 @@
-"-----------------------------------------------------------------------------------------------------------------------
" Plugins
-"----------------------------------------------------------------------------------------------------------------------
call plug#begin('~/.vim/plugged')
-
-" Extending vim functionality
-Plug 'mileszs/ack.vim' " Use ack to grep project directory
-Plug 'scrooloose/syntastic' " Syntax checking
-Plug 'terryma/vim-multiple-cursors' " Multipe cursors, like the sublime feature
-Plug 'godlygeek/tabular' " Lines up code
-Plug 'jamessan/vim-gnupg' " Loads encrypted files by asking for password
-Plug 'gcmt/taboo.vim' " Rename Tabs
-Plug 'mattn/emmet-vim' " HTML expansion plugin, very useful
-Plug 'bkad/CamelCaseMotion' " Camel Case based motions
-Plug 'tmhedberg/SimpylFold' " Folding for python
+Plug 'w0rp/ale' " Async linting
Plug 'tpope/vim-commentary' " Better commenting commands
Plug 'tpope/vim-fugitive' " Git integration with vim
Plug 'tpope/vim-surround' " Helps with surrounding text
-Plug 'tmhedberg/matchit' " Match tags in html
-Plug 'rbgrouleff/bclose.vim' " ranger.vim dep
-Plug 'francoiscabrol/ranger.vim' " ranger intergration
-Plug 'junegunn/fzf.vim' " fzf integration
-
-" Syntax highlighting / Themes
Plug 'morhetz/gruvbox' " Pretty colorscheme
-Plug 'nathanaelkane/vim-indent-guides' " Creates indent lines, makes code a bit easier to read
-Plug 'plasticboy/vim-markdown'
-Plug 'ledger/vim-ledger'
-Plug 'stephpy/vim-yaml'
-Plug 'mitsuhiko/vim-python-combined'
-Plug 'elzr/vim-json'
-Plug 'digitaltoad/vim-pug'
-Plug 'elixir-lang/vim-elixir'
-Plug 'othree/yajs.vim' " Javascript syntax
-Plug 'gavocanov/vim-js-indent'
-Plug 'mitsuhiko/vim-jinja'
-Plug 'chr4/nginx.vim'
-Plug 'reedes/vim-pencil'
-Plug 'junegunn/goyo.vim'
-
-" My custom options
-Plug 'thornycrackers/vim-options'
-
+Plug 'Valloric/YouCompleteMe' " Autocomplete
+Plug 'ledger/vim-ledger' " Ledger plugin
+Plug 'python-mode/python-mode' " Python awesomeness in vim
call plug#end()
+
+" General Settings
+set nocompatible " Disable vi-compatible
+set wildmenu " Enable autocomple menu
+set incsearch " Show search results as typing string
+set hlsearch " Highlight matches to previos search string
+set expandtab " In Insert mode: Use the appropriate number of spaces to insert <Tab>.
+set tabstop=4 "Number of spaces that a <Tab> counts for
+set shiftwidth=0 " Make shiftwidth value the same as tabstop
+set relativenumber " Use relative numbers in the side bar
+set nowrap " Turn off text wrapping long lines
+set history=1000 " Set number of ':' commands
+set wildmode=list:full " wildmenu show list complete to first result
+set splitright " New windows split to the right of current one
+set splitbelow " New windows split below the current one
+set completeopt-=preview " Hide the preview/scratch window
+
+" Custom status line
+set statusline=
+set statusline+=%1*\ %02c\ " Color
+set statusline+=%2*\ » " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+set statusline+=%3*\ %<%F\ " File+path
+set statusline+=%2*\« " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+set statusline+=%2*\ %=\ %l/%L\ (%02p%%)\ " Rownumber/total (%)
+
+" Set spacing of filetypes
+autocmd FileType sh,python setlocal tabstop=4
+autocmd FileType make setlocal tabstop=4 noexpandtab
+autocmd FileType ledger setlocal tabstop=2
+autocmd FileType vim setlocal tabstop=2
+
+" Setup colorscheme
+syntax enable
+colorscheme gruvbox " Set the colorscheme
+set background=dark " Use dark colorscheme
+
+" Set vimdiff colors, make it easier to read
+highlight DiffAdd cterm=BOLD ctermfg=NONE ctermbg=22
+highlight DiffDelete cterm=BOLD ctermfg=NONE ctermbg=52
+highlight DiffChange cterm=BOLD ctermfg=NONE ctermbg=23
+highlight DiffText cterm=BOLD ctermfg=NONE ctermbg=23
+
+" Highlight lines at 80 mark
+highlight ColorColumn ctermbg=cyan
+au BufNewFile,BufRead * call matchadd('ColorColumn', '\%81v', 100)
+
+" Highlight lines at 120 mark
+au BufNewFile,BufRead * call matchadd('Error', '\%121v', 100)
+
+" My Shorcuts
+let mapleader="\<Space>"
+" type jj to get out of insert mode
+inoremap jj <ESC>
+" Ctags for python project
+command! MakeTagsPython !ctags --languages=python --python-kinds=-i -R .
+" Command for figuring out highlight group
+map <leader>hi :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<' . synIDattr(synID(line("."),col("."),0),"name") . "> lo<" . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">" . " FG:" . synIDattr(synIDtrans(synID(line("."),col("."),1)),"fg#")<CR>
+" Turn off syntax highlighting
+nnoremap <leader><leader> :noh<CR>
+" New tab
+nnoremap <C-w>t :tabnew<CR>
+" Visually select pasted text
+nnoremap gp `[v`]
+" Vimdiff commands
+nnoremap <leader>du :diffupdate<CR>
+nnoremap <leader>dd :diffget<CR>
+nnoremap <leader>df :diffput<CR>
+nnoremap _ [c
+nnoremap = ]c
+" Visually select line without ending
+nnoremap <leader>v ^v$h
+" Some very useful shortcuts for editing Ledger entries
+" Copy the last entry
+nnoremap <leader>ll G{jV}y}p10l
+" Copy the current entry to the bottom, copy date from last entry
+nnoremap <leader>lb {jV}yGp10l{{jvEy}jvEpl
+" Copy the current entry to the next position
+nnoremap <leader>ln {jV}y}p10l
+" Jump down from line to replace dollar ammount
+nnoremap <leader>ld j^f$lC
+" After searching pull entry to current position
+nnoremap <leader>ly vapy<C-o>p{{jvEy}jvEpl
+" Accept current autocomplete suggestion
+inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>"
+
+
+"-----------------------------------------------------------------------------------------------------------------------
+" Ale
+"-----------------------------------------------------------------------------------------------------------------------
+let g:ale_lint_on_enter = 0
+let g:ale_sign_column_always = 1
+let g:ale_lint_on_text_changed = 'never'
+let g:ale_python_mypy_options='--ignore-missing-imports'
+let g:ale_history_enabled = 0
+highlight clear ALEErrorSign
+highlight clear ALEWarningSign
+" Change gutter color
+highlight SignColumn cterm=NONE ctermfg=0 ctermbg=None
+"-----------------------------------------------------------------------------------------------------------------------
+
+
+
+"-----------------------------------------------------------------------------------------------------------------------
+" Python Mode
+"-----------------------------------------------------------------------------------------------------------------------
+let g:pymode_run = 1
+let g:pymode_indent = 1
+let g:pymode_motion = 1
+let g:pymode_options_colorcolumn = 0
+let g:pymode_lint = 0
+let g:pymode_rope = 0
+let g:pymode_doc = 0
+let g:pymode_breakpoint = 0
+let g:pymode_lint = 0
+let g:pymode_folding = 0
"-----------------------------------------------------------------------------------------------------------------------