From aced103cebdee372b307c7b87a08e924a6394763 Mon Sep 17 00:00:00 2001 From: Anthony Perkins Date: Thu, 11 Jul 2019 09:46:57 +0100 Subject: [PATCH] Switch from gruvbox to PaperColor --- pack/acp/start/gruvbox/.gitignore | 4 - pack/acp/start/gruvbox/CHANGELOG.md | 6 - pack/acp/start/gruvbox/README.md | 113 - .../autoload/airline/themes/gruvbox.vim | 79 - pack/acp/start/gruvbox/autoload/gruvbox.vim | 41 - .../lightline/colorscheme/gruvbox.vim | 57 - pack/acp/start/gruvbox/colors/gruvbox.vim | 1393 ---------- pack/acp/start/gruvbox/gruvbox_256palette.sh | 118 - .../start/gruvbox/gruvbox_256palette_osx.sh | 116 - pack/acp/start/gruvbox/package.json | 32 - pack/acp/start/gruvbox/yarn.lock | 2067 --------------- pack/acp/start/papercolor-theme/.gitignore | 20 + pack/acp/start/papercolor-theme/.travis.yml | 10 + pack/acp/start/papercolor-theme/DESIGN.md | 158 ++ pack/acp/start/papercolor-theme/LICENSE | 22 + pack/acp/start/papercolor-theme/README.md | 275 ++ pack/acp/start/papercolor-theme/ROADMAP.md | 18 + .../papercolor-theme/colors/PaperColor.vim | 2238 +++++++++++++++++ .../start/papercolor-theme/doc/PaperColor.txt | 228 ++ .../start/papercolor-theme/test/Dockerfile | 19 + pack/acp/start/papercolor-theme/test/test.sh | 59 + vimrc | 3 +- 22 files changed, 3049 insertions(+), 4027 deletions(-) delete mode 100644 pack/acp/start/gruvbox/.gitignore delete mode 100644 pack/acp/start/gruvbox/CHANGELOG.md delete mode 100644 pack/acp/start/gruvbox/README.md delete mode 100644 pack/acp/start/gruvbox/autoload/airline/themes/gruvbox.vim delete mode 100644 pack/acp/start/gruvbox/autoload/gruvbox.vim delete mode 100644 pack/acp/start/gruvbox/autoload/lightline/colorscheme/gruvbox.vim delete mode 100644 pack/acp/start/gruvbox/colors/gruvbox.vim delete mode 100644 pack/acp/start/gruvbox/gruvbox_256palette.sh delete mode 100644 pack/acp/start/gruvbox/gruvbox_256palette_osx.sh delete mode 100644 pack/acp/start/gruvbox/package.json delete mode 100644 pack/acp/start/gruvbox/yarn.lock create mode 100644 pack/acp/start/papercolor-theme/.gitignore create mode 100644 pack/acp/start/papercolor-theme/.travis.yml create mode 100644 pack/acp/start/papercolor-theme/DESIGN.md create mode 100644 pack/acp/start/papercolor-theme/LICENSE create mode 100644 pack/acp/start/papercolor-theme/README.md create mode 100644 pack/acp/start/papercolor-theme/ROADMAP.md create mode 100755 pack/acp/start/papercolor-theme/colors/PaperColor.vim create mode 100644 pack/acp/start/papercolor-theme/doc/PaperColor.txt create mode 100644 pack/acp/start/papercolor-theme/test/Dockerfile create mode 100644 pack/acp/start/papercolor-theme/test/test.sh diff --git a/pack/acp/start/gruvbox/.gitignore b/pack/acp/start/gruvbox/.gitignore deleted file mode 100644 index 414c9c8..0000000 --- a/pack/acp/start/gruvbox/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -.DS_Store -node_modules -npm-debug.log* -yarn-error.log* diff --git a/pack/acp/start/gruvbox/CHANGELOG.md b/pack/acp/start/gruvbox/CHANGELOG.md deleted file mode 100644 index e4a261e..0000000 --- a/pack/acp/start/gruvbox/CHANGELOG.md +++ /dev/null @@ -1,6 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - - -## [3.0.1-rc.0](https://github.com/morhetz/gruvbox/compare/v2.0.0...v3.0.1-rc.0) (2018-05-16) diff --git a/pack/acp/start/gruvbox/README.md b/pack/acp/start/gruvbox/README.md deleted file mode 100644 index 4269786..0000000 --- a/pack/acp/start/gruvbox/README.md +++ /dev/null @@ -1,113 +0,0 @@ -

- -gruvbox is heavily inspired by [badwolf][], [jellybeans][] and [solarized][]. - -Designed as a bright theme with pastel 'retro groove' colors and light/dark mode switching in the way of [solarized][]. The main focus when developing gruvbox is to keep colors easily distinguishable, contrast enough and still pleasant for the eyes. - - [badwolf]: https://github.com/sjl/badwolf - [jellybeans]: https://github.com/nanotech/jellybeans.vim - [solarized]: http://ethanschoonover.com/solarized - -Attention ---------- - -1. [Read this first](https://github.com/morhetz/gruvbox/wiki/Terminal-specific) -2. Typeface from gallery is [Fantasque Sans Mono](https://github.com/belluzj/fantasque-sans) -3. Typeface from screenshots below is [Fira Mono](http://www.carrois.com/fira-4-1/) - -Screenshots ------------ - -Refer [Gallery][] for more syntax-specific screenshots. - - [Gallery]: https://github.com/morhetz/gruvbox/wiki/Gallery - -### Dark mode - -![Screenshot Dark](http://i.imgur.com/GkIl8Fn.png) - -### Light mode - -![Screenshot Light](http://i.imgur.com/X75niEa.png) - -### Airline theme - -![Screenshot Airline](http://i.imgur.com/wRQceUR.png) - -Palette -------- - -### Dark mode - -![Palette Dark](http://i.imgur.com/wa666xg.png) - -### Light mode - -![Palette Light](http://i.imgur.com/49qKyYW.png) - -Contrast options ----------------- - -Refer [wiki section][] for contrast configuration and other options. - - [wiki section]: https://github.com/morhetz/gruvbox/wiki/Configuration#ggruvbox_contrast_dark - -![Contrast Options](http://i.imgur.com/5MSbe6T.png) - -Documentation -------------- - -Please check [wiki][] for installation details, terminal-specific setup, troubleshooting, configuration options and others. - - [wiki]: https://github.com/morhetz/gruvbox/wiki - -Features --------- - -* Lots of style-customization options (contrast, color invertion, italics usage etc.) -* Extended filetype highlighting: Html, Xml, Vim, Clojure, C, Python, JavaScript, TypeScript, PureScript, CoffeeScript, Ruby, Objective-C, Go, Lua, MoonScript, Java, Markdown, Haskell, Elixir -* Supported plugins: [EasyMotion][], [vim-sneak][], [Indent Guides][], [indentLine][], [Rainbow Parentheses][], [Airline][], [Lightline][], [GitGutter][], [Signify][], [ShowMarks][], [Signature][], [Syntastic][], [Ale][], [CtrlP][], [Startify][], [NERDTree][], [Dirvish][] - - [EasyMotion]: https://github.com/Lokaltog/vim-easymotion - [vim-sneak]: https://github.com/justinmk/vim-sneak - [Indent Guides]: https://github.com/nathanaelkane/vim-indent-guides - [indentLine]: https://github.com/Yggdroot/indentLine - [Rainbow Parentheses]: https://github.com/kien/rainbow_parentheses.vim - [Airline]: https://github.com/bling/vim-airline - [Lightline]: https://github.com/itchyny/lightline.vim - [GitGutter]: https://github.com/airblade/vim-gitgutter - [Signify]: https://github.com/mhinz/vim-signify - [ShowMarks]: http://www.vim.org/scripts/script.php?script_id=152 - [Signature]: https://github.com/kshenoy/vim-signature - [Syntastic]: https://github.com/scrooloose/syntastic - [Ale]: https://github.com/w0rp/ale - [CtrlP]: https://github.com/kien/ctrlp.vim - [Startify]: https://github.com/mhinz/vim-startify - [NERDTree]: https://github.com/scrooloose/nerdtree - [Dirvish]: https://github.com/justinmk/vim-dirvish - -Contributions -------------- - -See [gruvbox-contrib][] repo for contributions, ports and extras. - -[gruvbox-contrib]: https://github.com/morhetz/gruvbox-contrib - -ToDo ----- - -* Filetype syntax highlighting (R, TeX, Swift, Erlang) -* Plugin support (Tagbar, VimPlug) - -Self-Promotion --------------- - -If you like gruvbox follow the repository on -[GitHub](https://github.com/morhetz/gruvbox) and vote for it on -[vim.org](http://www.vim.org/scripts/script.php?script_id=4349). - -License -------- -[MIT/X11][] - - [MIT/X11]: https://en.wikipedia.org/wiki/MIT_License diff --git a/pack/acp/start/gruvbox/autoload/airline/themes/gruvbox.vim b/pack/acp/start/gruvbox/autoload/airline/themes/gruvbox.vim deleted file mode 100644 index 6862a81..0000000 --- a/pack/acp/start/gruvbox/autoload/airline/themes/gruvbox.vim +++ /dev/null @@ -1,79 +0,0 @@ -" ----------------------------------------------------------------------------- -" File: gruvbox.vim -" Description: Retro groove color scheme for Airline -" Author: morhetz -" Source: https://github.com/morhetz/gruvbox -" Last Modified: 12 Aug 2017 -" ----------------------------------------------------------------------------- - -let g:airline#themes#gruvbox#palette = {} - -function! airline#themes#gruvbox#refresh() - - let M0 = airline#themes#get_highlight('Identifier') - let accents_group = airline#themes#get_highlight('Special') - let modified_group = [M0[0], '', M0[2], '', ''] - let warning_group = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg']) - let error_group = airline#themes#get_highlight2(['Normal', 'bg'], ['WarningMsg', 'fg']) - - let s:N1 = airline#themes#get_highlight2(['Normal', 'bg'], ['StatusLineNC', 'bg']) - let s:N2 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['Pmenu', 'bg']) - let s:N3 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['CursorLine', 'bg']) - let g:airline#themes#gruvbox#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) - let g:airline#themes#gruvbox#palette.normal_modified = { 'airline_c': modified_group } - let g:airline#themes#gruvbox#palette.normal.airline_warning = warning_group - let g:airline#themes#gruvbox#palette.normal_modified.airline_warning = warning_group - let g:airline#themes#gruvbox#palette.normal.airline_error = error_group - let g:airline#themes#gruvbox#palette.normal_modified.airline_error = error_group - - let s:I1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Identifier', 'fg']) - let s:I2 = s:N2 - let s:I3 = airline#themes#get_highlight2(['Normal', 'fg'], ['Pmenu', 'bg']) - let g:airline#themes#gruvbox#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) - let g:airline#themes#gruvbox#palette.insert_modified = g:airline#themes#gruvbox#palette.normal_modified - let g:airline#themes#gruvbox#palette.insert.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning - let g:airline#themes#gruvbox#palette.insert_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning - let g:airline#themes#gruvbox#palette.insert.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error - let g:airline#themes#gruvbox#palette.insert_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error - - let s:R1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Structure', 'fg']) - let s:R2 = s:I2 - let s:R3 = s:I3 - let g:airline#themes#gruvbox#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) - let g:airline#themes#gruvbox#palette.replace_modified = g:airline#themes#gruvbox#palette.normal_modified - let g:airline#themes#gruvbox#palette.replace.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning - let g:airline#themes#gruvbox#palette.replace_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning - let g:airline#themes#gruvbox#palette.replace.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error - let g:airline#themes#gruvbox#palette.replace_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error - - let s:V1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg']) - let s:V2 = s:N2 - let s:V3 = airline#themes#get_highlight2(['Normal', 'bg'], ['TabLine', 'fg']) - let g:airline#themes#gruvbox#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) - let g:airline#themes#gruvbox#palette.visual_modified = { 'airline_c': [ s:V3[0], '', s:V3[2], '', '' ] } - let g:airline#themes#gruvbox#palette.visual.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning - let g:airline#themes#gruvbox#palette.visual_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning - let g:airline#themes#gruvbox#palette.visual.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error - let g:airline#themes#gruvbox#palette.visual_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error - - let s:IA = airline#themes#get_highlight2(['TabLine', 'fg'], ['CursorLine', 'bg']) - let g:airline#themes#gruvbox#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) - let g:airline#themes#gruvbox#palette.inactive_modified = { 'airline_c': modified_group } - - let g:airline#themes#gruvbox#palette.accents = { 'red': accents_group } - - let s:TF = airline#themes#get_highlight2(['Normal', 'bg'], ['Normal', 'bg']) - let g:airline#themes#gruvbox#palette.tabline = { - \ 'airline_tab': s:N2, - \ 'airline_tabsel': s:N1, - \ 'airline_tabtype': s:V1, - \ 'airline_tabfill': s:TF, - \ 'airline_tabhid': s:IA, - \ 'airline_tabmod': s:I1 - \ } - -endfunction - -call airline#themes#gruvbox#refresh() - -" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/pack/acp/start/gruvbox/autoload/gruvbox.vim b/pack/acp/start/gruvbox/autoload/gruvbox.vim deleted file mode 100644 index 44bec6e..0000000 --- a/pack/acp/start/gruvbox/autoload/gruvbox.vim +++ /dev/null @@ -1,41 +0,0 @@ -" ----------------------------------------------------------------------------- -" File: gruvbox.vim -" Description: Retro groove color scheme for Vim -" Author: morhetz -" Source: https://github.com/morhetz/gruvbox -" Last Modified: 09 Apr 2014 -" ----------------------------------------------------------------------------- - -function! gruvbox#invert_signs_toggle() - if g:gruvbox_invert_signs == 0 - let g:gruvbox_invert_signs=1 - else - let g:gruvbox_invert_signs=0 - endif - - colorscheme gruvbox -endfunction - -" Search Highlighting {{{ - -function! gruvbox#hls_show() - set hlsearch - call GruvboxHlsShowCursor() -endfunction - -function! gruvbox#hls_hide() - set nohlsearch - call GruvboxHlsHideCursor() -endfunction - -function! gruvbox#hls_toggle() - if &hlsearch - call gruvbox#hls_hide() - else - call gruvbox#hls_show() - endif -endfunction - -" }}} - -" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/pack/acp/start/gruvbox/autoload/lightline/colorscheme/gruvbox.vim b/pack/acp/start/gruvbox/autoload/lightline/colorscheme/gruvbox.vim deleted file mode 100644 index 4730c09..0000000 --- a/pack/acp/start/gruvbox/autoload/lightline/colorscheme/gruvbox.vim +++ /dev/null @@ -1,57 +0,0 @@ -" ----------------------------------------------------------------------------- -" File: gruvbox.vim -" Description: Gruvbox colorscheme for Lightline (itchyny/lightline.vim) -" Author: gmoe -" Source: https://github.com/morhetz/gruvbox -" Last Modified: 20 Sep 2017 -" ----------------------------------------------------------------------------- - -function! s:getGruvColor(group) - let guiColor = synIDattr(hlID(a:group), "fg", "gui") - let termColor = synIDattr(hlID(a:group), "fg", "cterm") - return [ guiColor, termColor ] -endfunction - -if exists('g:lightline') - - let s:bg0 = s:getGruvColor('GruvboxBg0') - let s:bg1 = s:getGruvColor('GruvboxBg1') - let s:bg2 = s:getGruvColor('GruvboxBg2') - let s:bg4 = s:getGruvColor('GruvboxBg4') - let s:fg1 = s:getGruvColor('GruvboxFg1') - let s:fg4 = s:getGruvColor('GruvboxFg4') - - let s:yellow = s:getGruvColor('GruvboxYellow') - let s:blue = s:getGruvColor('GruvboxBlue') - let s:aqua = s:getGruvColor('GruvboxAqua') - let s:orange = s:getGruvColor('GruvboxOrange') - let s:green = s:getGruvColor('GruvboxGreen') - - let s:p = {'normal':{}, 'inactive':{}, 'insert':{}, 'replace':{}, 'visual':{}, 'tabline':{}, 'terminal':{}} - let s:p.normal.left = [ [ s:bg0, s:fg4, 'bold' ], [ s:fg4, s:bg2 ] ] - let s:p.normal.right = [ [ s:bg0, s:fg4 ], [ s:fg4, s:bg2 ] ] - let s:p.normal.middle = [ [ s:fg4, s:bg1 ] ] - let s:p.inactive.right = [ [ s:bg4, s:bg1 ], [ s:bg4, s:bg1 ] ] - let s:p.inactive.left = [ [ s:bg4, s:bg1 ], [ s:bg4, s:bg1 ] ] - let s:p.inactive.middle = [ [ s:bg4, s:bg1 ] ] - let s:p.insert.left = [ [ s:bg0, s:blue, 'bold' ], [ s:fg1, s:bg2 ] ] - let s:p.insert.right = [ [ s:bg0, s:blue ], [ s:fg1, s:bg2 ] ] - let s:p.insert.middle = [ [ s:fg4, s:bg2 ] ] - let s:p.terminal.left = [ [ s:bg0, s:green, 'bold' ], [ s:fg1, s:bg2 ] ] - let s:p.terminal.right = [ [ s:bg0, s:green ], [ s:fg1, s:bg2 ] ] - let s:p.terminal.middle = [ [ s:fg4, s:bg2 ] ] - let s:p.replace.left = [ [ s:bg0, s:aqua, 'bold' ], [ s:fg1, s:bg2 ] ] - let s:p.replace.right = [ [ s:bg0, s:aqua ], [ s:fg1, s:bg2 ] ] - let s:p.replace.middle = [ [ s:fg4, s:bg2 ] ] - let s:p.visual.left = [ [ s:bg0, s:orange, 'bold' ], [ s:bg0, s:bg4 ] ] - let s:p.visual.right = [ [ s:bg0, s:orange ], [ s:bg0, s:bg4 ] ] - let s:p.visual.middle = [ [ s:fg4, s:bg1 ] ] - let s:p.tabline.left = [ [ s:fg4, s:bg2 ] ] - let s:p.tabline.tabsel = [ [ s:bg0, s:fg4 ] ] - let s:p.tabline.middle = [ [ s:bg0, s:bg0 ] ] - let s:p.tabline.right = [ [ s:bg0, s:orange ] ] - let s:p.normal.error = [ [ s:bg0, s:orange ] ] - let s:p.normal.warning = [ [ s:bg2, s:yellow ] ] - - let g:lightline#colorscheme#gruvbox#palette = lightline#colorscheme#flatten(s:p) -endif diff --git a/pack/acp/start/gruvbox/colors/gruvbox.vim b/pack/acp/start/gruvbox/colors/gruvbox.vim deleted file mode 100644 index a0c2c0b..0000000 --- a/pack/acp/start/gruvbox/colors/gruvbox.vim +++ /dev/null @@ -1,1393 +0,0 @@ -" ----------------------------------------------------------------------------- -" File: gruvbox.vim -" Description: Retro groove color scheme for Vim -" Author: morhetz -" Source: https://github.com/morhetz/gruvbox -" Last Modified: 12 Aug 2017 -" ----------------------------------------------------------------------------- - -" Supporting code ------------------------------------------------------------- -" Initialisation: {{{ - -if version > 580 - hi clear - if exists("syntax_on") - syntax reset - endif -endif - -let g:colors_name='gruvbox' - -if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256 - finish -endif - -" }}} -" Global Settings: {{{ - -if !exists('g:gruvbox_bold') - let g:gruvbox_bold=1 -endif -if !exists('g:gruvbox_italic') - if has('gui_running') || $TERM_ITALICS == 'true' - let g:gruvbox_italic=1 - else - let g:gruvbox_italic=0 - endif -endif -if !exists('g:gruvbox_undercurl') - let g:gruvbox_undercurl=1 -endif -if !exists('g:gruvbox_underline') - let g:gruvbox_underline=1 -endif -if !exists('g:gruvbox_inverse') - let g:gruvbox_inverse=1 -endif - -if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1 - let g:gruvbox_guisp_fallback='NONE' -endif - -if !exists('g:gruvbox_improved_strings') - let g:gruvbox_improved_strings=0 -endif - -if !exists('g:gruvbox_improved_warnings') - let g:gruvbox_improved_warnings=0 -endif - -if !exists('g:gruvbox_termcolors') - let g:gruvbox_termcolors=256 -endif - -if !exists('g:gruvbox_invert_indent_guides') - let g:gruvbox_invert_indent_guides=0 -endif - -if exists('g:gruvbox_contrast') - echo 'g:gruvbox_contrast is deprecated; use g:gruvbox_contrast_light and g:gruvbox_contrast_dark instead' -endif - -if !exists('g:gruvbox_contrast_dark') - let g:gruvbox_contrast_dark='medium' -endif - -if !exists('g:gruvbox_contrast_light') - let g:gruvbox_contrast_light='medium' -endif - -let s:is_dark=(&background == 'dark') - -" }}} -" Palette: {{{ - -" setup palette dictionary -let s:gb = {} - -" fill it with absolute colors -let s:gb.dark0_hard = ['#1d2021', 234] " 29-32-33 -let s:gb.dark0 = ['#282828', 235] " 40-40-40 -let s:gb.dark0_soft = ['#32302f', 236] " 50-48-47 -let s:gb.dark1 = ['#3c3836', 237] " 60-56-54 -let s:gb.dark2 = ['#504945', 239] " 80-73-69 -let s:gb.dark3 = ['#665c54', 241] " 102-92-84 -let s:gb.dark4 = ['#7c6f64', 243] " 124-111-100 -let s:gb.dark4_256 = ['#7c6f64', 243] " 124-111-100 - -let s:gb.gray_245 = ['#928374', 245] " 146-131-116 -let s:gb.gray_244 = ['#928374', 244] " 146-131-116 - -let s:gb.light0_hard = ['#f9f5d7', 230] " 249-245-215 -let s:gb.light0 = ['#fbf1c7', 229] " 253-244-193 -let s:gb.light0_soft = ['#f2e5bc', 228] " 242-229-188 -let s:gb.light1 = ['#ebdbb2', 223] " 235-219-178 -let s:gb.light2 = ['#d5c4a1', 250] " 213-196-161 -let s:gb.light3 = ['#bdae93', 248] " 189-174-147 -let s:gb.light4 = ['#a89984', 246] " 168-153-132 -let s:gb.light4_256 = ['#a89984', 246] " 168-153-132 - -let s:gb.bright_red = ['#fb4934', 167] " 251-73-52 -let s:gb.bright_green = ['#b8bb26', 142] " 184-187-38 -let s:gb.bright_yellow = ['#fabd2f', 214] " 250-189-47 -let s:gb.bright_blue = ['#83a598', 109] " 131-165-152 -let s:gb.bright_purple = ['#d3869b', 175] " 211-134-155 -let s:gb.bright_aqua = ['#8ec07c', 108] " 142-192-124 -let s:gb.bright_orange = ['#fe8019', 208] " 254-128-25 - -let s:gb.neutral_red = ['#cc241d', 124] " 204-36-29 -let s:gb.neutral_green = ['#98971a', 106] " 152-151-26 -let s:gb.neutral_yellow = ['#d79921', 172] " 215-153-33 -let s:gb.neutral_blue = ['#458588', 66] " 69-133-136 -let s:gb.neutral_purple = ['#b16286', 132] " 177-98-134 -let s:gb.neutral_aqua = ['#689d6a', 72] " 104-157-106 -let s:gb.neutral_orange = ['#d65d0e', 166] " 214-93-14 - -let s:gb.faded_red = ['#9d0006', 88] " 157-0-6 -let s:gb.faded_green = ['#79740e', 100] " 121-116-14 -let s:gb.faded_yellow = ['#b57614', 136] " 181-118-20 -let s:gb.faded_blue = ['#076678', 24] " 7-102-120 -let s:gb.faded_purple = ['#8f3f71', 96] " 143-63-113 -let s:gb.faded_aqua = ['#427b58', 66] " 66-123-88 -let s:gb.faded_orange = ['#af3a03', 130] " 175-58-3 - -" }}} -" Setup Emphasis: {{{ - -let s:bold = 'bold,' -if g:gruvbox_bold == 0 - let s:bold = '' -endif - -let s:italic = 'italic,' -if g:gruvbox_italic == 0 - let s:italic = '' -endif - -let s:underline = 'underline,' -if g:gruvbox_underline == 0 - let s:underline = '' -endif - -let s:undercurl = 'undercurl,' -if g:gruvbox_undercurl == 0 - let s:undercurl = '' -endif - -let s:inverse = 'inverse,' -if g:gruvbox_inverse == 0 - let s:inverse = '' -endif - -" }}} -" Setup Colors: {{{ - -let s:vim_bg = ['bg', 'bg'] -let s:vim_fg = ['fg', 'fg'] -let s:none = ['NONE', 'NONE'] - -" determine relative colors -if s:is_dark - let s:bg0 = s:gb.dark0 - if g:gruvbox_contrast_dark == 'soft' - let s:bg0 = s:gb.dark0_soft - elseif g:gruvbox_contrast_dark == 'hard' - let s:bg0 = s:gb.dark0_hard - endif - - let s:bg1 = s:gb.dark1 - let s:bg2 = s:gb.dark2 - let s:bg3 = s:gb.dark3 - let s:bg4 = s:gb.dark4 - - let s:gray = s:gb.gray_245 - - let s:fg0 = s:gb.light0 - let s:fg1 = s:gb.light1 - let s:fg2 = s:gb.light2 - let s:fg3 = s:gb.light3 - let s:fg4 = s:gb.light4 - - let s:fg4_256 = s:gb.light4_256 - - let s:red = s:gb.bright_red - let s:green = s:gb.bright_green - let s:yellow = s:gb.bright_yellow - let s:blue = s:gb.bright_blue - let s:purple = s:gb.bright_purple - let s:aqua = s:gb.bright_aqua - let s:orange = s:gb.bright_orange -else - let s:bg0 = s:gb.light0 - if g:gruvbox_contrast_light == 'soft' - let s:bg0 = s:gb.light0_soft - elseif g:gruvbox_contrast_light == 'hard' - let s:bg0 = s:gb.light0_hard - endif - - let s:bg1 = s:gb.light1 - let s:bg2 = s:gb.light2 - let s:bg3 = s:gb.light3 - let s:bg4 = s:gb.light4 - - let s:gray = s:gb.gray_244 - - let s:fg0 = s:gb.dark0 - let s:fg1 = s:gb.dark1 - let s:fg2 = s:gb.dark2 - let s:fg3 = s:gb.dark3 - let s:fg4 = s:gb.dark4 - - let s:fg4_256 = s:gb.dark4_256 - - let s:red = s:gb.faded_red - let s:green = s:gb.faded_green - let s:yellow = s:gb.faded_yellow - let s:blue = s:gb.faded_blue - let s:purple = s:gb.faded_purple - let s:aqua = s:gb.faded_aqua - let s:orange = s:gb.faded_orange -endif - -" reset to 16 colors fallback -if g:gruvbox_termcolors == 16 - let s:bg0[1] = 0 - let s:fg4[1] = 7 - let s:gray[1] = 8 - let s:red[1] = 9 - let s:green[1] = 10 - let s:yellow[1] = 11 - let s:blue[1] = 12 - let s:purple[1] = 13 - let s:aqua[1] = 14 - let s:fg1[1] = 15 -endif - -" save current relative colors back to palette dictionary -let s:gb.bg0 = s:bg0 -let s:gb.bg1 = s:bg1 -let s:gb.bg2 = s:bg2 -let s:gb.bg3 = s:bg3 -let s:gb.bg4 = s:bg4 - -let s:gb.gray = s:gray - -let s:gb.fg0 = s:fg0 -let s:gb.fg1 = s:fg1 -let s:gb.fg2 = s:fg2 -let s:gb.fg3 = s:fg3 -let s:gb.fg4 = s:fg4 - -let s:gb.fg4_256 = s:fg4_256 - -let s:gb.red = s:red -let s:gb.green = s:green -let s:gb.yellow = s:yellow -let s:gb.blue = s:blue -let s:gb.purple = s:purple -let s:gb.aqua = s:aqua -let s:gb.orange = s:orange - -" }}} -" Setup Terminal Colors For Neovim: {{{ - -if has('nvim') - let g:terminal_color_0 = s:bg0[0] - let g:terminal_color_8 = s:gray[0] - - let g:terminal_color_1 = s:gb.neutral_red[0] - let g:terminal_color_9 = s:red[0] - - let g:terminal_color_2 = s:gb.neutral_green[0] - let g:terminal_color_10 = s:green[0] - - let g:terminal_color_3 = s:gb.neutral_yellow[0] - let g:terminal_color_11 = s:yellow[0] - - let g:terminal_color_4 = s:gb.neutral_blue[0] - let g:terminal_color_12 = s:blue[0] - - let g:terminal_color_5 = s:gb.neutral_purple[0] - let g:terminal_color_13 = s:purple[0] - - let g:terminal_color_6 = s:gb.neutral_aqua[0] - let g:terminal_color_14 = s:aqua[0] - - let g:terminal_color_7 = s:fg4[0] - let g:terminal_color_15 = s:fg1[0] -endif - -" }}} -" Overload Setting: {{{ - -let s:hls_cursor = s:orange -if exists('g:gruvbox_hls_cursor') - let s:hls_cursor = get(s:gb, g:gruvbox_hls_cursor) -endif - -let s:number_column = s:none -if exists('g:gruvbox_number_column') - let s:number_column = get(s:gb, g:gruvbox_number_column) -endif - -let s:sign_column = s:bg1 - -if exists('g:gitgutter_override_sign_column_highlight') && - \ g:gitgutter_override_sign_column_highlight == 1 - let s:sign_column = s:number_column -else - let g:gitgutter_override_sign_column_highlight = 0 - - if exists('g:gruvbox_sign_column') - let s:sign_column = get(s:gb, g:gruvbox_sign_column) - endif -endif - -let s:color_column = s:bg1 -if exists('g:gruvbox_color_column') - let s:color_column = get(s:gb, g:gruvbox_color_column) -endif - -let s:vert_split = s:bg0 -if exists('g:gruvbox_vert_split') - let s:vert_split = get(s:gb, g:gruvbox_vert_split) -endif - -let s:invert_signs = '' -if exists('g:gruvbox_invert_signs') - if g:gruvbox_invert_signs == 1 - let s:invert_signs = s:inverse - endif -endif - -let s:invert_selection = s:inverse -if exists('g:gruvbox_invert_selection') - if g:gruvbox_invert_selection == 0 - let s:invert_selection = '' - endif -endif - -let s:invert_tabline = '' -if exists('g:gruvbox_invert_tabline') - if g:gruvbox_invert_tabline == 1 - let s:invert_tabline = s:inverse - endif -endif - -let s:italicize_comments = s:italic -if exists('g:gruvbox_italicize_comments') - if g:gruvbox_italicize_comments == 0 - let s:italicize_comments = '' - endif -endif - -let s:italicize_strings = '' -if exists('g:gruvbox_italicize_strings') - if g:gruvbox_italicize_strings == 1 - let s:italicize_strings = s:italic - endif -endif - -" }}} -" Highlighting Function: {{{ - -function! s:HL(group, fg, ...) - " Arguments: group, guifg, guibg, gui, guisp - - " foreground - let fg = a:fg - - " background - if a:0 >= 1 - let bg = a:1 - else - let bg = s:none - endif - - " emphasis - if a:0 >= 2 && strlen(a:2) - let emstr = a:2 - else - let emstr = 'NONE,' - endif - - " special fallback - if a:0 >= 3 - if g:gruvbox_guisp_fallback != 'NONE' - let fg = a:3 - endif - - " bg fallback mode should invert higlighting - if g:gruvbox_guisp_fallback == 'bg' - let emstr .= 'inverse,' - endif - endif - - let histring = [ 'hi', a:group, - \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], - \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], - \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] - \ ] - - " special - if a:0 >= 3 - call add(histring, 'guisp=' . a:3[0]) - endif - - execute join(histring, ' ') -endfunction - -" }}} -" Gruvbox Hi Groups: {{{ - -" memoize common hi groups -call s:HL('GruvboxFg0', s:fg0) -call s:HL('GruvboxFg1', s:fg1) -call s:HL('GruvboxFg2', s:fg2) -call s:HL('GruvboxFg3', s:fg3) -call s:HL('GruvboxFg4', s:fg4) -call s:HL('GruvboxGray', s:gray) -call s:HL('GruvboxBg0', s:bg0) -call s:HL('GruvboxBg1', s:bg1) -call s:HL('GruvboxBg2', s:bg2) -call s:HL('GruvboxBg3', s:bg3) -call s:HL('GruvboxBg4', s:bg4) - -call s:HL('GruvboxRed', s:red) -call s:HL('GruvboxRedBold', s:red, s:none, s:bold) -call s:HL('GruvboxGreen', s:green) -call s:HL('GruvboxGreenBold', s:green, s:none, s:bold) -call s:HL('GruvboxYellow', s:yellow) -call s:HL('GruvboxYellowBold', s:yellow, s:none, s:bold) -call s:HL('GruvboxBlue', s:blue) -call s:HL('GruvboxBlueBold', s:blue, s:none, s:bold) -call s:HL('GruvboxPurple', s:purple) -call s:HL('GruvboxPurpleBold', s:purple, s:none, s:bold) -call s:HL('GruvboxAqua', s:aqua) -call s:HL('GruvboxAquaBold', s:aqua, s:none, s:bold) -call s:HL('GruvboxOrange', s:orange) -call s:HL('GruvboxOrangeBold', s:orange, s:none, s:bold) - -call s:HL('GruvboxRedSign', s:red, s:sign_column, s:invert_signs) -call s:HL('GruvboxGreenSign', s:green, s:sign_column, s:invert_signs) -call s:HL('GruvboxYellowSign', s:yellow, s:sign_column, s:invert_signs) -call s:HL('GruvboxBlueSign', s:blue, s:sign_column, s:invert_signs) -call s:HL('GruvboxPurpleSign', s:purple, s:sign_column, s:invert_signs) -call s:HL('GruvboxAquaSign', s:aqua, s:sign_column, s:invert_signs) - -" }}} - -" Vanilla colorscheme --------------------------------------------------------- -" General UI: {{{ - -" Normal text -call s:HL('Normal', s:fg1, s:bg0) - -" Correct background (see issue #7): -" --- Problem with changing between dark and light on 256 color terminal -" --- https://github.com/morhetz/gruvbox/issues/7 -if s:is_dark - set background=dark -else - set background=light -endif - -if version >= 700 - " Screen line that the cursor is - call s:HL('CursorLine', s:none, s:bg1) - " Screen column that the cursor is - hi! link CursorColumn CursorLine - - " Tab pages line filler - call s:HL('TabLineFill', s:bg4, s:bg1, s:invert_tabline) - " Active tab page label - call s:HL('TabLineSel', s:green, s:bg1, s:invert_tabline) - " Not active tab page label - hi! link TabLine TabLineFill - - " Match paired bracket under the cursor - call s:HL('MatchParen', s:none, s:bg3, s:bold) -endif - -if version >= 703 - " Highlighted screen columns - call s:HL('ColorColumn', s:none, s:color_column) - - " Concealed element: \lambda → λ - call s:HL('Conceal', s:blue, s:none) - - " Line number of CursorLine - call s:HL('CursorLineNr', s:yellow, s:bg1) -endif - -hi! link NonText GruvboxBg2 -hi! link SpecialKey GruvboxBg2 - -call s:HL('Visual', s:none, s:bg3, s:invert_selection) -hi! link VisualNOS Visual - -call s:HL('Search', s:yellow, s:bg0, s:inverse) -call s:HL('IncSearch', s:hls_cursor, s:bg0, s:inverse) - -call s:HL('Underlined', s:blue, s:none, s:underline) - -call s:HL('StatusLine', s:bg2, s:fg1, s:inverse) -call s:HL('StatusLineNC', s:bg1, s:fg4, s:inverse) - -" The column separating vertically split windows -call s:HL('VertSplit', s:bg3, s:vert_split) - -" Current match in wildmenu completion -call s:HL('WildMenu', s:blue, s:bg2, s:bold) - -" Directory names, special names in listing -hi! link Directory GruvboxGreenBold - -" Titles for output from :set all, :autocmd, etc. -hi! link Title GruvboxGreenBold - -" Error messages on the command line -call s:HL('ErrorMsg', s:bg0, s:red, s:bold) -" More prompt: -- More -- -hi! link MoreMsg GruvboxYellowBold -" Current mode message: -- INSERT -- -hi! link ModeMsg GruvboxYellowBold -" 'Press enter' prompt and yes/no questions -hi! link Question GruvboxOrangeBold -" Warning messages -hi! link WarningMsg GruvboxRedBold - -" }}} -" Gutter: {{{ - -" Line number for :number and :# commands -call s:HL('LineNr', s:bg4, s:number_column) - -" Column where signs are displayed -call s:HL('SignColumn', s:none, s:sign_column) - -" Line used for closed folds -call s:HL('Folded', s:gray, s:bg1, s:italic) -" Column where folds are displayed -call s:HL('FoldColumn', s:gray, s:bg1) - -" }}} -" Cursor: {{{ - -" Character under cursor -call s:HL('Cursor', s:none, s:none, s:inverse) -" Visual mode cursor, selection -hi! link vCursor Cursor -" Input moder cursor -hi! link iCursor Cursor -" Language mapping cursor -hi! link lCursor Cursor - -" }}} -" Syntax Highlighting: {{{ - -if g:gruvbox_improved_strings == 0 - hi! link Special GruvboxOrange -else - call s:HL('Special', s:orange, s:bg1, s:italicize_strings) -endif - -call s:HL('Comment', s:gray, s:none, s:italicize_comments) -call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) -call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) - -" Generic statement -hi! link Statement GruvboxRed -" if, then, else, endif, swicth, etc. -hi! link Conditional GruvboxRed -" for, do, while, etc. -hi! link Repeat GruvboxRed -" case, default, etc. -hi! link Label GruvboxRed -" try, catch, throw -hi! link Exception GruvboxRed -" sizeof, "+", "*", etc. -hi! link Operator Normal -" Any other keyword -hi! link Keyword GruvboxRed - -" Variable name -hi! link Identifier GruvboxBlue -" Function name -hi! link Function GruvboxGreenBold - -" Generic preprocessor -hi! link PreProc GruvboxAqua -" Preprocessor #include -hi! link Include GruvboxAqua -" Preprocessor #define -hi! link Define GruvboxAqua -" Same as Define -hi! link Macro GruvboxAqua -" Preprocessor #if, #else, #endif, etc. -hi! link PreCondit GruvboxAqua - -" Generic constant -hi! link Constant GruvboxPurple -" Character constant: 'c', '/n' -hi! link Character GruvboxPurple -" String constant: "this is a string" -if g:gruvbox_improved_strings == 0 - call s:HL('String', s:green, s:none, s:italicize_strings) -else - call s:HL('String', s:fg1, s:bg1, s:italicize_strings) -endif -" Boolean constant: TRUE, false -hi! link Boolean GruvboxPurple -" Number constant: 234, 0xff -hi! link Number GruvboxPurple -" Floating point constant: 2.3e10 -hi! link Float GruvboxPurple - -" Generic type -hi! link Type GruvboxYellow -" static, register, volatile, etc -hi! link StorageClass GruvboxOrange -" struct, union, enum, etc. -hi! link Structure GruvboxAqua -" typedef -hi! link Typedef GruvboxYellow - -" }}} -" Completion Menu: {{{ - -if version >= 700 - " Popup menu: normal item - call s:HL('Pmenu', s:fg1, s:bg2) - " Popup menu: selected item - call s:HL('PmenuSel', s:bg2, s:blue, s:bold) - " Popup menu: scrollbar - call s:HL('PmenuSbar', s:none, s:bg2) - " Popup menu: scrollbar thumb - call s:HL('PmenuThumb', s:none, s:bg4) -endif - -" }}} -" Diffs: {{{ - -call s:HL('DiffDelete', s:red, s:bg0, s:inverse) -call s:HL('DiffAdd', s:green, s:bg0, s:inverse) -"call s:HL('DiffChange', s:bg0, s:blue) -"call s:HL('DiffText', s:bg0, s:yellow) - -" Alternative setting -call s:HL('DiffChange', s:aqua, s:bg0, s:inverse) -call s:HL('DiffText', s:yellow, s:bg0, s:inverse) - -" }}} -" Spelling: {{{ - -if has("spell") - " Not capitalised word, or compile warnings - if g:gruvbox_improved_warnings == 0 - call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) - else - call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) - endif - " Not recognized word - call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) - " Wrong spelling for selected region - call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) - " Rare word - call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) -endif - -" }}} - -" Plugin specific ------------------------------------------------------------- -" EasyMotion: {{{ - -hi! link EasyMotionTarget Search -hi! link EasyMotionShade Comment - -" }}} -" Sneak: {{{ - -hi! link Sneak Search -hi! link SneakLabel Search - -" }}} -" Indent Guides: {{{ - -if !exists('g:indent_guides_auto_colors') - let g:indent_guides_auto_colors = 0 -endif - -if g:indent_guides_auto_colors == 0 - if g:gruvbox_invert_indent_guides == 0 - call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) - call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) - else - call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) - call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) - endif -endif - -" }}} -" IndentLine: {{{ - -if !exists('g:indentLine_color_term') - let g:indentLine_color_term = s:bg2[1] -endif -if !exists('g:indentLine_color_gui') - let g:indentLine_color_gui = s:bg2[0] -endif - -" }}} -" Rainbow Parentheses: {{{ - -if !exists('g:rbpt_colorpairs') - let g:rbpt_colorpairs = - \ [ - \ ['blue', '#458588'], ['magenta', '#b16286'], - \ ['red', '#cc241d'], ['166', '#d65d0e'] - \ ] -endif - -let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] -let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] - -if !exists('g:rainbow_conf') - let g:rainbow_conf = {} -endif -if !has_key(g:rainbow_conf, 'guifgs') - let g:rainbow_conf['guifgs'] = g:rainbow_guifgs -endif -if !has_key(g:rainbow_conf, 'ctermfgs') - let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs -endif - -let g:niji_dark_colours = g:rbpt_colorpairs -let g:niji_light_colours = g:rbpt_colorpairs - -"}}} -" GitGutter: {{{ - -hi! link GitGutterAdd GruvboxGreenSign -hi! link GitGutterChange GruvboxAquaSign -hi! link GitGutterDelete GruvboxRedSign -hi! link GitGutterChangeDelete GruvboxAquaSign - -" }}} -" GitCommit: "{{{ - -hi! link gitcommitSelectedFile GruvboxGreen -hi! link gitcommitDiscardedFile GruvboxRed - -" }}} -" Signify: {{{ - -hi! link SignifySignAdd GruvboxGreenSign -hi! link SignifySignChange GruvboxAquaSign -hi! link SignifySignDelete GruvboxRedSign - -" }}} -" Syntastic: {{{ - -call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) -call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) - -hi! link SyntasticErrorSign GruvboxRedSign -hi! link SyntasticWarningSign GruvboxYellowSign - -" }}} -" Signature: {{{ -hi! link SignatureMarkText GruvboxBlueSign -hi! link SignatureMarkerText GruvboxPurpleSign - -" }}} -" ShowMarks: {{{ - -hi! link ShowMarksHLl GruvboxBlueSign -hi! link ShowMarksHLu GruvboxBlueSign -hi! link ShowMarksHLo GruvboxBlueSign -hi! link ShowMarksHLm GruvboxBlueSign - -" }}} -" CtrlP: {{{ - -hi! link CtrlPMatch GruvboxYellow -hi! link CtrlPNoEntries GruvboxRed -hi! link CtrlPPrtBase GruvboxBg2 -hi! link CtrlPPrtCursor GruvboxBlue -hi! link CtrlPLinePre GruvboxBg2 - -call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold) -call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold) -call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold) - -" }}} -" Startify: {{{ - -hi! link StartifyBracket GruvboxFg3 -hi! link StartifyFile GruvboxFg1 -hi! link StartifyNumber GruvboxBlue -hi! link StartifyPath GruvboxGray -hi! link StartifySlash GruvboxGray -hi! link StartifySection GruvboxYellow -hi! link StartifySpecial GruvboxBg2 -hi! link StartifyHeader GruvboxOrange -hi! link StartifyFooter GruvboxBg2 - -" }}} -" Vimshell: {{{ - -let g:vimshell_escape_colors = [ - \ s:bg4[0], s:red[0], s:green[0], s:yellow[0], - \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0], - \ s:bg0[0], s:red[0], s:green[0], s:orange[0], - \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0] - \ ] - -" }}} -" BufTabLine: {{{ - -call s:HL('BufTabLineCurrent', s:bg0, s:fg4) -call s:HL('BufTabLineActive', s:fg4, s:bg2) -call s:HL('BufTabLineHidden', s:bg4, s:bg1) -call s:HL('BufTabLineFill', s:bg0, s:bg0) - -" }}} -" Asynchronous Lint Engine: {{{ - -call s:HL('ALEError', s:none, s:none, s:undercurl, s:red) -call s:HL('ALEWarning', s:none, s:none, s:undercurl, s:yellow) -call s:HL('ALEInfo', s:none, s:none, s:undercurl, s:blue) - -hi! link ALEErrorSign GruvboxRedSign -hi! link ALEWarningSign GruvboxYellowSign -hi! link ALEInfoSign GruvboxBlueSign - -" }}} -" Dirvish: {{{ - -hi! link DirvishPathTail GruvboxAqua -hi! link DirvishArg GruvboxYellow - -" }}} -" Netrw: {{{ - -hi! link netrwDir GruvboxAqua -hi! link netrwClassify GruvboxAqua -hi! link netrwLink GruvboxGray -hi! link netrwSymLink GruvboxFg1 -hi! link netrwExe GruvboxYellow -hi! link netrwComment GruvboxGray -hi! link netrwList GruvboxBlue -hi! link netrwHelpCmd GruvboxAqua -hi! link netrwCmdSep GruvboxFg3 -hi! link netrwVersion GruvboxGreen - -" }}} -" NERDTree: {{{ - -hi! link NERDTreeDir GruvboxAqua -hi! link NERDTreeDirSlash GruvboxAqua - -hi! link NERDTreeOpenable GruvboxOrange -hi! link NERDTreeClosable GruvboxOrange - -hi! link NERDTreeFile GruvboxFg1 -hi! link NERDTreeExecFile GruvboxYellow - -hi! link NERDTreeUp GruvboxGray -hi! link NERDTreeCWD GruvboxGreen -hi! link NERDTreeHelp GruvboxFg1 - -hi! link NERDTreeToggleOn GruvboxGreen -hi! link NERDTreeToggleOff GruvboxRed - -" }}} -" Vim Multiple Cursors: {{{ - -call s:HL('multiple_cursors_cursor', s:none, s:none, s:inverse) -call s:HL('multiple_cursors_visual', s:none, s:bg2) - -" }}} - -" Filetype specific ----------------------------------------------------------- -" Diff: {{{ - -hi! link diffAdded GruvboxGreen -hi! link diffRemoved GruvboxRed -hi! link diffChanged GruvboxAqua - -hi! link diffFile GruvboxOrange -hi! link diffNewFile GruvboxYellow - -hi! link diffLine GruvboxBlue - -" }}} -" Html: {{{ - -hi! link htmlTag GruvboxBlue -hi! link htmlEndTag GruvboxBlue - -hi! link htmlTagName GruvboxAquaBold -hi! link htmlArg GruvboxAqua - -hi! link htmlScriptTag GruvboxPurple -hi! link htmlTagN GruvboxFg1 -hi! link htmlSpecialTagName GruvboxAquaBold - -call s:HL('htmlLink', s:fg4, s:none, s:underline) - -hi! link htmlSpecialChar GruvboxOrange - -call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) -call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) -call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) -call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) - -call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) -call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) -call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) - -" }}} -" Xml: {{{ - -hi! link xmlTag GruvboxBlue -hi! link xmlEndTag GruvboxBlue -hi! link xmlTagName GruvboxBlue -hi! link xmlEqual GruvboxBlue -hi! link docbkKeyword GruvboxAquaBold - -hi! link xmlDocTypeDecl GruvboxGray -hi! link xmlDocTypeKeyword GruvboxPurple -hi! link xmlCdataStart GruvboxGray -hi! link xmlCdataCdata GruvboxPurple -hi! link dtdFunction GruvboxGray -hi! link dtdTagName GruvboxPurple - -hi! link xmlAttrib GruvboxAqua -hi! link xmlProcessingDelim GruvboxGray -hi! link dtdParamEntityPunct GruvboxGray -hi! link dtdParamEntityDPunct GruvboxGray -hi! link xmlAttribPunct GruvboxGray - -hi! link xmlEntity GruvboxOrange -hi! link xmlEntityPunct GruvboxOrange -" }}} -" Vim: {{{ - -call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) - -hi! link vimNotation GruvboxOrange -hi! link vimBracket GruvboxOrange -hi! link vimMapModKey GruvboxOrange -hi! link vimFuncSID GruvboxFg3 -hi! link vimSetSep GruvboxFg3 -hi! link vimSep GruvboxFg3 -hi! link vimContinue GruvboxFg3 - -" }}} -" Clojure: {{{ - -hi! link clojureKeyword GruvboxBlue -hi! link clojureCond GruvboxOrange -hi! link clojureSpecial GruvboxOrange -hi! link clojureDefine GruvboxOrange - -hi! link clojureFunc GruvboxYellow -hi! link clojureRepeat GruvboxYellow -hi! link clojureCharacter GruvboxAqua -hi! link clojureStringEscape GruvboxAqua -hi! link clojureException GruvboxRed - -hi! link clojureRegexp GruvboxAqua -hi! link clojureRegexpEscape GruvboxAqua -call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) -hi! link clojureRegexpMod clojureRegexpCharClass -hi! link clojureRegexpQuantifier clojureRegexpCharClass - -hi! link clojureParen GruvboxFg3 -hi! link clojureAnonArg GruvboxYellow -hi! link clojureVariable GruvboxBlue -hi! link clojureMacro GruvboxOrange - -hi! link clojureMeta GruvboxYellow -hi! link clojureDeref GruvboxYellow -hi! link clojureQuote GruvboxYellow -hi! link clojureUnquote GruvboxYellow - -" }}} -" C: {{{ - -hi! link cOperator GruvboxPurple -hi! link cStructure GruvboxOrange - -" }}} -" Python: {{{ - -hi! link pythonBuiltin GruvboxOrange -hi! link pythonBuiltinObj GruvboxOrange -hi! link pythonBuiltinFunc GruvboxOrange -hi! link pythonFunction GruvboxAqua -hi! link pythonDecorator GruvboxRed -hi! link pythonInclude GruvboxBlue -hi! link pythonImport GruvboxBlue -hi! link pythonRun GruvboxBlue -hi! link pythonCoding GruvboxBlue -hi! link pythonOperator GruvboxRed -hi! link pythonException GruvboxRed -hi! link pythonExceptions GruvboxPurple -hi! link pythonBoolean GruvboxPurple -hi! link pythonDot GruvboxFg3 -hi! link pythonConditional GruvboxRed -hi! link pythonRepeat GruvboxRed -hi! link pythonDottedName GruvboxGreenBold - -" }}} -" CSS: {{{ - -hi! link cssBraces GruvboxBlue -hi! link cssFunctionName GruvboxYellow -hi! link cssIdentifier GruvboxOrange -hi! link cssClassName GruvboxGreen -hi! link cssColor GruvboxBlue -hi! link cssSelectorOp GruvboxBlue -hi! link cssSelectorOp2 GruvboxBlue -hi! link cssImportant GruvboxGreen -hi! link cssVendor GruvboxFg1 - -hi! link cssTextProp GruvboxAqua -hi! link cssAnimationProp GruvboxAqua -hi! link cssUIProp GruvboxYellow -hi! link cssTransformProp GruvboxAqua -hi! link cssTransitionProp GruvboxAqua -hi! link cssPrintProp GruvboxAqua -hi! link cssPositioningProp GruvboxYellow -hi! link cssBoxProp GruvboxAqua -hi! link cssFontDescriptorProp GruvboxAqua -hi! link cssFlexibleBoxProp GruvboxAqua -hi! link cssBorderOutlineProp GruvboxAqua -hi! link cssBackgroundProp GruvboxAqua -hi! link cssMarginProp GruvboxAqua -hi! link cssListProp GruvboxAqua -hi! link cssTableProp GruvboxAqua -hi! link cssFontProp GruvboxAqua -hi! link cssPaddingProp GruvboxAqua -hi! link cssDimensionProp GruvboxAqua -hi! link cssRenderProp GruvboxAqua -hi! link cssColorProp GruvboxAqua -hi! link cssGeneratedContentProp GruvboxAqua - -" }}} -" JavaScript: {{{ - -hi! link javaScriptBraces GruvboxFg1 -hi! link javaScriptFunction GruvboxAqua -hi! link javaScriptIdentifier GruvboxRed -hi! link javaScriptMember GruvboxBlue -hi! link javaScriptNumber GruvboxPurple -hi! link javaScriptNull GruvboxPurple -hi! link javaScriptParens GruvboxFg3 - -" }}} -" YAJS: {{{ - -hi! link javascriptImport GruvboxAqua -hi! link javascriptExport GruvboxAqua -hi! link javascriptClassKeyword GruvboxAqua -hi! link javascriptClassExtends GruvboxAqua -hi! link javascriptDefault GruvboxAqua - -hi! link javascriptClassName GruvboxYellow -hi! link javascriptClassSuperName GruvboxYellow -hi! link javascriptGlobal GruvboxYellow - -hi! link javascriptEndColons GruvboxFg1 -hi! link javascriptFuncArg GruvboxFg1 -hi! link javascriptGlobalMethod GruvboxFg1 -hi! link javascriptNodeGlobal GruvboxFg1 -hi! link javascriptBOMWindowProp GruvboxFg1 -hi! link javascriptArrayMethod GruvboxFg1 -hi! link javascriptArrayStaticMethod GruvboxFg1 -hi! link javascriptCacheMethod GruvboxFg1 -hi! link javascriptDateMethod GruvboxFg1 -hi! link javascriptMathStaticMethod GruvboxFg1 - -" hi! link javascriptProp GruvboxFg1 -hi! link javascriptURLUtilsProp GruvboxFg1 -hi! link javascriptBOMNavigatorProp GruvboxFg1 -hi! link javascriptDOMDocMethod GruvboxFg1 -hi! link javascriptDOMDocProp GruvboxFg1 -hi! link javascriptBOMLocationMethod GruvboxFg1 -hi! link javascriptBOMWindowMethod GruvboxFg1 -hi! link javascriptStringMethod GruvboxFg1 - -hi! link javascriptVariable GruvboxOrange -" hi! link javascriptVariable GruvboxRed -" hi! link javascriptIdentifier GruvboxOrange -" hi! link javascriptClassSuper GruvboxOrange -hi! link javascriptIdentifier GruvboxOrange -hi! link javascriptClassSuper GruvboxOrange - -" hi! link javascriptFuncKeyword GruvboxOrange -" hi! link javascriptAsyncFunc GruvboxOrange -hi! link javascriptFuncKeyword GruvboxAqua -hi! link javascriptAsyncFunc GruvboxAqua -hi! link javascriptClassStatic GruvboxOrange - -hi! link javascriptOperator GruvboxRed -hi! link javascriptForOperator GruvboxRed -hi! link javascriptYield GruvboxRed -hi! link javascriptExceptions GruvboxRed -hi! link javascriptMessage GruvboxRed - -hi! link javascriptTemplateSB GruvboxAqua -hi! link javascriptTemplateSubstitution GruvboxFg1 - -" hi! link javascriptLabel GruvboxBlue -" hi! link javascriptObjectLabel GruvboxBlue -" hi! link javascriptPropertyName GruvboxBlue -hi! link javascriptLabel GruvboxFg1 -hi! link javascriptObjectLabel GruvboxFg1 -hi! link javascriptPropertyName GruvboxFg1 - -hi! link javascriptLogicSymbols GruvboxFg1 -hi! link javascriptArrowFunc GruvboxYellow - -hi! link javascriptDocParamName GruvboxFg4 -hi! link javascriptDocTags GruvboxFg4 -hi! link javascriptDocNotation GruvboxFg4 -hi! link javascriptDocParamType GruvboxFg4 -hi! link javascriptDocNamedParamType GruvboxFg4 - -hi! link javascriptBrackets GruvboxFg1 -hi! link javascriptDOMElemAttrs GruvboxFg1 -hi! link javascriptDOMEventMethod GruvboxFg1 -hi! link javascriptDOMNodeMethod GruvboxFg1 -hi! link javascriptDOMStorageMethod GruvboxFg1 -hi! link javascriptHeadersMethod GruvboxFg1 - -hi! link javascriptAsyncFuncKeyword GruvboxRed -hi! link javascriptAwaitFuncKeyword GruvboxRed - -" }}} -" PanglossJS: {{{ - -hi! link jsClassKeyword GruvboxAqua -hi! link jsExtendsKeyword GruvboxAqua -hi! link jsExportDefault GruvboxAqua -hi! link jsTemplateBraces GruvboxAqua -hi! link jsGlobalNodeObjects GruvboxFg1 -hi! link jsGlobalObjects GruvboxFg1 -hi! link jsFunction GruvboxAqua -hi! link jsFuncParens GruvboxFg3 -hi! link jsParens GruvboxFg3 -hi! link jsNull GruvboxPurple -hi! link jsUndefined GruvboxPurple -hi! link jsClassDefinition GruvboxYellow - -" }}} -" TypeScript: {{{ - -hi! link typeScriptReserved GruvboxAqua -hi! link typeScriptLabel GruvboxAqua -hi! link typeScriptFuncKeyword GruvboxAqua -hi! link typeScriptIdentifier GruvboxOrange -hi! link typeScriptBraces GruvboxFg1 -hi! link typeScriptEndColons GruvboxFg1 -hi! link typeScriptDOMObjects GruvboxFg1 -hi! link typeScriptAjaxMethods GruvboxFg1 -hi! link typeScriptLogicSymbols GruvboxFg1 -hi! link typeScriptDocSeeTag Comment -hi! link typeScriptDocParam Comment -hi! link typeScriptDocTags vimCommentTitle -hi! link typeScriptGlobalObjects GruvboxFg1 -hi! link typeScriptParens GruvboxFg3 -hi! link typeScriptOpSymbols GruvboxFg3 -hi! link typeScriptHtmlElemProperties GruvboxFg1 -hi! link typeScriptNull GruvboxPurple -hi! link typeScriptInterpolationDelimiter GruvboxAqua - -" }}} -" PureScript: {{{ - -hi! link purescriptModuleKeyword GruvboxAqua -hi! link purescriptModuleName GruvboxFg1 -hi! link purescriptWhere GruvboxAqua -hi! link purescriptDelimiter GruvboxFg4 -hi! link purescriptType GruvboxFg1 -hi! link purescriptImportKeyword GruvboxAqua -hi! link purescriptHidingKeyword GruvboxAqua -hi! link purescriptAsKeyword GruvboxAqua -hi! link purescriptStructure GruvboxAqua -hi! link purescriptOperator GruvboxBlue - -hi! link purescriptTypeVar GruvboxFg1 -hi! link purescriptConstructor GruvboxFg1 -hi! link purescriptFunction GruvboxFg1 -hi! link purescriptConditional GruvboxOrange -hi! link purescriptBacktick GruvboxOrange - -" }}} -" CoffeeScript: {{{ - -hi! link coffeeExtendedOp GruvboxFg3 -hi! link coffeeSpecialOp GruvboxFg3 -hi! link coffeeCurly GruvboxOrange -hi! link coffeeParen GruvboxFg3 -hi! link coffeeBracket GruvboxOrange - -" }}} -" Ruby: {{{ - -hi! link rubyStringDelimiter GruvboxGreen -hi! link rubyInterpolationDelimiter GruvboxAqua - -" }}} -" ObjectiveC: {{{ - -hi! link objcTypeModifier GruvboxRed -hi! link objcDirective GruvboxBlue - -" }}} -" Go: {{{ - -hi! link goDirective GruvboxAqua -hi! link goConstants GruvboxPurple -hi! link goDeclaration GruvboxRed -hi! link goDeclType GruvboxBlue -hi! link goBuiltins GruvboxOrange - -" }}} -" Lua: {{{ - -hi! link luaIn GruvboxRed -hi! link luaFunction GruvboxAqua -hi! link luaTable GruvboxOrange - -" }}} -" MoonScript: {{{ - -hi! link moonSpecialOp GruvboxFg3 -hi! link moonExtendedOp GruvboxFg3 -hi! link moonFunction GruvboxFg3 -hi! link moonObject GruvboxYellow - -" }}} -" Java: {{{ - -hi! link javaAnnotation GruvboxBlue -hi! link javaDocTags GruvboxAqua -hi! link javaCommentTitle vimCommentTitle -hi! link javaParen GruvboxFg3 -hi! link javaParen1 GruvboxFg3 -hi! link javaParen2 GruvboxFg3 -hi! link javaParen3 GruvboxFg3 -hi! link javaParen4 GruvboxFg3 -hi! link javaParen5 GruvboxFg3 -hi! link javaOperator GruvboxOrange - -hi! link javaVarArg GruvboxGreen - -" }}} -" Elixir: {{{ - -hi! link elixirDocString Comment - -hi! link elixirStringDelimiter GruvboxGreen -hi! link elixirInterpolationDelimiter GruvboxAqua - -hi! link elixirModuleDeclaration GruvboxYellow - -" }}} -" Scala: {{{ - -" NB: scala vim syntax file is kinda horrible -hi! link scalaNameDefinition GruvboxFg1 -hi! link scalaCaseFollowing GruvboxFg1 -hi! link scalaCapitalWord GruvboxFg1 -hi! link scalaTypeExtension GruvboxFg1 - -hi! link scalaKeyword GruvboxRed -hi! link scalaKeywordModifier GruvboxRed - -hi! link scalaSpecial GruvboxAqua -hi! link scalaOperator GruvboxFg1 - -hi! link scalaTypeDeclaration GruvboxYellow -hi! link scalaTypeTypePostDeclaration GruvboxYellow - -hi! link scalaInstanceDeclaration GruvboxFg1 -hi! link scalaInterpolation GruvboxAqua - -" }}} -" Markdown: {{{ - -call s:HL('markdownItalic', s:fg3, s:none, s:italic) - -hi! link markdownH1 GruvboxGreenBold -hi! link markdownH2 GruvboxGreenBold -hi! link markdownH3 GruvboxYellowBold -hi! link markdownH4 GruvboxYellowBold -hi! link markdownH5 GruvboxYellow -hi! link markdownH6 GruvboxYellow - -hi! link markdownCode GruvboxAqua -hi! link markdownCodeBlock GruvboxAqua -hi! link markdownCodeDelimiter GruvboxAqua - -hi! link markdownBlockquote GruvboxGray -hi! link markdownListMarker GruvboxGray -hi! link markdownOrderedListMarker GruvboxGray -hi! link markdownRule GruvboxGray -hi! link markdownHeadingRule GruvboxGray - -hi! link markdownUrlDelimiter GruvboxFg3 -hi! link markdownLinkDelimiter GruvboxFg3 -hi! link markdownLinkTextDelimiter GruvboxFg3 - -hi! link markdownHeadingDelimiter GruvboxOrange -hi! link markdownUrl GruvboxPurple -hi! link markdownUrlTitleDelimiter GruvboxGreen - -call s:HL('markdownLinkText', s:gray, s:none, s:underline) -hi! link markdownIdDeclaration markdownLinkText - -" }}} -" Haskell: {{{ - -" hi! link haskellType GruvboxYellow -" hi! link haskellOperators GruvboxOrange -" hi! link haskellConditional GruvboxAqua -" hi! link haskellLet GruvboxOrange -" -hi! link haskellType GruvboxFg1 -hi! link haskellIdentifier GruvboxFg1 -hi! link haskellSeparator GruvboxFg1 -hi! link haskellDelimiter GruvboxFg4 -hi! link haskellOperators GruvboxBlue -" -hi! link haskellBacktick GruvboxOrange -hi! link haskellStatement GruvboxOrange -hi! link haskellConditional GruvboxOrange - -hi! link haskellLet GruvboxAqua -hi! link haskellDefault GruvboxAqua -hi! link haskellWhere GruvboxAqua -hi! link haskellBottom GruvboxAqua -hi! link haskellBlockKeywords GruvboxAqua -hi! link haskellImportKeywords GruvboxAqua -hi! link haskellDeclKeyword GruvboxAqua -hi! link haskellDeriving GruvboxAqua -hi! link haskellAssocType GruvboxAqua - -hi! link haskellNumber GruvboxPurple -hi! link haskellPragma GruvboxPurple - -hi! link haskellString GruvboxGreen -hi! link haskellChar GruvboxGreen - -" }}} -" Json: {{{ - -hi! link jsonKeyword GruvboxGreen -hi! link jsonQuote GruvboxGreen -hi! link jsonBraces GruvboxFg1 -hi! link jsonString GruvboxFg1 - -" }}} - - -" Functions ------------------------------------------------------------------- -" Search Highlighting Cursor {{{ - -function! GruvboxHlsShowCursor() - call s:HL('Cursor', s:bg0, s:hls_cursor) -endfunction - -function! GruvboxHlsHideCursor() - call s:HL('Cursor', s:none, s:none, s:inverse) -endfunction - -" }}} - -" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/pack/acp/start/gruvbox/gruvbox_256palette.sh b/pack/acp/start/gruvbox/gruvbox_256palette.sh deleted file mode 100644 index c7fd190..0000000 --- a/pack/acp/start/gruvbox/gruvbox_256palette.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh - -if [ "${TERM%%-*}" = "screen" ]; then - if [ -n "$TMUX" ]; then - printf "\033Ptmux;\033\033]4;236;rgb:32/30/2f\007\033\\" - printf "\033Ptmux;\033\033]4;234;rgb:1d/20/21\007\033\\" - - printf "\033Ptmux;\033\033]4;235;rgb:28/28/28\007\033\\" - printf "\033Ptmux;\033\033]4;237;rgb:3c/38/36\007\033\\" - printf "\033Ptmux;\033\033]4;239;rgb:50/49/45\007\033\\" - printf "\033Ptmux;\033\033]4;241;rgb:66/5c/54\007\033\\" - printf "\033Ptmux;\033\033]4;243;rgb:7c/6f/64\007\033\\" - - printf "\033Ptmux;\033\033]4;244;rgb:92/83/74\007\033\\" - printf "\033Ptmux;\033\033]4;245;rgb:92/83/74\007\033\\" - - printf "\033Ptmux;\033\033]4;228;rgb:f2/e5/bc\007\033\\" - printf "\033Ptmux;\033\033]4;230;rgb:f9/f5/d7\007\033\\" - - printf "\033Ptmux;\033\033]4;229;rgb:fb/f1/c7\007\033\\" - printf "\033Ptmux;\033\033]4;223;rgb:eb/db/b2\007\033\\" - printf "\033Ptmux;\033\033]4;250;rgb:d5/c4/a1\007\033\\" - printf "\033Ptmux;\033\033]4;248;rgb:bd/ae/93\007\033\\" - printf "\033Ptmux;\033\033]4;246;rgb:a8/99/84\007\033\\" - - printf "\033Ptmux;\033\033]4;167;rgb:fb/49/34\007\033\\" - printf "\033Ptmux;\033\033]4;142;rgb:b8/bb/26\007\033\\" - printf "\033Ptmux;\033\033]4;214;rgb:fa/bd/2f\007\033\\" - printf "\033Ptmux;\033\033]4;109;rgb:83/a5/98\007\033\\" - printf "\033Ptmux;\033\033]4;175;rgb:d3/86/9b\007\033\\" - printf "\033Ptmux;\033\033]4;108;rgb:8e/c0/7c\007\033\\" - printf "\033Ptmux;\033\033]4;208;rgb:fe/80/19\007\033\\" - - printf "\033Ptmux;\033\033]4;88;rgb:9d/00/06\007\033\\" - printf "\033Ptmux;\033\033]4;100;rgb:79/74/0e\007\033\\" - printf "\033Ptmux;\033\033]4;136;rgb:b5/76/14\007\033\\" - printf "\033Ptmux;\033\033]4;24;rgb:07/66/78\007\033\\" - printf "\033Ptmux;\033\033]4;96;rgb:8f/3f/71\007\033\\" - printf "\033Ptmux;\033\033]4;66;rgb:42/7b/58\007\033\\" - printf "\033Ptmux;\033\033]4;130;rgb:af/3a/03\007\033\\" - else - printf "\033P\033]4;236;rgb:32/30/2f\007\033\\" - printf "\033P\033]4;234;rgb:1d/20/21\007\033\\" - - printf "\033P\033]4;235;rgb:28/28/28\007\033\\" - printf "\033P\033]4;237;rgb:3c/38/36\007\033\\" - printf "\033P\033]4;239;rgb:50/49/45\007\033\\" - printf "\033P\033]4;241;rgb:66/5c/54\007\033\\" - printf "\033P\033]4;243;rgb:7c/6f/64\007\033\\" - - printf "\033P\033]4;244;rgb:92/83/74\007\033\\" - printf "\033P\033]4;245;rgb:92/83/74\007\033\\" - - printf "\033P\033]4;228;rgb:f2/e5/bc\007\033\\" - printf "\033P\033]4;230;rgb:f9/f5/d7\007\033\\" - - printf "\033P\033]4;229;rgb:fb/f1/c7\007\033\\" - printf "\033P\033]4;223;rgb:eb/db/b2\007\033\\" - printf "\033P\033]4;250;rgb:d5/c4/a1\007\033\\" - printf "\033P\033]4;248;rgb:bd/ae/93\007\033\\" - printf "\033P\033]4;246;rgb:a8/99/84\007\033\\" - - printf "\033P\033]4;167;rgb:fb/49/34\007\033\\" - printf "\033P\033]4;142;rgb:b8/bb/26\007\033\\" - printf "\033P\033]4;214;rgb:fa/bd/2f\007\033\\" - printf "\033P\033]4;109;rgb:83/a5/98\007\033\\" - printf "\033P\033]4;175;rgb:d3/86/9b\007\033\\" - printf "\033P\033]4;108;rgb:8e/c0/7c\007\033\\" - printf "\033P\033]4;208;rgb:fe/80/19\007\033\\" - - printf "\033P\033]4;88;rgb:9d/00/06\007\033\\" - printf "\033P\033]4;100;rgb:79/74/0e\007\033\\" - printf "\033P\033]4;136;rgb:b5/76/14\007\033\\" - printf "\033P\033]4;24;rgb:07/66/78\007\033\\" - printf "\033P\033]4;96;rgb:8f/3f/71\007\033\\" - printf "\033P\033]4;66;rgb:42/7b/58\007\033\\" - printf "\033P\033]4;130;rgb:af/3a/03\007\033\\" - fi - -elif [ "$TERM" != "linux" ] && [ "$TERM" != "vt100" ] && [ "$TERM" != "vt220" ]; then - - printf "\033]4;236;rgb:32/30/2f\033\\" - printf "\033]4;234;rgb:1d/20/21\033\\" - - printf "\033]4;235;rgb:28/28/28\033\\" - printf "\033]4;237;rgb:3c/38/36\033\\" - printf "\033]4;239;rgb:50/49/45\033\\" - printf "\033]4;241;rgb:66/5c/54\033\\" - printf "\033]4;243;rgb:7c/6f/64\033\\" - - printf "\033]4;244;rgb:92/83/74\033\\" - printf "\033]4;245;rgb:92/83/74\033\\" - - printf "\033]4;228;rgb:f2/e5/bc\033\\" - printf "\033]4;230;rgb:f9/f5/d7\033\\" - - printf "\033]4;229;rgb:fb/f1/c7\033\\" - printf "\033]4;223;rgb:eb/db/b2\033\\" - printf "\033]4;250;rgb:d5/c4/a1\033\\" - printf "\033]4;248;rgb:bd/ae/93\033\\" - printf "\033]4;246;rgb:a8/99/84\033\\" - - printf "\033]4;167;rgb:fb/49/34\033\\" - printf "\033]4;142;rgb:b8/bb/26\033\\" - printf "\033]4;214;rgb:fa/bd/2f\033\\" - printf "\033]4;109;rgb:83/a5/98\033\\" - printf "\033]4;175;rgb:d3/86/9b\033\\" - printf "\033]4;108;rgb:8e/c0/7c\033\\" - printf "\033]4;208;rgb:fe/80/19\033\\" - - printf "\033]4;88;rgb:9d/00/06\033\\" - printf "\033]4;100;rgb:79/74/0e\033\\" - printf "\033]4;136;rgb:b5/76/14\033\\" - printf "\033]4;24;rgb:07/66/78\033\\" - printf "\033]4;96;rgb:8f/3f/71\033\\" - printf "\033]4;66;rgb:42/7b/58\033\\" - printf "\033]4;130;rgb:af/3a/03\033\\" -fi diff --git a/pack/acp/start/gruvbox/gruvbox_256palette_osx.sh b/pack/acp/start/gruvbox/gruvbox_256palette_osx.sh deleted file mode 100644 index ad5111a..0000000 --- a/pack/acp/start/gruvbox/gruvbox_256palette_osx.sh +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/sh - -if [ "${TERM%%-*}" = "screen" ]; then - if [ -n "$TMUX" ]; then - printf "\033Ptmux;\033\033]4;236;rgb:26/24/23\007\033\\" - printf "\033Ptmux;\033\033]4;234;rgb:16/18/19\007\033\\" - - printf "\033Ptmux;\033\033]4;235;rgb:1e/1e/1e\007\033\\" - printf "\033Ptmux;\033\033]4;237;rgb:2e/2a/29\007\033\\" - printf "\033Ptmux;\033\033]4;239;rgb:3f/39/35\007\033\\" - printf "\033Ptmux;\033\033]4;241;rgb:53/4a/42\007\033\\" - printf "\033Ptmux;\033\033]4;243;rgb:68/5c/51\007\033\\" - - printf "\033Ptmux;\033\033]4;244;rgb:7f/70/61\007\033\\" - printf "\033Ptmux;\033\033]4;245;rgb:7f/70/61\007\033\\" - - printf "\033Ptmux;\033\033]4;228;rgb:ef/df/ae\007\033\\" - printf "\033Ptmux;\033\033]4;230;rgb:f8/f4/cd\007\033\\" - - printf "\033Ptmux;\033\033]4;229;rgb:fa/ee/bb\007\033\\" - printf "\033Ptmux;\033\033]4;223;rgb:e6/d4/a3\007\033\\" - printf "\033Ptmux;\033\033]4;250;rgb:cb/b8/90\007\033\\" - printf "\033Ptmux;\033\033]4;248;rgb:af/9f/81\007\033\\" - printf "\033Ptmux;\033\033]4;246;rgb:97/87/71\007\033\\" - - printf "\033Ptmux;\033\033]4;167;rgb:f7/30/28\007\033\\" - printf "\033Ptmux;\033\033]4;142;rgb:aa/b0/1e\007\033\\" - printf "\033Ptmux;\033\033]4;214;rgb:f7/b1/25\007\033\\" - printf "\033Ptmux;\033\033]4;109;rgb:71/95/86\007\033\\" - printf "\033Ptmux;\033\033]4;175;rgb:c7/70/89\007\033\\" - printf "\033Ptmux;\033\033]4;108;rgb:7d/b6/69\007\033\\" - printf "\033Ptmux;\033\033]4;208;rgb:fb/6a/16\007\033\\" - - printf "\033Ptmux;\033\033]4;88;rgb:89/00/09\007\033\\" - printf "\033Ptmux;\033\033]4;100;rgb:66/62/0d\007\033\\" - printf "\033Ptmux;\033\033]4;136;rgb:a5/63/11\007\033\\" - printf "\033Ptmux;\033\033]4;24;rgb:0e/53/65\007\033\\" - printf "\033Ptmux;\033\033]4;96;rgb:7b/2b/5e\007\033\\" - printf "\033Ptmux;\033\033]4;66;rgb:35/6a/46\007\033\\" - printf "\033Ptmux;\033\033]4;130;rgb:9d/28/07\007\033\\" - else - printf "\033P\033]4;236;rgb:26/24/23\007\033\\" - printf "\033P\033]4;234;rgb:16/18/19\007\033\\" - - printf "\033P\033]4;235;rgb:1e/1e/1e\007\033\\" - printf "\033P\033]4;237;rgb:2e/2a/29\007\033\\" - printf "\033P\033]4;239;rgb:3f/39/35\007\033\\" - printf "\033P\033]4;241;rgb:53/4a/42\007\033\\" - printf "\033P\033]4;243;rgb:68/5c/51\007\033\\" - - printf "\033P\033]4;244;rgb:7f/70/61\007\033\\" - printf "\033P\033]4;245;rgb:7f/70/61\007\033\\" - - printf "\033P\033]4;228;rgb:ef/df/ae\007\033\\" - printf "\033P\033]4;230;rgb:f8/f4/cd\007\033\\" - - printf "\033P\033]4;229;rgb:fa/ee/bb\007\033\\" - printf "\033P\033]4;223;rgb:e6/d4/a3\007\033\\" - printf "\033P\033]4;250;rgb:cb/b8/90\007\033\\" - printf "\033P\033]4;248;rgb:af/9f/81\007\033\\" - printf "\033P\033]4;246;rgb:97/87/71\007\033\\" - - printf "\033P\033]4;167;rgb:f7/30/28\007\033\\" - printf "\033P\033]4;142;rgb:aa/b0/1e\007\033\\" - printf "\033P\033]4;214;rgb:f7/b1/25\007\033\\" - printf "\033P\033]4;109;rgb:71/95/86\007\033\\" - printf "\033P\033]4;175;rgb:c7/70/89\007\033\\" - printf "\033P\033]4;108;rgb:7d/b6/69\007\033\\" - printf "\033P\033]4;208;rgb:fb/6a/16\007\033\\" - - printf "\033P\033]4;88;rgb:89/00/09\007\033\\" - printf "\033P\033]4;100;rgb:66/62/0d\007\033\\" - printf "\033P\033]4;136;rgb:a5/63/11\007\033\\" - printf "\033P\033]4;24;rgb:0e/53/65\007\033\\" - printf "\033P\033]4;96;rgb:7b/2b/5e\007\033\\" - printf "\033P\033]4;66;rgb:35/6a/46\007\033\\" - printf "\033P\033]4;130;rgb:9d/28/07\007\033\\" - fi -else - printf "\033]4;236;rgb:26/24/23\033\\" - printf "\033]4;234;rgb:16/18/19\033\\" - - printf "\033]4;235;rgb:1e/1e/1e\033\\" - printf "\033]4;237;rgb:2e/2a/29\033\\" - printf "\033]4;239;rgb:3f/39/35\033\\" - printf "\033]4;241;rgb:53/4a/42\033\\" - printf "\033]4;243;rgb:68/5c/51\033\\" - - printf "\033]4;244;rgb:7f/70/61\033\\" - printf "\033]4;245;rgb:7f/70/61\033\\" - - printf "\033]4;228;rgb:ef/df/ae\033\\" - printf "\033]4;230;rgb:f8/f4/cd\033\\" - - printf "\033]4;229;rgb:fa/ee/bb\033\\" - printf "\033]4;223;rgb:e6/d4/a3\033\\" - printf "\033]4;250;rgb:cb/b8/90\033\\" - printf "\033]4;248;rgb:af/9f/81\033\\" - printf "\033]4;246;rgb:97/87/71\033\\" - - printf "\033]4;167;rgb:f7/30/28\033\\" - printf "\033]4;142;rgb:aa/b0/1e\033\\" - printf "\033]4;214;rgb:f7/b1/25\033\\" - printf "\033]4;109;rgb:71/95/86\033\\" - printf "\033]4;175;rgb:c7/70/89\033\\" - printf "\033]4;108;rgb:7d/b6/69\033\\" - printf "\033]4;208;rgb:fb/6a/16\033\\" - - printf "\033]4;88;rgb:89/00/09\033\\" - printf "\033]4;100;rgb:66/62/0d\033\\" - printf "\033]4;136;rgb:a5/63/11\033\\" - printf "\033]4;24;rgb:0e/53/65\033\\" - printf "\033]4;96;rgb:7b/2b/5e\033\\" - printf "\033]4;66;rgb:35/6a/46\033\\" - printf "\033]4;130;rgb:9d/28/07\033\\" -fi diff --git a/pack/acp/start/gruvbox/package.json b/pack/acp/start/gruvbox/package.json deleted file mode 100644 index 75fcfb0..0000000 --- a/pack/acp/start/gruvbox/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "gruvbox", - "version": "3.0.1-rc.0", - "repository": "git@github.com:morhetz/gruvbox.git", - "author": "Pavel Pertsev ", - "license": "MIT", - "scripts": { - "commitmsg": "validate-commit-msg", - "cz": "git-cz", - "postcheckout": "track-changed checkout", - "postmerge": "track-changed merge", - "postrewrite": "track-changed rewrite" - }, - "devDependencies": { - "@bruitt/commit": "^1.0.0", - "babel-runtime": "^6.26.0", - "husky": "^0.13.1", - "standard-version": "^4.3.0", - "track-changed": "^1.0.2" - }, - "config": { - "commitizen": { - "path": "./node_modules/cz-conventional-changelog" - } - }, - "track-changed": { - "yarn.lock": "yarn" - }, - "vim": { - "opt": true - } -} diff --git a/pack/acp/start/gruvbox/yarn.lock b/pack/acp/start/gruvbox/yarn.lock deleted file mode 100644 index 46d4714..0000000 --- a/pack/acp/start/gruvbox/yarn.lock +++ /dev/null @@ -1,2067 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@bruitt/commit@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@bruitt/commit/-/commit-1.0.0.tgz#0d0428e442ca3044f521dc451acbb4ddb3230609" - dependencies: - commitizen "^2.9.6" - cz-conventional-changelog "^2.0.0" - validate-commit-msg "^2.14.0" - -JSONStream@^1.0.4: - version "1.3.2" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.2.tgz#c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea" - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - -ansi-escapes@^1.0.0, ansi-escapes@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -app-root-path@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - dependencies: - arr-flatten "^1.0.1" - -arr-flatten@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - -array-ify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" - -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - -async@^1.4.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - -babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -buffer-from@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - -cachedir@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-1.2.0.tgz#e9a0a25bb21a2b7a0f766f07c41eb7a311919b97" - dependencies: - os-homedir "^1.0.1" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase-keys@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" - dependencies: - camelcase "^4.1.0" - map-obj "^2.0.0" - quick-lru "^1.0.0" - -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - -chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -ci-info@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.3.tgz#710193264bb05c77b8c90d02f5aaf22216a667b2" - -cli-cursor@^1.0.1, cli-cursor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - dependencies: - restore-cursor "^1.0.1" - -cli-spinners@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" - -cli-truncate@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" - dependencies: - slice-ansi "0.0.4" - string-width "^1.0.1" - -cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - -colors@~0.6.0-1: - version "0.6.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc" - -commander@^2.9.0: - version "2.15.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" - -commander@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.1.0.tgz#d121bbae860d9992a3d517ba96f56588e47c6781" - -commitizen@^2.9.6: - version "2.9.6" - resolved "https://registry.yarnpkg.com/commitizen/-/commitizen-2.9.6.tgz#c0d00535ef264da7f63737edfda4228983fa2291" - dependencies: - cachedir "^1.1.0" - chalk "1.1.3" - cz-conventional-changelog "1.2.0" - dedent "0.6.0" - detect-indent "4.0.0" - find-node-modules "1.0.4" - find-root "1.0.0" - fs-extra "^1.0.0" - glob "7.1.1" - inquirer "1.2.3" - lodash "4.17.2" - minimist "1.2.0" - path-exists "2.1.0" - shelljs "0.7.6" - strip-json-comments "2.0.1" - -compare-func@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" - dependencies: - array-ify "^1.0.0" - dot-prop "^3.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -concat-stream@^1.4.10, concat-stream@^1.4.7: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -conventional-changelog-angular@^1.6.6: - version "1.6.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz#b27f2b315c16d0a1f23eb181309d0e6a4698ea0f" - dependencies: - compare-func "^1.3.1" - q "^1.5.1" - -conventional-changelog-atom@^0.2.8: - version "0.2.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.2.8.tgz#8037693455990e3256f297320a45fa47ee553a14" - dependencies: - q "^1.5.1" - -conventional-changelog-codemirror@^0.3.8: - version "0.3.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.8.tgz#a1982c8291f4ee4d6f2f62817c6b2ecd2c4b7b47" - dependencies: - q "^1.5.1" - -conventional-changelog-core@^2.0.11: - version "2.0.11" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-2.0.11.tgz#19b5fbd55a9697773ed6661f4e32030ed7e30287" - dependencies: - conventional-changelog-writer "^3.0.9" - conventional-commits-parser "^2.1.7" - dateformat "^3.0.0" - get-pkg-repo "^1.0.0" - git-raw-commits "^1.3.6" - git-remote-origin-url "^2.0.0" - git-semver-tags "^1.3.6" - lodash "^4.2.1" - normalize-package-data "^2.3.5" - q "^1.5.1" - read-pkg "^1.1.0" - read-pkg-up "^1.0.1" - through2 "^2.0.0" - -conventional-changelog-ember@^0.3.12: - version "0.3.12" - resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.3.12.tgz#b7d31851756d0fcb49b031dffeb6afa93b202400" - dependencies: - q "^1.5.1" - -conventional-changelog-eslint@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.9.tgz#b13cc7e4b472c819450ede031ff1a75c0e3d07d3" - dependencies: - q "^1.5.1" - -conventional-changelog-express@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.3.6.tgz#4a6295cb11785059fb09202180d0e59c358b9c2c" - dependencies: - q "^1.5.1" - -conventional-changelog-jquery@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510" - dependencies: - q "^1.4.1" - -conventional-changelog-jscs@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c" - dependencies: - q "^1.4.1" - -conventional-changelog-jshint@^0.3.8: - version "0.3.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.8.tgz#9051c1ac0767abaf62a31f74d2fe8790e8acc6c8" - dependencies: - compare-func "^1.3.1" - q "^1.5.1" - -conventional-changelog-preset-loader@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-1.1.8.tgz#40bb0f142cd27d16839ec6c74ee8db418099b373" - -conventional-changelog-writer@^3.0.9: - version "3.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-3.0.9.tgz#4aecdfef33ff2a53bb0cf3b8071ce21f0e994634" - dependencies: - compare-func "^1.3.1" - conventional-commits-filter "^1.1.6" - dateformat "^3.0.0" - handlebars "^4.0.2" - json-stringify-safe "^5.0.1" - lodash "^4.2.1" - meow "^4.0.0" - semver "^5.5.0" - split "^1.0.0" - through2 "^2.0.0" - -conventional-changelog@^1.1.0: - version "1.1.24" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.24.tgz#3d94c29c960f5261c002678315b756cdd3d7d1f0" - dependencies: - conventional-changelog-angular "^1.6.6" - conventional-changelog-atom "^0.2.8" - conventional-changelog-codemirror "^0.3.8" - conventional-changelog-core "^2.0.11" - conventional-changelog-ember "^0.3.12" - conventional-changelog-eslint "^1.0.9" - conventional-changelog-express "^0.3.6" - conventional-changelog-jquery "^0.1.0" - conventional-changelog-jscs "^0.1.0" - conventional-changelog-jshint "^0.3.8" - conventional-changelog-preset-loader "^1.1.8" - -conventional-commit-types@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/conventional-commit-types/-/conventional-commit-types-2.2.0.tgz#5db95739d6c212acbe7b6f656a11b940baa68946" - -conventional-commits-filter@^1.1.1, conventional-commits-filter@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.1.6.tgz#4389cd8e58fe89750c0b5fb58f1d7f0cc8ad3831" - dependencies: - is-subset "^0.1.1" - modify-values "^1.0.0" - -conventional-commits-parser@^2.1.1, conventional-commits-parser@^2.1.7: - version "2.1.7" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.1.7.tgz#eca45ed6140d72ba9722ee4132674d639e644e8e" - dependencies: - JSONStream "^1.0.4" - is-text-path "^1.0.0" - lodash "^4.2.1" - meow "^4.0.0" - split2 "^2.0.0" - through2 "^2.0.0" - trim-off-newlines "^1.0.0" - -conventional-recommended-bump@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-1.2.1.tgz#1b7137efb5091f99fe009e2fe9ddb7cc490e9375" - dependencies: - concat-stream "^1.4.10" - conventional-commits-filter "^1.1.1" - conventional-commits-parser "^2.1.1" - git-raw-commits "^1.3.0" - git-semver-tags "^1.3.0" - meow "^3.3.0" - object-assign "^4.0.1" - -core-js@^2.4.0: - version "2.5.6" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.6.tgz#0fe6d45bf3cac3ac364a9d72de7576f4eb221b9d" - -core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -cosmiconfig@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-1.1.0.tgz#0dea0f9804efdfb929fbb1b188e25553ea053d37" - dependencies: - graceful-fs "^4.1.2" - js-yaml "^3.4.3" - minimist "^1.2.0" - object-assign "^4.0.1" - os-homedir "^1.0.1" - parse-json "^2.2.0" - pinkie-promise "^2.0.0" - require-from-string "^1.1.0" - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - dependencies: - array-find-index "^1.0.1" - -cz-conventional-changelog@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-1.2.0.tgz#2bca04964c8919b23f3fd6a89ef5e6008b31b3f8" - dependencies: - conventional-commit-types "^2.0.0" - lodash.map "^4.5.1" - longest "^1.0.1" - pad-right "^0.2.2" - right-pad "^1.0.1" - word-wrap "^1.0.3" - -cz-conventional-changelog@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-2.1.0.tgz#2f4bc7390e3244e4df293e6ba351e4c740a7c764" - dependencies: - conventional-commit-types "^2.0.0" - lodash.map "^4.5.1" - longest "^1.0.1" - right-pad "^1.0.1" - word-wrap "^1.0.3" - -dargs@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" - dependencies: - number-is-nan "^1.0.0" - -dateformat@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - -decamelize-keys@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -dedent@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.6.0.tgz#0e6da8f0ce52838ef5cec5c8f9396b0c1b64a3cb" - -detect-file@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" - dependencies: - fs-exists-sync "^0.1.0" - -detect-indent@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - dependencies: - repeating "^2.0.0" - -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - dependencies: - is-obj "^1.0.0" - -dotgitignore@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/dotgitignore/-/dotgitignore-1.0.3.tgz#a442cbde7dc20dff51cdb849e4c5a64568c07923" - dependencies: - find-up "^2.1.0" - minimatch "^3.0.4" - -elegant-spinner@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" - dependencies: - is-arrayish "^0.2.1" - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -esprima@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" - -execa@^0.6.0: - version "0.6.3" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.6.3.tgz#57b69a594f081759c69e5370f0d17b9cb11658fe" - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - dependencies: - fill-range "^2.1.0" - -expand-tilde@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" - dependencies: - os-homedir "^1.0.1" - -extend@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - -external-editor@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b" - dependencies: - extend "^3.0.0" - spawn-sync "^1.0.15" - tmp "^0.0.29" - -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - dependencies: - is-extglob "^1.0.0" - -figures@^1.3.5, figures@^1.5.0, figures@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - -fill-range@^2.1.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^3.0.0" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -find-node-modules@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/find-node-modules/-/find-node-modules-1.0.4.tgz#b6deb3cccb699c87037677bcede2c5f5862b2550" - dependencies: - findup-sync "0.4.2" - merge "^1.2.0" - -find-parent-dir@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54" - -find-root@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.0.0.tgz#962ff211aab25c6520feeeb8d6287f8f6e95807a" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - dependencies: - locate-path "^2.0.0" - -findup-sync@0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.2.tgz#a8117d0f73124f5a4546839579fe52d7129fb5e5" - dependencies: - detect-file "^0.1.0" - is-glob "^2.0.1" - micromatch "^2.3.7" - resolve-dir "^0.1.0" - -findup@0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/findup/-/findup-0.1.5.tgz#8ad929a3393bac627957a7e5de4623b06b0e2ceb" - dependencies: - colors "~0.6.0-1" - commander "~2.1.0" - -for-in@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - dependencies: - for-in "^1.0.1" - -fs-access@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a" - dependencies: - null-check "^1.0.0" - -fs-exists-sync@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" - -fs-extra@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -get-caller-file@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" - -get-pkg-repo@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" - dependencies: - hosted-git-info "^2.1.4" - meow "^3.3.0" - normalize-package-data "^2.3.0" - parse-github-repo-url "^1.3.0" - through2 "^2.0.0" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - -git-raw-commits@^1.3.0, git-raw-commits@^1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.3.6.tgz#27c35a32a67777c1ecd412a239a6c19d71b95aff" - dependencies: - dargs "^4.0.1" - lodash.template "^4.0.2" - meow "^4.0.0" - split2 "^2.0.0" - through2 "^2.0.0" - -git-remote-origin-url@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" - dependencies: - gitconfiglocal "^1.0.0" - pify "^2.3.0" - -git-semver-tags@^1.3.0, git-semver-tags@^1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.3.6.tgz#357ea01f7280794fe0927f2806bee6414d2caba5" - dependencies: - meow "^4.0.0" - semver "^5.5.0" - -gitconfiglocal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" - dependencies: - ini "^1.3.2" - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - dependencies: - is-glob "^2.0.0" - -glob@7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-modules@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" - dependencies: - global-prefix "^0.1.4" - is-windows "^0.2.0" - -global-prefix@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" - dependencies: - homedir-polyfill "^1.0.0" - ini "^1.3.4" - is-windows "^0.2.0" - which "^1.2.12" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -handlebars@^4.0.2: - version "4.0.11" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc" - dependencies: - async "^1.4.0" - optimist "^0.6.1" - source-map "^0.4.4" - optionalDependencies: - uglify-js "^2.6" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -homedir-polyfill@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" - dependencies: - parse-passwd "^1.0.0" - -hosted-git-info@^2.1.4: - version "2.6.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" - -husky@^0.13.1: - version "0.13.4" - resolved "https://registry.yarnpkg.com/husky/-/husky-0.13.4.tgz#48785c5028de3452a51c48c12c4f94b2124a1407" - dependencies: - chalk "^1.1.3" - find-parent-dir "^0.3.0" - is-ci "^1.0.9" - normalize-path "^1.0.0" - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - dependencies: - repeating "^2.0.0" - -indent-string@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.3, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -ini@^1.3.2, ini@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - -inquirer@1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-1.2.3.tgz#4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918" - dependencies: - ansi-escapes "^1.1.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - external-editor "^1.1.0" - figures "^1.3.5" - lodash "^4.3.0" - mute-stream "0.0.6" - pinkie-promise "^2.0.0" - run-async "^2.2.0" - rx "^4.1.0" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - -interpret@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" - -is-ci@^1.0.9: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5" - dependencies: - ci-info "^1.0.0" - -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - -is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - dependencies: - is-extglob "^1.0.0" - -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - dependencies: - kind-of "^3.0.2" - -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - -is-subset@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" - -is-text-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" - dependencies: - text-extensions "^1.0.0" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -is-windows@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - -js-yaml@^3.4.3: - version "3.11.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef" - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - -jsonfile@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - -kind-of@^3.0.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - dependencies: - is-buffer "^1.1.5" - -kind-of@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - -klaw@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" - optionalDependencies: - graceful-fs "^4.1.9" - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - dependencies: - invert-kv "^1.0.0" - -listr-silent-renderer@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" - -listr-update-renderer@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz#ca80e1779b4e70266807e8eed1ad6abe398550f9" - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - elegant-spinner "^1.0.1" - figures "^1.7.0" - indent-string "^3.0.0" - log-symbols "^1.0.2" - log-update "^1.0.2" - strip-ansi "^3.0.1" - -listr-verbose-renderer@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.3.0.tgz#f4904400af29e938394a70f0647a08cdaa8dd840" - dependencies: - chalk "^1.1.3" - cli-cursor "^1.0.2" - figures "^1.7.0" - -listr@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/listr/-/listr-0.10.0.tgz#342d7210966c0497a9193aaab5053e7bf619e3e2" - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - figures "^1.7.0" - indent-string "^2.1.0" - is-promise "^2.1.0" - is-stream "^1.1.0" - listr-silent-renderer "^1.1.1" - listr-update-renderer "^0.2.0" - listr-verbose-renderer "^0.3.0" - log-symbols "^1.0.2" - log-update "^1.0.2" - ora "^0.2.3" - rxjs "^5.0.0-beta.11" - stream-to-observable "^0.1.0" - strip-ansi "^3.0.1" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -lodash._reinterpolate@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - -lodash.map@^4.5.1: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" - -lodash.template@^4.0.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" - dependencies: - lodash._reinterpolate "~3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" - dependencies: - lodash._reinterpolate "~3.0.0" - -lodash@4.17.2: - version "4.17.2" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.2.tgz#34a3055babe04ce42467b607d700072c7ff6bf42" - -lodash@^4.2.1, lodash@^4.3.0: - version "4.17.10" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" - -log-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" - dependencies: - chalk "^1.0.0" - -log-update@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" - dependencies: - ansi-escapes "^1.0.0" - cli-cursor "^1.0.2" - -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lru-cache@^4.0.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - -map-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" - -math-random@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" - -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - dependencies: - mimic-fn "^1.0.0" - -meow@^3.3.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -meow@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975" - dependencies: - camelcase-keys "^4.0.0" - decamelize-keys "^1.0.0" - loud-rejection "^1.0.0" - minimist "^1.1.3" - minimist-options "^3.0.1" - normalize-package-data "^2.3.4" - read-pkg-up "^3.0.0" - redent "^2.0.0" - trim-newlines "^2.0.0" - -merge@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" - -micromatch@^2.3.7: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - dependencies: - brace-expansion "^1.1.7" - -minimist-options@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - -minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - -modify-values@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" - -mute-stream@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" - -normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5: - version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" - -normalize-path@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - dependencies: - remove-trailing-separator "^1.0.1" - -npm-path@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64" - dependencies: - which "^1.2.10" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - dependencies: - path-key "^2.0.0" - -npm-which@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" - dependencies: - commander "^2.9.0" - npm-path "^2.0.2" - which "^1.2.10" - -null-check@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -onetime@^1.0.0: - version "1.1.0" - resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -ora@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" - dependencies: - chalk "^1.1.1" - cli-cursor "^1.0.2" - cli-spinners "^0.1.2" - object-assign "^4.0.1" - -os-homedir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - -os-shim@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" - -os-tmpdir@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - -p-limit@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" - dependencies: - p-try "^1.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - dependencies: - p-limit "^1.1.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - -pad-right@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/pad-right/-/pad-right-0.2.2.tgz#6fbc924045d244f2a2a244503060d3bfc6009774" - dependencies: - repeat-string "^1.5.2" - -parse-github-repo-url@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - -path-exists@2.1.0, path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-key@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - -path-parse@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - dependencies: - pify "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - dependencies: - pify "^3.0.0" - -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - -process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - -q@^1.4.1, q@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - -quick-lru@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" - -randomatic@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.0.0.tgz#d35490030eb4f7578de292ce6dfb04a91a128923" - dependencies: - is-number "^4.0.0" - kind-of "^6.0.0" - math-random "^1.0.1" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg@^1.0.0, read-pkg@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -readable-stream@^2.1.5, readable-stream@^2.2.2: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - dependencies: - resolve "^1.1.6" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -redent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" - dependencies: - indent-string "^3.0.0" - strip-indent "^2.0.0" - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - dependencies: - is-equal-shallow "^0.1.3" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - -repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - -repeat-string@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - dependencies: - is-finite "^1.0.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - -require-from-string@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - -resolve-dir@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" - dependencies: - expand-tilde "^1.2.2" - global-modules "^0.2.3" - -resolve@^1.1.6: - version "1.7.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" - dependencies: - path-parse "^1.0.5" - -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - dependencies: - align-text "^0.1.1" - -right-pad@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/right-pad/-/right-pad-1.0.1.tgz#8ca08c2cbb5b55e74dafa96bf7fd1a27d568c8d0" - -run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - dependencies: - is-promise "^2.1.0" - -rx@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" - -rxjs@^5.0.0-beta.11: - version "5.5.10" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.10.tgz#fde02d7a614f6c8683d0d1957827f492e09db045" - dependencies: - symbol-observable "1.0.1" - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - -semver-regex@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9" - -"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - -shelljs@0.7.6: - version "0.7.6" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -signal-exit@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - -source-map@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - dependencies: - amdefine ">=0.0.4" - -source-map@~0.5.1: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - -spawn-sync@^1.0.15: - version "1.0.15" - resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" - dependencies: - concat-stream "^1.4.7" - os-shim "^0.1.2" - -spdx-correct@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" - -spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" - -split2@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" - dependencies: - through2 "^2.0.2" - -split@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" - dependencies: - through "2" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - -standard-version@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-4.3.0.tgz#41006cfee4eeab7c0ff3a47eecaa4c7506ed2e3f" - dependencies: - chalk "^1.1.3" - conventional-changelog "^1.1.0" - conventional-recommended-bump "^1.0.0" - dotgitignore "^1.0.3" - figures "^1.5.0" - fs-access "^1.0.0" - semver "^5.1.0" - yargs "^8.0.1" - -stream-to-observable@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.1.0.tgz#45bf1d9f2d7dc09bed81f1c307c430e68b84cffe" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - dependencies: - ansi-regex "^3.0.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - dependencies: - get-stdin "^4.0.1" - -strip-indent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" - -strip-json-comments@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -symbol-observable@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" - -text-extensions@^1.0.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.7.0.tgz#faaaba2625ed746d568a23e4d0aacd9bf08a8b39" - -through2@^2.0.0, through2@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -through@2, "through@>=2.2.7 <3", through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - -tmp@^0.0.29: - version "0.0.29" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0" - dependencies: - os-tmpdir "~1.0.1" - -track-changed@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/track-changed/-/track-changed-1.0.2.tgz#b92dfba273a927b8eff8716039b9f018453bc19f" - dependencies: - app-root-path "^2.0.0" - cosmiconfig "^1.1.0" - execa "^0.6.0" - listr "^0.10.0" - minimatch "^3.0.0" - npm-which "^3.0.1" - which "^1.2.11" - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - -trim-newlines@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" - -trim-off-newlines@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - -uglify-js@^2.6: - version "2.8.29" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -validate-commit-msg@^2.14.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/validate-commit-msg/-/validate-commit-msg-2.14.0.tgz#e5383691012cbb270dcc0bc2a4effebe14890eac" - dependencies: - conventional-commit-types "^2.0.0" - find-parent-dir "^0.3.0" - findup "0.1.5" - semver-regex "1.0.0" - -validate-npm-package-license@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - -which@^1.2.10, which@^1.2.11, which@^1.2.12, which@^1.2.9: - version "1.3.0" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" - dependencies: - isexe "^2.0.0" - -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - -word-wrap@^1.0.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - -yargs-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" - dependencies: - camelcase "^4.1.0" - -yargs@^8.0.1: - version "8.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" - dependencies: - camelcase "^4.1.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - read-pkg-up "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^7.0.0" - -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" diff --git a/pack/acp/start/papercolor-theme/.gitignore b/pack/acp/start/papercolor-theme/.gitignore new file mode 100644 index 0000000..e690f20 --- /dev/null +++ b/pack/acp/start/papercolor-theme/.gitignore @@ -0,0 +1,20 @@ +################################################################# +# Global/Vim.gitignore +################################################################# +# Swap +[._]*.s[a-v][a-z] +[._]*.sw[a-p] +[._]s[a-rt-v][a-z] +[._]ss[a-gi-z] +[._]sw[a-p] + +# Session +Session.vim + +# Temporary +.netrwhist +*~ +# Auto-generated tag files +tags +# Persistent undo +[._]*.un~ diff --git a/pack/acp/start/papercolor-theme/.travis.yml b/pack/acp/start/papercolor-theme/.travis.yml new file mode 100644 index 0000000..59e14ff --- /dev/null +++ b/pack/acp/start/papercolor-theme/.travis.yml @@ -0,0 +1,10 @@ +sudo: required + +language: sh + +services: + - docker + +script: + - docker build -t test test/ + - docker run --rm -it -v $(pwd):/mnt test colors/PaperColor.vim diff --git a/pack/acp/start/papercolor-theme/DESIGN.md b/pack/acp/start/papercolor-theme/DESIGN.md new file mode 100644 index 0000000..330e2e1 --- /dev/null +++ b/pack/acp/start/papercolor-theme/DESIGN.md @@ -0,0 +1,158 @@ +Design Guideline +================ + +This note explains how to override theme colors and create your own theme on top of PaperColor as well as the full list of color names and the format of color values. + +1. Customize current theme colors +2. Create your own theme +3. Color Format +4. Color Names + +# Customize Current Theme Colors + +You can override any color of the theme of interest. This example is for `default` theme (original PaperColor Theme), but you can specify any other theme that is registered. + +The overriding setting is placed in `override` key of `g:PaperColor_Theme_Options` variable that you set in `.vimrc` like this. + +```VimL +let g:PaperColor_Theme_Options = { + \ 'theme': { + \ 'default.dark': { + \ 'override' : { + \ 'color00' : ['#080808', '232'], + \ 'linenumber_bg' : ['#080808', '232'] + \ } + \ } + \ } + \ } + +``` + +In this case, `default` is color theme name, and `dark` is the specific variant that we want to override some colors. The other is `light`, and you can set the same way. + +All colors can be overridden within `override` key. See Color Names section for all available options. + +# Create your own theme + +You can create your own theme on top of PaperColor. Your custom theme is simply responsible for color palette specification, similar to how the default theme specifies the colors. Think of this like a plugin for PaperColor framework. You can distribute your theme as a plugin that depends on PaperColor, and users need to install both. Your theme benefits from all development in PaperColor that occurs independently. + +Example: https://github.com/NLKNguyen/papercolor-blue + +Disclaimer: This feature is very new and important, and I expect many revisions to get it right, so keep in mind of incompatible changes in future. + +TODO: more instruction + + +# Color Format + + +The format of color value is `[GUI-Color, 256-Color]` where each item is a quoted string. + +* `GUI-Color` is used for Vim variants that can display GUI Color such as MacVim, GVim, or NeoVim. The value format is Red-Green-Blue in hexadecimal, i.e. `'#RRGGBB'` +* `256-Color` is used for terminal Vim. The value format is from `'00'` to `'255'` in base 10 number system. + +You only have to provide one of them; for example, `['#080808', '']` or `['', '232']`, and the theme will automatically convert as needed. + +256-color can be converted exactly to their GUI color representation. The reverse is not necessary true. 256-color can only represent a very small subset of GUI-color, so for the GUI color outside 256-color range, the converter can only approximate the nearest 256-color of the GUI-color. + +This is a [256-color table](http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html) and their corresponding GUI-color. + + +# Color Names + +## Standard + +16 standard colors are the required for all themes. These are also the falling-back colors for all extended colors if not provided. + +name | note +--------|----------- +color00 | background (main) +color01 | *negative* (should be red) +color02 | *positive* (should be green) +color03 | string +color04 | *neutral* (2nd background) +color05 | comment +color06 | typically storage class keywords +color07 | foreground (normal text) +color08 | 3rd background +color09 | typically import/try-catch keywords +color10 | typically type and more emphasized keywords +color11 | typically if/conditional/loop keywords +color12 | accent (rarely used) +color13 | typically number +color14 | typically the rest of keywords +color15 | highlight + +## Extended Colors + +All of these are optional but better be utilized for theme richness. + +name | note +-------- | ----------- +color16 | certain keywords where otherwise just color14 +color17 | typically boolean and label/tag +cursor_fg | +cursor_bg | +cursorline | +cursorcolumn | +cursorlinenr_fg | +cursorlinenr_bg | +popupmenu_fg | +popupmenu_bg | +search_fg | +search_bg | +linenumber_fg | +linenumber_bg | +vertsplit_fg | +vertsplit_bg | +statusline_active_fg | +statusline_active_bg | +statusline_inactive_fg | +statusline_inactive_bg | +todo_fg | +todo_bg | +error_fg | +error_bg | +matchparen_bg | +matchparen_fg | +visual_fg | +visual_bg | +folded_fg | +folded_bg | +wildmenu_fg | +wildmenu_bg | +spellbad | +spellcap | +spellrare | +spelllocal | +diffadd_fg | +diffadd_bg | +diffdelete_fg | +diffdelete_bg | +difftext_fg | +difftext_bg | +diffchange_fg | +diffchange_bg | + +For tabline plugin + +name | note +-------- | ----------- +tabline_bg | +tabline_active_fg | +tabline_active_bg | +tabline_inactive_fg | +tabline_inactive_bg | + +For vim-buftabline plugin + +name | note +-------- | ----------- +buftabline_bg | +buftabline_current_fg | +buftabline_current_bg | +buftabline_active_fg | +buftabline_active_bg | +buftabline_inactive_fg | +buftabline_inactive_bg | + diff --git a/pack/acp/start/papercolor-theme/LICENSE b/pack/acp/start/papercolor-theme/LICENSE new file mode 100644 index 0000000..599f8ff --- /dev/null +++ b/pack/acp/start/papercolor-theme/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015-2017 Nikyle Nguyen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/pack/acp/start/papercolor-theme/README.md b/pack/acp/start/papercolor-theme/README.md new file mode 100644 index 0000000..41b587e --- /dev/null +++ b/pack/acp/start/papercolor-theme/README.md @@ -0,0 +1,275 @@ +PaperColor Theme +=================== +[![license](https://img.shields.io/github/license/NLKNguyen/papercolor-theme.svg?maxAge=2592000)](https://github.com/NLKNguyen/papercolor-theme/blob/master/LICENSE) [![](https://img.shields.io/github/issues-raw/NLKNguyen/papercolor-theme.svg?maxAge=2592000)](https://github.com/NLKNguyen/papercolor-theme/issues) [![](https://img.shields.io/github/issues-closed-raw/NLKNguyen/papercolor-theme.svg?maxAge=2592000)](https://github.com/NLKNguyen/papercolor-theme/issues) [![GitHub release](https://img.shields.io/github/release/NLKNguyen/papercolor-theme.svg)](https://github.com/NLKNguyen/papercolor-theme/releases) [![Travis CI Build Status](https://travis-ci.org/NLKNguyen/papercolor-theme.svg?branch=master)](https://travis-ci.org/NLKNguyen/papercolor-theme) + + +Light & Dark color schemes for terminal and graphic **Vim** awesome editor + +Inspired by Google's Material Design + +Improve code readability; great for presentation + +## Inclusive support + +### Color Ranges + +Support True color / **GUI-color** and identical **256-color** that the design is based on. + +Also gracefully support down to **16-color** terminal, which will use terminal native colors. You need to change the terminal colors to PaperColor palette. + +In 8-color and 4-color, it might lack the necessary variation of colors to express PaperColor, but seriously let me know if you still use these kinds of terminals. + + +### Languages and Plugins + +Currently designed for these languages: + - Haskell, Erlang, Elixir, Clojure, Elm, Purescript, F# + - C, C++, Golang, Rust, Java, JavaScript, Python, Ruby, Pascal, PHP, Perl, LUA + - DTrace, SystemTap, SQL/MySQL, Octave/MATLAB, R, Lex/Flex & Yacc/Bison, ASN.1, Assembly (MIPS, GAS, NASM), Bash/Shell script, Sed, Awk, Vim script, Powershell script + - Dockerfile, Makefile, CMake, NGINX, Cucumber, YAML, JSON, HTML, XML, Markdown, reStructuredText, PlantUML, Dosini, Mail, Git commit message + - Ada, COBOL, Fortran, ALGOL, *(what's your other favorite dinosaur?)* + +Other file types can still display well as long as your Vim is set up to recognize the language syntax even though that may not be the optimal experience. So, if the language you are working on isn't listed here, feel free to make a design request. + +Plugin support: vimdiff, netrw, [NERDTree](https://github.com/scrooloose/nerdtree), [tagbar](https://github.com/majutsushi/tagbar), [tabline](https://github.com/mkitt/tabline.vim), [vim-airline](https://github.com/bling/vim-airline), [vim-indent-guides](https://github.com/nathanaelkane/vim-indent-guides), [vim-startify](https://github.com/mhinz/vim-startify), [Agit](https://github.com/cohama/agit.vim) + +(see below for syntax-highlighting plugins target) + +## Installation +Place 'PaperColor.vim' file into 'colors' folder within your Vim directory, e.g. `~/.vim/colors/` + +Or simply use a plugin manager like [Vundle](https://github.com/gmarik/Vundle.vim) (recommended for easy `:PluginUpdate`): + + Plugin 'NLKNguyen/papercolor-theme' + +Then, put this in your `~/.vimrc` + +```VimL +set t_Co=256 " This is may or may not needed. + +set background=light +colorscheme PaperColor +``` + +Or using the dark version: + +```VimL +set background=dark +colorscheme PaperColor +``` + +To switch to dark or light variant during session: `:set background=dark` or `:set background=light` + +To quickly toggle between them, use [vim-unimpaired](https://github.com/tpope/vim-unimpaired)'s keymap `cob` + +*Optional*: turn on line numbers and status bar + +```VimL +set number +set laststatus=2 +``` + +## User-config Options + +This theme currently provides theme options and language-specific options. All config options can be stored in global variable `g:PaperColor_Theme_Options` which can be set in your `.vimrc` + + +**Note**: ++ This `g:PaperColor_Theme_Options` variable must be placed anywhere **before** `color PaperColor` command. ++ if the same option is provided in both a theme and a theme's variant, the value in the theme's variant options will take precedence. + +### Theme Options + +Within section `theme`, options for each theme can be specified under the theme name. The original PaperColor theme is `default`. For example: + +```VimL +let g:PaperColor_Theme_Options = { + \ 'theme': { + \ 'default': { + \ 'transparent_background': 1 + \ } + \ } + \ } +``` + +Or if you want to specify options only for a variant (dark or light) of a theme, you can specify using this pattern `[theme name].light` or `[theme name].dark`. For example: + +```VimL +let g:PaperColor_Theme_Options = { + \ 'theme': { + \ 'default.dark': { + \ 'transparent_background': 1 + \ } + \ } + \ } +``` + +**Color overriding** + + +You can override any color of the theme of interest. This example is for `default` theme (original PaperColor Theme), but you can specify any other theme that is registered. + +The overriding setting is placed in `override` key of `g:PaperColor_Theme_Options` variable that you set in `.vimrc` like this. + +```VimL +let g:PaperColor_Theme_Options = { + \ 'theme': { + \ 'default.dark': { + \ 'override' : { + \ 'color00' : ['#080808', '232'], + \ 'linenumber_bg' : ['#080808', '232'] + \ } + \ } + \ } + \ } + +``` + +See [DESIGN.md](https://github.com/NLKNguyen/papercolor-theme/blob/master/DESIGN.md) for more details and full list of color names. + + +#### Currently available theme options + +option | value | default +------ | ------ | ------- +`transparent_background` | 1: use terminal background | 0: use theme background +`allow_bold` | 1: use bold for certain text, 0: not at all | decided by the theme +`allow_italic` | 1: use italics for certain text, 0: not at all | decided by the theme +`override` | dictionary of color key-value | + + +### Language-specific options + +In general, for each language, built-in functions and constants are not highlighted. +This is intentional; the vim syntax file often lags behind actual language development. +To override the default behavior, optionally place a language section in `g:PaperColor_Theme_Options`. +An example configuration is available below + + +```VimL +let g:PaperColor_Theme_Options = { + \ 'language': { + \ 'python': { + \ 'highlight_builtins' : 1 + \ }, + \ 'cpp': { + \ 'highlight_standard_library': 1 + \ }, + \ 'c': { + \ 'highlight_builtins' : 1 + \ } + \ } + \ } +``` + +#### Currently available language options + +language | option | value | default +------ | ------ | ------ | ------ +`c` | `highlight_builtins` | 1: enable | 0: disable +`cpp` | `highlight_standard_library` | 1: enable | 0: disable +`python` | `highlight_builtins` | 1: enable | 0: disable + + +## Syntax Highlighting Plugins Target +There are syntax highlighting enhancement plugins that improve upon Vim built-in syntax highlighting, and each can have many different implementations. This is the list of plugins that this color scheme targets. + +* C: [c-syntax.vim](https://github.com/NLKNguyen/c-syntax.vim) +* JavaScript: [vim-javascript](https://github.com/pangloss/vim-javascript) +* Jsx: [vim-jsx-pretty](https://github.com/MaxMEllon/vim-jsx-pretty) +* JSON: [vim-json](https://github.com/elzr/vim-json) +* Go: [vim-go](https://github.com/fatih/vim-go) +* DTrace: [dtrace-syntax-file](https://github.com/vim-scripts/dtrace-syntax-file) +* SystemTap: [vim-systemtap](https://github.com/nickhutchinson/vim-systemtap) +* Haskell: [haskell-vim](https://github.com/raichoo/haskell-vim) +* PlantUML: [plantuml-syntax](https://github.com/aklt/plantuml-syntax) +* Markdown: [vim-markdown](https://github.com/plasticboy/vim-markdown) +* Assembly MIPS: [mips](https://github.com/vim-scripts/mips.vim) +* Assembly GAS: [vim-gas](https://github.com/Shirk/vim-gas) +* Octave/MATLAB: [vim-octave](https://github.com/jvirtanen/vim-octave) +* Python: [python-syntax](https://github.com/hdima/python-syntax/) +* Dockerfile: [dockerfile.vim](https://github.com/docker/docker/tree/master/contrib/syntax/vim) +* NGINX: [nginx-vim-syntax](https://github.com/evanmiller/nginx-vim-syntax) +* Elixir: [vim-elixir](https://github.com/elixir-lang/vim-elixir) +* Elm: [elm-vim](https://github.com/ElmCast/elm-vim) +* Purescript: [purescript-vim](https://github.com/purescript-contrib/purescript-vim) +* F#: [vim-fsharp](https://github.com/fsharp/vim-fsharp) +* PowerShell: [vim-ps1](https://github.com/PProvost/vim-ps1) +* CMake: [vim-cmake-syntax](https://github.com/pboettch/vim-cmake-syntax) +* ALGOL: [vim-algol68](https://github.com/sterpe/vim-algol68) + +## Screenshots + +**Default Light** + +![Sample Ruby code](https://nlknguyen.files.wordpress.com/2015/05/ruby1.png) + +![Sample DTrace code](https://nlknguyen.files.wordpress.com/2015/05/dtrace1.png) + +![Sample MySQL code](https://nlknguyen.files.wordpress.com/2015/05/mysql.png) + +![Sample Assembly code](https://nlknguyen.files.wordpress.com/2015/05/asm.png) + +![Sample Vimdiff w/ git tool](https://cloud.githubusercontent.com/assets/4667129/24315492/9410c372-10a4-11e7-84c7-8846984bdca0.png) + +**Default Dark** + +![Sample Ruby code](https://nlknguyen.files.wordpress.com/2015/05/ruby-dark.png) + +![Sample Go code](https://nlknguyen.files.wordpress.com/2015/05/go-dark.png) + +![Sample JavaScript code](https://nlknguyen.files.wordpress.com/2015/05/javascript-dark2.png) + +![Sample C code](https://nlknguyen.files.wordpress.com/2015/05/c-dark-split.png) + +![Sample Vimdiff w/ git tool](https://cloud.githubusercontent.com/assets/4667129/24315493/94122816-10a4-11e7-8d3f-f5d92a064a14.png) + + +**Have screenshots to contribute?** Use [this thread](https://github.com/NLKNguyen/papercolor-theme/issues/90) to upload images and get direct links. + +---- + +![Vim-airline support](https://nlknguyen.files.wordpress.com/2015/05/gifrecord_2015-05-31_010251.gif) + +To set [vim-airline](https://github.com/bling/vim-airline) theme: + + let g:airline_theme='papercolor' + +To set [lightline](https://github.com/itchyny/lightline.vim) theme: + + let g:lightline = { 'colorscheme': 'PaperColor' } + +For more sceenshots, story behind the project, and other users' designs inspired by Paper Color, go to [this blog post](http://nlknguyen.com/2015/05/21/vim-paper-color-theme/) + +Suggestions/Wishes/Questions/Comments are welcome via [Github issues](https://github.com/NLKNguyen/papercolor-theme/issues) or via the blog above. + +# Related Projects Based On PaperColor +[Material iTerm](https://github.com/stoeffel/material-iterm) theme by Christoph Hermann + +[Material Terminator](https://github.com/marhs/material-terminator) (terminal emulator) theme by Marco Herrero + +[Terminal Theme](https://www.reddit.com/r/vim/comments/36xzbs/vim_paper_color_theme_inspired_by_googles/crqbfpa) by Fixles + +[PaperColor Light for iTerm2](https://github.com/aseom/dotfiles/blob/master/osx/iterm2/papercolor-light.itermcolors) by ASeom Han + +[PaperColor for Terminal.app](https://github.com/tomotargz/papercolor-terminal-app) by tomotargz + +[PaperColor Light for konsole](https://raw.githubusercontent.com/z2oh/dotfiles/82bf6835948674f0ed1f98a14b82975ff2dd8f3e/konsole/paperrlight.colorscheme) by [z2oh](https://github.com/z2oh) + +[PaperColor Theme for Vis Editor](https://github.com/jceb/dotfiles/blob/master/config/vis/lexers/themes/papercolor.lua) by Jan Christoph Ebersbach + +[Airline PaperColor Theme for Emacs Powerline](https://github.com/AnthonyDiGirolamo/airline-themes) by Anthony DiGirolamo + +[Airline PaperColor Theme for Vim Lightline](https://github.com/itchyny/lightline.vim) + +[Ninrod's `vim + tmux + zsh` dotfiles](https://github.com/ninrod/dotfiles.git) by [Filipe Silva](https://github.com/ninrod) + +[PaperColor for Vscode](https://github.com/Rozbo/papercolor-vscode) by [rozbo](https://github.com/rozbo) + +[PaperColor theme for Hyper](https://github.com/rafaelrinaldi/hyper-papercolor) by [Rafael Rinaldi](https://github.com/rafaelrinaldi) + +[PaperColor Theme for kitty](https://github.com/craffate/papercolor-kitty) by [Cyril Raffatelli](https://github.com/craffate) + +[PaperColor Light theme for cmus](https://github.com/eremit/papercolor-light-cmus) by [eremit](https://github.com/eremit) + +Feel free to add related projects here! diff --git a/pack/acp/start/papercolor-theme/ROADMAP.md b/pack/acp/start/papercolor-theme/ROADMAP.md new file mode 100644 index 0000000..e7dd47b --- /dev/null +++ b/pack/acp/start/papercolor-theme/ROADMAP.md @@ -0,0 +1,18 @@ +# 1.0 Release Candidate +For more than 1 year and a half, PaperColor has been improved a lot, but there is no release tag. The reason is because there has always been small incremental changes and supports for more languages and plugins. Now it's time for something different. Version 1.0 is going to be the biggest improvement of PaperColor to add support for low-quality terminals and to enable alternative color palettes on top of PaperColor's rich support for many file types and plugins. + +[Join the discussion](https://github.com/NLKNguyen/papercolor-theme/issues/71) + +Task List: +- [x] Support 16-color terminal (e.g. Windows Command Prompt). Currently, PaperColor requires 256-color. +- [x] Provide terminal themes for PaperColor Light & Dark, target firstly Windows Command Prompt and Mac Terminal. The other repo https://github.com/NLKNguyen/papercolor-16 will be dedicated for terminal themes. +- [ ] Provide terminal theme design guideline so that others can port to different terminals AND make alternative color palettes for PaperColor. ~~For now, this is the only reference http://codepen.io/NLKNguyen/full/NrRpej/~~ +- [ ] Enable alternative color palettes for PaperColor in True-color / 256-color. + + +Related issues (motivations): +* https://github.com/NLKNguyen/papercolor-theme/issues/64 +* https://github.com/NLKNguyen/papercolor-theme/issues/65 +* https://github.com/NLKNguyen/papercolor-theme/pull/68 +* https://github.com/NLKNguyen/papercolor-theme/issues/69 +* https://github.com/NLKNguyen/papercolor-theme/issues/70 diff --git a/pack/acp/start/papercolor-theme/colors/PaperColor.vim b/pack/acp/start/papercolor-theme/colors/PaperColor.vim new file mode 100755 index 0000000..e03886b --- /dev/null +++ b/pack/acp/start/papercolor-theme/colors/PaperColor.vim @@ -0,0 +1,2238 @@ +" Theme: PaperColor +" Author: Nikyle Nguyen +" License: MIT +" Source: http://github.com/NLKNguyen/papercolor-theme + +let s:version = '0.9.x' + +" Note on navigating this source code: +" - Use folding feature to collapse/uncollapse blocks of marked code +" zM to fold all markers in this file to see the structure of the source code +" zR to unfold all recursively +" za to toggle a fold +" See: http://vim.wikia.com/wiki/Folding +" - The main section is at the end where the functions are called in order. + +" Theme Repository: {{{ + +let s:themes = {} + +" }}} + +fun! s:register_default_theme() + " Theme name should be lowercase + let s:themes['default'] = { + \ 'maintainer' : 'Nikyle Nguyen ', + \ 'source' : 'http://github.com/NLKNguyen/papercolor-theme', + \ 'description' : 'The original PaperColor Theme, inspired by Google Material Design', + \ 'options' : { + \ 'allow_bold': 1 + \ } + \ } + + " Theme can have 'light' and/or 'dark' color palette. + " Color values can be HEX and/or 256-color. Use empty string '' if not provided. + " Only color00 -> color15 are required. The rest are optional. + let s:themes['default'].light = { + \ 'NO_CONVERSION': 1, + \ 'TEST_256_COLOR_CONSISTENCY' : 1, + \ 'palette' : { + \ 'color00' : ['#eeeeee', '255'], + \ 'color01' : ['#af0000', '124'], + \ 'color02' : ['#008700', '28'], + \ 'color03' : ['#5f8700', '64'], + \ 'color04' : ['#0087af', '31'], + \ 'color05' : ['#878787', '102'], + \ 'color06' : ['#005f87', '24'], + \ 'color07' : ['#444444', '238'], + \ 'color08' : ['#bcbcbc', '250'], + \ 'color09' : ['#d70000', '160'], + \ 'color10' : ['#d70087', '162'], + \ 'color11' : ['#8700af', '91'], + \ 'color12' : ['#d75f00', '166'], + \ 'color13' : ['#d75f00', '166'], + \ 'color14' : ['#005faf', '25'], + \ 'color15' : ['#005f87', '24'], + \ 'color16' : ['#0087af', '31'], + \ 'color17' : ['#008700', '28'], + \ 'cursor_fg' : ['#eeeeee', '255'], + \ 'cursor_bg' : ['#005f87', '24'], + \ 'cursorline' : ['#e4e4e4', '254'], + \ 'cursorcolumn' : ['#e4e4e4', '254'], + \ 'cursorlinenr_fg' : ['#af5f00', '130'], + \ 'cursorlinenr_bg' : ['#eeeeee', '255'], + \ 'popupmenu_fg' : ['#444444', '238'], + \ 'popupmenu_bg' : ['#d0d0d0', '252'], + \ 'search_fg' : ['#444444', '238'], + \ 'search_bg' : ['#ffff5f', '227'], + \ 'linenumber_fg' : ['#b2b2b2', '249'], + \ 'linenumber_bg' : ['#eeeeee', '255'], + \ 'vertsplit_fg' : ['#005f87', '24'], + \ 'vertsplit_bg' : ['#eeeeee', '255'], + \ 'statusline_active_fg' : ['#e4e4e4', '254'], + \ 'statusline_active_bg' : ['#005f87', '24'], + \ 'statusline_inactive_fg' : ['#444444', '238'], + \ 'statusline_inactive_bg' : ['#d0d0d0', '252'], + \ 'todo_fg' : ['#00af5f', '35'], + \ 'todo_bg' : ['#eeeeee', '255'], + \ 'error_fg' : ['#af0000', '124'], + \ 'error_bg' : ['#ffd7ff', '225'], + \ 'matchparen_bg' : ['#c6c6c6', '251'], + \ 'matchparen_fg' : ['#005f87', '24'], + \ 'visual_fg' : ['#eeeeee', '255'], + \ 'visual_bg' : ['#0087af', '31'], + \ 'folded_fg' : ['#0087af', '31'], + \ 'folded_bg' : ['#afd7ff', '153'], + \ 'wildmenu_fg': ['#444444', '238'], + \ 'wildmenu_bg': ['#ffff00', '226'], + \ 'spellbad': ['#ffafd7', '218'], + \ 'spellcap': ['#ffffaf', '229'], + \ 'spellrare': ['#afff87', '156'], + \ 'spelllocal': ['#d7d7ff', '189'], + \ 'diffadd_fg': ['#008700', '28'], + \ 'diffadd_bg': ['#afffaf', '157'], + \ 'diffdelete_fg': ['#af0000', '124'], + \ 'diffdelete_bg': ['#ffd7ff', '225'], + \ 'difftext_fg': ['#0087af', '31'], + \ 'difftext_bg': ['#ffffd7', '230'], + \ 'diffchange_fg': ['#444444', '238'], + \ 'diffchange_bg': ['#ffd787', '222'], + \ 'tabline_bg': ['#005f87', '24'], + \ 'tabline_active_fg': ['#444444', '238'], + \ 'tabline_active_bg': ['#e4e4e4', '254'], + \ 'tabline_inactive_fg': ['#eeeeee', '255'], + \ 'tabline_inactive_bg': ['#0087af', '31'], + \ 'buftabline_bg': ['#005f87', '24'], + \ 'buftabline_current_fg': ['#444444', '238'], + \ 'buftabline_current_bg': ['#e4e4e4', '254'], + \ 'buftabline_active_fg': ['#eeeeee', '255'], + \ 'buftabline_active_bg': ['#005faf', '25'], + \ 'buftabline_inactive_fg': ['#eeeeee', '255'], + \ 'buftabline_inactive_bg': ['#0087af', '31'] + \ } + \ } + + " TODO: idea for subtheme options + " let s:themes['default'].light.subtheme = { + " \ 'alternative' : { + " \ 'options' : { + " \ 'transparent_background': 1 + " \ }, + " \ 'palette' : { + " \ } + " \ } + " \ } + + let s:themes['default'].dark = { + \ 'NO_CONVERSION': 1, + \ 'TEST_256_COLOR_CONSISTENCY' : 1, + \ 'palette' : { + \ 'color00' : ['#1c1c1c', '234'], + \ 'color01' : ['#af005f', '125'], + \ 'color02' : ['#5faf00', '70'], + \ 'color03' : ['#d7af5f', '179'], + \ 'color04' : ['#5fafd7', '74'], + \ 'color05' : ['#808080', '244'], + \ 'color06' : ['#d7875f', '173'], + \ 'color07' : ['#d0d0d0', '252'], + \ 'color08' : ['#585858', '240'], + \ 'color09' : ['#5faf5f', '71'], + \ 'color10' : ['#afd700', '148'], + \ 'color11' : ['#af87d7', '140'], + \ 'color12' : ['#ffaf00', '214'], + \ 'color13' : ['#ff5faf', '205'], + \ 'color14' : ['#00afaf', '37'], + \ 'color15' : ['#5f8787', '66'], + \ 'color16' : ['#5fafd7', '74'], + \ 'color17' : ['#d7af00', '178'], + \ 'cursor_fg' : ['#1c1c1c', '234'], + \ 'cursor_bg' : ['#c6c6c6', '251'], + \ 'cursorline' : ['#303030', '236'], + \ 'cursorcolumn' : ['#303030', '236'], + \ 'cursorlinenr_fg' : ['#ffff00', '226'], + \ 'cursorlinenr_bg' : ['#1c1c1c', '234'], + \ 'popupmenu_fg' : ['#c6c6c6', '251'], + \ 'popupmenu_bg' : ['#303030', '236'], + \ 'search_fg' : ['#000000', '16'], + \ 'search_bg' : ['#00875f', '29'], + \ 'linenumber_fg' : ['#585858', '240'], + \ 'linenumber_bg' : ['#1c1c1c', '234'], + \ 'vertsplit_fg' : ['#5f8787', '66'], + \ 'vertsplit_bg' : ['#1c1c1c', '234'], + \ 'statusline_active_fg' : ['#1c1c1c', '234'], + \ 'statusline_active_bg' : ['#5f8787', '66'], + \ 'statusline_inactive_fg' : ['#bcbcbc', '250'], + \ 'statusline_inactive_bg' : ['#3a3a3a', '237'], + \ 'todo_fg' : ['#ff8700', '208'], + \ 'todo_bg' : ['#1c1c1c', '234'], + \ 'error_fg' : ['#af005f', '125'], + \ 'error_bg' : ['#5f0000', '52'], + \ 'matchparen_bg' : ['#4e4e4e', '239'], + \ 'matchparen_fg' : ['#c6c6c6', '251'], + \ 'visual_fg' : ['#000000', '16'], + \ 'visual_bg' : ['#8787af', '103'], + \ 'folded_fg' : ['#d787ff', '177'], + \ 'folded_bg' : ['#5f005f', '53'], + \ 'wildmenu_fg': ['#1c1c1c', '234'], + \ 'wildmenu_bg': ['#afd700', '148'], + \ 'spellbad': ['#5f0000', '52'], + \ 'spellcap': ['#5f005f', '53'], + \ 'spellrare': ['#005f00', '22'], + \ 'spelllocal': ['#00005f', '17'], + \ 'diffadd_fg': ['#87d700', '112'], + \ 'diffadd_bg': ['#005f00', '22'], + \ 'diffdelete_fg': ['#af005f', '125'], + \ 'diffdelete_bg': ['#5f0000', '52'], + \ 'difftext_fg': ['#5fffff', '87'], + \ 'difftext_bg': ['#008787', '30'], + \ 'diffchange_fg': ['#d0d0d0', '252'], + \ 'diffchange_bg': ['#005f5f', '23'], + \ 'tabline_bg': ['#262626', '235'], + \ 'tabline_active_fg': ['#121212', '233'], + \ 'tabline_active_bg': ['#00afaf', '37'], + \ 'tabline_inactive_fg': ['#bcbcbc', '250'], + \ 'tabline_inactive_bg': ['#585858', '240'], + \ 'buftabline_bg': ['#262626', '235'], + \ 'buftabline_current_fg': ['#121212', '233'], + \ 'buftabline_current_bg': ['#00afaf', '37'], + \ 'buftabline_active_fg': ['#00afaf', '37'], + \ 'buftabline_active_bg': ['#585858', '240'], + \ 'buftabline_inactive_fg': ['#bcbcbc', '250'], + \ 'buftabline_inactive_bg': ['#585858', '240'] + \ } + \ } +endfun + +" ============================ THEME REGISTER ================================= + +" Acquire Theme Data: {{{ + +" Brief: +" Function to get theme information and store in variables for other +" functions to use +" +" Require: +" s:themes collection of all theme palettes +" +" Require Optionally: +" {g:PaperColor_Theme_[s:theme_name]} user custom theme palette +" g:PaperColor_Theme_Options user options +" +" Expose: +" s:theme_name the name of the selected theme +" s:selected_theme the selected theme object (contains palette, etc.) +" s:selected_variant 'light' or 'dark' +" s:palette the palette of selected theme +" s:options user options +fun! s:acquire_theme_data() + + " Get theme name: {{{ + let s:theme_name = 'default' + + if exists("g:PaperColor_Theme") " Users expressed theme preference + let lowercase_theme_name = tolower(g:PaperColor_Theme) + + if lowercase_theme_name !=? 'default' + let theme_identifier = 'PaperColor_' . lowercase_theme_name + let autoload_function = theme_identifier . '#register' + + call {autoload_function}() + + let theme_variable = 'g:' . theme_identifier + + if exists(theme_variable) + let s:theme_name = lowercase_theme_name + let s:themes[s:theme_name] = {theme_variable} + endif + + endif + + endif + " }}} + + if s:theme_name ==? 'default' + " Either no other theme is specified or they failed to load + " Defer loading default theme until now + call s:register_default_theme() + endif + + let s:selected_theme = s:themes[s:theme_name] + + " Get Theme Variant: either dark or light {{{ + let s:selected_variant = 'dark' + + let s:is_dark=(&background == 'dark') + + if s:is_dark + if has_key(s:selected_theme, 'dark') + let s:selected_variant = 'dark' + else " in case the theme only provides the other variant + let s:selected_variant = 'light' + endif + + else " is light background + if has_key(s:selected_theme, 'light') + let s:selected_variant = 'light' + else " in case the theme only provides the other variant + let s:selected_variant = 'dark' + endif + endif + + let s:palette = s:selected_theme[s:selected_variant].palette + + " Systematic User-Config Options: {{{ + " Example config in .vimrc + " let g:PaperColor_Theme_Options = { + " \ 'theme': { + " \ 'default': { + " \ 'allow_bold': 1, + " \ 'allow_italic': 0, + " \ 'transparent_background': 1 + " \ } + " \ }, + " \ 'language': { + " \ 'python': { + " \ 'highlight_builtins' : 1 + " \ }, + " \ 'c': { + " \ 'highlight_builtins' : 1 + " \ }, + " \ 'cpp': { + " \ 'highlight_standard_library': 1 + " \ } + " \ } + " \ } + " + let s:options = {} + + + if exists("g:PaperColor_Theme_Options") + let s:options = g:PaperColor_Theme_Options + endif + " }}} + + " }}} +endfun + + +" }}} + +" Identify Color Mode: {{{ + +fun! s:identify_color_mode() + let s:MODE_16_COLOR = 0 + let s:MODE_256_COLOR = 1 + let s:MODE_GUI_COLOR = 2 + + if has("gui_running") || has('termguicolors') && &termguicolors || has('nvim') && $NVIM_TUI_ENABLE_TRUE_COLOR + let s:mode = s:MODE_GUI_COLOR + elseif (&t_Co >= 256) + let s:mode = s:MODE_256_COLOR + else + let s:mode = s:MODE_16_COLOR + endif +endfun + +" }}} + +" ============================ OPTION HANDLER ================================= + +" Generate Them Option Variables: {{{ + + +fun! s:generate_theme_option_variables() + " 0. All possible theme option names must be registered here + let l:available_theme_options = [ + \ 'allow_bold', + \ 'allow_italic', + \ 'transparent_background', + \ ] + + " 1. Generate variables and set to default value + for l:option in l:available_theme_options + let s:{'themeOpt_' . l:option} = 0 + endfor + + let s:themeOpt_override = {} " special case, this has to be a dictionary + + " 2. Reassign value to the above variables based on theme settings + + " 2.1 In case the theme has top-level options + if has_key(s:selected_theme, 'options') + let l:theme_options = s:selected_theme['options'] + for l:opt_name in keys(l:theme_options) + let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] + " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} + endfor + endif + + " 2.2 In case the theme has specific variant options + if has_key(s:selected_theme[s:selected_variant], 'options') + let l:theme_options = s:selected_theme[s:selected_variant]['options'] + for l:opt_name in keys(l:theme_options) + let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] + " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} + endfor + endif + + + " 3. Reassign value to the above variables which the user customizes + " Part of user-config options + let s:theme_options = {} + if has_key(s:options, 'theme') + let s:theme_options = s:options['theme'] + endif + + " 3.1 In case user sets for a theme without specifying which variant + if has_key(s:theme_options, s:theme_name) + let l:theme_options = s:theme_options[s:theme_name] + for l:opt_name in keys(l:theme_options) + let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] + " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} + endfor + endif + + + " 3.2 In case user sets for a specific variant of a theme + + " Create the string that the user might have set for this theme variant + " for example, 'default.dark' + let l:specific_theme_variant = s:theme_name . '.' . s:selected_variant + + if has_key(s:theme_options, l:specific_theme_variant) + let l:theme_options = s:theme_options[l:specific_theme_variant] + for l:opt_name in keys(l:theme_options) + let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] + " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} + endfor + endif + +endfun +" }}} + +" Check If Theme Has Hint: {{{ +" +" Brief: +" Function to Check if the selected theme and variant has a hint +" +" Details: +" A hint is a known key that has value 1 +" It is not part of theme design but is used for technical purposes +" +" Example: +" If a theme has hint 'NO_CONVERSION', then we can assume that every +" color value is a complete pair, so we don't have to check. + +fun! s:theme_has_hint(hint) + return has_key(s:selected_theme[s:selected_variant], a:hint) && + \ s:selected_theme[s:selected_variant][a:hint] == 1 +endfun +" }}} + +" Set Overriding Colors: {{{ + +fun! s:set_overriding_colors() + + if s:theme_has_hint('NO_CONVERSION') + " s:convert_colors will not do anything, so we take care of conversion + " for the overriding colors that need to be converted + + if s:mode == s:MODE_GUI_COLOR + " if GUI color is not provided, convert from 256 color that must be available + if !empty(s:themeOpt_override) + call s:load_256_to_GUI_converter() + endif + + for l:color in keys(s:themeOpt_override) + let l:value = s:themeOpt_override[l:color] + if l:value[0] == '' + let l:value[0] = s:to_HEX[l:value[1]] + endif + let s:palette[l:color] = l:value + endfor + + elseif s:mode == s:MODE_256_COLOR + " if 256 color is not provided, convert from GUI color that must be available + if !empty(s:themeOpt_override) + call s:load_GUI_to_256_converter() + endif + + for l:color in keys(s:themeOpt_override) + let l:value = s:themeOpt_override[l:color] + if l:value[1] == '' + let l:value[1] = s:to_256(l:value[0]) + endif + let s:palette[l:color] = l:value + endfor + endif + + else " simply set the colors and let s:convert_colors() take care of conversion + + for l:color in keys(s:themeOpt_override) + let s:palette[l:color] = s:themeOpt_override[l:color] + endfor + endif + +endfun +" }}} + +" Generate Language Option Variables: {{{ + +" Brief: +" Function to generate language option variables so that there is no need to +" look up from the dictionary every time the option value is checked in the +" function s:apply_syntax_highlightings() +" +" Require: +" s:options user options +" +" Require Optionally: +" g:PaperColor_Theme_Options user option config in .vimrc +" +" Expose: +" s:langOpt_[LANGUAGE]__[OPTION] variables for language options +" +" Example: +" g:PaperColor_Theme_Options has something like this: +" 'language': { +" \ 'python': { +" \ 'highlight_builtins': 1 +" \ } +" } +" The following variable will be generated: +" s:langOpt_python__highlight_builtins = 1 + +fun! s:generate_language_option_variables() + " 0. All possible theme option names must be registered here + let l:available_language_options = [ + \ 'c__highlight_builtins', + \ 'cpp__highlight_standard_library', + \ 'python__highlight_builtins' + \ ] + + " 1. Generate variables and set to default value + for l:option in l:available_language_options + let s:{'langOpt_' . l:option} = 0 + endfor + + " Part of user-config options + if has_key(s:options, 'language') + let l:language_options = s:options['language'] + " echo l:language_options + for l:lang in keys(l:language_options) + let l:options = l:language_options[l:lang] + " echo l:lang + " echo l:options + for l:option in keys(l:options) + let s:{'langOpt_' . l:lang . '__' . l:option} = l:options[l:option] + " echo 's:langOpt_' . l:lang . '__' . l:option . ' = ' . l:options[l:option] + endfor + endfor + + endif + +endfun +" }}} + +" =========================== COLOR CONVERTER ================================= + +fun! s:load_GUI_to_256_converter() + " GUI-color To 256-color: {{{ + " Returns an approximate grey index for the given grey level + fun! s: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! s: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! s: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! s: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! s: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! s: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! s:colour(r, g, b) + " Get the closest grey + let l:gx = s:grey_number(a:r) + let l:gy = s:grey_number(a:g) + let l:gz = s:grey_number(a:b) + + " Get the closest colour + let l:x = s:rgb_number(a:r) + let l:y = s:rgb_number(a:g) + let l:z = s:rgb_number(a:b) + + if l:gx == l:gy && l:gy == l:gz + " There are two possibilities + let l:dgr = s:grey_level(l:gx) - a:r + let l:dgg = s:grey_level(l:gy) - a:g + let l:dgb = s:grey_level(l:gz) - a:b + let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) + let l:dr = s:rgb_level(l:gx) - a:r + let l:dg = s:rgb_level(l:gy) - a:g + let l:db = s: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 s:grey_colour(l:gx) + else + " Use the colour + return s:rgb_colour(l:x, l:y, l:z) + endif + else + " Only one possibility + return s:rgb_colour(l:x, l:y, l:z) + endif + endfun + + " Returns the palette index to approximate the '#rrggbb' hex string + fun! s:to_256(rgb) + let l:r = ("0x" . strpart(a:rgb, 1, 2)) + 0 + let l:g = ("0x" . strpart(a:rgb, 3, 2)) + 0 + let l:b = ("0x" . strpart(a:rgb, 5, 2)) + 0 + + return s:colour(l:r, l:g, l:b) + endfun + + + + " }}} +endfun + +fun! s:load_256_to_GUI_converter() +" 256-color To GUI-color: {{{ + +""" Xterm 256 color dictionary +" See: http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html +" +let s:to_HEX = { + \ '00': '#000000', '01': '#800000', '02': '#008000', '03': '#808000', '04': '#000080', + \ '05': '#800080', '06': '#008080', '07': '#c0c0c0', '08': '#808080', '09': '#ff0000', + \ '10': '#00ff00', '11': '#ffff00', '12': '#0000ff', '13': '#ff00ff', '14': '#00ffff', + \ '15': '#ffffff', '16': '#000000', '17': '#00005f', '18': '#000087', '19': '#0000af', + \ '20': '#0000d7', '21': '#0000ff', '22': '#005f00', '23': '#005f5f', '24': '#005f87', + \ '25': '#005faf', '26': '#005fd7', '27': '#005fff', '28': '#008700', '29': '#00875f', + \ '30': '#008787', '31': '#0087af', '32': '#0087d7', '33': '#0087ff', '34': '#00af00', + \ '35': '#00af5f', '36': '#00af87', '37': '#00afaf', '38': '#00afd7', '39': '#00afff', + \ '40': '#00d700', '41': '#00d75f', '42': '#00d787', '43': '#00d7af', '44': '#00d7d7', + \ '45': '#00d7ff', '46': '#00ff00', '47': '#00ff5f', '48': '#00ff87', '49': '#00ffaf', + \ '50': '#00ffd7', '51': '#00ffff', '52': '#5f0000', '53': '#5f005f', '54': '#5f0087', + \ '55': '#5f00af', '56': '#5f00d7', '57': '#5f00ff', '58': '#5f5f00', '59': '#5f5f5f', + \ '60': '#5f5f87', '61': '#5f5faf', '62': '#5f5fd7', '63': '#5f5fff', '64': '#5f8700', + \ '65': '#5f875f', '66': '#5f8787', '67': '#5f87af', '68': '#5f87d7', '69': '#5f87ff', + \ '70': '#5faf00', '71': '#5faf5f', '72': '#5faf87', '73': '#5fafaf', '74': '#5fafd7', + \ '75': '#5fafff', '76': '#5fd700', '77': '#5fd75f', '78': '#5fd787', '79': '#5fd7af', + \ '80': '#5fd7d7', '81': '#5fd7ff', '82': '#5fff00', '83': '#5fff5f', '84': '#5fff87', + \ '85': '#5fffaf', '86': '#5fffd7', '87': '#5fffff', '88': '#870000', '89': '#87005f', + \ '90': '#870087', '91': '#8700af', '92': '#8700d7', '93': '#8700ff', '94': '#875f00', + \ '95': '#875f5f', '96': '#875f87', '97': '#875faf', '98': '#875fd7', '99': '#875fff', + \ '100': '#878700', '101': '#87875f', '102': '#878787', '103': '#8787af', '104': '#8787d7', + \ '105': '#8787ff', '106': '#87af00', '107': '#87af5f', '108': '#87af87', '109': '#87afaf', + \ '110': '#87afd7', '111': '#87afff', '112': '#87d700', '113': '#87d75f', '114': '#87d787', + \ '115': '#87d7af', '116': '#87d7d7', '117': '#87d7ff', '118': '#87ff00', '119': '#87ff5f', + \ '120': '#87ff87', '121': '#87ffaf', '122': '#87ffd7', '123': '#87ffff', '124': '#af0000', + \ '125': '#af005f', '126': '#af0087', '127': '#af00af', '128': '#af00d7', '129': '#af00ff', + \ '130': '#af5f00', '131': '#af5f5f', '132': '#af5f87', '133': '#af5faf', '134': '#af5fd7', + \ '135': '#af5fff', '136': '#af8700', '137': '#af875f', '138': '#af8787', '139': '#af87af', + \ '140': '#af87d7', '141': '#af87ff', '142': '#afaf00', '143': '#afaf5f', '144': '#afaf87', + \ '145': '#afafaf', '146': '#afafd7', '147': '#afafff', '148': '#afd700', '149': '#afd75f', + \ '150': '#afd787', '151': '#afd7af', '152': '#afd7d7', '153': '#afd7ff', '154': '#afff00', + \ '155': '#afff5f', '156': '#afff87', '157': '#afffaf', '158': '#afffd7', '159': '#afffff', + \ '160': '#d70000', '161': '#d7005f', '162': '#d70087', '163': '#d700af', '164': '#d700d7', + \ '165': '#d700ff', '166': '#d75f00', '167': '#d75f5f', '168': '#d75f87', '169': '#d75faf', + \ '170': '#d75fd7', '171': '#d75fff', '172': '#d78700', '173': '#d7875f', '174': '#d78787', + \ '175': '#d787af', '176': '#d787d7', '177': '#d787ff', '178': '#d7af00', '179': '#d7af5f', + \ '180': '#d7af87', '181': '#d7afaf', '182': '#d7afd7', '183': '#d7afff', '184': '#d7d700', + \ '185': '#d7d75f', '186': '#d7d787', '187': '#d7d7af', '188': '#d7d7d7', '189': '#d7d7ff', + \ '190': '#d7ff00', '191': '#d7ff5f', '192': '#d7ff87', '193': '#d7ffaf', '194': '#d7ffd7', + \ '195': '#d7ffff', '196': '#ff0000', '197': '#ff005f', '198': '#ff0087', '199': '#ff00af', + \ '200': '#ff00d7', '201': '#ff00ff', '202': '#ff5f00', '203': '#ff5f5f', '204': '#ff5f87', + \ '205': '#ff5faf', '206': '#ff5fd7', '207': '#ff5fff', '208': '#ff8700', '209': '#ff875f', + \ '210': '#ff8787', '211': '#ff87af', '212': '#ff87d7', '213': '#ff87ff', '214': '#ffaf00', + \ '215': '#ffaf5f', '216': '#ffaf87', '217': '#ffafaf', '218': '#ffafd7', '219': '#ffafff', + \ '220': '#ffd700', '221': '#ffd75f', '222': '#ffd787', '223': '#ffd7af', '224': '#ffd7d7', + \ '225': '#ffd7ff', '226': '#ffff00', '227': '#ffff5f', '228': '#ffff87', '229': '#ffffaf', + \ '230': '#ffffd7', '231': '#ffffff', '232': '#080808', '233': '#121212', '234': '#1c1c1c', + \ '235': '#262626', '236': '#303030', '237': '#3a3a3a', '238': '#444444', '239': '#4e4e4e', + \ '240': '#585858', '241': '#626262', '242': '#6c6c6c', '243': '#767676', '244': '#808080', + \ '245': '#8a8a8a', '246': '#949494', '247': '#9e9e9e', '248': '#a8a8a8', '249': '#b2b2b2', + \ '250': '#bcbcbc', '251': '#c6c6c6', '252': '#d0d0d0', '253': '#dadada', '254': '#e4e4e4', + \ '255': '#eeeeee' } + +" }}} +endfun + +" ========================== ENVIRONMENT ADAPTER ============================== + +" Set Format Attributes: {{{ + +fun! s:set_format_attributes() + " These are the default + if s:mode == s:MODE_GUI_COLOR + let s:ft_bold = " cterm=bold gui=bold " + let s:ft_none = " cterm=none gui=none " + let s:ft_reverse = " cterm=reverse gui=reverse " + let s:ft_italic = " cterm=italic gui=italic " + let s:ft_italic_bold = " cterm=italic,bold gui=italic,bold " + elseif s:mode == s:MODE_256_COLOR + let s:ft_bold = " cterm=bold " + let s:ft_none = " cterm=none " + let s:ft_reverse = " cterm=reverse " + let s:ft_italic = " cterm=italic " + let s:ft_italic_bold = " cterm=italic,bold " + else + let s:ft_bold = "" + let s:ft_none = " cterm=none " + let s:ft_reverse = " cterm=reverse " + let s:ft_italic = "" + let s:ft_italic_bold = "" + endif + + " Unless instructed otherwise either by theme setting or user overriding + + if s:themeOpt_allow_bold == 0 + let s:ft_bold = "" + endif + if s:themeOpt_allow_italic == 0 + let s:ft_italic = "" + let s:ft_italic_bold = s:ft_bold + endif + +endfun + +" }}} + +" Convert Colors If Needed: {{{ +fun! s:convert_colors() + if s:theme_has_hint('NO_CONVERSION') + return + endif + + if s:mode == s:MODE_GUI_COLOR + " if GUI color is not provided, convert from 256 color that must be available + call s:load_256_to_GUI_converter() + + for l:color in keys(s:palette) + let l:value = s:palette[l:color] + if l:value[0] == '' + let l:value[0] = s:to_HEX[l:value[1]] + endif + let s:palette[l:color] = l:value + endfor + + elseif s:mode == s:MODE_256_COLOR + " if 256 color is not provided, convert from GUI color that must be available + call s:load_GUI_to_256_converter() + + for l:color in keys(s:palette) + let l:value = s:palette[l:color] + if l:value[1] == '' + let l:value[1] = s:to_256(l:value[0]) + endif + let s:palette[l:color] = l:value + endfor + endif + " otherwise use the terminal colors and none of the theme colors are used +endfun + +" }}} + +" ============================ COLOR POPULARIZER =============================== + +" Set Color Variables: {{{ +fun! s:set_color_variables() + + " Helper: {{{ + " ------- + " Function to dynamically generate variables that store the color strings + " for setting highlighting. Each color name will have 2 variables with prefix + " s:fg_ and s:bg_. For example: + " if a:color_name is 'Normal' and a:color_value is ['#000000', '0', 'Black'], + " the following 2 variables will be created: + " s:fg_Normal that stores the string ' guifg=#000000 ' + " s:bg_Normal that stores the string ' guibg=#000000 ' + " Depending on the color mode, ctermfg and ctermbg will be either 0 or Black + " + " Rationale: + " The whole purpose is for speed. We generate these ahead of time so that we + " don't have to do look up or do any if-branch when we set the highlightings. + " + " Furthermore, multiple function definitions for each mode actually reduces + " the need for multiple if-branches inside a single function. This is not + " pretty, but Vim Script is slow, so reducing if-branches in function that is + " often called helps speeding things up quite a bit. Think of this like macro. + " + " If you are familiar with the old code base (v0.9 and ealier), this way of + " generate variables dramatically reduces the loading speed. + " None of previous optimization tricks gets anywhere near this. + if s:mode == s:MODE_GUI_COLOR + fun! s:create_color_variables(color_name, rich_color, term_color) + let {'s:fg_' . a:color_name} = ' guifg=' . a:rich_color[0] . ' ' + let {'s:bg_' . a:color_name} = ' guibg=' . a:rich_color[0] . ' ' + endfun + elseif s:mode == s:MODE_256_COLOR + fun! s:create_color_variables(color_name, rich_color, term_color) + let {'s:fg_' . a:color_name} = ' ctermfg=' . a:rich_color[1] . ' ' + let {'s:bg_' . a:color_name} = ' ctermbg=' . a:rich_color[1] . ' ' + endfun + else + fun! s:create_color_variables(color_name, rich_color, term_color) + let {'s:fg_' . a:color_name} = ' ctermfg=' . a:term_color . ' ' + let {'s:bg_' . a:color_name} = ' ctermbg=' . a:term_color . ' ' + endfun + endif + " }}} + + " Color value format: Array [, <256-Base>, <16-Base>] + " 16-Base is terminal's native color palette that can be alternated through + " the terminal settings. The 16-color names are according to `:h cterm-colors` + + " BASIC COLORS: + " color00-15 are required by all themes. + " These are also how the terminal color palette for the target theme should be. + " See README for theme design guideline + " + " An example format of the below variable's value: ['#262626', '234', 'Black'] + " Where the 1st value is HEX color for GUI Vim, 2nd value is for 256-color terminal, + " and the color name on the right is for 16-color terminal (the actual terminal colors + " can be different from what the color names suggest). See :h cterm-colors + " + " Depending on the provided color palette and current Vim, the 1st and 2nd + " parameter might not exist, for example, on 16-color terminal, the variables below + " only store the color names to use the terminal color palette which is the only + " thing available therefore no need for GUI-color or 256-color. + + let color00 = get(s:palette, 'color00') + let color01 = get(s:palette, 'color01') + let color02 = get(s:palette, 'color02') + let color03 = get(s:palette, 'color03') + let color04 = get(s:palette, 'color04') + let color05 = get(s:palette, 'color05') + let color06 = get(s:palette, 'color06') + let color07 = get(s:palette, 'color07') + let color08 = get(s:palette, 'color08') + let color09 = get(s:palette, 'color09') + let color10 = get(s:palette, 'color10') + let color11 = get(s:palette, 'color11') + let color12 = get(s:palette, 'color12') + let color13 = get(s:palette, 'color13') + let color14 = get(s:palette, 'color14') + let color15 = get(s:palette, 'color15') + + call s:create_color_variables('background', color00 , 'Black') + call s:create_color_variables('negative', color01 , 'DarkRed') + call s:create_color_variables('positive', color02 , 'DarkGreen') + call s:create_color_variables('olive', color03 , 'DarkYellow') " string + call s:create_color_variables('neutral', color04 , 'DarkBlue') + call s:create_color_variables('comment', color05 , 'DarkMagenta') + call s:create_color_variables('navy', color06 , 'DarkCyan') " storageclass + call s:create_color_variables('foreground', color07 , 'LightGray') + + call s:create_color_variables('nontext', color08 , 'DarkGray') + call s:create_color_variables('red', color09 , 'LightRed') " import / try/catch + call s:create_color_variables('pink', color10 , 'LightGreen') " statement, type + call s:create_color_variables('purple', color11 , 'LightYellow') " if / conditional + call s:create_color_variables('accent', color12 , 'LightBlue') + call s:create_color_variables('orange', color13 , 'LightMagenta') " number + call s:create_color_variables('blue', color14 , 'LightCyan') " other keyword + call s:create_color_variables('highlight', color15 , 'White') + + " Note: special case for FoldColumn group. I want to get rid of this case. + call s:create_color_variables('transparent', [color00[0], 'none'], 'none') + + " EXTENDED COLORS: + " From here on, all colors are optional and must have default values (3rd parameter of the + " `get` command) that point to the above basic colors in case the target theme doesn't + " provide the extended colors. The default values should be reasonably sensible. + " The terminal color must be provided also. + + call s:create_color_variables('aqua', get(s:palette, 'color16', color14) , 'LightCyan') + call s:create_color_variables('green', get(s:palette, 'color17', color13) , 'LightMagenta') + call s:create_color_variables('wine', get(s:palette, 'color18', color11) , 'LightYellow') + + " LineNumber: when set number + call s:create_color_variables('linenumber_fg', get(s:palette, 'linenumber_fg', color08) , 'DarkGray') + call s:create_color_variables('linenumber_bg', get(s:palette, 'linenumber_bg', color00) , 'Black') + + " Vertical Split: when there are more than 1 window side by side, ex: + call s:create_color_variables('vertsplit_fg', get(s:palette, 'vertsplit_fg', color15) , 'White') + call s:create_color_variables('vertsplit_bg', get(s:palette, 'vertsplit_bg', color00) , 'Black') + + " Statusline: when set status=2 + call s:create_color_variables('statusline_active_fg', get(s:palette, 'statusline_active_fg', color00) , 'Black') + call s:create_color_variables('statusline_active_bg', get(s:palette, 'statusline_active_bg', color15) , 'White') + call s:create_color_variables('statusline_inactive_fg', get(s:palette, 'statusline_inactive_fg', color07) , 'LightGray') + call s:create_color_variables('statusline_inactive_bg', get(s:palette, 'statusline_inactive_bg', color08) , 'DarkGray') + + + " Cursor: in normal mode + call s:create_color_variables('cursor_fg', get(s:palette, 'cursor_fg', color00) , 'Black') + call s:create_color_variables('cursor_bg', get(s:palette, 'cursor_bg', color07) , 'LightGray') + + call s:create_color_variables('cursorline', get(s:palette, 'cursorline', color00) , 'Black') + + " CursorColumn: when set cursorcolumn + call s:create_color_variables('cursorcolumn', get(s:palette, 'cursorcolumn', color00) , 'Black') + + " CursorLine Number: when set cursorline number + call s:create_color_variables('cursorlinenr_fg', get(s:palette, 'cursorlinenr_fg', color13) , 'LightMagenta') + call s:create_color_variables('cursorlinenr_bg', get(s:palette, 'cursorlinenr_bg', color00) , 'Black') + + " Popup Menu: when for autocomplete + call s:create_color_variables('popupmenu_fg', get(s:palette, 'popupmenu_fg', color07) , 'LightGray') + call s:create_color_variables('popupmenu_bg', get(s:palette, 'popupmenu_bg', color08) , 'DarkGray') " TODO: double check this, might resolve an issue + + " Search: ex: when * on a word + call s:create_color_variables('search_fg', get(s:palette, 'search_fg', color00) , 'Black') + call s:create_color_variables('search_bg', get(s:palette, 'search_bg', color15) , 'Yellow') + + " Todo: ex: TODO + call s:create_color_variables('todo_fg', get(s:palette, 'todo_fg', color05) , 'LightYellow') + call s:create_color_variables('todo_bg', get(s:palette, 'todo_bg', color00) , 'Black') + + " Error: ex: turn spell on and have invalid words + call s:create_color_variables('error_fg', get(s:palette, 'error_fg', color01) , 'DarkRed') + call s:create_color_variables('error_bg', get(s:palette, 'error_bg', color00) , 'Black') + + " Match Parenthesis: selecting an opening/closing pair and the other one will be highlighted + call s:create_color_variables('matchparen_fg', get(s:palette, 'matchparen_fg', color00) , 'LightMagenta') + call s:create_color_variables('matchparen_bg', get(s:palette, 'matchparen_bg', color05) , 'Black') + + " Visual: + call s:create_color_variables('visual_fg', get(s:palette, 'visual_fg', color08) , 'Black') + call s:create_color_variables('visual_bg', get(s:palette, 'visual_bg', color07) , 'White') + + " Folded: + call s:create_color_variables('folded_fg', get(s:palette, 'folded_fg', color00) , 'Black') + call s:create_color_variables('folded_bg', get(s:palette, 'folded_bg', color05) , 'DarkYellow') + + " WildMenu: Autocomplete command, ex: :color + call s:create_color_variables('wildmenu_fg', get(s:palette, 'wildmenu_fg', color00) , 'Black') + call s:create_color_variables('wildmenu_bg', get(s:palette, 'wildmenu_bg', color06) , 'LightGray') + + " Spelling: when spell on and there are spelling problems like this for example: papercolor. a vim color scheme + call s:create_color_variables('spellbad', get(s:palette, 'spellbad', color04) , 'DarkRed') + call s:create_color_variables('spellcap', get(s:palette, 'spellcap', color05) , 'DarkMagenta') + call s:create_color_variables('spellrare', get(s:palette, 'spellrare', color06) , 'DarkYellow') + call s:create_color_variables('spelllocal', get(s:palette, 'spelllocal', color01) , 'DarkBlue') + + " Diff: + call s:create_color_variables('diffadd_fg', get(s:palette, 'diffadd_fg', color00) , 'Black') + call s:create_color_variables('diffadd_bg', get(s:palette, 'diffadd_bg', color02) , 'DarkGreen') + + call s:create_color_variables('diffdelete_fg', get(s:palette, 'diffdelete_fg', color00) , 'Black') + call s:create_color_variables('diffdelete_bg', get(s:palette, 'diffdelete_bg', color04) , 'DarkRed') + + call s:create_color_variables('difftext_fg', get(s:palette, 'difftext_fg', color00) , 'Black') + call s:create_color_variables('difftext_bg', get(s:palette, 'difftext_bg', color06) , 'DarkYellow') + + call s:create_color_variables('diffchange_fg', get(s:palette, 'diffchange_fg', color00) , 'Black') + call s:create_color_variables('diffchange_bg', get(s:palette, 'diffchange_bg', color14) , 'LightYellow') + + " Tabline: when having tabs, ex: :tabnew + call s:create_color_variables('tabline_bg', get(s:palette, 'tabline_bg', color00) , 'Black') + call s:create_color_variables('tabline_active_fg', get(s:palette, 'tabline_active_fg', color07) , 'LightGray') + call s:create_color_variables('tabline_active_bg', get(s:palette, 'tabline_active_bg', color00) , 'Black') + call s:create_color_variables('tabline_inactive_fg', get(s:palette, 'tabline_inactive_fg', color07) , 'Black') + call s:create_color_variables('tabline_inactive_bg', get(s:palette, 'tabline_inactive_bg', color08) , 'DarkMagenta') + + " Plugin: BufTabLine https://github.com/ap/vim-buftabline + call s:create_color_variables('buftabline_bg', get(s:palette, 'buftabline_bg', color00) , 'Black') + call s:create_color_variables('buftabline_current_fg', get(s:palette, 'buftabline_current_fg', color07) , 'LightGray') + call s:create_color_variables('buftabline_current_bg', get(s:palette, 'buftabline_current_bg', color05) , 'DarkMagenta') + call s:create_color_variables('buftabline_active_fg', get(s:palette, 'buftabline_active_fg', color07) , 'LightGray') + call s:create_color_variables('buftabline_active_bg', get(s:palette, 'buftabline_active_bg', color12) , 'LightBlue') + call s:create_color_variables('buftabline_inactive_fg', get(s:palette, 'buftabline_inactive_fg', color07) , 'LightGray') + call s:create_color_variables('buftabline_inactive_bg', get(s:palette, 'buftabline_inactive_bg', color00) , 'Black') + + " Neovim terminal colors https://neovim.io/doc/user/nvim_terminal_emulator.html#nvim-terminal-emulator-configuration + " TODO: Fix this + let g:terminal_color_0 = color00[0] + let g:terminal_color_1 = color01[0] + let g:terminal_color_2 = color02[0] + let g:terminal_color_3 = color03[0] + let g:terminal_color_4 = color04[0] + let g:terminal_color_5 = color05[0] + let g:terminal_color_6 = color06[0] + let g:terminal_color_7 = color07[0] + let g:terminal_color_8 = color08[0] + let g:terminal_color_9 = color09[0] + let g:terminal_color_10 = color10[0] + let g:terminal_color_11 = color11[0] + let g:terminal_color_12 = color12[0] + let g:terminal_color_13 = color13[0] + let g:terminal_color_14 = color14[0] + let g:terminal_color_15 = color15[0] + + " Vim 8's :terminal buffer ANSI colors + if has('terminal') + let g:terminal_ansi_colors = [color00[0], color01[0], color02[0], color03[0], + \ color04[0], color05[0], color06[0], color07[0], color08[0], color09[0], + \ color10[0], color11[0], color12[0], color13[0], color14[0], color15[0]] + endif + +endfun +" }}} + +" Apply Syntax Highlightings: {{{ + +fun! s:apply_syntax_highlightings() + + if s:themeOpt_transparent_background + exec 'hi Normal' . s:fg_foreground + " Switching between dark & light variant through `set background` + " NOTE: Handle background switching right after `Normal` group because of + " God-know-why reason. Not doing this way had caused issue before + if s:is_dark " DARK VARIANT + set background=dark + else " LIGHT VARIANT + set background=light + endif + + exec 'hi NonText' . s:fg_nontext + exec 'hi LineNr' . s:fg_linenumber_fg + exec 'hi Conceal' . s:fg_linenumber_fg + exec 'hi VertSplit' . s:fg_vertsplit_fg . s:ft_none + exec 'hi FoldColumn' . s:fg_folded_fg . s:bg_transparent . s:ft_none + else + exec 'hi Normal' . s:fg_foreground . s:bg_background + " Switching between dark & light variant through `set background` + if s:is_dark " DARK VARIANT + set background=dark + exec 'hi EndOfBuffer' . s:fg_cursor_fg . s:ft_none + else " LIGHT VARIANT + set background=light + endif + + exec 'hi NonText' . s:fg_nontext . s:bg_background + exec 'hi LineNr' . s:fg_linenumber_fg . s:bg_linenumber_bg + exec 'hi Conceal' . s:fg_linenumber_fg . s:bg_linenumber_bg + exec 'hi VertSplit' . s:fg_vertsplit_bg . s:bg_vertsplit_fg + exec 'hi FoldColumn' . s:fg_folded_fg . s:bg_background . s:ft_none + endif + + exec 'hi Cursor' . s:fg_cursor_fg . s:bg_cursor_bg + exec 'hi SpecialKey' . s:fg_nontext + exec 'hi Search' . s:fg_search_fg . s:bg_search_bg + exec 'hi StatusLine' . s:fg_statusline_active_bg . s:bg_statusline_active_fg + exec 'hi StatusLineNC' . s:fg_statusline_inactive_bg . s:bg_statusline_inactive_fg + exec 'hi StatusLineTerm' . s:fg_statusline_active_bg . s:bg_statusline_active_fg + exec 'hi StatusLineTermNC' . s:fg_statusline_inactive_bg . s:bg_statusline_inactive_fg + exec 'hi Visual' . s:fg_visual_fg . s:bg_visual_bg + exec 'hi Directory' . s:fg_blue + exec 'hi ModeMsg' . s:fg_olive + exec 'hi MoreMsg' . s:fg_olive + exec 'hi Question' . s:fg_olive + exec 'hi WarningMsg' . s:fg_pink + exec 'hi MatchParen' . s:fg_matchparen_fg . s:bg_matchparen_bg + exec 'hi Folded' . s:fg_folded_fg . s:bg_folded_bg + exec 'hi WildMenu' . s:fg_wildmenu_fg . s:bg_wildmenu_bg . s:ft_bold + + if version >= 700 + exec 'hi CursorLine' . s:bg_cursorline . s:ft_none + if s:mode == s:MODE_16_COLOR + exec 'hi CursorLineNr' . s:fg_cursorlinenr_fg . s:bg_cursorlinenr_bg + else + exec 'hi CursorLineNr' . s:fg_cursorlinenr_fg . s:bg_cursorlinenr_bg . s:ft_none + endif + exec 'hi CursorColumn' . s:bg_cursorcolumn . s:ft_none + exec 'hi PMenu' . s:fg_popupmenu_fg . s:bg_popupmenu_bg . s:ft_none + exec 'hi PMenuSel' . s:fg_popupmenu_fg . s:bg_popupmenu_bg . s:ft_reverse + if s:themeOpt_transparent_background + exec 'hi SignColumn' . s:fg_green . s:ft_none + else + exec 'hi SignColumn' . s:fg_green . s:bg_background . s:ft_none + endif + end + if version >= 703 + exec 'hi ColorColumn' . s:bg_cursorcolumn . s:ft_none + end + + exec 'hi TabLine' . s:fg_tabline_inactive_fg . s:bg_tabline_inactive_bg . s:ft_none + exec 'hi TabLineFill' . s:fg_tabline_bg . s:bg_tabline_bg . s:ft_none + exec 'hi TabLineSel' . s:fg_tabline_active_fg . s:bg_tabline_active_bg . s:ft_none + + exec 'hi BufTabLineCurrent' . s:fg_buftabline_current_fg . s:bg_buftabline_current_bg . s:ft_none + exec 'hi BufTabLineActive' . s:fg_buftabline_active_fg . s:bg_buftabline_active_bg . s:ft_none + exec 'hi BufTabLineHidden' . s:fg_buftabline_inactive_fg . s:bg_buftabline_inactive_bg . s:ft_none + exec 'hi BufTabLineFill' . s:bg_buftabline_bg . s:ft_none + + " Standard Group Highlighting: + exec 'hi Comment' . s:fg_comment . s:ft_italic + + exec 'hi Constant' . s:fg_orange + exec 'hi String' . s:fg_olive + exec 'hi Character' . s:fg_olive + exec 'hi Number' . s:fg_orange + exec 'hi Boolean' . s:fg_green . s:ft_bold + exec 'hi Float' . s:fg_orange + + exec 'hi Identifier' . s:fg_navy + exec 'hi Function' . s:fg_foreground + + exec 'hi Statement' . s:fg_pink . s:ft_none + exec 'hi Conditional' . s:fg_purple . s:ft_bold + exec 'hi Repeat' . s:fg_purple . s:ft_bold + exec 'hi Label' . s:fg_blue + exec 'hi Operator' . s:fg_aqua . s:ft_none + exec 'hi Keyword' . s:fg_blue + exec 'hi Exception' . s:fg_red + + exec 'hi PreProc' . s:fg_blue + exec 'hi Include' . s:fg_red + exec 'hi Define' . s:fg_blue + exec 'hi Macro' . s:fg_blue + exec 'hi PreCondit' . s:fg_aqua + + exec 'hi Type' . s:fg_pink . s:ft_bold + exec 'hi StorageClass' . s:fg_navy . s:ft_bold + exec 'hi Structure' . s:fg_blue . s:ft_bold + exec 'hi Typedef' . s:fg_pink . s:ft_bold + + exec 'hi Special' . s:fg_foreground + exec 'hi SpecialChar' . s:fg_foreground + exec 'hi Tag' . s:fg_green + exec 'hi Delimiter' . s:fg_aqua + exec 'hi SpecialComment' . s:fg_comment . s:ft_bold + exec 'hi Debug' . s:fg_orange + + exec 'hi Error' . s:fg_error_fg . s:bg_error_bg + exec 'hi Todo' . s:fg_todo_fg . s:bg_todo_bg . s:ft_bold + + exec 'hi Title' . s:fg_comment + exec 'hi Global' . s:fg_blue + + + " Extension {{{ + " VimL Highlighting + exec 'hi vimCommand' . s:fg_pink + exec 'hi vimVar' . s:fg_navy + exec 'hi vimFuncKey' . s:fg_pink + exec 'hi vimFunction' . s:fg_blue . s:ft_bold + exec 'hi vimNotFunc' . s:fg_pink + exec 'hi vimMap' . s:fg_red + exec 'hi vimAutoEvent' . s:fg_aqua . s:ft_bold + exec 'hi vimMapModKey' . s:fg_aqua + exec 'hi vimFuncName' . s:fg_purple + exec 'hi vimIsCommand' . s:fg_foreground + exec 'hi vimFuncVar' . s:fg_aqua + exec 'hi vimLet' . s:fg_red + exec 'hi vimContinue' . s:fg_aqua + exec 'hi vimMapRhsExtend' . s:fg_foreground + exec 'hi vimCommentTitle' . s:fg_comment . s:ft_italic_bold + exec 'hi vimBracket' . s:fg_aqua + exec 'hi vimParenSep' . s:fg_aqua + exec 'hi vimNotation' . s:fg_aqua + exec 'hi vimOper' . s:fg_foreground + exec 'hi vimOperParen' . s:fg_foreground + exec 'hi vimSynType' . s:fg_purple + exec 'hi vimSynReg' . s:fg_pink . s:ft_none + exec 'hi vimSynRegion' . s:fg_foreground + exec 'hi vimSynMtchGrp' . s:fg_pink + exec 'hi vimSynNextgroup' . s:fg_pink + exec 'hi vimSynKeyRegion' . s:fg_green + exec 'hi vimSynRegOpt' . s:fg_blue + exec 'hi vimSynMtchOpt' . s:fg_blue + exec 'hi vimSynContains' . s:fg_pink + exec 'hi vimGroupName' . s:fg_foreground + exec 'hi vimGroupList' . s:fg_foreground + exec 'hi vimHiGroup' . s:fg_foreground + exec 'hi vimGroup' . s:fg_navy . s:ft_bold + exec 'hi vimOnlyOption' . s:fg_blue + + " Makefile Highlighting + exec 'hi makeIdent' . s:fg_blue + exec 'hi makeSpecTarget' . s:fg_olive + exec 'hi makeTarget' . s:fg_red + exec 'hi makeStatement' . s:fg_aqua . s:ft_bold + exec 'hi makeCommands' . s:fg_foreground + exec 'hi makeSpecial' . s:fg_orange . s:ft_bold + + " CMake Highlighting (Builtin) + exec 'hi cmakeStatement' . s:fg_blue + exec 'hi cmakeArguments' . s:fg_foreground + exec 'hi cmakeVariableValue' . s:fg_pink + + " CMake Highlighting (Plugin: https://github.com/pboettch/vim-cmake-syntax) + exec 'hi cmakeCommand' . s:fg_blue + exec 'hi cmakeCommandConditional' . s:fg_purple . s:ft_bold + exec 'hi cmakeKWset' . s:fg_orange + exec 'hi cmakeKWvariable_watch' . s:fg_orange + exec 'hi cmakeKWif' . s:fg_orange + exec 'hi cmakeArguments' . s:fg_foreground + exec 'hi cmakeKWproject' . s:fg_pink + exec 'hi cmakeGeneratorExpressions' . s:fg_orange + exec 'hi cmakeGeneratorExpression' . s:fg_aqua + exec 'hi cmakeVariable' . s:fg_pink + exec 'hi cmakeProperty' . s:fg_aqua + exec 'hi cmakeKWforeach' . s:fg_aqua + exec 'hi cmakeKWunset' . s:fg_aqua + exec 'hi cmakeKWmacro' . s:fg_aqua + exec 'hi cmakeKWget_property' . s:fg_aqua + exec 'hi cmakeKWset_tests_properties' . s:fg_aqua + exec 'hi cmakeKWmessage' . s:fg_aqua + exec 'hi cmakeKWinstall_targets' . s:fg_orange + exec 'hi cmakeKWsource_group' . s:fg_orange + exec 'hi cmakeKWfind_package' . s:fg_aqua + exec 'hi cmakeKWstring' . s:fg_olive + exec 'hi cmakeKWinstall' . s:fg_aqua + exec 'hi cmakeKWtarget_sources' . s:fg_orange + + " C Highlighting + exec 'hi cType' . s:fg_pink . s:ft_bold + exec 'hi cFormat' . s:fg_olive + exec 'hi cStorageClass' . s:fg_navy . s:ft_bold + + exec 'hi cBoolean' . s:fg_green . s:ft_bold + exec 'hi cCharacter' . s:fg_olive + exec 'hi cConstant' . s:fg_green . s:ft_bold + exec 'hi cConditional' . s:fg_purple . s:ft_bold + exec 'hi cSpecial' . s:fg_olive . s:ft_bold + exec 'hi cDefine' . s:fg_blue + exec 'hi cNumber' . s:fg_orange + exec 'hi cPreCondit' . s:fg_aqua + exec 'hi cRepeat' . s:fg_purple . s:ft_bold + exec 'hi cLabel' . s:fg_aqua + " exec 'hi cAnsiFunction' . s:fg_aqua . s:ft_bold + " exec 'hi cAnsiName' . s:fg_pink + exec 'hi cDelimiter' . s:fg_blue + " exec 'hi cBraces' . s:fg_foreground + " exec 'hi cIdentifier' . s:fg_blue . s:bg_pink + " exec 'hi cSemiColon' . s:bg_blue + exec 'hi cOperator' . s:fg_aqua + " exec 'hi cStatement' . s:fg_pink + " exec 'hi cTodo' . s:fg_comment . s:ft_bold + " exec 'hi cStructure' . s:fg_blue . s:ft_bold + exec 'hi cCustomParen' . s:fg_foreground + " exec 'hi cCustomFunc' . s:fg_foreground + " exec 'hi cUserFunction' . s:fg_blue . s:ft_bold + exec 'hi cOctalZero' . s:fg_purple . s:ft_bold + if s:langOpt_c__highlight_builtins == 1 + exec 'hi cFunction' . s:fg_blue + else + exec 'hi cFunction' . s:fg_foreground + endif + + " CPP highlighting + exec 'hi cppBoolean' . s:fg_green . s:ft_bold + exec 'hi cppSTLnamespace' . s:fg_purple + exec 'hi cppSTLexception' . s:fg_pink + exec 'hi cppSTLfunctional' . s:fg_foreground . s:ft_bold + exec 'hi cppSTLiterator' . s:fg_foreground . s:ft_bold + exec 'hi cppExceptions' . s:fg_red + exec 'hi cppStatement' . s:fg_blue + exec 'hi cppStorageClass' . s:fg_navy . s:ft_bold + exec 'hi cppAccess' . s:fg_orange . s:ft_bold + if s:langOpt_cpp__highlight_standard_library == 1 + exec 'hi cppSTLconstant' . s:fg_green . s:ft_bold + exec 'hi cppSTLtype' . s:fg_pink . s:ft_bold + exec 'hi cppSTLfunction' . s:fg_blue + exec 'hi cppSTLios' . s:fg_olive . s:ft_bold + else + exec 'hi cppSTLconstant' . s:fg_foreground + exec 'hi cppSTLtype' . s:fg_foreground + exec 'hi cppSTLfunction' . s:fg_foreground + exec 'hi cppSTLios' . s:fg_foreground + endif + " exec 'hi cppSTL' . s:fg_blue + + " Rust highlighting + exec 'hi rustKeyword' . s:fg_pink + exec 'hi rustModPath' . s:fg_blue + exec 'hi rustModPathSep' . s:fg_blue + exec 'hi rustLifetime' . s:fg_purple + exec 'hi rustStructure' . s:fg_aqua . s:ft_bold + exec 'hi rustAttribute' . s:fg_aqua . s:ft_bold + exec 'hi rustPanic' . s:fg_olive . s:ft_bold + exec 'hi rustTrait' . s:fg_blue . s:ft_bold + exec 'hi rustEnum' . s:fg_green . s:ft_bold + exec 'hi rustEnumVariant' . s:fg_green + exec 'hi rustSelf' . s:fg_orange + exec 'hi rustSigil' . s:fg_aqua . s:ft_bold + exec 'hi rustOperator' . s:fg_aqua . s:ft_bold + exec 'hi rustMacro' . s:fg_olive . s:ft_bold + exec 'hi rustMacroVariable' . s:fg_olive + exec 'hi rustAssert' . s:fg_olive . s:ft_bold + exec 'hi rustConditional' . s:fg_purple . s:ft_bold + + " Lex highlighting + exec 'hi lexCFunctions' . s:fg_foreground + exec 'hi lexAbbrv' . s:fg_purple + exec 'hi lexAbbrvRegExp' . s:fg_aqua + exec 'hi lexAbbrvComment' . s:fg_comment + exec 'hi lexBrace' . s:fg_navy + exec 'hi lexPat' . s:fg_aqua + exec 'hi lexPatComment' . s:fg_comment + exec 'hi lexPatTag' . s:fg_orange + " exec 'hi lexPatBlock' . s:fg_foreground . s:ft_bold + exec 'hi lexSlashQuote' . s:fg_foreground + exec 'hi lexSep' . s:fg_foreground + exec 'hi lexStartState' . s:fg_orange + exec 'hi lexPatTagZone' . s:fg_olive . s:ft_bold + exec 'hi lexMorePat' . s:fg_olive . s:ft_bold + exec 'hi lexOptions' . s:fg_olive . s:ft_bold + exec 'hi lexPatString' . s:fg_olive + + " Yacc highlighting + exec 'hi yaccNonterminal' . s:fg_navy + exec 'hi yaccDelim' . s:fg_orange + exec 'hi yaccInitKey' . s:fg_aqua + exec 'hi yaccInit' . s:fg_navy + exec 'hi yaccKey' . s:fg_purple + exec 'hi yaccVar' . s:fg_aqua + + " NASM highlighting + exec 'hi nasmStdInstruction' . s:fg_navy + exec 'hi nasmGen08Register' . s:fg_aqua + exec 'hi nasmGen16Register' . s:fg_aqua + exec 'hi nasmGen32Register' . s:fg_aqua + exec 'hi nasmGen64Register' . s:fg_aqua + exec 'hi nasmHexNumber' . s:fg_purple + exec 'hi nasmStorage' . s:fg_aqua . s:ft_bold + exec 'hi nasmLabel' . s:fg_pink + exec 'hi nasmDirective' . s:fg_blue . s:ft_bold + exec 'hi nasmLocalLabel' . s:fg_orange + + " GAS highlighting + exec 'hi gasSymbol' . s:fg_pink + exec 'hi gasDirective' . s:fg_blue . s:ft_bold + exec 'hi gasOpcode_386_Base' . s:fg_navy + exec 'hi gasDecimalNumber' . s:fg_purple + exec 'hi gasSymbolRef' . s:fg_pink + exec 'hi gasRegisterX86' . s:fg_blue + exec 'hi gasOpcode_P6_Base' . s:fg_navy + exec 'hi gasDirectiveStore' . s:fg_foreground . s:ft_bold + + " MIPS highlighting + exec 'hi mipsInstruction' . s:fg_pink + exec 'hi mipsRegister' . s:fg_navy + exec 'hi mipsLabel' . s:fg_aqua . s:ft_bold + exec 'hi mipsDirective' . s:fg_purple . s:ft_bold + + " Shell/Bash highlighting + exec 'hi bashStatement' . s:fg_foreground . s:ft_bold + exec 'hi shDerefVar' . s:fg_aqua . s:ft_bold + exec 'hi shDerefSimple' . s:fg_aqua + exec 'hi shFunction' . s:fg_orange . s:ft_bold + exec 'hi shStatement' . s:fg_foreground + exec 'hi shLoop' . s:fg_purple . s:ft_bold + exec 'hi shQuote' . s:fg_olive + exec 'hi shCaseEsac' . s:fg_aqua . s:ft_bold + exec 'hi shSnglCase' . s:fg_purple . s:ft_none + exec 'hi shFunctionOne' . s:fg_navy + exec 'hi shCase' . s:fg_navy + exec 'hi shSetList' . s:fg_navy + " @see Dockerfile Highlighting section for more sh* + + " PowerShell Highlighting + exec 'hi ps1Type' . s:fg_green . s:ft_bold + exec 'hi ps1Variable' . s:fg_navy + exec 'hi ps1Boolean' . s:fg_navy . s:ft_bold + exec 'hi ps1FunctionInvocation' . s:fg_pink + exec 'hi ps1FunctionDeclaration' . s:fg_pink + exec 'hi ps1Keyword' . s:fg_blue . s:ft_bold + exec 'hi ps1Exception' . s:fg_red + exec 'hi ps1Operator' . s:fg_aqua . s:ft_bold + exec 'hi ps1CommentDoc' . s:fg_purple + exec 'hi ps1CDocParam' . s:fg_orange + + " HTML Highlighting + exec 'hi htmlTitle' . s:fg_green . s:ft_bold + exec 'hi htmlH1' . s:fg_green . s:ft_bold + exec 'hi htmlH2' . s:fg_aqua . s:ft_bold + exec 'hi htmlH3' . s:fg_purple . s:ft_bold + exec 'hi htmlH4' . s:fg_orange . s:ft_bold + exec 'hi htmlTag' . s:fg_comment + exec 'hi htmlTagName' . s:fg_wine + exec 'hi htmlArg' . s:fg_pink + exec 'hi htmlEndTag' . s:fg_comment + exec 'hi htmlString' . s:fg_blue + exec 'hi htmlScriptTag' . s:fg_comment + exec 'hi htmlBold' . s:fg_foreground . s:ft_bold + exec 'hi htmlItalic' . s:fg_comment . s:ft_italic + exec 'hi htmlBoldItalic' . s:fg_navy . s:ft_italic_bold + " exec 'hi htmlLink' . s:fg_blue . s:ft_bold + exec 'hi htmlTagN' . s:fg_wine . s:ft_bold + exec 'hi htmlSpecialTagName' . s:fg_wine + exec 'hi htmlComment' . s:fg_comment . s:ft_italic + exec 'hi htmlCommentPart' . s:fg_comment . s:ft_italic + + " CSS Highlighting + exec 'hi cssIdentifier' . s:fg_pink + exec 'hi cssPositioningProp' . s:fg_foreground + exec 'hi cssNoise' . s:fg_foreground + exec 'hi cssBoxProp' . s:fg_foreground + exec 'hi cssTableAttr' . s:fg_purple + exec 'hi cssPositioningAttr' . s:fg_navy + exec 'hi cssValueLength' . s:fg_orange + exec 'hi cssFunctionName' . s:fg_blue + exec 'hi cssUnitDecorators' . s:fg_aqua + exec 'hi cssColor' . s:fg_blue . s:ft_bold + exec 'hi cssBraces' . s:fg_pink + exec 'hi cssBackgroundProp' . s:fg_foreground + exec 'hi cssTextProp' . s:fg_foreground + exec 'hi cssDimensionProp' . s:fg_foreground + exec 'hi cssClassName' . s:fg_pink + + " Markdown Highlighting + exec 'hi markdownHeadingRule' . s:fg_pink . s:ft_bold + exec 'hi markdownH1' . s:fg_pink . s:ft_bold + exec 'hi markdownH2' . s:fg_orange . s:ft_bold + exec 'hi markdownBlockquote' . s:fg_pink + exec 'hi markdownCodeBlock' . s:fg_olive + exec 'hi markdownCode' . s:fg_olive + exec 'hi markdownLink' . s:fg_blue . s:ft_bold + exec 'hi markdownUrl' . s:fg_blue + exec 'hi markdownLinkText' . s:fg_pink + exec 'hi markdownLinkTextDelimiter' . s:fg_purple + exec 'hi markdownLinkDelimiter' . s:fg_purple + exec 'hi markdownCodeDelimiter' . s:fg_blue + + exec 'hi mkdCode' . s:fg_olive + exec 'hi mkdLink' . s:fg_blue . s:ft_bold + exec 'hi mkdURL' . s:fg_comment + exec 'hi mkdString' . s:fg_foreground + exec 'hi mkdBlockQuote' . s:fg_pink + exec 'hi mkdLinkTitle' . s:fg_pink + exec 'hi mkdDelimiter' . s:fg_aqua + exec 'hi mkdRule' . s:fg_pink + + " reStructuredText Highlighting + exec 'hi rstSections' . s:fg_pink . s:ft_bold + exec 'hi rstDelimiter' . s:fg_pink . s:ft_bold + exec 'hi rstExplicitMarkup' . s:fg_pink . s:ft_bold + exec 'hi rstDirective' . s:fg_blue + exec 'hi rstHyperlinkTarget' . s:fg_green + exec 'hi rstExDirective' . s:fg_foreground + exec 'hi rstInlineLiteral' . s:fg_olive + exec 'hi rstInterpretedTextOrHyperlinkReference' . s:fg_blue + + " Python Highlighting + exec 'hi pythonImport' . s:fg_pink . s:ft_bold + exec 'hi pythonExceptions' . s:fg_red + exec 'hi pythonException' . s:fg_purple . s:ft_bold + exec 'hi pythonInclude' . s:fg_red + exec 'hi pythonStatement' . s:fg_pink + exec 'hi pythonConditional' . s:fg_purple . s:ft_bold + exec 'hi pythonRepeat' . s:fg_purple . s:ft_bold + exec 'hi pythonFunction' . s:fg_aqua . s:ft_bold + exec 'hi pythonPreCondit' . s:fg_purple + exec 'hi pythonExClass' . s:fg_orange + exec 'hi pythonOperator' . s:fg_purple . s:ft_bold + exec 'hi pythonBuiltin' . s:fg_foreground + exec 'hi pythonDecorator' . s:fg_orange + + exec 'hi pythonString' . s:fg_olive + exec 'hi pythonEscape' . s:fg_olive . s:ft_bold + exec 'hi pythonStrFormatting' . s:fg_olive . s:ft_bold + + exec 'hi pythonBoolean' . s:fg_green . s:ft_bold + exec 'hi pythonExClass' . s:fg_red + exec 'hi pythonBytesEscape' . s:fg_olive . s:ft_bold + exec 'hi pythonDottedName' . s:fg_purple + exec 'hi pythonStrFormat' . s:fg_foreground + + if s:langOpt_python__highlight_builtins == 1 + exec 'hi pythonBuiltinFunc' . s:fg_blue + exec 'hi pythonBuiltinObj' . s:fg_red + else + exec 'hi pythonBuiltinFunc' . s:fg_foreground + exec 'hi pythonBuiltinObj' . s:fg_foreground + endif + + " Java Highlighting + exec 'hi javaExternal' . s:fg_pink + exec 'hi javaAnnotation' . s:fg_orange + exec 'hi javaTypedef' . s:fg_aqua + exec 'hi javaClassDecl' . s:fg_aqua . s:ft_bold + exec 'hi javaScopeDecl' . s:fg_blue . s:ft_bold + exec 'hi javaStorageClass' . s:fg_navy . s:ft_bold + exec 'hi javaBoolean' . s:fg_green . s:ft_bold + exec 'hi javaConstant' . s:fg_blue + exec 'hi javaCommentTitle' . s:fg_wine + exec 'hi javaDocTags' . s:fg_aqua + exec 'hi javaDocComment' . s:fg_comment + exec 'hi javaDocParam' . s:fg_foreground + exec 'hi javaStatement' . s:fg_pink + + " JavaScript Highlighting + exec 'hi javaScriptBraces' . s:fg_blue + exec 'hi javaScriptParens' . s:fg_blue + exec 'hi javaScriptIdentifier' . s:fg_pink + exec 'hi javaScriptFunction' . s:fg_blue . s:ft_bold + exec 'hi javaScriptConditional' . s:fg_purple . s:ft_bold + exec 'hi javaScriptRepeat' . s:fg_purple . s:ft_bold + exec 'hi javaScriptBoolean' . s:fg_green . s:ft_bold + exec 'hi javaScriptNumber' . s:fg_orange + exec 'hi javaScriptMember' . s:fg_navy + exec 'hi javaScriptReserved' . s:fg_navy + exec 'hi javascriptNull' . s:fg_comment . s:ft_bold + exec 'hi javascriptGlobal' . s:fg_foreground + exec 'hi javascriptStatement' . s:fg_pink + exec 'hi javaScriptMessage' . s:fg_foreground + exec 'hi javaScriptMember' . s:fg_foreground + + " @target https://github.com/pangloss/vim-javascript + exec 'hi jsFuncParens' . s:fg_blue + exec 'hi jsFuncBraces' . s:fg_blue + exec 'hi jsParens' . s:fg_blue + exec 'hi jsBraces' . s:fg_blue + exec 'hi jsNoise' . s:fg_blue + + " Jsx Highlighting + " @target https://github.com/MaxMEllon/vim-jsx-pretty + exec 'hi jsxTagName' . s:fg_wine + exec 'hi jsxComponentName' . s:fg_wine + exec 'hi jsxAttrib' . s:fg_pink + exec 'hi jsxEqual' . s:fg_comment + exec 'hi jsxString' . s:fg_blue + exec 'hi jsxCloseTag' . s:fg_comment + exec 'hi jsxCloseString' . s:fg_comment + exec 'hi jsxDot' . s:fg_wine + exec 'hi jsxNamespace' . s:fg_wine + exec 'hi jsxPunct' . s:fg_comment + + " Json Highlighting + " @target https://github.com/elzr/vim-json + exec 'hi jsonKeyword' . s:fg_blue + exec 'hi jsonString' . s:fg_olive + exec 'hi jsonQuote' . s:fg_comment + exec 'hi jsonNoise' . s:fg_foreground + exec 'hi jsonKeywordMatch' . s:fg_foreground + exec 'hi jsonBraces' . s:fg_foreground + exec 'hi jsonNumber' . s:fg_orange + exec 'hi jsonNull' . s:fg_purple . s:ft_bold + exec 'hi jsonBoolean' . s:fg_green . s:ft_bold + exec 'hi jsonCommentError' . s:fg_pink . s:bg_background + + " Go Highlighting + exec 'hi goDirective' . s:fg_red + exec 'hi goDeclaration' . s:fg_blue . s:ft_bold + exec 'hi goStatement' . s:fg_pink + exec 'hi goConditional' . s:fg_purple . s:ft_bold + exec 'hi goConstants' . s:fg_orange + exec 'hi goFunction' . s:fg_orange + " exec 'hi goTodo' . s:fg_comment . s:ft_bold + exec 'hi goDeclType' . s:fg_blue + exec 'hi goBuiltins' . s:fg_purple + + " Systemtap Highlighting + " exec 'hi stapBlock' . s:fg_comment . s:ft_none + exec 'hi stapComment' . s:fg_comment . s:ft_none + exec 'hi stapProbe' . s:fg_aqua . s:ft_bold + exec 'hi stapStat' . s:fg_navy . s:ft_bold + exec 'hi stapFunc' . s:fg_foreground + exec 'hi stapString' . s:fg_olive + exec 'hi stapTarget' . s:fg_navy + exec 'hi stapStatement' . s:fg_pink + exec 'hi stapType' . s:fg_pink . s:ft_bold + exec 'hi stapSharpBang' . s:fg_comment + exec 'hi stapDeclaration' . s:fg_pink + exec 'hi stapCMacro' . s:fg_blue + + " DTrace Highlighting + exec 'hi dtraceProbe' . s:fg_blue + exec 'hi dtracePredicate' . s:fg_purple . s:ft_bold + exec 'hi dtraceComment' . s:fg_comment + exec 'hi dtraceFunction' . s:fg_foreground + exec 'hi dtraceAggregatingFunction' . s:fg_blue . s:ft_bold + exec 'hi dtraceStatement' . s:fg_navy . s:ft_bold + exec 'hi dtraceIdentifier' . s:fg_pink + exec 'hi dtraceOption' . s:fg_pink + exec 'hi dtraceConstant' . s:fg_orange + exec 'hi dtraceType' . s:fg_pink . s:ft_bold + + " PlantUML Highlighting + exec 'hi plantumlPreProc' . s:fg_orange . s:ft_bold + exec 'hi plantumlDirectedOrVerticalArrowRL' . s:fg_pink + exec 'hi plantumlDirectedOrVerticalArrowLR' . s:fg_pink + exec 'hi plantumlString' . s:fg_olive + exec 'hi plantumlActivityThing' . s:fg_purple + exec 'hi plantumlText' . s:fg_navy + exec 'hi plantumlClassPublic' . s:fg_olive . s:ft_bold + exec 'hi plantumlClassPrivate' . s:fg_red + exec 'hi plantumlColonLine' . s:fg_orange + exec 'hi plantumlClass' . s:fg_navy + exec 'hi plantumlHorizontalArrow' . s:fg_pink + exec 'hi plantumlTypeKeyword' . s:fg_blue . s:ft_bold + exec 'hi plantumlKeyword' . s:fg_pink . s:ft_bold + + exec 'hi plantumlType' . s:fg_blue . s:ft_bold + exec 'hi plantumlBlock' . s:fg_pink . s:ft_bold + exec 'hi plantumlPreposition' . s:fg_orange + exec 'hi plantumlLayout' . s:fg_blue . s:ft_bold + exec 'hi plantumlNote' . s:fg_orange + exec 'hi plantumlLifecycle' . s:fg_aqua + exec 'hi plantumlParticipant' . s:fg_foreground . s:ft_bold + + + " Haskell Highlighting + exec 'hi haskellType' . s:fg_aqua . s:ft_bold + exec 'hi haskellIdentifier' . s:fg_orange . s:ft_bold + exec 'hi haskellOperators' . s:fg_pink + exec 'hi haskellWhere' . s:fg_foreground . s:ft_bold + exec 'hi haskellDelimiter' . s:fg_aqua + exec 'hi haskellImportKeywords' . s:fg_pink + exec 'hi haskellStatement' . s:fg_purple . s:ft_bold + + + " SQL/MySQL Highlighting + exec 'hi sqlStatement' . s:fg_pink . s:ft_bold + exec 'hi sqlType' . s:fg_blue . s:ft_bold + exec 'hi sqlKeyword' . s:fg_pink + exec 'hi sqlOperator' . s:fg_aqua + exec 'hi sqlSpecial' . s:fg_green . s:ft_bold + + exec 'hi mysqlVariable' . s:fg_olive . s:ft_bold + exec 'hi mysqlType' . s:fg_blue . s:ft_bold + exec 'hi mysqlKeyword' . s:fg_pink + exec 'hi mysqlOperator' . s:fg_aqua + exec 'hi mysqlSpecial' . s:fg_green . s:ft_bold + + + " Octave/MATLAB Highlighting + exec 'hi octaveVariable' . s:fg_foreground + exec 'hi octaveDelimiter' . s:fg_pink + exec 'hi octaveQueryVar' . s:fg_foreground + exec 'hi octaveSemicolon' . s:fg_purple + exec 'hi octaveFunction' . s:fg_navy + exec 'hi octaveSetVar' . s:fg_blue + exec 'hi octaveUserVar' . s:fg_foreground + exec 'hi octaveArithmeticOperator' . s:fg_aqua + exec 'hi octaveBeginKeyword' . s:fg_purple . s:ft_bold + exec 'hi octaveElseKeyword' . s:fg_purple . s:ft_bold + exec 'hi octaveEndKeyword' . s:fg_purple . s:ft_bold + exec 'hi octaveStatement' . s:fg_pink + + " Ruby Highlighting + exec 'hi rubyModule' . s:fg_navy . s:ft_bold + exec 'hi rubyClass' . s:fg_pink . s:ft_bold + exec 'hi rubyPseudoVariable' . s:fg_comment . s:ft_bold + exec 'hi rubyKeyword' . s:fg_pink + exec 'hi rubyInstanceVariable' . s:fg_purple + exec 'hi rubyFunction' . s:fg_foreground . s:ft_bold + exec 'hi rubyDefine' . s:fg_pink + exec 'hi rubySymbol' . s:fg_aqua + exec 'hi rubyConstant' . s:fg_blue + exec 'hi rubyAccess' . s:fg_navy + exec 'hi rubyAttribute' . s:fg_green + exec 'hi rubyInclude' . s:fg_red + exec 'hi rubyLocalVariableOrMethod' . s:fg_orange + exec 'hi rubyCurlyBlock' . s:fg_foreground + exec 'hi rubyCurlyBlockDelimiter' . s:fg_aqua + exec 'hi rubyArrayDelimiter' . s:fg_aqua + exec 'hi rubyStringDelimiter' . s:fg_olive + exec 'hi rubyInterpolationDelimiter' . s:fg_orange + exec 'hi rubyConditional' . s:fg_purple . s:ft_bold + exec 'hi rubyRepeat' . s:fg_purple . s:ft_bold + exec 'hi rubyControl' . s:fg_purple . s:ft_bold + exec 'hi rubyException' . s:fg_purple . s:ft_bold + exec 'hi rubyExceptional' . s:fg_purple . s:ft_bold + exec 'hi rubyBoolean' . s:fg_green . s:ft_bold + + " Fortran Highlighting + exec 'hi fortranUnitHeader' . s:fg_blue . s:ft_bold + exec 'hi fortranIntrinsic' . s:fg_blue . s:bg_background . s:ft_none + exec 'hi fortranType' . s:fg_pink . s:ft_bold + exec 'hi fortranTypeOb' . s:fg_pink . s:ft_bold + exec 'hi fortranStructure' . s:fg_aqua + exec 'hi fortranStorageClass' . s:fg_navy . s:ft_bold + exec 'hi fortranStorageClassR' . s:fg_navy . s:ft_bold + exec 'hi fortranKeyword' . s:fg_pink + exec 'hi fortranReadWrite' . s:fg_aqua . s:ft_bold + exec 'hi fortranIO' . s:fg_navy + exec 'hi fortranOperator' . s:fg_aqua . s:ft_bold + exec 'hi fortranCall' . s:fg_aqua . s:ft_bold + exec 'hi fortranContinueMark' . s:fg_green + + " ALGOL Highlighting (Plugin: https://github.com/sterpe/vim-algol68) + exec 'hi algol68Statement' . s:fg_blue . s:ft_bold + exec 'hi algol68Operator' . s:fg_aqua . s:ft_bold + exec 'hi algol68PreProc' . s:fg_green + exec 'hi algol68Function' . s:fg_blue + + " R Highlighting + exec 'hi rType' . s:fg_blue + exec 'hi rArrow' . s:fg_pink + exec 'hi rDollar' . s:fg_blue + + " XXD Highlighting + exec 'hi xxdAddress' . s:fg_navy + exec 'hi xxdSep' . s:fg_pink + exec 'hi xxdAscii' . s:fg_pink + exec 'hi xxdDot' . s:fg_aqua + + " PHP Highlighting + exec 'hi phpIdentifier' . s:fg_foreground + exec 'hi phpVarSelector' . s:fg_pink + exec 'hi phpKeyword' . s:fg_blue + exec 'hi phpRepeat' . s:fg_purple . s:ft_bold + exec 'hi phpConditional' . s:fg_purple . s:ft_bold + exec 'hi phpStatement' . s:fg_pink + exec 'hi phpAssignByRef' . s:fg_aqua . s:ft_bold + exec 'hi phpSpecialFunction' . s:fg_blue + exec 'hi phpFunctions' . s:fg_blue + exec 'hi phpComparison' . s:fg_aqua + exec 'hi phpBackslashSequences' . s:fg_olive . s:ft_bold + exec 'hi phpMemberSelector' . s:fg_blue + exec 'hi phpStorageClass' . s:fg_purple . s:ft_bold + exec 'hi phpDefine' . s:fg_navy + exec 'hi phpIntVar' . s:fg_navy . s:ft_bold + + " Perl Highlighting + exec 'hi perlFiledescRead' . s:fg_green + exec 'hi perlMatchStartEnd' . s:fg_pink + exec 'hi perlStatementFlow' . s:fg_pink + exec 'hi perlStatementStorage' . s:fg_pink + exec 'hi perlFunction' . s:fg_pink . s:ft_bold + exec 'hi perlMethod' . s:fg_foreground + exec 'hi perlStatementFiledesc' . s:fg_orange + exec 'hi perlVarPlain' . s:fg_navy + exec 'hi perlSharpBang' . s:fg_comment + exec 'hi perlStatementInclude' . s:fg_aqua . s:ft_bold + exec 'hi perlStatementScalar' . s:fg_purple + exec 'hi perlSubName' . s:fg_aqua . s:ft_bold + exec 'hi perlSpecialString' . s:fg_olive . s:ft_bold + + " Pascal Highlighting + exec 'hi pascalType' . s:fg_pink . s:ft_bold + exec 'hi pascalStatement' . s:fg_blue . s:ft_bold + exec 'hi pascalPredefined' . s:fg_pink + exec 'hi pascalFunction' . s:fg_foreground + exec 'hi pascalStruct' . s:fg_navy . s:ft_bold + exec 'hi pascalOperator' . s:fg_aqua . s:ft_bold + exec 'hi pascalPreProc' . s:fg_green + exec 'hi pascalAcces' . s:fg_navy . s:ft_bold + + " Lua Highlighting + exec 'hi luaFunc' . s:fg_foreground + exec 'hi luaIn' . s:fg_blue . s:ft_bold + exec 'hi luaFunction' . s:fg_pink + exec 'hi luaStatement' . s:fg_blue + exec 'hi luaRepeat' . s:fg_blue . s:ft_bold + exec 'hi luaCondStart' . s:fg_purple . s:ft_bold + exec 'hi luaTable' . s:fg_aqua . s:ft_bold + exec 'hi luaConstant' . s:fg_green . s:ft_bold + exec 'hi luaElse' . s:fg_purple . s:ft_bold + exec 'hi luaCondElseif' . s:fg_purple . s:ft_bold + exec 'hi luaCond' . s:fg_purple . s:ft_bold + exec 'hi luaCondEnd' . s:fg_purple + + " Clojure highlighting: + exec 'hi clojureConstant' . s:fg_blue + exec 'hi clojureBoolean' . s:fg_orange + exec 'hi clojureCharacter' . s:fg_olive + exec 'hi clojureKeyword' . s:fg_pink + exec 'hi clojureNumber' . s:fg_orange + exec 'hi clojureString' . s:fg_olive + exec 'hi clojureRegexp' . s:fg_purple + exec 'hi clojureRegexpEscape' . s:fg_pink + exec 'hi clojureParen' . s:fg_aqua + exec 'hi clojureVariable' . s:fg_olive + exec 'hi clojureCond' . s:fg_blue + exec 'hi clojureDefine' . s:fg_blue . s:ft_bold + exec 'hi clojureException' . s:fg_red + exec 'hi clojureFunc' . s:fg_navy + exec 'hi clojureMacro' . s:fg_blue + exec 'hi clojureRepeat' . s:fg_blue + exec 'hi clojureSpecial' . s:fg_blue . s:ft_bold + exec 'hi clojureQuote' . s:fg_blue + exec 'hi clojureUnquote' . s:fg_blue + exec 'hi clojureMeta' . s:fg_blue + exec 'hi clojureDeref' . s:fg_blue + exec 'hi clojureAnonArg' . s:fg_blue + exec 'hi clojureRepeat' . s:fg_blue + exec 'hi clojureDispatch' . s:fg_aqua + + " Dockerfile Highlighting + " @target https://github.com/docker/docker/tree/master/contrib/syntax/vim + exec 'hi dockerfileKeyword' . s:fg_blue + exec 'hi shDerefVar' . s:fg_purple . s:ft_bold + exec 'hi shOperator' . s:fg_aqua + exec 'hi shOption' . s:fg_navy + exec 'hi shLine' . s:fg_foreground + exec 'hi shWrapLineOperator' . s:fg_pink + + " NGINX Highlighting + " @target https://github.com/evanmiller/nginx-vim-syntax + exec 'hi ngxDirectiveBlock' . s:fg_pink . s:ft_bold + exec 'hi ngxDirective' . s:fg_blue . s:ft_none + exec 'hi ngxDirectiveImportant' . s:fg_blue . s:ft_bold + exec 'hi ngxString' . s:fg_olive + exec 'hi ngxVariableString' . s:fg_purple + exec 'hi ngxVariable' . s:fg_purple . s:ft_none + + " Yaml Highlighting + exec 'hi yamlBlockMappingKey' . s:fg_blue + exec 'hi yamlKeyValueDelimiter' . s:fg_pink + exec 'hi yamlBlockCollectionItemStart' . s:fg_pink + + " Qt QML Highlighting + exec 'hi qmlObjectLiteralType' . s:fg_pink + exec 'hi qmlReserved' . s:fg_purple + exec 'hi qmlBindingProperty' . s:fg_navy + exec 'hi qmlType' . s:fg_navy + + " Dosini Highlighting + exec 'hi dosiniHeader' . s:fg_pink + exec 'hi dosiniLabel' . s:fg_blue + + " Mail highlighting + exec 'hi mailHeaderKey' . s:fg_blue + exec 'hi mailHeaderEmail' . s:fg_purple + exec 'hi mailSubject' . s:fg_pink + exec 'hi mailHeader' . s:fg_comment + exec 'hi mailURL' . s:fg_aqua + exec 'hi mailEmail' . s:fg_purple + exec 'hi mailQuoted1' . s:fg_olive + exec 'hi mailQuoted2' . s:fg_navy + + " XML Highlighting + exec 'hi xmlProcessingDelim' . s:fg_pink + exec 'hi xmlString' . s:fg_olive + exec 'hi xmlEqual' . s:fg_orange + exec 'hi xmlAttrib' . s:fg_navy + exec 'hi xmlAttribPunct' . s:fg_pink + exec 'hi xmlTag' . s:fg_blue + exec 'hi xmlTagName' . s:fg_blue + exec 'hi xmlEndTag' . s:fg_blue + exec 'hi xmlNamespace' . s:fg_orange + + " Exlixir Highlighting + " @target https://github.com/elixir-lang/vim-elixir + exec 'hi elixirAlias' . s:fg_blue . s:ft_bold + exec 'hi elixirAtom' . s:fg_navy + exec 'hi elixirVariable' . s:fg_navy + exec 'hi elixirUnusedVariable' . s:fg_foreground . s:ft_bold + exec 'hi elixirInclude' . s:fg_purple + exec 'hi elixirStringDelimiter' . s:fg_olive + exec 'hi elixirKeyword' . s:fg_purple . s:ft_bold + exec 'hi elixirFunctionDeclaration' . s:fg_aqua . s:ft_bold + exec 'hi elixirBlockDefinition' . s:fg_pink + exec 'hi elixirDefine' . s:fg_pink + exec 'hi elixirStructDefine' . s:fg_pink + exec 'hi elixirPrivateDefine' . s:fg_pink + exec 'hi elixirModuleDefine' . s:fg_pink + exec 'hi elixirProtocolDefine' . s:fg_pink + exec 'hi elixirImplDefine' . s:fg_pink + exec 'hi elixirModuleDeclaration' . s:fg_aqua . s:ft_bold + exec 'hi elixirDocString' . s:fg_olive + exec 'hi elixirDocTest' . s:fg_green . s:ft_bold + + " Erlang Highlighting + exec 'hi erlangBIF' . s:fg_purple . s:ft_bold + exec 'hi erlangBracket' . s:fg_pink + exec 'hi erlangLocalFuncCall' . s:fg_foreground + exec 'hi erlangVariable' . s:fg_foreground + exec 'hi erlangAtom' . s:fg_navy + exec 'hi erlangAttribute' . s:fg_blue . s:ft_bold + exec 'hi erlangRecordDef' . s:fg_blue . s:ft_bold + exec 'hi erlangRecord' . s:fg_blue + exec 'hi erlangRightArrow' . s:fg_blue . s:ft_bold + exec 'hi erlangStringModifier' . s:fg_olive . s:ft_bold + exec 'hi erlangInclude' . s:fg_blue . s:ft_bold + exec 'hi erlangKeyword' . s:fg_pink + exec 'hi erlangGlobalFuncCall' . s:fg_foreground + + " Cucumber Highlighting + exec 'hi cucumberFeature' . s:fg_blue . s:ft_bold + exec 'hi cucumberBackground' . s:fg_pink . s:ft_bold + exec 'hi cucumberScenario' . s:fg_pink . s:ft_bold + exec 'hi cucumberGiven' . s:fg_orange + exec 'hi cucumberGivenAnd' . s:fg_blue + exec 'hi cucumberThen' . s:fg_orange + exec 'hi cucumberThenAnd' . s:fg_blue + exec 'hi cucumberWhen' . s:fg_purple . s:ft_bold + exec 'hi cucumberScenarioOutline' . s:fg_pink . s:ft_bold + exec 'hi cucumberExamples' . s:fg_aqua + exec 'hi cucumberTags' . s:fg_aqua + exec 'hi cucumberPlaceholder' . s:fg_aqua + + " Ada Highlighting + exec 'hi adaInc' . s:fg_aqua . s:ft_bold + exec 'hi adaSpecial' . s:fg_aqua . s:ft_bold + exec 'hi adaKeyword' . s:fg_pink + exec 'hi adaBegin' . s:fg_pink + exec 'hi adaEnd' . s:fg_pink + exec 'hi adaTypedef' . s:fg_navy . s:ft_bold + exec 'hi adaAssignment' . s:fg_aqua . s:ft_bold + exec 'hi adaAttribute' . s:fg_green + + " COBOL Highlighting + exec 'hi cobolMarker' . s:fg_comment . s:bg_cursorline + exec 'hi cobolLine' . s:fg_foreground + exec 'hi cobolReserved' . s:fg_blue + exec 'hi cobolDivision' . s:fg_pink . s:ft_bold + exec 'hi cobolDivisionName' . s:fg_pink . s:ft_bold + exec 'hi cobolSection' . s:fg_navy . s:ft_bold + exec 'hi cobolSectionName' . s:fg_navy . s:ft_bold + exec 'hi cobolParagraph' . s:fg_purple + exec 'hi cobolParagraphName' . s:fg_purple + exec 'hi cobolDeclA' . s:fg_purple + exec 'hi cobolDecl' . s:fg_green + exec 'hi cobolCALLs' . s:fg_aqua . s:ft_bold + exec 'hi cobolEXECs' . s:fg_aqua . s:ft_bold + + " GNU sed highlighting + exec 'hi sedST' . s:fg_purple . s:ft_bold + exec 'hi sedFlag' . s:fg_purple . s:ft_bold + exec 'hi sedRegexp47' . s:fg_pink + exec 'hi sedRegexpMeta' . s:fg_blue . s:ft_bold + exec 'hi sedReplacement47' . s:fg_olive + exec 'hi sedReplaceMeta' . s:fg_orange . s:ft_bold + exec 'hi sedAddress' . s:fg_pink + exec 'hi sedFunction' . s:fg_aqua . s:ft_bold + exec 'hi sedBranch' . s:fg_green . s:ft_bold + exec 'hi sedLabel' . s:fg_green . s:ft_bold + + " GNU awk highlighting + exec 'hi awkPatterns' . s:fg_pink . s:ft_bold + exec 'hi awkSearch' . s:fg_pink + exec 'hi awkRegExp' . s:fg_blue . s:ft_bold + exec 'hi awkCharClass' . s:fg_blue . s:ft_bold + exec 'hi awkFieldVars' . s:fg_green . s:ft_bold + exec 'hi awkStatement' . s:fg_blue . s:ft_bold + exec 'hi awkFunction' . s:fg_blue + exec 'hi awkVariables' . s:fg_green . s:ft_bold + exec 'hi awkArrayElement' . s:fg_orange + exec 'hi awkOperator' . s:fg_foreground + exec 'hi awkBoolLogic' . s:fg_foreground + exec 'hi awkExpression' . s:fg_foreground + exec 'hi awkSpecialPrintf' . s:fg_olive . s:ft_bold + + " Elm highlighting + exec 'hi elmImport' . s:fg_navy + exec 'hi elmAlias' . s:fg_aqua + exec 'hi elmType' . s:fg_pink + exec 'hi elmOperator' . s:fg_aqua . s:ft_bold + exec 'hi elmBraces' . s:fg_aqua . s:ft_bold + exec 'hi elmTypedef' . s:fg_blue . s:ft_bold + exec 'hi elmTopLevelDecl' . s:fg_green . s:ft_bold + + " Purescript highlighting + exec 'hi purescriptModuleKeyword' . s:fg_navy + exec 'hi purescriptImportKeyword' . s:fg_navy + exec 'hi purescriptModuleName' . s:fg_pink + exec 'hi purescriptOperator' . s:fg_aqua . s:ft_bold + exec 'hi purescriptType' . s:fg_pink + exec 'hi purescriptTypeVar' . s:fg_navy + exec 'hi purescriptStructure' . s:fg_blue . s:ft_bold + exec 'hi purescriptLet' . s:fg_blue . s:ft_bold + exec 'hi purescriptFunction' . s:fg_green . s:ft_bold + exec 'hi purescriptDelimiter' . s:fg_aqua . s:ft_bold + exec 'hi purescriptStatement' . s:fg_purple . s:ft_bold + exec 'hi purescriptConstructor' . s:fg_pink + exec 'hi purescriptWhere' . s:fg_purple . s:ft_bold + + " F# highlighting + exec 'hi fsharpTypeName' . s:fg_pink + exec 'hi fsharpCoreClass' . s:fg_pink + exec 'hi fsharpType' . s:fg_pink + exec 'hi fsharpKeyword' . s:fg_blue . s:ft_bold + exec 'hi fsharpOperator' . s:fg_aqua . s:ft_bold + exec 'hi fsharpBoolean' . s:fg_green . s:ft_bold + exec 'hi fsharpFormat' . s:fg_foreground + exec 'hi fsharpLinq' . s:fg_blue + exec 'hi fsharpKeyChar' . s:fg_aqua . s:ft_bold + exec 'hi fsharpOption' . s:fg_orange + exec 'hi fsharpCoreMethod' . s:fg_purple + exec 'hi fsharpAttrib' . s:fg_orange + exec 'hi fsharpModifier' . s:fg_aqua + exec 'hi fsharpOpen' . s:fg_red + + " ASN.1 highlighting + exec 'hi asnExternal' . s:fg_green . s:ft_bold + exec 'hi asnTagModifier' . s:fg_purple + exec 'hi asnBraces' . s:fg_aqua . s:ft_bold + exec 'hi asnDefinition' . s:fg_foreground + exec 'hi asnStructure' . s:fg_blue + exec 'hi asnType' . s:fg_pink + exec 'hi asnTypeInfo' . s:fg_aqua . s:ft_bold + exec 'hi asnFieldOption' . s:fg_purple + + " }}} + + " Plugin: Netrw + exec 'hi netrwVersion' . s:fg_red + exec 'hi netrwList' . s:fg_pink + exec 'hi netrwHidePat' . s:fg_olive + exec 'hi netrwQuickHelp' . s:fg_blue + exec 'hi netrwHelpCmd' . s:fg_blue + exec 'hi netrwDir' . s:fg_aqua . s:ft_bold + exec 'hi netrwClassify' . s:fg_pink + exec 'hi netrwExe' . s:fg_green + exec 'hi netrwSuffixes' . s:fg_comment + exec 'hi netrwTreeBar' . s:fg_linenumber_fg + + " Plugin: NERDTree + exec 'hi NERDTreeUp' . s:fg_comment + exec 'hi NERDTreeHelpCommand' . s:fg_pink + exec 'hi NERDTreeHelpTitle' . s:fg_blue . s:ft_bold + exec 'hi NERDTreeHelpKey' . s:fg_pink + exec 'hi NERDTreeHelp' . s:fg_foreground + exec 'hi NERDTreeToggleOff' . s:fg_red + exec 'hi NERDTreeToggleOn' . s:fg_green + exec 'hi NERDTreeDir' . s:fg_blue . s:ft_bold + exec 'hi NERDTreeDirSlash' . s:fg_pink + exec 'hi NERDTreeFile' . s:fg_foreground + exec 'hi NERDTreeExecFile' . s:fg_green + exec 'hi NERDTreeOpenable' . s:fg_aqua . s:ft_bold + exec 'hi NERDTreeClosable' . s:fg_pink + + " Plugin: Tagbar + exec 'hi TagbarHelpTitle' . s:fg_blue . s:ft_bold + exec 'hi TagbarHelp' . s:fg_foreground + exec 'hi TagbarKind' . s:fg_pink + exec 'hi TagbarSignature' . s:fg_aqua + + " Plugin: Vimdiff + exec 'hi DiffAdd' . s:fg_diffadd_fg . s:bg_diffadd_bg . s:ft_none + exec 'hi DiffChange' . s:fg_diffchange_fg . s:bg_diffchange_bg . s:ft_none + exec 'hi DiffDelete' . s:fg_diffdelete_fg . s:bg_diffdelete_bg . s:ft_none + exec 'hi DiffText' . s:fg_difftext_fg . s:bg_difftext_bg . s:ft_none + + " Plugin: AGit + exec 'hi agitHead' . s:fg_green . s:ft_bold + exec 'hi agitHeader' . s:fg_olive + exec 'hi agitStatAdded' . s:fg_diffadd_fg + exec 'hi agitStatRemoved' . s:fg_diffdelete_fg + exec 'hi agitDiffAdd' . s:fg_diffadd_fg + exec 'hi agitDiffRemove' . s:fg_diffdelete_fg + exec 'hi agitDiffHeader' . s:fg_pink + exec 'hi agitDiff' . s:fg_foreground + exec 'hi agitDiffIndex' . s:fg_purple + exec 'hi agitDiffFileName' . s:fg_aqua + exec 'hi agitLog' . s:fg_foreground + exec 'hi agitAuthorMark' . s:fg_olive + exec 'hi agitDateMark' . s:fg_comment + exec 'hi agitHeaderLabel' . s:fg_aqua + exec 'hi agitDate' . s:fg_aqua + exec 'hi agitTree' . s:fg_pink + exec 'hi agitRef' . s:fg_blue . s:ft_bold + exec 'hi agitRemote' . s:fg_purple . s:ft_bold + exec 'hi agitTag' . s:fg_orange . s:ft_bold + + " Plugin: Spell Checking + exec 'hi SpellBad' . s:fg_foreground . s:bg_spellbad + exec 'hi SpellCap' . s:fg_foreground . s:bg_spellcap + exec 'hi SpellRare' . s:fg_foreground . s:bg_spellrare + exec 'hi SpellLocal' . s:fg_foreground . s:bg_spelllocal + + " Plugin: Indent Guides + exec 'hi IndentGuidesOdd' . s:bg_background + exec 'hi IndentGuidesEven' . s:bg_cursorline + + " Plugin: Startify + exec 'hi StartifyFile' . s:fg_blue . s:ft_bold + exec 'hi StartifyNumber' . s:fg_orange + exec 'hi StartifyHeader' . s:fg_comment + exec 'hi StartifySection' . s:fg_pink + exec 'hi StartifyPath' . s:fg_foreground + exec 'hi StartifySlash' . s:fg_navy + exec 'hi StartifyBracket' . s:fg_aqua + exec 'hi StartifySpecial' . s:fg_aqua + + " Git commit message + exec 'hi gitcommitSummary' . s:fg_blue + exec 'hi gitcommitHeader' . s:fg_green . s:ft_bold + exec 'hi gitcommitSelectedType' . s:fg_blue + exec 'hi gitcommitSelectedFile' . s:fg_pink + exec 'hi gitcommitUntrackedFile' . s:fg_diffdelete_fg + exec 'hi gitcommitBranch' . s:fg_aqua . s:ft_bold + exec 'hi gitcommitDiscardedType' . s:fg_diffdelete_fg + exec 'hi gitcommitDiff' . s:fg_comment + + exec 'hi diffFile' . s:fg_blue + exec 'hi diffSubname' . s:fg_comment + exec 'hi diffIndexLine' . s:fg_comment + exec 'hi diffAdded' . s:fg_diffadd_fg + exec 'hi diffRemoved' . s:fg_diffdelete_fg + exec 'hi diffLine' . s:fg_orange + exec 'hi diffBDiffer' . s:fg_orange + exec 'hi diffNewFile' . s:fg_comment + +endfun +" }}} + +" ================================== MISC ===================================== +" Command to show theme information {{{ +fun! g:PaperColor() + echom 'PaperColor Theme Framework' + echom ' version ' . s:version + echom ' by Nikyle Nguyen et al.' + echom ' at https://github.com/NLKNguyen/papercolor-theme/' + echom ' ' + echom 'Current theme: ' . s:theme_name + echom ' ' . s:selected_theme['description'] + echom ' by ' . s:selected_theme['maintainer'] + echom ' at ' . s:selected_theme['source'] + + " TODO: add diff display for theme color names between 'default' and current + " theme if it is a custom theme, i.e. child theme. +endfun + +" @brief command alias for g:PaperColor() +command! -nargs=0 PaperColor :call g:PaperColor() +" }}} + +" =============================== MAIN ======================================== + +hi clear +syntax reset +let g:colors_name = "PaperColor" + +call s:acquire_theme_data() +call s:identify_color_mode() + +call s:generate_theme_option_variables() +call s:generate_language_option_variables() + +call s:set_format_attributes() +call s:set_overriding_colors() + +call s:convert_colors() +call s:set_color_variables() + +call s:apply_syntax_highlightings() + +" ============================================================================= +" Cheers! +" vim: fdm=marker ff=unix diff --git a/pack/acp/start/papercolor-theme/doc/PaperColor.txt b/pack/acp/start/papercolor-theme/doc/PaperColor.txt new file mode 100644 index 0000000..fafb1ea --- /dev/null +++ b/pack/acp/start/papercolor-theme/doc/PaperColor.txt @@ -0,0 +1,228 @@ +*PaperColor.txt* An elegant, flexible, and beautiful Vim colorscheme. + +Author: Nikyle Nguyen + +Table of Contents *PaperColor-Theme* + +1. Introduction .......................... |PaperColor-Theme-intro| +2. Setup ................................. |PaperColor-Theme-setup| +3. Configuration ......................... |PaperColor-Theme-configuration| +4. Credits ............................... |PaperColor-Theme-credits| + +============================================================================== +1. INTRODUCTION *PaperColor-Theme-intro* + +The |PaperColor-Theme| plugin provides an elegant, flexible, and beautiful Vim +colorscheme. It provides the following distinguishing features: + +1. Comprehensive programming language and plugin support +2. Light AND Dark theme +3. Flexible color ranges +4. Complete configurability +5. Performance + +Comprehensive language and plugin support~ + +PaperColor is designed to support any language with Vim syntax definitions. +At the time of writing, these languages include: + +ALGOL, ASN.1, Ada, Assembly (MIPS, GAS, NASM), Awk, Bash/Shell script, C++, C, +CMake, COBOL, Clojure, Cucumber, DTrace, Dockerfile, Dosini, Elixir, Elm, +Erlang, F#, Fortran, Git commit message, Golang, HTML, Haskell, JSON, Java, +JavaScript, Jsx, LUA, Lex/Flex & Yacc/Bison, Mail, Makefile, Markdown, NGINX, +Octave/MATLAB, PHP, Pascal, Perl, PlantUML, Powershell script, Purescript, +Python, R, Ruby, Rust, SQL/MySQL, Sed, SystemTap, Vim script, XML, YAML, +reStructuredText, (insert another dinosaur...), (insert another egg...) + +As most active Vim users have discovered, the best language syntax support +comes from community-driven plugins. Please refer to the PaperColor Git +repository's README for references to syntax plugins that are directly +supported by PaperColor. + +Light AND dark theme~ + +Some colorschemes are light, some are dark. PaperColor is both. + +Flexible color ranges~ + +A given terminals or GUI programs may support a different number of colors. +PaperColor aims to support most, if not all, of these options. PaperColor +currently supports True color / GUI-color, and identical 256-color that the +design is based on. It also gracefully supports everything down to a 16-color +terminal, which uses terminal native colors (think the Linux tty). + +Note that in 8-color and 4-color, PaperColor may lack the necessary variation +of colors to function properly. + +Complete configurability~ + +If you don't like our choices, you are free to change them with flexible +configuration options explained in |PaperColor-Theme-configuration|. + +Performance~ + +Performance is important. This plugin does a lot, but optimizations have been +prioritized where possible to prevent it from slowing you down. + +============================================================================== +2. Setup *PaperColor-Theme-setup* + +Assuming you've already installed this plugin, to get it to work properly, +you'll need to configure your Vim syntax. To start, you should tell PaperColor +what your terminal supports. + +If your terminal only supports 16 colors: > + + set t_Co=16 + +If your terminal supports up to 256 colors: > + + set t_Co=256 + +If your terminal supports True Color: > + + set termguicolors + +If you'd like to use the "dark" version of PaperColor: > + + set background=dark + +If you'd like to use the "light" version of PaperColor: > + + set background=light + +Finally, after you've selected your appropriate configuration options above: > + + colorscheme PaperColor + +Here is a full example with a dark background and True Color support: > + + set termguicolors + set background=dark + colorscheme PaperColor + +When PaperColor is enabled, to switch to dark or light variant during an +editing session: > + + :set background=dark OR :set background=light + +Some plugins have PaperColor support. + +To set vim-airline theme: > + + let g:airline_theme='papercolor' + +To set lightline theme: > + + let g:lightline = { 'colorscheme': 'PaperColor' } + +============================================================================== +3. CONFIGURATION *PaperColor-Theme-configuration* + +This theme currently provides theme options and language-specific options. All +config options can be stored in global variable g:PaperColor_Theme_Options +which can be set in your .vimrc. + +g:PaperColor_Theme_Options must be placed before "colorscheme PaperColor" in +your vimrc. + +If the same option is provided in both a theme and a theme's variant, the +value in the theme's variant options will take precedence. + + *g:PaperColor_Theme_Options* +g:PaperColor_Theme_Options~ + +Type: Dictionary[String, Dictionary] +Default: {} + +*Theme options* + +Within section theme, options for each theme can be specified under the theme +name. The original PaperColor theme is default. For example: > + + let g:PaperColor_Theme_Options = { + \ 'theme': { + \ 'default': { + \ 'transparent_background': 1 + \ } + \ } + \ } + +Or if you want to specify options only for a variant (dark or light) of a +theme, you can specify using this pattern [theme name].light or [theme +name].dark. For example: > + + let g:PaperColor_Theme_Options = { + \ 'theme': { + \ 'default.dark': { + \ 'override' : { + \ 'color00' : ['#080808', '232'], + \ 'linenumber_bg' : ['#080808', '232'] + \ } + \ } + \ } + \ } + +Accepted values~ + +transparent_background > + + values -- 1: use terminal background, 0: use theme background + default -- 0 + +allow_bold > + + values -- 1: use bold for certain text, 0: not at all + default -- decided by the theme + +allow_italic > + + values -- 1: use italics for certain text, 0: not at all + default -- decided by the theme + +override > + + values -- dictionary of color key-value + default -- {} + +*Language-specific options* + +In general, for each language, built-in functions and constants are not +highlighted. This is intentional; the vim syntax file often lags behind actual +language development. To override the default behavior, optionally place a +language section in g:PaperColor_Theme_Options. An example configuration is +available below: > + + let g:PaperColor_Theme_Options = { + \ 'language': { + \ 'python': { + \ 'highlight_builtins' : 1 + \ }, + \ 'cpp': { + \ 'highlight_standard_library': 1 + \ }, + \ 'c': { + \ 'highlight_builtins' : 1 + \ } + \ } + \ } + +Accepted values~ + +language option values default +c highlight_builtins 1: enable, 0: disable 0 +cpp highlight_standard_library 1: enable, 0: disable 0 +python highlight_builtins 1: enable, 0: disable 0 + +============================================================================== +4. CREDITS *PaperColor-Theme-credits* + +Special thanks to Samuel Roeca for writing this documentation. + +Development for PaperColor-Theme takes place at +https://github.com/NLKNguyen/papercolor-theme. Please refer to that +repository's README for the latest news, projects, and features. If you have a +plugin, language, or other feature that you would like implemented, please +submit a pull request or raise an issue. + +vim:tw=78:ts=8:ft=help:norl: diff --git a/pack/acp/start/papercolor-theme/test/Dockerfile b/pack/acp/start/papercolor-theme/test/Dockerfile new file mode 100644 index 0000000..b62106b --- /dev/null +++ b/pack/acp/start/papercolor-theme/test/Dockerfile @@ -0,0 +1,19 @@ +FROM nlknguyen/alpine-shellcheck + +MAINTAINER Nikyle Nguyen + +RUN apk add --no-cache vim + +RUN mkdir -p /opt/ + +COPY test.sh /opt/ + +# Check test script +RUN shellcheck /opt/test.sh + +RUN chmod +x /opt/test.sh + +# Start working at the mounted directory +WORKDIR /mnt + +ENTRYPOINT ["/opt/test.sh"] diff --git a/pack/acp/start/papercolor-theme/test/test.sh b/pack/acp/start/papercolor-theme/test/test.sh new file mode 100644 index 0000000..d8b2419 --- /dev/null +++ b/pack/acp/start/papercolor-theme/test/test.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +set -e + +framework_file=$1 + +# cat ${framework_file} + +# Custom temporary runtime path for vim +custom_rtp=$(mktemp -d) + +# Add color scheme to runtime part +mkdir -p "${custom_rtp}/colors" +cp "${framework_file}" "${custom_rtp}/colors" + +# Minimum vimrc file +cat > "${custom_rtp}/.vimrc" <<- EOF + +set rtp+=${custom_rtp} +syntax on +color PaperColor +EOF + +# Go to temporary directory +cd "$(mktemp -d)" || exit 1 + +############################### +printf "Check startup status... " +echo | vim -Nu "$custom_rtp/.vimrc" +qa 1>/dev/null 2>err.txt +if grep -q Error err.txt +then + echo "$framework_file caused starup error" + sed 's/^.*Error/Error/' err.txt + exit 1 +fi +rm err.txt +echo "ok" + +############################### +# TODO: later after rearchitect test mechanism +# printf "Run unit test... " +# vim -Nu "${custom_rtp}/.vimrc" -c 'call g:PaperColor_Test()' +qa 1>log.txt 2>err.txt +# if grep -q Error log.txt +# then +# echo "error" +# sed 's/^.*Error/Error/' log.txt +# exit 1 +# fi + +# if grep -q "FAILED" log.txt +# then +# echo "$framework_file failed unit test" +# exit 1 +# fi +# rm log.txt + +# echo "ok" + +exit 0 diff --git a/vimrc b/vimrc index 6bea50e..f00cdae 100644 --- a/vimrc +++ b/vimrc @@ -84,7 +84,6 @@ if has("eval") " Protect commands that are only available when +eval is enabled. " Technically only "if 1" would be required, as "has()" is provided " by +eval, but this is clearer. - colorscheme gruvbox command Q q command W w command WQ wq @@ -108,6 +107,7 @@ if has("eval") else set t_Co=16 endif + colorscheme PaperColor endif " ====================================================================== @@ -137,6 +137,7 @@ if has("gui_running") set guifont=Source_Code_Pro:h9:cANSI:qDRAFT, \Consolas:h10:cANSI endif + set background=light set columns=88 set guioptions+=cm set guioptions-=T