Thanks to visit codestin.com
Credit goes to github.com

Skip to content

1995parham/naz.vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Naz Neovim Theme

GitHub Workflow Status

Nomenclature

This theme is named after Naz Township. Naz township is located in Alborz province and in the western area of Fardis city. This neighborhood is bounded by Hashemi Rafsanjani Street from the north and is adjacent to Mashkin Dasht, Shahrak Dehkedeh, Farmarzieh, and Najaf Abad neighborhoods.

Introduction

Naz theme is based on the tomorrow night theme but more cute. It uses Neovim's native Lua API and works with Neovim 0.7.0+. Naz theme has bindings for following plugins:

Install

Using a plugin manager

With lazy.nvim:

{
  '1995parham/naz.vim',
  lazy = false,
  priority = 1000,
  config = function()
    vim.cmd('colorscheme naz')
  end,
}

With packer.nvim:

use({
  '1995parham/naz.vim',
  config = function()
    vim.cmd('colorscheme naz')
  end,
})

Manual installation

Clone this repository into your Neovim configuration directory:

git clone https://github.com/1995parham/naz.vim ~/.config/nvim/colors/naz.vim

Then add to your init.lua:

vim.cmd('colorscheme naz')

Where we can find colors?

You can use pastel to find out about colors and their presentation on your terminal.

Treesitter is awesome

After neovim start supporting treesitter a new era is begun. In neovim 0.9 treesitter supports semantic highlight which is described here

In a nutshell with :Inspect command you can see what semantic highlights are being applied to your code. In general:

  • @lsp.type.<type>.<ft> highlight for each token
  • @lsp.mod.<mod>.<ft> highlight for each modifier of each token
  • @lsp.typemod.<type>.<mod>.<ft> highlights for each modifier of each token

Also, you can read more about it on :h treesitter-highlight-groups.

LSP Semantic Highlighting Support

Naz theme includes comprehensive LSP semantic token support for enhanced syntax highlighting:

Type-related semantic tokens:

  • @lsp.type.class - Classes (light orange)
  • @lsp.type.interface - Interfaces (linked to class)
  • @lsp.type.enum - Enumerations (lime green, italic)
  • @lsp.type.struct - Structs (aqua)
  • @lsp.type.type - Type aliases
  • @lsp.type.typeParameter - Generic type parameters (coral, italic)
  • @lsp.type.enumMember - Enum members (purple)

Function and method tokens:

  • @lsp.type.function - Functions (blue)
  • @lsp.type.method - Methods (blue)

Variable tokens:

  • @lsp.type.variable - Variables (vivid orange)
  • @lsp.type.parameter - Function parameters (pure pink)
  • @lsp.type.property - Object properties (orange)
  • @lsp.type.namespace - Namespaces (light yellow)

Modifier tokens:

  • @lsp.mod.readonly - Readonly/const modifier (italic)
  • @lsp.mod.deprecated - Deprecated items (grey, strikethrough)
  • @lsp.mod.static - Static members (bold)
  • @lsp.mod.abstract - Abstract declarations (italic)
  • @lsp.mod.defaultLibrary - Standard library items (camel, bold)

Combined type+modifier tokens:

  • @lsp.typemod.function.defaultLibrary - Standard library functions
  • @lsp.typemod.method.defaultLibrary - Standard library methods
  • @lsp.typemod.variable.readonly - Readonly/const variables (purple)
  • @lsp.typemod.variable.defaultLibrary - Standard library variables
  • @lsp.typemod.parameter.readonly - Const parameters (purple)

To see semantic highlights in action, use :Inspect command while your cursor is on any token.

About

Naz Neovim Theme 🥺

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages