Browse Source

Nitpicky tweaks

pull/116/head
Josh Dick 7 years ago
parent
commit
88b7d34306
No known key found for this signature in database GPG Key ID: 504C35EB636445DC
  1. 29
      README.md
  2. 5
      colors/onedark.vim

29
README.md

@ -152,9 +152,27 @@ If all comments look like the one in the screenshot above, you have enabled ital
### Customizing onedark.vim's look without forking the repository ### Customizing onedark.vim's look without forking the repository
onedark.vim exposes a function called `onedark#set_highlight` that you can call from within your `~/.vimrc` in order to customize the look of onedark.vim by overriding its defaults. onedark.vim exposes `onedark#extend_highlight` and `onedark#set_highlight` functions that you can call from within your `~/.vimrc` in order to customize the look of onedark.vim.
The function's first argument should be the name of a highlight group, and its second argument should be style data. #### `onedark#extend_highlight`
`onedark#extend_highlight` allows you to customize individual aspects of onedark.vim's existing highlight groups, overriding only the keys you provide. (To completely redefine/override an existing highlight group, see `onedark#set_highlight` below.)
`onedark#extend_highlight`'s first argunment should be the name of a highlight group, and its second argument should be style data.
For example, if you want functions to be bold only in GUI mode, place the following lines **before** the `colorscheme onedark` line in your `~/.vimrc`:
```vim
if (has("autocmd") && has("gui_running"))
autocmd ColorScheme * call onedark#extend_highlight("Function", { "gui": "bold" })
end
```
#### `onedark#set_highlight`
`onedark#set_highlight` allows you to completely redefine/override highlight groups of your choosing.
`onedark#set_highlight`'s first argument should be the name of a highlight group, and its second argument should be style data.
For example, to remove the background color only when running in terminals (outside GUI mode and for use in transparent terminals,) place the following lines **before** the `colorscheme onedark` line in your `~/.vimrc`: For example, to remove the background color only when running in terminals (outside GUI mode and for use in transparent terminals,) place the following lines **before** the `colorscheme onedark` line in your `~/.vimrc`:
@ -170,12 +188,7 @@ if (has("autocmd") && !has("gui_running"))
end end
``` ```
If you want to change only some parts of highlight group, you can use `onedark#extend_highlight` that will change only keys you provide. For example, if you want functions to be bold in GUI, you can do something like this: Finally, you can also override a color across all highlights by adding color definitions to the `g:onedark_color_overrides` dictionary in your `~/.vimrc` like so:
```vim
call onedark#extend_highlight("Function", { "gui": "bold" })
```
You can also override a color across all highlights by adding the color definitions to the `g:onedark_color_overrides` dictionary in your `~/.vimrc` like so:
```vim ```vim
let g:onedark_color_overrides = { let g:onedark_color_overrides = {

5
colors/onedark.vim

@ -52,7 +52,6 @@ endif
set t_Co=256 set t_Co=256
let g:colors_name="onedark" let g:colors_name="onedark"
let s:group_colors = {}
" Set to "256" for 256-color terminals, or " Set to "256" for 256-color terminals, or
" set to "16" to use your terminal emulator's native colors " set to "16" to use your terminal emulator's native colors
@ -70,8 +69,10 @@ endif
" This function is based on one from FlatColor: https://github.com/MaxSt/FlatColor/ " This function is based on one from FlatColor: https://github.com/MaxSt/FlatColor/
" Which in turn was based on one found in hemisu: https://github.com/noahfrederick/vim-hemisu/ " Which in turn was based on one found in hemisu: https://github.com/noahfrederick/vim-hemisu/
let s:group_colors = {} " Cache of default highlight group settings, for later reference via `onedark#extend_highlight`
function! s:h(group, style, ...) function! s:h(group, style, ...)
let a:highlight = a:0 > 0 ? extend(s:group_colors[a:group], a:style) : a:style let a:highlight = a:0 > 0 ? extend(s:group_colors[a:group], a:style) : a:style
if g:onedark_terminal_italics == 0 if g:onedark_terminal_italics == 0
if has_key(a:highlight, "cterm") && a:highlight["cterm"] == "italic" if has_key(a:highlight, "cterm") && a:highlight["cterm"] == "italic"
unlet a:highlight.cterm unlet a:highlight.cterm
@ -88,6 +89,7 @@ function! s:h(group, style, ...)
let l:ctermfg = (has_key(a:highlight, "fg") ? a:highlight.fg.cterm : "NONE") let l:ctermfg = (has_key(a:highlight, "fg") ? a:highlight.fg.cterm : "NONE")
let l:ctermbg = (has_key(a:highlight, "bg") ? a:highlight.bg.cterm : "NONE") let l:ctermbg = (has_key(a:highlight, "bg") ? a:highlight.bg.cterm : "NONE")
endif endif
execute "highlight" a:group execute "highlight" a:group
\ "guifg=" (has_key(a:highlight, "fg") ? a:highlight.fg.gui : "NONE") \ "guifg=" (has_key(a:highlight, "fg") ? a:highlight.fg.gui : "NONE")
\ "guibg=" (has_key(a:highlight, "bg") ? a:highlight.bg.gui : "NONE") \ "guibg=" (has_key(a:highlight, "bg") ? a:highlight.bg.gui : "NONE")
@ -96,6 +98,7 @@ function! s:h(group, style, ...)
\ "ctermfg=" . l:ctermfg \ "ctermfg=" . l:ctermfg
\ "ctermbg=" . l:ctermbg \ "ctermbg=" . l:ctermbg
\ "cterm=" (has_key(a:highlight, "cterm") ? a:highlight.cterm : "NONE") \ "cterm=" (has_key(a:highlight, "cterm") ? a:highlight.cterm : "NONE")
let s:group_colors[a:group] = a:highlight let s:group_colors[a:group] = a:highlight
endfunction endfunction

Loading…
Cancel
Save