mirror of
https://github.com/obsqrbtz/clrsync.git
synced 2026-04-08 20:19:04 +03:00
added some palettes and templates
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Maintainer: Daniel Dada <dan@binarygoose.dev>
|
||||
pkgname=clrsync
|
||||
pkgver=1.0.0
|
||||
pkgver=1.0.1
|
||||
pkgrel=1
|
||||
pkgdesc="Color scheme manager"
|
||||
arch=('x86_64')
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
cmake_minimum_required(VERSION 3.25)
|
||||
project(clrsync VERSION 1.0.0 LANGUAGES CXX)
|
||||
project(clrsync VERSION 1.0.1 LANGUAGES CXX)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ A theme management tool for synchronizing color schemes across multiple applicat
|
||||
- [Usage](#usage)
|
||||
- [CLI](#cli)
|
||||
- [GUI](#gui)
|
||||
- [Extras](#extras)
|
||||
- [Acknowledgments](#acknowledgments)
|
||||
|
||||
## Features
|
||||
@@ -463,6 +464,10 @@ The GUI provides:
|
||||
- **Template Editor**: Edit template files
|
||||
- **Live Preview**: See changes in real-time
|
||||
|
||||
## Extras
|
||||
|
||||
You may find some pre-configured color schemes and templates in [extra](extra) directory of this repository.
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
- **[matugen](https://github.com/InioX/matugen)** - A material you color generation tool
|
||||
@@ -471,4 +476,3 @@ The GUI provides:
|
||||
- **[toml++](https://github.com/marzer/tomlplusplus)** - Header-only TOML config file parser and serializer for C++17
|
||||
- **[argparse](https://github.com/p-ranav/argparse)** - Argument Parser for Modern C++
|
||||
- **[ImGuiColorTextEdit](https://github.com/BalazsJako/ImGuiColorTextEdit)** - Syntax highlighting text editor for ImGui
|
||||
- **cursed** by **[pyratebeard](https://pyratebeard.net)** - Color scheme
|
||||
|
||||
105
extra/README.md
Normal file
105
extra/README.md
Normal file
@@ -0,0 +1,105 @@
|
||||
# Extras
|
||||
|
||||
## Palettes
|
||||
|
||||
### Cursed
|
||||
|
||||
A dark color scheme, which tries to be like `cursed` theme by **[pyratebeard](https://pyratebeard.net)**
|
||||
|
||||

|
||||
|
||||
### Cursed-light
|
||||
|
||||
Same as `cursed`, but it also tries to be light as well
|
||||
|
||||

|
||||
|
||||
### Nord
|
||||
|
||||
Color scheme based on `Nord`
|
||||
|
||||

|
||||
|
||||
## Pre-configured templates
|
||||
|
||||
### Kitty
|
||||
|
||||
**1. Download [template file](templates/kitty.conf)**
|
||||
|
||||
**2. Configure template in `~/.config/clrsync/config.toml`**
|
||||
|
||||
```toml
|
||||
[templates.kitty]
|
||||
enabled = true
|
||||
input_path = '~/.config/clrsync/templates/kitty.conf'
|
||||
output_path = '~/.config/kitty/clrsync.conf'
|
||||
reload_cmd = 'pkill -SIGUSR1 kitty'
|
||||
```
|
||||
|
||||
**3. Import generated color scheme in `~/.config/kitty/kitty.conf**
|
||||
|
||||
```conf
|
||||
include clrsync.conf
|
||||
```
|
||||
|
||||
### Neovim
|
||||
|
||||
**1. Download [template file](templates/nvim.lua)**
|
||||
|
||||
**2. Configure template in `~/.config/clrsync/config.toml`**
|
||||
|
||||
```toml
|
||||
[templates.nvim]
|
||||
enabled = true
|
||||
input_path = '~/.config/clrsync/templates/nvim.lua'
|
||||
output_path = '~/.config/nvim/colors/clrsync.lua'
|
||||
reload_cmd = ''
|
||||
```
|
||||
|
||||
**3. Set colorscheme in neovim config**
|
||||
|
||||
```lua
|
||||
vim.cmd.colorscheme 'clrsync'
|
||||
```
|
||||
|
||||
### Alacritty
|
||||
|
||||
**1. Download [template file](templates/alacritty.toml)**
|
||||
|
||||
**2. Configure template in `~/.config/clrsync/config.toml`**
|
||||
|
||||
```toml
|
||||
[templates.alacritty]
|
||||
enabled = true
|
||||
input_path = '~/.config/clrsync/templates/alacritty.toml'
|
||||
output_path = '~/.config/alacritty/clrsync.toml'
|
||||
reload_cmd = ''
|
||||
```
|
||||
|
||||
**3. Import generated color scheme in `~/.config/alacritty/alacritty.toml**
|
||||
|
||||
```toml
|
||||
[general]
|
||||
import = ["clrsync.toml"]
|
||||
```
|
||||
|
||||
|
||||
### Ghostty
|
||||
|
||||
**1. Download [template file](templates/ghostty)**
|
||||
|
||||
**2. Configure template in `~/.config/clrsync/config.toml`**
|
||||
|
||||
```toml
|
||||
[templates.ghostty]
|
||||
enabled = true
|
||||
input_path = '~/.config/clrsync/templates/ghostty'
|
||||
output_path = '~/.config/ghostty/themes/clrsync'
|
||||
reload_cmd = 'pkill -SIGUSR2 ghostty'
|
||||
```
|
||||
|
||||
**3. Set generated color scheme in `~/.config/ghostty/config**
|
||||
|
||||
```toml
|
||||
theme = "clrsync"
|
||||
```
|
||||
BIN
extra/img/cursed-light.png
Normal file
BIN
extra/img/cursed-light.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 243 KiB |
BIN
extra/img/cursed.png
Normal file
BIN
extra/img/cursed.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 235 KiB |
BIN
extra/img/nord.png
Normal file
BIN
extra/img/nord.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 243 KiB |
@@ -1,5 +1,5 @@
|
||||
[colors]
|
||||
accent = '#5E81ACFF'
|
||||
accent = '#A1CDFAFF'
|
||||
background = '#2E3440FF'
|
||||
base00 = '#2E3440FF'
|
||||
base01 = '#BF616AFF'
|
||||
|
||||
69
extra/templates/alacritty.toml
Normal file
69
extra/templates/alacritty.toml
Normal file
@@ -0,0 +1,69 @@
|
||||
[colors.primary]
|
||||
background = '{background}'
|
||||
foreground = '{foreground}'
|
||||
|
||||
[colors.cursor]
|
||||
text = '{background}'
|
||||
cursor = '{cursor}'
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
text = '{background}'
|
||||
cursor = '{cursor}'
|
||||
|
||||
[colors.selection]
|
||||
text = 'CellForeground'
|
||||
background = '{editor_selected}'
|
||||
|
||||
[colors.search.matches]
|
||||
foreground = '{background}'
|
||||
background = '{base0A}'
|
||||
|
||||
[colors.search.focused_match]
|
||||
foreground = '{background}'
|
||||
background = '{accent}'
|
||||
|
||||
[colors.footer_bar]
|
||||
foreground = '{foreground}'
|
||||
background = '{surface}'
|
||||
|
||||
[colors.hints.start]
|
||||
foreground = '{background}'
|
||||
background = '{warning}'
|
||||
|
||||
[colors.hints.end]
|
||||
foreground = '{background}'
|
||||
background = '{surface_variant}'
|
||||
|
||||
[colors.line_indicator]
|
||||
foreground = 'None'
|
||||
background = 'None'
|
||||
|
||||
[colors.normal]
|
||||
black = '{base00}'
|
||||
red = '{base08}'
|
||||
green = '{base01}'
|
||||
yellow = '{base02}'
|
||||
blue = '{base06}'
|
||||
magenta = '{base05}'
|
||||
cyan = '{base0E}'
|
||||
white = '{base07}'
|
||||
|
||||
[colors.bright]
|
||||
black = '{border_focused}'
|
||||
red = '{editor_error}'
|
||||
green = '{editor_success}'
|
||||
yellow = '{base0A}'
|
||||
blue = '{editor_link}'
|
||||
magenta = '{base0D}'
|
||||
cyan = '{editor_comment}'
|
||||
white = '{base0F}'
|
||||
|
||||
[colors.dim]
|
||||
black = '{border}'
|
||||
red = '{base0C}'
|
||||
green = '{base01}'
|
||||
yellow = '{editor_string}'
|
||||
blue = '{base06}'
|
||||
magenta = '{base05}'
|
||||
cyan = '{base0E}'
|
||||
white = '{base07}'
|
||||
26
extra/templates/ghostty
Normal file
26
extra/templates/ghostty
Normal file
@@ -0,0 +1,26 @@
|
||||
background = {background}
|
||||
foreground = {foreground}
|
||||
|
||||
cursor-color = {cursor}
|
||||
cursor-text = {foreground}
|
||||
|
||||
selection-background = {editor_selected}
|
||||
selection-foreground = {foreground}
|
||||
|
||||
palette = 0={base00}
|
||||
palette = 1={base08}
|
||||
palette = 2={base01}
|
||||
palette = 3={base02}
|
||||
palette = 4={base06}
|
||||
palette = 5={base05}
|
||||
palette = 6={base0E}
|
||||
palette = 7={base07}
|
||||
|
||||
palette = 8={border_focused}
|
||||
palette = 9={editor_error}
|
||||
palette = 10={editor_success}
|
||||
palette = 11={base0A}
|
||||
palette = 12={editor_link}
|
||||
palette = 13={base0D}
|
||||
palette = 14={editor_comment}
|
||||
palette = 15={base0F}
|
||||
32
extra/templates/kitty.conf
Normal file
32
extra/templates/kitty.conf
Normal file
@@ -0,0 +1,32 @@
|
||||
cursor {cursor}
|
||||
cursor_text_color {background}
|
||||
|
||||
foreground {foreground}
|
||||
background {background}
|
||||
selection_foreground {on_surface}
|
||||
selection_background {surface}
|
||||
url_color {accent}
|
||||
|
||||
color0 {base00}
|
||||
color8 {base08}
|
||||
|
||||
color1 {base01}
|
||||
color9 {base09}
|
||||
|
||||
color2 {base02}
|
||||
color10 {base0A}
|
||||
|
||||
color3 {base03}
|
||||
color11 {base0B}
|
||||
|
||||
color4 {base04}
|
||||
color12 {base0C}
|
||||
|
||||
color5 {base05}
|
||||
color13 {base0D}
|
||||
|
||||
color6 {base06}
|
||||
color14 {base0E}
|
||||
|
||||
color7 {base07}
|
||||
color15 {base0F}
|
||||
93
extra/templates/nvim.lua
Normal file
93
extra/templates/nvim.lua
Normal file
@@ -0,0 +1,93 @@
|
||||
vim.cmd("highlight clear")
|
||||
vim.cmd("syntax reset")
|
||||
vim.g.colors_name = "clrsync"
|
||||
|
||||
local palette = {
|
||||
-- Editor colors
|
||||
Default = "{editor_main.hex}",
|
||||
Keyword = "{editor_command.hex}",
|
||||
Number = "{editor_warning.hex}",
|
||||
String = "{editor_string.hex}",
|
||||
CharLiteral = "{editor_string.hex}",
|
||||
Punctuation = "{editor_main.hex}",
|
||||
Preprocessor = "{editor_emphasis.hex}",
|
||||
Identifier = "{editor_main.hex}",
|
||||
KnownIdentifier = "{editor_link.hex}",
|
||||
PreprocIdentifier = "{editor_link.hex}",
|
||||
|
||||
Comment = "{editor_comment.hex}",
|
||||
MultiLineComment = "{editor_comment.hex}",
|
||||
|
||||
Background = "{editor_background.hex}",
|
||||
Cursor = "{cursor.hex}",
|
||||
|
||||
Selection = "{editor_selected.hex}",
|
||||
ErrorMarker = "{editor_error.hex}",
|
||||
Breakpoint = "{editor_error.hex}",
|
||||
|
||||
LineNumber = "{editor_line_number.hex}",
|
||||
CurrentLineFill = "{surface_variant.hex}",
|
||||
CurrentLineFillInactive = "{surface.hex}",
|
||||
|
||||
CurrentLineEdge = "{border_focused.hex}",
|
||||
|
||||
-- Semantic colors
|
||||
Success = "{success.hex}",
|
||||
Warning = "{warning.hex}",
|
||||
Error = "{error.hex}",
|
||||
Info = "{info.hex}",
|
||||
}
|
||||
|
||||
-- Helper function to set highlights in Neovim
|
||||
local function set_hl(group, opts)
|
||||
vim.api.nvim_set_hl(0, group, opts)
|
||||
end
|
||||
|
||||
vim.o.winborder = "rounded"
|
||||
|
||||
-- Basic editor highlights using the mapped palette
|
||||
set_hl("Normal", { fg = palette.Default, bg = palette.Background })
|
||||
set_hl("CursorLine", { bg = palette.CurrentLineFill })
|
||||
set_hl("Visual", { bg = palette.Selection })
|
||||
set_hl("LineNr", { fg = palette.LineNumber })
|
||||
set_hl("CursorLineNr", { fg = palette.Keyword })
|
||||
|
||||
-- Syntax highlights
|
||||
set_hl("Comment", { fg = palette.Comment, italic = true })
|
||||
set_hl("Constant", { fg = palette.Number })
|
||||
set_hl("String", { fg = palette.String })
|
||||
set_hl("Character", { fg = palette.CharLiteral })
|
||||
set_hl("Identifier", { fg = palette.Identifier })
|
||||
set_hl("Function", { fg = palette.Keyword })
|
||||
set_hl("Statement", { fg = palette.Keyword })
|
||||
set_hl("PreProc", { fg = palette.Preprocessor })
|
||||
set_hl("Type", { fg = palette.Keyword })
|
||||
set_hl("Special", { fg = palette.PreprocIdentifier })
|
||||
set_hl("Underlined", { fg = palette.KnownIdentifier })
|
||||
set_hl("Error", { fg = palette.ErrorMarker, bg = palette.Background })
|
||||
set_hl("Todo", { fg = palette.Default, bg = palette.Keyword })
|
||||
|
||||
-- Floating windows
|
||||
set_hl("NormalFloat", { bg = palette.Background })
|
||||
set_hl("FloatBorder", { fg = palette.CurrentLineEdge, bg = palette.Background })
|
||||
|
||||
-- Completion menu
|
||||
set_hl("Pmenu", { bg = palette.Background })
|
||||
set_hl("PmenuSel", { bg = palette.Keyword, fg = palette.Background })
|
||||
|
||||
-- Git and diagnostic highlights
|
||||
set_hl("DiffAdd", { fg = palette.Success, bg = palette.Background })
|
||||
set_hl("DiffChange", { fg = palette.Keyword, bg = palette.Background })
|
||||
set_hl("DiffDelete", { fg = palette.ErrorMarker, bg = palette.Background })
|
||||
set_hl("DiagnosticError", { fg = palette.Error })
|
||||
set_hl("DiagnosticWarn", { fg = palette.Warning })
|
||||
set_hl("DiagnosticInfo", { fg = palette.Info })
|
||||
set_hl("DiagnosticHint", { fg = palette.PreprocIdentifier })
|
||||
|
||||
-- Treesitter links
|
||||
set_hl("@comment", { link = "Comment" })
|
||||
set_hl("@string", { fg = palette.String })
|
||||
set_hl("@function", { fg = palette.Keyword })
|
||||
set_hl("@variable", { fg = palette.Identifier })
|
||||
set_hl("@keyword", { fg = palette.Keyword })
|
||||
set_hl("@type", { fg = palette.Preprocessor })
|
||||
@@ -6,7 +6,7 @@
|
||||
namespace clrsync::core
|
||||
{
|
||||
|
||||
const std::string GIT_SEMVER = "0.1.7+git.gd17776b";
|
||||
const std::string GIT_SEMVER = "1.0.0+git.g5b0599a";
|
||||
|
||||
const std::string version_string();
|
||||
} // namespace clrsync::core
|
||||
|
||||
Reference in New Issue
Block a user