Skip to content

initsyscall/themeInitNvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

themeInit.nvim

A robust, modular Neovim theme featuring a sophisticated purple-magenta aesthetic. This is a port of themeInt. It is designed for developers who crave a high-contrast, cohesive aesthetic without the visual fatigue common in standard dark themes.

Preview

nightSyscall

nightSyscall

daySyscall

daySyscall

Palette

A refined color relationship that maintains consistency across light and dark variants:

Role Color Usage
Background #12101f / #f8f4f8 Main canvas
Surface #1c1828 / #f0ecf0 Floating windows, panels
Text #ddd6ec / #282030 Primary text
Keywords #a060ff fn, if, return
Functions #f03060 Function calls and definitions
Types #b080f0 struct, class, types
Strings #d078a0 String literals
Numbers #e8a848 Numeric literals
Operators #50e8d8 +, -, =, =>

Two carefully crafted themes: nightSyscall (dark) and daySyscall (light).

Install

Lazy.nvim

{
  "initsyscall/themeInitNvim",
  url = "https://codeberg.org/initsyscall/themeInitNvim",
  priority = 1000,
  config = function()
    require("themeInit").setup({ theme = "nightSyscall" })
  end
}

Packer

use {
  "initsyscall/themeInitNvim",
  url = "https://codeberg.org/initsyscall/themeInitNvim",
  config = function()
    require("themeInit").setup()
  end
}

Usage

-- Via setup()
require("themeInit").setup({ theme = "nightSyscall" })  -- dark
require("themeInit").setup({ theme = "daySyscall" })    -- light

-- Via :colorscheme command
:colorscheme nightSyscall
:colorscheme daySyscall

Architecture

lua/themeInit/
├── init.lua       # Main module - loads & applies highlights
├── palette.lua    # Single source of truth - all colors defined once
├── highlights.lua # All highlight groups (base, treesitter, LSP, plugins)
└── util.lua       # Minimal color utilities

Design Philosophy

Built with palette.lua as the single source of truth - converted from JSON. The architecture separates concerns: palette holds colors, highlights defines groups, util provides helpers.

Key design choices:

  • No runtime color calculations - all colors pre-defined in palette
  • Efficient highlight application - uses nvim_set_hl() (Neovim 0.7+)
  • Full plugin ecosystem - Treesitter, LSP, Telescope, Neo-tree, Bufferline, WhichKey, render-markdown.nvim, GitSigns, nvim-cmp, and more
  • Explicit theme selection - user chooses nightSyscall or daySyscall
  • Transparent markdown - render-markdown.nvim headings and code blocks have no background

Features

  • Semantic Highlighting - Deeply integrated with Treesitter for surgical syntax precision
  • LSP Support - Explicit styles for Diagnostics and semantic tokens
  • Colorscheme Command - Use :colorscheme nightSyscall or :colorscheme daySyscall
  • Extensive Language Support - Zig, Rust, C/C++, Go, JavaScript, TypeScript, HTML, CSS, Lua, Python, Bash, JSON, YAML, TOML

Examples

Check example/ for minimal code showcasing the palette:

  • main.zig - Zig with structs and fibonacci
  • main.rs - Rust with pattern matching and collections
  • app.js - JavaScript with classes and arrow functions
  • index.html - HTML with embedded CSS/JS
  • main.cpp - C++ with STL containers and lambdas

License

Apache 2.0 - See LICENSE for details.


Built by initsyscall | Repository

About

A robust, modular Neovim theme featuring a sophisticated purple-magenta aesthetic. This is a port of themeInt. It is designed for developers who crave a high-contrast, cohesive aesthetic without the visual fatigue common in standard dark themes.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages