GithubHelp home page GithubHelp logo

mhuggins7278 / github-nvim-theme Goto Github PK

View Code? Open in Web Editor NEW

This project forked from projekt0n/github-nvim-theme

0.0 1.0 0.0 413 KB

Github theme for Neovim, kitty, iTerm, Konsole, tmux, Xresources and Alacritty written in Lua

License: MIT License

Lua 85.79% Makefile 1.89% Scheme 0.03% Shell 11.72% Vim Script 0.57%

github-nvim-theme's Introduction

github-nvim-theme

Status

Linting Twitter

Features

  • Supports the latest Neovim 0.5 features like TreeSitter and LSP
  • Minimal inactive statusline (only work with Vim's Default StatusLine)
  • Vim terminal colors
  • Darker background for sidebar-like windows
  • Color configs for kitty, iTerm2, Konsole, tmux, Xresources and Alacritty
  • Most elegant lualine theme

Requirements

  • Neovim >= 0.5.0

Installation

Install the theme with your preferred package manager:

vim-plug

Plug 'projekt0n/github-nvim-theme'

packer

use "projekt0n/github-nvim-theme"

Usage

Enable the colorscheme:

" Vim Script
colorscheme github_*
-- Lua
require('github-theme').setup()

Configuration

Option Default Description
colors {} You can override specific color groups to use other groups or a hex color
comment_style italic Highlight style for comments (check :help highlight-args for options)
dark_float false Float windows like the lsp diagnostics windows get a darker background.
dark_sidebar true Sidebar like windows like NvimTree get a darker background
dev false Developer Mode.
function_style NONE Highlight style for functions (check :help highlight-args for options)
hide_end_of_buffer true Enabling this option, will hide filler lines (~) after the end of the buffer
hide_inactive_statusline true Enabling this option, will hide inactive statuslines and replace them with a thin border instead. Should work with the standard StatusLine.
keyword_style italic Highlight style for keywords (check :help highlight-args for options)
msg_area_style NONE Highlight style for messages and cmdline (check :help highlight-args for options)
overrides function Override specific highlight groups. The function accpet colors as argument. You can also add a non-exists highlight by enabling the dev mode.
sidebars {} Set a darker background on sidebar-like windows. For example: {"qf", "vista_kind", "terminal", "packer"}
theme_style dark Set theme variant (options: dark/dimmed/dark_default/dark_colorblind/light/light_default/light_colorblind)
transparent false Enable this to disable setting the background color
variable_style NONE Highlight style for variables and identifiers (check :help highlight-args for options)

Using vim

" Example config in VimScript
" NOTE: Configuration needs to be set BEFORE loading the color scheme with `colorscheme` command
let g:github_function_style = "italic"
let g:github_sidebars = ["qf", "vista_kind", "terminal", "packer"]

" Change the "hint" color to the "orange" color, and make the "error" color bright red
let g:github_colors = {
  \ 'hint': 'orange',
  \ 'error': '#ff0000'
\ }

" Load the colorscheme
colorscheme github_dark

Using lua

-- Example config in Lua
require("github-theme").setup({
  theme_style = "dark",
  function_style = "italic",
  sidebars = {"qf", "vista_kind", "terminal", "packer"},

  -- Change the "hint" color to the "orange" color, and make the "error" color bright red
  colors = {hint = "orange", error = "#ff0000"},

  -- Overwrite the highlight groups
  overrides = function(c)
    return {
      htmlTag = {fg = c.red, bg = "#282c34", sp = c.hint, style = "underline"},
      DiagnosticHint = {link = "LspDiagnosticsDefaultHint"},
      -- this will remove the highlight groups
      TSField = {},
    }
  end
})

Lualine Support

Note: hide_inactive_statusline option is deprecated for lualine. That means it does not force the underline style to StatusLineNC highlight.

Installation docs and screenshots at LUALINE.md.

Terminal Themes

To generate the configs make terminal or :luafile lua/github-theme/terminal/init.lua

Extra color configs for kitty, iTerm, Konsole, tmux, Xresources and Alacritty can be found in terminal directory. To use them, refer to their respective documentation.

Making undercurls work properly in Tmux

To have undercurls show up and in color, add the following to your Tmux config file:

# Undercurl
set -g default-terminal "${TERM}"
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'  # undercurl support
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'  # underscore colours - needs tmux-3.0

Plugin Support

๐Ÿ“บ Screenshots

Theme Styles

Dark

" VimScript
colorscheme github_dark
-- Lua
require("github-theme").setup({
  theme_style = "dark",
  -- other config
})

github_dark

Dimmed

" VimScript
colorscheme github_dimmed
-- Lua
require("github-theme").setup({
  theme_style = "dimmed",
  -- other config
})

github_dimmed

Dark Default

" VimScript
colorscheme github_dark_default
-- Lua
require("github-theme").setup({
  theme_style = "dark_default",
  -- other config
})

github_dark_default

Dark Colorblind (Beta)

" VimScript
colorscheme github_dark_colorblind
-- Lua
require("github-theme").setup({
  theme_style = "dark_colorblind",
  -- other config
})

github_dark_colorblind

Light

" VimScript
colorscheme github_light
-- Lua
require("github-theme").setup({
  theme_style = "light",
  -- other config
})

github_light

Light Default

" VimScript
colorscheme github_light_default
-- Lua
require("github-theme").setup({
  theme_style = "light_default",
  -- other config
})

github_light_default

Light Colorblind (Beta)

" VimScript
colorscheme github_light_colorblind
-- Lua
require("github-theme").setup({
  theme_style = "light_colorblind",
  -- other config
})

github_light_colorblind

Syntax Styles

Default

github_default_syntax

Normal

" VimScript
let g:github_comment_style = "NONE"
let g:github_keyword_style = "NONE"
let g:github_function_style = "NONE"
let g:github_variable_style = "NONE"
-- Lua
require("github-theme").setup({
  comment_style = "NONE",
  keyword_style = "NONE",
  function_style = "NONE",
  variable_style = "NONE"
  -- other config
})

github_normal_syntax

Italic

" VimScript
let g:github_comment_style = "italic"
let g:github_keyword_style = "italic"
let g:github_function_style = "italic"
let g:github_variable_style = "italic"
-- Lua
require("github-theme").setup({
  comment_style = "italic",
  keyword_style = "italic",
  function_style = "italic",
  variable_style = "italic"
  -- other config
})

github_italic_syntax

Minimal config

" VimScript
let g:github_dark_sidebar = 0
-- Lua
require("github-theme").setup({
  dark_sidebar = false,
  -- other config
})

github_minimal

Telescope

github_telescope

Contributing

Check CONTRIBUTING.md, any suggestions for features and contributions to the continuing code masterelopment can be made via the issue tracker or code contributions via a Fork & Pull requests.

github-nvim-theme's People

Contributors

ful1e5 avatar metalelf0 avatar dadyarri avatar xiyaowong avatar

Watchers

 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.