-
Notifications
You must be signed in to change notification settings - Fork 298
Theming
Oni supports Vim colorschemes (which are settable by the ui.colorscheme
property), and for any Vim colorscheme, we'll do our best to derive colors for our extended UI elements.
However, for those who want further customization, we support a JSON-based schema for specifying the colors of Oni's extended UI.
Themes are specified by a JSON file with the following schema:
-
name
(string): The name of the colorscheme -
baseVimTheme
(string, optional): The vim theme to be used as the base for the theme. (Despite this beeing optional you should set a Vim theme as the basis for your Oni theme, otherwise neovim will just apply a default theme and that might not go well with your Oni theme) -
colors
: A dictionary of a color setting to the hex color value, ie:
You can find an example of a theme here - onedark.json
Themes are plugins and therefore must reside in one of the search paths. In addition, you'll also need a package.json
that defines a _contributes` section as follows:
"contributes": {
"themes": [{
"name": "your-colorscheme-name",
"path": "path/to/theme.json"
}]
},
An example of this is available here - package.json
To view an up-to-date list of the colors that are available for modification, please see the IThemeColors
list: https://github.com/onivim/oni/blob/master/browser/src/Services/Themes/ThemeManager.ts