Home

Awesome

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

OptionDefaultDescription
nord_contrastfalseMake sidebars and popup menus like nvim-tree and telescope have a different background
nord_bordersfalseEnable the border between verticaly split windows visable
nord_disable_backgroundfalseDisable the setting of background color so that NeoVim can use your terminal background
nord_cursorline_transparentfalseSet the cursorline transparent/visible
nord_enable_sidebar_backgroundfalseRe-enables the background of the sidebar if you disabled the background of everything
nord_italictrueenables/disables italics
nord_uniform_diff_backgroundfalseenables/disables colorful backgrounds when used in diff mode
nord_boldtrueenables/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

<img width="891" alt="image" src="https://user-images.githubusercontent.com/61075605/189152634-6d309903-90e6-4ffe-a7bc-f65b19eb4c43.png"> 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,
})

<img width="866" alt="image" src="https://user-images.githubusercontent.com/61075605/189151983-0cbf1f13-e62b-4b01-b6ce-a1c00a5f8ef3.png">

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,
}