Git Product home page Git Product logo

nord.nvim's Introduction

๐Ÿ–Œ๏ธ nord.nvim

Neovim theme using the Nord palette that tries to be as close as possible to the official vim theme and the official vscode theme.

"Arctic, north-bluish clean and elegant" - arcticicestudio

2022-12-01-142011_1277x703_scrot 2022-12-01-142157_1270x700_scrot 2022-12-01-142111_1276x700_scrot 2022-12-01-142044_1265x634_scrot

โœจ Features

  • supports TreeSitter and LSP
  • vim terminal colors
  • lualine theme

Plugin Support

Your preferred plugin is missing ? Open an issue or, even better, open a pull request ๐Ÿ˜‰.

โšก๏ธ Requirements

  • Neovim >= 0.8.0

๐Ÿ“ฆ Installation

Install the theme with your preferred package manager:

lazy

require("lazy").setup({
  {
    "gbprod/nord.nvim",
    lazy = false,
    priority = 1000,
    config = function()
      require("nord").setup({})
      vim.cmd.colorscheme("nord")
    end,
  },
  install = {
    colorscheme = { "nord" },
  },
});

๐Ÿš€ Usage

Enable the colorscheme:

" Vim Script
colorscheme nord
-- Lua
vim.cmd.colorscheme("nord")

โš™๏ธ Configuration

โ—๏ธ configuration needs to be set BEFORE loading the color scheme with colorscheme nord

Nord.nvim will use the default options, unless you call setup.

require("nord").setup({
  -- your configuration comes here
  -- or leave it empty to use the default settings
  transparent = false, -- Enable this to disable setting the background color
  terminal_colors = true, -- Configure the colors used when opening a `:terminal` in Neovim
  diff = { mode = "bg" }, -- enables/disables colorful backgrounds when used in diff mode. values : [bg|fg]
  borders = true, -- Enable the border between verticaly split windows visible
  errors = { mode = "bg" }, -- Display mode for errors and diagnostics
                            -- values : [bg|fg|none]
  search = { theme = "vim" }, -- theme for highlighting search results
                              -- values : [vim|vscode]
  styles = {
    -- Style to be applied to different syntax groups
    -- Value is any valid attr-list value for `:help nvim_set_hl`
    comments = { italic = true },
    keywords = {},
    functions = {},
    variables = {},

    -- To customize lualine/bufferline
    bufferline = {
      current = {},
      modified = { italic = true },
    },
  },

  -- colorblind mode
  -- see https://github.com/EdenEast/nightfox.nvim#colorblind
  -- simulation mode has not been implemented yet.
  colorblind = {
    enable = false,
    preserve_background = false,
    severity = {
      protan = 0.0,
      deutan = 0.0,
      tritan = 0.0,
    },
  },

  --- You can override specific highlights to use other groups or a hex color
  --- function will be called with all highlights and the colorScheme table
  on_highlights = function(highlights, colors) end,
})

๐Ÿค Integrations

nvim-lualine/lualine.nvim 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
  }
}
dnlhc/glance.nvim Nord provide default options for `glance.nvim` to have a better integration:
require("lazy").setup({
    {
      "dnlhc/glance.nvim",
      opts = require("nord.plugins.glance").make_opts({
        folds = {
          folded = false,
        },
      }),
    }
  }
)
akinsho/bufferline.nvim To use this theme for `bufferline`, add this to your config:
require("bufferline").setup({
    options = {
        separator_style = "thin",
    },
    highlights = require("nord.plugins.bufferline").akinsho(),
})

๐ŸŽ‰ Credits

nord.nvim's People

Contributors

ergusto avatar gbprod avatar isrothy avatar iton0 avatar mrtnvgr avatar przepompownia avatar stanly0726 avatar trevarj avatar zappolowski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

nord.nvim's Issues

Harsh pink color on syntax error

In certain files, such as toml or lua files, if you make a syntax error there is an intense pink as the background color:

image

If I switch themes this doesn't seem to happen. Maybe we can change it to a Nord palette color?

Theme not working on tmux

The theme works normally on my terminal but when I open a tmux session all the colors and the background disappear.

I have checked my $TERM variable and run checkhealt and everything looks normal on my tmux configuration, as I don't have this problem with other themes.

  • OS: WSL2

  • NVIM INFORMATION:

    • NVIM v0.10.1
    • Build type: Release
    • LuaJIT 2.1.1720049189
  • THEME CONFIGURATION:

    • Default one

Screenshot 2024-08-04 155304
Screenshot 2024-08-04 155505

Color is not like vs code

Hello, thanks for creating the awesome theme. It works pretty well, but it seems like I can't get the the view that you've shared in the README.md.
What I'm potentially missing here?

First screenshot is my current setup screenshot and the second screenshot is the equivalent vs-code view.
image
image

Feature request: support dap-ui

I would like to request the addition of support for nvim-dap-ui. Currently, the debugging experience in Neovim is enhanced by using the nvim-dap plugin, which provides a powerful debugging interface. Integrating nvim-dap-ui would greatly improve the overall usability and visual experience of the debugging workflow.

Dotfile

May I see your dotfile? I wonder how you make that line length marker.

TODO: colors

Hello,

Thank you for the great plugin!

I recently observed that the "TODO:", "XXX:", and "FIXME:" tags are not being highlighted as they are in the standard Nord theme for Vim. Could you please guide me on how to enable this feature in the custom theme?
Thank you in advance for your assistance.

Best regards.

Unclarity about stlyes

First of all, thanks for the plugin, time to update the original nord :)

One thing about styles. It's not clear why styes affect only a limited selection of handpicked things. Would it make sense to allow overriding any configured highlight group with styles? In which case you can call them overrides to make it obvious.

For example, I am personally not fond of having a color in TelescopeMatching, so I need to override the highlight group after the call to nord.setup(). Would be nice to have the customizations directly in the setup.

error when applying config

Screenshot from 2023-01-28 09-32-21
how to apply config? when I apply the config I keep getting errors (i have called the config on the first line), sorry if this question seems stupid but I really don't know how to fix it

No colors in Magit

There are no colors in Magit unlike 'articlestudio/nord'

gbprod/nord.vim

image

articlestudio/nord.vim

image

Add light version

Thanks for creating this theme. As someone who sometimes prefers to use light mode, it would be great if this theme also offered a light version, similar to the nordtheme website itself.

Typo

image

Here it should be `ice`

LspInlayHint highlight group

Hi, I'm on neovim nightly (v0.10.0-dev-1851+g34f008e24) and it is using built-in LSP inlay hint, something new in v10. They appear a bit dark for me so I tried to change them in on_highlights but couldn't seem to get it working. Any ideas?

on_highlights = function(hl, colors)
  hl.LspInlayHint = { fg = colors.palette.aurora.orange }
end,

Also, am I using the colors.palette correctly? It still doesn't work with just a hex color.

Default:
image

Need help with colors

Here in typescript file you can see that both variables and types are the same color
image
The desired way (screenshot from VS Code)
image
Please help me to fix this

Colorblind mode changes bg color

Keep in mind, I'm not entirely sure how the colorblind mode should work.

When colorblind mode is enabled, it may be best to not modify the background color, since this creates a difference in color with other nord themes, i.e terminal (if you have padding), tmux, window manager, etc.

Is it possible to have colorblind contrast but keep the original background color?

Changing name

Is probably a good idea to change the name to something else, since there are a lot of repos called nord.nvim. Something like: nord-nvim, nord_nvim.

options.styles.keywords isn't applied to some highlights

In lua/nord/treesitter.lua

    -- Keywords
    ["@keyword"] = vim.tbl_extend("force", { fg = c.frost.artic_water }, options.styles.keywords), --  various keywords
    ["@keyword.function"] = vim.tbl_extend("force", { fg = c.frost.artic_water }, options.styles.functions), --  keywords that define a function (e.g. `func` in Go, `def` in Python)
    ["@keyword.operator"] = { fg = c.frost.artic_water }, --  operators that are English words (e.g. `and` / `or`)
    ["@keyword.return"] = { fg = c.frost.artic_water }, --  keywords like `return` and `yield`
    ["@conditional"] = { fg = c.frost.artic_water }, --  keywords related to conditionals (e.g. `if` / `else`)
    ["@repeat"] = { fg = c.frost.artic_water }, --  keywords related to loops (e.g. `for` / `while`)
    ["@debug"] = { fg = c.snow_storm.origin }, --  keywords related to debugging
    ["@label"] = { fg = c.frost.polar_water }, --  GOTO and other labels (e.g. `label:` in C)
    ["@include"] = { fg = c.frost.artic_water }, --  keywords for including modules (e.g. `import` / `from` in Python)
    ["@exception"] = { fg = c.frost.artic_water }, --  keywords related to exceptions (e.g. `throw` / `catch`)

options.styles.keywords isn't applied to "@keyword.operator" etc.

I wonder whether this is a bug or a feature?

Highlights don't take effect, all text is white

All my text appears white and there are no highlights at all (not even for visual mode). I narrowed it down to the nord.syntax and nord.treesitter highlights: if I disable those, it seems like the rest of the theme loads well.

I'm using lazy and neovim v0.9.5 and not passing any custom configuration to nord, with all plugins supposedly in the last version. Is it possible that I have to update something or use some different configuration?

I understand I'm not giving a lot of info, so apologies. But I really can't find any error that points me in the right direction.

NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1710088188

Wrong Bracket and Underscore Background Highlighting + Fix

Hello,

First of all, thank you so much for your work on this theme, I love it ! :)

I just want to open this issue to help others who maybe have the same problem as I am.

The problem is that when you use vim.lsp.buf.hover() and if the text in that hover window has an underscore or a closing bracket, the background will be red.

These are a few examples:

screenshot_2024-05-05-203139
screenshot_2024-05-05-195922

I found a reddit post on the neovim subreddit in which the OP used a different theme and have the same issue as I was. It seemed like, according to the people in the comment, neovim (as of version v0.9.5 - stable) still doesn't use tree-sitter for the syntax highlighting in vim.lsp.buf.hover() which resulted in this.

I can't confirm if this is really the cause as I'm not too familiar with neovim internals so please delete this issue if you think it was something else causing it.

The fix is to install neovim nightly, I'm on version NVIM v0.10.0-dev-3085+gb024643ca and this issue went away completely on its own using the same config with this Nord theme.

Hope this helps for anyone else who also has this issue.

Keep up the good work @gbprod ! You can close this issue if you like.

How to use with LazyVim config

Hi, thanks for putting this together! I'm trying to use your plugin with the LazyVim config but I'm not sure whether I'm doing things right as the output looks different from what I expect it to based on your screenshots.

I'm configuring the plugin with

return {
  { "gbprod/nord.nvim" },

  {
    "LazyVim/LazyVim",
    opts = {
      colorscheme = "nord",
    },
  },
}

The NeoTree colors look a bit off, especially for the directories:

image

The autocomplete menu looks different

image

Telescope looks differently

image

I wonder whether the last two are just based on your settings for the plugins; if so, would you mind telling me how one gets the border around the extended documentation text and how one gets just the symbols on the left hand side like in your screenshot of the autocompletion and the thicker and colored border in telescope?

Thanks so much for your help!

neogit integration broken

Hey,
I'm having trouble with nord.nvim and neogit. The diffs are unreadable because the background and foreground is the same color. I believe this has to be fixed in the theme, ref this issue on neogit - NeogitOrg/neogit#807

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.