Giter Site home page Giter Site logo

caironoon.nvim's Introduction

Dark and Light Themes for neovim >= 0.5 based on onedark.nvim theme written in lua with TreeSitter syntax highlight.

For latest TreeSitter syntax highlight, upgraded to NeoVim 0.8.0 or later built with tree-sitter 0.20.3+

Features

  • Light, and Dark variants set by the 'background' option.

Themes

Installation

Install via your favourite package manager

" Using Vim-Plug
Plug 'sobh/caironoon.nvim'
-- Using Packer
use 'sobh/caironoon.nvim'

Configuration

Enable theme

-- Lua
require('caironoon').load()
" Vim
colorscheme caironoon

Default Configuration

-- Lua
require('caironoon').setup  {
    -- Main options --
    transparent = false,     -- don't set background
    term_colors = true,      -- if true enable the terminal
    ending_tildes = false,    -- show the end-of-buffer tildes
    cmp_itemkind_reverse = false,    -- reverse item kind highlights in cmp menu

    -- Changing Formats --
    code_style = {
        comments  = 'none',
        keywords  = 'italic',
        functions = 'bold',
        strings   = 'none',
        variables = 'none'
    },

    -- Lualine options --
    lualine = {
        transparent = false, -- center bar (c) transparency
    },

    -- Custom Highlights --
    colors = {}, -- Override default colors
    highlights = {}, -- Override highlight groups

    -- Plugins Related --
    diagnostics = {
        darker = true, -- darker colors for diagnostic
        undercurl = true,   -- use undercurl for diagnostics
        background = true,    -- use background color for virtual text
    },
}

Vimscript configuration

Onedark can be configured also with Vimscript, using the global dictionary g:caironoon_config. NOTE: when setting boolean values use v:true and v:false instead of 0 and 1

Example:

let g:caironoon_config = {
  \ 'ending_tildes': v:true,
  \ 'diagnostics': {
    \ 'darker': v:false,
    \ 'background': v:false,
  \ },
\ }
colorscheme caironoon

Customization

Example custom colors and Highlights config

require('caironoon').setup {
  colors = {
    bright_orange = "#ff8800",    -- define a new color
    green = '#00ffaa',            -- redefine an existing color
  },
  highlights = {
    ["@keyword"] = {fg = '$green'},
    ["@string"] = {fg = '$bright_orange', bg = '#00ff00', fmt = 'bold'},
    ["@function"] = {fg = '#0000ff', sp = '$cyan', fmt = 'underline,italic'},
    ["@function.builtin"] = {fg = '#0059ff'}
  }
}

Note that TreeSitter keywords have been changed after neovim version 0.8 and onwards. TS prefix is trimmed and lowercase words should be used separated with '.'

The old way before neovim 0.8 looks like this. For all keywords see this file from line 133 to 257

require('caironoon').setup {
  colors = {
    bright_orange = "#ff8800",    -- define a new color
    green = '#00ffaa',            -- redefine an existing color
  },
  highlights = {
    TSKeyword = {fg = '$green'},
    TSString = {fg = '$bright_orange', bg = '#00ff00', fmt = 'bold'},
    TSFunction = {fg = '#0000ff', sp = '$cyan', fmt = 'underline,italic'},
    TSFuncBuiltin = {fg = '#0059ff'}
  }
}

Plugins Configuration

Enable lualine

To Enable the caironoon theme for Lualine, specify theme as caironoon:

require('lualine').setup {
  options = {
    theme = 'caironoon'
    -- ... your lualine config
  }
}

Plugins Supported

Reference

Contributing

Pull requests are welcome 🎉👍.

License

MIT

caironoon.nvim's People

Contributors

navarasu avatar sobh avatar xeluxee avatar chomosuke avatar aymanbagabas avatar utilyre avatar programfan avatar neylix avatar rubixdev avatar vpavliashvili avatar scallaway-uipath avatar schardev avatar doctoromer avatar matthewswitzer avatar jackm245 avatar baco-ceg avatar cljoly avatar matthewgrossman avatar mchekardov avatar mfauzaan avatar ribru17 avatar taketwo avatar hezhizhen avatar black-desk avatar c373 avatar classabbyamp avatar dav-cho avatar d0ot avatar tinusgraglin avatar julpikar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.