Compare commits

...

20 commits

Author SHA1 Message Date
Sven Greb f13f5dfbb7
Adapt remaining arcticicestudio "fade-out" changes (#342)
With the retirement of the "Arctic Ice Studio" personal & Nord project
brand [1] various migrations to the `svengreb` GitHub account [2] of
other projects were also completed within the last weeks. There are also
changes in Nord projects like `nordtheme/web` that other projects
depended on and can now be adapted as well.
Therefore all Nord projects must adapt these changes which includes...

- the migration and repository name change of
  `arcticicestudio/nord-docs`[2] - all references must be updated.
- the migration of the `arcticicestudio/styleguide-git` repository to
  the `svengreb` "real-in-person" identity [3] - all references and
  used npm packages must be updated.
- the migration of the `arcticicestudio/styleguide-javascript`
  repository to the `svengreb` "real-in-person" identity [4] - all
  references and used npm packages must be updated.
- the migration of the `arcticicestudio/styleguide-markdown` repository
  to the `svengreb` "real-in-person" identity [5] - all references and
  used npm packages must be updated.

[1]: https://github.com/orgs/nordtheme/discussions/183#retire-arctic-ice-studio-as-nord-brand
[2]: https://github.com/nordtheme/web/issues/241
[3]: https://github.com/svengreb/styleguide-git/issues/12
[4]: https://github.com/svengreb/styleguide-javascript/issues/88
[5]: https://github.com/svengreb/styleguide-markdown/issues/63

GH-341
2023-05-03 22:43:25 +02:00
Sven Greb f725ac643a More nordtheme organization migration adapations
To align with the latest Nord project standards more changes have been
made for as part of the `nordtheme` organization migration.

GH-335
2023-04-10 17:40:40 +02:00
Sven Greb 684c345b8a
nordtheme organization migration (#336)
As part of the "Northern Post - The state and roadmap of Nord" [1]
announcement, this repository will be migrated to the `nordtheme` GitHub
organization [2].
This issue is a task of the nordtheme/nord#185 [3] epic (tasklist [4]).

[1]: https://github.com/orgs/nordtheme/discussions/183
[2]: https://github.com/nordtheme
[3]: https://github.com/nordtheme/nord/issues/185
[4]: https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/about-task-lists

GH-335
2023-03-07 22:58:07 +01:00
Sven Greb 0748955e9e
Fix image URLs after nord-docs GitHub flow and main branch migration (#327)
The URLs to image assets were broken due the recent GitHub flow
migration [1] in the `nord-docs` repository as well as the switch from
the `master` to `main` branch [2].

[1]: https://github.com/arcticicestudio/nord-docs/issues/229
[2]: https://github.com/arcticicestudio/nord-docs/issues/236

GH-326
2022-10-08 12:31:56 +02:00
Jason Long bc0f057162
Add Gitsigns and Sneak support (#316)
The highlighting for the marker of the `justinmk/vim-sneak` now matches
the style of the Vim search highlighting.
Also the inline text of the Neovim specific `lewis6991/gitsigns.nvim`
plugin now matches the the foregroun color of comments.


Co-authored-by: Sven Greb <development@svengreb.de>

GH-316
2022-05-31 18:14:25 +02:00
Sven Greb d32b4dd6aa
From master to main (#314)
Adapted to the default branch renaming from `master` to `main` [1] like
documented in detail in the main task issue
arcticicestudio/styleguide-git#11 [2].

[1]: https://github.com/github/renaming
[2]: https://github.com/arcticicestudio/styleguide-git/issues/11

Subtask of arcticicestudio/styleguide-git#11
GH-313
2022-05-14 15:06:42 +02:00
Sven Greb 6cbbf7a1bb
GitHub Flow migration (#312)
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue arcticicestudio/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: https://guides.github.com/arcticicestudio/styleguide-git/issues/9

Co-authored-by: Sven Greb <development@svengreb.de>
Co-authored-by: Arctic Ice Studio <development@arcticicestudio.com>

Subtask of arcticicestudio/styleguide-git#9
GH-311
2022-05-14 14:40:11 +02:00
Sven Greb 2272dcf8ef Merge branch 'release/0.19.0' 2022-05-14 11:42:31 +02:00
Sven Greb c9e7f43e7f Release version 0.19.0 2022-05-14 11:42:13 +02:00
Julien Voisin f3327dbde7 Only call execute function once per syntax group (#303)
Before the custom `s:hi` function called Vim's `execute` function [1]
for each defined attribute which is quite expensive in terms of
performance. To improve this the attributes are now concatenate as
string and passed to `exec` at the end of the function instead.


Co-authored-by: Julien Voisin <jvoisin@google.com>
Co-authored-by: Sven Greb <development@svengreb.de>
Co-authored-by: Arctic Ice Sudio <development@arcticicestudio.com>

[1]: https://vimhelp.org/builtin.txt.html#builtin.txt#execute%28%29

GH-303
2022-05-14 11:42:13 +02:00
Julien Voisin dd7666d8b0 Use ternary for "italic" theme configuration (#305)
Instead of using a if/else block and empty variable declaration Vim's
builtin `get` function [1] is now used to simplify the code.


Co-authored-by: Sven Greb <development@svengreb.de>
Co-authored-by: Arctic Ice Studio <development@arcticicestudio.com>

[1]: https://vimhelp.org/builtin.txt.html#builtin.txt#get%28%29

GH-305
2022-05-14 11:42:13 +02:00
Sven Greb dc6cc32341 Revert conditional plugin loading (#307)
The changes introduced in PR GH-294 [1] did not take into account that
the order how plugins are loaded are not always constant and can also
change based on how users order plugins in their configurations.
When a supported plugin is loaded after Nord the global `loaded_*`
variable might not be available yet, causing the styles to be skipped
due to the conditional block guard. Also each plugin manager handles the
plugin loading order differently which is also a problem when checking
for global variable existence.

The loading time of the Nord plugin is still totally fine so improving
the stability for only a minimal performance boost is no negative trade
at all (tested via `vim --startuptime timing.out`):

  4.956ms: sourcing ~/.local/share/vim/plugged/nord-vim/colors/nord.vim

[1]: https://github.com/arcticicestudio/nord-vim/pull/294
[2]: https://github.com/arcticicestudio/nord-vim/issues/306

Fixes GH-306
2022-05-14 11:42:13 +02:00
Julien Voisin bf09e50f5c Refactor theme configuration conditions (#295)
The conditions and default values of the theme configurations were quite
verbose so this commit improves them by...

- ...using inline ternary operators instead of if/else blocks to reduce
  the code overhead and make it way more readable.
- ...using Vim builtin `get` function [1] instead of if/else blocks.
- ...inlining the script-scoped `logWarning` function since it was only
  used once.
- ...grouping some blocks where it made sense.

[1]: https://vimhelp.org/builtin.txt.html#builtin.txt#get%28%29

GH-295


Co-authored-by: Sven Greb <development@svengreb.de>
2022-05-14 11:42:13 +02:00
Justin Nel 085a184d5d Fix syntax error in exists function (#297)
Fix syntax error in `exists` function

In GH-296 a syntax errors has crept in where the `exists` function was
missing the second `s` in two cases.

Fixes GH-299
GH-297


Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
Co-authored-by: Sven Greb <development@svengreb.de>
Co-authored-by: Arctic Ice Studio <development@arcticicestudio.com>
2022-05-14 11:42:13 +02:00
Julien Voisin b0a09b73f1 Guard more plugin specific features in conditional blocks (#296)
This commit is a continuation of GH-294, see message and PR discussion
of commit `a4bf0a63e8e1e62e884eee9ec04d577105f58aa7` for details.

[1]: a4bf0a63e8

Related to GH-294
GH-296


Co-authored-by: Julien Voisin <jvoisin@google.com>
Co-authored-by: Sven Greb <development@svengreb.de>
2022-05-14 11:42:13 +02:00
Julien Voisin da94312d82 Don't load plugin-related things when the relevant plugin isn't installed (#294)
Guard plugin and Neovim specific features in conditional blocks

Function calls are expensive in Vim script so to reduce the overhead of
processing the theme most plugin and Neovim specific features are now
wrapped in conditional blocks, e.g. Neovim highlighting groups are only
loaded when the global `nvim` variable is set while other plugins are
checked for their own `loaded_*` variable (common plugin pattern).

Some plugins provide no easy/straightforward way to be detected, so not
all blocks are behind conditions, but it's still a significant
improvement, and can always be improved in the future.


Co-authored-by: Julien Voisin <jvoisin@google.com>
Co-authored-by: Sven Greb <development@svengreb.de>

GH-294
2022-05-14 11:42:13 +02:00
Charles Moscofian 3c2e4113d9 Add support for LSPSignatureHelpActiveParameter (#286)
The `vim.lsp.buf.signature_help` function is used to highlight the
active parameter in the signature help [1].
Before this commit the active parameter was not styled differently to
any other parameter which made it hard to distinguish it. This has been
improved by adding support for the `LspSignatureActiveParameter` syntax
highlighting group where the active parameter now uses `nord8` are
foreground color and additionally a font underline with the same color.

[1]: 70db972e5f/runtime/doc/lsp.txt (L456-L459)


Co-authored-by: Sven Greb <development@svengreb.de>
Co-authored-by: Arctic Ice Studio <development@arcticicestudio.com>

GH-286
2022-05-14 11:42:13 +02:00
Julien Voisin 5970582dc4 Improve readability of C language constants (#283)
Improve readability of C language constants

To improve the readability of C language constants, defined by the
`cConstant` syntax highlighting group [1], these are now colored with
`nord9` for the foreground to make them stand out. This is important in
C, since interesting things are usually happening in their proximity,
like checking/returning an error, passing particular values/flags to
functions and so on.

[1]: 0e6adf8a29/runtime/syntax/c.vim (L313-L375)



Co-authored-by: Arctic Ice Studio <development@arcticicestudio.com>
Co-authored-by: Sven Greb <development@svengreb.de>

GH-283
2022-05-14 11:42:13 +02:00
Charles Moscofian 2df7a984d6 Add support for LSP textDocument/documentHighlight (#284)
Support for Neovim LSP `documentHighlight` groups

The Neovim LSP `textDocument` / `documentHightlight` groups [1] are
responsible to highlight tokens in a document that are related to each
other, e.g. decalred variables, using the
`vim.buf.lsp.document_highlight()` function.
Also see the LSP specification about "Document Highlights Request" [2]
for more details.

[1]: f92a2457c2/runtime/doc/lsp.txt (L423)
[2]: https://microsoft.github.io/language-server-protocol/specification#textDocument_documentHighlight


Co-authored-by: Arctic Ice Studio <development@arcticicestudio.com>
Co-authored-by: Sven Greb <development@svengreb.de>
2022-05-14 11:42:13 +02:00
Jan Steinke 3a362b6da3 Add support for neovim 0.6.0 diagnostic API highlight groups (#282)
In Neovim `0.6.0` [1] the naming scheme for the highlight groups of the
diagnostic API changed [2]. The new groups have been added as default while
the previous groups are conditionally guarded when using Neovim `0.5.0`.

[1]: https://github.com/neovim/neovim/releases/tag/v0.6.0
[2]: a5bbb932f9 (diff-51fab2b766d0a3b606462e95de492190df173b7296147912307cdad636cd492aR77)


Co-authored-by: Arctic Ice Studio <development@arcticicestudio.com>
Co-authored-by: Sven Greb <development@svengreb.de>

GH-282
2022-05-14 11:42:13 +02:00
23 changed files with 8265 additions and 454 deletions

27
.editorconfig Normal file
View file

@ -0,0 +1,27 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the MIT license found in the license file.
# Configurations for EditorConfig.
# See https://editorconfig.org/#file-format-details for more details.
# +--------------------+
# + Base Configuration +
# +--------------------+
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
max_line_length = 160
trim_trailing_whitespace = true
# +-----------+
# + Languages +
# +-----------+
# +--- Markdown ---+
[*.{md}]
max_line_length = off
trim_trailing_whitespace = false

14
.eslintignore Normal file
View file

@ -0,0 +1,14 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the MIT license found in the license file.
# Path match pattern to ignore (i.e. not lint) certain files and folders.
# References:
# 1. https://eslint.org/docs/latest/use/configure/ignore
node_modules/
# Explicitly include specific "dotfiles".
# ESLint automatically applies ignore pattern for "dotfiles" by default to prevent accidentally lint over paths like
# `.git` or any other critical paths.
!**/.eslintrc.js
!.remarkrc.mjs

32
.eslintrc.js Normal file
View file

@ -0,0 +1,32 @@
/*
* Copyright (c) 2016-present Sven Greb <development@svengreb.de>
* This source code is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license found in the license file.
*/
/**
* Configurations for ESLint.
* @see https://eslint.org/docs/latest/use/configure
* @see https://eslint.org/docs/latest/use/configure/#using-configuration-files
* @see https://eslint.org/docs/latest/use/configure/#specifying-environments
* @see https://eslint.org/docs/latest/rules
*/
module.exports = {
root: true,
extends: [
"@svengreb/eslint-config-base",
/*
* Enable support for projects using Prettier.
* Note that this must always be placed after the `@svengreb/eslint-config-base` preset to take precedence, otherwise it won't prevent errors
* due to useless and possibly conflicting rules!
*/
"@svengreb/eslint-config-base/prettier",
],
overrides: [
{
files: ["*.js"],
rules: {
"capitalized-comments": "off",
},
},
],
};

12
.gitattributes vendored Normal file
View file

@ -0,0 +1,12 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the MIT license found in the license file.
# Configuration to define attributes per path.
#
# References:
# 1. https://git-scm.com/docs/gitattributes
# 2. https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes#Keyword-Expansion
# Automatically perform line feed (LF) normalization for files detected as text and
# leave all files detected as binary untouched.
* text=auto eol=lf

14
.github/codeowners vendored Normal file
View file

@ -0,0 +1,14 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the MIT license found in the license file.
# Configuration for the GitHub feature to automatically request reviews from the code owners
# when a pull request changes any owned files.
#
# References:
# 1. https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#codeowners-file-location
# 2. https://github.com/blog/2392-introducing-code-owners
# +----------------------+
# + Core Team Code Owner +
# +----------------------+
* @svengreb

10
.gitignore vendored Normal file
View file

@ -0,0 +1,10 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the MIT license found in the license file.
# Path match pattern to intentionally ignore untracked files and directories.
# See https://git-scm.com/docs/gitignore for more details.
# +---------+
# + Node.js +
# +---------+
node_modules/

13
.husky/pre-commit Executable file
View file

@ -0,0 +1,13 @@
#!/bin/sh
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license found in the license file.
# Git "pre-commit" hook for husky.
# References:
# 1. https://github.com/typicode/husky
# 2. https://git-scm.com/docs/githooks#_pre_commit
. "$(dirname "$0")/_/husky.sh"
npm exec lint-staged

8
.mailmap Normal file
View file

@ -0,0 +1,8 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the MIT license found in the license file.
# Configuration for the Git mail mapping feature to coalesce together commits by the same person in the shortlog,
# where their name and/or email address was spelled differently or has been changed.
# See https://git-scm.com/docs/git-shortlog#_mapping_authors for more details.
Sven Greb <development@svengreb.de>
Sven Greb <development@svengreb.de> <development@arcticicestudio.com>

25
.npmrc Normal file
View file

@ -0,0 +1,25 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the MIT license found in the license file.
# Configurations for npm.
# See https://docs.npmjs.com/cli/v7/configuring-npm/npmrc for more details.
# Disable the vulnerability auditing and checks which includes often way too many false-positives, insignificant
# problems that are only for local development, and many other warnings that are overhelming.
# Use dedicated vulnerability tools instead to filter and identify issue that really impact the project.
# References:
# 1. https://docs.npmjs.com/cli/v9/commands/npm-audit
audit=false
# Only use a lockfile for single-consumer projects, like applications, but not for multi-consumer projects like
# libraries.
# It helps to pin dependency versions, improves the security through integrity checksums, prevents possible errors
# caused by updated transitive dependencies and allows to get deterministic build results, but it can hide problems in
# multi-consumer projects when any later versions of a used dependency, or its transitive dependencies, is not
# compatible with the own project anymore.
package-lock=true
# Do not resolve to the latest minor and patch updates.
# Automatically pin dependencies to exact versions instead of resolving to latest minor and patch updates.
# This prevents possible errors caused by updated transitive dependencies.
save-exact=true

8
.prettierignore Normal file
View file

@ -0,0 +1,8 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the MIT license found in the license file.
# Path match pattern to ignore (i.e. not reformat) certain files and folders.
# See https://prettier.io/docs/en/ignore for more details.
.husky/_/
node_modules/

8
.remarkignore Normal file
View file

@ -0,0 +1,8 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the MIT license found in the license file.
# Path match pattern to ignore when searching for files.
# See https://github.com/unifiedjs/unified-engine/blob/HEAD/doc/ignore.md for more details.
node_modules/
license

13
.remarkrc.mjs Normal file
View file

@ -0,0 +1,13 @@
/*
* Copyright (c) 2016-present Sven Greb <development@svengreb.de>
* This source code is licensed under the MIT license found in the license file.
*/
/**
* Configurations for remark-lint.
* @see https://github.com/remarkjs/remark-lint
* @see https://remark.js.org
*/
export default {
plugins: ["@svengreb/remark-preset-lint"],
};

View file

@ -1,86 +0,0 @@
<p align="center"><a href="https://www.nordtheme.com/ports/vim" target="_blank"><img src="https://raw.githubusercontent.com/arcticicestudio/nord-docs/develop/assets/images/ports/vim/repository-hero.svg?sanitize=true"/></a></p>
<p align="center"><a href="https://github.com/arcticicestudio/nord-vim/releases/latest"><img src="https://img.shields.io/github/release/arcticicestudio/nord-vim.svg?style=flat-square&label=Release&logo=github&logoColor=eceff4&colorA=4c566a&colorB=88c0d0"/></a> <a href="https://www.nordtheme.com/docs/ports/vim"><img src="https://img.shields.io/github/release/arcticicestudio/nord-vim.svg?style=flat-square&label=Docs&colorA=4c566a&colorB=88c0d0&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI%2BCiAgICA8cGF0aCBmaWxsPSIjZDhkZWU5IiBkPSJNMTMuNzQ2IDIuODEzYS42Ny42NyAwIDAgMC0uNTU5LS4xMzNMOCAzLjg0OGwtNS4xODgtMS4xOGEuNjY5LjY2OSAwIDAgMC0uNTcuMTMzLjY3Ny42NzcgMCAwIDAtLjI0Mi41MzF2OC4xMzNjLS4wMDguMzIuMjEuNTk4LjUyLjY2OGw1LjMzMiAxLjE5OWguMjk2bDUuMzMyLTEuMmEuNjY4LjY2OCAwIDAgMCAuNTItLjY2N1YzLjMzMmEuNjU5LjY1OSAwIDAgMC0uMjU0LS41MnpNMy4zMzIgNC4xNjhsNCAuODk4djYuNzY2bC00LS44OTh6bTkuMzM2IDYuNzY2bC00IC44OThWNS4wNjZsNC0uODk4em0wIDAiLz4KPC9zdmc%2BCg%3D%3D"/></a> <a href="https://github.com/arcticicestudio/nord-vim/blob/develop/CHANGELOG.md#050"><img src="https://img.shields.io/github/release/arcticicestudio/nord-vim.svg?style=flat-square&label=Changelog&logo=github&logoColor=eceff4&colorA=4c566a&colorB=88c0d0"/></a></p>
<p align="center"><a href="https://github.com/arcticicestudio/styleguide-markdown/releases/latest" target="_blank"><img src="https://img.shields.io/github/release/arcticicestudio/styleguide-markdown.svg?style=flat-square&label=Markdown%20Style%20Guide&colorA=4c566a&colorB=88c0d0&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzOSIgaGVpZ2h0PSIzOSIgdmlld0JveD0iMCAwIDM5IDM5Ij48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNEOERFRTkiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMS41IDEuNWgzNnYzNmgtMzZ6Ii8%2BPHBhdGggZmlsbD0iI0Q4REVFOSIgZD0iTTIwLjY4MyAyNS42NTVsNS44NzItMTMuNDhoLjU2Nmw1Ljg3MyAxMy40OGgtMS45OTZsLTQuMTU5LTEwLjA1Ni00LjE2MSAxMC4wNTZoLTEuOTk1em0tMi42OTYgMGwtMTMuNDgtNS44NzJ2LS41NjZsMTMuNDgtNS44NzJ2MS45OTVMNy45MzEgMTkuNWwxMC4wNTYgNC4xNnoiLz48L3N2Zz4%3D"/></a> <a href="https://github.com/arcticicestudio/styleguide-git/releases/latest" target="_blank"><img src="https://img.shields.io/github/release/arcticicestudio/styleguide-git.svg?style=flat-square&label=Git%20Style%20Guide&logoColor=eceff4&colorA=4c566a&colorB=88c0d0&logo=git"/></a></p>
<p align="center">An arctic, north-bluish clean and elegant <a href="https://www.vim.org">Vim</a> color theme.</p>
<p align="center">Designed for a fluent and clear workflow based on the <a href="https://www.nordtheme.com">Nord</a> color palette.</p>
<p align="center"><a href="https://www.nordtheme.com/ports/vim" target="_blank"><img src="https://raw.githubusercontent.com/arcticicestudio/nord-docs/develop/assets/images/ports/vim/overview-go.png"/></a></p>
Build for Vim's terminal- and GUI mode with _true colors_ with support for many third-party syntax and UI plugins including bundled themes for [lightline.vim][gh-itchyny/lightline.vim] and [vim-airline][gh-vim-airline/vim-airline].
## Getting Started
Visit the [official website][nord-home] to learn all about the [syntax highlighting][nord-home#syntax] features, details and elements of [UI and editor elements][nord-home#editor-details], the [various theme configurations][nord-home#configurations] and the [support for many plugins][nord-home#plugin-support].
Learn about the [installation and activation][nord-docs-home-install], how to [configure][nord-docs-home-config] and [customize][nord-docs-home-custom] the theme from the [official documentations][nord-docs-home].
### Quick Start
Thanks to existing plugin/_runtimepath_ managers for Vim, Nord Vim can be installed for all platforms and the various variants/forks of Vim in a uniform way within a few lines of codes. The recommended manager is [vim-plug][gh-junegunn/vim-plug], but any other manager like [pathogen][gh-tpope/vim-pathogen] or [Vundle][gh-vundlevim/vundle.vim] can also be used.
To automatically download and activate Nord Vim, follow the install instructions for [vim-plug][gh-junegunn/vim-plug] and
1. add `Plug 'arcticicestudio/nord-vim'` to your [`vimrc`][vimhelp-vimrc] within _vim-plug_'s plugin loading function
2. run the `:PlugInstall` command in Vim
3. activate the theme by adding `colorscheme nord` to the [vimrc][vimhelp-vimrc] or change it on-the-fly by running `:colorscheme nord`
<p align="center"><img src="https://raw.githubusercontent.com/arcticicestudio/nord-docs/develop/assets/images/ports/vim/installation-vim-plug.png"/></p>
See the Nord Vim's documentation for [more installation options][nord-docs-home-install] and how to [set it up manually][nord-docs-home-install#manual].
## Features
<p align="center"><strong>A unified UI and editor syntax element design provides a clutter-free and fluidly merging appearance.</strong><br /><img src="https://raw.githubusercontent.com/arcticicestudio/nord-docs/develop/assets/images/ports/vim/overview-go-nerdtree.png"/></p>
<p align="center"><strong>Small details with unobtrusive styles for popular and common code editor features like search result marker and brace matching — designed to get out of your way with a visually attractive appearance.</strong><br /><img src="https://raw.githubusercontent.com/arcticicestudio/nord-docs/develop/assets/images/ports/vim/editor-search-highlighting.png"/></p>
<p align="center"><strong>Support for a wide range of programming languages — from bundled plugins up to many popular syntax and UI third-party plugins.</strong><br /><img src="https://raw.githubusercontent.com/arcticicestudio/nord-docs/develop/assets/images/ports/vim/syntax-javascript-react-hook.png"/></p>
## Contributing
Nord is an open source project and we love to receive contributions from the [community][nord-comm]!
There are many ways to contribute, from [writing- and improving documentation and tutorials][nord-contrib-guide-docs], [reporting bugs][nord-contrib-guide-bugs], [submitting enhancement suggestions][nord-contrib-guide-enhance] that can be added to Nord by [submitting pull requests][nord-contrib-guide-pr].
Please take a moment to read Nord's full [contributing guide][nord-contrib-guide] to learn about the development process, the project's used [styleguides][nord-contrib-guide-styles], [branch organization][nord-contrib-guide-branching] and [versioning][nord-contrib-guide-versioning] model.
The guide also includes information about [minimal, complete, and verifiable examples][nord-contrib-guide-mcve] and other ways to contribute to the project like [improving existing issues][nord-contrib-guide-impr-issues] and [giving feedback on issues and pull requests][nord-contrib-guide-feedback].
<p align="center"><img src="https://raw.githubusercontent.com/arcticicestudio/nord-docs/develop/assets/images/nord/repository-footer-separator.svg?sanitize=true" /></p>
<p align="center">Copyright &copy; 2016-present <a href="https://www.arcticicestudio.com" target="_blank">Arctic Ice Studio</a> and <a href="https://www.svengreb.de" target="_blank">Sven Greb</a></p>
<p align="center"><a href="https://github.com/arcticicestudio/nord-vim/blob/develop/LICENSE.md"><img src="https://img.shields.io/static/v1.svg?style=flat-square&label=License&message=MIT&logoColor=eceff4&logo=github&colorA=4c566a&colorB=88c0d0"/></a></p>
[gh-itchyny/lightline.vim]: https://github.com/itchyny/lightline.vim
[gh-junegunn/vim-plug]: https://github.com/junegunn/vim-plug
[gh-tpope/vim-pathogen]: https://github.com/tpope/vim-pathogen
[gh-vim-airline/vim-airline]: https://github.com/vim-airline/vim-airline
[gh-vundlevim/vundle.vim]: https://github.com/tpope/vim-pathogen
[nord-comm]: https://www.nordtheme.com/community
[nord-contrib-guide-branching]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#branch-organization
[nord-contrib-guide-bugs]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#bug-reports
[nord-contrib-guide-docs]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#documentations
[nord-contrib-guide-enhance]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#enhancement-suggestions
[nord-contrib-guide-feedback]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#give-feedback-on-issues-and-pull-requests
[nord-contrib-guide-impr-issues]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#improve-issues
[nord-contrib-guide-mcve]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#mcve
[nord-contrib-guide-pr]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#pull-requests
[nord-contrib-guide-styles]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#styleguides
[nord-contrib-guide-versioning]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#versioning
[nord-contrib-guide]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md
[nord-docs-home-config]: https://www.nordtheme.com/docs/ports/vim/configuration
[nord-docs-home-custom]: https://www.nordtheme.com/docs/ports/vim/customization
[nord-docs-home-install]: https://www.nordtheme.com/docs/ports/vim/installation
[nord-docs-home-install#manual]: https://www.nordtheme.com/docs/ports/vim/installation#manual
[nord-docs-home]: https://www.nordtheme.com/docs/ports/vim
[nord-home]: https://www.nordtheme.com/ports/vim
[nord-home#configurations]: https://www.nordtheme.com/ports/vim#configurations
[nord-home#editor-details]: https://www.nordtheme.com/ports/vim#editor-details
[nord-home#plugin-support]: https://www.nordtheme.com/ports/vim#plugin-support
[nord-home#syntax]: https://www.nordtheme.com/ports/vim#syntax
[vimhelp-vimrc]: https://vimhelp.org/starting.txt.html#vimrc

View file

@ -1,11 +1,7 @@
" Copyright (C) 2016-present Arctic Ice Studio <development@arcticicestudio.com>
" Copyright (C) 2016-present Sven Greb <development@svengreb.de>
" Copyright (c) 2016-present Sven Greb <development@svengreb.de>
" This source code is licensed under the MIT license found in the license file.
" Project: Nord Vim
" Repository: https://github.com/arcticicestudio/nord-vim
" License: MIT
let s:nord_vim_version="0.18.0"
let s:nord_vim_version="0.19.0"
let g:airline#themes#nord#palette = {}
let s:nord0_gui = "#2E3440"

View file

@ -1,11 +1,7 @@
" Copyright (C) 2016-present Arctic Ice Studio <development@arcticicestudio.com>
" Copyright (C) 2016-present Sven Greb <development@svengreb.de>
" Copyright (c) 2016-present Sven Greb <development@svengreb.de>
" This source code is licensed under the MIT license found in the license file.
" Project: Nord Vim
" Repository: https://github.com/arcticicestudio/nord-vim
" License: MIT
let s:nord_vim_version="0.18.0"
let s:nord_vim_version="0.19.0"
let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
let s:nord0 = ["#2E3440", "NONE"]

File diff suppressed because it is too large Load diff

View file

@ -1,9 +1,5 @@
" Copyright (C) 2016-present Arctic Ice Studio <development@arcticicestudio.com>
" Copyright (C) 2016-present Sven Greb <development@svengreb.de>
" Project: Nord Vim
" Repository: https://github.com/arcticicestudio/nord-vim
" License: MIT
" Copyright (c) 2016-present Sven Greb <development@svengreb.de>
" This source code is licensed under the MIT license found in the license file.
if version > 580
hi clear
@ -13,7 +9,7 @@ if version > 580
endif
let g:colors_name = "nord"
let s:nord_vim_version="0.18.0"
let s:nord_vim_version="0.19.0"
set background=dark
let s:nord0_gui = "#2E3440"
@ -72,87 +68,54 @@ let s:nord3_gui_brightened = [
\ "#7b88a1",
\ ]
if !exists("g:nord_bold")
let g:nord_bold = 1
endif
let g:nord_bold = get(g:, "nord_bold", 1)
let s:bold = (g:nord_bold == 0) ? "" : "bold,"
let s:bold = "bold,"
if g:nord_bold == 0
let s:bold = ""
endif
let g:nord_underline = get(g:, "nord_underline", 1)
let s:underline = (g:nord_underline == 0) ? "NONE," : "underline,"
if !exists("g:nord_italic")
if has("gui_running") || $TERM_ITALICS == "true"
let g:nord_italic = 1
else
let g:nord_italic = 0
endif
endif
let g:nord_italic = get(g:, "nord_italic", (has("gui_running") || $TERM_ITALICS == "true"))
let s:italic = (g:nord_italic == 0) ? "" : "italic,"
let s:italic = "italic,"
if g:nord_italic == 0
let s:italic = ""
endif
let g:nord_italic_comments = get(g:, "nord_italic_comments", 0)
let s:italicize_comments = (g:nord_italic_comments == 0) ? "" : get(s:, "italic")
let s:underline = "underline,"
if ! get(g:, "nord_underline", 1)
let s:underline = "NONE,"
endif
let s:italicize_comments = ""
if exists("g:nord_italic_comments")
if g:nord_italic_comments == 1
let s:italicize_comments = s:italic
endif
endif
if !exists('g:nord_uniform_status_lines')
let g:nord_uniform_status_lines = 0
endif
function! s:logWarning(msg)
echohl WarningMsg
echomsg 'nord: warning: ' . a:msg
echohl None
endfunction
let g:nord_uniform_status_lines = get(g:, "nord_uniform_status_lines", 0)
let g:nord_bold_vertical_split_line = get(g:, "nord_bold_vertical_split_line", 0)
if exists("g:nord_comment_brightness")
call s:logWarning('Variable g:nord_comment_brightness has been deprecated and will be removed in version 1.0.0!' .
echohl WarningMsg
echomsg 'nord: warning: Variable g:nord_comment_brightness has been deprecated and will be removed in version 1.0.0!' .
\' The comment color brightness has been increased by 10% by default.' .
\' Please see https://github.com/arcticicestudio/nord-vim/issues/145 for more details.')
\' Please see https://github.com/nordtheme/vim/issues/145 for more details.'
echohl None
let g:nord_comment_brightness = 10
endif
if !exists("g:nord_uniform_diff_background")
let g:nord_uniform_diff_background = 0
endif
if !exists("g:nord_cursor_line_number_background")
let g:nord_cursor_line_number_background = 0
endif
if !exists("g:nord_bold_vertical_split_line")
let g:nord_bold_vertical_split_line = 0
endif
let g:nord_cursor_line_number_background = get(g:, "nord_cursor_line_number_background", 0)
let g:nord_uniform_diff_background = get(g:, "nord_uniform_diff_background", 0)
function! s:hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp)
let cmd = ""
if a:guifg != ""
exec "hi " . a:group . " guifg=" . a:guifg
let cmd = cmd . " guifg=" . a:guifg
endif
if a:guibg != ""
exec "hi " . a:group . " guibg=" . a:guibg
let cmd = cmd . " guibg=" . a:guibg
endif
if a:ctermfg != ""
exec "hi " . a:group . " ctermfg=" . a:ctermfg
let cmd = cmd . " ctermfg=" . a:ctermfg
endif
if a:ctermbg != ""
exec "hi " . a:group . " ctermbg=" . a:ctermbg
let cmd = cmd . " ctermbg=" . a:ctermbg
endif
if a:attr != ""
exec "hi " . a:group . " gui=" . a:attr . " cterm=" . substitute(a:attr, "undercurl", s:underline, "")
let cmd = cmd . " gui=" . a:attr . " cterm=" . substitute(a:attr, "undercurl", s:underline, "")
endif
if a:guisp != ""
exec "hi " . a:group . " guisp=" . a:guisp
let cmd = cmd . " guisp=" . a:guisp
endif
if cmd != ""
exec "hi " . a:group . cmd
endif
endfunction
@ -185,19 +148,14 @@ call s:hi("SpellLocal", s:nord5_gui, s:nord0_gui, s:nord5_term, "NONE", "undercu
call s:hi("SpellRare", s:nord6_gui, s:nord0_gui, s:nord6_term, "NONE", "undercurl", s:nord6_gui)
call s:hi("Visual", "", s:nord2_gui, "", s:nord1_term, "", "")
call s:hi("VisualNOS", "", s:nord2_gui, "", s:nord1_term, "", "")
"+- Neovim Support -+
call s:hi("healthError", s:nord11_gui, s:nord1_gui, s:nord11_term, s:nord1_term, "", "")
call s:hi("healthSuccess", s:nord14_gui, s:nord1_gui, s:nord14_term, s:nord1_term, "", "")
call s:hi("healthWarning", s:nord13_gui, s:nord1_gui, s:nord13_term, s:nord1_term, "", "")
call s:hi("TermCursorNC", "", s:nord1_gui, "", s:nord1_term, "", "")
"+- Vim 8 Terminal Colors -+
if has('terminal')
let g:terminal_ansi_colors = [s:nord1_gui, s:nord11_gui, s:nord14_gui, s:nord13_gui, s:nord9_gui, s:nord15_gui, s:nord8_gui, s:nord5_gui, s:nord3_gui, s:nord11_gui, s:nord14_gui, s:nord13_gui, s:nord9_gui, s:nord15_gui, s:nord7_gui, s:nord6_gui]
endif
"+- Neovim Terminal Colors -+
if has('nvim')
"+- Neovim Terminal Colors -+
let g:terminal_color_0 = s:nord1_gui
let g:terminal_color_1 = s:nord11_gui
let g:terminal_color_2 = s:nord14_gui
@ -214,6 +172,30 @@ if has('nvim')
let g:terminal_color_13 = s:nord15_gui
let g:terminal_color_14 = s:nord7_gui
let g:terminal_color_15 = s:nord6_gui
"+- Neovim Support -+
call s:hi("healthError", s:nord11_gui, s:nord1_gui, s:nord11_term, s:nord1_term, "", "")
call s:hi("healthSuccess", s:nord14_gui, s:nord1_gui, s:nord14_term, s:nord1_term, "", "")
call s:hi("healthWarning", s:nord13_gui, s:nord1_gui, s:nord13_term, s:nord1_term, "", "")
call s:hi("TermCursorNC", "", s:nord1_gui, "", s:nord1_term, "", "")
"+- Neovim Diagnostics API -+
call s:hi("DiagnosticWarn", s:nord13_gui, "", s:nord13_term, "", "", "")
call s:hi("DiagnosticError" , s:nord11_gui, "", s:nord11_term, "", "", "")
call s:hi("DiagnosticInfo" , s:nord8_gui, "", s:nord8_term, "", "", "")
call s:hi("DiagnosticHint" , s:nord10_gui, "", s:nord10_term, "", "", "")
call s:hi("DiagnosticUnderlineWarn" , s:nord13_gui, "", s:nord13_term, "", "undercurl", "")
call s:hi("DiagnosticUnderlineError" , s:nord11_gui, "", s:nord11_term, "", "undercurl", "")
call s:hi("DiagnosticUnderlineInfo" , s:nord8_gui, "", s:nord8_term, "", "undercurl", "")
call s:hi("DiagnosticUnderlineHint" , s:nord10_gui, "", s:nord10_term, "", "undercurl", "")
"+- Neovim DocumentHighlight -+
call s:hi("LspReferenceText", "", s:nord3_gui, "", s:nord3_term, "", "")
call s:hi("LspReferenceRead", "", s:nord3_gui, "", s:nord3_term, "", "")
call s:hi("LspReferenceWrite", "", s:nord3_gui, "", s:nord3_term, "", "")
"+- Neovim LspSignatureHelp -+
call s:hi("LspSignatureActiveParameter", s:nord8_gui, "", s:nord8_term, "", s:underline, "")
endif
"+--- Gutter ---+
@ -351,6 +333,7 @@ hi! link awkVariables Identifier
call s:hi("cIncluded", s:nord7_gui, "", s:nord7_term, "", "", "")
hi! link cOperator Operator
hi! link cPreCondit PreCondit
hi! link cConstant Type
call s:hi("cmakeGeneratorExpression", s:nord10_gui, "", s:nord10_term, "", "", "")
@ -399,11 +382,19 @@ hi! link diffAdded DiffAdd
hi! link diffChanged DiffChange
hi! link diffRemoved DiffDelete
call s:hi("elixirModuleDeclaration", s:nord7_gui, "", s:nord7_term, "", "", "")
call s:hi("elixirAlias", s:nord7_gui, "", s:nord7_term, "", "", "")
call s:hi("elixirAtom", s:nord6_gui, "", s:nord6_term, "", s:bold, "")
call s:hi("gitconfigVariable", s:nord7_gui, "", s:nord7_term, "", "", "")
call s:hi("goBuiltins", s:nord7_gui, "", s:nord7_term, "", "", "")
hi! link goConstants Keyword
" fatih/vim-go
call s:hi("gomodVersion", s:nord7_gui, "", s:nord7_term, "", "", "")
call s:hi("gomodGoVersion", s:nord8_gui, "", s:nord8_term, "", "", "")
call s:hi("helpBar", s:nord3_gui, "", s:nord3_term, "", "", "")
call s:hi("helpHyperTextJump", s:nord8_gui, "", s:nord8_term, "", s:underline, "")
@ -564,7 +555,7 @@ call s:hi("ALEWarning" , s:nord13_gui, "", s:nord13_term, "", "undercurl", "")
call s:hi("ALEError" , s:nord11_gui, "", s:nord11_term, "", "undercurl", "")
" Coc
" > neoclide/coc
" > neoclide/coc.vim
call s:hi("CocWarningHighlight" , s:nord13_gui, "", s:nord13_term, "", "undercurl", "")
call s:hi("CocErrorHighlight" , s:nord11_gui, "", s:nord11_term, "", "undercurl", "")
call s:hi("CocWarningSign", s:nord13_gui, "", s:nord13_term, "", "", "")
@ -572,17 +563,25 @@ call s:hi("CocErrorSign" , s:nord11_gui, "", s:nord11_term, "", "", "")
call s:hi("CocInfoSign" , s:nord8_gui, "", s:nord8_term, "", "", "")
call s:hi("CocHintSign" , s:nord10_gui, "", s:nord10_term, "", "", "")
" Neovim LSP
" > neovim/nvim-lspconfig
call s:hi("LspCodeLens", s:nord3_gui_bright, "", s:nord3_term, "", "", "")
call s:hi("LspDiagnosticsDefaultWarning", s:nord13_gui, "", s:nord13_term, "", "", "")
call s:hi("LspDiagnosticsDefaultError" , s:nord11_gui, "", s:nord11_term, "", "", "")
call s:hi("LspDiagnosticsDefaultInformation" , s:nord8_gui, "", s:nord8_term, "", "", "")
call s:hi("LspDiagnosticsDefaultHint" , s:nord10_gui, "", s:nord10_term, "", "", "")
call s:hi("LspDiagnosticsUnderlineWarning" , s:nord13_gui, "", s:nord13_term, "", "undercurl", "")
call s:hi("LspDiagnosticsUnderlineError" , s:nord11_gui, "", s:nord11_term, "", "undercurl", "")
call s:hi("LspDiagnosticsUnderlineInformation" , s:nord8_gui, "", s:nord8_term, "", "undercurl", "")
call s:hi("LspDiagnosticsUnderlineHint" , s:nord10_gui, "", s:nord10_term, "", "undercurl", "")
if has('nvim')
" Neovim LSP
" > neovim/nvim-lspconfig
call s:hi("LspCodeLens", s:nord3_gui_bright, "", s:nord3_term, "", "", "")
if has("nvim-0.5")
call s:hi("LspDiagnosticsDefaultWarning", s:nord13_gui, "", s:nord13_term, "", "", "")
call s:hi("LspDiagnosticsDefaultError" , s:nord11_gui, "", s:nord11_term, "", "", "")
call s:hi("LspDiagnosticsDefaultInformation" , s:nord8_gui, "", s:nord8_term, "", "", "")
call s:hi("LspDiagnosticsDefaultHint" , s:nord10_gui, "", s:nord10_term, "", "", "")
call s:hi("LspDiagnosticsUnderlineWarning" , s:nord13_gui, "", s:nord13_term, "", "undercurl", "")
call s:hi("LspDiagnosticsUnderlineError" , s:nord11_gui, "", s:nord11_term, "", "undercurl", "")
call s:hi("LspDiagnosticsUnderlineInformation" , s:nord8_gui, "", s:nord8_term, "", "undercurl", "")
call s:hi("LspDiagnosticsUnderlineHint" , s:nord10_gui, "", s:nord10_term, "", "undercurl", "")
endif
" Gitsigns
" > lewis6991/gitsigns.nvim
hi! link GitSignsCurrentLineBlame Comment
endif
" GitGutter
" > airblade/vim-gitgutter
@ -598,6 +597,10 @@ call s:hi("SignifySignChange", s:nord13_gui, "", s:nord13_term, "", "", "")
call s:hi("SignifySignChangeDelete", s:nord11_gui, "", s:nord11_term, "", "", "")
call s:hi("SignifySignDelete", s:nord11_gui, "", s:nord11_term, "", "", "")
" Sneak
" > justinmk/vim-sneak
hi! link Sneak Search
" fugitive.vim
" > tpope/vim-fugitive
call s:hi("gitcommitDiscardedFile", s:nord11_gui, "", s:nord11_term, "", "", "")
@ -628,7 +631,6 @@ call s:hi("ClapMatches", s:nord8_gui, "", s:nord8_term, "", "", "")
call s:hi("ClapNoMatchesFound", s:nord13_gui, "", s:nord13_term, "", "", "")
call s:hi("ClapSelected", s:nord7_gui, "", s:nord7_term, "", s:bold, "")
call s:hi("ClapSelectedSign", s:nord9_gui, "", s:nord9_term, "", "", "")
let s:clap_matches = [
\ [s:nord8_gui, s:nord8_term] ,
\ [s:nord9_gui, s:nord9_term] ,
@ -640,7 +642,6 @@ for s:nord_clap_match_i in range(1,12)
call s:hi("ClapFuzzyMatches" . s:nord_clap_match_i, clap_match_color[0], "", clap_match_color[1], "", "", "")
endfor
unlet s:nord_clap_match_i
hi! link ClapCurrentSelection PmenuSel
hi! link ClapCurrentSelectionSign ClapSelectedSign
hi! link ClapInput Pmenu
@ -716,9 +717,9 @@ hi! link pandocStrong markdownBold
hi! link pandocTableHeaderWord pandocAtxHeader
hi! link pandocUListItemBullet Operator
" tree-sitter
" > nvim-treesitter/nvim-treesitter
if has("nvim")
if has('nvim')
" tree-sitter
" > nvim-treesitter/nvim-treesitter
hi! link TSAnnotation Annotation
hi! link TSConstBuiltin Constant
hi! link TSConstructor Function
@ -821,7 +822,6 @@ else
call s:hi("VimwikiHeader".s:i, s:vimwiki_hcolor_guifg[s:i-1] , "", s:vimwiki_hcolor_ctermfg[s:i-1], "", s:bold, "")
endfor
endif
call s:hi("VimwikiLink", s:nord8_gui, "", s:nord8_term, "", s:underline, "")
hi! link VimwikiHeaderChar markdownHeadingDelimiter
hi! link VimwikiHR Keyword

View file

@ -1,7 +1,6 @@
MIT License (MIT)
Copyright (C) 2016-present Arctic Ice Studio <development@arcticicestudio.com> (https://www.arcticicestudio.com)
Copyright (C) 2016-present Sven Greb <development@svengreb.de> (https://www.svengreb.de)
Copyright (c) 2016-present Sven Greb <development@svengreb.de> (https://www.svengreb.de)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

15
lint-staged.config.js Normal file
View file

@ -0,0 +1,15 @@
/*
* Copyright (c) 2016-present Sven Greb <development@svengreb.de>
* This source code is licensed under the MIT license found in the license file.
*/
/**
* Configurations for lint-staged.
* @see https://github.com/okonet/lint-staged#configuration
*/
module.exports = {
"*.json": "prettier --check --ignore-unknown --no-editorconfig",
"*.{js,mjs}": ["eslint", "prettier --check --ignore-unknown --no-editorconfig"],
"*.md": ["remark --no-stdout", "prettier --check --ignore-unknown --no-editorconfig"],
".husky/pre-*": "prettier --check --ignore-unknown --no-editorconfig",
};

7354
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

51
package.json Normal file
View file

@ -0,0 +1,51 @@
{
"name": "@nordtheme/vim",
"version": "0.19.0",
"description": "An arctic, north-bluish clean and elegant Vim theme",
"author": {
"name": "Sven Greb",
"email": "development@svengreb.de",
"url": "https://www.svengreb.de"
},
"homepage": "https://www.nordtheme.com/ports/vim",
"repository": {
"type": "git",
"url": "git+https://github.com/nordtheme/vim.git"
},
"bugs": {
"url": "https://github.com/nordtheme/vim/issues"
},
"license": "MIT",
"private": true,
"engines": {
"node": ">=15.13",
"npm": ">=7.7"
},
"scripts": {
"format": "run-s format:*",
"format:js": "eslint --fix .",
"format:pretty": "prettier --ignore-unknown --no-editorconfig --write \"**\"",
"lint": "run-s lint:js lint:md lint:pretty",
"lint:ci": "run-s --continue-on-error lint:js lint:md lint:ci:pretty",
"lint:ci:pretty": "prettier --check --ignore-unknown --loglevel silent --no-editorconfig --no-error-on-unmatched-pattern \"**\"",
"lint:js": "eslint .",
"lint:md": "remark --no-stdout . .github/",
"lint:pretty": "prettier --check --ignore-unknown --no-editorconfig \"**\"",
"prepare:husky": "husky install",
"prepare": "run-s prepare:*"
},
"devDependencies": {
"@svengreb/eslint-config-base": ">=0.12.0 <=1.0.0",
"@svengreb/remark-preset-lint": ">=0.5.0 <1.0.0",
"eslint": "8.39.0",
"eslint-config-prettier": "8.8.0",
"eslint-plugin-import": "2.27.5",
"eslint-plugin-prettier": "4.2.1",
"husky": "8.0.3",
"lint-staged": "13.2.2",
"npm-run-all": "4.1.5",
"prettier": "2.8.8",
"prettier-plugin-sh": "0.12.8",
"remark-cli": "11.0.0"
}
}

24
prettier.config.js Normal file
View file

@ -0,0 +1,24 @@
/*
* Copyright (c) 2016-present Sven Greb <development@svengreb.de>
* This source code is licensed under the MIT license found in the license file.
*/
/**
* Configurations for Prettier.
* @see https://prettier.io/docs/en/configuration.html
* @see https://prettier.io/docs/en/options.html
* @see https://prettier.io/docs/en/options.html#parser
* @see https://prettier.io/docs/en/plugins.html
* @see https://github.com/un-ts/prettier/tree/master/packages/sh
*/
module.exports = {
printWidth: 160,
overrides: [
{
files: [".husky/*"],
options: {
parser: "sh",
},
},
],
};

152
readme.md Normal file
View file

@ -0,0 +1,152 @@
<p align="center">
<a href="https://www.nordtheme.com/ports/vim" target="_blank">
<picture>
<source srcset="https://raw.githubusercontent.com/nordtheme/web/main/assets/images/ports/vim/repository-hero.svg?sanitize=true" width="100%" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" />
<img src="https://raw.githubusercontent.com/nordtheme/web/main/assets/images/ports/vim/repository-hero.svg?sanitize=true" width="100%" />
</picture>
</a>
</p>
<p align="center">
<a href="https://github.com/nordtheme/vim/releases/latest" target="_blank">
<img src="https://img.shields.io/github/release/nordtheme/vim.svg?style=flat-square&label=Release&logo=github&logoColor=eceff4&colorA=4c566a&colorB=88c0d0"/>
</a>
<a href="https://www.nordtheme.com/docs/ports/vim" target="_blank">
<img src="https://img.shields.io/github/release/nordtheme/vim.svg?style=flat-square&label=Docs&colorA=4c566a&colorB=88c0d0&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI%2BCiAgICA8cGF0aCBmaWxsPSIjZDhkZWU5IiBkPSJNMTMuNzQ2IDIuODEzYS42Ny42NyAwIDAgMC0uNTU5LS4xMzNMOCAzLjg0OGwtNS4xODgtMS4xOGEuNjY5LjY2OSAwIDAgMC0uNTcuMTMzLjY3Ny42NzcgMCAwIDAtLjI0Mi41MzF2OC4xMzNjLS4wMDguMzIuMjEuNTk4LjUyLjY2OGw1LjMzMiAxLjE5OWguMjk2bDUuMzMyLTEuMmEuNjY4LjY2OCAwIDAgMCAuNTItLjY2N1YzLjMzMmEuNjU5LjY1OSAwIDAgMC0uMjU0LS41MnpNMy4zMzIgNC4xNjhsNCAuODk4djYuNzY2bC00LS44OTh6bTkuMzM2IDYuNzY2bC00IC44OThWNS4wNjZsNC0uODk4em0wIDAiLz4KPC9zdmc%2BCg%3D%3D"/>
</a>
<a href="https://github.com/nordtheme/vim/blob/main/changelog.md#050" target="_blank">
<img src="https://img.shields.io/github/release/nordtheme/vim.svg?style=flat-square&label=Changelog&logo=github&logoColor=eceff4&colorA=4c566a&colorB=88c0d0"/>
</a>
</p>
<p align="center">
<a href="https://github.com/svengreb/styleguide-javascript/releases/latest" target="_blank">
<img src="https://img.shields.io/github/release/svengreb/styleguide-javascript.svg?style=flat-square&label=JavaScript%20Style%20Guide&logoColor=eceff4&colorA=4c566a&colorB=88c0d0&logo=javascript"/>
</a>
<a href="https://github.com/svengreb/styleguide-markdown/releases/latest" target="_blank">
<img src="https://img.shields.io/github/release/svengreb/styleguide-markdown.svg?style=flat-square&label=Markdown%20Style%20Guide&colorA=4c566a&colorB=88c0d0&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzOSIgaGVpZ2h0PSIzOSIgdmlld0JveD0iMCAwIDM5IDM5Ij48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNEOERFRTkiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMS41IDEuNWgzNnYzNmgtMzZ6Ii8%2BPHBhdGggZmlsbD0iI0Q4REVFOSIgZD0iTTIwLjY4MyAyNS42NTVsNS44NzItMTMuNDhoLjU2Nmw1Ljg3MyAxMy40OGgtMS45OTZsLTQuMTU5LTEwLjA1Ni00LjE2MSAxMC4wNTZoLTEuOTk1em0tMi42OTYgMGwtMTMuNDgtNS44NzJ2LS41NjZsMTMuNDgtNS44NzJ2MS45OTVMNy45MzEgMTkuNWwxMC4wNTYgNC4xNnoiLz48L3N2Zz4%3D"/>
</a>
<a href="https://github.com/svengreb/styleguide-git/releases/latest" target="_blank">
<img src="https://img.shields.io/github/release/svengreb/styleguide-git.svg?style=flat-square&label=Git%20Style%20Guide&logoColor=eceff4&colorA=4c566a&colorB=88c0d0&logo=git"/>
</a>
</p>
<p align="center">An arctic, north-bluish clean and elegant <a href="https://www.vim.org">Vim</a> color theme.</p>
<p align="center">Designed for a fluent and clear workflow based on the <a href="https://www.nordtheme.com">Nord</a> color palette.</p>
<p align="center">
<a href="https://www.nordtheme.com/ports/vim" target="_blank">
<picture>
<img src="https://raw.githubusercontent.com/nordtheme/web/main/assets/images/ports/vim/overview-go.png"/>
</picture>
</a>
</p>
Build for Vim's terminal- and GUI mode with _true colors_ with support for many third-party syntax and UI plugins including bundled themes for [lightline.vim][1] and [vim-airline][4].
## Getting Started
Visit the [official website][23] to learn all about the [syntax highlighting][27] features, details and elements of [UI and editor elements][25], the [various theme configurations][24] and the [support for many plugins][26].
Learn about the [installation and activation][20], how to [configure][18] and [customize][19] the theme from the [official documentations][22].
### Quick Start
Thanks to existing plugin/_runtimepath_ managers for Vim, Nord Vim can be installed for all platforms and the various variants/forks of Vim in a uniform way within a few lines of codes. The recommended manager is [vim-plug][2], but any other manager like [pathogen][3] or [Vundle][3] can also be used.
To automatically download and activate Nord Vim, follow the install instructions for [vim-plug][2] and
1. add `Plug 'nordtheme/vim'` to your [`vimrc`][28] within _vim-plug_'s plugin loading function
2. run the `:PlugInstall` command in Vim
3. activate the theme by adding `colorscheme nord` to the [vimrc][28] or change it on-the-fly by running `:colorscheme nord`
<p align="center">
<picture>
<img src="https://raw.githubusercontent.com/nordtheme/web/main/assets/images/ports/vim/installation-vim-plug.png"/>
</picture>
</p>
See the Nord Vim's documentation for [more installation options][20] and how to [set it up manually][21].
## Features
<p align="center">
<strong>A unified UI and editor syntax element design provides a clutter-free and fluidly merging appearance.</strong><br />
<picture>
<img src="https://raw.githubusercontent.com/nordtheme/web/main/assets/images/ports/vim/overview-go-nerdtree.png"/>
</picture>
</p>
<p align="center">
<strong>Small details with unobtrusive styles for popular and common code editor features like search result marker and brace matching — designed to get out of your way with a visually attractive appearance.</strong><br />
<picture>
<img src="https://raw.githubusercontent.com/nordtheme/web/main/assets/images/ports/vim/editor-search-highlighting.png"/>
</picture>
</p>
<p align="center">
<strong>Support for a wide range of programming languages — from bundled plugins up to many popular syntax and UI third-party plugins.</strong><br />
<picture>
<img src="https://raw.githubusercontent.com/nordtheme/web/main/assets/images/ports/vim/syntax-javascript-react-hook.png"/>
</picture>
</p>
## Contributing
Nord is an open source project and we love to receive contributions from the [community][6]!
There are many ways to contribute, from [writing- and improving documentation and tutorials][9], [reporting bugs][8], [submitting enhancement suggestions][10] that can be added to Nord by [submitting pull requests][14].
Please take a moment to read Nord's full [contributing guide][17] to learn about the development process, the project's used [styleguides][15], [branch organization][7] and [versioning][16] model.
The guide also includes information about [minimal, complete, and verifiable examples][13] and other ways to contribute to the project like [improving existing issues][12] and [giving feedback on issues and pull requests][11].
<p align="center">
<picture>
<source srcset="https://raw.githubusercontent.com/nordtheme/assets/main/static/images/elements/separators/iceberg/footer/dark/spaced.svg?sanitize=true" width="100%" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" />
<source srcset="https://raw.githubusercontent.com/nordtheme/assets/main/static/images/elements/separators/iceberg/footer/light/spaced.svg?sanitize=true" width="100%" media="(prefers-color-scheme: dark)" />
<img src="https://raw.githubusercontent.com/nordtheme/assets/main/static/images/elements/separators/iceberg/footer/dark/spaced.svg?sanitize=true" width="100%" />
</picture>
</p>
<p align="center">
Copyright &copy; 2016-present <a href="https://www.svengreb.de" target="_blank">Sven Greb</a>
</p>
<p align="center">
<a href="https://github.com/nordtheme/vim/blob/main/license" target="_blank">
<img src="https://img.shields.io/static/v1.svg?style=flat-square&label=License&message=MIT&logoColor=eceff4&colorA=4c566a&colorB=88c0d0"/>
</a>
<a href="https://www.svengreb.de">
<img src="https://img.shields.io/static/v1.svg?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABMklEQVQ4jcWQvUoDQRRGz52s5IfVIiDWPkGKFFaCIVaGdIagjcFAwICFb7DvIK6QQlNpY2UQLMQVBbEQ0SewFkGbKCQmOzaTJay7/lR+zTAf9xwuF/47Mv45rdezqWEq72v/RWZnHgqOMwDwHMfSj085JSqb6Pu38we7r18E3nqzhmYbsE11rxKsAvhDfQiSM30XYbOw57YDwfnaRl6U3ABWaMNn806H+oGPzBX3d+4UgChZiYBHYBgGsBLoKoAyhR0x9G20Zmpc4P1ZoMQDcwMNclFrdhBKv6M5WWi7ZQGtjEUn35IV4OwnVjSX/WGmKqCDDUa5rmyle3bvGFiMg3WGUsF1u0EXHoqTRMGRgkAy2eugKZrqijRLYThWANBpNDL2h3UE0J0YLJdbrfe42f/NJ0wqY7/KcXKPAAAAAElFTkSuQmCC&label=lovely%20crafted%20in&message=Germany&colorA=4c566a&colorB=88c0d0"/>
</a>
</p>
[1]: https://github.com/itchyny/lightline.vim
[2]: https://github.com/junegunn/vim-plug
[3]: https://github.com/tpope/vim-pathogen
[4]: https://github.com/vim-airline/vim-airline
[6]: https://www.nordtheme.com/community
[7]: https://github.com/nordtheme/.github/blob/main/contributing.md#branch-organization
[8]: https://github.com/nordtheme/.github/blob/main/contributing.md#bug-reports
[9]: https://github.com/nordtheme/.github/blob/main/contributing.md#documentations
[10]: https://github.com/nordtheme/.github/blob/main/contributing.md#enhancement-suggestions
[11]: https://github.com/nordtheme/.github/blob/main/contributing.md#feedback
[12]: https://github.com/nordtheme/.github/blob/main/contributing.md#improve-issues
[13]: https://github.com/nordtheme/.github/blob/main/contributing.md#mcve
[14]: https://github.com/nordtheme/.github/blob/main/contributing.md#pull-requests
[15]: https://github.com/nordtheme/.github/blob/main/contributing.md#style-guides
[16]: https://github.com/nordtheme/.github/blob/main/contributing.md#versioning
[17]: https://github.com/nordtheme/.github/blob/main/contributing.md
[18]: https://www.nordtheme.com/docs/ports/vim/configuration
[19]: https://www.nordtheme.com/docs/ports/vim/customization
[20]: https://www.nordtheme.com/docs/ports/vim/installation
[21]: https://www.nordtheme.com/docs/ports/vim/installation#manual
[22]: https://www.nordtheme.com/docs/ports/vim
[23]: https://www.nordtheme.com/ports/vim
[24]: https://www.nordtheme.com/ports/vim#configurations
[25]: https://www.nordtheme.com/ports/vim#editor-details
[26]: https://www.nordtheme.com/ports/vim#plugin-support
[27]: https://www.nordtheme.com/ports/vim#syntax
[28]: https://vimhelp.org/starting.txt.html#vimrc