Skip to content
This repository has been archived by the owner on Apr 1, 2020. It is now read-only.

Theming

MarcusE1W edited this page Apr 30, 2018 · 2 revisions

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

Clone this wiki locally