Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
324 changes: 171 additions & 153 deletions colors/pixel.vim
Original file line number Diff line number Diff line change
Expand Up @@ -11,195 +11,213 @@ endif

let g:colors_name = "pixel"

" ANSI color variables for cleaner code
let black = 0 " ansi 0 - background
let red = 1 " ansi 1 - red (errors, functions)
let green = 2 " ansi 2 - green (strings, added)
let yellow = 3 " ansi 3 - yellow (types, warnings)
let blue = 4 " ansi 4 - blue (keywords, info)
let magenta = 5 " ansi 5 - magenta (constants)
let cyan = 6 " ansi 6 - cyan (special)
let white = 7 " ansi 7 - foreground
let br_black = 8 " ansi 8 - bright black (comments)
let br_red = 9 " ansi 9 - bright red
let br_green = 10 " ansi 10 - bright green
let br_yellow = 11 " ansi 11 - bright yellow
let br_blue = 12 " ansi 12 - bright blue
let br_magenta = 13 " ansi 13 - bright magenta
let br_cyan = 14 " ansi 14 - bright cyan
let br_white = 15 " ansi 15 - bright white

" Disable termguicolors to force terminal ANSI color usage
" This ensures the colorscheme uses the terminal's color palette
if has('nvim')
set notermguicolors
endif

" Basic highlight groups - using only ANSI terminal colors
hi Normal ctermfg=7 ctermbg=0
hi Cursor ctermfg=0 ctermbg=7
hi CursorLine ctermbg=8
hi CursorColumn ctermbg=8
hi LineNr ctermfg=8
hi CursorLineNr ctermfg=7
execute 'hi Normal ctermfg=' . white . ' ctermbg=' . black
execute 'hi Cursor ctermfg=' . black . ' ctermbg=' . white
execute 'hi CursorLine ctermbg=' . br_black
execute 'hi CursorColumn ctermbg=' . br_black
execute 'hi LineNr ctermfg=' . br_black
execute 'hi CursorLineNr ctermfg=' . white

" Syntax highlighting - using ANSI colors for dynamic adaptation
hi Comment ctermfg=8 cterm=italic
hi String ctermfg=2
hi Character ctermfg=10
hi Number ctermfg=6
hi Float ctermfg=6
hi Boolean ctermfg=1
hi Constant ctermfg=5
hi Identifier ctermfg=7
hi Function ctermfg=1 cterm=bold
hi Statement ctermfg=4 cterm=bold
hi Conditional ctermfg=4
hi Repeat ctermfg=4
hi Label ctermfg=4
hi Operator ctermfg=7
hi Keyword ctermfg=4 cterm=bold
hi Exception ctermfg=1
hi PreProc ctermfg=13
hi Include ctermfg=13
hi Define ctermfg=13
hi Macro ctermfg=13
hi PreCondit ctermfg=13
hi Type ctermfg=3 cterm=bold
hi StorageClass ctermfg=3
hi Structure ctermfg=3
hi Typedef ctermfg=3
hi Special ctermfg=6
hi SpecialChar ctermfg=14
hi Tag ctermfg=1
hi Delimiter ctermfg=7
hi SpecialComment ctermfg=11
hi Debug ctermfg=9
execute 'hi Comment ctermfg=' . br_black . ' cterm=italic'
execute 'hi String ctermfg=' . green
execute 'hi Character ctermfg=' . br_green
execute 'hi Number ctermfg=' . cyan
execute 'hi Float ctermfg=' . cyan
execute 'hi Boolean ctermfg=' . red
execute 'hi Constant ctermfg=' . magenta
execute 'hi Identifier ctermfg=' . white
execute 'hi Function ctermfg=' . red . ' cterm=bold'
execute 'hi Statement ctermfg=' . blue . ' cterm=bold'
execute 'hi Conditional ctermfg=' . blue
execute 'hi Repeat ctermfg=' . blue
execute 'hi Label ctermfg=' . blue
execute 'hi Operator ctermfg=' . white
execute 'hi Keyword ctermfg=' . blue . ' cterm=bold'
execute 'hi Exception ctermfg=' . red
execute 'hi PreProc ctermfg=' . br_magenta
execute 'hi Include ctermfg=' . br_magenta
execute 'hi Define ctermfg=' . br_magenta
execute 'hi Macro ctermfg=' . br_magenta
execute 'hi PreCondit ctermfg=' . br_magenta
execute 'hi Type ctermfg=' . yellow . ' cterm=bold'
execute 'hi StorageClass ctermfg=' . yellow
execute 'hi Structure ctermfg=' . yellow
execute 'hi Typedef ctermfg=' . yellow
execute 'hi Special ctermfg=' . cyan
execute 'hi SpecialChar ctermfg=' . br_cyan
execute 'hi Tag ctermfg=' . red
execute 'hi Delimiter ctermfg=' . white
execute 'hi SpecialComment ctermfg=' . br_yellow
execute 'hi Debug ctermfg=' . br_red

" Additional syntax highlighting
hi Class ctermfg=3 cterm=bold
hi Variable ctermfg=7
hi Property ctermfg=6
hi Method ctermfg=1
execute 'hi Class ctermfg=' . yellow . ' cterm=bold'
execute 'hi Variable ctermfg=' . white
execute 'hi Property ctermfg=' . cyan
execute 'hi Method ctermfg=' . red

" UI elements
hi Visual ctermbg=8
hi Search ctermfg=0 ctermbg=3 cterm=bold
hi IncSearch ctermfg=0 ctermbg=11 cterm=bold
hi StatusLine ctermfg=7 ctermbg=8 cterm=bold
hi StatusLineNC ctermfg=8 ctermbg=0
hi VertSplit ctermfg=8
hi Pmenu ctermfg=7 ctermbg=8
hi PmenuSel ctermfg=0 ctermbg=4 cterm=bold
hi PmenuSbar ctermbg=8
hi PmenuThumb ctermbg=7
hi TabLine ctermfg=8 ctermbg=0
hi TabLineFill ctermbg=0
hi TabLineSel ctermfg=7 ctermbg=8 cterm=bold
execute 'hi Visual ctermbg=' . br_black
execute 'hi Search ctermfg=' . black . ' ctermbg=' . yellow . ' cterm=bold'
execute 'hi IncSearch ctermfg=' . black . ' ctermbg=' . br_yellow . ' cterm=bold'
execute 'hi StatusLine ctermfg=' . white . ' ctermbg=' . br_black . ' cterm=bold'
execute 'hi StatusLineNC ctermfg=' . br_black . ' ctermbg=' . black
execute 'hi VertSplit ctermfg=' . br_black
execute 'hi Pmenu ctermfg=' . white . ' ctermbg=' . br_black
execute 'hi PmenuSel ctermfg=' . black . ' ctermbg=' . blue . ' cterm=bold'
execute 'hi PmenuSbar ctermbg=' . br_black
execute 'hi PmenuThumb ctermbg=' . white
execute 'hi TabLine ctermfg=' . br_black . ' ctermbg=' . black
execute 'hi TabLineFill ctermbg=' . black
execute 'hi TabLineSel ctermfg=' . white . ' ctermbg=' . br_black . ' cterm=bold'

" Diff highlighting
hi DiffAdd ctermfg=2 ctermbg=0 cterm=bold
hi DiffChange ctermfg=3 ctermbg=0
hi DiffDelete ctermfg=1 ctermbg=0 cterm=bold
hi DiffText ctermfg=11 ctermbg=0 cterm=bold
execute 'hi DiffAdd ctermfg=' . green . ' ctermbg=' . black . ' cterm=bold'
execute 'hi DiffChange ctermfg=' . yellow . ' ctermbg=' . black
execute 'hi DiffDelete ctermfg=' . red . ' ctermbg=' . black . ' cterm=bold'
execute 'hi DiffText ctermfg=' . br_yellow . ' ctermbg=' . black . ' cterm=bold'

" Git gutter
hi GitGutterAdd ctermfg=2
hi GitGutterChange ctermfg=3
hi GitGutterDelete ctermfg=1
hi GitGutterChangeDelete ctermfg=5
execute 'hi GitGutterAdd ctermfg=' . green
execute 'hi GitGutterChange ctermfg=' . yellow
execute 'hi GitGutterDelete ctermfg=' . red
execute 'hi GitGutterChangeDelete ctermfg=' . magenta

" Error and warning
hi Error ctermfg=9 ctermbg=0 cterm=bold
hi Warning ctermfg=11 ctermbg=0 cterm=bold
hi ErrorMsg ctermfg=9 cterm=bold
hi WarningMsg ctermfg=11 cterm=bold
hi Question ctermfg=2 cterm=bold
hi MoreMsg ctermfg=2 cterm=bold
execute 'hi Error ctermfg=' . br_red . ' ctermbg=' . black . ' cterm=bold'
execute 'hi Warning ctermfg=' . br_yellow . ' ctermbg=' . black . ' cterm=bold'
execute 'hi ErrorMsg ctermfg=' . br_red . ' cterm=bold'
execute 'hi WarningMsg ctermfg=' . br_yellow . ' cterm=bold'
execute 'hi Question ctermfg=' . green . ' cterm=bold'
execute 'hi MoreMsg ctermfg=' . green . ' cterm=bold'

" Folding
hi Folded ctermfg=8 ctermbg=0 cterm=italic
hi FoldColumn ctermfg=8 ctermbg=0
execute 'hi Folded ctermfg=' . br_black . ' ctermbg=' . black . ' cterm=italic'
execute 'hi FoldColumn ctermfg=' . br_black . ' ctermbg=' . black

" Spelling
hi SpellBad ctermfg=1 cterm=underline
hi SpellCap ctermfg=4 cterm=underline
hi SpellLocal ctermfg=6 cterm=underline
hi SpellRare ctermfg=5 cterm=underline
execute 'hi SpellBad ctermfg=' . red . ' cterm=underline'
execute 'hi SpellCap ctermfg=' . blue . ' cterm=underline'
execute 'hi SpellLocal ctermfg=' . cyan . ' cterm=underline'
execute 'hi SpellRare ctermfg=' . magenta . ' cterm=underline'

" File explorer and tree colors
hi Directory ctermfg=4 cterm=bold
hi NvimTreeFolderName ctermfg=4
hi NvimTreeFolderIcon ctermfg=4
hi NvimTreeOpenedFolderName ctermfg=12 cterm=bold
hi NvimTreeFileName ctermfg=7
hi NvimTreeExecFile ctermfg=2 cterm=bold
hi NvimTreeSpecialFile ctermfg=5 cterm=bold
hi NvimTreeImageFile ctermfg=6
hi NvimTreeMarkdownFile ctermfg=1
hi NvimTreeIndentMarker ctermfg=8
execute 'hi Directory ctermfg=' . blue . ' cterm=bold'
execute 'hi NvimTreeFolderName ctermfg=' . blue
execute 'hi NvimTreeFolderIcon ctermfg=' . blue
execute 'hi NvimTreeOpenedFolderName ctermfg=' . br_blue . ' cterm=bold'
execute 'hi NvimTreeFileName ctermfg=' . white
execute 'hi NvimTreeExecFile ctermfg=' . green . ' cterm=bold'
execute 'hi NvimTreeSpecialFile ctermfg=' . magenta . ' cterm=bold'
execute 'hi NvimTreeImageFile ctermfg=' . cyan
execute 'hi NvimTreeMarkdownFile ctermfg=' . red
execute 'hi NvimTreeIndentMarker ctermfg=' . br_black

" Neo-tree colors
hi NeoTreeDirectoryName ctermfg=4
hi NeoTreeDirectoryIcon ctermfg=4
hi NeoTreeFileName ctermfg=7
hi NeoTreeFileIcon ctermfg=6
hi NeoTreeModified ctermfg=3
hi NeoTreeGitAdded ctermfg=2
hi NeoTreeGitDeleted ctermfg=1
hi NeoTreeGitModified ctermfg=3
hi NeoTreeGitUntracked ctermfg=8
execute 'hi NeoTreeDirectoryName ctermfg=' . blue
execute 'hi NeoTreeDirectoryIcon ctermfg=' . blue
execute 'hi NeoTreeFileName ctermfg=' . white
execute 'hi NeoTreeFileIcon ctermfg=' . cyan
execute 'hi NeoTreeModified ctermfg=' . yellow
execute 'hi NeoTreeGitAdded ctermfg=' . green
execute 'hi NeoTreeGitDeleted ctermfg=' . red
execute 'hi NeoTreeGitModified ctermfg=' . yellow
execute 'hi NeoTreeGitUntracked ctermfg=' . br_black

" Telescope colors
hi TelescopeSelection ctermfg=7 ctermbg=8 cterm=bold
hi TelescopeSelectionCaret ctermfg=1 cterm=bold
hi TelescopeMultiSelection ctermfg=2 cterm=bold
hi TelescopeNormal ctermfg=7
hi TelescopeBorder ctermfg=8
hi TelescopePromptBorder ctermfg=4
hi TelescopeResultsBorder ctermfg=8
hi TelescopePreviewBorder ctermfg=8
hi TelescopeTitle ctermfg=7 cterm=bold
hi TelescopePromptTitle ctermfg=4 cterm=bold
hi TelescopeResultsTitle ctermfg=2 cterm=bold
hi TelescopePreviewTitle ctermfg=6 cterm=bold
execute 'hi TelescopeSelection ctermfg=' . white . ' ctermbg=' . br_black . ' cterm=bold'
execute 'hi TelescopeSelectionCaret ctermfg=' . red . ' cterm=bold'
execute 'hi TelescopeMultiSelection ctermfg=' . green . ' cterm=bold'
execute 'hi TelescopeNormal ctermfg=' . white
execute 'hi TelescopeBorder ctermfg=' . br_black
execute 'hi TelescopePromptBorder ctermfg=' . blue
execute 'hi TelescopeResultsBorder ctermfg=' . br_black
execute 'hi TelescopePreviewBorder ctermfg=' . br_black
execute 'hi TelescopeTitle ctermfg=' . white . ' cterm=bold'
execute 'hi TelescopePromptTitle ctermfg=' . blue . ' cterm=bold'
execute 'hi TelescopeResultsTitle ctermfg=' . green . ' cterm=bold'
execute 'hi TelescopePreviewTitle ctermfg=' . cyan . ' cterm=bold'

" LSP and diagnostic colors
hi DiagnosticError ctermfg=1
hi DiagnosticWarn ctermfg=3
hi DiagnosticInfo ctermfg=4
hi DiagnosticHint ctermfg=8
execute 'hi DiagnosticError ctermfg=' . red
execute 'hi DiagnosticWarn ctermfg=' . yellow
execute 'hi DiagnosticInfo ctermfg=' . blue
execute 'hi DiagnosticHint ctermfg=' . br_black
hi DiagnosticUnderlineError cterm=underline
hi DiagnosticUnderlineWarn cterm=underline
hi DiagnosticUnderlineInfo cterm=underline
hi DiagnosticUnderlineHint cterm=underline

" LSP semantic highlighting - treesitter
hi @variable ctermfg=7
hi @variable.builtin ctermfg=5 cterm=italic
hi @variable.parameter ctermfg=7 cterm=italic
hi @constant ctermfg=5 cterm=bold
hi @constant.builtin ctermfg=5 cterm=bold,italic
hi @constant.macro ctermfg=13 cterm=bold
hi @string ctermfg=2
hi @string.escape ctermfg=10 cterm=bold
hi @string.special ctermfg=6
hi @character ctermfg=10
hi @number ctermfg=6
hi @boolean ctermfg=1 cterm=bold
hi @float ctermfg=6
hi @function ctermfg=1 cterm=bold
hi @function.builtin ctermfg=1 cterm=bold,italic
hi @function.macro ctermfg=9 cterm=bold
hi @method ctermfg=1
hi @constructor ctermfg=3 cterm=bold
hi @parameter ctermfg=7 cterm=italic
hi @keyword ctermfg=4 cterm=bold
hi @keyword.function ctermfg=4 cterm=italic
hi @keyword.operator ctermfg=4
hi @keyword.return ctermfg=4 cterm=bold
hi @conditional ctermfg=4
hi @repeat ctermfg=4
hi @label ctermfg=4
hi @operator ctermfg=7
hi @exception ctermfg=1 cterm=bold
hi @type ctermfg=3 cterm=bold
hi @type.builtin ctermfg=3 cterm=bold,italic
hi @type.definition ctermfg=3
hi @storageclass ctermfg=3
hi @structure ctermfg=3
hi @namespace ctermfg=3 cterm=italic
hi @include ctermfg=13 cterm=bold
hi @preproc ctermfg=13
hi @debug ctermfg=9
hi @tag ctermfg=1
hi @tag.attribute ctermfg=6
hi @tag.delimiter ctermfg=7
hi @comment ctermfg=8 cterm=italic
hi @comment.documentation ctermfg=11 cterm=italic
execute 'hi @variable ctermfg=' . white
execute 'hi @variable.builtin ctermfg=' . magenta . ' cterm=italic'
execute 'hi @variable.parameter ctermfg=' . white . ' cterm=italic'
execute 'hi @constant ctermfg=' . magenta . ' cterm=bold'
execute 'hi @constant.builtin ctermfg=' . magenta . ' cterm=bold,italic'
execute 'hi @constant.macro ctermfg=' . br_magenta . ' cterm=bold'
execute 'hi @string ctermfg=' . green
execute 'hi @string.escape ctermfg=' . br_green . ' cterm=bold'
execute 'hi @string.special ctermfg=' . cyan
execute 'hi @character ctermfg=' . br_green
execute 'hi @number ctermfg=' . cyan
execute 'hi @boolean ctermfg=' . red . ' cterm=bold'
execute 'hi @float ctermfg=' . cyan
execute 'hi @function ctermfg=' . red . ' cterm=bold'
execute 'hi @function.builtin ctermfg=' . red . ' cterm=bold,italic'
execute 'hi @function.macro ctermfg=' . br_red . ' cterm=bold'
execute 'hi @method ctermfg=' . red
execute 'hi @constructor ctermfg=' . yellow . ' cterm=bold'
execute 'hi @parameter ctermfg=' . white . ' cterm=italic'
execute 'hi @keyword ctermfg=' . blue . ' cterm=bold'
execute 'hi @keyword.function ctermfg=' . blue . ' cterm=italic'
execute 'hi @keyword.operator ctermfg=' . blue
execute 'hi @keyword.return ctermfg=' . blue . ' cterm=bold'
execute 'hi @conditional ctermfg=' . blue
execute 'hi @repeat ctermfg=' . blue
execute 'hi @label ctermfg=' . blue
execute 'hi @operator ctermfg=' . white
execute 'hi @exception ctermfg=' . red . ' cterm=bold'
execute 'hi @type ctermfg=' . yellow . ' cterm=bold'
execute 'hi @type.builtin ctermfg=' . yellow . ' cterm=bold,italic'
execute 'hi @type.definition ctermfg=' . yellow
execute 'hi @storageclass ctermfg=' . yellow
execute 'hi @structure ctermfg=' . yellow
execute 'hi @namespace ctermfg=' . yellow . ' cterm=italic'
execute 'hi @include ctermfg=' . br_magenta . ' cterm=bold'
execute 'hi @preproc ctermfg=' . br_magenta
execute 'hi @debug ctermfg=' . br_red
execute 'hi @tag ctermfg=' . red
execute 'hi @tag.attribute ctermfg=' . cyan
execute 'hi @tag.delimiter ctermfg=' . white
execute 'hi @comment ctermfg=' . br_black . ' cterm=italic'
execute 'hi @comment.documentation ctermfg=' . br_yellow . ' cterm=italic'

" Treesitter context
hi TreesitterContext ctermbg=8
hi TreesitterContextLineNumber ctermfg=7 cterm=bold
execute 'hi TreesitterContext ctermbg=' . br_black
execute 'hi TreesitterContextLineNumber ctermfg=' . white . ' cterm=bold'