Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Personal vim colorscheme #4

Open
3 tasks
Mischback opened this issue Oct 6, 2022 · 2 comments
Open
3 tasks

Personal vim colorscheme #4

Mischback opened this issue Oct 6, 2022 · 2 comments
Assignees
Labels
type/feature New feature / feature request

Comments

@Mischback
Copy link
Owner

Mischback commented Oct 6, 2022

Develop a personal colorscheme (including colors for airline plugin.

  • focus on 256 color terminals
  • more smooth colors for true 24-bit terminals
  • Use GitHub's dark style as reference

References

Other Colorschemes

@Mischback Mischback added the type/feature New feature / feature request label Oct 6, 2022
@Mischback Mischback self-assigned this Oct 6, 2022
@Mischback
Copy link
Owner Author

Mischback commented Oct 7, 2022

vim Default Highlight Groups

https://github.com/vim/vim/blob/master/runtime/doc/syntax.txt#L5303

  • ColorColumn: Used for the columns set with 'colorcolumn'.
  • Conceal: Placeholder characters substituted for concealed text (see 'conceallevel').
  • Cursor: Character under the cursor.
  • lCursor: Character under the cursor when |language-mapping| is used (see 'guicursor').
  • CursorIM: Like Cursor, but used when in IME mode. |CursorIM|
  • CursorColumn: Screen column that the cursor is in when 'cursorcolumn' is set.
  • CursorLine: Screen line that the cursor is in when 'cursorline' is set.
  • Directory: Directory names (and other special names in listings).
  • DiffAdd: Diff mode: Added line. |diff.txt|
  • DiffChange: Diff mode: Changed line. |diff.txt|
  • DiffDelete: Diff mode: Deleted line. |diff.txt|
  • DiffText: Diff mode: Changed text within a changed line. |diff.txt|
  • EndOfBuffer: Filler lines (~) after the last line in the buffer. By default, this is highlighted like |hl-NonText|.
  • ErrorMsg: messages on the command line.
  • VertSplit: Column separating vertically split windows.
  • Folded: Line used for closed folds.
  • FoldColumn: 'foldcolumn'
  • SignColumn: Column where |signs| are displayed.
  • IncSearch: 'incsearch' highlighting; also used for the text replaced with ":s///c".
  • LineNr: Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set.
  • LineNrAbove: Line number for when the 'relativenumber' option is set, above the cursor line.
  • LineNrBelow: Line number for when the 'relativenumber' option is set, below the cursor line.
  • CursorLineNr: Like LineNr when 'cursorline' is set and 'cursorlineopt' contains "number" or is "both", for the cursor line.
  • CursorLineSign: Like SignColumn when 'cursorline' is set for the cursor line.
  • CursorLineFold: Like FoldColumn when 'cursorline' is set for the cursor line.
  • MatchParen: Character under the cursor or just before it, if it is a paired bracket, and its match. |pi_paren.txt|
  • MessageWindow: Messages popup window used when 'cmdheight' is zero. If not defined |hl-WarningMsg| is used.
  • ModeMsg: 'showmode' message (e.g., "-- INSERT --").
  • MoreMsg: |more-prompt|
  • NonText: '@' at the end of the window, "<<<" at the start of the window for 'smoothscroll', characters from 'showbreak' and other characters that do not really exist in the text, such as the ">" displayed when a double-wide character doesn't fit at the end of the line.
  • Normal: Normal text.
  • Pmenu: Popup menu: Normal item.
  • PmenuSel: Popup menu: Selected item.
  • PmenuSbar: Popup menu: Scrollbar.
  • PmenuThumb: Popup menu: Thumb of the scrollbar.
  • PopupNotification: Popup window created with |popup_notification()|. If not defined |hl-WarningMsg| is used.
  • Question: |hit-enter| prompt and yes/no questions.
  • QuickFixLine: Current |quickfix| item in the quickfix window.
  • Search: Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out.
  • CurSearch: Current match for the last search pattern (see 'hlsearch'). Note: This is correct after a search, but may get outdated if changes are made or the screen is redrawn.
  • SpecialKey: Meta and special keys listed with ":map", also for text used to show unprintable characters in the text, 'listchars'. Generally: Text that is displayed differently from what it really is.
  • SpellBad: Word that is not recognized by the spellchecker. |spell| This will be combined with the highlighting used otherwise.
  • SpellCap: Word that should start with a capital. |spell| This will be combined with the highlighting used otherwise.
  • SpellLocal: Word that is recognized by the spellchecker as one that is used in another region. |spell| This will be combined with the highlighting used otherwise.
  • SpellRare: Word that is recognized by the spellchecker as one that is hardly ever used. |spell| This will be combined with the highlighting used otherwise.
  • StatusLine: Status line of current window.
  • StatusLineNC: status lines of not-current windows Note: If this is equal to "StatusLine", Vim will use "^^^" in the status line of the current window.
  • StatusLineTerm: Status line of current window, if it is a |terminal| window.
  • StatusLineTermNC: Status lines of not-current windows that is a |terminal| window.
  • TabLine: Tab pages line, not active tab page label.
  • TabLineFill: Tab pages line, where there are no labels.
  • TabLineSel: Tab pages line, active tab page label.
  • Terminal: |terminal| window (see |terminal-size-color|).
  • Title: Titles for output from ":set all", ":autocmd" etc.
  • Visual: Visual mode selection.
  • VisualNOS: Visual mode selection when vim is "Not Owning the Selection". Only X11 Gui's |gui-x11| and |xterm-clipboard| supports this.
  • WarningMsg: Warning messages.
  • WildMenu: Current match in 'wildmenu' completion.
  • User1 - User9: The 'statusline' syntax allows the use of 9 different highlights in the statusline and ruler (via 'rulerformat'). The names are User1 to User9.
  • Menu: Current font, background and foreground colors of the menus.
    • GUI only
  • Scrollbar: Current background and foreground of the main window's scrollbars. Applicable highlight arguments: guibg, guifg.
    • GUI only
  • Tooltip: Current font, background and foreground of the tooltips. Applicable highlight arguments: font, guibg, guifg.
    • GUI only

@Mischback
Copy link
Owner Author

Mischback commented Oct 10, 2022

Log

  1. Define the main colors
    • as this is meant for actual development, let's define the primary colors first
      • #1c1c1c main background color (Normal, bg)
      • #b2b2b2 main foreground color (Normal, fg)
      • #767676 for comments (Comment, fg)
  2. Define colors for basic syntax highlighting
    • the default syntax highlighting groups can be shown with :h w18
    • define colors for the primary groups
      • #767676 Comment
      • #ff5f00 Constant
      • #b2b2b2 Identifier
      • #5fafff Statement
      • #af5fd7 PreProc
      • #00af87 Type
      • #ff5f00 Special
      • #b2b2b2 Ignore
      • #af0000 Error
      • #ffd700 Todo
  3. Define colors for sub groups
    • still sticking to the default syntax highlighting groups (:h w18)
    • continuously check with actual source code files of your preferred language
      • #87af00 String
      • #5fd700 Character
      • #ff8700 Number, Boolean, Float
      • #ff5f00 Function
      • #af87d7 Define, Macro
      • #5f5fd7 PreCondit
      • #87d7ff StorageClass
      • #949494 Tag, Delimiter

Mischback added a commit that referenced this issue Oct 18, 2022
Most of the work was put into the Vim colorscheme, which is designed
from scratch. It is not yet finished, so #4 is still kept open.

zsh's and git's configs where revisited and have some minor changes.

- close #2
- close #3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/feature New feature / feature request
Projects
None yet
Development

No branches or pull requests

1 participant