adisen99/apprentice.nvim

github github
colorschemetreesitter-colorschemes
stars 42
issues 0
subscribers 1
forks 1
CREATED

2021-08-29

UPDATED

3 months ago


apprentice.nvim

A pretty colorscheme for neovim written in Lua based on the Apprentice color pattete with support for nvim-treesitter and neovim built-in lsp which can be enabled using setup() function (please refer to #Usage)

The basic structure and most of the code is inspired from the gruvbox.nvim colorscheme written by Ellison Leao

Installation

Requirements - apprentice.nvim requires the neovim v0.5 or greater to work.

Using vim-plug

Plug 'rktjmp/lush.nvim'
Plug 'adisen99/apprentice.nvim'

Using packer

use {"adisen99/apprentice.nvim", requires = {"rktjmp/lush.nvim"}}

Usage

Inside init.vim (this does not support treesitter, built-in lsp, use the init.lua method below or wrap it between lua << EOF ... EOF)

set background=dark " or light if you want light mode
colorscheme apprentice

Inside init.lua

vim.o.background = "dark" -- or "light" for light mode

-- Load and setup function to choose plugin and language highlights
require('lush')(require('apprentice').setup({
  plugins = {
    "buftabline",
    "coc",
    "cmp", -- nvim-cmp
    "fzf",
    "gitgutter",
    "gitsigns",
    "lsp",
    "lspsaga",
    "nerdtree",
    "netrw",
    "nvimtree",
    "neogit",
    "packer",
    "signify",
    "startify",
    "syntastic",
    "telescope",
    "treesitter"
  },
  langs = {
    "c",
    "clojure",
    "coffeescript",
    "csharp",
    "css",
    "elixir",
    "golang",
    "haskell",
    "html",
    "java",
    "js",
    "json",
    "jsx",
    "lua",
    "markdown",
    "moonscript",
    "objc",
    "ocaml",
    "purescript",
    "python",
    "ruby",
    "rust",
    "scala",
    "typescript",
    "viml",
    "xml"
  }
}))

If you want no plugin support then use colorscheme command instead -

vim.cmd(colorscheme apprentice)

NOTE - None of the plugins or languages highlights are enabled by default, the user is free to use the setup function to select which plugin highlights or language highlights they want to load.

Configuration

  • Setting the Contrast (hard, medium or soft)
lua vim.g.apprentice_contrast_dark = "medium"
" or
let g:apprentice_contrast_dark = "medium"

or

lua vim.g.apprentice_contrast_light = "soft"
" or
let g:apprentice_contrast_light = "soft"
  • Setting miscellaneous options
g.apprentice_hls_lspreference = "bright_yellow"
g.apprentice_hls_cursor = "bright_yellow"
g.apprentice_hls_highlight = "bright_yellow"
g.apprentice_italicize_booleans = true
g.apprentice_tabline_sel = "fg0"
}))

For more Configuration option - go to the CONFIGURATION page in the WIKI

Additional supported plugins

Screenshots

dark mode

hard contrast

Dark mode

medium contrast (default)

Dark mode

soft contrast

Dark mode

light mode

hard contrast

Light mode

medium contrast (default)

Light mode

soft contrast

Light mode

Contribution

This colorscheme is still in development and testing. Users are welcome to use it however for programming daily. In case a user spots any bugs or error especially related to the supported plugins, treesitter or built-in LSP highlight support, then they can contribute by opening an issue or by making a pull request. More plugin highlight support is also welcome.

HAPPY CODING :smile: