shaunsingh / nord.nvim

Neovim theme based off of the Nord Color Palette, written in lua with tree sitter support
GNU General Public License v2.0
857 stars 112 forks source link
colorscheme neovim nord nvim theme

shaunsingh/nord.nvim

Neovim theme based off of the Nord Color Palette.

118406380-d78ad580-b649-11eb-945c-5988fa717f39

Features

Nord.nvim is meant to be a modern colorscheme written in lua for NeoVim that supports a lot of the new features added to NeoVim like built-in LSP and TreeSitter

⚑️ Requirements

πŸŒ™ Installation

Install via your favourite package manager:

" If you are using Vim-Plug
Plug 'shaunsingh/nord.nvim'
-- If you are using Packer
use 'shaunsingh/nord.nvim'

πŸŒ“ Usage

Enable the colorscheme:

"Vim-Script:
colorscheme nord
--Lua:
vim.cmd[[colorscheme nord]]

To enable the nord theme for Lualine, simply specify it in your lualine settings:

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

βš™οΈ Configuration

Option Default Description
nord_contrast false Make sidebars and popup menus like nvim-tree and telescope have a different background
nord_borders false Enable the border between verticaly split windows visable
nord_disable_background false Disable the setting of background color so that NeoVim can use your terminal background
nord_cursorline_transparent false Set the cursorline transparent/visible
nord_enable_sidebar_background false Re-enables the background of the sidebar if you disabled the background of everything
nord_italic true enables/disables italics
nord_uniform_diff_background false enables/disables colorful backgrounds when used in diff mode
nord_bold true enables/disables bold
-- Example config in lua
vim.g.nord_contrast = true
vim.g.nord_borders = false
vim.g.nord_disable_background = false
vim.g.nord_italic = false
vim.g.nord_uniform_diff_background = true
vim.g.nord_bold = false

-- Load the colorscheme
require('nord').set()
" Example config in Vim-Script
let g:nord_contrast = v:true
let g:nord_borders = v:false
let g:nord_disable_background = v:false
let g:nord_italic = v:false
let g:nord_uniform_diff_background = v:true
let g:nord_bold = v:false

" Load the colorscheme
colorscheme nord

headlines support

To support headlines, you should add these code to your settings:

require("headlines").setup({
    markdown = {
        headline_highlights = {
            "Headline1",
            "Headline2",
            "Headline3",
            "Headline4",
            "Headline5",
            "Headline6",
        },
        codeblock_highlight = "CodeBlock",
        dash_highlight = "Dash",
        quote_highlight = "Quote",
    },
})

It should look like this

26B3E551-FD57-458C-BE85-C8945BCE37DF

bufferline support

To support BufferLine, you can add these code to your settings:

local highlights = require("nord").bufferline.highlights({
    italic = true,
    bold = true,
})

require("bufferline").setup({
    options = {
        separator_style = "thin",
    },
    highlights = highlights,
})

It should look like this

image

or you want to use slant separator

local highlights = require("nord").bufferline.highlights({
    italic = true,
    bold = true,
    fill = "#181c24"
})

require("bufferline").setup({
    options = {
        separator_style = "slant",
    },
    highlights = highlights,
})
image

The default setting of bufferline highlights is

{
    fill = colors.nord0_gui,
    indicator = colors.nord9_gui,
    bg = colors.nord0_gui,
    buffer_bg = colors.nord0_gui,
    buffer_bg_selected = colors.nord1_gui,
    buffer_bg_visible = "#2A2F3A",
    bold = true,
    italic = true,
}