website github github
stars 301
issues 2
subscribers 5
forks 6



2 days ago

Aurora a vivid night theme for vim/neovim and terminal


Transparent mode:

A vivid 24-bit dark theme for vim/neovim. Highly configurable and cook your own color highlight. Good supports for popular languages and vim plugins, handcrafted support for LSP, Treesitter.

Languages explicitly styled

  • All Neovim Treesitter highlighted-languages
  • For VIM, all languages that have a syntax file e.g.
    • C++
    • python
    • js/ts
    • json
    • markdown
    • yaml
    • css
    • sql
    • golang
    • html

Plugins explicitly styled

  • coc
  • ale
  • vim-clap
  • lsp/nvim-lsp
  • signify
  • gitgutter
  • nvim lsp diagnostics.
  • git-fugitive
  • fzf
  • telescope
  • blankline
  • gitsigns
  • treesitter

You can change/add syntax highlight. Feel free to fork or make a PR.

To install:

call dein#add('ray-x/aurora')  " for dein user

Plug 'ray-x/aurora'      " for Plug user

set termguicolors            " 24 bit color
let g:aurora_italic = 1     " italic
let g:aurora_transparent = 1     " transparent
let g:aurora_bold = 1     " bold
let g:aurora_darker = 1     " darker background

colorscheme aurora

" customize your own highlight
hi Normal guibg=NONE ctermbg=NONE "remove background
hi String guibg=#339922 ctermbg=NONE "remove background

" customize your own highlight with lua
lua <<EOF
  vim.api.nvim_set_hl(0, '@string', {fg='#59E343'})
  vim.api.nvim_set_hl(0, '@field', {fg='#f93393'})
  vim.api.nvim_set_hl(0, '@number', {fg='#e933e3'})

lua setup

A lua version is provided, if the neovim version is higher than 0.6.x, lua script will be loaded automatically. The lua version will be much faster as it using native API vim.api.nvim_set_hl() My tests shows loading the theme 5000 times took 3s, which means 0.6ms loading time. The vim version normally 15ms startup time.

#### Howto update the theme:

This project is based on [Estilo](http://estilo.jacoborus.codes/).
Estilo allow you to define color palettes and syntax highlight and then generate .vim file for you.

To update the color, edit the yml file, and run:

npm install -g estilo
yarn render
copy colors/aurora.vim ~/.vim/plugged/aurora/colors/aurora.vim

Generate lua script:

cat ../colors/aurora.vim  | awk -f aurora.awk > aurora.lua

And manually update the aurora.vim to call aurora.lua (estilo will not do it for you).

color palettes file is in aurora/estilo/palettes/ folder and syntax file in aurora/estilo/syntax/ folder.

fast startup time

On my intel 11 i7 xps, loading time is 2ms on average.

Show case

  • Go with treesitter go treesitter

  • color palettes, more than 100 pre-defined color: vim color palettes

  • syntax color highlight:

  • sidebar

  • color curl underline, better search highlight(only highlight bg and keep current fg color of the search text) on the right side:

vim undercurl and search hl for aurora