From 2025068b865b706446f45fdaeea10d1f619b3f2d Mon Sep 17 00:00:00 2001 From: Andrew Coleman Date: Wed, 18 Nov 2020 03:32:00 -0500 Subject: [PATCH] switch to vim-plug so that submodules are not needed --- .gitmodules | 58 +- .vim/autoload/pathogen.vim | 289 ----- .vim/bundle/ansible-vim | 1 - .vim/bundle/direnv.vim | 1 - .vim/bundle/lightline-ale | 1 - .vim/bundle/lightline.vim | 1 - .vim/bundle/nerdtree | 1 - .vim/bundle/nerdtree-git-plugin | 1 - .vim/bundle/rust.vim | 1 - .vim/bundle/typescript-vim | 1 - .vim/bundle/vim-elixir | 1 - .vim/bundle/vim-gitbranch | 1 - .vim/bundle/vim-gitgutter | 1 - .vim/bundle/vim-nix | 1 - .vim/bundle/vim-rails | 1 - .vim/bundle/vim-ruby | 1 - .vim/bundle/vim-terraform | 1 - .vim/bundle/vim-toml | 1 - .vim/bundle/vim-trailing-whitespace | 1 - .vim/bundle/vim-unimpaired | 1 - .vim/colors/Tomorrow-Night-Blue.vim | 489 --------- .vim/colors/Tomorrow-Night-Bright.vim | 489 --------- .vim/colors/Tomorrow-Night-Eighties.vim | 489 --------- .vim/colors/Tomorrow-Night.vim | 497 --------- .vim/colors/Tomorrow.vim | 482 --------- .vim/doc/bufexplorer.txt | 772 -------------- .vim/plugin/bufexplorer.vim | 1303 ----------------------- .vimrc | 36 +- README.md | 2 - 29 files changed, 36 insertions(+), 4888 deletions(-) delete mode 100644 .vim/autoload/pathogen.vim delete mode 160000 .vim/bundle/ansible-vim delete mode 160000 .vim/bundle/direnv.vim delete mode 160000 .vim/bundle/lightline-ale delete mode 160000 .vim/bundle/lightline.vim delete mode 160000 .vim/bundle/nerdtree delete mode 160000 .vim/bundle/nerdtree-git-plugin delete mode 160000 .vim/bundle/rust.vim delete mode 160000 .vim/bundle/typescript-vim delete mode 160000 .vim/bundle/vim-elixir delete mode 160000 .vim/bundle/vim-gitbranch delete mode 160000 .vim/bundle/vim-gitgutter delete mode 160000 .vim/bundle/vim-nix delete mode 160000 .vim/bundle/vim-rails delete mode 160000 .vim/bundle/vim-ruby delete mode 160000 .vim/bundle/vim-terraform delete mode 160000 .vim/bundle/vim-toml delete mode 160000 .vim/bundle/vim-trailing-whitespace delete mode 160000 .vim/bundle/vim-unimpaired delete mode 100644 .vim/colors/Tomorrow-Night-Blue.vim delete mode 100644 .vim/colors/Tomorrow-Night-Bright.vim delete mode 100644 .vim/colors/Tomorrow-Night-Eighties.vim delete mode 100644 .vim/colors/Tomorrow-Night.vim delete mode 100644 .vim/colors/Tomorrow.vim delete mode 100644 .vim/doc/bufexplorer.txt delete mode 100644 .vim/plugin/bufexplorer.vim diff --git a/.gitmodules b/.gitmodules index 9d49d9a..8b13789 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,57 +1 @@ -[submodule ".vim/bundle/lightline.vim"] - path = .vim/bundle/lightline.vim - url = https://github.com/itchyny/lightline.vim -[submodule ".vim/bundle/nerdtree"] - path = .vim/bundle/nerdtree - url = https://github.com/scrooloose/nerdtree.git -[submodule ".vim/bundle/typescript-vim"] - path = .vim/bundle/typescript-vim - url = https://github.com/leafgarland/typescript-vim.git -[submodule ".vim/bundle/vim-elixir"] - path = .vim/bundle/vim-elixir - url = https://github.com/elixir-lang/vim-elixir.git -[submodule ".vim/bundle/vim-gitgutter"] - path = .vim/bundle/vim-gitgutter - url = https://github.com/airblade/vim-gitgutter.git -[submodule ".vim/bundle/vim-unimpaired"] - path = .vim/bundle/vim-unimpaired - url = https://github.com/tpope/vim-unimpaired.git -[submodule ".vim/bundle/rust.vim"] - path = .vim/bundle/rust.vim - url = https://github.com/rust-lang/rust.vim.git -[submodule "vim/bundle/vim-gitbranch"] - path = vim/bundle/vim-gitbranch - url = https://github.com/itchyny/vim-gitbranch.git -[submodule ".vim/bundle/vim-gitbranch"] - path = .vim/bundle/vim-gitbranch - url = https://github.com/itchyny/vim-gitbranch.git -[submodule ".vim/bundle/ansible-vim"] - path = .vim/bundle/ansible-vim - url = https://github.com/pearofducks/ansible-vim -[submodule ".vim/bundle/direnv.vim"] - path = .vim/bundle/direnv.vim - url = https://github.com/direnv/direnv.vim.git -[submodule ".vim/bundle/lightline-ale"] - path = .vim/bundle/lightline-ale - url = https://github.com/maximbaz/lightline-ale/ -[submodule ".vim/bundle/nerdtree-git-plugin"] - path = .vim/bundle/nerdtree-git-plugin - url = https://github.com/albfan/nerdtree-git-plugin.git -[submodule ".vim/bundle/vim-nix"] - path = .vim/bundle/vim-nix - url = https://github.com/LnL7/vim-nix.git -[submodule ".vim/bundle/vim-rails"] - path = .vim/bundle/vim-rails - url = https://github.com/tpope/vim-rails.git -[submodule ".vim/bundle/vim-ruby"] - path = .vim/bundle/vim-ruby - url = https://github.com/vim-ruby/vim-ruby/ -[submodule ".vim/bundle/vim-terraform"] - path = .vim/bundle/vim-terraform - url = https://github.com/hashivim/vim-terraform.git -[submodule ".vim/bundle/vim-toml"] - path = .vim/bundle/vim-toml - url = https://github.com/cespare/vim-toml.git -[submodule ".vim/bundle/vim-trailing-whitespace"] - path = .vim/bundle/vim-trailing-whitespace - url = https://github.com/bronson/vim-trailing-whitespace/ + diff --git a/.vim/autoload/pathogen.vim b/.vim/autoload/pathogen.vim deleted file mode 100644 index dbe07f0..0000000 --- a/.vim/autoload/pathogen.vim +++ /dev/null @@ -1,289 +0,0 @@ -" pathogen.vim - path option manipulation -" Maintainer: Tim Pope -" Version: 2.4 - -" Install in ~/.vim/autoload (or ~\vimfiles\autoload). -" -" For management of individually installed plugins in ~/.vim/bundle (or -" ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your -" .vimrc is the only other setup necessary. -" -" The API is documented inline below. - -if exists("g:loaded_pathogen") || &cp - finish -endif -let g:loaded_pathogen = 1 - -" Point of entry for basic default usage. Give a relative path to invoke -" pathogen#interpose() (defaults to "bundle/{}"), or an absolute path to invoke -" pathogen#surround(). Curly braces are expanded with pathogen#expand(): -" "bundle/{}" finds all subdirectories inside "bundle" inside all directories -" in the runtime path. -function! pathogen#infect(...) abort - for path in a:0 ? filter(reverse(copy(a:000)), 'type(v:val) == type("")') : ['bundle/{}'] - if path =~# '^\%({\=[$~\\/]\|{\=\w:[\\/]\).*[{}*]' - call pathogen#surround(path) - elseif path =~# '^\%([$~\\/]\|\w:[\\/]\)' - call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') - call pathogen#surround(path . '/{}') - elseif path =~# '[{}*]' - call pathogen#interpose(path) - else - call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') - call pathogen#interpose(path . '/{}') - endif - endfor - call pathogen#cycle_filetype() - if pathogen#is_disabled($MYVIMRC) - return 'finish' - endif - return '' -endfunction - -" Split a path into a list. -function! pathogen#split(path) abort - if type(a:path) == type([]) | return a:path | endif - if empty(a:path) | return [] | endif - let split = split(a:path,'\\\@]','\\&','') - endif -endfunction - -" Like findfile(), but hardcoded to use the runtimepath. -function! pathogen#runtime_findfile(file,count) abort - let rtp = pathogen#join(1,pathogen#split(&rtp)) - let file = findfile(a:file,rtp,a:count) - if file ==# '' - return '' - else - return fnamemodify(file,':p') - endif -endfunction - -" Section: Deprecated - -function! s:warn(msg) abort - echohl WarningMsg - echomsg a:msg - echohl NONE -endfunction - -" Prepend all subdirectories of path to the rtp, and append all 'after' -" directories in those subdirectories. Deprecated. -function! pathogen#runtime_prepend_subdirectories(path) abort - call s:warn('Change pathogen#runtime_prepend_subdirectories('.string(a:path).') to pathogen#infect('.string(a:path.'/{}').')') - return pathogen#surround(a:path . pathogen#slash() . '{}') -endfunction - -function! pathogen#incubate(...) abort - let name = a:0 ? a:1 : 'bundle/{}' - call s:warn('Change pathogen#incubate('.(a:0 ? string(a:1) : '').') to pathogen#infect('.string(name).')') - return pathogen#interpose(name) -endfunction - -" Deprecated alias for pathogen#interpose(). -function! pathogen#runtime_append_all_bundles(...) abort - if a:0 - call s:warn('Change pathogen#runtime_append_all_bundles('.string(a:1).') to pathogen#infect('.string(a:1.'/{}').')') - else - call s:warn('Change pathogen#runtime_append_all_bundles() to pathogen#infect()') - endif - return pathogen#interpose(a:0 ? a:1 . '/{}' : 'bundle/{}') -endfunction - -" vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=': diff --git a/.vim/bundle/ansible-vim b/.vim/bundle/ansible-vim deleted file mode 160000 index 7abb04c..0000000 --- a/.vim/bundle/ansible-vim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7abb04c115742ec9a5f90b86170f0118680cf8ec diff --git a/.vim/bundle/direnv.vim b/.vim/bundle/direnv.vim deleted file mode 160000 index 983bbce..0000000 --- a/.vim/bundle/direnv.vim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 983bbce66b39cd17e4b8348078a41a5782cd73a0 diff --git a/.vim/bundle/lightline-ale b/.vim/bundle/lightline-ale deleted file mode 160000 index 2335255..0000000 --- a/.vim/bundle/lightline-ale +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 23352556fdaa067209fa22df424f1b88ab370f6a diff --git a/.vim/bundle/lightline.vim b/.vim/bundle/lightline.vim deleted file mode 160000 index bc82a1c..0000000 --- a/.vim/bundle/lightline.vim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit bc82a1c7b6d8517d4e9224a254968e0f0b334fdf diff --git a/.vim/bundle/nerdtree b/.vim/bundle/nerdtree deleted file mode 160000 index 63c5920..0000000 --- a/.vim/bundle/nerdtree +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 63c59208c1f9eef7068a944f5c3033bd1a348b97 diff --git a/.vim/bundle/nerdtree-git-plugin b/.vim/bundle/nerdtree-git-plugin deleted file mode 160000 index 95e2057..0000000 --- a/.vim/bundle/nerdtree-git-plugin +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 95e20577cd442ad6256aff9bb2e9c80db05c13f0 diff --git a/.vim/bundle/rust.vim b/.vim/bundle/rust.vim deleted file mode 160000 index 08fbcbb..0000000 --- a/.vim/bundle/rust.vim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 08fbcbbb8c4102df7c4099434826ac0d1fa3af15 diff --git a/.vim/bundle/typescript-vim b/.vim/bundle/typescript-vim deleted file mode 160000 index 5a319ea..0000000 --- a/.vim/bundle/typescript-vim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5a319ea5504e18215d155576c78d1b7fb8e22c8f diff --git a/.vim/bundle/vim-elixir b/.vim/bundle/vim-elixir deleted file mode 160000 index 46a6847..0000000 --- a/.vim/bundle/vim-elixir +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 46a68476fc7b4f454c829d83d21997b82ac66f76 diff --git a/.vim/bundle/vim-gitbranch b/.vim/bundle/vim-gitbranch deleted file mode 160000 index 8118dc1..0000000 --- a/.vim/bundle/vim-gitbranch +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8118dc1cdd387bd609852be4bf350360ce881193 diff --git a/.vim/bundle/vim-gitgutter b/.vim/bundle/vim-gitgutter deleted file mode 160000 index 9147174..0000000 --- a/.vim/bundle/vim-gitgutter +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 91471746fe687ee867877508dfd809460dab5698 diff --git a/.vim/bundle/vim-nix b/.vim/bundle/vim-nix deleted file mode 160000 index d733cb9..0000000 --- a/.vim/bundle/vim-nix +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d733cb96707a2a6bdc6102b6d89f947688e0e959 diff --git a/.vim/bundle/vim-rails b/.vim/bundle/vim-rails deleted file mode 160000 index 2c42236..0000000 --- a/.vim/bundle/vim-rails +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2c42236cf38c0842dd490095ffd6b1540cad2e29 diff --git a/.vim/bundle/vim-ruby b/.vim/bundle/vim-ruby deleted file mode 160000 index e367f7b..0000000 --- a/.vim/bundle/vim-ruby +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e367f7b33fe9159c943963f3f839e4d08b74090e diff --git a/.vim/bundle/vim-terraform b/.vim/bundle/vim-terraform deleted file mode 160000 index 6fd491d..0000000 --- a/.vim/bundle/vim-terraform +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6fd491d6a2ae40fef3aa6c414e096ce07664f030 diff --git a/.vim/bundle/vim-toml b/.vim/bundle/vim-toml deleted file mode 160000 index 897cb4e..0000000 --- a/.vim/bundle/vim-toml +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 897cb4eaa81a0366bc859effe14116660d4015cd diff --git a/.vim/bundle/vim-trailing-whitespace b/.vim/bundle/vim-trailing-whitespace deleted file mode 160000 index 610ca1a..0000000 --- a/.vim/bundle/vim-trailing-whitespace +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 610ca1a97c8dc85cdeb38635e5a4703317c4b94d diff --git a/.vim/bundle/vim-unimpaired b/.vim/bundle/vim-unimpaired deleted file mode 160000 index a49c4f2..0000000 --- a/.vim/bundle/vim-unimpaired +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a49c4f2bf05f18a6e4f6572a19763ba7abba52b1 diff --git a/.vim/colors/Tomorrow-Night-Blue.vim b/.vim/colors/Tomorrow-Night-Blue.vim deleted file mode 100644 index 3da58fb..0000000 --- a/.vim/colors/Tomorrow-Night-Blue.vim +++ /dev/null @@ -1,489 +0,0 @@ -" Tomorrow Night Blue - Full Colour and 256 Colour -" http://chriskempson.com -" -" Hex colour conversion functions borrowed from the theme "Desert256"" - -" Default GUI Colours -let s:foreground = "ffffff" -let s:background = "002451" -let s:selection = "003f8e" -let s:line = "00346e" -let s:comment = "7285b7" -let s:red = "ff9da4" -let s:orange = "ffc58f" -let s:yellow = "ffeead" -let s:green = "d1f1a9" -let s:aqua = "99ffff" -let s:blue = "bbdaff" -let s:purple = "ebbbff" -let s:window = "4d5057" - -hi clear -syntax reset - -let g:colors_name = "Tomorrow-Night-Blue" - -if has("gui_running") || &t_Co == 88 || &t_Co == 256 - " Returns an approximate grey index for the given grey level - fun grey_number(x) - if &t_Co == 88 - if a:x < 23 - return 0 - elseif a:x < 69 - return 1 - elseif a:x < 103 - return 2 - elseif a:x < 127 - return 3 - elseif a:x < 150 - return 4 - elseif a:x < 173 - return 5 - elseif a:x < 196 - return 6 - elseif a:x < 219 - return 7 - elseif a:x < 243 - return 8 - else - return 9 - endif - else - if a:x < 14 - return 0 - else - let l:n = (a:x - 8) / 10 - let l:m = (a:x - 8) % 10 - if l:m < 5 - return l:n - else - return l:n + 1 - endif - endif - endif - endfun - - " Returns the actual grey level represented by the grey index - fun grey_level(n) - if &t_Co == 88 - if a:n == 0 - return 0 - elseif a:n == 1 - return 46 - elseif a:n == 2 - return 92 - elseif a:n == 3 - return 115 - elseif a:n == 4 - return 139 - elseif a:n == 5 - return 162 - elseif a:n == 6 - return 185 - elseif a:n == 7 - return 208 - elseif a:n == 8 - return 231 - else - return 255 - endif - else - if a:n == 0 - return 0 - else - return 8 + (a:n * 10) - endif - endif - endfun - - " Returns the palette index for the given grey index - fun grey_colour(n) - if &t_Co == 88 - if a:n == 0 - return 16 - elseif a:n == 9 - return 79 - else - return 79 + a:n - endif - else - if a:n == 0 - return 16 - elseif a:n == 25 - return 231 - else - return 231 + a:n - endif - endif - endfun - - " Returns an approximate colour index for the given colour level - fun rgb_number(x) - if &t_Co == 88 - if a:x < 69 - return 0 - elseif a:x < 172 - return 1 - elseif a:x < 230 - return 2 - else - return 3 - endif - else - if a:x < 75 - return 0 - else - let l:n = (a:x - 55) / 40 - let l:m = (a:x - 55) % 40 - if l:m < 20 - return l:n - else - return l:n + 1 - endif - endif - endif - endfun - - " Returns the actual colour level for the given colour index - fun rgb_level(n) - if &t_Co == 88 - if a:n == 0 - return 0 - elseif a:n == 1 - return 139 - elseif a:n == 2 - return 205 - else - return 255 - endif - else - if a:n == 0 - return 0 - else - return 55 + (a:n * 40) - endif - endif - endfun - - " Returns the palette index for the given R/G/B colour indices - fun rgb_colour(x, y, z) - if &t_Co == 88 - return 16 + (a:x * 16) + (a:y * 4) + a:z - else - return 16 + (a:x * 36) + (a:y * 6) + a:z - endif - endfun - - " Returns the palette index to approximate the given R/G/B colour levels - fun colour(r, g, b) - " Get the closest grey - let l:gx = grey_number(a:r) - let l:gy = grey_number(a:g) - let l:gz = grey_number(a:b) - - " Get the closest colour - let l:x = rgb_number(a:r) - let l:y = rgb_number(a:g) - let l:z = rgb_number(a:b) - - if l:gx == l:gy && l:gy == l:gz - " There are two possibilities - let l:dgr = grey_level(l:gx) - a:r - let l:dgg = grey_level(l:gy) - a:g - let l:dgb = grey_level(l:gz) - a:b - let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) - let l:dr = rgb_level(l:gx) - a:r - let l:dg = rgb_level(l:gy) - a:g - let l:db = rgb_level(l:gz) - a:b - let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) - if l:dgrey < l:drgb - " Use the grey - return grey_colour(l:gx) - else - " Use the colour - return rgb_colour(l:x, l:y, l:z) - endif - else - " Only one possibility - return rgb_colour(l:x, l:y, l:z) - endif - endfun - - " Returns the palette index to approximate the 'rrggbb' hex string - fun rgb(rgb) - let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 - let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 - let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 - - return colour(l:r, l:g, l:b) - endfun - - " Sets the highlighting for the given group - fun X(group, fg, bg, attr) - if a:fg != "" - exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . rgb(a:fg) - endif - if a:bg != "" - exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . rgb(a:bg) - endif - if a:attr != "" - exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr - endif - endfun - - " Vim Highlighting - call X("Normal", s:foreground, s:background, "") - call X("LineNr", s:foreground, s:background, "") - call X("NonText", s:selection, "", "") - call X("SpecialKey", s:selection, "", "") - call X("Search", s:background, s:yellow, "") - call X("TabLine", s:window, s:foreground, "reverse") - call X("TabLineFill", s:window, s:foreground, "reverse") - call X("StatusLine", s:window, s:yellow, "reverse") - call X("StatusLineNC", s:window, s:foreground, "reverse") - call X("VertSplit", s:window, s:window, "none") - call X("Visual", "", s:selection, "") - call X("Directory", s:blue, "", "") - call X("ModeMsg", s:green, "", "") - call X("MoreMsg", s:green, "", "") - call X("Question", s:green, "", "") - call X("WarningMsg", s:red, "", "") - call X("MatchParen", "", s:selection, "") - call X("Folded", s:comment, s:background, "") - call X("FoldColumn", "", s:background, "") - if version >= 700 - call X("CursorLine", "", s:line, "none") - call X("CursorColumn", "", s:line, "none") - call X("PMenu", s:foreground, s:selection, "none") - call X("PMenuSel", s:foreground, s:selection, "reverse") - call X("SignColumn", "", s:background, "none") - end - if version >= 703 - call X("ColorColumn", "", s:line, "none") - end - - " Standard Highlighting - call X("Comment", s:comment, "", "") - call X("Todo", s:comment, s:background, "") - call X("Title", s:comment, "", "") - call X("Identifier", s:red, "", "none") - call X("Statement", s:foreground, "", "") - call X("Conditional", s:foreground, "", "") - call X("Repeat", s:foreground, "", "") - call X("Structure", s:purple, "", "") - call X("Function", s:blue, "", "") - call X("Constant", s:orange, "", "") - call X("Keyword", s:orange, "", "") - call X("String", s:green, "", "") - call X("Special", s:foreground, "", "") - call X("PreProc", s:purple, "", "") - call X("Operator", s:aqua, "", "none") - call X("Type", s:blue, "", "none") - call X("Define", s:purple, "", "none") - call X("Include", s:blue, "", "") - "call X("Ignore", "666666", "", "") - - " Vim Highlighting - call X("vimCommand", s:red, "", "none") - - " C Highlighting - call X("cType", s:yellow, "", "") - call X("cStorageClass", s:purple, "", "") - call X("cConditional", s:purple, "", "") - call X("cRepeat", s:purple, "", "") - - " PHP Highlighting - call X("phpVarSelector", s:red, "", "") - call X("phpKeyword", s:purple, "", "") - call X("phpRepeat", s:purple, "", "") - call X("phpConditional", s:purple, "", "") - call X("phpStatement", s:purple, "", "") - call X("phpMemberSelector", s:foreground, "", "") - - " Ruby Highlighting - call X("rubySymbol", s:green, "", "") - call X("rubyConstant", s:yellow, "", "") - call X("rubyAccess", s:yellow, "", "") - call X("rubyAttribute", s:blue, "", "") - call X("rubyInclude", s:blue, "", "") - call X("rubyLocalVariableOrMethod", s:orange, "", "") - call X("rubyCurlyBlock", s:orange, "", "") - call X("rubyStringDelimiter", s:green, "", "") - call X("rubyInterpolationDelimiter", s:orange, "", "") - call X("rubyConditional", s:purple, "", "") - call X("rubyRepeat", s:purple, "", "") - call X("rubyControl", s:purple, "", "") - call X("rubyException", s:purple, "", "") - - " Crystal Highlighting - call X("crystalSymbol", s:green, "", "") - call X("crystalConstant", s:yellow, "", "") - call X("crystalAccess", s:yellow, "", "") - call X("crystalAttribute", s:blue, "", "") - call X("crystalInclude", s:blue, "", "") - call X("crystalLocalVariableOrMethod", s:orange, "", "") - call X("crystalCurlyBlock", s:orange, "", "") - call X("crystalStringDelimiter", s:green, "", "") - call X("crystalInterpolationDelimiter", s:orange, "", "") - call X("crystalConditional", s:purple, "", "") - call X("crystalRepeat", s:purple, "", "") - call X("crystalControl", s:purple, "", "") - call X("crystalException", s:purple, "", "") - - " Python Highlighting - call X("pythonInclude", s:purple, "", "") - call X("pythonStatement", s:purple, "", "") - call X("pythonConditional", s:purple, "", "") - call X("pythonRepeat", s:purple, "", "") - call X("pythonException", s:purple, "", "") - call X("pythonFunction", s:blue, "", "") - call X("pythonPreCondit", s:purple, "", "") - call X("pythonRepeat", s:aqua, "", "") - call X("pythonExClass", s:orange, "", "") - - " JavaScript Highlighting - call X("javaScriptBraces", s:foreground, "", "") - call X("javaScriptFunction", s:purple, "", "") - call X("javaScriptConditional", s:purple, "", "") - call X("javaScriptRepeat", s:purple, "", "") - call X("javaScriptNumber", s:orange, "", "") - call X("javaScriptMember", s:orange, "", "") - call X("javascriptNull", s:orange, "", "") - call X("javascriptGlobal", s:blue, "", "") - call X("javascriptStatement", s:red, "", "") - - " CoffeeScript Highlighting - call X("coffeeRepeat", s:purple, "", "") - call X("coffeeConditional", s:purple, "", "") - call X("coffeeKeyword", s:purple, "", "") - call X("coffeeObject", s:yellow, "", "") - - " HTML Highlighting - call X("htmlTag", s:red, "", "") - call X("htmlTagName", s:red, "", "") - call X("htmlArg", s:red, "", "") - call X("htmlScriptTag", s:red, "", "") - - " Diff Highlighting - call X("diffAdd", "", "4c4e39", "") - call X("diffDelete", s:background, s:red, "") - call X("diffChange", "", "2b5b77", "") - call X("diffText", s:line, s:blue, "") - - " ShowMarks Highlighting - call X("ShowMarksHLl", s:orange, s:background, "none") - call X("ShowMarksHLo", s:purple, s:background, "none") - call X("ShowMarksHLu", s:yellow, s:background, "none") - call X("ShowMarksHLm", s:aqua, s:background, "none") - - " Lua Highlighting - call X("luaStatement", s:purple, "", "") - call X("luaRepeat", s:purple, "", "") - call X("luaCondStart", s:purple, "", "") - call X("luaCondElseif", s:purple, "", "") - call X("luaCond", s:purple, "", "") - call X("luaCondEnd", s:purple, "", "") - - " Cucumber Highlighting - call X("cucumberGiven", s:blue, "", "") - call X("cucumberGivenAnd", s:blue, "", "") - - " Go Highlighting - call X("goDirective", s:purple, "", "") - call X("goDeclaration", s:purple, "", "") - call X("goStatement", s:purple, "", "") - call X("goConditional", s:purple, "", "") - call X("goConstants", s:orange, "", "") - call X("goTodo", s:yellow, "", "") - call X("goDeclType", s:blue, "", "") - call X("goBuiltins", s:purple, "", "") - call X("goRepeat", s:purple, "", "") - call X("goLabel", s:purple, "", "") - - " Clojure Highlighting - call X("clojureConstant", s:orange, "", "") - call X("clojureBoolean", s:orange, "", "") - call X("clojureCharacter", s:orange, "", "") - call X("clojureKeyword", s:green, "", "") - call X("clojureNumber", s:orange, "", "") - call X("clojureString", s:green, "", "") - call X("clojureRegexp", s:green, "", "") - call X("clojureParen", s:aqua, "", "") - call X("clojureVariable", s:yellow, "", "") - call X("clojureCond", s:blue, "", "") - call X("clojureDefine", s:purple, "", "") - call X("clojureException", s:red, "", "") - call X("clojureFunc", s:blue, "", "") - call X("clojureMacro", s:blue, "", "") - call X("clojureRepeat", s:blue, "", "") - call X("clojureSpecial", s:purple, "", "") - call X("clojureQuote", s:blue, "", "") - call X("clojureUnquote", s:blue, "", "") - call X("clojureMeta", s:blue, "", "") - call X("clojureDeref", s:blue, "", "") - call X("clojureAnonArg", s:blue, "", "") - call X("clojureRepeat", s:blue, "", "") - call X("clojureDispatch", s:blue, "", "") - - " Scala Highlighting - call X("scalaKeyword", s:purple, "", "") - call X("scalaKeywordModifier", s:purple, "", "") - call X("scalaOperator", s:blue, "", "") - call X("scalaPackage", s:red, "", "") - call X("scalaFqn", s:foreground, "", "") - call X("scalaFqnSet", s:foreground, "", "") - call X("scalaImport", s:purple, "", "") - call X("scalaBoolean", s:orange, "", "") - call X("scalaDef", s:purple, "", "") - call X("scalaVal", s:purple, "", "") - call X("scalaVar", s:aqua, "", "") - call X("scalaClass", s:purple, "", "") - call X("scalaObject", s:purple, "", "") - call X("scalaTrait", s:purple, "", "") - call X("scalaDefName", s:blue, "", "") - call X("scalaValName", s:foreground, "", "") - call X("scalaVarName", s:foreground, "", "") - call X("scalaClassName", s:foreground, "", "") - call X("scalaType", s:yellow, "", "") - call X("scalaTypeSpecializer", s:yellow, "", "") - call X("scalaAnnotation", s:orange, "", "") - call X("scalaNumber", s:orange, "", "") - call X("scalaDefSpecializer", s:yellow, "", "") - call X("scalaClassSpecializer", s:yellow, "", "") - call X("scalaBackTick", s:green, "", "") - call X("scalaRoot", s:foreground, "", "") - call X("scalaMethodCall", s:blue, "", "") - call X("scalaCaseType", s:yellow, "", "") - call X("scalaLineComment", s:comment, "", "") - call X("scalaComment", s:comment, "", "") - call X("scalaDocComment", s:comment, "", "") - call X("scalaDocTags", s:comment, "", "") - call X("scalaEmptyString", s:green, "", "") - call X("scalaMultiLineString", s:green, "", "") - call X("scalaUnicode", s:orange, "", "") - call X("scalaString", s:green, "", "") - call X("scalaStringEscape", s:green, "", "") - call X("scalaSymbol", s:orange, "", "") - call X("scalaChar", s:orange, "", "") - call X("scalaXml", s:green, "", "") - call X("scalaConstructorSpecializer", s:yellow, "", "") - call X("scalaBackTick", s:blue, "", "") - - " Git - call X("diffAdded", s:green, "", "") - call X("diffRemoved", s:red, "", "") - call X("gitcommitSummary", "", "", "bold") - - " Delete Functions - delf X - delf rgb - delf colour - delf rgb_colour - delf rgb_level - delf rgb_number - delf grey_colour - delf grey_level - delf grey_number -endif - -set background=dark diff --git a/.vim/colors/Tomorrow-Night-Bright.vim b/.vim/colors/Tomorrow-Night-Bright.vim deleted file mode 100644 index 8a89dbe..0000000 --- a/.vim/colors/Tomorrow-Night-Bright.vim +++ /dev/null @@ -1,489 +0,0 @@ -" Tomorrow Night Bright - Full Colour and 256 Colour -" http://chriskempson.com -" -" Hex colour conversion functions borrowed from the theme "Desert256"" - -" Default GUI Colours -let s:foreground = "eaeaea" -let s:background = "000000" -let s:selection = "424242" -let s:line = "2a2a2a" -let s:comment = "969896" -let s:red = "d54e53" -let s:orange = "e78c45" -let s:yellow = "e7c547" -let s:green = "b9ca4a" -let s:aqua = "70c0b1" -let s:blue = "7aa6da" -let s:purple = "c397d8" -let s:window = "4d5057" - -hi clear -syntax reset - -let g:colors_name = "Tomorrow-Night-Bright" - -if has("gui_running") || &t_Co == 88 || &t_Co == 256 - " Returns an approximate grey index for the given grey level - fun grey_number(x) - if &t_Co == 88 - if a:x < 23 - return 0 - elseif a:x < 69 - return 1 - elseif a:x < 103 - return 2 - elseif a:x < 127 - return 3 - elseif a:x < 150 - return 4 - elseif a:x < 173 - return 5 - elseif a:x < 196 - return 6 - elseif a:x < 219 - return 7 - elseif a:x < 243 - return 8 - else - return 9 - endif - else - if a:x < 14 - return 0 - else - let l:n = (a:x - 8) / 10 - let l:m = (a:x - 8) % 10 - if l:m < 5 - return l:n - else - return l:n + 1 - endif - endif - endif - endfun - - " Returns the actual grey level represented by the grey index - fun grey_level(n) - if &t_Co == 88 - if a:n == 0 - return 0 - elseif a:n == 1 - return 46 - elseif a:n == 2 - return 92 - elseif a:n == 3 - return 115 - elseif a:n == 4 - return 139 - elseif a:n == 5 - return 162 - elseif a:n == 6 - return 185 - elseif a:n == 7 - return 208 - elseif a:n == 8 - return 231 - else - return 255 - endif - else - if a:n == 0 - return 0 - else - return 8 + (a:n * 10) - endif - endif - endfun - - " Returns the palette index for the given grey index - fun grey_colour(n) - if &t_Co == 88 - if a:n == 0 - return 16 - elseif a:n == 9 - return 79 - else - return 79 + a:n - endif - else - if a:n == 0 - return 16 - elseif a:n == 25 - return 231 - else - return 231 + a:n - endif - endif - endfun - - " Returns an approximate colour index for the given colour level - fun rgb_number(x) - if &t_Co == 88 - if a:x < 69 - return 0 - elseif a:x < 172 - return 1 - elseif a:x < 230 - return 2 - else - return 3 - endif - else - if a:x < 75 - return 0 - else - let l:n = (a:x - 55) / 40 - let l:m = (a:x - 55) % 40 - if l:m < 20 - return l:n - else - return l:n + 1 - endif - endif - endif - endfun - - " Returns the actual colour level for the given colour index - fun rgb_level(n) - if &t_Co == 88 - if a:n == 0 - return 0 - elseif a:n == 1 - return 139 - elseif a:n == 2 - return 205 - else - return 255 - endif - else - if a:n == 0 - return 0 - else - return 55 + (a:n * 40) - endif - endif - endfun - - " Returns the palette index for the given R/G/B colour indices - fun rgb_colour(x, y, z) - if &t_Co == 88 - return 16 + (a:x * 16) + (a:y * 4) + a:z - else - return 16 + (a:x * 36) + (a:y * 6) + a:z - endif - endfun - - " Returns the palette index to approximate the given R/G/B colour levels - fun colour(r, g, b) - " Get the closest grey - let l:gx = grey_number(a:r) - let l:gy = grey_number(a:g) - let l:gz = grey_number(a:b) - - " Get the closest colour - let l:x = rgb_number(a:r) - let l:y = rgb_number(a:g) - let l:z = rgb_number(a:b) - - if l:gx == l:gy && l:gy == l:gz - " There are two possibilities - let l:dgr = grey_level(l:gx) - a:r - let l:dgg = grey_level(l:gy) - a:g - let l:dgb = grey_level(l:gz) - a:b - let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) - let l:dr = rgb_level(l:gx) - a:r - let l:dg = rgb_level(l:gy) - a:g - let l:db = rgb_level(l:gz) - a:b - let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) - if l:dgrey < l:drgb - " Use the grey - return grey_colour(l:gx) - else - " Use the colour - return rgb_colour(l:x, l:y, l:z) - endif - else - " Only one possibility - return rgb_colour(l:x, l:y, l:z) - endif - endfun - - " Returns the palette index to approximate the 'rrggbb' hex string - fun rgb(rgb) - let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 - let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 - let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 - - return colour(l:r, l:g, l:b) - endfun - - " Sets the highlighting for the given group - fun X(group, fg, bg, attr) - if a:fg != "" - exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . rgb(a:fg) - endif - if a:bg != "" - exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . rgb(a:bg) - endif - if a:attr != "" - exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr - endif - endfun - - " Vim Highlighting - call X("Normal", s:foreground, s:background, "") - call X("LineNr", s:selection, "", "") - call X("NonText", s:selection, "", "") - call X("SpecialKey", s:selection, "", "") - call X("Search", s:background, s:yellow, "") - call X("TabLine", s:window, s:foreground, "reverse") - call X("TabLineFill", s:window, s:foreground, "reverse") - call X("StatusLine", s:window, s:yellow, "reverse") - call X("StatusLineNC", s:window, s:foreground, "reverse") - call X("VertSplit", s:window, s:window, "none") - call X("Visual", "", s:selection, "") - call X("Directory", s:blue, "", "") - call X("ModeMsg", s:green, "", "") - call X("MoreMsg", s:green, "", "") - call X("Question", s:green, "", "") - call X("WarningMsg", s:red, "", "") - call X("MatchParen", "", s:selection, "") - call X("Folded", s:comment, s:background, "") - call X("FoldColumn", "", s:background, "") - if version >= 700 - call X("CursorLine", "", s:line, "none") - call X("CursorColumn", "", s:line, "none") - call X("PMenu", s:foreground, s:selection, "none") - call X("PMenuSel", s:foreground, s:selection, "reverse") - call X("SignColumn", "", s:background, "none") - end - if version >= 703 - call X("ColorColumn", "", s:line, "none") - end - - " Standard Highlighting - call X("Comment", s:comment, "", "") - call X("Todo", s:comment, s:background, "") - call X("Title", s:comment, "", "") - call X("Identifier", s:red, "", "none") - call X("Statement", s:foreground, "", "") - call X("Conditional", s:foreground, "", "") - call X("Repeat", s:foreground, "", "") - call X("Structure", s:purple, "", "") - call X("Function", s:blue, "", "") - call X("Constant", s:orange, "", "") - call X("Keyword", s:orange, "", "") - call X("String", s:green, "", "") - call X("Special", s:foreground, "", "") - call X("PreProc", s:purple, "", "") - call X("Operator", s:aqua, "", "none") - call X("Type", s:blue, "", "none") - call X("Define", s:purple, "", "none") - call X("Include", s:blue, "", "") - "call X("Ignore", "666666", "", "") - - " Vim Highlighting - call X("vimCommand", s:red, "", "none") - - " C Highlighting - call X("cType", s:yellow, "", "") - call X("cStorageClass", s:purple, "", "") - call X("cConditional", s:purple, "", "") - call X("cRepeat", s:purple, "", "") - - " PHP Highlighting - call X("phpVarSelector", s:red, "", "") - call X("phpKeyword", s:purple, "", "") - call X("phpRepeat", s:purple, "", "") - call X("phpConditional", s:purple, "", "") - call X("phpStatement", s:purple, "", "") - call X("phpMemberSelector", s:foreground, "", "") - - " Ruby Highlighting - call X("rubySymbol", s:green, "", "") - call X("rubyConstant", s:yellow, "", "") - call X("rubyAccess", s:yellow, "", "") - call X("rubyAttribute", s:blue, "", "") - call X("rubyInclude", s:blue, "", "") - call X("rubyLocalVariableOrMethod", s:orange, "", "") - call X("rubyCurlyBlock", s:orange, "", "") - call X("rubyStringDelimiter", s:green, "", "") - call X("rubyInterpolationDelimiter", s:orange, "", "") - call X("rubyConditional", s:purple, "", "") - call X("rubyRepeat", s:purple, "", "") - call X("rubyControl", s:purple, "", "") - call X("rubyException", s:purple, "", "") - - " Crystal Highlighting - call X("crystalSymbol", s:green, "", "") - call X("crystalConstant", s:yellow, "", "") - call X("crystalAccess", s:yellow, "", "") - call X("crystalAttribute", s:blue, "", "") - call X("crystalInclude", s:blue, "", "") - call X("crystalLocalVariableOrMethod", s:orange, "", "") - call X("crystalCurlyBlock", s:orange, "", "") - call X("crystalStringDelimiter", s:green, "", "") - call X("crystalInterpolationDelimiter", s:orange, "", "") - call X("crystalConditional", s:purple, "", "") - call X("crystalRepeat", s:purple, "", "") - call X("crystalControl", s:purple, "", "") - call X("crystalException", s:purple, "", "") - - " Python Highlighting - call X("pythonInclude", s:purple, "", "") - call X("pythonStatement", s:purple, "", "") - call X("pythonConditional", s:purple, "", "") - call X("pythonRepeat", s:purple, "", "") - call X("pythonException", s:purple, "", "") - call X("pythonFunction", s:blue, "", "") - call X("pythonPreCondit", s:purple, "", "") - call X("pythonRepeat", s:aqua, "", "") - call X("pythonExClass", s:orange, "", "") - - " JavaScript Highlighting - call X("javaScriptBraces", s:foreground, "", "") - call X("javaScriptFunction", s:purple, "", "") - call X("javaScriptConditional", s:purple, "", "") - call X("javaScriptRepeat", s:purple, "", "") - call X("javaScriptNumber", s:orange, "", "") - call X("javaScriptMember", s:orange, "", "") - call X("javascriptNull", s:orange, "", "") - call X("javascriptGlobal", s:blue, "", "") - call X("javascriptStatement", s:red, "", "") - - " CoffeeScript Highlighting - call X("coffeeRepeat", s:purple, "", "") - call X("coffeeConditional", s:purple, "", "") - call X("coffeeKeyword", s:purple, "", "") - call X("coffeeObject", s:yellow, "", "") - - " HTML Highlighting - call X("htmlTag", s:red, "", "") - call X("htmlTagName", s:red, "", "") - call X("htmlArg", s:red, "", "") - call X("htmlScriptTag", s:red, "", "") - - " Diff Highlighting - call X("diffAdd", "", "4c4e39", "") - call X("diffDelete", s:background, s:red, "") - call X("diffChange", "", "2B5B77", "") - call X("diffText", s:line, s:blue, "") - - " ShowMarks Highlighting - call X("ShowMarksHLl", s:orange, s:background, "none") - call X("ShowMarksHLo", s:purple, s:background, "none") - call X("ShowMarksHLu", s:yellow, s:background, "none") - call X("ShowMarksHLm", s:aqua, s:background, "none") - - " Lua Highlighting - call X("luaStatement", s:purple, "", "") - call X("luaRepeat", s:purple, "", "") - call X("luaCondStart", s:purple, "", "") - call X("luaCondElseif", s:purple, "", "") - call X("luaCond", s:purple, "", "") - call X("luaCondEnd", s:purple, "", "") - - " Cucumber Highlighting - call X("cucumberGiven", s:blue, "", "") - call X("cucumberGivenAnd", s:blue, "", "") - - " Go Highlighting - call X("goDirective", s:purple, "", "") - call X("goDeclaration", s:purple, "", "") - call X("goStatement", s:purple, "", "") - call X("goConditional", s:purple, "", "") - call X("goConstants", s:orange, "", "") - call X("goTodo", s:yellow, "", "") - call X("goDeclType", s:blue, "", "") - call X("goBuiltins", s:purple, "", "") - call X("goRepeat", s:purple, "", "") - call X("goLabel", s:purple, "", "") - - " Clojure Highlighting - call X("clojureConstant", s:orange, "", "") - call X("clojureBoolean", s:orange, "", "") - call X("clojureCharacter", s:orange, "", "") - call X("clojureKeyword", s:green, "", "") - call X("clojureNumber", s:orange, "", "") - call X("clojureString", s:green, "", "") - call X("clojureRegexp", s:green, "", "") - call X("clojureParen", s:aqua, "", "") - call X("clojureVariable", s:yellow, "", "") - call X("clojureCond", s:blue, "", "") - call X("clojureDefine", s:purple, "", "") - call X("clojureException", s:red, "", "") - call X("clojureFunc", s:blue, "", "") - call X("clojureMacro", s:blue, "", "") - call X("clojureRepeat", s:blue, "", "") - call X("clojureSpecial", s:purple, "", "") - call X("clojureQuote", s:blue, "", "") - call X("clojureUnquote", s:blue, "", "") - call X("clojureMeta", s:blue, "", "") - call X("clojureDeref", s:blue, "", "") - call X("clojureAnonArg", s:blue, "", "") - call X("clojureRepeat", s:blue, "", "") - call X("clojureDispatch", s:blue, "", "") - - " Scala Highlighting - call X("scalaKeyword", s:purple, "", "") - call X("scalaKeywordModifier", s:purple, "", "") - call X("scalaOperator", s:blue, "", "") - call X("scalaPackage", s:red, "", "") - call X("scalaFqn", s:foreground, "", "") - call X("scalaFqnSet", s:foreground, "", "") - call X("scalaImport", s:purple, "", "") - call X("scalaBoolean", s:orange, "", "") - call X("scalaDef", s:purple, "", "") - call X("scalaVal", s:purple, "", "") - call X("scalaVar", s:aqua, "", "") - call X("scalaClass", s:purple, "", "") - call X("scalaObject", s:purple, "", "") - call X("scalaTrait", s:purple, "", "") - call X("scalaDefName", s:blue, "", "") - call X("scalaValName", s:foreground, "", "") - call X("scalaVarName", s:foreground, "", "") - call X("scalaClassName", s:foreground, "", "") - call X("scalaType", s:yellow, "", "") - call X("scalaTypeSpecializer", s:yellow, "", "") - call X("scalaAnnotation", s:orange, "", "") - call X("scalaNumber", s:orange, "", "") - call X("scalaDefSpecializer", s:yellow, "", "") - call X("scalaClassSpecializer", s:yellow, "", "") - call X("scalaBackTick", s:green, "", "") - call X("scalaRoot", s:foreground, "", "") - call X("scalaMethodCall", s:blue, "", "") - call X("scalaCaseType", s:yellow, "", "") - call X("scalaLineComment", s:comment, "", "") - call X("scalaComment", s:comment, "", "") - call X("scalaDocComment", s:comment, "", "") - call X("scalaDocTags", s:comment, "", "") - call X("scalaEmptyString", s:green, "", "") - call X("scalaMultiLineString", s:green, "", "") - call X("scalaUnicode", s:orange, "", "") - call X("scalaString", s:green, "", "") - call X("scalaStringEscape", s:green, "", "") - call X("scalaSymbol", s:orange, "", "") - call X("scalaChar", s:orange, "", "") - call X("scalaXml", s:green, "", "") - call X("scalaConstructorSpecializer", s:yellow, "", "") - call X("scalaBackTick", s:blue, "", "") - - " Git - call X("diffAdded", s:green, "", "") - call X("diffRemoved", s:red, "", "") - call X("gitcommitSummary", "", "", "bold") - - " Delete Functions - delf X - delf rgb - delf colour - delf rgb_colour - delf rgb_level - delf rgb_number - delf grey_colour - delf grey_level - delf grey_number -endif - -set background=dark diff --git a/.vim/colors/Tomorrow-Night-Eighties.vim b/.vim/colors/Tomorrow-Night-Eighties.vim deleted file mode 100644 index 8fa3c8c..0000000 --- a/.vim/colors/Tomorrow-Night-Eighties.vim +++ /dev/null @@ -1,489 +0,0 @@ -" Tomorrow Night Eighties - Full Colour and 256 Colour -" http://chriskempson.com -" -" Hex colour conversion functions borrowed from the theme "Desert256"" - -" Default GUI Colours -let s:foreground = "cccccc" -let s:background = "2d2d2d" -let s:selection = "515151" -let s:line = "393939" -let s:comment = "999999" -let s:red = "f2777a" -let s:orange = "f99157" -let s:yellow = "ffcc66" -let s:green = "99cc99" -let s:aqua = "66cccc" -let s:blue = "6699cc" -let s:purple = "cc99cc" -let s:window = "4d5057" - -hi clear -syntax reset - -let g:colors_name = "Tomorrow-Night-Eighties" - -if has("gui_running") || &t_Co == 88 || &t_Co == 256 - " Returns an approximate grey index for the given grey level - fun grey_number(x) - if &t_Co == 88 - if a:x < 23 - return 0 - elseif a:x < 69 - return 1 - elseif a:x < 103 - return 2 - elseif a:x < 127 - return 3 - elseif a:x < 150 - return 4 - elseif a:x < 173 - return 5 - elseif a:x < 196 - return 6 - elseif a:x < 219 - return 7 - elseif a:x < 243 - return 8 - else - return 9 - endif - else - if a:x < 14 - return 0 - else - let l:n = (a:x - 8) / 10 - let l:m = (a:x - 8) % 10 - if l:m < 5 - return l:n - else - return l:n + 1 - endif - endif - endif - endfun - - " Returns the actual grey level represented by the grey index - fun grey_level(n) - if &t_Co == 88 - if a:n == 0 - return 0 - elseif a:n == 1 - return 46 - elseif a:n == 2 - return 92 - elseif a:n == 3 - return 115 - elseif a:n == 4 - return 139 - elseif a:n == 5 - return 162 - elseif a:n == 6 - return 185 - elseif a:n == 7 - return 208 - elseif a:n == 8 - return 231 - else - return 255 - endif - else - if a:n == 0 - return 0 - else - return 8 + (a:n * 10) - endif - endif - endfun - - " Returns the palette index for the given grey index - fun grey_colour(n) - if &t_Co == 88 - if a:n == 0 - return 16 - elseif a:n == 9 - return 79 - else - return 79 + a:n - endif - else - if a:n == 0 - return 16 - elseif a:n == 25 - return 231 - else - return 231 + a:n - endif - endif - endfun - - " Returns an approximate colour index for the given colour level - fun rgb_number(x) - if &t_Co == 88 - if a:x < 69 - return 0 - elseif a:x < 172 - return 1 - elseif a:x < 230 - return 2 - else - return 3 - endif - else - if a:x < 75 - return 0 - else - let l:n = (a:x - 55) / 40 - let l:m = (a:x - 55) % 40 - if l:m < 20 - return l:n - else - return l:n + 1 - endif - endif - endif - endfun - - " Returns the actual colour level for the given colour index - fun rgb_level(n) - if &t_Co == 88 - if a:n == 0 - return 0 - elseif a:n == 1 - return 139 - elseif a:n == 2 - return 205 - else - return 255 - endif - else - if a:n == 0 - return 0 - else - return 55 + (a:n * 40) - endif - endif - endfun - - " Returns the palette index for the given R/G/B colour indices - fun rgb_colour(x, y, z) - if &t_Co == 88 - return 16 + (a:x * 16) + (a:y * 4) + a:z - else - return 16 + (a:x * 36) + (a:y * 6) + a:z - endif - endfun - - " Returns the palette index to approximate the given R/G/B colour levels - fun colour(r, g, b) - " Get the closest grey - let l:gx = grey_number(a:r) - let l:gy = grey_number(a:g) - let l:gz = grey_number(a:b) - - " Get the closest colour - let l:x = rgb_number(a:r) - let l:y = rgb_number(a:g) - let l:z = rgb_number(a:b) - - if l:gx == l:gy && l:gy == l:gz - " There are two possibilities - let l:dgr = grey_level(l:gx) - a:r - let l:dgg = grey_level(l:gy) - a:g - let l:dgb = grey_level(l:gz) - a:b - let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) - let l:dr = rgb_level(l:gx) - a:r - let l:dg = rgb_level(l:gy) - a:g - let l:db = rgb_level(l:gz) - a:b - let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) - if l:dgrey < l:drgb - " Use the grey - return grey_colour(l:gx) - else - " Use the colour - return rgb_colour(l:x, l:y, l:z) - endif - else - " Only one possibility - return rgb_colour(l:x, l:y, l:z) - endif - endfun - - " Returns the palette index to approximate the 'rrggbb' hex string - fun rgb(rgb) - let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 - let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 - let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 - - return colour(l:r, l:g, l:b) - endfun - - " Sets the highlighting for the given group - fun X(group, fg, bg, attr) - if a:fg != "" - exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . rgb(a:fg) - endif - if a:bg != "" - exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . rgb(a:bg) - endif - if a:attr != "" - exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr - endif - endfun - - " Vim Highlighting - call X("Normal", s:foreground, s:background, "") - call X("LineNr", s:selection, "", "") - call X("NonText", s:selection, "", "") - call X("SpecialKey", s:selection, "", "") - call X("Search", s:background, s:yellow, "") - call X("TabLine", s:window, s:foreground, "reverse") - call X("TabLineFill", s:window, s:foreground, "reverse") - call X("StatusLine", s:window, s:yellow, "reverse") - call X("StatusLineNC", s:window, s:foreground, "reverse") - call X("VertSplit", s:window, s:window, "none") - call X("Visual", "", s:selection, "") - call X("Directory", s:blue, "", "") - call X("ModeMsg", s:green, "", "") - call X("MoreMsg", s:green, "", "") - call X("Question", s:green, "", "") - call X("WarningMsg", s:red, "", "") - call X("MatchParen", "", s:selection, "") - call X("Folded", s:comment, s:background, "") - call X("FoldColumn", "", s:background, "") - if version >= 700 - call X("CursorLine", "", s:line, "none") - call X("CursorColumn", "", s:line, "none") - call X("PMenu", s:foreground, s:selection, "none") - call X("PMenuSel", s:foreground, s:selection, "reverse") - call X("SignColumn", "", s:background, "none") - end - if version >= 703 - call X("ColorColumn", "", s:line, "none") - end - - " Standard Highlighting - call X("Comment", s:comment, "", "") - call X("Todo", s:comment, s:background, "") - call X("Title", s:comment, "", "") - call X("Identifier", s:red, "", "none") - call X("Statement", s:foreground, "", "") - call X("Conditional", s:foreground, "", "") - call X("Repeat", s:foreground, "", "") - call X("Structure", s:purple, "", "") - call X("Function", s:blue, "", "") - call X("Constant", s:orange, "", "") - call X("Keyword", s:orange, "", "") - call X("String", s:green, "", "") - call X("Special", s:foreground, "", "") - call X("PreProc", s:purple, "", "") - call X("Operator", s:aqua, "", "none") - call X("Type", s:blue, "", "none") - call X("Define", s:purple, "", "none") - call X("Include", s:blue, "", "") - "call X("Ignore", "666666", "", "") - - " Vim Highlighting - call X("vimCommand", s:red, "", "none") - - " C Highlighting - call X("cType", s:yellow, "", "") - call X("cStorageClass", s:purple, "", "") - call X("cConditional", s:purple, "", "") - call X("cRepeat", s:purple, "", "") - - " PHP Highlighting - call X("phpVarSelector", s:red, "", "") - call X("phpKeyword", s:purple, "", "") - call X("phpRepeat", s:purple, "", "") - call X("phpConditional", s:purple, "", "") - call X("phpStatement", s:purple, "", "") - call X("phpMemberSelector", s:foreground, "", "") - - " Ruby Highlighting - call X("rubySymbol", s:green, "", "") - call X("rubyConstant", s:yellow, "", "") - call X("rubyAccess", s:yellow, "", "") - call X("rubyAttribute", s:blue, "", "") - call X("rubyInclude", s:blue, "", "") - call X("rubyLocalVariableOrMethod", s:orange, "", "") - call X("rubyCurlyBlock", s:orange, "", "") - call X("rubyStringDelimiter", s:green, "", "") - call X("rubyInterpolationDelimiter", s:orange, "", "") - call X("rubyConditional", s:purple, "", "") - call X("rubyRepeat", s:purple, "", "") - call X("rubyControl", s:purple, "", "") - call X("rubyException", s:purple, "", "") - - " Crystal Highlighting - call X("crystalSymbol", s:green, "", "") - call X("crystalConstant", s:yellow, "", "") - call X("crystalAccess", s:yellow, "", "") - call X("crystalAttribute", s:blue, "", "") - call X("crystalInclude", s:blue, "", "") - call X("crystalLocalVariableOrMethod", s:orange, "", "") - call X("crystalCurlyBlock", s:orange, "", "") - call X("crystalStringDelimiter", s:green, "", "") - call X("crystalInterpolationDelimiter", s:orange, "", "") - call X("crystalConditional", s:purple, "", "") - call X("crystalRepeat", s:purple, "", "") - call X("crystalControl", s:purple, "", "") - call X("crystalException", s:purple, "", "") - - " Python Highlighting - call X("pythonInclude", s:purple, "", "") - call X("pythonStatement", s:purple, "", "") - call X("pythonConditional", s:purple, "", "") - call X("pythonRepeat", s:purple, "", "") - call X("pythonException", s:purple, "", "") - call X("pythonFunction", s:blue, "", "") - call X("pythonPreCondit", s:purple, "", "") - call X("pythonRepeat", s:aqua, "", "") - call X("pythonExClass", s:orange, "", "") - - " JavaScript Highlighting - call X("javaScriptBraces", s:foreground, "", "") - call X("javaScriptFunction", s:purple, "", "") - call X("javaScriptConditional", s:purple, "", "") - call X("javaScriptRepeat", s:purple, "", "") - call X("javaScriptNumber", s:orange, "", "") - call X("javaScriptMember", s:orange, "", "") - call X("javascriptNull", s:orange, "", "") - call X("javascriptGlobal", s:blue, "", "") - call X("javascriptStatement", s:red, "", "") - - " CoffeeScript Highlighting - call X("coffeeRepeat", s:purple, "", "") - call X("coffeeConditional", s:purple, "", "") - call X("coffeeKeyword", s:purple, "", "") - call X("coffeeObject", s:yellow, "", "") - - " HTML Highlighting - call X("htmlTag", s:red, "", "") - call X("htmlTagName", s:red, "", "") - call X("htmlArg", s:red, "", "") - call X("htmlScriptTag", s:red, "", "") - - " Diff Highlighting - call X("diffAdd", "", "4c4e39", "") - call X("diffDelete", s:background, s:red, "") - call X("diffChange", "", "2B5B77", "") - call X("diffText", s:line, s:blue, "") - - " ShowMarks Highlighting - call X("ShowMarksHLl", s:orange, s:background, "none") - call X("ShowMarksHLo", s:purple, s:background, "none") - call X("ShowMarksHLu", s:yellow, s:background, "none") - call X("ShowMarksHLm", s:aqua, s:background, "none") - - " Lua Highlighting - call X("luaStatement", s:purple, "", "") - call X("luaRepeat", s:purple, "", "") - call X("luaCondStart", s:purple, "", "") - call X("luaCondElseif", s:purple, "", "") - call X("luaCond", s:purple, "", "") - call X("luaCondEnd", s:purple, "", "") - - " Cucumber Highlighting - call X("cucumberGiven", s:blue, "", "") - call X("cucumberGivenAnd", s:blue, "", "") - - " Go Highlighting - call X("goDirective", s:purple, "", "") - call X("goDeclaration", s:purple, "", "") - call X("goStatement", s:purple, "", "") - call X("goConditional", s:purple, "", "") - call X("goConstants", s:orange, "", "") - call X("goTodo", s:yellow, "", "") - call X("goDeclType", s:blue, "", "") - call X("goBuiltins", s:purple, "", "") - call X("goRepeat", s:purple, "", "") - call X("goLabel", s:purple, "", "") - - " Clojure Highlighting - call X("clojureConstant", s:orange, "", "") - call X("clojureBoolean", s:orange, "", "") - call X("clojureCharacter", s:orange, "", "") - call X("clojureKeyword", s:green, "", "") - call X("clojureNumber", s:orange, "", "") - call X("clojureString", s:green, "", "") - call X("clojureRegexp", s:green, "", "") - call X("clojureParen", s:aqua, "", "") - call X("clojureVariable", s:yellow, "", "") - call X("clojureCond", s:blue, "", "") - call X("clojureDefine", s:purple, "", "") - call X("clojureException", s:red, "", "") - call X("clojureFunc", s:blue, "", "") - call X("clojureMacro", s:blue, "", "") - call X("clojureRepeat", s:blue, "", "") - call X("clojureSpecial", s:purple, "", "") - call X("clojureQuote", s:blue, "", "") - call X("clojureUnquote", s:blue, "", "") - call X("clojureMeta", s:blue, "", "") - call X("clojureDeref", s:blue, "", "") - call X("clojureAnonArg", s:blue, "", "") - call X("clojureRepeat", s:blue, "", "") - call X("clojureDispatch", s:blue, "", "") - - " Scala Highlighting - call X("scalaKeyword", s:purple, "", "") - call X("scalaKeywordModifier", s:purple, "", "") - call X("scalaOperator", s:blue, "", "") - call X("scalaPackage", s:red, "", "") - call X("scalaFqn", s:foreground, "", "") - call X("scalaFqnSet", s:foreground, "", "") - call X("scalaImport", s:purple, "", "") - call X("scalaBoolean", s:orange, "", "") - call X("scalaDef", s:purple, "", "") - call X("scalaVal", s:purple, "", "") - call X("scalaVar", s:aqua, "", "") - call X("scalaClass", s:purple, "", "") - call X("scalaObject", s:purple, "", "") - call X("scalaTrait", s:purple, "", "") - call X("scalaDefName", s:blue, "", "") - call X("scalaValName", s:foreground, "", "") - call X("scalaVarName", s:foreground, "", "") - call X("scalaClassName", s:foreground, "", "") - call X("scalaType", s:yellow, "", "") - call X("scalaTypeSpecializer", s:yellow, "", "") - call X("scalaAnnotation", s:orange, "", "") - call X("scalaNumber", s:orange, "", "") - call X("scalaDefSpecializer", s:yellow, "", "") - call X("scalaClassSpecializer", s:yellow, "", "") - call X("scalaBackTick", s:green, "", "") - call X("scalaRoot", s:foreground, "", "") - call X("scalaMethodCall", s:blue, "", "") - call X("scalaCaseType", s:yellow, "", "") - call X("scalaLineComment", s:comment, "", "") - call X("scalaComment", s:comment, "", "") - call X("scalaDocComment", s:comment, "", "") - call X("scalaDocTags", s:comment, "", "") - call X("scalaEmptyString", s:green, "", "") - call X("scalaMultiLineString", s:green, "", "") - call X("scalaUnicode", s:orange, "", "") - call X("scalaString", s:green, "", "") - call X("scalaStringEscape", s:green, "", "") - call X("scalaSymbol", s:orange, "", "") - call X("scalaChar", s:orange, "", "") - call X("scalaXml", s:green, "", "") - call X("scalaConstructorSpecializer", s:yellow, "", "") - call X("scalaBackTick", s:blue, "", "") - - " Git - call X("diffAdded", s:green, "", "") - call X("diffRemoved", s:red, "", "") - call X("gitcommitSummary", "", "", "bold") - - " Delete Functions - delf X - delf rgb - delf colour - delf rgb_colour - delf rgb_level - delf rgb_number - delf grey_colour - delf grey_level - delf grey_number -endif - -set background=dark diff --git a/.vim/colors/Tomorrow-Night.vim b/.vim/colors/Tomorrow-Night.vim deleted file mode 100644 index f8e5833..0000000 --- a/.vim/colors/Tomorrow-Night.vim +++ /dev/null @@ -1,497 +0,0 @@ -" Tomorrow Night - Full Colour and 256 Colour -" http://chriskempson.com -" -" Hex colour conversion functions borrowed from the theme "Desert256"" - -" Default GUI Colours -let s:foreground = "c5c8c6" -let s:background = "1d1f21" -let s:selection = "373b41" -let s:line = "282a2e" -let s:comment = "969896" -let s:red = "cc6666" -let s:orange = "de935f" -let s:yellow = "f0c674" -let s:green = "b5bd68" -let s:aqua = "8abeb7" -let s:blue = "81a2be" -let s:purple = "b294bb" -let s:window = "4d5057" - -" Console 256 Colours -if !has("gui_running") - let s:background = "303030" - let s:window = "5e5e5e" - let s:line = "3a3a3a" - let s:selection = "585858" -end - -hi clear -syntax reset - -let g:colors_name = "Tomorrow-Night" - -if has("gui_running") || &t_Co == 88 || &t_Co == 256 - " Returns an approximate grey index for the given grey level - fun grey_number(x) - if &t_Co == 88 - if a:x < 23 - return 0 - elseif a:x < 69 - return 1 - elseif a:x < 103 - return 2 - elseif a:x < 127 - return 3 - elseif a:x < 150 - return 4 - elseif a:x < 173 - return 5 - elseif a:x < 196 - return 6 - elseif a:x < 219 - return 7 - elseif a:x < 243 - return 8 - else - return 9 - endif - else - if a:x < 14 - return 0 - else - let l:n = (a:x - 8) / 10 - let l:m = (a:x - 8) % 10 - if l:m < 5 - return l:n - else - return l:n + 1 - endif - endif - endif - endfun - - " Returns the actual grey level represented by the grey index - fun grey_level(n) - if &t_Co == 88 - if a:n == 0 - return 0 - elseif a:n == 1 - return 46 - elseif a:n == 2 - return 92 - elseif a:n == 3 - return 115 - elseif a:n == 4 - return 139 - elseif a:n == 5 - return 162 - elseif a:n == 6 - return 185 - elseif a:n == 7 - return 208 - elseif a:n == 8 - return 231 - else - return 255 - endif - else - if a:n == 0 - return 0 - else - return 8 + (a:n * 10) - endif - endif - endfun - - " Returns the palette index for the given grey index - fun grey_colour(n) - if &t_Co == 88 - if a:n == 0 - return 16 - elseif a:n == 9 - return 79 - else - return 79 + a:n - endif - else - if a:n == 0 - return 16 - elseif a:n == 25 - return 231 - else - return 231 + a:n - endif - endif - endfun - - " Returns an approximate colour index for the given colour level - fun rgb_number(x) - if &t_Co == 88 - if a:x < 69 - return 0 - elseif a:x < 172 - return 1 - elseif a:x < 230 - return 2 - else - return 3 - endif - else - if a:x < 75 - return 0 - else - let l:n = (a:x - 55) / 40 - let l:m = (a:x - 55) % 40 - if l:m < 20 - return l:n - else - return l:n + 1 - endif - endif - endif - endfun - - " Returns the actual colour level for the given colour index - fun rgb_level(n) - if &t_Co == 88 - if a:n == 0 - return 0 - elseif a:n == 1 - return 139 - elseif a:n == 2 - return 205 - else - return 255 - endif - else - if a:n == 0 - return 0 - else - return 55 + (a:n * 40) - endif - endif - endfun - - " Returns the palette index for the given R/G/B colour indices - fun rgb_colour(x, y, z) - if &t_Co == 88 - return 16 + (a:x * 16) + (a:y * 4) + a:z - else - return 16 + (a:x * 36) + (a:y * 6) + a:z - endif - endfun - - " Returns the palette index to approximate the given R/G/B colour levels - fun colour(r, g, b) - " Get the closest grey - let l:gx = grey_number(a:r) - let l:gy = grey_number(a:g) - let l:gz = grey_number(a:b) - - " Get the closest colour - let l:x = rgb_number(a:r) - let l:y = rgb_number(a:g) - let l:z = rgb_number(a:b) - - if l:gx == l:gy && l:gy == l:gz - " There are two possibilities - let l:dgr = grey_level(l:gx) - a:r - let l:dgg = grey_level(l:gy) - a:g - let l:dgb = grey_level(l:gz) - a:b - let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) - let l:dr = rgb_level(l:gx) - a:r - let l:dg = rgb_level(l:gy) - a:g - let l:db = rgb_level(l:gz) - a:b - let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) - if l:dgrey < l:drgb - " Use the grey - return grey_colour(l:gx) - else - " Use the colour - return rgb_colour(l:x, l:y, l:z) - endif - else - " Only one possibility - return rgb_colour(l:x, l:y, l:z) - endif - endfun - - " Returns the palette index to approximate the 'rrggbb' hex string - fun rgb(rgb) - let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 - let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 - let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 - - return colour(l:r, l:g, l:b) - endfun - - " Sets the highlighting for the given group - fun X(group, fg, bg, attr) - if a:fg != "" - exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . rgb(a:fg) - endif - if a:bg != "" - exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . rgb(a:bg) - endif - if a:attr != "" - exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr - endif - endfun - - " Vim Highlighting - call X("Normal", s:foreground, s:background, "") - call X("LineNr", s:selection, "", "") - call X("NonText", s:selection, "", "") - call X("SpecialKey", s:selection, "", "") - call X("Search", s:background, s:yellow, "") - call X("TabLine", s:window, s:foreground, "reverse") - call X("TabLineFill", s:window, s:foreground, "reverse") - call X("StatusLine", s:window, s:yellow, "reverse") - call X("StatusLineNC", s:window, s:foreground, "reverse") - call X("VertSplit", s:window, s:window, "none") - call X("Visual", "", s:selection, "") - call X("Directory", s:blue, "", "") - call X("ModeMsg", s:green, "", "") - call X("MoreMsg", s:green, "", "") - call X("Question", s:green, "", "") - call X("WarningMsg", s:red, "", "") - call X("MatchParen", "", s:selection, "") - call X("Folded", s:comment, s:background, "") - call X("FoldColumn", "", s:background, "") - if version >= 700 - call X("CursorLine", "", s:line, "none") - call X("CursorColumn", "", s:line, "none") - call X("PMenu", s:foreground, s:selection, "none") - call X("PMenuSel", s:foreground, s:selection, "reverse") - call X("SignColumn", "", s:background, "none") - end - if version >= 703 - call X("ColorColumn", "", s:line, "none") - end - - " Standard Highlighting - call X("Comment", s:comment, "", "") - call X("Todo", s:comment, s:background, "") - call X("Title", s:comment, "", "") - call X("Identifier", s:red, "", "none") - call X("Statement", s:foreground, "", "") - call X("Conditional", s:foreground, "", "") - call X("Repeat", s:foreground, "", "") - call X("Structure", s:purple, "", "") - call X("Function", s:blue, "", "") - call X("Constant", s:orange, "", "") - call X("Keyword", s:orange, "", "") - call X("String", s:green, "", "") - call X("Special", s:foreground, "", "") - call X("PreProc", s:purple, "", "") - call X("Operator", s:aqua, "", "none") - call X("Type", s:blue, "", "none") - call X("Define", s:purple, "", "none") - call X("Include", s:blue, "", "") - "call X("Ignore", "666666", "", "") - - " Vim Highlighting - call X("vimCommand", s:red, "", "none") - - " C Highlighting - call X("cType", s:yellow, "", "") - call X("cStorageClass", s:purple, "", "") - call X("cConditional", s:purple, "", "") - call X("cRepeat", s:purple, "", "") - - " PHP Highlighting - call X("phpVarSelector", s:red, "", "") - call X("phpKeyword", s:purple, "", "") - call X("phpRepeat", s:purple, "", "") - call X("phpConditional", s:purple, "", "") - call X("phpStatement", s:purple, "", "") - call X("phpMemberSelector", s:foreground, "", "") - - " Ruby Highlighting - call X("rubySymbol", s:green, "", "") - call X("rubyConstant", s:yellow, "", "") - call X("rubyAccess", s:yellow, "", "") - call X("rubyAttribute", s:blue, "", "") - call X("rubyInclude", s:blue, "", "") - call X("rubyLocalVariableOrMethod", s:orange, "", "") - call X("rubyCurlyBlock", s:orange, "", "") - call X("rubyStringDelimiter", s:green, "", "") - call X("rubyInterpolationDelimiter", s:orange, "", "") - call X("rubyConditional", s:purple, "", "") - call X("rubyRepeat", s:purple, "", "") - call X("rubyControl", s:purple, "", "") - call X("rubyException", s:purple, "", "") - - " Crystal Highlighting - call X("crystalSymbol", s:green, "", "") - call X("crystalConstant", s:yellow, "", "") - call X("crystalAccess", s:yellow, "", "") - call X("crystalAttribute", s:blue, "", "") - call X("crystalInclude", s:blue, "", "") - call X("crystalLocalVariableOrMethod", s:orange, "", "") - call X("crystalCurlyBlock", s:orange, "", "") - call X("crystalStringDelimiter", s:green, "", "") - call X("crystalInterpolationDelimiter", s:orange, "", "") - call X("crystalConditional", s:purple, "", "") - call X("crystalRepeat", s:purple, "", "") - call X("crystalControl", s:purple, "", "") - call X("crystalException", s:purple, "", "") - - " Python Highlighting - call X("pythonInclude", s:purple, "", "") - call X("pythonStatement", s:purple, "", "") - call X("pythonConditional", s:purple, "", "") - call X("pythonRepeat", s:purple, "", "") - call X("pythonException", s:purple, "", "") - call X("pythonFunction", s:blue, "", "") - call X("pythonPreCondit", s:purple, "", "") - call X("pythonRepeat", s:aqua, "", "") - call X("pythonExClass", s:orange, "", "") - - " JavaScript Highlighting - call X("javaScriptBraces", s:foreground, "", "") - call X("javaScriptFunction", s:purple, "", "") - call X("javaScriptConditional", s:purple, "", "") - call X("javaScriptRepeat", s:purple, "", "") - call X("javaScriptNumber", s:orange, "", "") - call X("javaScriptMember", s:orange, "", "") - call X("javascriptNull", s:orange, "", "") - call X("javascriptGlobal", s:blue, "", "") - call X("javascriptStatement", s:red, "", "") - - " CoffeeScript Highlighting - call X("coffeeRepeat", s:purple, "", "") - call X("coffeeConditional", s:purple, "", "") - call X("coffeeKeyword", s:purple, "", "") - call X("coffeeObject", s:yellow, "", "") - - " HTML Highlighting - call X("htmlTag", s:red, "", "") - call X("htmlTagName", s:red, "", "") - call X("htmlArg", s:red, "", "") - call X("htmlScriptTag", s:red, "", "") - - " Diff Highlighting - call X("diffAdd", "", "4c4e39", "") - call X("diffDelete", s:background, s:red, "") - call X("diffChange", "", "2B5B77", "") - call X("diffText", s:line, s:blue, "") - - " ShowMarks Highlighting - call X("ShowMarksHLl", s:orange, s:background, "none") - call X("ShowMarksHLo", s:purple, s:background, "none") - call X("ShowMarksHLu", s:yellow, s:background, "none") - call X("ShowMarksHLm", s:aqua, s:background, "none") - - " Lua Highlighting - call X("luaStatement", s:purple, "", "") - call X("luaRepeat", s:purple, "", "") - call X("luaCondStart", s:purple, "", "") - call X("luaCondElseif", s:purple, "", "") - call X("luaCond", s:purple, "", "") - call X("luaCondEnd", s:purple, "", "") - - " Cucumber Highlighting - call X("cucumberGiven", s:blue, "", "") - call X("cucumberGivenAnd", s:blue, "", "") - - " Go Highlighting - call X("goDirective", s:purple, "", "") - call X("goDeclaration", s:purple, "", "") - call X("goStatement", s:purple, "", "") - call X("goConditional", s:purple, "", "") - call X("goConstants", s:orange, "", "") - call X("goTodo", s:yellow, "", "") - call X("goDeclType", s:blue, "", "") - call X("goBuiltins", s:purple, "", "") - call X("goRepeat", s:purple, "", "") - call X("goLabel", s:purple, "", "") - - " Clojure Highlighting - call X("clojureConstant", s:orange, "", "") - call X("clojureBoolean", s:orange, "", "") - call X("clojureCharacter", s:orange, "", "") - call X("clojureKeyword", s:green, "", "") - call X("clojureNumber", s:orange, "", "") - call X("clojureString", s:green, "", "") - call X("clojureRegexp", s:green, "", "") - call X("clojureParen", s:aqua, "", "") - call X("clojureVariable", s:yellow, "", "") - call X("clojureCond", s:blue, "", "") - call X("clojureDefine", s:purple, "", "") - call X("clojureException", s:red, "", "") - call X("clojureFunc", s:blue, "", "") - call X("clojureMacro", s:blue, "", "") - call X("clojureRepeat", s:blue, "", "") - call X("clojureSpecial", s:purple, "", "") - call X("clojureQuote", s:blue, "", "") - call X("clojureUnquote", s:blue, "", "") - call X("clojureMeta", s:blue, "", "") - call X("clojureDeref", s:blue, "", "") - call X("clojureAnonArg", s:blue, "", "") - call X("clojureRepeat", s:blue, "", "") - call X("clojureDispatch", s:blue, "", "") - - " Scala Highlighting - call X("scalaKeyword", s:purple, "", "") - call X("scalaKeywordModifier", s:purple, "", "") - call X("scalaOperator", s:blue, "", "") - call X("scalaPackage", s:red, "", "") - call X("scalaFqn", s:foreground, "", "") - call X("scalaFqnSet", s:foreground, "", "") - call X("scalaImport", s:purple, "", "") - call X("scalaBoolean", s:orange, "", "") - call X("scalaDef", s:purple, "", "") - call X("scalaVal", s:purple, "", "") - call X("scalaVar", s:aqua, "", "") - call X("scalaClass", s:purple, "", "") - call X("scalaObject", s:purple, "", "") - call X("scalaTrait", s:purple, "", "") - call X("scalaDefName", s:blue, "", "") - call X("scalaValName", s:foreground, "", "") - call X("scalaVarName", s:foreground, "", "") - call X("scalaClassName", s:foreground, "", "") - call X("scalaType", s:yellow, "", "") - call X("scalaTypeSpecializer", s:yellow, "", "") - call X("scalaAnnotation", s:orange, "", "") - call X("scalaNumber", s:orange, "", "") - call X("scalaDefSpecializer", s:yellow, "", "") - call X("scalaClassSpecializer", s:yellow, "", "") - call X("scalaBackTick", s:green, "", "") - call X("scalaRoot", s:foreground, "", "") - call X("scalaMethodCall", s:blue, "", "") - call X("scalaCaseType", s:yellow, "", "") - call X("scalaLineComment", s:comment, "", "") - call X("scalaComment", s:comment, "", "") - call X("scalaDocComment", s:comment, "", "") - call X("scalaDocTags", s:comment, "", "") - call X("scalaEmptyString", s:green, "", "") - call X("scalaMultiLineString", s:green, "", "") - call X("scalaUnicode", s:orange, "", "") - call X("scalaString", s:green, "", "") - call X("scalaStringEscape", s:green, "", "") - call X("scalaSymbol", s:orange, "", "") - call X("scalaChar", s:orange, "", "") - call X("scalaXml", s:green, "", "") - call X("scalaConstructorSpecializer", s:yellow, "", "") - call X("scalaBackTick", s:blue, "", "") - - " Git - call X("diffAdded", s:green, "", "") - call X("diffRemoved", s:red, "", "") - call X("gitcommitSummary", "", "", "bold") - - " Delete Functions - delf X - delf rgb - delf colour - delf rgb_colour - delf rgb_level - delf rgb_number - delf grey_colour - delf grey_level - delf grey_number -endif - -set background=dark diff --git a/.vim/colors/Tomorrow.vim b/.vim/colors/Tomorrow.vim deleted file mode 100644 index 78147b2..0000000 --- a/.vim/colors/Tomorrow.vim +++ /dev/null @@ -1,482 +0,0 @@ -" Tomorrow - Full Colour and 256 Colour -" http://chriskempson.com -" -" Hex colour conversion functions borrowed from the theme "Desert256"" - -" Default GUI Colours -let s:foreground = "4d4d4c" -let s:background = "ffffff" -let s:selection = "d6d6d6" -let s:line = "efefef" -let s:comment = "8e908c" -let s:red = "c82829" -let s:orange = "f5871f" -let s:yellow = "eab700" -let s:green = "718c00" -let s:aqua = "3e999f" -let s:blue = "4271ae" -let s:purple = "8959a8" -let s:window = "efefef" - -set background=light -hi clear -syntax reset - -let g:colors_name = "Tomorrow" - -if has("gui_running") || &t_Co == 88 || &t_Co == 256 - " Returns an approximate grey index for the given grey level - fun grey_number(x) - if &t_Co == 88 - if a:x < 23 - return 0 - elseif a:x < 69 - return 1 - elseif a:x < 103 - return 2 - elseif a:x < 127 - return 3 - elseif a:x < 150 - return 4 - elseif a:x < 173 - return 5 - elseif a:x < 196 - return 6 - elseif a:x < 219 - return 7 - elseif a:x < 243 - return 8 - else - return 9 - endif - else - if a:x < 14 - return 0 - else - let l:n = (a:x - 8) / 10 - let l:m = (a:x - 8) % 10 - if l:m < 5 - return l:n - else - return l:n + 1 - endif - endif - endif - endfun - - " Returns the actual grey level represented by the grey index - fun grey_level(n) - if &t_Co == 88 - if a:n == 0 - return 0 - elseif a:n == 1 - return 46 - elseif a:n == 2 - return 92 - elseif a:n == 3 - return 115 - elseif a:n == 4 - return 139 - elseif a:n == 5 - return 162 - elseif a:n == 6 - return 185 - elseif a:n == 7 - return 208 - elseif a:n == 8 - return 231 - else - return 255 - endif - else - if a:n == 0 - return 0 - else - return 8 + (a:n * 10) - endif - endif - endfun - - " Returns the palette index for the given grey index - fun grey_colour(n) - if &t_Co == 88 - if a:n == 0 - return 16 - elseif a:n == 9 - return 79 - else - return 79 + a:n - endif - else - if a:n == 0 - return 16 - elseif a:n == 25 - return 231 - else - return 231 + a:n - endif - endif - endfun - - " Returns an approximate colour index for the given colour level - fun rgb_number(x) - if &t_Co == 88 - if a:x < 69 - return 0 - elseif a:x < 172 - return 1 - elseif a:x < 230 - return 2 - else - return 3 - endif - else - if a:x < 75 - return 0 - else - let l:n = (a:x - 55) / 40 - let l:m = (a:x - 55) % 40 - if l:m < 20 - return l:n - else - return l:n + 1 - endif - endif - endif - endfun - - " Returns the actual colour level for the given colour index - fun rgb_level(n) - if &t_Co == 88 - if a:n == 0 - return 0 - elseif a:n == 1 - return 139 - elseif a:n == 2 - return 205 - else - return 255 - endif - else - if a:n == 0 - return 0 - else - return 55 + (a:n * 40) - endif - endif - endfun - - " Returns the palette index for the given R/G/B colour indices - fun rgb_colour(x, y, z) - if &t_Co == 88 - return 16 + (a:x * 16) + (a:y * 4) + a:z - else - return 16 + (a:x * 36) + (a:y * 6) + a:z - endif - endfun - - " Returns the palette index to approximate the given R/G/B colour levels - fun colour(r, g, b) - " Get the closest grey - let l:gx = grey_number(a:r) - let l:gy = grey_number(a:g) - let l:gz = grey_number(a:b) - - " Get the closest colour - let l:x = rgb_number(a:r) - let l:y = rgb_number(a:g) - let l:z = rgb_number(a:b) - - if l:gx == l:gy && l:gy == l:gz - " There are two possibilities - let l:dgr = grey_level(l:gx) - a:r - let l:dgg = grey_level(l:gy) - a:g - let l:dgb = grey_level(l:gz) - a:b - let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) - let l:dr = rgb_level(l:gx) - a:r - let l:dg = rgb_level(l:gy) - a:g - let l:db = rgb_level(l:gz) - a:b - let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) - if l:dgrey < l:drgb - " Use the grey - return grey_colour(l:gx) - else - " Use the colour - return rgb_colour(l:x, l:y, l:z) - endif - else - " Only one possibility - return rgb_colour(l:x, l:y, l:z) - endif - endfun - - " Returns the palette index to approximate the 'rrggbb' hex string - fun rgb(rgb) - let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 - let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 - let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 - - return colour(l:r, l:g, l:b) - endfun - - " Sets the highlighting for the given group - fun X(group, fg, bg, attr) - if a:fg != "" - exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . rgb(a:fg) - endif - if a:bg != "" - exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . rgb(a:bg) - endif - if a:attr != "" - exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr - endif - endfun - - " Vim Highlighting - call X("Normal", s:foreground, s:background, "") - highlight LineNr term=bold cterm=NONE ctermfg=DarkGrey ctermbg=NONE gui=NONE guifg=DarkGrey guibg=NONE - call X("NonText", s:selection, "", "") - call X("SpecialKey", s:selection, "", "") - call X("Search", s:foreground, s:yellow, "") - call X("TabLine", s:window, s:foreground, "reverse") - call X("TabLineFill", s:window, s:foreground, "reverse") - call X("StatusLine", s:window, s:yellow, "reverse") - call X("StatusLineNC", s:window, s:foreground, "reverse") - call X("VertSplit", s:window, s:window, "none") - call X("Visual", "", s:selection, "") - call X("Directory", s:blue, "", "") - call X("ModeMsg", s:green, "", "") - call X("MoreMsg", s:green, "", "") - call X("Question", s:green, "", "") - call X("WarningMsg", s:red, "", "") - call X("MatchParen", "", s:selection, "") - call X("Folded", s:comment, s:background, "") - call X("FoldColumn", "", s:background, "") - if version >= 700 - call X("CursorLine", "", s:line, "none") - call X("CursorColumn", "", s:line, "none") - call X("PMenu", s:foreground, s:selection, "none") - call X("PMenuSel", s:foreground, s:selection, "reverse") - call X("SignColumn", "", s:background, "none") - end - if version >= 703 - call X("ColorColumn", "", s:line, "none") - end - - " Standard Highlighting - call X("Comment", s:comment, "", "") - call X("Todo", s:comment, s:background, "") - call X("Title", s:comment, "", "") - call X("Identifier", s:red, "", "none") - call X("Statement", s:foreground, "", "") - call X("Conditional", s:foreground, "", "") - call X("Repeat", s:foreground, "", "") - call X("Structure", s:purple, "", "") - call X("Function", s:blue, "", "") - call X("Constant", s:orange, "", "") - call X("Keyword", s:orange, "", "") - call X("String", s:green, "", "") - call X("Special", s:foreground, "", "") - call X("PreProc", s:purple, "", "") - call X("Operator", s:aqua, "", "none") - call X("Type", s:blue, "", "none") - call X("Define", s:purple, "", "none") - call X("Include", s:blue, "", "") - "call X("Ignore", "666666", "", "") - - " Vim Highlighting - call X("vimCommand", s:red, "", "none") - - " C Highlighting - call X("cType", s:yellow, "", "") - call X("cStorageClass", s:purple, "", "") - call X("cConditional", s:purple, "", "") - call X("cRepeat", s:purple, "", "") - - " PHP Highlighting - call X("phpVarSelector", s:red, "", "") - call X("phpKeyword", s:purple, "", "") - call X("phpRepeat", s:purple, "", "") - call X("phpConditional", s:purple, "", "") - call X("phpStatement", s:purple, "", "") - call X("phpMemberSelector", s:foreground, "", "") - - " Ruby Highlighting - call X("rubySymbol", s:green, "", "") - call X("rubyConstant", s:yellow, "", "") - call X("rubyAccess", s:yellow, "", "") - call X("rubyAttribute", s:blue, "", "") - call X("rubyInclude", s:blue, "", "") - call X("rubyLocalVariableOrMethod", s:orange, "", "") - call X("rubyCurlyBlock", s:orange, "", "") - call X("rubyStringDelimiter", s:green, "", "") - call X("rubyInterpolationDelimiter", s:orange, "", "") - call X("rubyConditional", s:purple, "", "") - call X("rubyRepeat", s:purple, "", "") - call X("rubyControl", s:purple, "", "") - call X("rubyException", s:purple, "", "") - - " Crystal Highlighting - call X("crystalSymbol", s:green, "", "") - call X("crystalConstant", s:yellow, "", "") - call X("crystalAccess", s:yellow, "", "") - call X("crystalAttribute", s:blue, "", "") - call X("crystalInclude", s:blue, "", "") - call X("crystalLocalVariableOrMethod", s:orange, "", "") - call X("crystalCurlyBlock", s:orange, "", "") - call X("crystalStringDelimiter", s:green, "", "") - call X("crystalInterpolationDelimiter", s:orange, "", "") - call X("crystalConditional", s:purple, "", "") - call X("crystalRepeat", s:purple, "", "") - call X("crystalControl", s:purple, "", "") - call X("crystalException", s:purple, "", "") - - " Python Highlighting - call X("pythonInclude", s:purple, "", "") - call X("pythonStatement", s:purple, "", "") - call X("pythonConditional", s:purple, "", "") - call X("pythonRepeat", s:purple, "", "") - call X("pythonException", s:purple, "", "") - call X("pythonFunction", s:blue, "", "") - call X("pythonPreCondit", s:purple, "", "") - call X("pythonRepeat", s:aqua, "", "") - call X("pythonExClass", s:orange, "", "") - - " JavaScript Highlighting - call X("javaScriptBraces", s:foreground, "", "") - call X("javaScriptFunction", s:purple, "", "") - call X("javaScriptConditional", s:purple, "", "") - call X("javaScriptRepeat", s:purple, "", "") - call X("javaScriptNumber", s:orange, "", "") - call X("javaScriptMember", s:orange, "", "") - call X("javascriptNull", s:orange, "", "") - call X("javascriptGlobal", s:blue, "", "") - call X("javascriptStatement", s:red, "", "") - - " CoffeeScript Highlighting - call X("coffeeRepeat", s:purple, "", "") - call X("coffeeConditional", s:purple, "", "") - call X("coffeeKeyword", s:purple, "", "") - call X("coffeeObject", s:yellow, "", "") - - " HTML Highlighting - call X("htmlTag", s:red, "", "") - call X("htmlTagName", s:red, "", "") - call X("htmlArg", s:red, "", "") - call X("htmlScriptTag", s:red, "", "") - - " ShowMarks Highlighting - call X("ShowMarksHLl", s:orange, s:background, "none") - call X("ShowMarksHLo", s:purple, s:background, "none") - call X("ShowMarksHLu", s:yellow, s:background, "none") - call X("ShowMarksHLm", s:aqua, s:background, "none") - - " Lua Highlighting - call X("luaStatement", s:purple, "", "") - call X("luaRepeat", s:purple, "", "") - call X("luaCondStart", s:purple, "", "") - call X("luaCondElseif", s:purple, "", "") - call X("luaCond", s:purple, "", "") - call X("luaCondEnd", s:purple, "", "") - - " Cucumber Highlighting - call X("cucumberGiven", s:blue, "", "") - call X("cucumberGivenAnd", s:blue, "", "") - - " Go Highlighting - call X("goDirective", s:purple, "", "") - call X("goDeclaration", s:purple, "", "") - call X("goStatement", s:purple, "", "") - call X("goConditional", s:purple, "", "") - call X("goConstants", s:orange, "", "") - call X("goTodo", s:yellow, "", "") - call X("goDeclType", s:blue, "", "") - call X("goBuiltins", s:purple, "", "") - call X("goRepeat", s:purple, "", "") - call X("goLabel", s:purple, "", "") - - " Clojure Highlighting - call X("clojureConstant", s:orange, "", "") - call X("clojureBoolean", s:orange, "", "") - call X("clojureCharacter", s:orange, "", "") - call X("clojureKeyword", s:green, "", "") - call X("clojureNumber", s:orange, "", "") - call X("clojureString", s:green, "", "") - call X("clojureRegexp", s:green, "", "") - call X("clojureParen", s:aqua, "", "") - call X("clojureVariable", s:yellow, "", "") - call X("clojureCond", s:blue, "", "") - call X("clojureDefine", s:purple, "", "") - call X("clojureException", s:red, "", "") - call X("clojureFunc", s:blue, "", "") - call X("clojureMacro", s:blue, "", "") - call X("clojureRepeat", s:blue, "", "") - call X("clojureSpecial", s:purple, "", "") - call X("clojureQuote", s:blue, "", "") - call X("clojureUnquote", s:blue, "", "") - call X("clojureMeta", s:blue, "", "") - call X("clojureDeref", s:blue, "", "") - call X("clojureAnonArg", s:blue, "", "") - call X("clojureRepeat", s:blue, "", "") - call X("clojureDispatch", s:blue, "", "") - - " Scala Highlighting - call X("scalaKeyword", s:purple, "", "") - call X("scalaKeywordModifier", s:purple, "", "") - call X("scalaOperator", s:blue, "", "") - call X("scalaPackage", s:red, "", "") - call X("scalaFqn", s:foreground, "", "") - call X("scalaFqnSet", s:foreground, "", "") - call X("scalaImport", s:purple, "", "") - call X("scalaBoolean", s:orange, "", "") - call X("scalaDef", s:purple, "", "") - call X("scalaVal", s:purple, "", "") - call X("scalaVar", s:aqua, "", "") - call X("scalaClass", s:purple, "", "") - call X("scalaObject", s:purple, "", "") - call X("scalaTrait", s:purple, "", "") - call X("scalaDefName", s:blue, "", "") - call X("scalaValName", s:foreground, "", "") - call X("scalaVarName", s:foreground, "", "") - call X("scalaClassName", s:foreground, "", "") - call X("scalaType", s:yellow, "", "") - call X("scalaTypeSpecializer", s:yellow, "", "") - call X("scalaAnnotation", s:orange, "", "") - call X("scalaNumber", s:orange, "", "") - call X("scalaDefSpecializer", s:yellow, "", "") - call X("scalaClassSpecializer", s:yellow, "", "") - call X("scalaBackTick", s:green, "", "") - call X("scalaRoot", s:foreground, "", "") - call X("scalaMethodCall", s:blue, "", "") - call X("scalaCaseType", s:yellow, "", "") - call X("scalaLineComment", s:comment, "", "") - call X("scalaComment", s:comment, "", "") - call X("scalaDocComment", s:comment, "", "") - call X("scalaDocTags", s:comment, "", "") - call X("scalaEmptyString", s:green, "", "") - call X("scalaMultiLineString", s:green, "", "") - call X("scalaUnicode", s:orange, "", "") - call X("scalaString", s:green, "", "") - call X("scalaStringEscape", s:green, "", "") - call X("scalaSymbol", s:orange, "", "") - call X("scalaChar", s:orange, "", "") - call X("scalaXml", s:green, "", "") - call X("scalaConstructorSpecializer", s:yellow, "", "") - call X("scalaBackTick", s:blue, "", "") - - " Git - call X("diffAdded", s:green, "", "") - call X("diffRemoved", s:red, "", "") - call X("gitcommitSummary", "", "", "bold") - - " Delete Functions - delf X - delf rgb - delf colour - delf rgb_colour - delf rgb_level - delf rgb_number - delf grey_colour - delf grey_level - delf grey_number -endif diff --git a/.vim/doc/bufexplorer.txt b/.vim/doc/bufexplorer.txt deleted file mode 100644 index ffa72fd..0000000 --- a/.vim/doc/bufexplorer.txt +++ /dev/null @@ -1,772 +0,0 @@ -*bufexplorer.txt* Buffer Explorer Last Change: 01 May 2017 - -Buffer Explorer *buffer-explorer* *bufexplorer* - Version 7.4.15 - -Plugin for easily exploring (or browsing) Vim|:buffers|. - -|bufexplorer-installation| Installation -|bufexplorer-usage| Usage -|bufexplorer-windowlayout| Window Layout -|bufexplorer-customization| Customization -|bufexplorer-changelog| Change Log -|bufexplorer-todo| Todo -|bufexplorer-credits| Credits -|bufexplorer-copyright| Copyright - -For Vim version 7.0 and above. -This plugin is only available if 'compatible' is not set. - -{Vi does not have any of this} - -============================================================================== -INSTALLATION *bufexplorer-installation* - -To install: - - Download the bufexplorer.zip from one of the following places: - https://github.com/jlanzarotta/bufexplorer - http://www.vim.org/scripts/script.php?script_id=42 - or use a package manager like Vundle. - - Extract the zip archive into your runtime directory. - The archive contains plugin/bufexplorer.vim, and doc/bufexplorer.txt. - - Start Vim or goto an existing instance of Vim. - - Execute the following command: -> - :helptag /doc -< - This will generate all the help tags for any file located in the doc - directory. - -============================================================================== -USAGE *bufexplorer-usage* - -To start exploring in the current window, use: > - be or :BufExplorer or Your custom key mapping -To toggle bufexplorer on or off in the current window, use: > - bt or :ToggleBufExplorer or Your custom key mapping -To start exploring in a newly split horizontal window, use: > - bs or :BufExplorerHorizontalSplit or Your custom key mapping -To start exploring in a newly split vertical window, use: > - bv or :BufExplorerVerticalSplit or Your custom key mapping - -If you would like to use something other than the default leader key - '\' - -you may simply change the leader (see |mapleader|). - -When bs or bv is issued, bufexplorer opens in either a -horizontally or vertically split window. By issusing either of these commands, -the user is telling bufexplorer that they want to split the window and have -bufexplorer show the buffer they are about to select (from the bufexplorer -windows) in the newly split window. When be is issued, bufexplorer -opens the bufexplorer contents in the current window and the buffer the user -selects is opened in the current window. - -Note: If the current buffer is modified when bufexplorer started, the current - window is always split and the new bufexplorer is displayed in that new - window. - -Commands to use once exploring: - - Toggle help information. - Opens the buffer that is under the cursor into the current - window. - Opens the buffer that is under the cursor into the current - window. - Opens the buffer that is under the cursor in another tab. - b Fast buffer switching with b. - B Works in association with the |ShowTabBuffer| option. If - |ShowTabBuffer| is set to 1, this toggles if BufExplorer is to - only store the most recent tab for this buffer or not. - d |:delete| the buffer under the cursor from the list. The - buffer's 'buflisted' is cleared. This allows for the buffer to - be displayed again using the 'show unlisted' command. - D |:wipeout| the buffer under the cursor from the list. When a - buffer is wiped, it will not be shown when unlisted buffers are - displayed. - f Toggles whether you are taken to the active window when - selecting a buffer or not. - o Opens the buffer that is under the cursor into the current - window. - p Toggles the showing of a split filename/pathname. - q Exit/Close bufexplorer. - r Reverses the order the buffers are listed in. - R Toggles relative path/absolute path. - s Cycle thru how the buffers are listed. Either by buffer - number, file name, file extension, most recently used (MRU), or - full path. - S Cycle thru how the buffers are listed, in reverse order. - Either by buffer number, file name, file extension, most - recently used (MRU), or full path. - t Opens the buffer that is under the cursor in another tab. - T Toggles to show only buffers for this tab or not. - u Toggles the showing of "unlisted" buffers. - -Once invoked, Buffer Explorer displays a sorted list (MRU is the default -sort method) of all the buffers that are currently opened. You are then -able to move the cursor to the line containing the buffer's name you are -wanting to act upon. Once you have selected the buffer you would like, -you can then either open it, close it (delete), resort the list, reverse -the sort, quit exploring and so on... - -=============================================================================== -WINDOW LAYOUT *bufexplorer-windowlayout* - -------------------------------------------------------------------------------- -" Press for Help -" Sorted by mru | Locate buffer | Absolute Split path -"= - 1 %a bufexplorer.txt C:\Vim\vimfiles\doc line 87 - 2 # bufexplorer.vim c:\Vim\vimfiles\plugin line 1 -------------------------------------------------------------------------------- - | | | | | - | | | | +-- Current Line #. - | | | +-- Relative/Full Path - | | +-- Buffer Name. - | +-- Buffer Attributes. See |:buffers| for more information. - +-- Buffer Number. See |:buffers| for more information. - -=============================================================================== -CUSTOMIZATION *bufexplorer-customization* - -If you do not like the default key mappings of be, bs, and -bv, you can override bufexplorer's default mappings by setting up -something like the following in your vimrc file: - - nnoremap :BufExplorer - nnoremap :ToggleBufExplorer - nnoremap :BufExplorerHorizontalSplit - nnoremap :BufExplorerVerticalSplit - - *g:bufExplorerChgWin* -If set, bufexplorer will bring up the selected buffer in the window specified -by g:bufExplorerChgWin. - - *g:bufExplorerDefaultHelp* -To control whether the default help is displayed or not, use: > - let g:bufExplorerDefaultHelp=0 " Do not show default help. - let g:bufExplorerDefaultHelp=1 " Show default help. -The default is to show the default help. - - *g:bufExplorerDisableDefaultKeyMapping* -To control whether the default key mappings are enabled or not, use: > - let g:bufExplorerDisableDefaultKeyMapping=0 " Do not disable mapping. - let g:bufExplorerDisableDefaultKeyMapping=1 " Disable mapping. -The default is NOT to disable the default key mapping. - - *g:bufExplorerDetailedHelp* -To control whether detailed help is display by, use: > - let g:bufExplorerDetailedHelp=0 " Do not show detailed help. - let g:bufExplorerDetailedHelp=1 " Show detailed help. -The default is NOT to show detailed help. - - *g:bufExplorerFindActive* -To control whether you are taken to the active window when selecting a buffer, -use: > - let g:bufExplorerFindActive=0 " Do not go to active window. - let g:bufExplorerFindActive=1 " Go to active window. -The default is to be taken to the active window. - - *g:bufExplorerFuncRef* -When a buffer is selected, the functions specified either singly or as a list -will be called. - - *g:bufExplorerReverseSort* -To control whether to sort the buffer in reverse order or not, use: > - let g:bufExplorerReverseSort=0 " Do not sort in reverse order. - let g:bufExplorerReverseSort=1 " Sort in reverse order. -The default is NOT to sort in reverse order. - - *g:bufExplorerShowDirectories* -Directories usually show up in the list from using a command like ":e .". -To control whether to show directories in the buffer list or not, use: > - let g:bufExplorerShowDirectories=0 " Do not show directories. - let g:bufExplorerShowDirectories=1 " Show directories. -The default is to show directories. - - *g:bufExplorerShowNoName* -To control whether to show "No Name" buffers or not, use: > - let g:bufExplorerShowNoName=0 " Do not "No Name" buffers. - let g:bufExplorerShowNoName=1 " Show "No Name" buffers. -The default is to NOT show "No Name buffers. - - *g:bufExplorerShowRelativePath* -To control whether to show absolute paths or relative to the current -directory, use: > - let g:bufExplorerShowRelativePath=0 " Show absolute paths. - let g:bufExplorerShowRelativePath=1 " Show relative paths. -The default is to show absolute paths. - - *g:bufExplorerShowTabBuffer* -To control whether or not to show buffers on for the specific tab or not, use: > - let g:bufExplorerShowTabBuffer=0 " No. - let g:bufExplorerShowTabBuffer=1 " Yes. -The default is not to show. - - *g:bufExplorerShowUnlisted* -To control whether to show unlisted buffers or not, use: > - let g:bufExplorerShowUnlisted=0 " Do not show unlisted buffers. - let g:bufExplorerShowUnlisted=1 " Show unlisted buffers. -The default is to NOT show unlisted buffers. - - *g:bufExplorerSortBy* -To control what field the buffers are sorted by, use: > - let g:bufExplorerSortBy='extension' " Sort by file extension. - let g:bufExplorerSortBy='fullpath' " Sort by full file path name. - let g:bufExplorerSortBy='mru' " Sort by most recently used. - let g:bufExplorerSortBy='name' " Sort by the buffer's name. - let g:bufExplorerSortBy='number' " Sort by the buffer's number. -The default is to sort by mru. - - *g:bufExplorerSplitBelow* -To control where the new split window will be placed above or below the -current window, use: > - let g:bufExplorerSplitBelow=1 " Split new window below current. - let g:bufExplorerSplitBelow=0 " Split new window above current. -The default is to use whatever is set by the global &splitbelow -variable. - - *g:bufExplorerSplitHorzSize* -To control the size of the new horizontal split window. use: > - let g:bufExplorerSplitHorzSize=n " New split window is n rows high. - let g:bufExplorerSplitHorzSize=0 " New split window size set by Vim. -The default is 0, so that the size is set by Vim. - - *g:bufExplorerSplitOutPathName* -To control whether to split out the path and file name or not, use: > - let g:bufExplorerSplitOutPathName=1 " Split the path and file name. - let g:bufExplorerSplitOutPathName=0 " Don't split the path and file - " name. -The default is to split the path and file name. - - *g:bufExplorerSplitRight* -To control where the new vsplit window will be placed to the left or right of -current window, use: > - let g:bufExplorerSplitRight=0 " Split left. - let g:bufExplorerSplitRight=1 " Split right. -The default is to use the global &splitright. - - *g:bufExplorerSplitVertSize* -To control the size of the new vertical split window. use: > - let g:bufExplorerVertSize=n " New split window is n columns wide. - let g:bufExplorerVertSize=0 " New split windows size set by Vim. -The default is 0, so that the size is set by Vim. - -=============================================================================== -CHANGE LOG *bufexplorer-changelog* - -7.4.15 May 01, 2017 - - Finally applied the patch submitted by justfalter. This patch is a - backward-compatible fix for the "invalid tab range" bug. -7.4.14 April 10, 2017 - - As suggested by adelarsq way back on January 5th, 2016, a filetype has - been added. There is now 'filetype=bufexplorer'. -7.4.13 March 08, 2017 - - Thanks to devakivamsi for pointing out that even though bufexplorer - turns off line numbers by default within its own window, this did not - work correctly when using WinManager. This has now been corrected. -7.4.12 September 30, 2016 - - Thanks again to Martin Vuille for several more fixes related to making - bufexplorer more tab-friendly. -7.4.11 September, 20, 2016 - - Thanks to Martin Vuille for reworking the per-tab buffer listing code. - Fix for g:bufExplorerShowTabBuffer is not working correctly and other - "gliches" when the ShotTabBuffer option is enabled. For example old - code would not correctly handle adding/deleting a tab that wasn't the - highest-numbered tab. -7.4.10 August 26, 2016 - - Thanks to buddylindsey for fixing a misspelling in the docs. -7.4.9 April 01, 2016 - - Thanks to ivegotasthma for supplying a patch to fix a major issue with - plugin performance when lots of buffers are open. - - Thanks to ershov for the patch to fix grouping of files in ambiguous - sort modes. - - Thanks to PhilRunninger for changing documentation to use , in - place of '\'. -7.4.8 January 27, 2015 - - Thanks to Marius Gedminas for fixing up the documentation and correcting - various typos. -7.4.7 January 20, 2015 - - Thanks goes out to Phil Runninger for added the ability to toggle the - bufexplorer list on and off using the :ToggleBufExplorer command, the - map bt, and the function ToggleBufExplorer(). -7.4.6 November 03, 2014 - - Not sure how, but the file format was converted to Dos instead of Unix. - I converted the file back to Unix. -7.4.5 October 24, 2014 - - Dr Michael Henry suggested to change all noremap commands to nnoremap. - Using noremap is unnecessarily broad and can cause problems, especially - for select mode. -7.4.4 August 19, 2014 - - Revert change where bufexplorer windows was closed even if the target - buffer has not been loaded yet. -7.4.3 August 13, 2014 - - Ivan Ukhov fixed issue with deleting the last window. This update also - fixes as well as another. If you have say, NERDtree open on the left - side and bufexplorer on the right, that bufexplorer would close NERDtree - erroneously thinking that it is closing itself. - - Radoslaw Burny fixed a few bugs that surfaced when bufexplorer is used - within winmanager. -7.4.2 October 22, 2013 - - Added global option g:bufExplorerDisableDefaultKeyMapping. This option - controls weather the default key mappings (\be, \bs, and \bv) are - enabled or not. See documentation for more information. -7.4.1 October 11, 2013 - - First update related to Vim 7.4. - - Changed license text. - - Fixed issue with 'hidden'. If 'hidden' is set, make sure that - g:bufExplorerFindActive is set to 0. Otherwise, when using \bs or \bv, - and selecting a buffer, the original buffer will be switched to instead - of being opened in the newly created windows. - - Added new 'b' mapping when the bufExplorer window is opened. When 'b' - is pressed, the user is prompted for the buffer number to switch to, and - is is then switched to when is pressed. This allows for somewhat - faster buffer switching instead of using the j and k keys or the mouse - to select the buffer to switch to. - - Removed 'set nolist' from the Initialize() function as well as the - restore of the 'list' setting in the CleanUp() function. These were - causing issues when multiple new files were opened from the command - line. Furthermore, there was really no reason, that I can remember, to - why the 'list' setting was saved, modified, and restored anyways. - - Fixed issue with WinManager integration code not working correctly - anymore. - - Brought back the xnoremap setup for the 'd' and 'D' keys. These were - removed for some reason after version 7.2.8. - - Thanks to all the contributors and testers. -7.3.6 May 06, 2013 - - Removed the 'drop' window command that was causing issue with the - argument-list being modified after the BufExplorer windows was - displayed. -7.3.5 February 08, 2013 - - Michael Henry added the ability to view "No Name" buffers. This - functionality was lost since version 7.3.0. He also did some removal of - "dead" code and cleaned up the code to handle filenames with embedded - '"'. -7.3.4 January 28, 2013 - - Thanks go out to John Szakmeister for finding and fixing a bug in the - RebuildBufferList method. The keepjumps line that clears the list could - potentially reference a backwards range. -7.3.3 January 14, 2013 - - Major cleanup and reorganization of the change log. - - We welcome the return of g:bufExplorerSplitHorzSize and - g:bufExplorerSplitVertSize. When setting these values, anything less - than or equal to 0 causes the split windows size to be determined by - Vim. If for example you want your new horizontal split window 10 rows - high, set g:bufExplorerSplitHorzSize = 10 in your .vimrc. Similar would - be done if wanting a vertical split except you would use the - g:bufExplorerSplitVertSize variable instead. -7.3.2 December 24, 2012 - - Thanks go out to Michael Henry for pointing out that I completely - missed yet another function, ReverseSortSelect(), during the - refactoring. This function has now returned. -7.3.1 December 06, 2012 - - Thanks go out to Brett Rasmussen for pointing out that the feature - added way back in version 7.2.3 by Yuriy Ershov to automatically - reposition the cursor to the line containing the active buffer, was - no longer in the plugin. That bit of code has been re-added and - all is well. -7.3.0 October 09, 2012 - - It has been quite a while since I published a new version and this - is the first version since Vim 7.3 was released. I have put some - time into reworking and cleaning up the code as well as various bug - fixes. Overall, I am hopeful that I not forgotten or lost a feature. - - Thanks to Tim Johnson for testing out this new version. - - I have hopefully allowed for better mapping of the main public - methods as is explained in the |bufexplorer-customization| section - of the documentation. - - Add new 'B', 'o', and 'S' key mappings. -7.2.8 November 08, 2010 - - Thanks to Charles Campbell for integrating bufexplorer with GDBMGR. - http://mysite.verizon.net/astronaut/vim/index.html#GDBMGR -7.2.7 April 26, 2010 - - My 1st attempt to fix the "cache" issue where buffers information - has changed but the cache/display does not reflect those changes. - More work still needs to be done. -7.2.6 February 12, 2010 - - Thanks to Michael Henry for pointing out that I totally forgot to - update the inline help to reflect the previous change to the 'd' - and 'D' keys. Opps! -7.2.5 February 10, 2010 - - Philip Morant suggested switching the command (bwipe) associated - with the 'd' key with the command (bdelete) associated with the 'D' - key. This made sense since the 'd' key is more likely to be used - compared to the 'D' key. -7.2.4 January 14, 2010 - - I did not implement the patch provided by Godefroid Chapelle - correctly. I missed one line which happened to be the most important - one :) -7.2.3 December 15, 2009 - - Hopefully I have not left anyone or anything out :) - - Thanks to David Fishburn for helping me out with a much needed - code overhaul as well as some awesome performance enhancements. - - David also reworked the handling of tabs. - - Thanks to Vladimir Dobriakov for making the suggestions on - enhancing the documentation to include a better explaination of - what is contained in the main bufexplorer window. - - Thanks to Yuriy Ershov for added code that when the bufexplorer - window is opened, the cursor is now positioned at the line with the - active buffer (useful in non-MRU sort modes). - - Yuriy also added the abiltiy to cycle through the sort fields in - reverse order. - - Thanks to Michael Henry for supplying a patch that allows - bufexplorer to be opened even when there is one buffer or less. - - Thanks to Godefroid Chapelle for supplying a patch that fixed - MRU sort order after loading a session. -7.2.2 November 19, 2008 - - Thanks to David L. Dight for spotting and fixing an issue when using - ctrl^. bufexplorer would incorrectly handle the previous buffer so - that when ctrl^ was pressed the incorrect file was opened. -7.2.1 September 03, 2008 - - Thanks to Dimitar for spotting and fixing a feature that was - inadvertently left out of the previous version. The feature was when - bufexplorer was used together with WinManager, you could use the tab - key to open a buffer in a split window. -7.2.0 August 15, 2008 - - For all those missing the \bs and \bv commands, these have now - returned. Thanks to Phil O'Connell for asking for the return of - these missing features and helping test out this version. - - Fixed problem with the bufExplorerFindActive code not working - correctly. - - Fixed an incompatibility between bufexplorer and netrw that caused - buffers to be incorrectly removed from the MRU list. -7.1.7 December 21, 2007 - - TaCahiroy fixed several issues related to opening a buffer in a tab. -7.1.6 December 01, 2007 - - Removed ff=unix from modeline in bufexplorer.txt. Found by Bill - McCarthy. -7.1.5 November 30, 2007 - - Could not open unnamed buffers. Fixed by TaCahiroy. -7.1.4 November 16, 2007 - - Sometimes when a file's path has 'white space' in it, extra buffers - would be created containing each piece of the path. i.e: - opening c:\document and settings\test.txt would create a buffer - named "and" and a buffer named "Documents". This was reported and - fixed by TaCa Yoss. -7.1.3 November 15, 2007 - - Added code to allow only one instance of the plugin to run at a time. - Thanks Dennis Hostetler. -7.1.2 November 07, 2007 - - Dave Larson added handling of tabs. - - Dave Larson removed \bs and \bv commands because these are easier for - the used to create horizontal and vertical windows. - - Fixed a jumplist issue spotted by JiangJun. I overlooked the - 'jumplist' and with a couple calls to 'keepjumps', everything is fine - again. - - Went back to using just a plugin file, instead of both an autoload - and plugin file. The splitting of the file caused issues with other - plugins. So if you have a prior version of bufexplorer that has an - autoload file, please remove autoload\bufexplorer and - plugin\bufexplorer before installing this new version. - - Fixed E493 error spotted by Thomas Arendsen Hein. - - Minor cosmetic changes. - - Minor help file changes. -7.1.1 August 02, 2007 - - A problem spotted by Thomas Arendsen Hein. When running Vim - (7.1.94), error E493 was being thrown. - * Added 'D' for 'delete' buffer as the 'd' command was a 'wipe' buffer. -7.1.0 August 01, 2007 - - Another 'major' update, some by Dave Larson, some by me. - - Making use of 'autoload' now to make the plugin load quicker. - - Removed '\bs' and '\bv'. These are now controlled by the user. The - user can issue a ':sp' or ':vs' to create a horizontal or vertical - split window and then issue a '\be' - - Added handling of tabs. -7.0.17 July 24, 2007 - - Fixed issue with 'drop' command. - - Various enhancements and improvements. -7.0.16 May 15, 2007 - - Fixed issue reported by Liu Jiaping on non Windows systems, which was - ... - Open file1, open file2, modify file1, open bufexplorer, you get the - following error: - - --------8<-------- - Error detected while processing function - 14_StartBufExplorer..14_SplitOpen: - line 4: - E37: No write since last change (add ! to override) - - But the worse thing is, when I want to save the current buffer and - type ':w', I get another error message: - E382: Cannot write, 'buftype' option is set - --------8<-------- - -7.0.15 April 27, 2007 - - Thanks to Mark Smithfield for suggesting bufexplorer needed to handle - the ':args' command. -7.0.14 March 23, 2007 - - Thanks to Randall Hansen for removing the requirement of terminal - versions to be recompiled with 'gui' support so the 'drop' command - would work. The 'drop' command is really not needed in terminal - versions. -7.0.13 February 23, 2007 - - Fixed integration with WinManager. - - Thanks to Dave Eggum for another update. - * Fix: The detailed help didn't display the mapping for toggling - the split type, even though the split type is displayed. - * Fixed incorrect description in the detailed help for toggling - relative or full paths. - * Deprecated s:ExtractBufferNbr(). Vim's str2nr() does the same - thing. - * Created a s:Set() function that sets a variable only if it hasn't - already been defined. It's useful for initializing all those - default settings. - * Removed checks for repetitive command definitions. They were - unnecessary. - * Made the help highlighting a little more fancy. - * Minor reverse compatibility issue: Changed ambiguous setting - names to be more descriptive of what they do (also makes the code - easier to follow): - Changed bufExplorerSortDirection to bufExplorerReverseSort - Changed bufExplorerSplitType to bufExplorerSplitVertical - Changed bufExplorerOpenMode to bufExplorerUseCurrentWindow - * When the BufExplorer window closes, all the file-local marks are - now deleted. This may have the benefit of cleaning up some of the - jumplist. - * Changed the name of the parameter for StartBufExplorer from - "split" to "open". The parameter is a string which specifies how - the buffer will be open, not if it is split or not. - * Deprecated DoAnyMoreBuffersExist() - it is a one line function - only used in one spot. - * Created four functions (SplitOpen(), RebuildBufferList(), - UpdateHelpStatus() and ReSortListing()) all with one purpose - to - reduce repeated code. - * Changed the name of AddHeader() to CreateHelp() to be more - descriptive of what it does. It now returns an array instead of - updating the window directly. This has the benefit of making the - code more efficient since the text the function returns is used a - little differently in the two places the function is called. - * Other minor simplifications. -7.0.12 November 30, 2006 - - MAJOR Update. This version will ONLY run with Vim version 7.0 or - greater. - - Dave Eggum has made some 'significant' updates to this latest - version: - * Added BufExplorerGetAltBuf() global function to be used in the - user's rulerformat. - * Added g:bufExplorerSplitRight option. - * Added g:bufExplorerShowRelativePath option with mapping. - * Added current line highlighting. - * The split type can now be changed whether bufexplorer is opened - in split mode or not. - * Various major and minor bug fixes and speed improvements. - * Sort by extension. - - Other improvements/changes: - * Changed the help key from '?' to to be more 'standard'. - * Fixed splitting of vertical bufexplorer window. - - Hopefully I have not forgot something :) -7.0.11 March 10, 2006 - - Fixed a couple of highlighting bugs, reported by David Eggum. - - Dave Eggum also changed passive voice to active on a couple of - warning messages. -7.0.10 March 02, 2006 - - Fixed bug report by Xiangjiang Ma. If the 'ssl' option is set, - the slash character used when displaying the path was incorrect. -7.0.9 February 28, 2006 - - Martin Grenfell found and eliminated an annoying bug in the - bufexplorer/winmanager integration. The bug was were an - annoying message would be displayed when a window was split or - a new file was opened in a new window. Thanks Martin! -7.0.8 January 18, 2006 - - Thanks to Mike Li for catching a bug in the WinManager integration. - The bug was related to the incorrect displaying of the buffer - explorer's window title. -7.0.7 December 19, 2005 - - Thanks to Jeremy Cowgar for adding a new enhancement. This - enhancement allows the user to press 'S', that is capital S, which - will open the buffer under the cursor in a newly created split - window. -7.0.6 November 18, 2005 - - Thanks to Larry Zhang for finding a bug in the "split" buffer code. - If you force set g:bufExplorerSplitType='v' in your vimrc, and if you - tried to do a \bs to split the bufexplorer window, it would always - split horizontal, not vertical. - - Larry Zhang also found that I had a typeo in that the variable - g:bufExplorerSplitVertSize was all lower case in the documentation - which was incorrect. -7.0.5 October 18, 2005 - - Thanks to Mun Johl for pointing out a bug that if a buffer was - modified, the '+' was not showing up correctly. -7.0.4 October 03, 2005 - - Fixed a problem discovered first by Xiangjiang Ma. Well since I've - been using vim 7.0 and not 6.3, I started using a function (getftype) - that is not in 6.3. So for backward compatibility, I conditionaly use - this function now. Thus, the g:bufExplorerShowDirectories feature is - only available when using vim 7.0 and above. -7.0.3 September 30, 2005 - - Thanks to Erwin Waterlander for finding a problem when the last - buffer was deleted. This issue got me to rewrite the buffer display - logic (which I've wanted to do for sometime now). - - Also great thanks to Dave Eggum for coming up with idea for - g:bufExplorerShowDirectories. Read the above information about this - feature. -7.0.2 March 25, 2005 - - Thanks to Thomas Arendsen Hein for finding a problem when a user - has the default help turned off and then brought up the explorer. An - E493 would be displayed. -7.0.1 March 10, 2005 - - Thanks to Erwin Waterlander for finding a couple problems. - The first problem allowed a modified buffer to be deleted. Opps! The - second problem occurred when several files were opened, BufExplorer - was started, the current buffer was deleted using the 'd' option, and - then BufExplorer was exited. The deleted buffer was still visible - while it is not in the buffers list. Opps again! -7.0.0 March 10, 205 - - Thanks to Shankar R. for suggesting to add the ability to set - the fixed width (g:bufExplorerSplitVertSize) of a new window - when opening bufexplorer vertically and fixed height - (g:bufExplorerSplitHorzSize) of a new window when opening - bufexplorer horizontally. By default, the windows are normally - split to use half the existing width or height. -6.3.0 July 23, 2004 - - Added keepjumps so that the jumps list would not get cluttered with - bufexplorer related stuff. -6.2.3 April 15, 2004 - - Thanks to Jay Logan for finding a bug in the vertical split position - of the code. When selecting that the window was to be split - vertically by doing a '\bv', from then on, all splits, i.e. '\bs', - were split vertically, even though g:bufExplorerSplitType was not set - to 'v'. -6.2.2 January 09, 2004 - - Thanks to Patrik Modesto for adding a small improvement. For some - reason his bufexplorer window was always showing up folded. He added - 'setlocal nofoldenable' and it was fixed. -6.2.1 October 09, 2003 - - Thanks goes out to Takashi Matsuo for added the 'fullPath' sorting - logic and option. -6.2.0 June 13, 2003 - - Thanks goes out to Simon Johann-Ganter for spotting and fixing a - problem in that the last search pattern is overridden by the search - pattern for blank lines. -6.1.6 May 05, 2003 - - Thanks to Artem Chuprina for finding a pesky bug that has been around - for sometime now. The key mapping was causing the buffer - explored to close prematurely when vim was run in an xterm. The - key mapping is now removed. -6.1.5 April 28, 2003 - - Thanks to Khorev Sergey. Added option to show default help or not. -6.1.4 March 18, 2003 - - Thanks goes out to Valery Kondakoff for suggesting the addition of - setlocal nonumber and foldcolumn=0. This allows for line numbering - and folding to be turned off temporarily while in the explorer. -6.1.3 March 11, 2003 - - Added folding. - - Did some code cleanup. - - Added the ability to force the newly split window to be temporarily - vertical, which was suggested by Thomas Glanzmann. -6.1.2 November 05, 2002 - - Now pressing the key will quit, just like 'q'. - - Added folds to hide winmanager configuration. - - If anyone had the 'C' option in their cpoptions they would receive - a E10 error on startup of BufExplorer. cpo is now saved, updated and - restored. Thanks to Charles E Campbell, Jr. - - Attempted to make sure there can only be one BufExplorer window open - at a time. -6.1.1 March 28, 2002 - - Thanks to Brian D. Goodwin for adding toupper to FileNameCmp. This - way buffers sorted by name will be in the correct order regardless of - case. -6.0.16 March 14, 2002 - - Thanks to Andre Pang for the original patch/idea to get bufexplorer - to work in insertmode/modeless mode (evim). - - Added Initialize and Cleanup autocommands to handle commands that - need to be performed when starting or leaving bufexplorer. -6.0.15 February 20, 2002 - - Srinath Avadhanulax added a patch for winmanager.vim. -6.0.14 February 19, 2002 - - Fix a few more bug that I thought I already had fixed. - - Thanks to Eric Bloodworth for adding 'Open Mode/Edit in Place'. - - Added vertical splitting. -6.0.13 February 05, 2002 - - Thanks to Charles E Campbell, Jr. for pointing out some embarrassing - typos that I had in the documentation. I guess I need to run the - spell checker more :o) -6.0.12 February 04, 2002 - - Thanks to Madoka Machitani, for the tip on adding the augroup command - around the MRUList autocommands. -6.0.11 January 26, 2002 - - Fixed bug report by Xiangjiang Ma. '"=' was being added to the search - history which messed up hlsearch. -6.0.10 January 14, 2002 - - Added the necessary hooks so that the Srinath Avadhanula's - winmanager.vim script could more easily integrate with this script. - - Tried to improve performance. -6.0.9 December 17, 2001 - - Added MRU (Most Recently Used) sort ordering. -6.0.8 December 03, 2001 - - Was not resetting the showcmd command correctly. - - Added nifty help file. -6.0.7 November 19, 2001 - - Thanks to Brett Carlane for some great enhancements. Some are added, - some are not, yet. Added highlighting of current and alternate - filenames. Added splitting of path/filename toggle. Reworked - ShowBuffers(). - - Changed my email address. -6.0.6 September 05, 2001 - - Copyright notice added. Needed this so that it could be distributed - with Debian Linux. - - Fixed problem with the SortListing() function failing when there was - only one buffer to display. -6.0.5 August 10, 2001 - - Fixed problems reported by David Pascoe, in that you where unable to - hit 'd' on a buffer that belonged to a files that no longer existed - and that the 'yank' buffer was being overridden by the help text when - the bufexplorer was opened. -6.0.4 July, 31, 2001 - - Thanks to Charles Campbell, Jr. for making this plugin more plugin - *compliant*, adding default keymappings of be and bs - as well as fixing the 'w:sortDirLabel not being defined' bug. -6.0.3 July 30, 2001 - - Added sorting capabilities. Sort taken from explorer.vim. -6.0.2 July 25, 2001 - - Can't remember. -6.0.1 Sometime before July 25, 2001 - - Initial release. - -=============================================================================== -TODO *bufexplorer-todo* - -- Add ability to open a buffer in a horizontal or vertical split after the - initial bufexplorer window is opened. - -=============================================================================== -CREDITS *bufexplorer-credits* - -Author: Jeff Lanzarotta - -Credit must go out to Bram Moolenaar and all the Vim developers for -making the world's best editor (IMHO). I also want to thank everyone who -helped and gave me suggestions. I wouldn't want to leave anyone out so I -won't list names. - -=============================================================================== -COPYRIGHT *bufexplorer-copyright* - -Copyright (c) 2001-2017, Jeff Lanzarotta -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the {organization} nor the names of its contributors may - be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -=============================================================================== -vim:tw=78:noet:wrap:ts=4:ft=help:norl: diff --git a/.vim/plugin/bufexplorer.vim b/.vim/plugin/bufexplorer.vim deleted file mode 100644 index a5eae1e..0000000 --- a/.vim/plugin/bufexplorer.vim +++ /dev/null @@ -1,1303 +0,0 @@ -"============================================================================ -" Copyright: Copyright (c) 2001-2017, Jeff Lanzarotta -" All rights reserved. -" -" Redistribution and use in source and binary forms, with or -" without modification, are permitted provided that the -" following conditions are met: -" -" * Redistributions of source code must retain the above -" copyright notice, this list of conditions and the following -" disclaimer. -" -" * Redistributions in binary form must reproduce the above -" copyright notice, this list of conditions and the following -" disclaimer in the documentation and/or other materials -" provided with the distribution. -" -" * Neither the name of the {organization} nor the names of its -" contributors may be used to endorse or promote products -" derived from this software without specific prior written -" permission. -" -" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -" CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -" Name Of File: bufexplorer.vim -" Description: Buffer Explorer Vim Plugin -" Maintainer: Jeff Lanzarotta (delux256-vim at yahoo dot com) -" Last Changed: Monday, 01 May 2017 -" Version: See g:bufexplorer_version for version number. -" Usage: This file should reside in the plugin directory and be -" automatically sourced. -" -" You may use the default keymappings of -" -" be - Opens BufExplorer -" bt - Toggles BufExplorer open or closed -" bs - Opens horizontally split window BufExplorer -" bv - Opens vertically split window BufExplorer -" -" Or you can override the defaults and define your own mapping -" in your vimrc file, for example: -" -" nnoremap :BufExplorer -" nnoremap :ToggleBufExplorer -" nnoremap :BufExplorerHorizontalSplit -" nnoremap :BufExplorerVerticalSplit -" -" Or you can use -" -" ":BufExplorer" - Opens BufExplorer -" ":ToggleBufExplorer" - Opens/Closes BufExplorer -" ":BufExplorerHorizontalSplit" - Opens horizontally window BufExplorer -" ":BufExplorerVerticalSplit" - Opens vertically split window BufExplorer -" -" For more help see supplied documentation. -" History: See supplied documentation. -"============================================================================= - -" Exit quickly if already running or when 'compatible' is set. {{{1 -if exists("g:bufexplorer_version") || &cp - finish -endif -"1}}} - -" Version number -let g:bufexplorer_version = "7.4.15" - -" Plugin Code {{{1 -" Check for Vim version {{{2 -if v:version < 700 - echohl WarningMsg - echo "Sorry, bufexplorer ".g:bufexplorer_version." required Vim 7.0 or greater." - echohl None - finish -endif -" Check to see if the version of Vim has the correct patch applied, if not, do -" not used . -if v:version > 703 || v:version == 703 && has('patch1261') && has('patch1264') - " We are good to go. -else - echohl WarningMsg - echo "Sorry, bufexplorer ".g:bufexplorer_version." required Vim 7.3 or greater with patch1261 and patch1264." - echohl None - finish -endif - -" Create commands {{{2 -command! BufExplorer :call BufExplorer() -command! ToggleBufExplorer :call ToggleBufExplorer() -command! BufExplorerHorizontalSplit :call BufExplorerHorizontalSplit() -command! BufExplorerVerticalSplit :call BufExplorerVerticalSplit() - -" Set {{{2 -function! s:Set(var, default) - if !exists(a:var) - if type(a:default) - execute "let" a:var "=" string(a:default) - else - execute "let" a:var "=" a:default - endif - - return 1 - endif - - return 0 -endfunction - -" Script variables {{{2 -let s:MRU_Exclude_List = ["[BufExplorer]","__MRU_Files__","[Buf\ List]"] -let s:MRUList = [] -let s:name = '[BufExplorer]' -let s:originBuffer = 0 -let s:running = 0 -let s:sort_by = ["number", "name", "fullpath", "mru", "extension"] -let s:splitMode = "" -let s:types = {"fullname": ':p', "path": ':p:h', "relativename": ':~:.', "relativepath": ':~:.:h', "shortname": ':t'} - -" Setup the autocommands that handle the MRUList and other stuff. {{{2 -autocmd VimEnter * call s:Setup() - -" Setup {{{2 -function! s:Setup() - call s:Reset() - - " Now that the MRUList is created, add the other autocmds. - augroup BufExplorer - autocmd! - autocmd BufEnter,BufNew * call s:ActivateBuffer() - autocmd BufWipeOut * call s:DeactivateBuffer(1) - autocmd BufDelete * call s:DeactivateBuffer(0) - autocmd BufWinEnter \[BufExplorer\] call s:Initialize() - autocmd BufWinLeave \[BufExplorer\] call s:Cleanup() - augroup END -endfunction - -" Reset {{{2 -function! s:Reset() - " Build initial MRUList. This makes sure all the files specified on the - " command line are picked up correctly. - let s:MRUList = range(1, bufnr('$')) - - " Initialize the association of buffers to tabs for any buffers - " that have been created prior to now, e.g., files specified as - " vim command line arguments - call s:CatalogBuffers() -endfunction - -" CatalogBuffers {{{2 -" Create tab associations for any existing buffers -function! s:CatalogBuffers() - let ct = tabpagenr() - - for tab in range(1, tabpagenr('$')) - silent execute 'normal! ' . tab . 'gt' - for buf in tabpagebuflist() - call s:UpdateTabBufData(buf) - endfor - endfor - - silent execute 'normal! ' . ct . 'gt' -endfunction - -" AssociatedTab {{{2 -" Return the number of the tab associated with the specified buffer. -" If the buffer is associated with more than one tab, the first one -" found is returned. If the buffer is not associated with any tabs, -" -1 is returned. -function! s:AssociatedTab(bufnr) - for tab in range(1, tabpagenr('$')) - let list = gettabvar(tab, 'bufexp_buf_list', []) - let idx = index(list, a:bufnr) - if idx != -1 - return tab - endif - endfor - - return -1 -endfunction - -" RemoveBufFromOtherTabs {{{2 -" Remove the specified buffer from the buffer lists of all tabs -" except the current tab. -function! s:RemoveBufFromOtherTabs(bufnr) - for tab in range(1, tabpagenr('$')) - if tab == tabpagenr() - continue - endif - - let list = gettabvar(tab, 'bufexp_buf_list', []) - let idx = index(list, a:bufnr) - if idx == -1 - continue - endif - - call remove(list, idx) - call settabvar(tab, 'bufexp_buf_list', list) - endfor -endfunction - -" AddBufToCurrentTab {{{2 -" Add the specified buffer to the list of buffers associated -" with the current tab -function! s:AddBufToCurrentTab(bufnr) - if index(t:bufexp_buf_list, a:bufnr) == -1 - call add(t:bufexp_buf_list, a:bufnr) - endif -endfunction - -" IsInCurrentTab {{{2 -" Returns whether the specified buffer is associated -" with the current tab -function! s:IsInCurrentTab(bufnr) - " It shouldn't happen that the list of buffers is - " not defined but if it does, play it safe and - " include the buffer - if !exists('t:bufexp_buf_list') - return 1 - endif - - return (index(t:bufexp_buf_list, a:bufnr) != -1) -endfunction - -" UpdateTabBufData {{{2 -" Update the tab buffer data for the specified buffer -" -" The current tab's list is updated. If a buffer is only -" allowed to be associated with one tab, it is removed -" from the lists of any other tabs with which it may have -" been associated. -" -" The associations between tabs and buffers are maintained -" in separate lists for each tab, which are stored in tab- -" specific variables 't:bufexp_buf_list'. -function! s:UpdateTabBufData(bufnr) - " The first time we add a tab, Vim uses the current buffer - " as its starting page even though we are about to edit a - " new page, and another BufEnter for the new page is triggered - " later. Use this first BufEnter to initialize the list of - " buffers, but don't add the buffer number to the list if - " it is already associated with another tab - " - " Unfortunately, this doesn't work right when the first - " buffer opened in the tab should be associated with it, - " such as when 'tab split +buffer N' is used - if !exists("t:bufexp_buf_list") - let t:bufexp_buf_list = [] - - if s:AssociatedTab(a:bufnr) != -1 - return - endif - endif - - call s:AddBufToCurrentTab(a:bufnr) - - if g:bufExplorerOnlyOneTab - call s:RemoveBufFromOtherTabs(a:bufnr) - endif -endfunction - -" ActivateBuffer {{{2 -function! s:ActivateBuffer() - let _bufnr = bufnr("%") - call s:UpdateTabBufData(_bufnr) - call s:MRUPush(_bufnr) -endfunction - -" DeactivateBuffer {{{2 -function! s:DeactivateBuffer(remove) - let _bufnr = str2nr(expand("")) - call s:MRUPop(_bufnr) -endfunction - -" MRUPop {{{2 -function! s:MRUPop(bufnr) - call filter(s:MRUList, 'v:val != '.a:bufnr) -endfunction - -" MRUPush {{{2 -function! s:MRUPush(buf) - " Skip temporary buffer with buftype set. Don't add the BufExplorer window - " to the list. - if s:ShouldIgnore(a:buf) == 1 - return - endif - - " Remove the buffer number from the list if it already exists. - call s:MRUPop(a:buf) - - " Add the buffer number to the head of the list. - call insert(s:MRUList, a:buf) -endfunction - -" ShouldIgnore {{{2 -function! s:ShouldIgnore(buf) - " Ignore temporary buffers with buftype set. - if empty(getbufvar(a:buf, "&buftype") == 0) - return 1 - endif - - " Ignore buffers with no name. - if empty(bufname(a:buf)) == 1 - return 1 - endif - - " Ignore the BufExplorer buffer. - if fnamemodify(bufname(a:buf), ":t") == s:name - return 1 - endif - - " Ignore any buffers in the exclude list. - if index(s:MRU_Exclude_List, bufname(a:buf)) >= 0 - return 1 - endif - - " Else return 0 to indicate that the buffer was not ignored. - return 0 -endfunction - -" Initialize {{{2 -function! s:Initialize() - call s:SetLocalSettings() - let s:running = 1 -endfunction - -" Cleanup {{{2 -function! s:Cleanup() - if exists("s:_insertmode") - let &insertmode = s:_insertmode - endif - - if exists("s:_showcmd") - let &showcmd = s:_showcmd - endif - - if exists("s:_cpo") - let &cpo = s:_cpo - endif - - if exists("s:_report") - let &report = s:_report - endif - - let s:running = 0 - let s:splitMode = "" - - delmarks! -endfunction - -" SetLocalSettings {{{2 -function! s:SetLocalSettings() - let s:_insertmode = &insertmode - set noinsertmode - - let s:_showcmd = &showcmd - set noshowcmd - - let s:_cpo = &cpo - set cpo&vim - - let s:_report = &report - let &report = 10000 - - setlocal nonumber - setlocal foldcolumn=0 - setlocal nofoldenable - setlocal cursorline - setlocal nospell - setlocal nobuflisted - setlocal filetype=bufexplorer -endfunction - -" BufExplorerHorizontalSplit {{{2 -function! BufExplorerHorizontalSplit() - let s:splitMode = "sp" - execute "BufExplorer" -endfunction - -" BufExplorerVerticalSplit {{{2 -function! BufExplorerVerticalSplit() - let s:splitMode = "vsp" - execute "BufExplorer" -endfunction - -" ToggleBufExplorer {{{2 -function! ToggleBufExplorer() - if exists("s:running") && s:running == 1 && bufname(winbufnr(0)) == s:name - call s:Close() - else - call BufExplorer() - endif -endfunction - -" BufExplorer {{{2 -function! BufExplorer() - let name = s:name - - if !has("win32") - " On non-Windows boxes, escape the name so that is shows up correctly. - let name = escape(name, "[]") - endif - - " Make sure there is only one explorer open at a time. - if s:running == 1 - " Go to the open buffer. - if has("gui") - execute "drop" name - endif - - return - endif - - " Add zero to ensure the variable is treated as a number. - let s:originBuffer = bufnr("%") + 0 - - silent let s:raw_buffer_listing = s:GetBufferInfo(0) - - " We may have to split the current window. - if s:splitMode != "" - " Save off the original settings. - let [_splitbelow, _splitright] = [&splitbelow, &splitright] - - " Set the setting to ours. - let [&splitbelow, &splitright] = [g:bufExplorerSplitBelow, g:bufExplorerSplitRight] - let _size = (s:splitMode == "sp") ? g:bufExplorerSplitHorzSize : g:bufExplorerSplitVertSize - - " Split the window either horizontally or vertically. - if _size <= 0 - execute 'keepalt ' . s:splitMode - else - execute 'keepalt ' . _size . s:splitMode - endif - - " Restore the original settings. - let [&splitbelow, &splitright] = [_splitbelow, _splitright] - endif - - if !exists("b:displayMode") || b:displayMode != "winmanager" - " Do not use keepalt when opening bufexplorer to allow the buffer that - " we are leaving to become the new alternate buffer - execute "silent keepjumps hide edit".name - endif - - call s:DisplayBufferList() - - " Position the cursor in the newly displayed list on the line representing - " the active buffer. The active buffer is the line with the '%' character - " in it. - execute search("%") -endfunction - -" DisplayBufferList {{{2 -function! s:DisplayBufferList() - " Do not set bufhidden since it wipes out the data if we switch away from - " the buffer using CTRL-^. - setlocal buftype=nofile - setlocal modifiable - setlocal noswapfile - setlocal nowrap - - call s:SetupSyntax() - call s:MapKeys() - - " Wipe out any existing lines in case BufExplorer buffer exists and the - " user had changed any global settings that might reduce the number of - " lines needed in the buffer. - silent keepjumps 1,$d _ - - call setline(1, s:CreateHelp()) - call s:BuildBufferList() - call cursor(s:firstBufferLine, 1) - - if !g:bufExplorerResize - normal! zz - endif - - setlocal nomodifiable -endfunction - -" MapKeys {{{2 -function! s:MapKeys() - if exists("b:displayMode") && b:displayMode == "winmanager" - nnoremap :call SelectBuffer() - endif - - nnoremap