Giter Site home page Giter Site logo

lighthaus.nvim's Introduction

lighthaus.nvim

A Lua implementation of lighthaus-theme/vim-lighthaus, with added built-in LSP support!

Default (:colorscheme lighthaus):

normal

Dark (:colorscheme lighthaus_dark):

dark

Config

Lighthaus.nvim requires termguicolors.

init.lua:

vim.opt.termguicolors = true

.vimrc/init.vim:

set termguicolors

You can override colors using the Lua API. Calling setup() will load the colorscheme, so you can omit :colorscheme lighthaus from your config when using the Lua API.

require('lighthaus').setup({
  -- set true to use dark bg by default
  bg_dark = false,
  -- see colors.lua to see colors table, set overrides here to be merged with defaults
  colors = {},
  -- set to 'underline' to replace undercurl with underline
  -- or empty string '' to disable
  lsp_underline_style = 'undercurl',
  -- make background transparent, this overrides `bg_dark`
  transparent = false,
  -- use an italic font for comments
  italic_comments = false,
  -- use an italic font for keywords/conditionals
  italic_keywords = false,
})

Making Undercurls Work in Tmux

To have undercurls appear properly and in color, add the following to your tmux config file:

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

Plus Neovim's built-in LSP. Feel free to create a PR to support other plugins not listed here.

* Bufferline.nvim requires some configuration to integrate nicely with the theme. Recommended bufferline.nvim config:

local colors = require('lighthaus.colors')
require('bufferline').setup({
  options = {
    separator_style = 'slant',
    themable = true,
  },
  highlights = {
    fill = {
      guifg = colors.blacker_than_black,
      guibg = colors.blacker_than_black,
    },
    separator = {
      guifg = colors.blacker_than_black,
      guibg = colors.bg_dark,
    },
    separator_visible = {
      guifg = colors.blacker_than_black,
      guibg = colors.bg_dark,
    },
    separator_selected = {
      guifg = colors.blacker_than_black,
      guibg = colors.bg_dark,
    },
  },
})

** lighthaus.nvim adds a highlight group RustInlayHint that can be used for the Rust inlay hints added by lsp_extensions. You need to specify the highlight group to use in lsp_extensions config. Example:

require('lsp_extensions').inlay_hints({
  highlight = 'RustInlayHint',
  enabled = { 'TypeHint', 'ChainingHint', 'ParameterHint' },
})

Using Lualine Themes

There are two Lualine themes, 'lighthaus', and 'lighthaus_dark'. Use the one that corresponds to your selected Lighthaus theme.

Setup:

require('lualine').setup({
  options = {
    -- your other options here
    theme = 'lighthaus', -- or theme = 'lighthaus_dark'
  },
  -- your other lualine config here
})

Terminal Themes

Notes

lighthaus.nvim's People

Contributors

marcelarie avatar mrjones2014 avatar starbix 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.