commit f1d310a07da244335948963865cf2fc53f583a82 Author: Kristofers Solo Date: Wed Apr 27 11:41:37 2022 +0300 Initial commit diff --git a/.zshenv b/.zshenv new file mode 100644 index 00000000..1ef46092 --- /dev/null +++ b/.zshenv @@ -0,0 +1,24 @@ +typeset -U PATH path + +# Other XDG paths +export XDG_DATA_HOME=${XDG_DATA_HOME:="$HOME/.local/share"} +export XDG_CACHE_HOME=${XDG_CACHE_HOME:="$HOME/.cache"} +export XDG_CONFIG_HOME=${XDG_CONFIG_HOME:="$HOME/.config"} + +# Disable files +export LESSHISTFILE=- + +# Fixing paths +export XINITRC="$XDG_CONFIG_HOME"/X11/xinitrc +export ZDOTDIR=$HOME/.config/zsh +export HISTFILE="$XDG_DATA_HOME"/zsh/history + +# Default Apps +export EDITOR="nvim" +export VISUAL="nvim" +export READER="zathura" +export TERMINAL="alacritty" +export BROWSER="vivaldi" +export VIDEO="mpv" +export IMAGE="nsxiv" +export WM="awesome" diff --git a/README.md b/README.md new file mode 100644 index 00000000..9b3b7324 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# Kristofers Solo config files +## Dependencies +* [omnipause](https://github.com/mel00010/OmniPause) +* [pulsemixer](https://github.com/GeorgeFilipkin/pulsemixer) +* [Image preview for lf](https://github.com/cirala/lfimg) + + diff --git a/alacritty/alacritty.yml b/alacritty/alacritty.yml new file mode 100644 index 00000000..4edcd710 --- /dev/null +++ b/alacritty/alacritty.yml @@ -0,0 +1,881 @@ +# Configuration for Alacritty, the GPU enhanced terminal emulator. + +# Import additional configuration files +# +# Imports are loaded in order, skipping all missing files, with the importing +# file being loaded last. If a field is already present in a previous import, it +# will be replaced. +# +# All imports must either be absolute paths starting with `/`, or paths relative +# to the user's home directory starting with `~/`. +#import: +# - /path/to/alacritty.yml + +# Any items in the `env` entry below will be added as +# environment variables. Some entries may override variables +# set by alacritty itself. +env: + # TERM variable + # + # This value is used to set the `$TERM` environment variable for + # each instance of Alacritty. If it is not present, alacritty will + # check the local terminfo database and use `alacritty` if it is + # available, otherwise `xterm-256color` is used. + TERM: alacritty + +# Background opacity +# +# Window opacity as a floating point number from `0.0` to `1.0`. +# The value `0.0` is completely transparent and `1.0` is opaque. +# background_opacity: 0.9 + +window: + # Window dimensions (changes require restart) + # + # Number of lines/columns (not pixels) in the terminal. The number of columns + # must be at least `2`, while using a value of `0` for columns and lines will + # fall back to the window manager's recommended size. + dimensions: + columns: 0 + lines: 0 + + + + opacity: 0.9 + # Window position (changes require restart) + # + # Specified in number of pixels. + # If the position is not set, the window manager will handle the placement. + #position: + # x: 0 + # y: 0 + + # Window padding (changes require restart) + # + # Blank space added around the window in pixels. This padding is scaled + # by DPI and the specified value is always added at both opposing sides. + padding: + x: 0 + y: 0 + + # Spread additional padding evenly around the terminal content. + dynamic_padding: true + + # Window decorations + # + # Values for `decorations`: + # - full: Borders and title bar + # - none: Neither borders nor title bar + # + # Values for `decorations` (macOS only): + # - transparent: Title bar, transparent background and title bar buttons + # - buttonless: Title bar, transparent background and no title bar buttons + decorations: none + + + + + # Startup Mode (changes require restart) + # + # Values for `startup_mode`: + # - Windowed + # - Maximized + # - Fullscreen + # + # Values for `startup_mode` (macOS only): + # - SimpleFullscreen + startup_mode: Windowed + + # Window title + title: Alacritty + + # Allow terminal applications to change Alacritty's window title. + dynamic_title: true + + # Window class (Linux/BSD only): + # class: + # Application instance name + # instance: Alacritty + # General application class + # general: Alacritty + + # GTK theme variant (Linux/BSD only) + # + # Override the variant of the GTK theme. Commonly supported values are `dark` + # and `light`. Set this to `None` to use the default theme variant. + gtk_theme_variant: dark + +scrolling: + # Maximum number of lines in the scrollback buffer. + # Specifying '0' will disable scrolling. + history: 10000 + + # Scrolling distance multiplier. + multiplier: 3 + +# Font configuration +font: + # Normal (roman) font face + normal: + # Font family + # + # Default: + # - (macOS) Menlo + # - (Linux/BSD) monospace + # - (Windows) Consolas + family: JetBrainsMono NF + + # The `style` can be specified to pick a specific face. + style: Regular + + # Bold font face + bold: + # Font family + # + # If the bold family is not specified, it will fall back to the + # value specified for the normal font. + family: JetBrainsMono NF + + # The `style` can be specified to pick a specific face. + style: Bold + + # Italic font face + italic: + # Font family + # + # If the italic family is not specified, it will fall back to the + # value specified for the normal font. + family: JetBrainsMono NF + + # The `style` can be specified to pick a specific face. + style: Italic + + # Bold italic font face + bold_italic: + # Font family + # + # If the bold italic family is not specified, it will fall back to the + # value specified for the normal font. + family: JetBrainsMono NF + + # The `style` can be specified to pick a specific face. + style: Bold Italic + + # Point size + size: 9.0 + + # Offset is the extra space around each character. `offset.y` can be thought + # of as modifying the line spacing, and `offset.x` as modifying the letter + # spacing. + offset: + x: 0 + y: -1 + + # Glyph offset determines the locations of the glyphs within their cells with + # the default being at the bottom. Increasing `x` moves the glyph to the + # right, increasing `y` moves the glyph upward. + glyph_offset: + x: 0 + y: 0 + + # Thin stroke font rendering (macOS only) + # + # Thin strokes are suitable for retina displays, but for non-retina screens + # it is recommended to set `use_thin_strokes` to `false`. + use_thin_strokes: false + +# If `true`, bold text is drawn using the bright color variants. +draw_bold_text_with_bright_colors: true + +# Colors (Tomorrow Night) +colors: + # Default colors + primary: + background: '#1d1f21' + foreground: '#c5c8c6' + + # Bright and dim foreground colors + # + # The dimmed foreground color is calculated automatically if it is not + # present. If the bright foreground color is not set, or + # `draw_bold_text_with_bright_colors` is `false`, the normal foreground + # color will be used. + dim_foreground: '#828482' + bright_foreground: '#eaeaea' + + # Cursor colors + # + # Colors which should be used to draw the terminal cursor. + # + # Allowed values are CellForeground/CellBackground, which reference the + # affected cell, or hexadecimal colors like #ff00ff. + cursor: + text: CellBackground + cursor: CellForeground + + # Vi mode cursor colors + # + # Colors for the cursor when the vi mode is active. + # + # Allowed values are CellForeground/CellBackground, which reference the + # affected cell, or hexadecimal colors like #ff00ff. + vi_mode_cursor: + text: CellBackground + cursor: CellForeground + + # Search colors + # + # Colors used for the search bar and match highlighting. + search: + # Allowed values are CellForeground/CellBackground, whichq reference the + # affected cell, or hexadecimal colors like #ff00ff. + # matches: + # foreground: '#000000' + # background: '#ffffff' + # focused_match: + # foreground: '#ffffff' + # background: '#000000' + + bar: + background: '#282828' + foreground: '#EBEBE9' + + # Keyboard regex hints + hints: + # First character in the hint label + # + # Allowed values are CellForeground/CellBackground, which reference the + # affected cell, or hexadecimal colors like #ff00ff. + start: + foreground: '#1d1f21' + background: '#e9ff5e' + + # All characters after the first one in the hint label + # + # Allowed values are CellForeground/CellBackground, which reference the + # affected cell, or hexadecimal colors like #ff00ff. + end: + foreground: '#e9ff5e' + background: '#1d1f21' + + # Line indicator + # + # Color used for the indicator displaying the position in history during + # search and vi mode. + # + # By default, these will use the opposing primary color. + #line_indicator: + # foreground: None + # background: None + + # Selection colors + # + # Colors which should be used to draw the selection area. + # + # Allowed values are CellForeground/CellBackground, which reference the + # affected cell, or hexadecimal colors like #ff00ff. + selection: + text: CellBackground + background: CellForeground + + # Normal colors + normal: + black: '#313539' + red: '#b02626' + green: '#40a62f' + yellow: '#f1e635' + blue: '#314ad0' + magenta: '#b30ad0' + cyan: '#32d0fc' + white: '#acadb1' + + # Bright colors + bright: + black: '#717174' + red: '#b02626' + green: '#40a62f' + yellow: '#f1e635' + blue: '#314ad0' + magenta: '#b30ad0' + cyan: '#32d0fc' + white: '#acadb1' + + # Dim colors + # + # If the dim colors are not set, they will be calculated automatically based + # on the `normal` colors. + dim: + black: '#676f78' + red: '#b55454' + green: '#78a670' + yellow: '#faf380' + blue: '#707fd0' + magenta: '#c583d0' + cyan: '#8adaf1' + white: '#e0e3e7' + + # Indexed Colors + # + # The indexed colors include all colors from 16 to 256. + # When these are not set, they're filled with sensible defaults. + # + # Example: + # `- { index: 16, color: '#ff00ff' }` + # + #indexed_colors: [] + + # Transparent cell backgrounds + # + # Whether or not `window.opacity` applies to all cell backgrounds or only to + # the default background. When set to `true` all cells will be transparent + # regardless of their background color. + transparent_background_colors: false + +# Bell +# +# The bell is rung every time the BEL control character is received. +#bell: + # Visual Bell Animation + # + # Animation effect for flashing the screen when the visual bell is rung. + # + # Values for `animation`: + # - Ease + # - EaseOut + # - EaseOutSine + # - EaseOutQuad + # - EaseOutCubic + # - EaseOutQuart + # - EaseOutQuint + # - EaseOutExpo + # - EaseOutCirc + # - Linear + #animation: EaseOutExpo + + # Duration of the visual bell flash in milliseconds. A `duration` of `0` will + # disable the visual bell animation. + #duration: 0 + + # Visual bell animation color. + #color: '#ffffff' + + + + # Bell Command + # + # This program is executed whenever the bell is rung. + # + # When set to `command: None`, no command will be executed. + # + # Example: + # command: + # program: notify-send + # args: ["Hello, World!"] + # + #command: None + +selection: + # This string contains all characters that are used as separators for + # "semantic words" in Alacritty. + semantic_escape_chars: ",│`|:\"' ()[]{}<>\t" + + # When set to `true`, selected text will be copied to the primary clipboard. + save_to_clipboard: true + +cursor: + # Cursor style + style: + # Cursor shape + # + # Values for `shape`: + # - ▇ Block + # - _ Underline + # - | Beam + shape: Beam + + # Cursor blinking state + # + # Values for `blinking`: + # - Never: Prevent the cursor from ever blinking + # - Off: Disable blinking by default + # - On: Enable blinking by default + # - Always: Force the cursor to always blink + #blinking: Off + + # Vi mode cursor style + # + # If the vi mode cursor style is `None` or not specified, it will fall back to + # the style of the active value of the normal cursor. + # + # See `cursor.style` for available options. + vi_mode_style: Block + + # Cursor blinking interval in milliseconds. + #blink_interval: 750 + + # If this is `true`, the cursor will be rendered as a hollow box when the + # window is not focused. + unfocused_hollow: false + + # Thickness of the cursor relative to the cell width as floating point number + # from `0.0` to `1.0`. + #thickness: 0.15 + +# Live config reload (changes require restart) +#live_config_reload: true + +# Shell +# +# You can set `shell.program` to the path of your favorite shell, e.g. +# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the +# shell. +# +# Default: +# - (macOS) /bin/bash --login +# - (Linux/BSD) user login shell +# - (Windows) powershell +shell: + program: /bin/zsh +# args: +# - --login + +# Startup directory +# +# Directory the shell is started in. If this is unset, or `None`, the working +# directory of the parent process will be used. +#working_directory: None + +# Send ESC (\x1b) before characters when alt is pressed. +#alt_send_esc: true + +# Offer IPC using `alacritty msg` (unix only) +#ipc_socket: true + +#mouse: + # Click settings + # + # The `double_click` and `triple_click` settings control the time + # alacritty should wait for accepting multiple clicks as one double + # or triple click. + #double_click: { threshold: 300 } + #triple_click: { threshold: 300 } + + # If this is `true`, the cursor is temporarily hidden when typing. + #hide_when_typing: false + +# Regex hints +# +# Terminal hints can be used to find text in the visible part of the terminal +# and pipe it to other applications. +#hints: + # Keys used for the hint labels. + #alphabet: "jfkdls;ahgurieowpq" + + # List with all available hints + # + # Each hint must have a `regex` and either an `action` or a `command` field. + # The fields `mouse`, `binding` and `post_processing` are optional. + # + # The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and + # `mouse.mods` accept the same values as they do in the `key_bindings` section. + # + # The `mouse.enabled` field controls if the hint should be underlined while + # the mouse with all `mouse.mods` keys held or the vi mode cursor is above it. + # + # If the `post_processing` field is set to `true`, heuristics will be used to + # shorten the match if there are characters likely not to be part of the hint + # (e.g. a trailing `.`). This is most useful for URIs. + # + # Values for `action`: + # - Copy + # Copy the hint's text to the clipboard. + # - Paste + # Paste the hint's text to the terminal or search. + # - Select + # Select the hint's text. + # - MoveViModeCursor + # Move the vi mode cursor to the beginning of the hint. + #enabled: + # - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\ + # [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+" + # command: xdg-open + # post_processing: true + # mouse: + # enabled: true + # mods: None + # binding: + # key: U + # mods: Control|Shift + +# Mouse bindings +# +# Mouse bindings are specified as a list of objects, much like the key +# bindings further below. +# +# To trigger mouse bindings when an application running within Alacritty +# captures the mouse, the `Shift` modifier is automatically added as a +# requirement. +# +# Each mouse binding will specify a: +# +# - `mouse`: +# +# - Middle +# - Left +# - Right +# - Numeric identifier such as `5` +# +# - `action` (see key bindings for actions not exclusive to mouse mode) +# +# - Mouse exclusive actions: +# +# - ExpandSelection +# Expand the selection to the current mouse cursor location. +# +# And optionally: +# +# - `mods` (see key bindings) +mouse_bindings: +# - { mouse: Right, action: ExpandSelection } +- { mouse: Middle, mode: ~Vi, action: PasteSelection } + +# Key bindings +# +# Key bindings are specified as a list of objects. For example, this is the +# default paste binding: +# +# `- { key: V, mods: Control|Shift, action: Paste }` +# +# Each key binding will specify a: +# +# - `key`: Identifier of the key pressed +# +# - A-Z +# - F1-F24 +# - Key0-Key9 +# +# A full list with available key codes can be found here: +# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants +# +# Instead of using the name of the keys, the `key` field also supports using +# the scancode of the desired key. Scancodes have to be specified as a +# decimal number. This command will allow you to display the hex scancodes +# for certain keys: +# +# `showkey --scancodes`. +# +# Then exactly one of: +# +# - `chars`: Send a byte sequence to the running application +# +# The `chars` field writes the specified string to the terminal. This makes +# it possible to pass escape sequences. To find escape codes for bindings +# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside +# of tmux. Note that applications use terminfo to map escape sequences back +# to keys. It is therefore required to update the terminfo when changing an +# escape sequence. +# +# - `action`: Execute a predefined action +# +# - ToggleViMode +# - SearchForward +# Start searching toward the right of the search origin. +# - SearchBackward +# Start searching toward the left of the search origin. +# - Copy +# - Paste +# - IncreaseFontSize +# - DecreaseFontSize +# - ResetFontSize +# - ScrollPageUp +# - ScrollPageDown +# - ScrollHalfPageUp +# - ScrollHalfPageDown +# - ScrollLineUp +# - ScrollLineDown +# - ScrollToTop +# - ScrollToBottom +# - ClearHistory +# Remove the terminal's scrollback history. +# - Hide +# Hide the Alacritty window. +# - Minimize +# Minimize the Alacritty window. +# - Quit +# Quit Alacritty. +# - ToggleFullscreen +# - SpawnNewInstance +# Spawn a new instance of Alacritty. +# - CreateNewWindow +# Create a new Alacritty window from the current process. +# - ClearLogNotice +# Clear Alacritty's UI warning and error notice. +# - ClearSelection +# Remove the active selection. +# - ReceiveChar +# - None +# +# - Vi mode exclusive actions: +# +# - Open +# Perform the action of the first matching hint under the vi mode cursor +# with `mouse.enabled` set to `true`. +# - ToggleNormalSelection +# - ToggleLineSelection +# - ToggleBlockSelection +# - ToggleSemanticSelection +# Toggle semantic selection based on `selection.semantic_escape_chars`. +# +# - Vi mode exclusive cursor motion actions: +# +# - Up +# One line up. +# - Down +# One line down. +# - Left +# One character left. +# - Right +# One character right. +# - First +# First column, or beginning of the line when already at the first column. +# - Last +# Last column, or beginning of the line when already at the last column. +# - FirstOccupied +# First non-empty cell in this terminal row, or first non-empty cell of +# the line when already at the first cell of the row. +# - High +# Top of the screen. +# - Middle +# Center of the screen. +# - Low +# Bottom of the screen. +# - SemanticLeft +# Start of the previous semantically separated word. +# - SemanticRight +# Start of the next semantically separated word. +# - SemanticLeftEnd +# End of the previous semantically separated word. +# - SemanticRightEnd +# End of the next semantically separated word. +# - WordLeft +# Start of the previous whitespace separated word. +# - WordRight +# Start of the next whitespace separated word. +# - WordLeftEnd +# End of the previous whitespace separated word. +# - WordRightEnd +# End of the next whitespace separated word. +# - Bracket +# Character matching the bracket at the cursor's location. +# - SearchNext +# Beginning of the next match. +# - SearchPrevious +# Beginning of the previous match. +# - SearchStart +# Start of the match to the left of the vi mode cursor. +# - SearchEnd +# End of the match to the right of the vi mode cursor. +# +# - Search mode exclusive actions: +# - SearchFocusNext +# Move the focus to the next search match. +# - SearchFocusPrevious +# Move the focus to the previous search match. +# - SearchConfirm +# - SearchCancel +# - SearchClear +# Reset the search regex. +# - SearchDeleteWord +# Delete the last word in the search regex. +# - SearchHistoryPrevious +# Go to the previous regex in the search history. +# - SearchHistoryNext +# Go to the next regex in the search history. +# +# - macOS exclusive actions: +# - ToggleSimpleFullscreen +# Enter fullscreen without occupying another space. +# +# - Linux/BSD exclusive actions: +# +# - CopySelection +# Copy from the selection buffer. +# - PasteSelection +# Paste from the selection buffer. +# +# - `command`: Fork and execute a specified command plus arguments +# +# The `command` field must be a map containing a `program` string and an +# `args` array of command line parameter strings. For example: +# `{ program: "alacritty", args: ["-e", "vttest"] }` +# +# And optionally: +# +# - `mods`: Key modifiers to filter binding actions +# +# - Command +# - Control +# - Option +# - Super +# - Shift +# - Alt +# +# Multiple `mods` can be combined using `|` like this: +# `mods: Control|Shift`. +# Whitespace and capitalization are relevant and must match the example. +# +# - `mode`: Indicate a binding for only specific terminal reported modes +# +# This is mainly used to send applications the correct escape sequences +# when in different modes. +# +# - AppCursor +# - AppKeypad +# - Search +# - Alt +# - Vi +# +# A `~` operator can be used before a mode to apply the binding whenever +# the mode is *not* active, e.g. `~Alt`. +# +# Bindings are always filled by default, but will be replaced when a new +# binding with the same triggers is defined. To unset a default binding, it can +# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for +# a no-op if you do not wish to receive input characters for that binding. +# +# If the same trigger is assigned to multiple actions, all of them are executed +# in the order they were defined in. +key_bindings: + #- { key: Paste, action: Paste } + #- { key: Copy, action: Copy } + # - { key: L, mods: Control, action: clear } + #- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" } + - { key: Up, mods: Shift, mode: ~Alt, action: ScrollPageUp } + - { key: Down, mods: Shift, mode: ~Alt, action: ScrollPageDown } + - { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop } + - { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom } + # - { key: Delete, actions: Del } + # - { key: Key9, mods: Control|Shift, action: CreateNewWindow, } + + # Vi Mode + - { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode } + - { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom } +# - { key: Escape, mode: ~Search, action: ToggleViMode } + - { key: Escape, mode: Vi|~Search, action: ClearSelection } + - { key: I, mode: Vi|~Search, action: ToggleViMode } + - { key: I, mode: Vi|~Search, action: ScrollToBottom } + - { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode } + - { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp } + - { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown } + - { key: G, mode: Vi|~Search, action: ScrollToTop } + - { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom } + - { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp } + - { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown } + - { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp } + - { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown } + - { key: Y, mode: Vi|~Search, action: Copy } + - { key: Y, mode: Vi|~Search, action: ClearSelection } + - { key: Copy, mode: Vi|~Search, action: ClearSelection } + - { key: V, mode: Vi|~Search, action: ToggleNormalSelection } + - { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection } + - { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection } + - { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection } + - { key: Return, mode: Vi|~Search, action: Open } + - { key: K, mode: Vi|~Search, action: Up } + - { key: J, mode: Vi|~Search, action: Down } + - { key: H, mode: Vi|~Search, action: Left } + - { key: L, mode: Vi|~Search, action: Right } + - { key: Up, mode: Vi|~Search, action: Up } + - { key: Down, mode: Vi|~Search, action: Down } + - { key: Left, mode: Vi|~Search, action: Left } + - { key: Right, mode: Vi|~Search, action: Right } + - { key: Key0, mode: Vi|~Search, action: First } + - { key: Key4, mods: Shift, mode: Vi|~Search, action: Last } + - { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied } + - { key: H, mods: Shift, mode: Vi|~Search, action: High } + - { key: M, mods: Shift, mode: Vi|~Search, action: Middle } + - { key: L, mods: Shift, mode: Vi|~Search, action: Low } + - { key: B, mode: Vi|~Search, action: SemanticLeft } + - { key: W, mode: Vi|~Search, action: SemanticRight } + - { key: E, mode: Vi|~Search, action: SemanticRightEnd } + - { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft } + - { key: W, mods: Shift, mode: Vi|~Search, action: WordRight } + - { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd } + - { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket } + - { key: Slash, mode: Vi|~Search, action: SearchForward } + - { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward } + - { key: N, mode: Vi|~Search, action: SearchNext } + - { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious } + + # Search Mode + #- { key: Return, mode: Search|Vi, action: SearchConfirm } + #- { key: Escape, mode: Search, action: SearchCancel } + #- { key: C, mods: Control, mode: Search, action: SearchCancel } + #- { key: U, mods: Control, mode: Search, action: SearchClear } + #- { key: W, mods: Control, mode: Search, action: SearchDeleteWord } + #- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious } + #- { key: N, mods: Control, mode: Search, action: SearchHistoryNext } + #- { key: Up, mode: Search, action: SearchHistoryPrevious } + #- { key: Down, mode: Search, action: SearchHistoryNext } + #- { key: Return, mode: Search|~Vi, action: SearchFocusNext } + #- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious } + + # (Windows, Linux, and BSD only) + - { key: V, mods: Control|Shift, mode: ~Vi, action: Paste } + - { key: C, mods: Control|Shift, action: Copy } + - { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward } + - { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward } + #- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection } + #- { key: Insert, mods: Shift, action: PasteSelection } + - { key: Key0, mods: Control, action: ResetFontSize } + - { key: Equals, mods: Control, action: IncreaseFontSize } + # - { key: Plus, mods: Control, action: IncreaseFontSize } + - { key: NumpadAdd, mods: Control, action: IncreaseFontSize } + - { key: Minus, mods: Control, action: DecreaseFontSize } + - { key: NumpadSubtract, mods: Control, action: DecreaseFontSize } + - { key: Q, mods: Control|Shift, action: Quit } + # (Windows only) + - { key: F11, action: ToggleFullscreen } + + # (macOS only) + #- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" } + #- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory } + #- { key: Key0, mods: Command, action: ResetFontSize } + #- { key: Equals, mods: Command, action: IncreaseFontSize } + #- { key: Plus, mods: Command, action: IncreaseFontSize } + #- { key: NumpadAdd, mods: Command, action: IncreaseFontSize } + #- { key: Minus, mods: Command, action: DecreaseFontSize } + #- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize } + #- { key: V, mods: Command, action: Paste } + #- { key: C, mods: Command, action: Copy } + #- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection } + #- { key: H, mods: Command, action: Hide } + #- { key: H, mods: Command|Alt, action: HideOtherApplications } + #- { key: M, mods: Command, action: Minimize } + #- { key: Q, mods: Command, action: Quit } + #- { key: W, mods: Command, action: Quit } + #- { key: N, mods: Command, action: SpawnNewInstance } + #- { key: F, mods: Command|Control, action: ToggleFullscreen } + #- { key: F, mods: Command, mode: ~Search, action: SearchForward } + #- { key: B, mods: Command, mode: ~Search, action: SearchBackward } + +#debug: + # Display the time it takes to redraw each frame. + #render_timer: false + + # Keep the log file after quitting Alacritty. + #persistent_logging: false + + # Log level + # + # Values for `log_level`: + # - Off + # - Error + # - Warn + # - Info + # - Debug + # - Trace + #log_level: Warn + + # Print all received window events. + #print_events: false diff --git a/awesome/awesome-wm-widgets/.github/CODEOWNERS b/awesome/awesome-wm-widgets/.github/CODEOWNERS new file mode 100644 index 00000000..3bb08e0a --- /dev/null +++ b/awesome/awesome-wm-widgets/.github/CODEOWNERS @@ -0,0 +1 @@ +@streetturtle diff --git a/awesome/awesome-wm-widgets/.github/FUNDING.yml b/awesome/awesome-wm-widgets/.github/FUNDING.yml new file mode 100644 index 00000000..5bd55b00 --- /dev/null +++ b/awesome/awesome-wm-widgets/.github/FUNDING.yml @@ -0,0 +1 @@ +github: streetturtle diff --git a/awesome/awesome-wm-widgets/.github/workflows/build.yml b/awesome/awesome-wm-widgets/.github/workflows/build.yml new file mode 100644 index 00000000..bdb08e19 --- /dev/null +++ b/awesome/awesome-wm-widgets/.github/workflows/build.yml @@ -0,0 +1,30 @@ +# This is a basic workflow to help you get started with Actions + +name: luacheck + +# Controls when the action will run. +on: + # Triggers the workflow on push or pull request events but only for the master branch + push: + branches: + - '*' + paths: + - '**.lua' + pull_request: + branches: [ master ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + - uses: actions/checkout@v2 + - name: Run Luacheck + uses: nebularg/actions-luacheck@v1.1.0 diff --git a/awesome/awesome-wm-widgets/.github/workflows/update-site.yml b/awesome/awesome-wm-widgets/.github/workflows/update-site.yml new file mode 100755 index 00000000..7415c2ed --- /dev/null +++ b/awesome/awesome-wm-widgets/.github/workflows/update-site.yml @@ -0,0 +1,43 @@ +name: update site + +on: + push: + branches: + - 'master' + paths: + - '**/README.md' + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Generate md + run: ./scripts/update_site.sh + + - name: Push to gh-pages branch + run: | + git config --global user.name 'GitHub Action' + git config --global user.email 'action@github.com' + git add ./_widgets + git add ./assets/img/widgets + git stash + git fetch + echo "git checkout gh-pages" + git checkout gh-pages + rm -rf ./_widgets + rm -rf ./assets/img/widgets + ls -alF + echo "git stash pop" + git checkout stash -- ./_widgets + git checkout stash -- ./assets/img/widgets + git add ./_widgets + git add ./assets/img/widgets + git commit -m "update from master" + git push origin gh-pages + diff --git a/awesome/awesome-wm-widgets/.gitignore b/awesome/awesome-wm-widgets/.gitignore new file mode 100644 index 00000000..26a38a3a --- /dev/null +++ b/awesome/awesome-wm-widgets/.gitignore @@ -0,0 +1,48 @@ +# Compiled Lua sources +luac.out + +# luarocks build files +*.src.rock +*.zip +*.tar.gz + +# Object files +*.o +*.os +*.ko +*.obj +*.elf + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo +*.def +*.exp + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex + +# IDEA files +.idea + +# vscode files +.history +/_site/ +/.jekyll-cache/ diff --git a/awesome/awesome-wm-widgets/.luacheckrc b/awesome/awesome-wm-widgets/.luacheckrc new file mode 100644 index 00000000..e4f47fa6 --- /dev/null +++ b/awesome/awesome-wm-widgets/.luacheckrc @@ -0,0 +1,24 @@ +self = false + +globals = { + "screen", + "mouse", + "root", + "client" +} + +read_globals = { + "awesome", + "button", + "dbus", + "drawable", + "drawin", + "key", + "keygrabber", + "mousegrabber", + "selection", + "tag", + "window", + "table.unpack", + "math.atan2", +} \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/LICENSE b/awesome/awesome-wm-widgets/LICENSE new file mode 100644 index 00000000..1f89e495 --- /dev/null +++ b/awesome/awesome-wm-widgets/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2017 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/awesome/awesome-wm-widgets/README.md b/awesome/awesome-wm-widgets/README.md new file mode 100644 index 00000000..1521a631 --- /dev/null +++ b/awesome/awesome-wm-widgets/README.md @@ -0,0 +1,63 @@ +

+ logo +

+ +

+ + + GitHub repo size + GitHub Workflow Status + + + + +

+ +Set of widgets compatible with Awesome Window Manager v.4.3+. + +## Screenshots + +Spotify, CPU, RAM, brightness-arc, volume-arc and battery-arc widgets: + +

+ +

+ +Brightness, volume and battery widgets: + +

+ +

+ +![screenshot](./screenshot.png) + +Some more screenshots in this reddit [post](https://www.reddit.com/r/unixporn/comments/8qijmx/awesomewm_dark_theme/) + +# Installation + +Clone the repo under **~/.config/awesome/**, then follow an Installation section of widget's readme file. + +# Stargazers + +[![Stargazers over time](https://starchart.cc/streetturtle/awesome-wm-widgets.svg)](https://starchart.cc/streetturtle/awesome-wm-widgets) + +# Troubleshooting + +In case of any doubts/questions/problems: + - create an [issue](https://github.com/streetturtle/awesome-wm-widgets/issues/new/choose) + - raise a question on [Discussions](https://github.com/streetturtle/awesome-wm-widgets/discussions)! + - ping me on AwesomeWM's discord, here's an [invite](https://discord.gg/XYvn8R5) + +# Support + +If you find anything useful here, you can: + - star a repo - this really motivates me to work on this project + - or + - or even become a [sponsor](https://github.com/sponsors/streetturtle) + +# Contributors + + + + + diff --git a/awesome/awesome-wm-widgets/Screenshot from 2019-03-01 14-28-18.png b/awesome/awesome-wm-widgets/Screenshot from 2019-03-01 14-28-18.png new file mode 100644 index 00000000..4c9bd87f Binary files /dev/null and b/awesome/awesome-wm-widgets/Screenshot from 2019-03-01 14-28-18.png differ diff --git a/awesome/awesome-wm-widgets/apt-widget/README.md b/awesome/awesome-wm-widgets/apt-widget/README.md new file mode 100644 index 00000000..f3ac47ad --- /dev/null +++ b/awesome/awesome-wm-widgets/apt-widget/README.md @@ -0,0 +1,27 @@ +# APT widget + +Widget which shows a list of APT packages to be updated: + +![screenshot](./screenshots/screenshot.gif) + +Features: + - scrollable list !!! (thanks to this [post](https://www.reddit.com/r/awesomewm/comments/isx89x/scrolling_a_layout_fixed_flexed_layout_widget/) of reddit) + - update single package + - update multiple packages + +## Installation + +Clone the repo under ~/.config/awesome/ folder, then in rc.lua add the following: + +```lua +local apt_widget = require("awesome-wm-widgets.apt-widget.apt-widget") + +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + apt_widget(), + ... +``` + diff --git a/awesome/awesome-wm-widgets/apt-widget/apt-widget.lua b/awesome/awesome-wm-widgets/apt-widget/apt-widget.lua new file mode 100644 index 00000000..61aa3b51 --- /dev/null +++ b/awesome/awesome-wm-widgets/apt-widget/apt-widget.lua @@ -0,0 +1,349 @@ +------------------------------------------------- +-- APT Widget for Awesome Window Manager +-- Lists containers and allows to manage them +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/apt-widget + +-- @author Pavel Makhov +-- @copyright 2021 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local wibox = require("wibox") +local spawn = require("awful.spawn") +local naughty = require("naughty") +local gears = require("gears") +local beautiful = require("beautiful") + +local HOME_DIR = os.getenv("HOME") +local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/apt-widget' +local ICONS_DIR = WIDGET_DIR .. '/icons/' + +local LIST_PACKAGES = [[sh -c "apt list --upgradable 2>/dev/null"]] + +--- Utility function to show warning messages +local function show_warning(message) + naughty.notify{ + preset = naughty.config.presets.critical, + title = 'Docker Widget', + text = message} +end + +local wibox_popup = wibox { + ontop = true, + visible = false, + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 4) + end, + border_width = 1, + border_color = beautiful.bg_focus, + max_widget_size = 500, + height = 500, + width = 300, +} + +local apt_widget = wibox.widget { + { + { + id = 'icon', + widget = wibox.widget.imagebox + }, + margins = 4, + layout = wibox.container.margin + }, + layout = wibox.layout.fixed.horizontal, + set_icon = function(self, new_icon) + self:get_children_by_id("icon")[1].image = new_icon + end +} + +--- Parses the line and creates the package table out of it +--- yaru-theme-sound/focal-updates,focal-updates 20.04.10.1 all [upgradable from: 20.04.8] +local parse_package = function(line) + local name,_,nv,type,ov = line:match('(.*)%/(.*)%s(.*)%s(.*)%s%[upgradable from: (.*)]') + + if name == nil then return nil end + + local package = { + name = name, + new_version = nv, + type = type, + old_version = ov + } + return package +end + +local function worker(user_args) + + local args = user_args or {} + + local icon = args.icon or ICONS_DIR .. 'white-black.svg' + + apt_widget:set_icon(icon) + + local pointer = 0 + local min_widgets = 5 + local carousel = false + + local function rebuild_widget(containers, errors, _, _) + + local to_update = {} + + if errors ~= '' then + show_warning(errors) + return + end + + local rows = wibox.layout.fixed.vertical() + rows:connect_signal("button::press", function(_,_,_,button) + if carousel then + if button == 4 then -- up scrolling + local cnt = #rows.children + local first_widget = rows.children[1] + rows:insert(cnt+1, first_widget) + rows:remove(1) + elseif button == 5 then -- down scrolling + local cnt = #rows.children + local last_widget = rows.children[cnt] + rows:insert(1, last_widget) + rows:remove(cnt+1) + end + else + if button == 5 then -- up scrolling + if pointer < #rows.children and ((#rows.children - pointer) >= min_widgets) then + pointer = pointer + 1 + rows.children[pointer].visible = false + end + elseif button == 4 then -- down scrolling + if pointer > 0 then + rows.children[pointer].visible = true + pointer = pointer - 1 + end + end + end + end) + + for line in containers:gmatch("[^\r\n]+") do + local package = parse_package(line) + + if package ~= nil then + + local refresh_button = wibox.widget { + { + { + id = 'icon', + image = ICONS_DIR .. 'refresh-cw.svg', + resize = false, + widget = wibox.widget.imagebox + }, + margins = 4, + widget = wibox.container.margin + }, + shape = gears.shape.circle, + opacity = 0.5, + widget = wibox.container.background + } + local old_cursor, old_wibox + refresh_button:connect_signal("mouse::enter", function(c) + c:set_opacity(1) + c:emit_signal('widget::redraw_needed') + local wb = mouse.current_wibox + old_cursor, old_wibox = wb.cursor, wb + wb.cursor = "hand1" + end) + refresh_button:connect_signal("mouse::leave", function(c) + c:set_opacity(0.5) + c:emit_signal('widget::redraw_needed') + if old_wibox then + old_wibox.cursor = old_cursor + old_wibox = nil + end + end) + + local row = wibox.widget { + { + { + { + { + id = 'checkbox', + checked = false, + color = beautiful.bg_normal, + paddings = 2, + shape = gears.shape.circle, + forced_width = 20, + forced_height = 20, + check_color = beautiful.fg_urgent, + border_color = beautiful.bg_urgent, + border_width = 1, + widget = wibox.widget.checkbox + }, + valign = 'center', + layout = wibox.container.place, + }, + { + { + id = 'name', + markup = '' .. package['name'] .. '', + widget = wibox.widget.textbox + }, + halign = 'left', + layout = wibox.container.place + }, + { + refresh_button, + halign = 'right', + valign = 'center', + fill_horizontal = true, + layout = wibox.container.place, + }, + spacing = 8, + layout = wibox.layout.fixed.horizontal + }, + margins = 8, + layout = wibox.container.margin + }, + id = 'row', + bg = beautiful.bg_normal, + widget = wibox.container.background, + click = function(self, checked) + local a = self:get_children_by_id('checkbox')[1] + if checked == nil then + a:set_checked(not a.checked) + else + a:set_checked(checked) + end + + if a.checked then + to_update[package['name']] = self + else + to_update[package['name']] = false + end + end, + update = function(self) + refresh_button:get_children_by_id('icon')[1]:set_image(ICONS_DIR .. 'watch.svg') + self:get_children_by_id('name')[1]:set_opacity(0.4) + self:get_children_by_id('name')[1]:emit_signal('widget::redraw_needed') + + spawn.easy_async( + string.format([[sh -c 'yes | aptdcon --hide-terminal -u %s']], package['name']), + function(stdout, stderr) -- luacheck:ignore 212 + rows:remove_widgets(self) + end) + + end + } + + row:connect_signal("mouse::enter", function(c) + c:set_bg(beautiful.bg_focus) + end) + row:connect_signal("mouse::leave", function(c) + c:set_bg(beautiful.bg_normal) + end) + + row:connect_signal("button::press", function(c, _, _, button) + if button == 1 then c:click() end + end) + + refresh_button:buttons(awful.util.table.join(awful.button({}, 1, function() + row:update() + end))) + + rows:add(row) + end + end + + + local header_checkbox = wibox.widget { + checked = false, + color = beautiful.bg_normal, + paddings = 2, + shape = gears.shape.circle, + forced_width = 20, + forced_height = 20, + check_color = beautiful.fg_urgent, + border_color = beautiful.bg_urgent, + border_width = 1, + widget = wibox.widget.checkbox + } + header_checkbox:connect_signal("button::press", function(c) + c:set_checked(not c.checked) + local cbs = rows.children + for _,v in ipairs(cbs) do + v:click(c.checked) + end + end) + + local header_refresh_icon = wibox.widget { + image = ICONS_DIR .. 'refresh-cw.svg', + resize = false, + widget = wibox.widget.imagebox + } + header_refresh_icon:buttons(awful.util.table.join(awful.button({}, 1, function() + print(#to_update) + for _,v in pairs(to_update) do + if v ~= nil then + v:update() + end + end + end))) + + local header_row = wibox.widget { + { + { + { + header_checkbox, + valign = 'center', + layout = wibox.container.place, + }, + { + { + id = 'name', + markup = '' .. #rows.children .. ' packages to update', + widget = wibox.widget.textbox + }, + halign = 'center', + layout = wibox.container.place + }, + { + header_refresh_icon, + halign = 'right', + valign = 'center', + layout = wibox.container.place, + }, + layout = wibox.layout.align.horizontal + }, + margins = 8, + layout = wibox.container.margin + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + } + + wibox_popup:setup { + header_row, + rows, + layout = wibox.layout.fixed.vertical + } + end + + apt_widget:buttons( + awful.util.table.join( + awful.button({}, 1, function() + if wibox_popup.visible then + wibox_popup.visible = not wibox_popup.visible + else + spawn.easy_async(LIST_PACKAGES, + function(stdout, stderr) + rebuild_widget(stdout, stderr) + wibox_popup.visible = true + awful.placement.top(wibox_popup, { margins = { top = 20 }, parent = mouse}) + end) + end + end) + ) + ) + + return apt_widget +end + +return setmetatable(apt_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/apt-widget/icons/black.svg b/awesome/awesome-wm-widgets/apt-widget/icons/black.svg new file mode 100644 index 00000000..95c84104 --- /dev/null +++ b/awesome/awesome-wm-widgets/apt-widget/icons/black.svg @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/awesome/awesome-wm-widgets/apt-widget/icons/help-circle.svg b/awesome/awesome-wm-widgets/apt-widget/icons/help-circle.svg new file mode 100644 index 00000000..51fddd80 --- /dev/null +++ b/awesome/awesome-wm-widgets/apt-widget/icons/help-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/apt-widget/icons/orange.svg b/awesome/awesome-wm-widgets/apt-widget/icons/orange.svg new file mode 100644 index 00000000..0ec1388c --- /dev/null +++ b/awesome/awesome-wm-widgets/apt-widget/icons/orange.svg @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/awesome/awesome-wm-widgets/apt-widget/icons/refresh-cw.svg b/awesome/awesome-wm-widgets/apt-widget/icons/refresh-cw.svg new file mode 100644 index 00000000..39f52a55 --- /dev/null +++ b/awesome/awesome-wm-widgets/apt-widget/icons/refresh-cw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/apt-widget/icons/watch.svg b/awesome/awesome-wm-widgets/apt-widget/icons/watch.svg new file mode 100644 index 00000000..661a560c --- /dev/null +++ b/awesome/awesome-wm-widgets/apt-widget/icons/watch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/apt-widget/icons/white-black.svg b/awesome/awesome-wm-widgets/apt-widget/icons/white-black.svg new file mode 100644 index 00000000..dc7ee551 --- /dev/null +++ b/awesome/awesome-wm-widgets/apt-widget/icons/white-black.svg @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/awesome/awesome-wm-widgets/apt-widget/icons/white-orange.svg b/awesome/awesome-wm-widgets/apt-widget/icons/white-orange.svg new file mode 100644 index 00000000..c353bb55 --- /dev/null +++ b/awesome/awesome-wm-widgets/apt-widget/icons/white-orange.svg @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/awesome/awesome-wm-widgets/apt-widget/screenshots/screenshot.gif b/awesome/awesome-wm-widgets/apt-widget/screenshots/screenshot.gif new file mode 100644 index 00000000..6ffe2aa2 Binary files /dev/null and b/awesome/awesome-wm-widgets/apt-widget/screenshots/screenshot.gif differ diff --git a/awesome/awesome-wm-widgets/awesome-o.png b/awesome/awesome-wm-widgets/awesome-o.png new file mode 100644 index 00000000..424d0084 Binary files /dev/null and b/awesome/awesome-wm-widgets/awesome-o.png differ diff --git a/awesome/awesome-wm-widgets/awesome.png b/awesome/awesome-wm-widgets/awesome.png new file mode 100644 index 00000000..6960955b Binary files /dev/null and b/awesome/awesome-wm-widgets/awesome.png differ diff --git a/awesome/awesome-wm-widgets/battery-widget/README.md b/awesome/awesome-wm-widgets/battery-widget/README.md new file mode 100644 index 00000000..b15aac67 --- /dev/null +++ b/awesome/awesome-wm-widgets/battery-widget/README.md @@ -0,0 +1,75 @@ +# Battery widget + +Simple and easy-to-install widget for Awesome Window Manager. + +This widget consists of: + + - an icon which shows the battery level: + ![Battery Widget](./bat-wid-1.png) + - a pop-up window, which shows up when you hover over an icon: + ![Battery Widget](./bat-wid-2.png) + Alternatively you can use a tooltip (check the code): + ![Battery Widget](./bat-wid-22.png) + - a pop-up warning message which appears on bottom right corner when battery level is less that 15% (you can get the image [here](https://vk.com/images/stickers/1933/512.png)): + ![Battery Widget](./bat-wid-3.png) + +Note that widget uses the Arc icon theme, so it should be [installed](https://github.com/horst3180/arc-icon-theme#installation) first under **/usr/share/icons/Arc/** folder. + +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `font` | Play 8 | Fond | +| `path_to_icons` | `/usr/share/icons/Arc/status/symbolic/` | Path to the folder with icons* | +| `show_current_level`| false | Show current charge level | +| `margin_right`|0| The right margin of the widget| +| `margin_left`|0| The left margin of the widget| +| `display_notification` | `false` | Display a notification on mouseover | +| `notification_position` | `top_right` | The notification position | +| `timeout` | 10 | How often in seconds the widget refreshes | +| `warning_msg_title` | _Huston, we have a problem_ | Title of the warning popup | +| `warning_msg_text` | _Battery is dying_ | Text of the warning popup | +| `warning_msg_position` | `bottom_right` | Position of the warning popup | +| `warning_msg_icon` | ~/.config/awesome/awesome-wm-widgets/battery-widget/spaceman.jpg | Icon of the warning popup | +| `enable_battery_warning` | `true` | Display low battery warning | + +*Note: the widget expects following icons to be present in the folder: + + - battery-caution-charging-symbolic.svg + - battery-empty-charging-symbolic.svg + - battery-full-charged-symbolic.svg + - battery-full-symbolic.svg + - battery-good-symbolic.svg + - battery-low-symbolic.svg + - battery-caution-symbolic.svg + - battery-empty-symbolic.svg + - battery-full-charging-symbolic.svg + - battery-good-charging-symbolic.svg + - battery-low-charging-symbolic.svg + - battery-missing-symbolic.svg + +## Installation + +This widget reads the output of acpi tool. + +- install `acpi` and check the output: + +```bash +$ sudo apt-get install acpi +$ acpi +Battery 0: Discharging, 66%, 02:34:06 remaining +``` + +```lua +local battery_widget = require("awesome-wm-widgets.battery-widget.battery") + +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + battery_widget(), + ... +``` diff --git a/awesome/awesome-wm-widgets/battery-widget/bat-wid-1.png b/awesome/awesome-wm-widgets/battery-widget/bat-wid-1.png new file mode 100644 index 00000000..00e16180 Binary files /dev/null and b/awesome/awesome-wm-widgets/battery-widget/bat-wid-1.png differ diff --git a/awesome/awesome-wm-widgets/battery-widget/bat-wid-2.png b/awesome/awesome-wm-widgets/battery-widget/bat-wid-2.png new file mode 100644 index 00000000..ae20af2d Binary files /dev/null and b/awesome/awesome-wm-widgets/battery-widget/bat-wid-2.png differ diff --git a/awesome/awesome-wm-widgets/battery-widget/bat-wid-22.png b/awesome/awesome-wm-widgets/battery-widget/bat-wid-22.png new file mode 100644 index 00000000..38761f70 Binary files /dev/null and b/awesome/awesome-wm-widgets/battery-widget/bat-wid-22.png differ diff --git a/awesome/awesome-wm-widgets/battery-widget/bat-wid-3.png b/awesome/awesome-wm-widgets/battery-widget/bat-wid-3.png new file mode 100644 index 00000000..352b4963 Binary files /dev/null and b/awesome/awesome-wm-widgets/battery-widget/bat-wid-3.png differ diff --git a/awesome/awesome-wm-widgets/battery-widget/battery.lua b/awesome/awesome-wm-widgets/battery-widget/battery.lua new file mode 100644 index 00000000..fc8c56f4 --- /dev/null +++ b/awesome/awesome-wm-widgets/battery-widget/battery.lua @@ -0,0 +1,200 @@ +------------------------------------------------- +-- Battery Widget for Awesome Window Manager +-- Shows the battery status using the ACPI tool +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/battery-widget + +-- @author Pavel Makhov +-- @copyright 2017 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local naughty = require("naughty") +local watch = require("awful.widget.watch") +local wibox = require("wibox") +local gfs = require("gears.filesystem") +local dpi = require('beautiful').xresources.apply_dpi + +-- acpi sample outputs +-- Battery 0: Discharging, 75%, 01:51:38 remaining +-- Battery 0: Charging, 53%, 00:57:43 until charged + +local HOME = os.getenv("HOME") +local WIDGET_DIR = HOME .. '/.config/awesome/awesome-wm-widgets/battery-widget' + +local battery_widget = {} +local function worker(user_args) + local args = user_args or {} + + local font = args.font or 'Play 8' + local path_to_icons = args.path_to_icons or "/usr/share/icons/Arc/status/symbolic/" + local show_current_level = args.show_current_level or false + local margin_left = args.margin_left or 0 + local margin_right = args.margin_right or 0 + + local display_notification = args.display_notification or false + local display_notification_onClick = args.display_notification_onClick or true + local position = args.notification_position or "top_right" + local timeout = args.timeout or 10 + + local warning_msg_title = args.warning_msg_title or 'Huston, we have a problem' + local warning_msg_text = args.warning_msg_text or 'Battery is dying' + local warning_msg_position = args.warning_msg_position or 'bottom_right' + local warning_msg_icon = args.warning_msg_icon or WIDGET_DIR .. '/spaceman.jpg' + local enable_battery_warning = args.enable_battery_warning + if enable_battery_warning == nil then + enable_battery_warning = true + end + + if not gfs.dir_readable(path_to_icons) then + naughty.notify{ + title = "Battery Widget", + text = "Folder with icons doesn't exist: " .. path_to_icons, + preset = naughty.config.presets.critical + } + end + + local icon_widget = wibox.widget { + { + id = "icon", + widget = wibox.widget.imagebox, + resize = false + }, + valign = 'center', + layout = wibox.container.place, + } + local level_widget = wibox.widget { + font = font, + widget = wibox.widget.textbox + } + + battery_widget = wibox.widget { + icon_widget, + level_widget, + layout = wibox.layout.fixed.horizontal, + } + -- Popup with battery info + -- One way of creating a pop-up notification - naughty.notify + local notification + local function show_battery_status(batteryType) + awful.spawn.easy_async([[bash -c 'acpi']], + function(stdout, _, _, _) + naughty.destroy(notification) + notification = naughty.notify{ + text = stdout, + title = "Battery status", + icon = path_to_icons .. batteryType .. ".svg", + icon_size = dpi(16), + position = position, + timeout = 5, hover_timeout = 0.5, + width = 200, + screen = mouse.screen + } + end + ) + end + + -- Alternative to naughty.notify - tooltip. You can compare both and choose the preferred one + --battery_popup = awful.tooltip({objects = {battery_widget}}) + + -- To use colors from beautiful theme put + -- following lines in rc.lua before require("battery"): + -- beautiful.tooltip_fg = beautiful.fg_normal + -- beautiful.tooltip_bg = beautiful.bg_normal + + local function show_battery_warning() + naughty.notify { + icon = warning_msg_icon, + icon_size = 100, + text = warning_msg_text, + title = warning_msg_title, + timeout = 25, -- show the warning for a longer time + hover_timeout = 0.5, + position = warning_msg_position, + bg = "#F06060", + fg = "#EEE9EF", + width = 300, + screen = mouse.screen + } + end + local last_battery_check = os.time() + local batteryType = "battery-good-symbolic" + + watch("acpi -i", timeout, + function(widget, stdout) + local battery_info = {} + local capacities = {} + for s in stdout:gmatch("[^\r\n]+") do + local status, charge_str, _ = string.match(s, '.+: (%a+), (%d?%d?%d)%%,?(.*)') + if status ~= nil then + table.insert(battery_info, {status = status, charge = tonumber(charge_str)}) + else + local cap_str = string.match(s, '.+:.+last full capacity (%d+)') + table.insert(capacities, tonumber(cap_str)) + end + end + + local capacity = 0 + for _, cap in ipairs(capacities) do + capacity = capacity + cap + end + + local charge = 0 + local status + for i, batt in ipairs(battery_info) do + if capacities[i] ~= nil then + if batt.charge >= charge then + status = batt.status -- use most charged battery status + -- this is arbitrary, and maybe another metric should be used + end + + charge = charge + batt.charge * capacities[i] + end + end + charge = charge / capacity + + if show_current_level then + level_widget.text = string.format('%d%%', charge) + end + + if (charge >= 0 and charge < 15) then + batteryType = "battery-empty%s-symbolic" + if enable_battery_warning and status ~= 'Charging' and os.difftime(os.time(), last_battery_check) > 300 then + -- if 5 minutes have elapsed since the last warning + last_battery_check = os.time() + + show_battery_warning() + end + elseif (charge >= 15 and charge < 40) then batteryType = "battery-caution%s-symbolic" + elseif (charge >= 40 and charge < 60) then batteryType = "battery-low%s-symbolic" + elseif (charge >= 60 and charge < 80) then batteryType = "battery-good%s-symbolic" + elseif (charge >= 80 and charge <= 100) then batteryType = "battery-full%s-symbolic" + end + + if status == 'Charging' then + batteryType = string.format(batteryType, '-charging') + else + batteryType = string.format(batteryType, '') + end + + widget.icon:set_image(path_to_icons .. batteryType .. ".svg") + + -- Update popup text + -- battery_popup.text = string.gsub(stdout, "\n$", "") + end, + icon_widget) + + if display_notification then + battery_widget:connect_signal("mouse::enter", function() show_battery_status(batteryType) end) + battery_widget:connect_signal("mouse::leave", function() naughty.destroy(notification) end) + elseif display_notification_onClick then + battery_widget:connect_signal("button::press", function(_,_,_,button) + if (button == 3) then show_battery_status(batteryType) end + end) + battery_widget:connect_signal("mouse::leave", function() naughty.destroy(notification) end) + end + + return wibox.container.margin(battery_widget, margin_left, margin_right) +end + +return setmetatable(battery_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/battery-widget/spaceman.jpg b/awesome/awesome-wm-widgets/battery-widget/spaceman.jpg new file mode 100644 index 00000000..73ddaf37 Binary files /dev/null and b/awesome/awesome-wm-widgets/battery-widget/spaceman.jpg differ diff --git a/awesome/awesome-wm-widgets/batteryarc-widget/10_c.png b/awesome/awesome-wm-widgets/batteryarc-widget/10_c.png new file mode 100644 index 00000000..3faf7531 Binary files /dev/null and b/awesome/awesome-wm-widgets/batteryarc-widget/10_c.png differ diff --git a/awesome/awesome-wm-widgets/batteryarc-widget/10_d.png b/awesome/awesome-wm-widgets/batteryarc-widget/10_d.png new file mode 100644 index 00000000..c9aa8d3a Binary files /dev/null and b/awesome/awesome-wm-widgets/batteryarc-widget/10_d.png differ diff --git a/awesome/awesome-wm-widgets/batteryarc-widget/20_c.png b/awesome/awesome-wm-widgets/batteryarc-widget/20_c.png new file mode 100644 index 00000000..f0a191dd Binary files /dev/null and b/awesome/awesome-wm-widgets/batteryarc-widget/20_c.png differ diff --git a/awesome/awesome-wm-widgets/batteryarc-widget/20_d.png b/awesome/awesome-wm-widgets/batteryarc-widget/20_d.png new file mode 100644 index 00000000..15fabedd Binary files /dev/null and b/awesome/awesome-wm-widgets/batteryarc-widget/20_d.png differ diff --git a/awesome/awesome-wm-widgets/batteryarc-widget/80_c.png b/awesome/awesome-wm-widgets/batteryarc-widget/80_c.png new file mode 100644 index 00000000..e6dae750 Binary files /dev/null and b/awesome/awesome-wm-widgets/batteryarc-widget/80_c.png differ diff --git a/awesome/awesome-wm-widgets/batteryarc-widget/80_d.png b/awesome/awesome-wm-widgets/batteryarc-widget/80_d.png new file mode 100644 index 00000000..220c8e31 Binary files /dev/null and b/awesome/awesome-wm-widgets/batteryarc-widget/80_d.png differ diff --git a/awesome/awesome-wm-widgets/batteryarc-widget/README.md b/awesome/awesome-wm-widgets/batteryarc-widget/README.md new file mode 100644 index 00000000..a257b2f6 --- /dev/null +++ b/awesome/awesome-wm-widgets/batteryarc-widget/README.md @@ -0,0 +1,72 @@ +# Batteryarc widget + +[![GitHub issues by-label](https://img.shields.io/github/issues-raw/streetturtle/awesome-wm-widgets/batteryarc)](https://github.com/streetturtle/awesome-wm-widgets/labels/batteryarc) + +This widget is more informative version of [battery widget](https://github.com/streetturtle/awesome-wm-widgets/tree/master/battery-widget). + +Depending of the battery status it could look following ways: + + - ![10_d](./10_d.png) - less than 15 percent + - ![10_c](./10_c.png) - less than 15 percent, charging + - ![20_d](./20_d.png) - between 15 and 40 percent + - ![20_c](./20_c.png) - between 15 and 40 percent, charging + - ![80_d](./80_d.png) - more than 40 percent + - ![80_c](./80_c.png) - more than 40 percent, charging + +If a battery level is low then warning popup will show up: + +![warning](./warning.png) + +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `font` | Play 6 | Font | +| `arc_thickness` | 2 | Thickness of the arc | +| `show_current_level`| false | Show current charge level | +| `size`| 18 | Size of the widget | +| `timeout` | 10 | How often in seconds the widget refreshes | +| `main_color` | `beautiful.fg_color` | Color of the text with the current charge level and the arc | +| `bg_color` | `#ffffff11` | Color of the charge level background | +| `low_level_color` | `#e53935` | Arc color when battery charge is less that 15% | +| `medium_level_color` | `#c0ca33` | Arc color when battery charge is between 15% and 40% | +| `charging_color` | `#43a047` | Color of the circle inside the arc when charging | +| `warning_msg_title` | _Huston, we have a problem_ | Title of the warning popup | +| `warning_msg_text` | _Battery is dying_ | Text of the warning popup | +| `warning_msg_position` | `bottom_right` | Position of the warning popup | +| `warning_msg_icon` | ~/.config/awesome/awesome-wm-widgets/batteryarc-widget/spaceman.jpg | Icon of the warning popup | +| `enable_battery_warning` | `true` | Display low battery warning | +| `show_notification_mode` | `on_hover` | How to trigger a notification with the battery status: `on_hover`, `on_click` or `off` | + +## Requirements + +This widget requires the `acpi` command to be available to retrieve battery and +power information. + +## Installation + +Clone repo, include widget and use it in **rc.lua**: + +```lua +local batteryarc_widget = require("awesome-wm-widgets.batteryarc-widget.batteryarc") +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + --[[default]] + batteryarc_widget(), + --[[or customized]] + batteryarc_widget({ + show_current_level = true, + arc_thickness = 1, + }), + } + ... +``` + +## Troubleshooting + +In case of any doubts or questions please raise an [issue](https://github.com/streetturtle/awesome-wm-widgets/issues/new). diff --git a/awesome/awesome-wm-widgets/batteryarc-widget/batteryarc.lua b/awesome/awesome-wm-widgets/batteryarc-widget/batteryarc.lua new file mode 100644 index 00000000..1b6752ab --- /dev/null +++ b/awesome/awesome-wm-widgets/batteryarc-widget/batteryarc.lua @@ -0,0 +1,168 @@ +------------------------------------------------- +-- Battery Arc Widget for Awesome Window Manager +-- Shows the battery level of the laptop +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/batteryarc-widget + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local beautiful = require("beautiful") +local naughty = require("naughty") +local wibox = require("wibox") +local watch = require("awful.widget.watch") + +local HOME = os.getenv("HOME") +local WIDGET_DIR = HOME .. '/.config/awesome/awesome-wm-widgets/batteryarc-widget' + +local batteryarc_widget = {} + +local function worker(user_args) + + local args = user_args or {} + + local font = args.font or 'Play 6' + local arc_thickness = args.arc_thickness or 2 + local show_current_level = args.show_current_level or false + local size = args.size or 18 + local timeout = args.timeout or 10 + local show_notification_mode = args.show_notification_mode or 'on_hover' -- on_hover / on_click + + local main_color = args.main_color or beautiful.fg_color + local bg_color = args.bg_color or '#ffffff11' + local low_level_color = args.low_level_color or '#e53935' + local medium_level_color = args.medium_level_color or '#c0ca33' + local charging_color = args.charging_color or '#43a047' + + local warning_msg_title = args.warning_msg_title or 'Houston, we have a problem' + local warning_msg_text = args.warning_msg_text or 'Battery is dying' + local warning_msg_position = args.warning_msg_position or 'bottom_right' + local warning_msg_icon = args.warning_msg_icon or WIDGET_DIR .. '/spaceman.jpg' + local enable_battery_warning = args.enable_battery_warning + if enable_battery_warning == nil then + enable_battery_warning = true + end + + local text = wibox.widget { + font = font, + align = 'center', + valign = 'center', + widget = wibox.widget.textbox + } + + local text_with_background = wibox.container.background(text) + + batteryarc_widget = wibox.widget { + text_with_background, + max_value = 100, + rounded_edge = true, + thickness = arc_thickness, + start_angle = 4.71238898, -- 2pi*3/4 + forced_height = size, + forced_width = size, + bg = bg_color, + paddings = 2, + widget = wibox.container.arcchart + } + + local last_battery_check = os.time() + + --[[ Show warning notification ]] + local function show_battery_warning() + naughty.notify { + icon = warning_msg_icon, + icon_size = 100, + text = warning_msg_text, + title = warning_msg_title, + timeout = 25, -- show the warning for a longer time + hover_timeout = 0.5, + position = warning_msg_position, + bg = "#F06060", + fg = "#EEE9EF", + width = 300, + } + end + + local function update_widget(widget, stdout) + local charge = 0 + local status + for s in stdout:gmatch("[^\r\n]+") do + local cur_status, charge_str, _ = string.match(s, '.+: (%a+), (%d?%d?%d)%%,?(.*)') + if cur_status ~= nil and charge_str ~=nil then + local cur_charge = tonumber(charge_str) + if cur_charge > charge then + status = cur_status + charge = cur_charge + end + end + end + + widget.value = charge + + if status == 'Charging' then + text_with_background.bg = charging_color + text_with_background.fg = '#000000' + else + text_with_background.bg = '#00000000' + text_with_background.fg = main_color + end + + if show_current_level == true then + --- if battery is fully charged (100) there is not enough place for three digits, so we don't show any text + text.text = charge == 100 + and '' + or string.format('%d', charge) + else + text.text = '' + end + + if charge < 15 then + widget.colors = { low_level_color } + if enable_battery_warning and status ~= 'Charging' and os.difftime(os.time(), last_battery_check) > 300 then + -- if 5 minutes have elapsed since the last warning + last_battery_check = os.time() + + show_battery_warning() + end + elseif charge > 15 and charge < 40 then + widget.colors = { medium_level_color } + else + widget.colors = { main_color } + end + end + + watch("acpi", timeout, update_widget, batteryarc_widget) + + -- Popup with battery info + local notification + local function show_battery_status() + awful.spawn.easy_async([[bash -c 'acpi']], + function(stdout, _, _, _) + naughty.destroy(notification) + notification = naughty.notify { + text = stdout, + title = "Battery status", + timeout = 5, + width = 200, + } + end) + end + + if show_notification_mode == 'on_hover' then + batteryarc_widget:connect_signal("mouse::enter", function() show_battery_status() end) + batteryarc_widget:connect_signal("mouse::leave", function() naughty.destroy(notification) end) + elseif show_notification_mode == 'on_click' then + batteryarc_widget:connect_signal('button::press', function(_, _, _, button) + if (button == 1) then show_battery_status() end + end) + end + + return batteryarc_widget + +end + +return setmetatable(batteryarc_widget, { __call = function(_, ...) + return worker(...) +end }) diff --git a/awesome/awesome-wm-widgets/batteryarc-widget/spaceman.jpg b/awesome/awesome-wm-widgets/batteryarc-widget/spaceman.jpg new file mode 100644 index 00000000..73ddaf37 Binary files /dev/null and b/awesome/awesome-wm-widgets/batteryarc-widget/spaceman.jpg differ diff --git a/awesome/awesome-wm-widgets/batteryarc-widget/warning.png b/awesome/awesome-wm-widgets/batteryarc-widget/warning.png new file mode 100644 index 00000000..55ca7902 Binary files /dev/null and b/awesome/awesome-wm-widgets/batteryarc-widget/warning.png differ diff --git a/awesome/awesome-wm-widgets/bitbucket-widget/README.md b/awesome/awesome-wm-widgets/bitbucket-widget/README.md new file mode 100644 index 00000000..197a765b --- /dev/null +++ b/awesome/awesome-wm-widgets/bitbucket-widget/README.md @@ -0,0 +1,69 @@ +# Bitbucket widget + +The widget shows the number of pull requests assigned to the user and when clicked shows them in the list with some additional information. When item in the list is clicked - it opens the pull request in the browser. + +## How it works + +Widget uses cURL to query Bitbucket's [REST API](https://developer.atlassian.com/bitbucket/api/2/reference/). In order to be authenticated, widget uses a [netrc](https://ec.haxx.se/usingcurl/usingcurl-netrc) feature of the cURL, which is basically allows storing basic auth credentials in a **.netrc** file in home folder. + +Bitbucket allows using [App Passwords](https://confluence.atlassian.com/bitbucket/app-passwords-828781300.html) (available in the account settings) - simply generate one for the widget and use it as password in **.netrc** file. + +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `icon` | `~/.config/awesome/awesome-wm-widgets/bitbucket-widget/bitbucket-icon-gradient-blue.svg` | Path to the icon | +| `host` | Required | e.g _http://api.bitbucket.org_ | +| `uuid` | Required | e.g _{123e4567-e89b-12d3-a456-426614174000}_ | +| `workspace` | Required | Workspace ID| +| `repo_slug` | Required | Repository slug | +| `timeout` | 60 | How often in seconds the widget refreshes | + +Note: + - host most likely should start with _api._ + - to get your UUID you may call `curl -s -n 'https://api.bitbucket.org/2.0/user'` + +## Installation + +Create a **.netrc** file in you home directory with following content: + +```bash +machine api.bitbucket.org +login mikey@tmnt.com +password cowabunga +``` + +Then change file's permissions to 600 (so only you can read/write it): + +```bash +chmod 600 ~/.netrc +``` +And test if it works by calling the API: + +```bash +curl -s -n 'https://api.bitbucket.org/2.0/repositories/' +``` + +Also, to properly setup required parameters you can use `test_bitbucket_api.sh` script - it uses the same curl call as widget. + +Then clone/download repo and use widget in **rc.lua**: + +```lua +local bitbucket_widget = require("awesome-wm-widgets.bitbucket-widget.bitbucket") +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + -- default + bitbucket_widget({ + host = 'https://api.bitbucket.org', + uuid = '{123e4567-e89b-12d3-a456-426614174000}', + workspace = 'workspace', + repo_slug = 'slug' + + }}), + ... +``` diff --git a/awesome/awesome-wm-widgets/bitbucket-widget/bitbucket-icon-gradient-blue.svg b/awesome/awesome-wm-widgets/bitbucket-widget/bitbucket-icon-gradient-blue.svg new file mode 100644 index 00000000..ea700ea3 --- /dev/null +++ b/awesome/awesome-wm-widgets/bitbucket-widget/bitbucket-icon-gradient-blue.svg @@ -0,0 +1 @@ +bitbucket-icon-gradient-blue \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/bitbucket-widget/bitbucket.lua b/awesome/awesome-wm-widgets/bitbucket-widget/bitbucket.lua new file mode 100644 index 00000000..b85e6535 --- /dev/null +++ b/awesome/awesome-wm-widgets/bitbucket-widget/bitbucket.lua @@ -0,0 +1,371 @@ +------------------------------------------------- +-- Bitbucket Widget for Awesome Window Manager +-- Shows the number of currently assigned pull requests +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/bitbucket-widget + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local wibox = require("wibox") +local watch = require("awful.widget.watch") +local json = require("json") +local spawn = require("awful.spawn") +local naughty = require("naughty") +local gears = require("gears") +local beautiful = require("beautiful") +local gfs = require("gears.filesystem") + +local HOME_DIR = os.getenv("HOME") +local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/bitbucket-widget/' + +local GET_PRS_CMD= [[bash -c "curl -s --show-error -n ]] + .. [['%s/2.0/repositories/%s/%s/pullrequests]] + .. [[?fields=values.participants.approved,values.title,values.links.html,values.author.display_name,]] + .. [[values.author.uuid,values.author.links.avatar,values.source.branch,values.destination.branch,]] + .. [[values.comment_count,values.created_on&q=reviewers.uuid+%%3D+%%22%s%%22+AND+state+%%3D+%%22OPEN%%22']] + .. [[ | jq '.[] '"]] +local DOWNLOAD_AVATAR_CMD = [[bash -c "curl -L -n --create-dirs -o %s/.cache/awmw/bitbucket-widget/avatars/%s %s"]] + +local bitbucket_widget = wibox.widget { + { + { + id = 'icon', + widget = wibox.widget.imagebox + }, + margins = 4, + layout = wibox.container.margin + }, + { + id = "txt", + widget = wibox.widget.textbox + }, + { + id = "new_pr", + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.horizontal, + set_text = function(self, new_value) + self.txt.text = new_value + end, + set_icon = function(self, new_value) + self:get_children_by_id('icon')[1]:set_image(new_value) + end +} + +local function show_warning(message) + naughty.notify{ + preset = naughty.config.presets.critical, + title = 'Bitbucket Widget', + text = message} +end + +local popup = awful.popup{ + ontop = true, + visible = false, + shape = gears.shape.rounded_rect, + border_width = 1, + border_color = beautiful.bg_focus, + maximum_width = 400, + offset = { y = 5 }, + widget = {} +} + +--- Converts string representation of date (2020-06-02T11:25:27Z) to date +local function parse_date(date_str) + local pattern = "(%d+)%-(%d+)%-(%d+)T(%d+):(%d+):(%d+)%Z" + local y, m, d, h, min, sec, _ = date_str:match(pattern) + + return os.time{year = y, month = m, day = d, hour = h, min = min, sec = sec} +end + +--- Converts seconds to "time ago" represenation, like '1 hour ago' +local function to_time_ago(seconds) + local days = seconds / 86400 + if days > 1 then + days = math.floor(days + 0.5) + return days .. (days == 1 and ' day' or ' days') .. ' ago' + end + + local hours = (seconds % 86400) / 3600 + if hours > 1 then + hours = math.floor(hours + 0.5) + return hours .. (hours == 1 and ' hour' or ' hours') .. ' ago' + end + + local minutes = ((seconds % 86400) % 3600) / 60 + if minutes > 1 then + minutes = math.floor(minutes + 0.5) + return minutes .. (minutes == 1 and ' minute' or ' minutes') .. ' ago' + end +end + +local function ellipsize(text, length) + return (text:len() > length and length > 0) + and text:sub(0, length - 3) .. '...' + or text +end + +local function count_approves(participants) + local res = 0 + for i = 1, #participants do + if participants[i]['approved'] then res = res + 1 end + end + return res +end + +local function worker(user_args) + + local args = user_args or {} + + local icon = args.icon or WIDGET_DIR .. '/bitbucket-icon-gradient-blue.svg' + local host = args.host or show_warning('Bitbucket host is not set') + local uuid = args.uuid or show_warning('UUID is not set') + local workspace = args.workspace or show_warning('Workspace is not set') + local repo_slug = args.repo_slug or show_warning('Repo slug is not set') + local timeout = args.timeout or 60 + + local current_number_of_prs + + local to_review_rows = {layout = wibox.layout.fixed.vertical} + local my_review_rows = {layout = wibox.layout.fixed.vertical} + local rows = {layout = wibox.layout.fixed.vertical} + + bitbucket_widget:set_icon(icon) + + local update_widget = function(widget, stdout, stderr, _, _) + if stderr ~= '' then + show_warning(stderr) + return + end + + local result = json.decode(stdout) + + current_number_of_prs = rawlen(result) + + if current_number_of_prs == 0 then + widget:set_visible(false) + return + end + + widget:set_visible(true) + widget:set_text(current_number_of_prs) + + for i = 0, #rows do rows[i]=nil end + + for i = 0, #to_review_rows do to_review_rows[i]=nil end + table.insert(to_review_rows, { + { + markup = 'PRs to review', + align = 'center', + forced_height = 20, + widget = wibox.widget.textbox + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + }) + + for i = 0, #my_review_rows do my_review_rows[i]=nil end + table.insert(my_review_rows, { + { + markup = 'My PRs', + align = 'center', + forced_height = 20, + widget = wibox.widget.textbox + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + }) + local current_time = os.time(os.date("!*t")) + + for _, pr in ipairs(result) do + local path_to_avatar = os.getenv("HOME") ..'/.cache/awmw/bitbucket-widget/avatars/' .. pr.author.uuid + local number_of_approves = count_approves(pr.participants) + + local row = wibox.widget { + { + { + { + { + resize = true, + image = path_to_avatar, + forced_width = 40, + forced_height = 40, + widget = wibox.widget.imagebox + }, + id = 'avatar', + margins = 8, + layout = wibox.container.margin + }, + { + { + id = 'title', + markup = '' .. ellipsize(pr.title, 50) .. '', + widget = wibox.widget.textbox, + forced_width = 400 + }, + { + { + { + { + text = ellipsize(pr.source.branch.name, 30), + widget = wibox.widget.textbox + }, + { + text = '->', + widget = wibox.widget.textbox + }, + { + text = pr.destination.branch.name, + widget = wibox.widget.textbox + }, + spacing = 8, + layout = wibox.layout.fixed.horizontal + }, + { + { + text = pr.author.display_name, + widget = wibox.widget.textbox + }, + { + text = to_time_ago(os.difftime(current_time, parse_date(pr.created_on))), + widget = wibox.widget.textbox + }, + spacing = 8, + expand = 'none', + layout = wibox.layout.fixed.horizontal + }, + forced_width = 285, + layout = wibox.layout.fixed.vertical + }, + { + { + { + image = WIDGET_DIR .. '/check.svg', + resize = false, + widget = wibox.widget.imagebox + }, + { + text = number_of_approves, + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.horizontal + }, + { + { + image = WIDGET_DIR .. '/message-circle.svg', + resize = false, + widget = wibox.widget.imagebox + }, + { + text = pr.comment_count, + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.horizontal + }, + layout = wibox.layout.fixed.vertical + }, + layout = wibox.layout.fixed.horizontal + }, + + spacing = 8, + layout = wibox.layout.fixed.vertical + }, + spacing = 8, + layout = wibox.layout.fixed.horizontal + }, + margins = 8, + layout = wibox.container.margin + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + } + + if not gfs.file_readable(path_to_avatar) then + local cmd = string.format(DOWNLOAD_AVATAR_CMD, HOME_DIR, pr.author.uuid, pr.author.links.avatar.href) + spawn.easy_async(cmd, function() row:get_children_by_id('avatar')[1]:set_image(path_to_avatar) end) + end + + + row:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end) + row:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end) + + row:get_children_by_id('title')[1]:buttons( + awful.util.table.join( + awful.button({}, 1, function() + spawn.with_shell("xdg-open " .. pr.links.html.href) + popup.visible = false + end) + ) + ) + row:get_children_by_id('avatar')[1]:buttons( + awful.util.table.join( + awful.button({}, 1, function() + spawn.with_shell( + string.format('xdg-open "https://bitbucket.org/%s/%s/pull-requests?state=OPEN&author=%s"', + workspace, repo_slug, pr.author.uuid) + ) + popup.visible = false + end) + ) + ) + + local old_cursor, old_wibox + row:get_children_by_id('title')[1]:connect_signal("mouse::enter", function() + local wb = mouse.current_wibox + old_cursor, old_wibox = wb.cursor, wb + wb.cursor = "hand1" + end) + row:get_children_by_id('title')[1]:connect_signal("mouse::leave", function() + if old_wibox then + old_wibox.cursor = old_cursor + old_wibox = nil + end + end) + + row:get_children_by_id('avatar')[1]:connect_signal("mouse::enter", function() + local wb = mouse.current_wibox + old_cursor, old_wibox = wb.cursor, wb + wb.cursor = "hand1" + end) + row:get_children_by_id('avatar')[1]:connect_signal("mouse::leave", function() + if old_wibox then + old_wibox.cursor = old_cursor + old_wibox = nil + end + end) + + if (pr.author.uuid == '{' .. uuid .. '}') then + table.insert(my_review_rows, row) + else + table.insert(to_review_rows, row) + end + end + + table.insert(rows, to_review_rows) + if (#my_review_rows > 1) then + table.insert(rows, my_review_rows) + end + popup:setup(rows) + end + + bitbucket_widget:buttons( + awful.util.table.join( + awful.button({}, 1, function() + if popup.visible then + popup.visible = not popup.visible + else + popup:move_next_to(mouse.current_widget_geometry) + end + end) + ) + ) + + watch(string.format(GET_PRS_CMD, host, workspace, repo_slug, uuid, uuid), + timeout, update_widget, bitbucket_widget) + return bitbucket_widget +end + +return setmetatable(bitbucket_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/bitbucket-widget/check.svg b/awesome/awesome-wm-widgets/bitbucket-widget/check.svg new file mode 100644 index 00000000..e9e44ace --- /dev/null +++ b/awesome/awesome-wm-widgets/bitbucket-widget/check.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/bitbucket-widget/clipboard.svg b/awesome/awesome-wm-widgets/bitbucket-widget/clipboard.svg new file mode 100644 index 00000000..5c6dfd3d --- /dev/null +++ b/awesome/awesome-wm-widgets/bitbucket-widget/clipboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/bitbucket-widget/copy.svg b/awesome/awesome-wm-widgets/bitbucket-widget/copy.svg new file mode 100644 index 00000000..bab20984 --- /dev/null +++ b/awesome/awesome-wm-widgets/bitbucket-widget/copy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/bitbucket-widget/git-pull-request.svg b/awesome/awesome-wm-widgets/bitbucket-widget/git-pull-request.svg new file mode 100644 index 00000000..c2e2867f --- /dev/null +++ b/awesome/awesome-wm-widgets/bitbucket-widget/git-pull-request.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/bitbucket-widget/message-circle.svg b/awesome/awesome-wm-widgets/bitbucket-widget/message-circle.svg new file mode 100644 index 00000000..43eacbb5 --- /dev/null +++ b/awesome/awesome-wm-widgets/bitbucket-widget/message-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/bitbucket-widget/test_bitbucket_api.sh b/awesome/awesome-wm-widgets/bitbucket-widget/test_bitbucket_api.sh new file mode 100755 index 00000000..378b3efa --- /dev/null +++ b/awesome/awesome-wm-widgets/bitbucket-widget/test_bitbucket_api.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +HOST='https://api.bitbucket.org' +ACCOUNT_ID='' +WORKSPACE='' +REPO_SLUG='' + +curl -s -n "${HOST}/2.0/repositories/${WORKSPACE}/${REPO_SLUG}/pullrequests?fields=values.title,values.links.html,values.author.display_name,values.author.links.avatar&q=reviewers.account_id+%3D+%22${ACCOUNT_ID}%22" \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/bitbucket-widget/user.svg b/awesome/awesome-wm-widgets/bitbucket-widget/user.svg new file mode 100644 index 00000000..4058dee2 --- /dev/null +++ b/awesome/awesome-wm-widgets/bitbucket-widget/user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/brightness-widget/README.md b/awesome/awesome-wm-widgets/brightness-widget/README.md new file mode 100644 index 00000000..cbf5b7e1 --- /dev/null +++ b/awesome/awesome-wm-widgets/brightness-widget/README.md @@ -0,0 +1,93 @@ +# Brightness widget + +This widget represents current brightness level, depending on config parameters could be an arcchart or icon with text: ![Brightness widget](./br-wid-1.png) + +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `type`| `arc` | The widget type. Could be `arc` or `icon_and_text` | +| `program` | `light` | The program used to control the brightness, either `light`, `xbacklight`, or `brightnessctl`. | +| `step` | 5 | Step | +| `base` | 20 | Base level to set brightness to on left click. | +| `path_to_icon` | `/usr/share/icons/Arc/status/symbolic/display-brightness-symbolic.svg` | Path to the icon | +| `font` | `Play 9` | Font | +| `timeout` | 1 | How often in seconds the widget refreshes. Check the note below | +| `tooltip` | false | Display brightness level in a tooltip when the mouse cursor hovers the widget | + +_Note:_ If brightness is controlled only by the widget (either by a mouse, or by a shortcut, then the `timeout` could be quite big, as there is no reason to synchronize the brightness level). + +## Installation + +To choose the right `program` argument, first you need to check which of them works better for you. + + - using `xbacklight`: + + Install (on Ubuntu it's available in the apt repository) it and check if it works by running: + + ```bash + xbacklight -get + ``` + + If there is no output it means that it doesn't work, you can either try to fix it, or try to use `light`. + + - using `light` command: + + Install (on Ubuntu it's available in the apt repository) from the repo: [github.com/haikarainen/light](https://github.com/haikarainen/light) and check if it works by running + + ```bash + light -G + 49.18 + light -A 5 + ``` + If you're on Ubuntu/debian and if the brightness level doesn't change, try to do this: https://github.com/haikarainen/light/issues/113#issuecomment-632638436. + + - using `brightnessctl`: + + On Ubuntu it is available in the apt repository. Install and check the ouptut of the following command. + ```bash + brightnessctl --list + ``` + +Then clone this repo under **~/.config/awesome/**: + +```bash +git clone https://github.com/streetturtle/awesome-wm-widgets.git ~/.config/awesome/awesome-wm-widgets +``` + +Require widget at the beginning of **rc.lua**: + +```lua +local brightness_widget = require("awesome-wm-widgets.brightness-widget.brightness") +``` + +Add the widget to the tasklist: + +```lua +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + -- default + brightness_widget(), + -- or customized + brightness_widget{ + type = 'icon_and_text', + program = 'xbacklight', + step = 2, + } + } + ... +``` + +## Controls + +In order to change brightness by shortcuts you can add them to the `globalkeys` table in the **rc.lua**: + +```lua +awful.key({ modkey }, ";", function () brightness_widget:inc() end, {description = "increase brightness", group = "custom"}), +awful.key({ modkey, "Shift"}, ";", function () brightness_widget:dec() end, {description = "decrease brightness", group = "custom"}), +``` +On a laptop you can use `XF86MonBrightnessUp` and `XF86MonBrightnessDown` keys. diff --git a/awesome/awesome-wm-widgets/brightness-widget/br-wid-1.png b/awesome/awesome-wm-widgets/brightness-widget/br-wid-1.png new file mode 100644 index 00000000..b00b0e60 Binary files /dev/null and b/awesome/awesome-wm-widgets/brightness-widget/br-wid-1.png differ diff --git a/awesome/awesome-wm-widgets/brightness-widget/brightness.lua b/awesome/awesome-wm-widgets/brightness-widget/brightness.lua new file mode 100644 index 00000000..306cc2bc --- /dev/null +++ b/awesome/awesome-wm-widgets/brightness-widget/brightness.lua @@ -0,0 +1,186 @@ +------------------------------------------------- +-- Brightness Widget for Awesome Window Manager +-- Shows the brightness level of the laptop display +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/brightness-widget + +-- @author Pavel Makhov +-- @copyright 2021 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local wibox = require("wibox") +local watch = require("awful.widget.watch") +local spawn = require("awful.spawn") +local naughty = require("naughty") + +local ICON_DIR = os.getenv("HOME") .. '/.config/awesome/awesome-wm-widgets/brightness-widget/' +local get_brightness_cmd +local set_brightness_cmd +local inc_brightness_cmd +local dec_brightness_cmd + +local brightness_widget = {} + +local function show_warning(message) + naughty.notify{ + preset = naughty.config.presets.critical, + title = 'Brightness Widget', + text = message} +end + +local function worker(user_args) + + local args = user_args or {} + + local type = args.type or 'arc' -- arc or icon_and_text + local path_to_icon = args.path_to_icon or ICON_DIR .. 'brightness.svg' + local font = args.font or 'Play 9' + local timeout = args.timeout or 100 + + local program = args.program or 'light' + local step = args.step or 5 + local base = args.base or 20 + local current_level = 0 -- current brightness value + local tooltip = args.tooltip or false + if program == 'light' then + get_brightness_cmd = 'light -G' + set_brightness_cmd = 'light -S %d' -- + inc_brightness_cmd = 'light -A ' .. step + dec_brightness_cmd = 'light -U ' .. step + elseif program == 'xbacklight' then + get_brightness_cmd = 'xbacklight -get' + set_brightness_cmd = 'xbacklight -set %d' -- + inc_brightness_cmd = 'xbacklight -inc ' .. step + dec_brightness_cmd = 'xbacklight -dec ' .. step + elseif program == 'brightnessctl' then + get_brightness_cmd = 'bash -c "brightnessctl -m | cut -d, -f4 | tr -d %"' + set_brightness_cmd = 'brightnessctl set %d%%' -- + inc_brightness_cmd = 'brightnessctl set +' .. step .. '%' + dec_brightness_cmd = 'brightnessctl set ' .. step .. '-%' + else + show_warning(program .. " command is not supported by the widget") + return + end + + if type == 'icon_and_text' then + brightness_widget.widget = wibox.widget { + { + { + image = path_to_icon, + resize = false, + widget = wibox.widget.imagebox, + }, + valign = 'center', + layout = wibox.container.place + }, + { + id = 'txt', + font = font, + widget = wibox.widget.textbox + }, + spacing = 4, + layout = wibox.layout.fixed.horizontal, + set_value = function(self, level) + self:get_children_by_id('txt')[1]:set_text(level .. '%') + end + } + elseif type == 'arc' then + brightness_widget.widget = wibox.widget { + { + { + image = path_to_icon, + resize = true, + widget = wibox.widget.imagebox, + }, + valign = 'center', + layout = wibox.container.place + }, + max_value = 100, + thickness = 2, + start_angle = 4.71238898, -- 2pi*3/4 + forced_height = 18, + forced_width = 18, + paddings = 2, + widget = wibox.container.arcchart, + set_value = function(self, level) + self:set_value(level) + end + } + else + show_warning(type .. " type is not supported by the widget") + return + + end + + local update_widget = function(widget, stdout, _, _, _) + local brightness_level = tonumber(string.format("%.0f", stdout)) + current_level = brightness_level + widget:set_value(brightness_level) + end + + function brightness_widget:set(value) + current_level = value + spawn.easy_async(string.format(set_brightness_cmd, value), function() + spawn.easy_async(get_brightness_cmd, function(out) + update_widget(brightness_widget.widget, out) + end) + end) + end + local old_level = 0 + function brightness_widget:toggle() + if old_level < 0.1 then + -- avoid toggling between '0' and 'almost 0' + old_level = 1 + end + if current_level < 0.1 then + -- restore previous level + current_level = old_level + else + -- save current brightness for later + old_level = current_level + current_level = 0 + end + brightness_widget:set(current_level) + end + function brightness_widget:inc() + spawn.easy_async(inc_brightness_cmd, function() + spawn.easy_async(get_brightness_cmd, function(out) + update_widget(brightness_widget.widget, out) + end) + end) + end + function brightness_widget:dec() + spawn.easy_async(dec_brightness_cmd, function() + spawn.easy_async(get_brightness_cmd, function(out) + update_widget(brightness_widget.widget, out) + end) + end) + end + + brightness_widget.widget:buttons( + awful.util.table.join( + awful.button({}, 1, function() brightness_widget:set(base) end), + awful.button({}, 3, function() brightness_widget:toggle() end), + awful.button({}, 4, function() brightness_widget:inc() end), + awful.button({}, 5, function() brightness_widget:dec() end) + ) + ) + + watch(get_brightness_cmd, timeout, update_widget, brightness_widget.widget) + + if tooltip then + awful.tooltip { + objects = { brightness_widget.widget }, + timer_function = function() + return current_level .. " %" + end, + } + end + + return brightness_widget.widget +end + +return setmetatable(brightness_widget, { __call = function(_, ...) + return worker(...) +end }) diff --git a/awesome/awesome-wm-widgets/brightness-widget/brightness.svg b/awesome/awesome-wm-widgets/brightness-widget/brightness.svg new file mode 100644 index 00000000..d3343720 --- /dev/null +++ b/awesome/awesome-wm-widgets/brightness-widget/brightness.svg @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/awesome/awesome-wm-widgets/calendar-widget/README.md b/awesome/awesome-wm-widgets/calendar-widget/README.md new file mode 100644 index 00000000..b663a189 --- /dev/null +++ b/awesome/awesome-wm-widgets/calendar-widget/README.md @@ -0,0 +1,89 @@ +# Calendar Widget + +Calendar widget for Awesome WM - slightly improved version of the `wibox.widget.calendar`. + +## Features + + +### Customization + +| Name | Default | Description | +|---|---|---| +| theme | `naughty` | The theme to use | +| placement | `top` | The position of the popup | +| radius | 8 | The popup radius | +| start_sunday | false | Start the week on Sunday | + + - themes: + + | Name | Screenshot | + |---|---| + | nord | ![nord_theme](./nord.png) | + | outrun | ![outrun_theme](./outrun.png) | + | light | ![outrun_theme](./light.png) | + | dark | ![outrun_theme](./dark.png) | + | naughty (default) | from local theme | + + - setup widget placement + + top center - in case you clock is centered: + + ![calendar_top](./calendar_top.png) + + top right - for default awesome config: + + ![calendar_top_right](./calendar_top_right.png) + + bottom right - in case your wibar at the bottom: + + ![calendar_bottom_right](./calendar_bottom_right.png) + + - setup first day of week + + By setting `start_sunday` to true: + ![calendar_start_sunday](./calendar_start_sunday.png) + + - mouse support: + move to the next and previous month. Using mouse buttons or scroll wheel. + + You can configure this by specifying the button to move to next/previous. + Usually these are configured as follows. If you want to use other mouse buttons, you can find their number using `xev`. + + | number | button | + |--------|---------------| + | 4 | scroll up | + | 5 | scroll down | + | 1 | left click | + | 2 | right click | + | 3 | middles click | + + By default `previous_month_button` is 5, `next_month_button` is 4. + + +## How to use + +This widget needs an 'anchor' - another widget which triggers visibility of the calendar. Default `mytextclock` is the perfect candidate! +Just after mytextclock is instantiated, create the widget and add the mouse listener to it. + +```lua +local calendar_widget = require("awesome-wm-widgets.calendar-widget.calendar") +-- ... +-- Create a textclock widget +mytextclock = wibox.widget.textclock() +-- default +local cw = calendar_widget() +-- or customized +local cw = calendar_widget({ + theme = 'outrun', + placement = 'bottom_right', + start_sunday = true, + radius = 8, +-- with customized next/previous (see table above) + previous_month_button = 1, + next_month_button = 3, +}) +mytextclock:connect_signal("button::press", + function(_, _, _, button) + if button == 1 then cw.toggle() end + end) +``` diff --git a/awesome/awesome-wm-widgets/calendar-widget/calendar.lua b/awesome/awesome-wm-widgets/calendar-widget/calendar.lua new file mode 100644 index 00000000..4bb637f4 --- /dev/null +++ b/awesome/awesome-wm-widgets/calendar-widget/calendar.lua @@ -0,0 +1,253 @@ +------------------------------------------------- +-- Calendar Widget for Awesome Window Manager +-- Shows the current month and supports scroll up/down to switch month +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/calendar-widget + +-- @author Pavel Makhov +-- @copyright 2019 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local beautiful = require("beautiful") +local wibox = require("wibox") +local gears = require("gears") +local naughty = require("naughty") + +local calendar_widget = {} + +local function worker(user_args) + + local calendar_themes = { + nord = { + bg = '#2E3440', + fg = '#D8DEE9', + focus_date_bg = '#88C0D0', + focus_date_fg = '#000000', + weekend_day_bg = '#3B4252', + weekday_fg = '#88C0D0', + header_fg = '#E5E9F0', + border = '#4C566A' + }, + outrun = { + bg = '#0d0221', + fg = '#D8DEE9', + focus_date_bg = '#650d89', + focus_date_fg = '#2de6e2', + weekend_day_bg = '#261447', + weekday_fg = '#2de6e2', + header_fg = '#f6019d', + border = '#261447' + }, + dark = { + bg = '#000000', + fg = '#ffffff', + focus_date_bg = '#ffffff', + focus_date_fg = '#000000', + weekend_day_bg = '#444444', + weekday_fg = '#ffffff', + header_fg = '#ffffff', + border = '#333333' + }, + light = { + bg = '#ffffff', + fg = '#000000', + focus_date_bg = '#000000', + focus_date_fg = '#ffffff', + weekend_day_bg = '#AAAAAA', + weekday_fg = '#000000', + header_fg = '#000000', + border = '#CCCCCC' + }, + monokai = { + bg = '#272822', + fg = '#F8F8F2', + focus_date_bg = '#AE81FF', + focus_date_fg = '#ffffff', + weekend_day_bg = '#75715E', + weekday_fg = '#FD971F', + header_fg = '#F92672', + border = '#75715E' + }, + naughty = { + bg = beautiful.notification_bg or beautiful.bg, + fg = beautiful.notification_fg or beautiful.fg, + focus_date_bg = beautiful.notification_fg or beautiful.fg, + focus_date_fg = beautiful.notification_bg or beautiful.bg, + weekend_day_bg = beautiful.bg_focus, + weekday_fg = beautiful.fg, + header_fg = beautiful.fg, + border = beautiful.border_normal + } + + } + + local args = user_args or {} + + if args.theme ~= nil and calendar_themes[args.theme] == nil then + naughty.notify({ + preset = naughty.config.presets.critical, + title = 'Calendar Widget', + text = 'Theme "' .. args.theme .. '" not found, fallback to default'}) + args.theme = 'naughty' + end + + local theme = args.theme or 'naughty' + local placement = args.placement or 'top' + local radius = args.radius or 8 + local next_month_button = args.next_month_button or 4 + local previous_month_button = args.previous_month_button or 5 + local start_sunday = args.start_sunday or false + + local styles = {} + local function rounded_shape(size) + return function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, size) + end + end + + styles.month = { + padding = 4, + bg_color = calendar_themes[theme].bg, + border_width = 0, + } + + styles.normal = { + markup = function(t) return t end, + shape = rounded_shape(4) + } + + styles.focus = { + fg_color = calendar_themes[theme].focus_date_fg, + bg_color = calendar_themes[theme].focus_date_bg, + markup = function(t) return '' .. t .. '' end, + shape = rounded_shape(4) + } + + styles.header = { + fg_color = calendar_themes[theme].header_fg, + bg_color = calendar_themes[theme].bg, + markup = function(t) return '' .. t .. '' end + } + + styles.weekday = { + fg_color = calendar_themes[theme].weekday_fg, + bg_color = calendar_themes[theme].bg, + markup = function(t) return '' .. t .. '' end, + } + + local function decorate_cell(widget, flag, date) + if flag == 'monthheader' and not styles.monthheader then + flag = 'header' + end + + -- highlight only today's day + if flag == 'focus' then + local today = os.date('*t') + if not (today.month == date.month and today.year == date.year) then + flag = 'normal' + end + end + + local props = styles[flag] or {} + if props.markup and widget.get_text and widget.set_markup then + widget:set_markup(props.markup(widget:get_text())) + end + -- Change bg color for weekends + local d = { year = date.year, month = (date.month or 1), day = (date.day or 1) } + local weekday = tonumber(os.date('%w', os.time(d))) + local default_bg = (weekday == 0 or weekday == 6) + and calendar_themes[theme].weekend_day_bg + or calendar_themes[theme].bg + local ret = wibox.widget { + { + { + widget, + halign = 'center', + widget = wibox.container.place + }, + margins = (props.padding or 2) + (props.border_width or 0), + widget = wibox.container.margin + }, + shape = props.shape, + shape_border_color = props.border_color or '#000000', + shape_border_width = props.border_width or 0, + fg = props.fg_color or calendar_themes[theme].fg, + bg = props.bg_color or default_bg, + widget = wibox.container.background + } + + return ret + end + + local cal = wibox.widget { + date = os.date('*t'), + font = beautiful.get_font(), + fn_embed = decorate_cell, + long_weekdays = true, + start_sunday = start_sunday, + widget = wibox.widget.calendar.month + } + + local popup = awful.popup { + ontop = true, + visible = false, + shape = rounded_shape(radius), + offset = { y = 5 }, + border_width = 1, + border_color = calendar_themes[theme].border, + widget = cal + } + + popup:buttons( + awful.util.table.join( + awful.button({}, next_month_button, function() + local a = cal:get_date() + a.month = a.month + 1 + cal:set_date(nil) + cal:set_date(a) + popup:set_widget(cal) + end), + awful.button({}, previous_month_button, function() + local a = cal:get_date() + a.month = a.month - 1 + cal:set_date(nil) + cal:set_date(a) + popup:set_widget(cal) + end) + ) + ) + + function calendar_widget.toggle() + + if popup.visible then + -- to faster render the calendar refresh it and just hide + cal:set_date(nil) -- the new date is not set without removing the old one + cal:set_date(os.date('*t')) + popup:set_widget(nil) -- just in case + popup:set_widget(cal) + popup.visible = not popup.visible + else + if placement == 'top' then + awful.placement.top(popup, { margins = { top = 30 }, parent = awful.screen.focused() }) + elseif placement == 'top_right' then + awful.placement.top_right(popup, { margins = { top = 30, right = 10}, parent = awful.screen.focused() }) + elseif placement == 'bottom_right' then + awful.placement.bottom_right(popup, { margins = { bottom = 30, right = 10}, + parent = awful.screen.focused() }) + else + awful.placement.top(popup, { margins = { top = 30 }, parent = awful.screen.focused() }) + end + + popup.visible = true + + end + end + + return calendar_widget + +end + +return setmetatable(calendar_widget, { __call = function(_, ...) + return worker(...) +end }) diff --git a/awesome/awesome-wm-widgets/calendar-widget/calendar_bottom_right.png b/awesome/awesome-wm-widgets/calendar-widget/calendar_bottom_right.png new file mode 100644 index 00000000..2bc2e827 Binary files /dev/null and b/awesome/awesome-wm-widgets/calendar-widget/calendar_bottom_right.png differ diff --git a/awesome/awesome-wm-widgets/calendar-widget/calendar_top.png b/awesome/awesome-wm-widgets/calendar-widget/calendar_top.png new file mode 100644 index 00000000..3e6b66b8 Binary files /dev/null and b/awesome/awesome-wm-widgets/calendar-widget/calendar_top.png differ diff --git a/awesome/awesome-wm-widgets/calendar-widget/calendar_top_right.png b/awesome/awesome-wm-widgets/calendar-widget/calendar_top_right.png new file mode 100644 index 00000000..4a29022a Binary files /dev/null and b/awesome/awesome-wm-widgets/calendar-widget/calendar_top_right.png differ diff --git a/awesome/awesome-wm-widgets/calendar-widget/dark.png b/awesome/awesome-wm-widgets/calendar-widget/dark.png new file mode 100644 index 00000000..540289f0 Binary files /dev/null and b/awesome/awesome-wm-widgets/calendar-widget/dark.png differ diff --git a/awesome/awesome-wm-widgets/calendar-widget/light.png b/awesome/awesome-wm-widgets/calendar-widget/light.png new file mode 100644 index 00000000..ab675d1b Binary files /dev/null and b/awesome/awesome-wm-widgets/calendar-widget/light.png differ diff --git a/awesome/awesome-wm-widgets/calendar-widget/nord.png b/awesome/awesome-wm-widgets/calendar-widget/nord.png new file mode 100644 index 00000000..94f9f7e5 Binary files /dev/null and b/awesome/awesome-wm-widgets/calendar-widget/nord.png differ diff --git a/awesome/awesome-wm-widgets/calendar-widget/outrun.png b/awesome/awesome-wm-widgets/calendar-widget/outrun.png new file mode 100644 index 00000000..d59c1239 Binary files /dev/null and b/awesome/awesome-wm-widgets/calendar-widget/outrun.png differ diff --git a/awesome/awesome-wm-widgets/cmus-widget/README.md b/awesome/awesome-wm-widgets/cmus-widget/README.md new file mode 100644 index 00000000..7e7fb9e9 --- /dev/null +++ b/awesome/awesome-wm-widgets/cmus-widget/README.md @@ -0,0 +1,51 @@ +# Cmus widget + +Cmus widget that shows the current playing track. + +![widget](./screenshots/cmus-widget.png) + +Left click toggles playback. + +## Installation + +Clone the repo under **~/.config/awesome/** and add widget in **rc.lua**: + +```lua +local cmus_widget = require('awesome-wm-widgets.cmus-widget.cmus') +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + -- default + cmus_widget(), + -- customized + cmus_widget{ + space = 5, + timeout = 5 + }, +``` + +### Shortcuts + +To improve responsiveness of the widget when playback is changed by a shortcut use corresponding methods of the widget: + +```lua +awful.key({ modkey, "Shift" }, + "p", + function() cmus_widget:play_pause() end, + {description = "play/pause cmus", group = "custom"}), +``` + +## Customization + +It is possible to customize the widget by providing a table with all or some of the following config parameters: + +### Generic parameter + +| Name | Default | Description | +|---|---|---| +| `font` | `Play 9` | Font used for the track title | +| `path_to_icons` | `/usr/share/icons/Arc/actions/symbolic/` | Alternative path for the icons | +| `timeout`| `10` | Refresh cooldown | +| `space` | `3` | Space between icon and track title | diff --git a/awesome/awesome-wm-widgets/cmus-widget/cmus.lua b/awesome/awesome-wm-widgets/cmus-widget/cmus.lua new file mode 100644 index 00000000..51daa89c --- /dev/null +++ b/awesome/awesome-wm-widgets/cmus-widget/cmus.lua @@ -0,0 +1,127 @@ +------------------------------------------------- +-- Cmus Widget for Awesome Window Manager +-- Show what's playing, play/pause, etc + +-- @author Augusto Gunsch +-- @copyright 2022 Augusto Gunsch +------------------------------------------------- + +local awful = require("awful") +local wibox = require("wibox") +local watch = require("awful.widget.watch") +local spawn = require("awful.spawn") +local naughty = require("naughty") + +local cmus_widget = {} + +local function show_warning(message) + naughty.notify{ + preset = naughty.config.presets.critical, + title = "Cmus Widget", + text = message} +end + +local function worker(user_args) + + local args = user_args or {} + local font = args.font or "Play 9" + + local path_to_icons = args.path_to_icons or "/usr/share/icons/Arc/actions/symbolic/" + local timeout = args.timeout or 10 + local space = args.space or 3 + + cmus_widget.widget = wibox.widget { + { + { + id = "playback_icon", + resize = false, + widget = wibox.widget.imagebox, + }, + layout = wibox.container.place + }, + { + id = "text", + font = font, + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.horizontal, + update_icon = function(self, name) + self:get_children_by_id("playback_icon")[1]:set_image(path_to_icons .. name) + end, + set_title = function(self, title) + self:get_children_by_id("text")[1]:set_text(title) + end + } + + function update_widget(widget, stdout, _, _, code) + if code == 0 then + local cmus_info = {} + + for s in stdout:gmatch("[^\r\n]+") do + local key, val = string.match(s, "^tag (%a+) (.+)$") + + if key and val then + cmus_info[key] = val + else + local key, val = string.match(s, "^set (%a+) (.+)$") + + if key and val then + cmus_info[key] = val + else + local key, val = string.match(s, "^(%a+) (.+)$") + if key and val then + cmus_info[key] = val + end + end + end + end + + local title = cmus_info.title + + if not title and cmus_info.file then + title = cmus_info.file:gsub("%..-$", "") + title = title:gsub("^.+/", "") + end + + if title then + if cmus_info["status"] == "playing" then + widget:update_icon("media-playback-start-symbolic.svg") + elseif cmus_info["status"] == "paused" then + widget:update_icon("media-playback-pause-symbolic.svg") + else + widget:update_icon("media-playback-stop-symbolic.svg") + end + + widget:set_title(title) + widget.visible = true + else + widget.visible = false + widget.width = 0 + end + else + widget.visible = false + end + end + + function cmus_widget:play_pause() + spawn("cmus-remote -u") + spawn.easy_async("cmus-remote -Q", + function(stdout, _, _, code) + update_widget(cmus_widget.widget, stdout, _, _, code) + end) + end + + cmus_widget.widget:buttons( + awful.util.table.join( + awful.button({}, 1, function() cmus_widget:play_pause() end) + ) + ) + + watch("cmus-remote -Q", timeout, update_widget, cmus_widget.widget) + + return cmus_widget.widget +end + +return setmetatable(cmus_widget, { __call = function(_, ...) + return worker(...) +end }) diff --git a/awesome/awesome-wm-widgets/cmus-widget/screenshots/cmus-widget.png b/awesome/awesome-wm-widgets/cmus-widget/screenshots/cmus-widget.png new file mode 100644 index 00000000..ba04401d Binary files /dev/null and b/awesome/awesome-wm-widgets/cmus-widget/screenshots/cmus-widget.png differ diff --git a/awesome/awesome-wm-widgets/cpu-widget/README.md b/awesome/awesome-wm-widgets/cpu-widget/README.md new file mode 100644 index 00000000..b323f9b0 --- /dev/null +++ b/awesome/awesome-wm-widgets/cpu-widget/README.md @@ -0,0 +1,71 @@ +# CPU widget + +[![GitHub issues by-label](https://img.shields.io/github/issues-raw/streetturtle/awesome-wm-widgets/cpu)](https://github.com/streetturtle/awesome-wm-widgets/labels/cpu) + +This widget shows the average CPU load among all cores of the machine: + +![screenshot](./cpu.gif) + +## How it works + +To measure the load I took Paul Colby's bash [script](http://colby.id.au/calculating-cpu-usage-from-proc-stat/) and rewrote it in Lua, which was quite simple. +So awesome simply reads the first line of /proc/stat: + +```bash +$ cat /proc/stat | grep '^cpu ' +cpu 197294 718 50102 2002182 3844 0 2724 0 0 0 +``` + +and calculates the percentage. + +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `width` | 50 | Width of the widget | +| `step_width` | 2 | Width of the step | +| `step_spacing` | 1 | Space size between steps | +| `color` | `beautiful.fg_normal` | Color of the graph | +| `enable_kill_button` | `false` | Show button which kills the process | +| `process_info_max_length` | `-1` | Truncate the process information. Some processes may have a very long list of parameters which won't fit in the screen, this options allows to truncate it to the given length. | +| `timeout` | 1 | How often in seconds the widget refreshes | + +### Example + +```lua +cpu_widget({ + width = 70, + step_width = 2, + step_spacing = 0, + color = '#434c5e' +}) +``` + +The config above results in the following widget: + +![custom](./custom.png) + +## Installation + +Clone/download repo and use widget in **rc.lua**: + +```lua +local cpu_widget = require("awesome-wm-widgets.cpu-widget.cpu-widget") +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + -- default + cpu_widget(), + -- or custom + cpu_widget({ + width = 70, + step_width = 2, + step_spacing = 0, + color = '#434c5e' + }) + ... +``` diff --git a/awesome/awesome-wm-widgets/cpu-widget/cpu-png b/awesome/awesome-wm-widgets/cpu-widget/cpu-png new file mode 100644 index 00000000..96ba29f3 Binary files /dev/null and b/awesome/awesome-wm-widgets/cpu-widget/cpu-png differ diff --git a/awesome/awesome-wm-widgets/cpu-widget/cpu-widget.lua b/awesome/awesome-wm-widgets/cpu-widget/cpu-widget.lua new file mode 100644 index 00000000..11debe80 --- /dev/null +++ b/awesome/awesome-wm-widgets/cpu-widget/cpu-widget.lua @@ -0,0 +1,339 @@ +------------------------------------------------- +-- CPU Widget for Awesome Window Manager +-- Shows the current CPU utilization +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/cpu-widget + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local watch = require("awful.widget.watch") +local wibox = require("wibox") +local beautiful = require("beautiful") +local gears = require("gears") + +local CMD = [[sh -c "grep '^cpu.' /proc/stat; ps -eo '%p|%c|%C|' -o "%mem" -o '|%a' --sort=-%cpu ]] + .. [[| head -11 | tail -n +2"]] + +-- A smaller command, less resource intensive, used when popup is not shown. +local CMD_slim = [[grep --max-count=1 '^cpu.' /proc/stat]] + +local HOME_DIR = os.getenv("HOME") +local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/cpu-widget' + +local cpu_widget = {} +local cpu_rows = { + spacing = 4, + layout = wibox.layout.fixed.vertical, +} +local is_update = true +local process_rows = { + layout = wibox.layout.fixed.vertical, +} + +-- Splits the string by separator +-- @return table with separated substrings +local function split(string_to_split, separator) + if separator == nil then separator = "%s" end + local t = {} + + for str in string.gmatch(string_to_split, "([^".. separator .."]+)") do + table.insert(t, str) + end + + return t +end + +-- Checks if a string starts with a another string +local function starts_with(str, start) + return str:sub(1, #start) == start +end + + +local function create_textbox(args) + return wibox.widget{ + text = args.text, + align = args.align or 'left', + markup = args.markup, + forced_width = args.forced_width or 40, + widget = wibox.widget.textbox + } +end + +local function create_process_header(params) + local res = wibox.widget{ + create_textbox{markup = 'PID'}, + create_textbox{markup = 'Name'}, + { + create_textbox{markup = '%CPU'}, + create_textbox{markup = '%MEM'}, + params.with_action_column and create_textbox{forced_width = 20} or nil, + layout = wibox.layout.align.horizontal + }, + layout = wibox.layout.ratio.horizontal + } + res:ajust_ratio(2, 0.2, 0.47, 0.33) + + return res +end + +local function create_kill_process_button() + return wibox.widget{ + { + id = "icon", + image = WIDGET_DIR .. '/window-close-symbolic.svg', + resize = false, + opacity = 0.1, + widget = wibox.widget.imagebox + }, + widget = wibox.container.background + } +end + +local function worker(user_args) + + local args = user_args or {} + + local width = args.width or 50 + local step_width = args.step_width or 2 + local step_spacing = args.step_spacing or 1 + local color = args.color or beautiful.fg_normal + local background_color = args.background_color or "#00000000" + local enable_kill_button = args.enable_kill_button or false + local process_info_max_length = args.process_info_max_length or -1 + local timeout = args.timeout or 1 + + local cpugraph_widget = wibox.widget { + max_value = 100, + background_color = background_color, + forced_width = width, + step_width = step_width, + step_spacing = step_spacing, + widget = wibox.widget.graph, + color = "linear:0,0:0,20:0,#FF0000:0.3,#FFFF00:0.6," .. color + } + + -- This timer periodically executes the heavy command while the popup is open. + -- It is stopped when the popup is closed and only the slim command is run then. + -- This greatly improves performance while the popup is closed at the small cost + -- of a slightly longer popup opening time. + local popup_timer = gears.timer { + timeout = timeout + } + + local popup = awful.popup{ + ontop = true, + visible = false, + shape = gears.shape.rounded_rect, + border_width = 1, + border_color = beautiful.bg_normal, + maximum_width = 300, + offset = { y = 5 }, + widget = {} + } + + -- Do not update process rows when mouse cursor is over the widget + popup:connect_signal("mouse::enter", function() is_update = false end) + popup:connect_signal("mouse::leave", function() is_update = true end) + + cpugraph_widget:buttons( + awful.util.table.join( + awful.button({}, 1, function() + if popup.visible then + popup.visible = not popup.visible + -- When the popup is not visible, stop the timer + popup_timer:stop() + else + popup:move_next_to(mouse.current_widget_geometry) + -- Restart the timer, when the popup becomes visible + -- Emit the signal to start the timer directly and not wait the timeout first + popup_timer:start() + popup_timer:emit_signal("timeout") + end + end) + ) + ) + + --- By default graph widget goes from left to right, so we mirror it and push up a bit + cpu_widget = wibox.widget { + { + cpugraph_widget, + reflection = {horizontal = true}, + layout = wibox.container.mirror + }, + bottom = 2, + color = background_color, + widget = wibox.container.margin + } + + -- This part runs constantly, also when the popup is closed. + -- It updates the graph widget in the bar. + local maincpu = {} + watch(CMD_slim, timeout, function(widget, stdout) + + local _, user, nice, system, idle, iowait, irq, softirq, steal, _, _ = + stdout:match('(%w+)%s+(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)') + + local total = user + nice + system + idle + iowait + irq + softirq + steal + + local diff_idle = idle - tonumber(maincpu['idle_prev'] == nil and 0 or maincpu['idle_prev']) + local diff_total = total - tonumber(maincpu['total_prev'] == nil and 0 or maincpu['total_prev']) + local diff_usage = (1000 * (diff_total - diff_idle) / diff_total + 5) / 10 + + maincpu['total_prev'] = total + maincpu['idle_prev'] = idle + + widget:add_value(diff_usage) + end, + cpugraph_widget + ) + + -- This part runs whenever the timer is fired. + -- It therefore only runs when the popup is open. + local cpus = {} + popup_timer:connect_signal('timeout', function() + awful.spawn.easy_async(CMD, function(stdout, _, _, _) + local i = 1 + local j = 1 + for line in stdout:gmatch("[^\r\n]+") do + if starts_with(line, 'cpu') then + + if cpus[i] == nil then cpus[i] = {} end + + local name, user, nice, system, idle, iowait, irq, softirq, steal, _, _ = + line:match('(%w+)%s+(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)') + + local total = user + nice + system + idle + iowait + irq + softirq + steal + + local diff_idle = idle - tonumber(cpus[i]['idle_prev'] == nil and 0 or cpus[i]['idle_prev']) + local diff_total = total - tonumber(cpus[i]['total_prev'] == nil and 0 or cpus[i]['total_prev']) + local diff_usage = (1000 * (diff_total - diff_idle) / diff_total + 5) / 10 + + cpus[i]['total_prev'] = total + cpus[i]['idle_prev'] = idle + + local row = wibox.widget + { + create_textbox{text = name}, + create_textbox{text = math.floor(diff_usage) .. '%'}, + { + max_value = 100, + value = diff_usage, + forced_height = 20, + forced_width = 150, + paddings = 1, + margins = 4, + border_width = 1, + border_color = beautiful.bg_focus, + background_color = beautiful.bg_normal, + bar_border_width = 1, + bar_border_color = beautiful.bg_focus, + color = "linear:150,0:0,0:0,#D08770:0.3,#BF616A:0.6," .. beautiful.fg_normal, + widget = wibox.widget.progressbar, + + }, + layout = wibox.layout.ratio.horizontal + } + row:ajust_ratio(2, 0.15, 0.15, 0.7) + cpu_rows[i] = row + i = i + 1 + else + if is_update == true then + + local columns = split(line, '|') + + local pid = columns[1] + local comm = columns[2] + local cpu = columns[3] + local mem = columns[4] + local cmd = columns[5] + + local kill_proccess_button = enable_kill_button and create_kill_process_button() or nil + + local pid_name_rest = wibox.widget{ + create_textbox{text = pid}, + create_textbox{text = comm}, + { + create_textbox{text = cpu, align = 'center'}, + create_textbox{text = mem, align = 'center'}, + kill_proccess_button, + layout = wibox.layout.fixed.horizontal + }, + layout = wibox.layout.ratio.horizontal + } + pid_name_rest:ajust_ratio(2, 0.2, 0.47, 0.33) + + local row = wibox.widget { + { + pid_name_rest, + top = 4, + bottom = 4, + widget = wibox.container.margin + }, + widget = wibox.container.background + } + + row:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end) + row:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end) + + if enable_kill_button then + row:connect_signal("mouse::enter", function() kill_proccess_button.icon.opacity = 1 end) + row:connect_signal("mouse::leave", function() kill_proccess_button.icon.opacity = 0.1 end) + + kill_proccess_button:buttons( + awful.util.table.join( awful.button({}, 1, function() + row:set_bg('#ff0000') + awful.spawn.with_shell('kill -9 ' .. pid) + end) ) ) + end + + awful.tooltip { + objects = { row }, + mode = 'outside', + preferred_positions = {'bottom'}, + timer_function = function() + local text = cmd + if process_info_max_length > 0 and text:len() > process_info_max_length then + text = text:sub(0, process_info_max_length - 3) .. '...' + end + + return text + :gsub('%s%-', '\n\t-') -- put arguments on a new line + :gsub(':/', '\n\t\t:/') -- java classpath uses : to separate jars + end, + } + + process_rows[j] = row + + j = j + 1 + end + + end + end + popup:setup { + { + cpu_rows, + { + orientation = 'horizontal', + forced_height = 15, + color = beautiful.bg_focus, + widget = wibox.widget.separator + }, + create_process_header{with_action_column = enable_kill_button}, + process_rows, + layout = wibox.layout.fixed.vertical, + }, + margins = 8, + widget = wibox.container.margin + } + end) + end) + + return cpu_widget +end + +return setmetatable(cpu_widget, { __call = function(_, ...) + return worker(...) +end }) diff --git a/awesome/awesome-wm-widgets/cpu-widget/cpu.gif b/awesome/awesome-wm-widgets/cpu-widget/cpu.gif new file mode 100644 index 00000000..cb97262a Binary files /dev/null and b/awesome/awesome-wm-widgets/cpu-widget/cpu.gif differ diff --git a/awesome/awesome-wm-widgets/cpu-widget/custom.png b/awesome/awesome-wm-widgets/cpu-widget/custom.png new file mode 100644 index 00000000..be275e42 Binary files /dev/null and b/awesome/awesome-wm-widgets/cpu-widget/custom.png differ diff --git a/awesome/awesome-wm-widgets/cpu-widget/window-close-symbolic.svg b/awesome/awesome-wm-widgets/cpu-widget/window-close-symbolic.svg new file mode 100644 index 00000000..46ff8888 --- /dev/null +++ b/awesome/awesome-wm-widgets/cpu-widget/window-close-symbolic.svg @@ -0,0 +1,95 @@ + + + + + + + + Gnome Symbolic Icon Theme + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + diff --git a/awesome/awesome-wm-widgets/docker-widget/README.md b/awesome/awesome-wm-widgets/docker-widget/README.md new file mode 100644 index 00000000..01c1fbf6 --- /dev/null +++ b/awesome/awesome-wm-widgets/docker-widget/README.md @@ -0,0 +1,38 @@ +# Docker Widget + +[![GitHub issues by-label](https://img.shields.io/github/issues-raw/streetturtle/awesome-wm-widgets/docker)](https://github.com/streetturtle/awesome-wm-widgets/labels/docker) +![Twitter URL](https://img.shields.io/twitter/url?url=https%3A%2F%2Fgithub.com%2Fstreetturtle%2Fawesome-wm-widgets%2Fedit%2Fmaster%2Fdocker-widget) + +The widget allows to manage docker containers, namely start/stop/pause/unpause: + +

+ +

+ +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `icon` | `./docker-widget/icons/docker.svg` | Path to the icon | +| `number_of_containers` | `-1` | Number of last created containers to show | + +## Installation + +Clone the repo under **~/.config/awesome/** and add widget in **rc.lua**: + +```lua +local docker_widget = require("awesome-wm-widgets.docker-widget.docker") +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + -- default + docker_widget(), + -- customized + docker_widget{ + number_of_containers = 5 + }, +``` diff --git a/awesome/awesome-wm-widgets/docker-widget/docker.gif b/awesome/awesome-wm-widgets/docker-widget/docker.gif new file mode 100644 index 00000000..3b39b5ff Binary files /dev/null and b/awesome/awesome-wm-widgets/docker-widget/docker.gif differ diff --git a/awesome/awesome-wm-widgets/docker-widget/docker.lua b/awesome/awesome-wm-widgets/docker-widget/docker.lua new file mode 100644 index 00000000..f5ce7fac --- /dev/null +++ b/awesome/awesome-wm-widgets/docker-widget/docker.lua @@ -0,0 +1,377 @@ +------------------------------------------------- +-- Docker Widget for Awesome Window Manager +-- Lists containers and allows to manage them +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/docker-widget + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local wibox = require("wibox") +local spawn = require("awful.spawn") +local naughty = require("naughty") +local gears = require("gears") +local beautiful = require("beautiful") + +local HOME_DIR = os.getenv("HOME") +local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/docker-widget' +local ICONS_DIR = WIDGET_DIR .. '/icons/' + +local LIST_CONTAINERS_CMD = [[bash -c "docker container ls -a -s -n %s]] + .. [[ --format '{{.Names}}::{{.ID}}::{{.Image}}::{{.Status}}::{{.Size}}'"]] + +--- Utility function to show warning messages +local function show_warning(message) + naughty.notify{ + preset = naughty.config.presets.critical, + title = 'Docker Widget', + text = message} +end + +local popup = awful.popup{ + ontop = true, + visible = false, + shape = gears.shape.rounded_rect, + border_width = 1, + border_color = beautiful.bg_focus, + maximum_width = 400, + offset = { y = 5 }, + widget = {} +} + +local docker_widget = wibox.widget { + { + { + id = 'icon', + widget = wibox.widget.imagebox + }, + margins = 4, + layout = wibox.container.margin + }, + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 4) + end, + widget = wibox.container.background, + set_icon = function(self, new_icon) + self:get_children_by_id("icon")[1].image = new_icon + end +} + +local parse_container = function(line) + local name, id, image, status, how_long, size = line:match('(.*)::(.*)::(.*)::(%w*) (.*)::(.*)') + local actual_status + if status == 'Up' and how_long:find('Paused') then actual_status = 'Paused' + else actual_status = status end + + how_long = how_long:gsub('%s?%(.*%)%s?', '') + + local container = { + name = name, + id = id, + image = image, + status = actual_status, + how_long = how_long, + size = size, + is_up = function() return status == 'Up' end, + is_paused = function() return actual_status:find('Paused') end, + is_exited = function() return status == 'Exited' end + } + return container +end + +local status_to_icon_name = { + Up = ICONS_DIR .. 'play.svg', + Exited = ICONS_DIR .. 'square.svg', + Paused = ICONS_DIR .. 'pause.svg' +} + +local function worker(user_args) + + local args = user_args or {} + + local icon = args.icon or ICONS_DIR .. 'docker.svg' + local number_of_containers = args.number_of_containers or -1 + + docker_widget:set_icon(icon) + + local rows = { + { widget = wibox.widget.textbox }, + layout = wibox.layout.fixed.vertical, + } + + local function rebuild_widget(containers, errors, _, _) + if errors ~= '' then + show_warning(errors) + return + end + + for i = 0, #rows do rows[i]=nil end + + for line in containers:gmatch("[^\r\n]+") do + + local container = parse_container(line) + + + local status_icon = wibox.widget { + image = status_to_icon_name[container['status']], + resize = false, + widget = wibox.widget.imagebox + } + + + local start_stop_button + if container.is_up() or container.is_exited() then + start_stop_button = wibox.widget { + { + { + id = 'icon', + image = ICONS_DIR .. (container:is_up() and 'stop-btn.svg' or 'play-btn.svg'), + opacity = 0.4, + resize = false, + widget = wibox.widget.imagebox + }, + left = 2, + right = 2, + layout = wibox.container.margin + }, + shape = gears.shape.circle, + bg = '#00000000', + widget = wibox.container.background + } + local old_cursor, old_wibox + start_stop_button:connect_signal("mouse::enter", function(c) + c:set_bg('#3B4252') + + local wb = mouse.current_wibox + old_cursor, old_wibox = wb.cursor, wb + wb.cursor = "hand1" + c:get_children_by_id("icon")[1]:set_opacity(1) + c:get_children_by_id("icon")[1]:emit_signal('widget::redraw_needed') end) + start_stop_button:connect_signal("mouse::leave", function(c) + c:set_bg('#00000000') + if old_wibox then + old_wibox.cursor = old_cursor + old_wibox = nil + end + c:get_children_by_id("icon")[1]:set_opacity(0.4) + c:get_children_by_id("icon")[1]:emit_signal('widget::redraw_needed') + end) + + start_stop_button:buttons( + gears.table.join( awful.button({}, 1, function() + local command + if container:is_up() then command = 'stop' else command = 'start' end + + status_icon:set_opacity(0.2) + status_icon:emit_signal('widget::redraw_needed') + + spawn.easy_async('docker ' .. command .. ' ' .. container['name'], function() + if errors ~= '' then show_warning(errors) end + spawn.easy_async(string.format(LIST_CONTAINERS_CMD, number_of_containers), + function(stdout, stderr) + rebuild_widget(stdout, stderr) + end) + end) + end) ) ) + else + start_stop_button = nil + end + + + local pause_unpause_button + if container.is_up() then + pause_unpause_button = wibox.widget { + { + { + id = 'icon', + image = ICONS_DIR .. (container:is_paused() and 'unpause-btn.svg' or 'pause-btn.svg'), + opacity = 0.4, + resize = false, + widget = wibox.widget.imagebox + }, + left = 2, + right = 2, + layout = wibox.container.margin + }, + shape = gears.shape.circle, + bg = '#00000000', + widget = wibox.container.background + } + local old_cursor, old_wibox + pause_unpause_button:connect_signal("mouse::enter", function(c) + c:set_bg('#3B4252') + local wb = mouse.current_wibox + old_cursor, old_wibox = wb.cursor, wb + wb.cursor = "hand1" + c:get_children_by_id("icon")[1]:set_opacity(1) + c:get_children_by_id("icon")[1]:emit_signal('widget::redraw_needed') + end) + pause_unpause_button:connect_signal("mouse::leave", function(c) + c:set_bg('#00000000') + if old_wibox then + old_wibox.cursor = old_cursor + old_wibox = nil + end + c:get_children_by_id("icon")[1]:set_opacity(0.4) + c:get_children_by_id("icon")[1]:emit_signal('widget::redraw_needed') + end) + + pause_unpause_button:buttons( + gears.table.join( awful.button({}, 1, function() + local command + if container:is_paused() then command = 'unpause' else command = 'pause' end + + status_icon:set_opacity(0.2) + status_icon:emit_signal('widget::redraw_needed') + + awful.spawn.easy_async('docker ' .. command .. ' ' .. container['name'], function(_, stderr) + if stderr ~= '' then show_warning(stderr) end + spawn.easy_async(string.format(LIST_CONTAINERS_CMD, number_of_containers), + function(stdout, container_errors) + rebuild_widget(stdout, container_errors) + end) + end) + end) ) ) + else + pause_unpause_button = nil + end + + local delete_button + if not container.is_up() then + delete_button = wibox.widget { + { + { + id = 'icon', + image = ICONS_DIR .. 'trash-btn.svg', + opacity = 0.4, + resize = false, + widget = wibox.widget.imagebox + }, + margins = 4, + layout = wibox.container.margin + }, + shape = gears.shape.circle, + bg = '#00000000', + widget = wibox.container.background + } + delete_button:buttons( + gears.table.join( awful.button({}, 1, function() + awful.spawn.easy_async('docker rm ' .. container['name'], function(_, rm_stderr) + if rm_stderr ~= '' then show_warning(rm_stderr) end + spawn.easy_async(string.format(LIST_CONTAINERS_CMD, number_of_containers), + function(lc_stdout, lc_stderr) + rebuild_widget(lc_stdout, lc_stderr) end) + end) + end))) + + local old_cursor, old_wibox + delete_button:connect_signal("mouse::enter", function(c) + c:set_bg('#3B4252') + local wb = mouse.current_wibox + old_cursor, old_wibox = wb.cursor, wb + wb.cursor = "hand1" + c:get_children_by_id("icon")[1]:set_opacity(1) + c:get_children_by_id("icon")[1]:emit_signal('widget::redraw_needed') + end) + delete_button:connect_signal("mouse::leave", function(c) + c:set_bg('#00000000') + if old_wibox then + old_wibox.cursor = old_cursor + old_wibox = nil + end + c:get_children_by_id("icon")[1]:set_opacity(0.4) + c:get_children_by_id("icon")[1]:emit_signal('widget::redraw_needed') + end) + else + delete_button = nil + end + + + local row = wibox.widget { + { + { + { + { + status_icon, + margins = 8, + layout = wibox.container.margin + }, + valign = 'center', + layout = wibox.container.place + }, + { + { + { + markup = '' .. container['name'] .. '', + widget = wibox.widget.textbox + }, + { + text = container['size'], + widget = wibox.widget.textbox + }, + { + text = container['how_long'], + widget = wibox.widget.textbox + }, + forced_width = 180, + layout = wibox.layout.fixed.vertical + }, + valign = 'center', + layout = wibox.container.place + }, + { + { + start_stop_button, + pause_unpause_button, + delete_button, + layout = wibox.layout.align.horizontal + }, + forced_width = 90, + valign = 'center', + haligh = 'center', + layout = wibox.container.place, + }, + spacing = 8, + layout = wibox.layout.align.horizontal + }, + margins = 8, + layout = wibox.container.margin + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + } + + + row:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end) + row:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end) + + table.insert(rows, row) + end + + popup:setup(rows) + end + + docker_widget:buttons( + gears.table.join( + awful.button({}, 1, function() + if popup.visible then + docker_widget:set_bg('#00000000') + popup.visible = not popup.visible + else + docker_widget:set_bg(beautiful.bg_focus) + spawn.easy_async(string.format(LIST_CONTAINERS_CMD, number_of_containers), + function(stdout, stderr) + rebuild_widget(stdout, stderr) + popup:move_next_to(mouse.current_widget_geometry) + end) + end + end) + ) + ) + + return docker_widget +end + +return setmetatable(docker_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/docker-widget/icons/docker.svg b/awesome/awesome-wm-widgets/docker-widget/icons/docker.svg new file mode 100644 index 00000000..468ce94a --- /dev/null +++ b/awesome/awesome-wm-widgets/docker-widget/icons/docker.svg @@ -0,0 +1 @@ +Docker icon diff --git a/awesome/awesome-wm-widgets/docker-widget/icons/pause-btn.svg b/awesome/awesome-wm-widgets/docker-widget/icons/pause-btn.svg new file mode 100644 index 00000000..ac2900bc --- /dev/null +++ b/awesome/awesome-wm-widgets/docker-widget/icons/pause-btn.svg @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/docker-widget/icons/pause.svg b/awesome/awesome-wm-widgets/docker-widget/icons/pause.svg new file mode 100644 index 00000000..33f1ad22 --- /dev/null +++ b/awesome/awesome-wm-widgets/docker-widget/icons/pause.svg @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/docker-widget/icons/play-btn.svg b/awesome/awesome-wm-widgets/docker-widget/icons/play-btn.svg new file mode 100644 index 00000000..573ae7e4 --- /dev/null +++ b/awesome/awesome-wm-widgets/docker-widget/icons/play-btn.svg @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/docker-widget/icons/play-btn.svg- b/awesome/awesome-wm-widgets/docker-widget/icons/play-btn.svg- new file mode 100644 index 00000000..455a61d9 --- /dev/null +++ b/awesome/awesome-wm-widgets/docker-widget/icons/play-btn.svg- @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/docker-widget/icons/play.svg b/awesome/awesome-wm-widgets/docker-widget/icons/play.svg new file mode 100644 index 00000000..4f0ee04e --- /dev/null +++ b/awesome/awesome-wm-widgets/docker-widget/icons/play.svg @@ -0,0 +1,15 @@ + + + + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/docker-widget/icons/square.svg b/awesome/awesome-wm-widgets/docker-widget/icons/square.svg new file mode 100644 index 00000000..d8424d13 --- /dev/null +++ b/awesome/awesome-wm-widgets/docker-widget/icons/square.svg @@ -0,0 +1,15 @@ + + + + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/docker-widget/icons/stop-btn.svg b/awesome/awesome-wm-widgets/docker-widget/icons/stop-btn.svg new file mode 100644 index 00000000..f676d014 --- /dev/null +++ b/awesome/awesome-wm-widgets/docker-widget/icons/stop-btn.svg @@ -0,0 +1,10 @@ + + + + diff --git a/awesome/awesome-wm-widgets/docker-widget/icons/trash-btn.svg b/awesome/awesome-wm-widgets/docker-widget/icons/trash-btn.svg new file mode 100644 index 00000000..78d80351 --- /dev/null +++ b/awesome/awesome-wm-widgets/docker-widget/icons/trash-btn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/docker-widget/icons/unpause-btn.svg b/awesome/awesome-wm-widgets/docker-widget/icons/unpause-btn.svg new file mode 100644 index 00000000..db5b25f1 --- /dev/null +++ b/awesome/awesome-wm-widgets/docker-widget/icons/unpause-btn.svg @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/email-widget/README.md b/awesome/awesome-wm-widgets/email-widget/README.md new file mode 100644 index 00000000..510792d9 --- /dev/null +++ b/awesome/awesome-wm-widgets/email-widget/README.md @@ -0,0 +1,36 @@ +# Email widget + +This widget consists of an icon with counter which shows number of unread emails: ![email icon](./em-wid-1.png) +and a popup message which appears when mouse hovers over an icon: ![email popup](./em-wid-2.png) + +Note that widget uses the Arc icon theme, so it should be [installed](https://github.com/horst3180/arc-icon-theme#installation) first under **/usr/share/icons/Arc/** folder. + +## Installation + +To install it put **email.lua** and **email-widget** folder under **~/.config/awesome**. Then + + - in **email.lua** change path to python scripts; + - in python scripts add your credentials (note that password should be encrypted using pgp for example); + - add widget to awesome: + +```lua +local email_widget, email_icon = require("email") + +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + email_icon, + email_widget, + ... +``` + +## How it works + +This widget uses the output of two python scripts, first is called every 20 seconds - it returns number of unread emails and second is called when mouse hovers over an icon and displays content of those emails. For both of them you'll need to provide your credentials and imap server. For testing, they can simply be called from console: + +``` bash +python ~/.config/awesome/email/count_unread_emails.py +python ~/.config/awesome/email/read_emails.py +``` diff --git a/awesome/awesome-wm-widgets/email-widget/count_unread_emails.py b/awesome/awesome-wm-widgets/email-widget/count_unread_emails.py new file mode 100644 index 00000000..a8438141 --- /dev/null +++ b/awesome/awesome-wm-widgets/email-widget/count_unread_emails.py @@ -0,0 +1,16 @@ +#!/usr/bin/python + +import imaplib +import re + +M=imaplib.IMAP4_SSL("mail.teenagemutantninjaturtles.com", 993) +M.login("mickey@tmnt.com","cowabunga") + +status, counts = M.status("INBOX","(MESSAGES UNSEEN)") + +if status == "OK": + unread = re.search(r'UNSEEN\s(\d+)', counts[0].decode('utf-8')).group(1) +else: + unread = "N/A" + +print(unread) diff --git a/awesome/awesome-wm-widgets/email-widget/em-wid-1.png b/awesome/awesome-wm-widgets/email-widget/em-wid-1.png new file mode 100644 index 00000000..5290ea8e Binary files /dev/null and b/awesome/awesome-wm-widgets/email-widget/em-wid-1.png differ diff --git a/awesome/awesome-wm-widgets/email-widget/em-wid-2.png b/awesome/awesome-wm-widgets/email-widget/em-wid-2.png new file mode 100644 index 00000000..0a0fd3a4 Binary files /dev/null and b/awesome/awesome-wm-widgets/email-widget/em-wid-2.png differ diff --git a/awesome/awesome-wm-widgets/email-widget/email.lua b/awesome/awesome-wm-widgets/email-widget/email.lua new file mode 100644 index 00000000..df80678b --- /dev/null +++ b/awesome/awesome-wm-widgets/email-widget/email.lua @@ -0,0 +1,44 @@ +local wibox = require("wibox") +local awful = require("awful") +local naughty = require("naughty") +local watch = require("awful.widget.watch") + +local path_to_icons = "/usr/share/icons/Arc/actions/22/" + +local email_widget = wibox.widget.textbox() +email_widget:set_font('Play 9') + +local email_icon = wibox.widget.imagebox() +email_icon:set_image(path_to_icons .. "/mail-mark-new.png") + +watch( + "python /home//.config/awesome/email-widget/count_unread_emails.py", 20, + function(_, stdout) + local unread_emails_num = tonumber(stdout) or 0 + if (unread_emails_num > 0) then + email_icon:set_image(path_to_icons .. "/mail-mark-unread.png") + email_widget:set_text(stdout) + elseif (unread_emails_num == 0) then + email_icon:set_image(path_to_icons .. "/mail-message-new.png") + email_widget:set_text("") + end + end +) + + +local function show_emails() + awful.spawn.easy_async([[bash -c 'python /home//.config/awesome/email-widget/read_unread_emails.py']], + function(stdout) + naughty.notify{ + text = stdout, + title = "Unread Emails", + timeout = 5, hover_timeout = 0.5, + width = 400, + } + end + ) +end + +email_icon:connect_signal("mouse::enter", function() show_emails() end) + +return email_widget, email_icon diff --git a/awesome/awesome-wm-widgets/email-widget/read_unread_emails.py b/awesome/awesome-wm-widgets/email-widget/read_unread_emails.py new file mode 100644 index 00000000..fda81881 --- /dev/null +++ b/awesome/awesome-wm-widgets/email-widget/read_unread_emails.py @@ -0,0 +1,44 @@ +#!/usr/bin/python + +import imaplib +import email +import datetime + +def process_mailbox(M): + rv, data = M.search(None, "(UNSEEN)") + if rv != 'OK': + print "No messages found!" + return + + for num in data[0].split(): + rv, data = M.fetch(num, '(BODY.PEEK[])') + if rv != 'OK': + print "ERROR getting message", num + return + msg = email.message_from_bytes(data[0][1]) + for header in [ 'From', 'Subject', 'Date' ]: + hdr = email.header.make_header(email.header.decode_header(msg[header])) + if header == 'Date': + date_tuple = email.utils.parsedate_tz(str(hdr)) + if date_tuple: + local_date = datetime.datetime.fromtimestamp(email.utils.mktime_tz(date_tuple)) + print("{}: {}".format(header, local_date.strftime("%a, %d %b %Y %H:%M:%S"))) + else: + print('{}: {}'.format(header, hdr)) + # with code below you can process text of email + # if msg.is_multipart(): + # for payload in msg.get_payload(): + # if payload.get_content_maintype() == 'text': + # print payload.get_payload() + # else: + # print msg.get_payload() + + +M=imaplib.IMAP4_SSL("mail.teenagemutantninjaturtles.com", 993) +M.login("mickey@tmnt.com","cowabunga") + +rv, data = M.select("INBOX") +if rv == 'OK': + process_mailbox(M) +M.close() +M.logout() diff --git a/awesome/awesome-wm-widgets/experiments/spotify-player/README.md b/awesome/awesome-wm-widgets/experiments/spotify-player/README.md new file mode 100644 index 00000000..b19d5acd --- /dev/null +++ b/awesome/awesome-wm-widgets/experiments/spotify-player/README.md @@ -0,0 +1,5 @@ +# Spotify Player + +In progress + +![spotify-player](./spotify-player.png) \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/experiments/spotify-player/spotify-indicator.svg b/awesome/awesome-wm-widgets/experiments/spotify-player/spotify-indicator.svg new file mode 100644 index 00000000..0b96c0a9 --- /dev/null +++ b/awesome/awesome-wm-widgets/experiments/spotify-player/spotify-indicator.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/awesome/awesome-wm-widgets/experiments/spotify-player/spotify-player.lua b/awesome/awesome-wm-widgets/experiments/spotify-player/spotify-player.lua new file mode 100644 index 00000000..981978bb --- /dev/null +++ b/awesome/awesome-wm-widgets/experiments/spotify-player/spotify-player.lua @@ -0,0 +1,192 @@ +------------------------------------------------- +-- Spotify Player Widget for Awesome Window Manager +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/spotify-player + +-- @author Pavel Makhov +-- @copyright 2021 Pavel Makhov +------------------------------------------------- +--luacheck:ignore +local awful = require("awful") +local wibox = require("wibox") +local watch = require("awful.widget.watch") +local spawn = require("awful.spawn") +local naughty = require("naughty") +local gears = require("gears") +local beautiful = require("beautiful") +local gfs = require("gears.filesystem") +local gs = require("gears.string") +local awesomebuttons = require("awesome-buttons.awesome-buttons") + +local HOME_DIR = os.getenv("HOME") +local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/experiments/spotify-player/' +local ICON_DIR = WIDGET_DIR + +local spotify_player = {} + +local function show_warning(message) + naughty.notify{ + preset = naughty.config.presets.critical, + title = 'Spotify Player Widget', + text = message} +end + +local function worker(user_args) + + local args = user_args or {} + local artwork_size = args.artwork_size or 300 + + local timeout = args.timeout or 1 + + local popup = awful.popup{ + ontop = true, + bg = beautiful.bg_normal .. '88', + visible = false, + shape = gears.shape.rounded_rect, + border_width = 1, + border_color = beautiful.bg_focus, + width = artwork_size, + maximum_width = 300, + offset = { y = 5 }, + widget = {} + } + + local rows = { + expand = 'none', + layout = wibox.layout.align.vertical, + } + + spotify_player.widget = wibox.widget { + image = ICON_DIR .. 'spotify-indicator.svg', + widget = wibox.widget.imagebox + } + + local artwork_widget = wibox.widget { + forced_height = artwork_size, + forced_width = artwork_size, + widget = wibox.widget.imagebox + } + + local artist_w = wibox.widget { + align = 'center', + widget = wibox.widget.textbox, + set_artist = function(self, artist) + self:set_markup('' .. artist .. '') + end + } + + local title_w = wibox.widget { + align = 'center', + forced_height = 30, + widget = wibox.widget.textbox, + set_title = function(self, title) + self:set_markup('' .. title .. '') + end + } + + local play_pause_btn = awesomebuttons.with_icon{ type = 'outline', icon = 'play', icon_size = 32, icon_margin = 8, color = '#1DB954', shape = 'circle', onclick = function() + spawn.with_shell('sp play') + end} + + local buttons_w = wibox.widget { + { + awesomebuttons.with_icon{ icon = 'rewind', icon_size = 32, icon_margin = 8, color = '#18800000', shape = 'circle', onclick = function() + spawn.with_shell('sp prev') + end}, + play_pause_btn, + awesomebuttons.with_icon{ icon = 'fast-forward', icon_size = 32, icon_margin = 8, color = '#18800000', shape = 'circle', onclick = function() + spawn.with_shell('sp next') + end}, + spacing = 16, + layout = wibox.layout.fixed.horizontal + }, + halign = 'center', + layout = wibox.container.place, + } + + local some_w = wibox.widget { + artwork_widget, + { + { + { + { + title_w, + artist_w, + buttons_w, + layout = wibox.layout.fixed.vertical + }, + top = 8, + bottom = 8, + widget = wibox.container.margin + }, + bg = '#33333388', + widget = wibox.container.background + }, + valign = 'bottom', + content_fill_horizontal = true, + layout = wibox.container.place, + }, + layout = wibox.layout.stack + } + + popup:setup({ + some_w, + layout = wibox.layout.fixed.vertical, + }) + + local update_widget = function(widget, stdout, stderr, _, _) + for i = 0, #rows do rows[i]=nil end + + if string.find(stdout, 'Error: Spotify is not running.') ~= nil then + return + end + + local track_id, length, art_url, album, album_artist, artist, auto_rating, disc_number, title, track_number, url = + string.match(stdout, 'trackid|(.*)\nlength|(.*)\nartUrl|(.*)\nalbum|(.*)\nalbumArtist|(.*)\nartist|(.*)\nautoRating|(.*)\ndiscNumber|(.*)\ntitle|(.*)\ntrackNumber|(.*)\nurl|(.*)') + + title = string.gsub(title, "&", '&') + artist_w:set_artist(artist) + title_w:set_title(title) + + -- spotify client bug: https://community.spotify.com/t5/Desktop-Linux/MPRIS-cover-art-url-file-not-found/td-p/4920104 + art_url = art_url:gsub('https://open.spotify.com', 'https://i.scdn.co') + if ((art_url ~= nil or art_url ~='') and not gfs.file_readable('/tmp/' .. track_id)) then + spawn.easy_async('touch /tmp/' .. track_id, function() + spawn.easy_async('curl -L -s --show-error --create-dirs -o /tmp/' .. track_id .. ' '.. art_url, function(stdout, stderr) + if stderr ~= '' then + show_warning(stderr) + return + end + artwork_widget:set_image('/tmp/' .. track_id) + end) + end) + else + artwork_widget:set_image('/tmp/' .. track_id) + end + end + + function spotify_player:tog() + if popup.visible then + popup.visible = not popup.visible + else + popup:move_next_to(mouse.current_widget_geometry) + end + end + + spotify_player.widget:buttons( + awful.util.table.join( + awful.button({}, 1, function() spotify_player:tog() end) + ) + ) + + watch('sp metadata', timeout, update_widget) + + watch('sp status', 1, function(_, stdout) + stdout = string.gsub(stdout, "\n", "") + play_pause_btn:set_icon(stdout == 'Playing' and 'pause' or 'play') + end) + + return spotify_player +end + +return setmetatable(spotify_player, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/experiments/spotify-player/spotify-player.png b/awesome/awesome-wm-widgets/experiments/spotify-player/spotify-player.png new file mode 100644 index 00000000..7bfecfc8 Binary files /dev/null and b/awesome/awesome-wm-widgets/experiments/spotify-player/spotify-player.png differ diff --git a/awesome/awesome-wm-widgets/fs-widget/README.md b/awesome/awesome-wm-widgets/fs-widget/README.md new file mode 100644 index 00000000..4657e9ee --- /dev/null +++ b/awesome/awesome-wm-widgets/fs-widget/README.md @@ -0,0 +1,29 @@ +# Filesystem Widget + +This widget shows file system disk space usage which is based on the `df` output. When clicked another widget appears with more detailed information. By default, it monitors the "/" mount. It can be configured with a list of mounts to monitor though only the first will show in the wibar. To have multiple mounts displayed on the wibar simply define multiple `fs_widgets` with different mounts as arguments. + +![](./screenshot.png) + +## Customizations + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `mounts` | `{'/'}` | Table with mounts to monitor, check the output from a `df` command for available options (column 'Mounted on') | +| `timeout` | 60 | How often in seconds the widget refreshes | + +## Installation + +Clone/download repo and use the widget in **rc.lua**: + +```lua + local fs_widget = require("awesome-wm-widgets.fs-widget.fs-widget") + ... + s.mywibox:setup { + s.mytasklist, -- Middle widget + { -- Right widgets + fs_widget(), --default + fs_widget({ mounts = { '/', '/mnt/music' } }), -- multiple mounts + ... +``` diff --git a/awesome/awesome-wm-widgets/fs-widget/fs-widget.lua b/awesome/awesome-wm-widgets/fs-widget/fs-widget.lua new file mode 100644 index 00000000..ca76193a --- /dev/null +++ b/awesome/awesome-wm-widgets/fs-widget/fs-widget.lua @@ -0,0 +1,190 @@ +local awful = require("awful") +local watch = require("awful.widget.watch") +local wibox = require("wibox") +local beautiful = require("beautiful") +local gears = require("gears") + +local storage_bar_widget = {} + +--- Table with widget configuration, consists of three sections: +--- - general - general configuration +--- - widget - configuration of the widget displayed on the wibar +--- - popup - configuration of the popup +local config = {} + +-- general +config.mounts = { '/' } +config.refresh_rate = 60 + +-- wibar widget +config.widget_width = 40 +config.widget_bar_color = '#aaaaaa' +config.widget_onclick_bg = '#ff0000' +config.widget_border_color = '#535d6c66' +config.widget_background_color = '#22222233' + +-- popup +config.popup_bg = '#22222233' +config.popup_border_width = 1 +config.popup_border_color = '#535d6c66' +config.popup_bar_color = '#aaaaaa' +config.popup_bar_background_color = '#22222233' +config.popup_bar_border_color = '#535d6c66' + +local function worker(user_args) + local args = user_args or {} + + -- Setup config for the widget instance. + -- The `_config` table will keep the first existing value after checking + -- in this order: user parameter > beautiful > module default. + local _config = {} + for prop, value in pairs(config) do + _config[prop] = args[prop] or beautiful[prop] or value + end + + storage_bar_widget = wibox.widget { + { + id = 'progressbar', + color = _config.widget_bar_color, + max_value = 100, + forced_height = 20, + forced_width = _config.widget_width, + paddings = 2, + margins = 4, + border_width = 1, + border_radius = 2, + border_color = _config.widget_border_color, + background_color = _config.widget_background_color, + widget = wibox.widget.progressbar + }, + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 4) + end, + widget = wibox.container.background, + set_value = function(self, new_value) + self:get_children_by_id("progressbar")[1].value = new_value + end + } + + local disk_rows = { + { widget = wibox.widget.textbox }, + spacing = 4, + layout = wibox.layout.fixed.vertical, + } + + local disk_header = wibox.widget { + { + markup = 'Mount', + forced_width = 150, + align = 'left', + widget = wibox.widget.textbox, + }, + { + markup = 'Used', + align = 'left', + widget = wibox.widget.textbox, + }, + layout = wibox.layout.ratio.horizontal + } + disk_header:ajust_ratio(1, 0, 0.3, 0.7) + + local popup = awful.popup { + bg = _config.popup_bg, + ontop = true, + visible = false, + shape = gears.shape.rounded_rect, + border_width = _config.popup_border_width, + border_color = _config.popup_border_color, + maximum_width = 400, + offset = { y = 5 }, + widget = {} + } + + storage_bar_widget:buttons( + awful.util.table.join( + awful.button({}, 1, function() + if popup.visible then + popup.visible = not popup.visible + storage_bar_widget:set_bg('#00000000') + else + storage_bar_widget:set_bg(_config.widget_background_color) + popup:move_next_to(mouse.current_widget_geometry) + end + end) + ) + ) + + local disks = {} + watch([[bash -c "df | tail -n +2"]], _config.refresh_rate, + function(widget, stdout) + for line in stdout:gmatch("[^\r\n$]+") do + local filesystem, size, used, avail, perc, mount = + line:match('([%p%w]+)%s+([%d%w]+)%s+([%d%w]+)%s+([%d%w]+)%s+([%d]+)%%%s+([%p%w]+)') + + disks[mount] = {} + disks[mount].filesystem = filesystem + disks[mount].size = size + disks[mount].used = used + disks[mount].avail = avail + disks[mount].perc = perc + disks[mount].mount = mount + + if disks[mount].mount == _config.mounts[1] then + widget:set_value(tonumber(disks[mount].perc)) + end + end + + for k, v in ipairs(_config.mounts) do + + local row = wibox.widget { + { + text = disks[v].mount, + forced_width = 150, + widget = wibox.widget.textbox + }, + { + color = _config.popup_bar_color, + max_value = 100, + value = tonumber(disks[v].perc), + forced_height = 20, + paddings = 1, + margins = 4, + border_width = 1, + border_color = _config.popup_bar_border_color, + background_color = _config.popup_bar_background_color, + bar_border_width = 1, + bar_border_color = _config.popup_bar_border_color, + widget = wibox.widget.progressbar, + }, + { + text = math.floor(disks[v].used / 1024 / 1024) + .. '/' + .. math.floor(disks[v].size / 1024 / 1024) .. 'GB(' + .. math.floor(disks[v].perc) .. '%)', + widget = wibox.widget.textbox + }, + layout = wibox.layout.ratio.horizontal + } + row:ajust_ratio(2, 0.3, 0.3, 0.4) + + disk_rows[k] = row + end + popup:setup { + { + disk_header, + disk_rows, + layout = wibox.layout.fixed.vertical, + }, + margins = 8, + widget = wibox.container.margin + } + end, + storage_bar_widget + ) + + return storage_bar_widget +end + +return setmetatable(storage_bar_widget, { __call = function(_, ...) + return worker(...) +end }) diff --git a/awesome/awesome-wm-widgets/fs-widget/screenshot.png b/awesome/awesome-wm-widgets/fs-widget/screenshot.png new file mode 100644 index 00000000..41e6ccc1 Binary files /dev/null and b/awesome/awesome-wm-widgets/fs-widget/screenshot.png differ diff --git a/awesome/awesome-wm-widgets/gerrit-widget/README.md b/awesome/awesome-wm-widgets/gerrit-widget/README.md new file mode 100644 index 00000000..62c89a1e --- /dev/null +++ b/awesome/awesome-wm-widgets/gerrit-widget/README.md @@ -0,0 +1,77 @@ +# Gerrit widget + +It shows number of currently assigned reviews in [Gerrit](https://www.gerritcodereview.com/) to the user (by default) : + + ![gerrit_widget](./gerrit_widget.png) + + when clicked it shows reviews in a list: + + ![popup](./popup.png) + + left click on an item will open review in the default browser, right click will copy the review number, which you can use to checkout this review by running `git-review -d `. + + Also, if a new review is assigned to the user, there will be a pop-up: + + ![new_review](./new_review.png) + +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `icon`| `/.config/awesome/awesome-wm-widgets/gerrit-widget/gerrit_icon.svg`| Path to the icon | +| `host` | Required | Ex https://gerrit.tmnt.com | +| `query` | `is:reviewer AND status:open AND NOT is:wip` | Query to retrieve reviews | +| `timeout` | 10 | How often in seconds the widget refreshes | + +## Prerequisite + + - [curl](https://curl.haxx.se/) - is used to communicate with gerrit's [REST API](https://gerrit-review.googlesource.com/Documentation/rest-api.html) + - setup [netrc](https://ec.haxx.se/usingcurl-netrc.html) which is used to store username and password in order to call API's endpoints. + +## Installation + +1. This widget relies on Gerrit [REST API](https://gerrit-review.googlesource.com/Documentation/rest-api.html), so you need to have a permission to access it. You also need to setup [netrc](https://ec.haxx.se/usingcurl-netrc.html), as widget uses curl to communicate with API and you have to be authenticated. +To test if you have access to API and netrc setup is correct run following command, you should have a json response: + + ```bash + curl -s --request GET --netrc https://gerrit-host.com/a/changes/\?q\=status:open+AND+NOT+is:wip+AND+is:reviewer | tail -n +2 + ``` + Note: `tail -n +2` is needed to skip first line of the response, as gerrit returns some characters there in order to prevent XSS hacks. + +1. Download json parser for lua from [github.com/rxi/json.lua](https://github.com/rxi/json.lua) and place it under **~/.config/awesome/** (don't forget to star a repo): + + ```bash + wget -P ~/.config/awesome/ https://raw.githubusercontent.com/rxi/json.lua/master/json.lua + ``` + +1. Clone this repo (if not cloned yet) under **~/.config/awesome/**: + + ```bash + git clone https://github.com/streetturtle/awesome-wm-widgets.git ~/.config/awesome/ + ``` + +1. Require widget at the top of the **rc.lua**: + + ```lua + local gerrit_widget = require("awesome-wm-widgets.gerrit-widget.gerrit") + ``` + +1. Add widget to the tasklist: + + ```lua + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + --default + gerrit_widget({host = 'https://gerrit.tmnt.com'}), + --customized + gerrit_widget({ + host = 'https://gerrit.tmnt.com', + query = 'is:reviewer AND is:wip' + }) + ... + ``` + diff --git a/awesome/awesome-wm-widgets/gerrit-widget/gerrit.lua b/awesome/awesome-wm-widgets/gerrit-widget/gerrit.lua new file mode 100644 index 00000000..682eb0f7 --- /dev/null +++ b/awesome/awesome-wm-widgets/gerrit-widget/gerrit.lua @@ -0,0 +1,230 @@ +------------------------------------------------- +-- Gerrit Widget for Awesome Window Manager +-- Shows the number of currently assigned reviews +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/gerrit-widget + +-- @author Pavel Makhov +-- @copyright 2019 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local wibox = require("wibox") +local watch = require("awful.widget.watch") +local json = require("json") +local spawn = require("awful.spawn") +local naughty = require("naughty") +local gears = require("gears") +local beautiful = require("beautiful") +local gfs = require("gears.filesystem") + +local HOME_DIR = os.getenv("HOME") +local PATH_TO_AVATARS = HOME_DIR .. '/.cache/awmw/gerrit-widget/avatars/' + +local GET_CHANGES_CMD = [[bash -c "curl -s -X GET -n %s/a/changes/\\?q\\=%s | tail -n +2"]] +local GET_USER_CMD = [[bash -c "curl -s -X GET -n %s/accounts/%s/ | tail -n +2"]] +local DOWNLOAD_AVATAR_CMD = [[bash -c "curl --create-dirs -o %s %s"]] + +local gerrit_widget = {} + +local function worker(user_args) + + local args = user_args or {} + + local icon = args.icons or HOME_DIR .. '/.config/awesome/awesome-wm-widgets/gerrit-widget/gerrit_icon.svg' + local host = args.host or naughty.notify{ + preset = naughty.config.presets.critical, + title = 'Gerrit Widget', + text = 'Gerrit host is unknown' + } + local query = args.query or 'is:reviewer AND status:open AND NOT is:wip' + local timeout = args.timeout or 10 + + local current_number_of_reviews + local previous_number_of_reviews = 0 + local name_dict = {} + + local rows = { + { widget = wibox.widget.textbox }, + layout = wibox.layout.fixed.vertical, + } + + local popup = awful.popup{ + ontop = true, + visible = false, + shape = gears.shape.rounded_rect, + border_width = 1, + border_color = beautiful.bg_focus, + maximum_width = 400, + offset = { y = 5 }, + widget = {} + } + + gerrit_widget = wibox.widget { + { + { + image = icon, + widget = wibox.widget.imagebox + }, + margins = 4, + layout = wibox.container.margin + }, + { + id = "txt", + widget = wibox.widget.textbox + }, + { + id = "new_rev", + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.horizontal, + set_text = function(self, new_value) + self.txt.text = new_value + end, + set_unseen_review = function(self, is_new_review) + self.new_rev.text = is_new_review and '*' or '' + end + } + + local function get_name_by_user_id(user_id) + if name_dict[user_id] == nil then + name_dict[user_id] = {} + end + + if name_dict[user_id].username == nil then + name_dict[user_id].username = '' + spawn.easy_async(string.format(GET_USER_CMD, host, user_id), function(stdout) + local user = json.decode(stdout) + name_dict[tonumber(user_id)].username = user.name + if not gfs.file_readable(PATH_TO_AVATARS .. user_id) then + spawn.easy_async( + string.format(DOWNLOAD_AVATAR_CMD, PATH_TO_AVATARS .. user_id, user.avatars[1].url)) + end + end) + return name_dict[user_id].username + end + + return name_dict[user_id].username + end + + local update_widget = function(widget, stdout, _, _, _) + local reviews = json.decode(stdout) + + current_number_of_reviews = rawlen(reviews) + + if current_number_of_reviews == 0 then + widget:set_visible(false) + return + else + widget:set_visible(true) + end + + widget:set_visible(true) + if current_number_of_reviews > previous_number_of_reviews then + widget:set_unseen_review(true) + naughty.notify{ + icon = HOME_DIR ..'/.config/awesome/awesome-wm-widgets/gerrit-widget/gerrit_icon.svg', + title = 'New Incoming Review', + text = reviews[1].project .. '\n' .. get_name_by_user_id(reviews[1].owner._account_id) .. + reviews[1].subject .. '\n', + run = function() spawn.with_shell("xdg-open https://" .. host .. '/' .. reviews[1]._number) end + } + end + + previous_number_of_reviews = current_number_of_reviews + widget:set_text(current_number_of_reviews) + + for i = 0, #rows do rows[i]=nil end + for _, review in ipairs(reviews) do + + local row = wibox.widget { + { + { + { + { + resize = true, + image = PATH_TO_AVATARS .. review.owner._account_id, + forced_width = 40, + forced_height = 40, + widget = wibox.widget.imagebox + }, + margins = 8, + layout = wibox.container.margin + }, + { + { + markup = '' .. review.project .. '', + align = 'center', + widget = wibox.widget.textbox + }, + { + text = ' ' .. review.subject, + widget = wibox.widget.textbox + }, + { + text = ' ' .. get_name_by_user_id(review.owner._account_id), + widget = wibox.widget.textbox + }, + layout = wibox.layout.align.vertical + }, + spacing = 8, + layout = wibox.layout.fixed.horizontal + }, + margins = 8, + layout = wibox.container.margin + }, + widget = wibox.container.background + } + + row:connect_signal("button::release", function() + spawn.with_shell("xdg-open " .. host .. '/' .. review._number) + end) + + row:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end) + row:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end) + + row:buttons( + awful.util.table.join( + awful.button({}, 1, function() + spawn.with_shell("xdg-open " .. host .. '/' .. review._number) + popup.visible = false + end), + awful.button({}, 3, function() + spawn.with_shell("echo '" .. review._number .."' | xclip -selection clipboard") + popup.visible = false + end) + ) + ) + + table.insert(rows, row) + end + + popup:setup(rows) + end + + gerrit_widget:buttons( + awful.util.table.join( + awful.button({}, 1, function() + gerrit_widget:set_unseen_review(false) + if popup.visible then + popup.visible = not popup.visible + else + --local geo = mouse.current_widget_geometry + --if theme.calendar_placement == 'center' then + -- local x = geo.x + (geo.width / 2) - (popup:geometry().width / 2) -- align two widgets + -- popup:move_next_to({x = x, y = geo.y + 22, width = 0, height = geo.height}) + --else + -- popup:move_next_to(geo) + --end + + popup:move_next_to(mouse.current_widget_geometry) + end + end) + ) + ) + + watch(string.format(GET_CHANGES_CMD, host, query:gsub(" ", "+")), timeout, update_widget, gerrit_widget) + return gerrit_widget +end + +return setmetatable(gerrit_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/gerrit-widget/gerrit_icon.svg b/awesome/awesome-wm-widgets/gerrit-widget/gerrit_icon.svg new file mode 100644 index 00000000..4ac5652f --- /dev/null +++ b/awesome/awesome-wm-widgets/gerrit-widget/gerrit_icon.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/gerrit-widget/gerrit_widget.png b/awesome/awesome-wm-widgets/gerrit-widget/gerrit_widget.png new file mode 100644 index 00000000..926bc4b6 Binary files /dev/null and b/awesome/awesome-wm-widgets/gerrit-widget/gerrit_widget.png differ diff --git a/awesome/awesome-wm-widgets/gerrit-widget/new_review.png b/awesome/awesome-wm-widgets/gerrit-widget/new_review.png new file mode 100644 index 00000000..ebc9bad5 Binary files /dev/null and b/awesome/awesome-wm-widgets/gerrit-widget/new_review.png differ diff --git a/awesome/awesome-wm-widgets/gerrit-widget/popup.png b/awesome/awesome-wm-widgets/gerrit-widget/popup.png new file mode 100644 index 00000000..e08879a9 Binary files /dev/null and b/awesome/awesome-wm-widgets/gerrit-widget/popup.png differ diff --git a/awesome/awesome-wm-widgets/github-activity-widget/README.md b/awesome/awesome-wm-widgets/github-activity-widget/README.md new file mode 100644 index 00000000..2dbf98b5 --- /dev/null +++ b/awesome/awesome-wm-widgets/github-activity-widget/README.md @@ -0,0 +1,89 @@ +# GitHub Activity Widget + +Widget shows recent activities on GitHub. It is very similar to the GitHub's "All activity" feed on the main page: + +

+ +

+ +Mouse click on the item opens repo/issue/pr depending on the type of the activity. Mouse click on user's avatar opens user GitHub profile. + +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `icon` | github.png from the widget sources | Widget icon displayed on the wibar | +| `username` | your username | Required parameter | +| `number_of_events` | 10 | Number of events to display in the list | + +## Installation + +Clone repo under **~/.config/awesome/** and add widget in **rc.lua**: + +```lua +local github_activity_widget = require("awesome-wm-widgets.github-activity-widget.github-activity-widget") +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + -- default + github_activity_widget{ + username = 'streetturtle', + }, + -- customized + github_activity_widget{ + username = 'streetturtle', + number_of_events = 5 + }, + +``` + + +## How it works + +Everything starts with this timer, which gets recent activities by calling GitHub [Events API](https://developer.github.com/v3/activity/events/) and stores the response under /.cache/awmw/github-activity-widget/activity.json directory: + +```lua +gears.timer { + timeout = 600, -- calls every ten minutes + call_now = true, + autostart = true, + callback = function() + spawn.easy_async(string.format(UPDATE_EVENTS_CMD, username, CACHE_DIR), function(stdout, stderr) + if stderr ~= '' then show_warning(stderr) return end + end) + end +} +``` + +There are several reasons to store output in a file and then use it as a source to build the widget, instead of calling it everytime the widget is opened: + - activity feed does not update that often + - events API doesn't provide filtering of fields, so the output is quite large (300 events) + - it's much faster to read file from filesystem + + Next important part is **rebuild_widget** function, which is called when mouse button clicks on the widget on the wibar. It receives a json string which contains first n events from the cache file. Those events are processed by `jq` (get first n events, remove unused fields, slightly change the json structure to simplify serialization to lua table). And then it builds a widget, row by row in a loop. To display the text part of the row we already have all neccessary information in the json string which was converted to lua table. But to show an avatar we should download it first. This is done in the following snippet. First it creates a template and then checks if file already exists, and sets it in template, otherwise, downloads it asynchronously and only then sets in: + + ```lua +local avatar_img = wibox.widget { + resize = true, + forced_width = 40, + forced_height = 40, + widget = wibox.widget.imagebox +} + +if gfs.file_readable(path_to_avatar) then + avatar_img:set_image(path_to_avatar) +else + -- download it first + spawn.easy_async(string.format( + DOWNLOAD_AVATAR_CMD, + CACHE_DIR, + event.actor.id, + event.actor.avatar_url), + -- and then set + function() avatar_img:set_image(path_to_avatar) end) +end + ``` diff --git a/awesome/awesome-wm-widgets/github-activity-widget/github-activity-widget.lua b/awesome/awesome-wm-widgets/github-activity-widget/github-activity-widget.lua new file mode 100644 index 00000000..af29b359 --- /dev/null +++ b/awesome/awesome-wm-widgets/github-activity-widget/github-activity-widget.lua @@ -0,0 +1,294 @@ +------------------------------------------------- +-- GitHub Widget for Awesome Window Manager +-- Shows the recent activity from GitHub +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/github-activity-widget + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local wibox = require("wibox") +local json = require("json") +local spawn = require("awful.spawn") +local naughty = require("naughty") +local gears = require("gears") +local beautiful = require("beautiful") +local gfs = require("gears.filesystem") + +local HOME_DIR = os.getenv("HOME") +local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/github-activity-widget' +local ICONS_DIR = WIDGET_DIR .. '/icons/' +local CACHE_DIR = HOME_DIR .. '/.cache/awmw/github-activity-widget' + +local GET_EVENTS_CMD = [[sh -c "cat %s/activity.json | jq '.[:%d] | [.[] ]] + .. [[| {type: .type, actor: .actor, repo: .repo, action: .payload.action, issue_url: .payload.issue.html_url, ]] + .. [[pr_url: .payload.pull_request.html_url, created_at: .created_at}]'"]] +local DOWNLOAD_AVATAR_CMD = [[sh -c "curl -n --create-dirs -o %s/avatars/%s %s"]] +local UPDATE_EVENTS_CMD = [[sh -c "curl -s --show-error https://api.github.com/users/%s/received_events ]] + ..[[> %s/activity.json"]] + +--- Utility function to show warning messages +local function show_warning(message) + naughty.notify{ + preset = naughty.config.presets.critical, + title = 'GitHub Activity Widget', + text = message} +end + +--- Converts string representation of date (2020-06-02T11:25:27Z) to date +local function parse_date(date_str) + local pattern = "(%d+)%-(%d+)%-(%d+)T(%d+):(%d+):(%d+)%Z" + local y, m, d, h, min, sec, _ = date_str:match(pattern) + + return os.time{year = y, month = m, day = d, hour = h, min = min, sec = sec} +end + +--- Converts seconds to "time ago" representation, like '1 hour ago' +local function to_time_ago(seconds) + local days = seconds / 86400 + if days > 1 then + days = math.floor(days + 0.5) + return days .. (days == 1 and ' day' or ' days') .. ' ago' + end + + local hours = (seconds % 86400) / 3600 + if hours > 1 then + hours = math.floor(hours + 0.5) + return hours .. (hours == 1 and ' hour' or ' hours') .. ' ago' + end + + local minutes = ((seconds % 86400) % 3600) / 60 + if minutes > 1 then + minutes = math.floor(minutes + 0.5) + return minutes .. (minutes == 1 and ' minute' or ' minutes') .. ' ago' + end +end + + +local popup = awful.popup{ + ontop = true, + visible = false, + shape = gears.shape.rounded_rect, + border_width = 1, + border_color = beautiful.bg_focus, + maximum_width = 350, + offset = { y = 5 }, + widget = {} +} + +local function generate_action_string(event) + local action_string = event.type + local icon = 'repo.svg' + local link = 'http://github.com/' .. event.repo.name + + if (event.type == "PullRequestEvent") then + action_string = event.action .. ' a pull request in' + link = event.pr_url + icon = 'git-pull-request.svg' + elseif (event.type == "IssuesEvent") then + action_string = event.action .. ' an issue in' + link = event.issue_url + icon = 'alert-circle.svg' + elseif (event.type == "IssueCommentEvent") then + action_string = event.action == 'created' and 'commented in issue' or event.action .. ' a comment in' + link = event.issue_url + icon = 'message-square.svg' + elseif (event.type == "WatchEvent") then + action_string = 'starred' + icon = 'star.svg' + elseif (event.type == "ForkEvent") then + action_string = 'forked' + icon = 'git-branch.svg' + elseif (event.type == "CreateEvent") then + action_string = 'created' + end + + return { action_string = action_string, link = link, icon = icon } +end + +local github_widget = wibox.widget { + { + { + { + id = 'icon', + widget = wibox.widget.imagebox + }, + id = "m", + margins = 4, + layout = wibox.container.margin + }, + layout = wibox.layout.fixed.horizontal, + }, + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 4) + end, + widget = wibox.container.background, + set_icon = function(self, new_icon) + self:get_children_by_id("icon")[1].image = new_icon + end +} + + +local function worker(user_args) + + if not gfs.dir_readable(CACHE_DIR) then + gfs.make_directories(CACHE_DIR) + end + + local args = user_args or {} + + local icon = args.icon or ICONS_DIR .. 'github.png' + local username = args.username or show_warning('No username provided') + local number_of_events = args.number_of_events or 10 + + github_widget:set_icon(icon) + + local rows = { + layout = wibox.layout.fixed.vertical, + } + + local rebuild_widget = function(stdout, stderr, _, _) + if stderr ~= '' then + show_warning(stderr) + return + end + + local current_time = os.time(os.date("!*t")) + + local events = json.decode(stdout) + + for i = 0, #rows do rows[i]=nil end + for _, event in ipairs(events) do + local path_to_avatar = CACHE_DIR .. '/avatars/' .. event.actor.id + + local avatar_img = wibox.widget { + resize = true, + forced_width = 40, + forced_height = 40, + widget = wibox.widget.imagebox + } + + if not gfs.file_readable(path_to_avatar) then + -- download it first + spawn.easy_async(string.format( + DOWNLOAD_AVATAR_CMD, + CACHE_DIR, + event.actor.id, + event.actor.avatar_url), function() avatar_img:set_image(path_to_avatar) end) + else + avatar_img:set_image(path_to_avatar) + end + + local action_and_link = generate_action_string(event) + + local avatar = wibox.widget { + avatar_img, + margins = 8, + layout = wibox.container.margin + } + avatar:buttons( + awful.util.table.join( + awful.button({}, 1, function() + spawn.with_shell('xdg-open http://github.com/' .. event.actor.login) + popup.visible = false + end) + ) + ) + + local repo_info = wibox.widget { + { + markup = ' ' .. event.actor.display_login .. ' ' .. action_and_link.action_string + .. ' ' .. event.repo.name .. '', + wrap = 'word', + widget = wibox.widget.textbox + }, + { + { + { + image = ICONS_DIR .. action_and_link.icon, + resize = true, + forced_height = 16, + forced_width = 16, + widget = wibox.widget.imagebox + }, + valign = 'center', + layout = wibox.container.place + }, + { + markup = to_time_ago(os.difftime(current_time, parse_date(event.created_at))), + widget = wibox.widget.textbox + }, + spacing = 4, + layout = wibox.layout.fixed.horizontal, + }, + layout = wibox.layout.align.vertical + } + repo_info:buttons( + awful.util.table.join( + awful.button({}, 1, function() + spawn.with_shell("xdg-open " .. action_and_link.link) + popup.visible = false + end) + ) + ) + + local row = wibox.widget { + { + { + avatar, + repo_info, + spacing = 4, + layout = wibox.layout.fixed.horizontal + }, + margins = 4, + layout = wibox.container.margin + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + } + + row:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end) + row:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end) + + table.insert(rows, row) + end + + popup:setup(rows) + end + + github_widget:buttons( + awful.util.table.join( + awful.button({}, 1, function() + if popup.visible then + popup.visible = not popup.visible + github_widget:set_bg('#00000000') + else + github_widget:set_bg(beautiful.bg_focus) + spawn.easy_async(string.format(GET_EVENTS_CMD, CACHE_DIR, number_of_events), + function (stdout, stderr) + rebuild_widget(stdout, stderr) + popup:move_next_to(mouse.current_widget_geometry) + end) + end + end) + ) + ) + + -- Calls GitHub event API and stores response in "cache" file + gears.timer { + timeout = 600, + call_now = true, + autostart = true, + callback = function() + spawn.easy_async(string.format(UPDATE_EVENTS_CMD, username, CACHE_DIR), function(_, stderr) + if stderr ~= '' then show_warning(stderr) return end + end) + end + } + + return github_widget +end + +return setmetatable(github_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/github-activity-widget/icons/alert-circle.svg b/awesome/awesome-wm-widgets/github-activity-widget/icons/alert-circle.svg new file mode 100644 index 00000000..1c42eaf5 --- /dev/null +++ b/awesome/awesome-wm-widgets/github-activity-widget/icons/alert-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/github-activity-widget/icons/git-branch.svg b/awesome/awesome-wm-widgets/github-activity-widget/icons/git-branch.svg new file mode 100644 index 00000000..3f06c344 --- /dev/null +++ b/awesome/awesome-wm-widgets/github-activity-widget/icons/git-branch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/github-activity-widget/icons/git-pull-request.svg b/awesome/awesome-wm-widgets/github-activity-widget/icons/git-pull-request.svg new file mode 100644 index 00000000..c2e2867f --- /dev/null +++ b/awesome/awesome-wm-widgets/github-activity-widget/icons/git-pull-request.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/github-activity-widget/icons/github.png b/awesome/awesome-wm-widgets/github-activity-widget/icons/github.png new file mode 100644 index 00000000..628da97c Binary files /dev/null and b/awesome/awesome-wm-widgets/github-activity-widget/icons/github.png differ diff --git a/awesome/awesome-wm-widgets/github-activity-widget/icons/message-square.svg b/awesome/awesome-wm-widgets/github-activity-widget/icons/message-square.svg new file mode 100644 index 00000000..758ba426 --- /dev/null +++ b/awesome/awesome-wm-widgets/github-activity-widget/icons/message-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/github-activity-widget/icons/repo.svg b/awesome/awesome-wm-widgets/github-activity-widget/icons/repo.svg new file mode 100644 index 00000000..f74a5952 --- /dev/null +++ b/awesome/awesome-wm-widgets/github-activity-widget/icons/repo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/github-activity-widget/icons/star.svg b/awesome/awesome-wm-widgets/github-activity-widget/icons/star.svg new file mode 100644 index 00000000..0a3d39e5 --- /dev/null +++ b/awesome/awesome-wm-widgets/github-activity-widget/icons/star.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/github-activity-widget/screenshot.png b/awesome/awesome-wm-widgets/github-activity-widget/screenshot.png new file mode 100644 index 00000000..f066cbcb Binary files /dev/null and b/awesome/awesome-wm-widgets/github-activity-widget/screenshot.png differ diff --git a/awesome/awesome-wm-widgets/github-contributions-widget/README.md b/awesome/awesome-wm-widgets/github-contributions-widget/README.md new file mode 100644 index 00000000..7d020083 --- /dev/null +++ b/awesome/awesome-wm-widgets/github-contributions-widget/README.md @@ -0,0 +1,63 @@ +# Github Contributions Widget + +The widget is inspired by the https://github-contributions.now.sh/ and relies on it's API. + +It shows the contribution graph, similar to the one on the github profile page: ![screenshot](./screenshots/screenshot.jpg) + +You might wonder what could be the reason to have your github's contributions in front of you all day long? The more you contribute, the nicer widget looks! Check out [Thomashighbaugh](https://github.com/Thomashighbaugh)'s graph: + +![](./screenshots/Thomashighbaugh.png) + +## Customization + +It is possible to customize the widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `username` | `streetturtle` | GitHub username | +| `days` | `365` | Number of days in the past, more days - wider the widget | +| `color_of_empty_cells` | Theme's default | Color of the days with no contributions | +| `with_border` | `true` | Should the graph contains border or not | +| `margin_top` | `1` | Top margin | +| `theme` | `standard` | Color theme of the graph, see below | + +_Note:_ widget height is 21px (7 rows of 3x3 cells). So it would look nice on the wibar of 22-24px height. + +### Themes + +Following themes are available: + +| Theme name | Preview | +|---|---| +| standard | ![standard](./screenshots/standard.png) | +| classic | ![classic](./screenshots/classic.png) | +| teal | ![teal](./screenshots/teal.png) | +| leftpad | ![leftpad](./screenshots/leftpad.png) | +| dracula | ![dracula](./screenshots/dracula.png) | +| pink | ![pink](./screenshots/pink.png) | + +To add a new theme, simply add a new entry in `themes` table (themes.lua) with the colors of your theme. + +### Screenshots + +1000 days, with border: +![screenshot1](./screenshots/screenshot1.jpg) + +365 days, no border: +![screenshot2](./screenshots/screenshot2.jpg) + +## Installation + +Clone/download repo under **~/.config/awesome** and use widget in **rc.lua**: + +```lua +local github_contributions_widget = require("awesome-wm-widgets.github-contributions-widget.github-contributions-widget") +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + -- default + github_contributions_widget({username = ''}), + ... +``` diff --git a/awesome/awesome-wm-widgets/github-contributions-widget/github-contributions-widget.lua b/awesome/awesome-wm-widgets/github-contributions-widget/github-contributions-widget.lua new file mode 100644 index 00000000..113d4742 --- /dev/null +++ b/awesome/awesome-wm-widgets/github-contributions-widget/github-contributions-widget.lua @@ -0,0 +1,104 @@ +------------------------------------------------- +-- Github Contributions Widget for Awesome Window Manager +-- Shows the contributions graph +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/github-contributions-widget + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local naughty = require("naughty") +local wibox = require("wibox") +local gears = require("gears") +local widget_themes = require("awesome-wm-widgets.github-contributions-widget.themes") + +local GET_CONTRIBUTIONS_CMD = [[bash -c "curl -s https://github-contributions.vercel.app/api/v1/%s]] + .. [[ | jq -r '[.contributions[] ]] + .. [[ | select ( .date | strptime(\"%%Y-%%m-%%d\") | mktime < now)][:%s]| .[].intensity'"]] + +local github_contributions_widget = wibox.widget{ + reflection = { + horizontal = true, + vertical = true, + }, + widget = wibox.container.mirror +} + +local function show_warning(message) + naughty.notify{ + preset = naughty.config.presets.critical, + title = 'Github Contributions Widget', + text = message} +end + +local function worker(user_args) + + local args = user_args or {} + local username = args.username or 'streetturtle' + local days = args.days or 365 + local color_of_empty_cells = args.color_of_empty_cells + local with_border = args.with_border + local margin_top = args.margin_top or 1 + local theme = args.theme or 'standard' + + if widget_themes[theme] == nil then + show_warning('Theme ' .. theme .. ' does not exist') + theme = 'standard' + end + + if with_border == nil then with_border = true end + + local function get_square(color) + if color_of_empty_cells ~= nil and color == widget_themes[theme][0] then + color = color_of_empty_cells + end + + return wibox.widget{ + fit = function() + return 3, 3 + end, + draw = function(_, _, cr, _, _) + cr:set_source(gears.color(color)) + cr:rectangle(0, 0, with_border and 2 or 3, with_border and 2 or 3) + cr:fill() + end, + layout = wibox.widget.base.make_widget + } + end + + local col = {layout = wibox.layout.fixed.vertical} + local row = {layout = wibox.layout.fixed.horizontal} + local day_idx = 5 - os.date('%w') + for _ = 0, day_idx do + table.insert(col, get_square(color_of_empty_cells)) + end + + local update_widget = function(_, stdout, _, _, _) + for intensity in stdout:gmatch("[^\r\n]+") do + if day_idx %7 == 0 then + table.insert(row, col) + col = {layout = wibox.layout.fixed.vertical} + end + table.insert(col, get_square(widget_themes[theme][tonumber(intensity)])) + day_idx = day_idx + 1 + end + github_contributions_widget:setup( + { + row, + top = margin_top, + layout = wibox.container.margin + } + ) + end + + awful.spawn.easy_async(string.format(GET_CONTRIBUTIONS_CMD, username, days), + function(stdout) + update_widget(github_contributions_widget, stdout) + end) + + return github_contributions_widget +end + +return setmetatable(github_contributions_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/Thomashighbaugh.png b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/Thomashighbaugh.png new file mode 100644 index 00000000..b31245b7 Binary files /dev/null and b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/Thomashighbaugh.png differ diff --git a/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/classic.png b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/classic.png new file mode 100644 index 00000000..46521409 Binary files /dev/null and b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/classic.png differ diff --git a/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/dracula.png b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/dracula.png new file mode 100644 index 00000000..65fb7695 Binary files /dev/null and b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/dracula.png differ diff --git a/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/leftpad.png b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/leftpad.png new file mode 100644 index 00000000..19e4f644 Binary files /dev/null and b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/leftpad.png differ diff --git a/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/pink.png b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/pink.png new file mode 100644 index 00000000..2fb7bc60 Binary files /dev/null and b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/pink.png differ diff --git a/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/screenshot.jpg b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/screenshot.jpg new file mode 100644 index 00000000..15ad4567 Binary files /dev/null and b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/screenshot.jpg differ diff --git a/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/screenshot1.jpg b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/screenshot1.jpg new file mode 100644 index 00000000..d1eeb442 Binary files /dev/null and b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/screenshot1.jpg differ diff --git a/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/screenshot2.jpg b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/screenshot2.jpg new file mode 100644 index 00000000..5ce47f21 Binary files /dev/null and b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/screenshot2.jpg differ diff --git a/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/standard.png b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/standard.png new file mode 100644 index 00000000..e10479ae Binary files /dev/null and b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/standard.png differ diff --git a/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/teal.png b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/teal.png new file mode 100644 index 00000000..f10de7a9 Binary files /dev/null and b/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/teal.png differ diff --git a/awesome/awesome-wm-widgets/github-contributions-widget/themes.lua b/awesome/awesome-wm-widgets/github-contributions-widget/themes.lua new file mode 100644 index 00000000..574f8fa4 --- /dev/null +++ b/awesome/awesome-wm-widgets/github-contributions-widget/themes.lua @@ -0,0 +1,46 @@ +local themes = { + standard = { + [4] = '#216e39', + [3] = '#30a14e', + [2] = '#40c463', + [1] = '#9be9a8', + [0] = '#ebedf0' + }, + classic = { + [4] = '#196127', + [3] = '#239a3b', + [2] = '#7bc96f', + [1] = '#c6e48b', + [0] = '#ebedf0', + }, + teal = { + [4] = '#458B74', + [3] = '#66CDAA', + [2] = '#76EEC6', + [1] = '#7FFFD4', + [0] = '#ebedf0', + }, + leftpad = { + [4] = '#F6F6F6', + [3] = '#DDDDDD', + [2] = '#A5A5A5', + [1] = '#646464', + [0] = '#2F2F2F', + }, + dracula = { + [4] = '#ff79c6', + [3] = '#bd93f9', + [2] = '#6272a4', + [1] = '#44475a', + [0] = '#282a36' + }, + pink = { + [4] = '#61185f', + [3] = '#a74aa8', + [2] = '#ca5bcc', + [1] = '#e48bdc', + [0] = '#ebedf0', + } +} + +return themes \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/github-prs-widget/README.md b/awesome/awesome-wm-widgets/github-prs-widget/README.md new file mode 100644 index 00000000..1d4c27ec --- /dev/null +++ b/awesome/awesome-wm-widgets/github-prs-widget/README.md @@ -0,0 +1,43 @@ +# GitHub PRs Widget + +

+ GitHub issues by-label +

+ +The widget shows the number of pull requests assigned to the user and when clicked shows additional information, such as + - author's name and avatar (opens user profile page when clicked); + - PR name (opens MR when clicked); + - name of the repository; + - when was created; + - number of comments; + +

+ +

+ +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `reviewer` | Required | github user login | + +## Installation + +Install and setup [GitHub CLI](https://cli.github.com/) +Clone/download repo and use widget in **rc.lua**: + +```lua +local github_prs_widget = require("awesome-wm-widgets.github-prs-widget") +... +s.mytasklist, -- Middle widget +{ -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + github_prs_widget { + reviewer = 'streetturtle' + }, +} +... +``` diff --git a/awesome/awesome-wm-widgets/github-prs-widget/icons/book.svg b/awesome/awesome-wm-widgets/github-prs-widget/icons/book.svg new file mode 100644 index 00000000..7833095c --- /dev/null +++ b/awesome/awesome-wm-widgets/github-prs-widget/icons/book.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/github-prs-widget/icons/calendar.svg b/awesome/awesome-wm-widgets/github-prs-widget/icons/calendar.svg new file mode 100644 index 00000000..45a15fe6 --- /dev/null +++ b/awesome/awesome-wm-widgets/github-prs-widget/icons/calendar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/github-prs-widget/icons/git-pull-request.svg b/awesome/awesome-wm-widgets/github-prs-widget/icons/git-pull-request.svg new file mode 100644 index 00000000..54c92b9a --- /dev/null +++ b/awesome/awesome-wm-widgets/github-prs-widget/icons/git-pull-request.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/github-prs-widget/icons/message-square.svg b/awesome/awesome-wm-widgets/github-prs-widget/icons/message-square.svg new file mode 100644 index 00000000..e37df4b6 --- /dev/null +++ b/awesome/awesome-wm-widgets/github-prs-widget/icons/message-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/github-prs-widget/icons/user.svg b/awesome/awesome-wm-widgets/github-prs-widget/icons/user.svg new file mode 100644 index 00000000..7704341c --- /dev/null +++ b/awesome/awesome-wm-widgets/github-prs-widget/icons/user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/github-prs-widget/init.lua b/awesome/awesome-wm-widgets/github-prs-widget/init.lua new file mode 100644 index 00000000..8d59ac8a --- /dev/null +++ b/awesome/awesome-wm-widgets/github-prs-widget/init.lua @@ -0,0 +1,434 @@ +------------------------------------------------- +-- GitHub Widget for Awesome Window Manager +-- Shows the number of currently assigned merge requests +-- and information about them +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/github-prs-widget + +-- @author Pavel Makhov +-- @copyright 2021 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local wibox = require("wibox") +local watch = require("awful.widget.watch") +local json = require("json") +local spawn = require("awful.spawn") +local naughty = require("naughty") +local gears = require("gears") +local beautiful = require("beautiful") +local gfs = require("gears.filesystem") +local color = require("gears.color") + +local HOME_DIR = os.getenv("HOME") +local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/github-prs-widget/' +local ICONS_DIR = WIDGET_DIR .. 'icons/' + +local AVATARS_DIR = HOME_DIR .. '/.cache/awmw/github-widget/avatars/' +local DOWNLOAD_AVATAR_CMD = [[sh -c "curl -L --create-dirs -o ''\\]] .. AVATARS_DIR .. [[%s %s"]] + +local GET_PRS_CMD = "gh api -X GET search/issues " + .. "-f 'q=review-requested:%s is:unmerged is:open' " + .. "-f per_page=30 " + .. "--jq '[.items[] | {url,repository_url,title,html_url,comments,assignees,user,created_at,draft}]'" + +local github_widget = wibox.widget { + { + { + { + { + { + id = 'icon', + widget = wibox.widget.imagebox + }, + { + id = 'error_marker', + draw = function(_, _, cr, width, height) + cr:set_source(color('#BF616A')) + cr:arc(width - height / 6, height / 6, height / 6, 0, math.pi * 2) + cr:fill() + end, + visible = false, + layout = wibox.widget.base.make_widget, + }, + layout = wibox.layout.stack + }, + margins = 4, + layout = wibox.container.margin + }, + { + id = "txt", + widget = wibox.widget.textbox + }, + { + id = "new_pr", + widget = wibox.widget.textbox + }, + spacing = 4, + layout = wibox.layout.fixed.horizontal, + }, + left = 4, + right = 4, + widget = wibox.container.margin + }, + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 4) + end, + widget = wibox.container.background, + set_text = function(self, new_value) + self:get_children_by_id('txt')[1]:set_text(new_value) + end, + set_icon = function(self, new_value) + self:get_children_by_id('icon')[1]:set_image(new_value) + end, + is_everything_ok = function(self, is_ok) + if is_ok then + self:get_children_by_id('error_marker')[1]:set_visible(false) + self:get_children_by_id('icon')[1]:set_opacity(1) + self:get_children_by_id('icon')[1]:emit_signal('widget:redraw_needed') + else + self.txt:set_text('') + self:get_children_by_id('error_marker')[1]:set_visible(true) + self:get_children_by_id('icon')[1]:set_opacity(0.2) + self:get_children_by_id('icon')[1]:emit_signal('widget:redraw_needed') + end + end +} + +local function show_warning(message) + naughty.notify{ + preset = naughty.config.presets.critical, + title = 'GitHub PRs Widget', + text = message} +end + +local popup = awful.popup{ + ontop = true, + visible = false, + shape = gears.shape.rounded_rect, + border_width = 1, + maximum_width = 400, + offset = { y = 5 }, + widget = {} +} + +--- Converts string representation of date (2020-06-02T11:25:27Z) to date +local function parse_date(date_str) + local pattern = "(%d+)%-(%d+)%-(%d+)T(%d+):(%d+):(%d+)%Z" + local y, m, d, h, min, sec, _ = date_str:match(pattern) + + return os.time{year = y, month = m, day = d, hour = h, min = min, sec = sec} +end + +--- Converts seconds to "time ago" represenation, like '1 hour ago' +local function to_time_ago(seconds) + local days = seconds / 86400 + if days > 1 then + days = math.floor(days + 0.5) + return days .. (days == 1 and ' day' or ' days') .. ' ago' + end + + local hours = (seconds % 86400) / 3600 + if hours > 1 then + hours = math.floor(hours + 0.5) + return hours .. (hours == 1 and ' hour' or ' hours') .. ' ago' + end + + local minutes = ((seconds % 86400) % 3600) / 60 + if minutes > 1 then + minutes = math.floor(minutes + 0.5) + return minutes .. (minutes == 1 and ' minute' or ' minutes') .. ' ago' + end +end + +local function ellipsize(text, length) + return (text:len() > length and length > 0) + and text:sub(0, length - 3) .. '...' + or text +end + +local warning_shown = false +local tooltip = awful.tooltip { + mode = 'outside', + preferred_positions = {'bottom'}, +} + +local config = {} + +config.reviewer = nil + +config.bg_normal = '#aaaaaa' +config.bg_focus = '#ffffff' + + +local function worker(user_args) + + local args = user_args or {} + + -- Setup config for the widget instance. + -- The `_config` table will keep the first existing value after checking + -- in this order: user parameter > beautiful > module default + local _config = {} + for prop, value in pairs(config) do + _config[prop] = args[prop] or beautiful[prop] or value + end + + local icon = args.icon or ICONS_DIR .. 'git-pull-request.svg' + local reviewer = args.reviewer + local timeout = args.timeout or 60 + + local current_number_of_prs + + local to_review_rows = {layout = wibox.layout.fixed.vertical} + local rows = {layout = wibox.layout.fixed.vertical} + + github_widget:set_icon(icon) + + local update_widget = function(widget, stdout, stderr, _, _) + + if stderr ~= '' then + if not warning_shown then + show_warning(stderr) + warning_shown = true + widget:is_everything_ok(false) + tooltip:add_to_object(widget) + + widget:connect_signal('mouse::enter', function() + tooltip.text = stderr + end) + end + return + end + + warning_shown = false + tooltip:remove_from_object(widget) + widget:is_everything_ok(true) + + local prs = json.decode(stdout) + + current_number_of_prs = #prs + + if current_number_of_prs == 0 then + widget:set_visible(false) + return + end + + widget:set_visible(true) + widget:set_text(current_number_of_prs) + + for i = 0, #rows do rows[i]=nil end + + for i = 0, #to_review_rows do to_review_rows[i]=nil end + table.insert(to_review_rows, { + { + markup = 'PRs to review', + align = 'center', + forced_height = 20, + widget = wibox.widget.textbox + }, + bg = _config.bg_normal, + widget = wibox.container.background + }) + + local current_time = os.time(os.date("!*t")) + + for _, pr in ipairs(prs) do + local path_to_avatar = AVATARS_DIR .. pr.user.id + local index = string.find(pr.repository_url, "/[^/]*$") + local repo = string.sub(pr.repository_url, index + 1) + + local row = wibox.widget { + { + { + { + { + resize = true, + image = path_to_avatar, + forced_width = 40, + forced_height = 40, + widget = wibox.widget.imagebox + }, + id = 'avatar', + margins = 4, + layout = wibox.container.margin + }, + { + { + id = 'title', + markup = '' .. ellipsize(pr.title, 60) .. '', + widget = wibox.widget.textbox, + forced_width = 400 + }, + { + { + { + { + image = ICONS_DIR .. 'book.svg', + forced_width = 12, + forced_height = 12, + resize = true, + widget = wibox.widget.imagebox + }, + { + text = repo, + widget = wibox.widget.textbox + }, + spacing = 4, + expand = 'none', + layout = wibox.layout.fixed.horizontal + }, + { + { + image = ICONS_DIR .. 'user.svg', + forced_width = 12, + forced_height = 12, + resize = true, + widget = wibox.widget.imagebox + }, + { + text = pr.user.login, + widget = wibox.widget.textbox + }, + spacing = 4, + expand = 'none', + layout = wibox.layout.fixed.horizontal + }, + spacing = 8, + expand = 'none', + layout = wibox.layout.fixed.horizontal + }, + { + { + { + image = ICONS_DIR .. 'user.svg', + forced_width = 12, + forced_height = 12, + resize = true, + widget = wibox.widget.imagebox + }, + { + text = to_time_ago(os.difftime(current_time, parse_date(pr.created_at))), + widget = wibox.widget.textbox + }, + spacing = 4, + expand = 'none', + layout = wibox.layout.fixed.horizontal + + }, + { + { + image = ICONS_DIR .. 'message-square.svg', + forced_width = 12, + forced_height = 12, + resize = true, + widget = wibox.widget.imagebox + }, + { + text = pr.comments, + widget = wibox.widget.textbox + }, + spacing = 4, + expand = 'none', + layout = wibox.layout.fixed.horizontal + + }, + spacing = 8, + layout = wibox.layout.fixed.horizontal + }, + layout = wibox.layout.fixed.vertical + }, + spacing = 4, + layout = wibox.layout.fixed.vertical + }, + spacing = 8, + layout = wibox.layout.fixed.horizontal + }, + margins = 8, + layout = wibox.container.margin + }, + bg = _config.bg_normal, + widget = wibox.container.background + } + + if not gfs.file_readable(path_to_avatar) then + spawn.easy_async(string.format( + DOWNLOAD_AVATAR_CMD, + pr.user.id, + pr.user.avatar_url), function() + row:get_children_by_id('avatar')[1]:set_image(path_to_avatar) + end) + end + + row:connect_signal("mouse::enter", function(c) c:set_bg(_config.bg_focus) end) + row:connect_signal("mouse::leave", function(c) c:set_bg(_config.bg_normal) end) + + row:get_children_by_id('title')[1]:buttons( + awful.util.table.join( + awful.button({}, 1, function() + spawn.with_shell("xdg-open " .. pr.html_url) + popup.visible = false + end) + ) + ) + row:get_children_by_id('avatar')[1]:buttons( + awful.util.table.join( + awful.button({}, 1, function() + spawn.with_shell("xdg-open " .. pr.user.html_url) + popup.visible = false + end) + ) + ) + + local old_cursor, old_wibox + row:get_children_by_id('title')[1]:connect_signal("mouse::enter", function() + local wb = mouse.current_wibox + old_cursor, old_wibox = wb.cursor, wb + wb.cursor = "hand1" + end) + row:get_children_by_id('title')[1]:connect_signal("mouse::leave", function() + if old_wibox then + old_wibox.cursor = old_cursor + old_wibox = nil + end + end) + + row:get_children_by_id('avatar')[1]:connect_signal("mouse::enter", function() + local wb = mouse.current_wibox + old_cursor, old_wibox = wb.cursor, wb + wb.cursor = "hand1" + end) + row:get_children_by_id('avatar')[1]:connect_signal("mouse::leave", function() + if old_wibox then + old_wibox.cursor = old_cursor + old_wibox = nil + end + end) + + table.insert(to_review_rows, row) + end + + table.insert(rows, to_review_rows) + popup:setup(rows) + end + + github_widget:buttons( + awful.util.table.join( + awful.button({}, 1, function() + if popup.visible then + popup.visible = not popup.visible + github_widget:set_bg('#00000000') + else + github_widget:set_bg(beautiful.bg_focus) + popup:move_next_to(mouse.current_widget_geometry) + end + end) + ) + ) + + watch(string.format(GET_PRS_CMD, reviewer), + timeout, update_widget, github_widget) + + return github_widget +end + +return setmetatable(github_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/github-prs-widget/screenshots/screenshot1.png b/awesome/awesome-wm-widgets/github-prs-widget/screenshots/screenshot1.png new file mode 100644 index 00000000..295b56ee Binary files /dev/null and b/awesome/awesome-wm-widgets/github-prs-widget/screenshots/screenshot1.png differ diff --git a/awesome/awesome-wm-widgets/gitlab-widget/README.md b/awesome/awesome-wm-widgets/gitlab-widget/README.md new file mode 100644 index 00000000..17007bcc --- /dev/null +++ b/awesome/awesome-wm-widgets/gitlab-widget/README.md @@ -0,0 +1,48 @@ +# Gitlab widget + +

+ GitHub issues by-label +

+ +The widget shows the number of merge requests assigned to the user and when clicked shows additional information, such as + - author's name and avatar (opens user profile page when clicked); + - MR name (opens MR when clicked); + - source and target branches; + - when was created; + - number of comments; + - number of approvals. + +![screenshot](./screenshot.png) + +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `icon` | `./icons/gitlab-icon.svg` | Path to the icon | +| `host` | Required | e.g _https://gitlab.yourcompany.com_ | +| `access_token` | Required | e.g _h2v531iYASDz6McxYk4A_ | +| `timeout` | 60 | How often in seconds the widget should be refreshed | + +_Note:_ + - to get the access token, go to **User Settings** -> **Access Tokens** and generate a token with **api** scope + +## Installation + +Clone/download repo and use widget in **rc.lua**: + +```lua +local gitlab_widget = require("awesome-wm-widgets.gitlab-widget.gitlab") +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + -- default + gitlab_widget{ + host = 'https://gitlab.yourcompany.com', + access_token = 'h2v531iYASDz6McxYk4A' + }, + ... +``` diff --git a/awesome/awesome-wm-widgets/gitlab-widget/gitlab.lua b/awesome/awesome-wm-widgets/gitlab-widget/gitlab.lua new file mode 100644 index 00000000..c0716d76 --- /dev/null +++ b/awesome/awesome-wm-widgets/gitlab-widget/gitlab.lua @@ -0,0 +1,401 @@ +------------------------------------------------- +-- Gitlab Widget for Awesome Window Manager +-- Shows the number of currently assigned merge requests +-- and information about them +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/gitlab-widget + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local wibox = require("wibox") +local watch = require("awful.widget.watch") +local json = require("json") +local spawn = require("awful.spawn") +local naughty = require("naughty") +local gears = require("gears") +local beautiful = require("beautiful") +local gfs = require("gears.filesystem") +local color = require("gears.color") + +local HOME_DIR = os.getenv("HOME") +local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/gitlab-widget/' +local GET_PRS_CMD= [[sh -c "curl -s --connect-timeout 5 --show-error --header 'PRIVATE-TOKEN: %s']] + ..[[ '%s/api/v4/merge_requests?state=opened'"]] +local DOWNLOAD_AVATAR_CMD = [[sh -c "curl -L --create-dirs -o %s/.cache/awmw/gitlab-widget/avatars/%s %s"]] + +local gitlab_widget = wibox.widget { + { + { + { + id = 'icon', + widget = wibox.widget.imagebox + }, + { + id = 'error_marker', + draw = function(_, _, cr, width, height) + cr:set_source(color(beautiful.fg_urgent)) + cr:arc(width - height/6, height/6, height/6, 0, math.pi*2) + cr:fill() + end, + visible = false, + layout = wibox.widget.base.make_widget, + }, + layout = wibox.layout.stack + }, + margins = 4, + layout = wibox.container.margin + }, + { + id = "txt", + widget = wibox.widget.textbox + }, + { + id = "new_pr", + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.horizontal, + set_text = function(self, new_value) + self.txt.text = new_value + end, + set_icon = function(self, new_value) + self:get_children_by_id('icon')[1]:set_image(new_value) + end, + is_everything_ok = function(self, is_ok) + if is_ok then + self:get_children_by_id('error_marker')[1]:set_visible(false) + self:get_children_by_id('icon')[1]:set_opacity(1) + self:get_children_by_id('icon')[1]:emit_signal('widget:redraw_needed') + else + self.txt:set_text('') + self:get_children_by_id('error_marker')[1]:set_visible(true) + self:get_children_by_id('icon')[1]:set_opacity(0.2) + self:get_children_by_id('icon')[1]:emit_signal('widget:redraw_needed') + end + end +} + +local function show_warning(message) + naughty.notify{ + preset = naughty.config.presets.critical, + title = 'Gitlab Widget', + text = message} +end + +local popup = awful.popup{ + ontop = true, + visible = false, + shape = gears.shape.rounded_rect, + border_width = 1, + border_color = beautiful.bg_focus, + maximum_width = 400, + offset = { y = 5 }, + widget = {} +} + +--- Converts string representation of date (2020-06-02T11:25:27Z) to date +local function parse_date(date_str) + local pattern = "(%d+)%-(%d+)%-(%d+)T(%d+):(%d+):(%d+)%Z" + local y, m, d, h, min, sec, _ = date_str:match(pattern) + + return os.time{year = y, month = m, day = d, hour = h, min = min, sec = sec} +end + +--- Converts seconds to "time ago" represenation, like '1 hour ago' +local function to_time_ago(seconds) + local days = seconds / 86400 + if days > 1 then + days = math.floor(days + 0.5) + return days .. (days == 1 and ' day' or ' days') .. ' ago' + end + + local hours = (seconds % 86400) / 3600 + if hours > 1 then + hours = math.floor(hours + 0.5) + return hours .. (hours == 1 and ' hour' or ' hours') .. ' ago' + end + + local minutes = ((seconds % 86400) % 3600) / 60 + if minutes > 1 then + minutes = math.floor(minutes + 0.5) + return minutes .. (minutes == 1 and ' minute' or ' minutes') .. ' ago' + end +end + +local function ellipsize(text, length) + return (text:len() > length and length > 0) + and text:sub(0, length - 3) .. '...' + or text +end + +local warning_shown = false +local tooltip = awful.tooltip { + mode = 'outside', + preferred_positions = {'bottom'}, + } + +local function worker(user_args) + + local args = user_args or {} + + local icon = args.icon or WIDGET_DIR .. '/icons/gitlab-icon.svg' + local access_token = args.access_token or show_warning('API Token is not set') + local host = args.host or show_warning('Gitlab host is not set') + local timeout = args.timeout or 60 + + local current_number_of_prs + + local to_review_rows = {layout = wibox.layout.fixed.vertical} + local my_review_rows = {layout = wibox.layout.fixed.vertical} + local rows = {layout = wibox.layout.fixed.vertical} + + gitlab_widget:set_icon(icon) + + local update_widget = function(widget, stdout, stderr, _, _) + + if stderr ~= '' then + if not warning_shown then + show_warning(stderr) + warning_shown = true + widget:is_everything_ok(false) + tooltip:add_to_object(widget) + + widget:connect_signal('mouse::enter', function() + tooltip.text = stderr + end) + end + return + end + + warning_shown = false + tooltip:remove_from_object(widget) + widget:is_everything_ok(true) + + local result = json.decode(stdout) + + current_number_of_prs = rawlen(result) + + if current_number_of_prs == 0 then + widget:set_visible(false) + return + end + + widget:set_visible(true) + widget:set_text(current_number_of_prs) + + for i = 0, #rows do rows[i]=nil end + + for i = 0, #to_review_rows do to_review_rows[i]=nil end + table.insert(to_review_rows, { + { + markup = 'PRs to review', + align = 'center', + forced_height = 20, + widget = wibox.widget.textbox + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + }) + + for i = 0, #my_review_rows do my_review_rows[i]=nil end + table.insert(my_review_rows, { + { + markup = 'My PRs', + align = 'center', + forced_height = 20, + widget = wibox.widget.textbox + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + }) + local current_time = os.time(os.date("!*t")) + + for _, pr in ipairs(result) do + local path_to_avatar = os.getenv("HOME") ..'/.cache/awmw/gitlab-widget/avatars/' .. pr.author.id + + local row = wibox.widget { + { + { + { + { + resize = true, + image = path_to_avatar, + forced_width = 40, + forced_height = 40, + widget = wibox.widget.imagebox + }, + id = 'avatar', + margins = 8, + layout = wibox.container.margin + }, + { + { + id = 'title', + markup = '' .. ellipsize(pr.title, 50) .. '', + widget = wibox.widget.textbox, + forced_width = 400 + }, + { + { + { + { + text = pr.source_branch, + widget = wibox.widget.textbox + }, + { + text = '->', + widget = wibox.widget.textbox + }, + { + text = pr.target_branch, + widget = wibox.widget.textbox + }, + spacing = 8, + layout = wibox.layout.fixed.horizontal + }, + { + { + text = pr.author.name, + widget = wibox.widget.textbox + }, + { + text = to_time_ago(os.difftime(current_time, parse_date(pr.created_at))), + widget = wibox.widget.textbox + }, + spacing = 8, + expand = 'none', + layout = wibox.layout.fixed.horizontal + }, + forced_width = 285, + layout = wibox.layout.fixed.vertical + }, + { + { + { + -- image = number_of_approves > 0 and WIDGET_DIR .. '/check.svg' or '', + image = WIDGET_DIR .. '/icons/check.svg', + resize = false, + widget = wibox.widget.imagebox + }, + { + text = pr.upvotes, + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.horizontal + }, + { + { + image = WIDGET_DIR .. '/icons/message-circle.svg', + resize = false, + widget = wibox.widget.imagebox + }, + { + text = pr.user_notes_count, + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.horizontal + }, + layout = wibox.layout.fixed.vertical + }, + layout = wibox.layout.fixed.horizontal + }, + + spacing = 8, + layout = wibox.layout.fixed.vertical + }, + spacing = 8, + layout = wibox.layout.fixed.horizontal + }, + margins = 8, + layout = wibox.container.margin + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + } + + if not gfs.file_readable(path_to_avatar) then + spawn.easy_async(string.format( + DOWNLOAD_AVATAR_CMD, + HOME_DIR, + pr.author.id, + pr.author.avatar_url), function() + row:get_children_by_id('avatar')[1]:set_image(path_to_avatar) + end) + end + + row:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end) + row:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end) + + row:get_children_by_id('title')[1]:buttons( + awful.util.table.join( + awful.button({}, 1, function() + spawn.with_shell("xdg-open " .. pr.web_url) + popup.visible = false + end) + ) + ) + row:get_children_by_id('avatar')[1]:buttons( + awful.util.table.join( + awful.button({}, 1, function() + spawn.with_shell("xdg-open " .. pr.author.web_url) + popup.visible = false + end) + ) + ) + + local old_cursor, old_wibox + row:get_children_by_id('title')[1]:connect_signal("mouse::enter", function() + local wb = mouse.current_wibox + old_cursor, old_wibox = wb.cursor, wb + wb.cursor = "hand1" + end) + row:get_children_by_id('title')[1]:connect_signal("mouse::leave", function() + if old_wibox then + old_wibox.cursor = old_cursor + old_wibox = nil + end + end) + + row:get_children_by_id('avatar')[1]:connect_signal("mouse::enter", function() + local wb = mouse.current_wibox + old_cursor, old_wibox = wb.cursor, wb + wb.cursor = "hand1" + end) + row:get_children_by_id('avatar')[1]:connect_signal("mouse::leave", function() + if old_wibox then + old_wibox.cursor = old_cursor + old_wibox = nil + end + end) + + table.insert(to_review_rows, row) + end + + table.insert(rows, to_review_rows) + if (#my_review_rows > 1) then + table.insert(rows, my_review_rows) + end + popup:setup(rows) + end + + gitlab_widget:buttons( + awful.util.table.join( + awful.button({}, 1, function() + if popup.visible then + popup.visible = not popup.visible + else + popup:move_next_to(mouse.current_widget_geometry) + end + end) + ) + ) + + watch(string.format(GET_PRS_CMD, access_token, host), + -- string.format(GET_PRS_CMD, host, workspace, repo_slug, uuid, uuid), + timeout, update_widget, gitlab_widget) + return gitlab_widget +end + +return setmetatable(gitlab_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/gitlab-widget/icons/check.svg b/awesome/awesome-wm-widgets/gitlab-widget/icons/check.svg new file mode 100644 index 00000000..e9e44ace --- /dev/null +++ b/awesome/awesome-wm-widgets/gitlab-widget/icons/check.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/gitlab-widget/icons/gitlab-icon.svg b/awesome/awesome-wm-widgets/gitlab-widget/icons/gitlab-icon.svg new file mode 100644 index 00000000..abe3f37b --- /dev/null +++ b/awesome/awesome-wm-widgets/gitlab-widget/icons/gitlab-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/gitlab-widget/icons/message-circle.svg b/awesome/awesome-wm-widgets/gitlab-widget/icons/message-circle.svg new file mode 100644 index 00000000..43eacbb5 --- /dev/null +++ b/awesome/awesome-wm-widgets/gitlab-widget/icons/message-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/gitlab-widget/screenshot.png b/awesome/awesome-wm-widgets/gitlab-widget/screenshot.png new file mode 100644 index 00000000..8ab65903 Binary files /dev/null and b/awesome/awesome-wm-widgets/gitlab-widget/screenshot.png differ diff --git a/awesome/awesome-wm-widgets/jira-widget/README.md b/awesome/awesome-wm-widgets/jira-widget/README.md new file mode 100644 index 00000000..85abaf24 --- /dev/null +++ b/awesome/awesome-wm-widgets/jira-widget/README.md @@ -0,0 +1,59 @@ +# Jira widget + +The widget shows the number of tickets assigned to the user (or any other result of a JQL query, see customization section) and when clicked shows them in the list, grouped by the ticket status. Left-click on the item opens the issue in the default browser: + +

+screenshot +

+ +## How it works + +Widget uses cURL to query Jira's [REST API](https://developer.atlassian.com/server/jira/platform/rest-apis/). In order to be authenticated, widget uses a [netrc](https://ec.haxx.se/usingcurl/usingcurl-netrc) feature of the cURL, which is basically to store basic auth credentials in a .netrc file in home folder. + +If you are on Atlassian Cloud, then instead of providing a password in netrc file you can set an [API token](https://confluence.atlassian.com/cloud/api-tokens-938839638.html) which is a safer option, as you can revoke/change the token at any time. + +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `host` | Required | Ex: _http://jira.tmnt.com_ | +| `query` | `jql=assignee=currentuser() AND resolution=Unresolved` | JQL query | +| `icon` | `~/.config/awesome/awesome-wm-widgets/jira-widget/jira-mark-gradient-blue.svg` | Path to the icon | +| `timeout` | 600 | How often in seconds the widget refreshes | + +## Installation + +Create a .netrc file in your home directory with following content: + +```bash +machine turtlejira.com +login mikey@tmnt.com +password cowabunga +``` + +Then change file's permissions to 600 (so only you can read/write it): + +```bash +chmod 600 ~/.netrc +``` +And test if it works by calling the API (`-n` option is to use the .netrc file for authentication): + +```bash +curl -n 'https://turtleninja.com/rest/api/2/search?jql=assignee=currentuser()+AND+resolution=Unresolved' +``` + +Clone/download repo and use the widget in **rc.lua**: + +```lua +local jira_widget = require("awesome-wm-widgets.jira-widget.jira") +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + -- default + jira_widget({host = 'http://jira.tmnt.com'}), + ... +``` diff --git a/awesome/awesome-wm-widgets/jira-widget/icon/jira-mark-gradient-blue.svg b/awesome/awesome-wm-widgets/jira-widget/icon/jira-mark-gradient-blue.svg new file mode 100644 index 00000000..74ea729e --- /dev/null +++ b/awesome/awesome-wm-widgets/jira-widget/icon/jira-mark-gradient-blue.svg @@ -0,0 +1 @@ +jira-icon-gradient-blue \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/jira-widget/jira.lua b/awesome/awesome-wm-widgets/jira-widget/jira.lua new file mode 100644 index 00000000..f34e9510 --- /dev/null +++ b/awesome/awesome-wm-widgets/jira-widget/jira.lua @@ -0,0 +1,305 @@ +------------------------------------------------- +-- Jira Widget for Awesome Window Manager +-- Shows the number of currently assigned issues +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/jira-widget + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local wibox = require("wibox") +local watch = require("awful.widget.watch") +local json = require("json") +local spawn = require("awful.spawn") +local naughty = require("naughty") +local gears = require("gears") +local beautiful = require("beautiful") +local gfs = require("gears.filesystem") +local color = require("gears.color") + +local HOME_DIR = os.getenv("HOME") + +local GET_ISSUES_CMD = + [[bash -c "curl -s --show-error -X GET -n '%s/rest/api/2/search?%s&fields=id,assignee,summary,status'"]] +local DOWNLOAD_AVATAR_CMD = [[bash -c "curl -n --create-dirs -o %s/.cache/awmw/jira-widget/avatars/%s %s"]] + +local function show_warning(message) + naughty.notify{ + preset = naughty.config.presets.critical, + title = 'Jira Widget', + text = message} +end + +local jira_widget = wibox.widget { + { + { + { + { + id = 'c', + widget = wibox.widget.imagebox + }, + { + id = 'd', + draw = function(_, _, cr, width, height) + cr:set_source(color(beautiful.fg_urgent)) + cr:arc(width - height / 6, height / 6, height / 6, 0, math.pi * 2) + cr:fill() + end, + visible = false, + layout = wibox.widget.base.make_widget, + }, + id = 'b', + layout = wibox.layout.stack + }, + { + id = "txt", + widget = wibox.widget.textbox + }, + spacing = 4, + layout = wibox.layout.fixed.horizontal, + }, + margins = 4, + layout = wibox.container.margin + }, + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 4) + end, + widget = wibox.container.background, + set_text = function(self, new_value) + self:get_children_by_id('txt')[1]:set_text(new_value) + --self.txt.text = new_value + end, + set_icon = function(self, path) + self:get_children_by_id('c')[1]:set_image(path) + end, + is_everything_ok = function(self, is_ok) + if is_ok then + self:get_children_by_id('d')[1]:set_visible(false) + self:get_children_by_id('c')[1]:set_opacity(1) + self:get_children_by_id('c')[1]:emit_signal('widget:redraw_needed') + else + --self.txt:set_text('') + self:get_children_by_id('txt')[1]:set_text('') + self:get_children_by_id('d')[1]:set_visible(true) + self:get_children_by_id('c')[1]:set_opacity(0.2) + self:get_children_by_id('c')[1]:emit_signal('widget:redraw_needed') + end + end +} + +local popup = awful.popup{ + ontop = true, + visible = false, + shape = gears.shape.rounded_rect, + border_width = 1, + border_color = beautiful.bg_focus, + maximum_width = 400, + offset = { y = 5 }, + widget = {} +} + +local number_of_issues + +local warning_shown = false +local tooltip = awful.tooltip { + mode = 'outside', + preferred_positions = {'bottom'}, + } + +local function worker(user_args) + + local args = user_args or {} + + local icon = args.icon or + HOME_DIR .. '/.config/awesome/awesome-wm-widgets/jira-widget/icon/jira-mark-gradient-blue.svg' + local host = args.host or show_warning('Jira host is unknown') + local query = args.query or 'jql=assignee=currentuser() AND resolution=Unresolved' + local timeout = args.timeout or 600 + + jira_widget:set_icon(icon) + + local separator_widget = { + orientation = 'horizontal', + forced_height = 1, + color = beautiful.bg_focus, + widget = wibox.widget.separator + } + + local update_widget = function(widget, stdout, stderr, _, _) + if stderr ~= '' then + if not warning_shown then + show_warning(stderr) + warning_shown = true + widget:is_everything_ok(false) + tooltip:add_to_object(widget) + + widget:connect_signal('mouse::enter', function() + tooltip.text = stderr + end) + end + return + end + + warning_shown = false + tooltip:remove_from_object(widget) + widget:is_everything_ok(true) + + local result = json.decode(stdout) + + number_of_issues = rawlen(result.issues) + + if number_of_issues == 0 then + widget:set_visible(false) + return + end + + widget:set_visible(true) + widget:set_text(number_of_issues) + + local rows = { layout = wibox.layout.fixed.vertical } + + for i = 0, #rows do rows[i]=nil end + + -- sort issues based on the status + table.sort(result.issues, function(a,b) return a.fields.status.name > b.fields.status.name end) + + local cur_status = '' + for _, issue in ipairs(result.issues) do + + local name + if issue.fields.assignee.name == nil then + name = issue.fields.assignee.displayName + else + name = issue.fields.assignee.name + end + + local path_to_avatar = HOME_DIR ..'/.cache/awmw/jira-widget/avatars/' .. name + + if not gfs.file_readable(path_to_avatar) then + spawn.easy_async(string.format( + DOWNLOAD_AVATAR_CMD, + HOME_DIR, + name, + issue.fields.assignee.avatarUrls['48x48'])) + end + + if (cur_status ~= issue.fields.status.name) then + -- do not insert separator before first item + if (cur_status ~= '') then + table.insert(rows, separator_widget) + end + + table.insert(rows, wibox.widget { + { + { + markup = "" .. issue.fields.status.name .. "", + widget = wibox.widget.textbox, + }, + left = 8, + layout = wibox.container.margin + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + }) + cur_status = issue.fields.status.name + end + + local row = wibox.widget { + { + { + { + { + resize = true, + image = path_to_avatar, + forced_width = 40, + forced_height = 40, + widget = wibox.widget.imagebox + }, + left = 4, + layout = wibox.container.margin + }, + { + { + markup = '' .. issue.fields.summary .. '', + widget = wibox.widget.textbox + }, + { + { + markup = "" .. issue.key .. "", + widget = wibox.widget.textbox + }, + { + markup = "" + .. issue.fields.assignee.displayName .. "", + widget = wibox.widget.textbox + }, + spacing = 8, + layout = wibox.layout.fixed.horizontal + }, + layout = wibox.layout.align.vertical + }, + spacing = 8, + layout = wibox.layout.fixed.horizontal + }, + margins = 4, + layout = wibox.container.margin + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + } + + local old_cursor, old_wibox + row:connect_signal("mouse::enter", function(c) + c:set_bg(beautiful.bg_focus) + c:set_shape(function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 4) + end) + local wb = mouse.current_wibox + old_cursor, old_wibox = wb.cursor, wb + wb.cursor = "hand1" + end) + row:connect_signal("mouse::leave", function(c) + c:set_bg(beautiful.bg_normal) + c:set_shape(nil) + if old_wibox then + old_wibox.cursor = old_cursor + old_wibox = nil + end + end) + + row:buttons( + awful.util.table.join( + awful.button({}, 1, function() + spawn.with_shell("xdg-open " .. host .. '/browse/' .. issue.key) + popup.visible = false + jira_widget:set_bg('#00000000') + end) + ) + ) + + table.insert(rows, row) + end + + popup:setup(rows) + end + + jira_widget:buttons( + awful.util.table.join( + awful.button({}, 1, function() + if popup.visible then + jira_widget:set_bg('#00000000') + popup.visible = not popup.visible + else + jira_widget:set_bg(beautiful.bg_focus) + popup:move_next_to(mouse.current_widget_geometry) + end + end) + ) + ) + watch(string.format(GET_ISSUES_CMD, host, query:gsub(' ', '+')), timeout, update_widget, jira_widget) + return jira_widget +end + +return setmetatable(jira_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/jira-widget/screenshot/screenshot.png b/awesome/awesome-wm-widgets/jira-widget/screenshot/screenshot.png new file mode 100644 index 00000000..7bfe9b60 Binary files /dev/null and b/awesome/awesome-wm-widgets/jira-widget/screenshot/screenshot.png differ diff --git a/awesome/awesome-wm-widgets/logout-menu-widget/README.md b/awesome/awesome-wm-widgets/logout-menu-widget/README.md new file mode 100644 index 00000000..6f8ca272 --- /dev/null +++ b/awesome/awesome-wm-widgets/logout-menu-widget/README.md @@ -0,0 +1,45 @@ +# Logout Menu Widget + +This widget shows a menu with options to log out from the current session, lock, reboot, suspend and power off the computer, similar to [logout-popup-widget](https://github.com/streetturtle/awesome-wm-widgets/tree/master/logout-popup-widget): + +![demo](./logout-menu.gif) + +## Installation + +Clone this repo (if not cloned yet) under **./.config/awesome/** + +```bash +cd ./.config/awesome/ +git clone https://github.com/streetturtle/awesome-wm-widgets +``` +Then add the widget to the wibar: + +```lua +local logout_menu_widget = require("awesome-wm-widgets.logout-menu-widget.logout-menu") + +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + -- default + logout_menu_widget(), + -- custom + logout_menu_widget{ + font = 'Play 14', + onlock = function() awful.spawn.with_shell('i3lock-fancy') end + } + ... +``` + +## Customization + +It is possible to customize the widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `font` | `beautiful.font` | Font of the menu items | +| `onlogout` | `function() awesome.quit() end` | Function which is called when the logout item is clicked | +| `onlock` | `function() awful.spawn.with_shell("i3lock") end` | Function which is called when the lock item is clicked | +| `onreboot` | `function() awful.spawn.with_shell("reboot") end` | Function which is called when the reboot item is clicked | +| `onsuspend` | `function() awful.spawn.with_shell("systemctl suspend") end` | Function which is called when the suspend item is clicked | +| `onpoweroff` | `function() awful.spawn.with_shell("shutdown now") end` | Function which is called when the poweroff item is clicked | diff --git a/awesome/awesome-wm-widgets/logout-menu-widget/icons/lock.svg b/awesome/awesome-wm-widgets/logout-menu-widget/icons/lock.svg new file mode 100644 index 00000000..3cfa528a --- /dev/null +++ b/awesome/awesome-wm-widgets/logout-menu-widget/icons/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/logout-menu-widget/icons/log-out.svg b/awesome/awesome-wm-widgets/logout-menu-widget/icons/log-out.svg new file mode 100644 index 00000000..77afebb4 --- /dev/null +++ b/awesome/awesome-wm-widgets/logout-menu-widget/icons/log-out.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/logout-menu-widget/icons/moon.svg b/awesome/awesome-wm-widgets/logout-menu-widget/icons/moon.svg new file mode 100644 index 00000000..60e6ce8d --- /dev/null +++ b/awesome/awesome-wm-widgets/logout-menu-widget/icons/moon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/logout-menu-widget/icons/power.svg b/awesome/awesome-wm-widgets/logout-menu-widget/icons/power.svg new file mode 100644 index 00000000..68b1be8d --- /dev/null +++ b/awesome/awesome-wm-widgets/logout-menu-widget/icons/power.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/logout-menu-widget/icons/power_w.svg b/awesome/awesome-wm-widgets/logout-menu-widget/icons/power_w.svg new file mode 100644 index 00000000..1f9c4e3b --- /dev/null +++ b/awesome/awesome-wm-widgets/logout-menu-widget/icons/power_w.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/logout-menu-widget/icons/refresh-cw.svg b/awesome/awesome-wm-widgets/logout-menu-widget/icons/refresh-cw.svg new file mode 100644 index 00000000..39f52a55 --- /dev/null +++ b/awesome/awesome-wm-widgets/logout-menu-widget/icons/refresh-cw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/logout-menu-widget/logout-menu.gif b/awesome/awesome-wm-widgets/logout-menu-widget/logout-menu.gif new file mode 100644 index 00000000..9f17b513 Binary files /dev/null and b/awesome/awesome-wm-widgets/logout-menu-widget/logout-menu.gif differ diff --git a/awesome/awesome-wm-widgets/logout-menu-widget/logout-menu.lua b/awesome/awesome-wm-widgets/logout-menu-widget/logout-menu.lua new file mode 100644 index 00000000..ee92230d --- /dev/null +++ b/awesome/awesome-wm-widgets/logout-menu-widget/logout-menu.lua @@ -0,0 +1,136 @@ +------------------------------------------------- +-- Logout Menu Widget for Awesome Window Manager +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/logout-menu-widget + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local wibox = require("wibox") +local gears = require("gears") +local beautiful = require("beautiful") + +local HOME = os.getenv('HOME') +local ICON_DIR = HOME .. '/.config/awesome/awesome-wm-widgets/logout-menu-widget/icons/' + +local logout_menu_widget = wibox.widget { + { + { + image = ICON_DIR .. 'power_w.svg', + resize = true, + widget = wibox.widget.imagebox, + }, + margins = 4, + layout = wibox.container.margin + }, + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 4) + end, + widget = wibox.container.background, +} + +local popup = awful.popup { + ontop = true, + visible = false, + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 4) + end, + border_width = 1, + border_color = beautiful.bg_focus, + maximum_width = 400, + offset = { y = 5 }, + widget = {} +} + +local function worker(user_args) + local rows = { layout = wibox.layout.fixed.vertical } + + local args = user_args or {} + + local font = args.font or beautiful.font + + local onlogout = args.onlogout or function () awesome.quit() end + local onlock = args.onlock or function() awful.spawn.with_shell("dm-tool lock") end + local onreboot = args.onreboot or function() awful.spawn.with_shell("reboot") end + local onsuspend = args.onsuspend or function() awful.spawn.with_shell("loginctl suspend") end + local onpoweroff = args.onpoweroff or function() awful.spawn.with_shell("shutdown now") end + + local menu_items = { + { name = 'Log out', icon_name = 'log-out.svg', command = onlogout }, + { name = 'Lock', icon_name = 'lock.svg', command = onlock }, + { name = 'Reboot', icon_name = 'refresh-cw.svg', command = onreboot }, + { name = 'Suspend', icon_name = 'moon.svg', command = onsuspend }, + { name = 'Power off', icon_name = 'power.svg', command = onpoweroff }, + } + + for _, item in ipairs(menu_items) do + + local row = wibox.widget { + { + { + { + image = ICON_DIR .. item.icon_name, + resize = false, + widget = wibox.widget.imagebox + }, + { + text = item.name, + font = font, + widget = wibox.widget.textbox + }, + spacing = 12, + layout = wibox.layout.fixed.horizontal + }, + margins = 8, + layout = wibox.container.margin + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + } + + row:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end) + row:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end) + + local old_cursor, old_wibox + row:connect_signal("mouse::enter", function() + local wb = mouse.current_wibox + old_cursor, old_wibox = wb.cursor, wb + wb.cursor = "hand1" + end) + row:connect_signal("mouse::leave", function() + if old_wibox then + old_wibox.cursor = old_cursor + old_wibox = nil + end + end) + + row:buttons(awful.util.table.join(awful.button({}, 1, function() + popup.visible = not popup.visible + item.command() + end))) + + table.insert(rows, row) + end + popup:setup(rows) + + logout_menu_widget:buttons( + awful.util.table.join( + awful.button({}, 1, function() + if popup.visible then + popup.visible = not popup.visible + logout_menu_widget:set_bg('#00000000') + else + popup:move_next_to(mouse.current_widget_geometry) + logout_menu_widget:set_bg(beautiful.bg_focus) + end + end) + ) + ) + + return logout_menu_widget + +end + +return setmetatable(logout_menu_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/logout-popup-widget/README.md b/awesome/awesome-wm-widgets/logout-popup-widget/README.md new file mode 100644 index 00000000..d95b6921 --- /dev/null +++ b/awesome/awesome-wm-widgets/logout-popup-widget/README.md @@ -0,0 +1,84 @@ +# Logout Popup Widget + +Widget which allows performing lock, reboot, log out, power off and sleep actions. It can be called either by a shortcut, or by clicking on a widget in wibar. + +

+ screenshot +

+ +When the widget is shown, following shortcuts can be used: + - Escape - hide widget + - s - shutdown + - r - reboot + - u - suspend + - k - lock + - l - log out + +# Installation + +Clone this (if not cloned yet) and the [awesome-buttons](https://github.com/streetturtle/awesome-buttons) repos under **./.config/awesome/** + +```bash +cd ./.config/awesome/ +git clone https://github.com/streetturtle/awesome-wm-widgets +git clone https://github.com/streetturtle/awesome-buttons +``` +Then + +- to show by a shortcut - define a shortcut in `globalkeys`: + + ```lua + local logout_popup = require("awesome-wm-widgets.logout-popup-widget.logout-popup") + ... + globalkeys = gears.table.join( + ... + awful.key({ modkey }, "l", function() logout_popup.launch() end, {description = "Show logout screen", group = "custom"}), + ``` + +- to show by clicking on a widget in wibar - add widget to the wibar: + + ```lua + local logout_popup = require("awesome-wm-widgets.logout-popup-widget.logout-popup") + + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + logout_popup.widget{}, + ... + ``` + +# Customisation + +| Name | Default | Description | +|---|---|---| +| `icon` | `power.svg` | If used as widget - the path to the widget's icon | +| `icon_size` | `40` | Size of the icon | +| `icon_margin` | `16` | Margin around the icon | +| `bg_color` | `beautiful.bg_normal` | The color the background of the | +| `accent_color` | `beautiful.bg_focus` | The color of the buttons | +| `text_color` | `beautiful.fg_normal` | The color of text | +| `label_color` | `beautiful.fg_normal` | The color of the button's label | +| `phrases` | `{'Goodbye!'}` | The table with phrase(s) to show, if more than one provided, the phrase is chosen randomly. Leave empty (`{}`) to hide the phrase | +| `onlogout` | `function() awesome.quit() end` | Function which is called when the logout button is pressed | +| `onlock` | `function() awful.spawn.with_shell("systemctl suspend") end` | Function which is called when the lock button is pressed | +| `onreboot` | `function() awful.spawn.with_shell("reboot") end` | Function which is called when the reboot button is pressed | +| `onsuspend` | `function() awful.spawn.with_shell("systemctl suspend") end` | Function which is called when the suspend button is pressed | +| `onpoweroff` | `function() awful.spawn.with_shell("shutdown now") end` | Function which is called when the poweroff button is pressed | + +Some color themes for inspiration: + +![nord](./logout-nord.png) +![outrun](./logout-outrun.png) +![dark](./logout-dark.png) +![dracula](./logout-dracula.png) + +```lua +logout.launch{ + bg_color = "#261447", accent_color = "#ff4365", text_color = '#f706cf', icon_size = 40, icon_margin = 16, -- outrun + -- bg_color = "#0b0c10", accent_color = "#1f2833", text_color = '#66fce1', -- dark + -- bg_color = "#3B4252", accent_color = "#88C0D0", text_color = '#D8DEE9', -- nord + -- bg_color = "#282a36", accent_color = "#ff79c6", phrases = {}, -- dracula, no phrase + phrases = {"exit(0)", "Don't forget to be awesome.", "Yippee ki yay!"}, +} +``` diff --git a/awesome/awesome-wm-widgets/logout-popup-widget/logout-dark.png b/awesome/awesome-wm-widgets/logout-popup-widget/logout-dark.png new file mode 100644 index 00000000..06e7c9ce Binary files /dev/null and b/awesome/awesome-wm-widgets/logout-popup-widget/logout-dark.png differ diff --git a/awesome/awesome-wm-widgets/logout-popup-widget/logout-dracula.png b/awesome/awesome-wm-widgets/logout-popup-widget/logout-dracula.png new file mode 100644 index 00000000..3c61c46c Binary files /dev/null and b/awesome/awesome-wm-widgets/logout-popup-widget/logout-dracula.png differ diff --git a/awesome/awesome-wm-widgets/logout-popup-widget/logout-nord.png b/awesome/awesome-wm-widgets/logout-popup-widget/logout-nord.png new file mode 100644 index 00000000..9ab4b55a Binary files /dev/null and b/awesome/awesome-wm-widgets/logout-popup-widget/logout-nord.png differ diff --git a/awesome/awesome-wm-widgets/logout-popup-widget/logout-outrun.png b/awesome/awesome-wm-widgets/logout-popup-widget/logout-outrun.png new file mode 100644 index 00000000..9be68b5a Binary files /dev/null and b/awesome/awesome-wm-widgets/logout-popup-widget/logout-outrun.png differ diff --git a/awesome/awesome-wm-widgets/logout-popup-widget/logout-popup.lua b/awesome/awesome-wm-widgets/logout-popup-widget/logout-popup.lua new file mode 100644 index 00000000..efe6882f --- /dev/null +++ b/awesome/awesome-wm-widgets/logout-popup-widget/logout-popup.lua @@ -0,0 +1,187 @@ +------------------------------------------------- +-- Logout widget for Awesome Window Manager +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/logout-widget + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local capi = {keygrabber = keygrabber } +local wibox = require("wibox") +local gears = require("gears") +local beautiful = require("beautiful") +local awesomebuttons = require("awesome-buttons.awesome-buttons") + + +local HOME_DIR = os.getenv("HOME") +local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/logout-popup-widget' + + +local w = wibox { + bg = beautiful.fg_normal, + max_widget_size = 500, + ontop = true, + height = 200, + width = 400, + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 8) + end +} + +local action = wibox.widget { + text = ' ', + widget = wibox.widget.textbox +} + +local phrase_widget = wibox.widget{ + align = 'center', + widget = wibox.widget.textbox +} + +local function create_button(icon_name, action_name, accent_color, label_color, onclick, icon_size, icon_margin) + + local button = awesomebuttons.with_icon { + type = 'basic', + icon = icon_name, + color = accent_color, + icon_size = icon_size, + icon_margin = icon_margin, + onclick = function() + onclick() + w.visible = false + capi.keygrabber.stop() + end + } + button:connect_signal("mouse::enter", function() + action:set_markup('' .. action_name .. '') + end) + + button:connect_signal("mouse::leave", function() action:set_markup(' ') end) + + return button +end + +local function launch(args) + args = args or {} + + local bg_color = args.bg_color or beautiful.bg_normal + local accent_color = args.accent_color or beautiful.bg_focus + local text_color = args.text_color or beautiful.fg_normal + local label_color = args.label_color or beautiful.fg_focus + local phrases = args.phrases or {'Goodbye!'} + local icon_size = args.icon_size or 40 + local icon_margin = args.icon_margin or 16 + + local onlogout = args.onlogout or function () awesome.quit() end + local onlock = args.onlock or function() awful.spawn.with_shell("i3lock") end + local onreboot = args.onreboot or function() awful.spawn.with_shell("reboot") end + local onsuspend = args.onsuspend or function() awful.spawn.with_shell("systemctl suspend") end + local onpoweroff = args.onpoweroff or function() awful.spawn.with_shell("shutdown now") end + + w:set_bg(bg_color) + if #phrases > 0 then + phrase_widget:set_markup( + '' .. phrases[ math.random( #phrases ) ] .. '') + end + + w:setup { + { + phrase_widget, + { + { + create_button('log-out', 'Log Out (l)', + accent_color, label_color, onlogout, icon_size, icon_margin), + create_button('lock', 'Lock (k)', + accent_color, label_color, onlock, icon_size, icon_margin), + create_button('refresh-cw', 'Reboot (r)', + accent_color, label_color, onreboot, icon_size, icon_margin), + create_button('moon', 'Suspend (u)', + accent_color, label_color, onsuspend, icon_size, icon_margin), + create_button('power', 'Power Off (s)', + accent_color, label_color, onpoweroff, icon_size, icon_margin), + id = 'buttons', + spacing = 8, + layout = wibox.layout.fixed.horizontal + }, + valign = 'center', + layout = wibox.container.place + }, + { + action, + haligh = 'center', + layout = wibox.container.place + }, + spacing = 32, + layout = wibox.layout.fixed.vertical + }, + id = 'a', + shape_border_width = 1, + valign = 'center', + layout = wibox.container.place + } + + w.screen = mouse.screen + w.visible = true + + awful.placement.centered(w) + capi.keygrabber.run(function(_, key, event) + if event == "release" then return end + if key then + if key == 'Escape' then + phrase_widget:set_text('') + capi.keygrabber.stop() + w.visible = false + elseif key == 's' then onpoweroff() + elseif key == 'r' then onreboot() + elseif key == 'u' then onsuspend() + elseif key == 'k' then onlock() + elseif key == 'l' then onlogout() + end + + if key == 'Escape' or string.match("srukl", key) then + phrase_widget:set_text('') + capi.keygrabber.stop() + w.visible = false + end + end + end) +end + +local function widget(args) + local icon = args.icon or WIDGET_DIR .. '/power.svg' + + local res = wibox.widget { + { + { + image = icon, + widget = wibox.widget.imagebox + }, + margins = 4, + layout = wibox.container.margin + }, + layout = wibox.layout.fixed.horizontal, + } + + res:buttons( + awful.util.table.join( + awful.button({}, 1, function() + if w.visible then + phrase_widget:set_text('') + capi.keygrabber.stop() + w.visible = false + else + launch(args) + end + end) + )) + + return res + +end + +return { + launch = launch, + widget = widget +} diff --git a/awesome/awesome-wm-widgets/logout-popup-widget/power.svg b/awesome/awesome-wm-widgets/logout-popup-widget/power.svg new file mode 100644 index 00000000..1f9c4e3b --- /dev/null +++ b/awesome/awesome-wm-widgets/logout-popup-widget/power.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/logout-popup-widget/screenshot.gif b/awesome/awesome-wm-widgets/logout-popup-widget/screenshot.gif new file mode 100644 index 00000000..4975c193 Binary files /dev/null and b/awesome/awesome-wm-widgets/logout-popup-widget/screenshot.gif differ diff --git a/awesome/awesome-wm-widgets/logout-popup-widget/screenshot.png b/awesome/awesome-wm-widgets/logout-popup-widget/screenshot.png new file mode 100644 index 00000000..74ed7f0c Binary files /dev/null and b/awesome/awesome-wm-widgets/logout-popup-widget/screenshot.png differ diff --git a/awesome/awesome-wm-widgets/mpdarc-widget/README.md b/awesome/awesome-wm-widgets/mpdarc-widget/README.md new file mode 100644 index 00000000..21924104 --- /dev/null +++ b/awesome/awesome-wm-widgets/mpdarc-widget/README.md @@ -0,0 +1,26 @@ +# MPD Widget + +Music Player Daemon widget by @raphaelfournier. + +# Prerequisite + +Install `mpd` (Music Player Daemon itself) and `mpc` (Music Player Client - program for controlling mpd), both should be available in repo, e.g for Ubuntu: + +```bash +sudo apt-get install mpd mpc +``` + +## Installation + +To use this widget clone repo under **~/.config/awesome/** and then add it in **rc.lua**: + +```lua +local mpdarc_widget = require("awesome-wm-widgets.mpdarc-widget.mpdarc") +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + mpdarc_widget, + ... +``` diff --git a/awesome/awesome-wm-widgets/mpdarc-widget/mpdarc.lua b/awesome/awesome-wm-widgets/mpdarc-widget/mpdarc.lua new file mode 100644 index 00000000..f1d69308 --- /dev/null +++ b/awesome/awesome-wm-widgets/mpdarc-widget/mpdarc.lua @@ -0,0 +1,119 @@ +------------------------------------------------- +-- mpd Arc Widget for Awesome Window Manager +-- Modelled after Pavel Makhov's work + +-- @author Raphaël Fournier-S'niehotta +-- @copyright 2018 Raphaël Fournier-S'niehotta +------------------------------------------------- + +local awful = require("awful") +local beautiful = require("beautiful") +local spawn = require("awful.spawn") +local watch = require("awful.widget.watch") +local wibox = require("wibox") +local naughty = require("naughty") + +local GET_MPD_CMD = "mpc status" +local TOGGLE_MPD_CMD = "mpc toggle" +local PAUSE_MPD_CMD = "mpc pause" +local STOP_MPD_CMD = "mpc stop" +local NEXT_MPD_CMD = "mpc next" +local PREV_MPD_CMD = "mpc prev" + +local PATH_TO_ICONS = "/usr/share/icons/Arc" +local PAUSE_ICON_NAME = PATH_TO_ICONS .. "/actions/24/player_pause.png" +local PLAY_ICON_NAME = PATH_TO_ICONS .. "/actions/24/player_play.png" +local STOP_ICON_NAME = PATH_TO_ICONS .. "/actions/24/player_stop.png" + +local icon = wibox.widget { + id = "icon", + widget = wibox.widget.imagebox, + image = PLAY_ICON_NAME + } +local mirrored_icon = wibox.container.mirror(icon, { horizontal = true }) + +local mpdarc = wibox.widget { + mirrored_icon, + max_value = 1, + value = 0.75, + thickness = 2, + start_angle = 4.71238898, -- 2pi*3/4 + forced_height = 32, + forced_width = 32, + rounded_edge = true, + bg = "#ffffff11", + paddings = 0, + widget = wibox.container.arcchart +} + +local mpdarc_icon_widget = wibox.container.mirror(mpdarc, { horizontal = true }) +local mpdarc_current_song_widget = wibox.widget { + id = 'current_song', + widget = wibox.widget.textbox, + font = 'Play 9' +} + +local update_graphic = function(widget, stdout, _, _, _) + local current_song = string.gmatch(stdout, "[^\r\n]+")() + stdout = string.gsub(stdout, "\n", "") + local mpdpercent = string.match(stdout, "(%d%d)%%") + local mpdstatus = string.match(stdout, "%[(%a+)%]") + if mpdstatus == "playing" then + icon.image = PLAY_ICON_NAME + widget.colors = { beautiful.widget_main_color } + widget.value = tonumber((100-mpdpercent)/100) + mpdarc_current_song_widget.markup = current_song + elseif mpdstatus == "paused" then + icon.image = PAUSE_ICON_NAME + widget.colors = { beautiful.widget_main_color } + widget.value = tonumber(mpdpercent/100) + mpdarc_current_song_widget.markup = current_song + else + icon.image = STOP_ICON_NAME + if string.len(stdout) == 0 then -- MPD is not running + mpdarc_current_song_widget.markup = "MPD is not running" + else + widget.colors = { beautiful.widget_red } + mpdarc_current_song_widget.markup = "" + end + end +end + +mpdarc:connect_signal("button::press", function(_, _, _, button) + if (button == 1) then awful.spawn(TOGGLE_MPD_CMD, false) -- left click + elseif (button == 2) then awful.spawn(STOP_MPD_CMD, false) + elseif (button == 3) then awful.spawn(PAUSE_MPD_CMD, false) + elseif (button == 4) then awful.spawn(NEXT_MPD_CMD, false) -- scroll up + elseif (button == 5) then awful.spawn(PREV_MPD_CMD, false) -- scroll down + end + + spawn.easy_async(GET_MPD_CMD, function(stdout, stderr, exitreason, exitcode) + update_graphic(mpdarc, stdout, stderr, exitreason, exitcode) + end) +end) + +local notification +local function show_MPD_status() + spawn.easy_async(GET_MPD_CMD, + function(stdout, _, _, _) + notification = naughty.notify { + text = stdout, + title = "MPD", + timeout = 5, + hover_timeout = 0.5, + width = 600, + } + end) +end + +mpdarc:connect_signal("mouse::enter", function() show_MPD_status() end) +mpdarc:connect_signal("mouse::leave", function() naughty.destroy(notification) end) + +watch(GET_MPD_CMD, 1, update_graphic, mpdarc) + +local mpdarc_widget = wibox.widget{ + mpdarc_icon_widget, + mpdarc_current_song_widget, + layout = wibox.layout.align.horizontal, + } +return mpdarc_widget diff --git a/awesome/awesome-wm-widgets/mpris-widget/README.md b/awesome/awesome-wm-widgets/mpris-widget/README.md new file mode 100644 index 00000000..7efad788 --- /dev/null +++ b/awesome/awesome-wm-widgets/mpris-widget/README.md @@ -0,0 +1,26 @@ +# MPRIS Widget (In progress) + +Music Player Info widget cy @mgabs + +# Prerequisite + +Install `playerctl` (mpris implementation), should be available in repo, e.g for Ubuntu: + +```bash +sudo apt-get install playerctl +``` + +## Installation + +To use this widget clone repo under **~/.config/awesome/** and then add it in **rc.lua**: + +```lua +local mpris_widget = require("awesome-wm-widgets.mpris-widget") +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + mpris_widget(), + ... +``` diff --git a/awesome/awesome-wm-widgets/mpris-widget/init.lua b/awesome/awesome-wm-widgets/mpris-widget/init.lua new file mode 100644 index 00000000..5e45ffa3 --- /dev/null +++ b/awesome/awesome-wm-widgets/mpris-widget/init.lua @@ -0,0 +1,187 @@ +------------------------------------------------- +-- mpris based Arc Widget for Awesome Window Manager +-- Modelled after Pavel Makhov's work +-- @author Mohammed Gaber +-- requires - playerctl +-- @copyright 2020 +------------------------------------------------- +local awful = require("awful") +local beautiful = require("beautiful") +local watch = require("awful.widget.watch") +local wibox = require("wibox") +local gears = require("gears") + +local GET_MPD_CMD = "playerctl -p %s -f '{{status}};{{xesam:artist}};{{xesam:title}}' metadata" + +local TOGGLE_MPD_CMD = "playerctl play-pause" +local NEXT_MPD_CMD = "playerctl next" +local PREV_MPD_CMD = "playerctl previous" +local LIST_PLAYERS_CMD = "playerctl -l" + +local PATH_TO_ICONS = "/usr/share/icons/Arc" +local PAUSE_ICON_NAME = PATH_TO_ICONS .. "/actions/24/player_pause.png" +local PLAY_ICON_NAME = PATH_TO_ICONS .. "/actions/24/player_play.png" +local STOP_ICON_NAME = PATH_TO_ICONS .. "/actions/24/player_stop.png" +local LIBRARY_ICON_NAME = PATH_TO_ICONS .. "/actions/24/music-library.png" + +local default_player = '' + +local icon = wibox.widget { + id = "icon", + widget = wibox.widget.imagebox, + image = PLAY_ICON_NAME +} + +local mpris_widget = wibox.widget{ + { + id = 'artist', + widget = wibox.widget.textbox + }, + { + icon, + max_value = 1, + value = 0, + thickness = 2, + start_angle = 4.71238898, -- 2pi*3/4 + forced_height = 24, + forced_width = 24, + rounded_edge = true, + bg = "#ffffff11", + paddings = 0, + widget = wibox.container.arcchart + }, + { + id = 'title', + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.horizontal, + set_text = function(self, artist, title) + self:get_children_by_id('artist')[1]:set_text(artist) + self:get_children_by_id('title')[1]:set_text(title) + end +} + +local rows = { layout = wibox.layout.fixed.vertical } + +local popup = awful.popup{ + bg = beautiful.bg_normal, + ontop = true, + visible = false, + shape = gears.shape.rounded_rect, + border_width = 1, + border_color = beautiful.bg_focus, + maximum_width = 400, + offset = { y = 5 }, + widget = {} +} + +local function rebuild_popup() + awful.spawn.easy_async(LIST_PLAYERS_CMD, function(stdout, _, _, _) + for i = 0, #rows do rows[i]=nil end + for player_name in stdout:gmatch("[^\r\n]+") do + if player_name ~='' and player_name ~=nil then + + local checkbox = wibox.widget{ + { + checked = player_name == default_player, + color = beautiful.bg_normal, + paddings = 2, + shape = gears.shape.circle, + forced_width = 20, + forced_height = 20, + check_color = beautiful.fg_urgent, + widget = wibox.widget.checkbox + }, + valign = 'center', + layout = wibox.container.place, + } + + checkbox:connect_signal("button::press", function() + default_player = player_name + rebuild_popup() + end) + + table.insert(rows, wibox.widget { + { + { + checkbox, + { + { + text = player_name, + align = 'left', + widget = wibox.widget.textbox + }, + left = 10, + layout = wibox.container.margin + }, + spacing = 8, + layout = wibox.layout.align.horizontal + }, + margins = 4, + layout = wibox.container.margin + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + }) + end + end + end) + + popup:setup(rows) +end + +local function worker() + + -- retrieve song info + local current_song, artist, player_status + + local update_graphic = function(widget, stdout, _, _, _) + local words = gears.string.split(stdout, ';') + player_status = words[1] + artist = words[2] + current_song = words[3] + if current_song ~= nil then + if string.len(current_song) > 18 then + current_song = string.sub(current_song, 0, 9) .. ".." + end + end + + if player_status == "Playing" then + icon.image = PLAY_ICON_NAME + widget.colors = {beautiful.widget_main_color} + widget:set_text(artist, current_song) + elseif player_status == "Paused" then + icon.image = PAUSE_ICON_NAME + widget.colors = {beautiful.widget_main_color} + widget:set_text(artist, current_song) + elseif player_status == "Stopped" then + icon.image = STOP_ICON_NAME + else -- no player is running + icon.image = LIBRARY_ICON_NAME + widget.colors = {beautiful.widget_red} + end + end + + mpris_widget:buttons( + awful.util.table.join( + awful.button({}, 3, function() + if popup.visible then + popup.visible = not popup.visible + else + rebuild_popup() + popup:move_next_to(mouse.current_widget_geometry) + end + end), + awful.button({}, 4, function() awful.spawn(NEXT_MPD_CMD, false) end), + awful.button({}, 5, function() awful.spawn(PREV_MPD_CMD, false) end), + awful.button({}, 1, function() awful.spawn(TOGGLE_MPD_CMD, false) end) + ) + ) + + watch(string.format(GET_MPD_CMD, "'" .. default_player .. "'"), 1, update_graphic, mpris_widget) + + return mpris_widget + +end + +return setmetatable(mpris_widget, {__call = function(_, ...) return worker(...) end}) diff --git a/awesome/awesome-wm-widgets/net-speed-widget/README.md b/awesome/awesome-wm-widgets/net-speed-widget/README.md new file mode 100644 index 00000000..a09893ee --- /dev/null +++ b/awesome/awesome-wm-widgets/net-speed-widget/README.md @@ -0,0 +1,22 @@ +# Net Speed Widget + +The widget and readme is in progress + +## Installation + +Please refer to the [installation](https://github.com/streetturtle/awesome-wm-widgets#installation) section of the repo. + +Clone repo, include widget and use it in **rc.lua**: + +```lua +local net_speed_widget = require("awesome-wm-widgets.net-speed-widget.net-speed") +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + net_speed_widget(), + ... + } + ... +``` diff --git a/awesome/awesome-wm-widgets/net-speed-widget/icons/down.svg b/awesome/awesome-wm-widgets/net-speed-widget/icons/down.svg new file mode 100644 index 00000000..9a98f39c --- /dev/null +++ b/awesome/awesome-wm-widgets/net-speed-widget/icons/down.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/awesome/awesome-wm-widgets/net-speed-widget/icons/up.svg b/awesome/awesome-wm-widgets/net-speed-widget/icons/up.svg new file mode 100644 index 00000000..e3c12a79 --- /dev/null +++ b/awesome/awesome-wm-widgets/net-speed-widget/icons/up.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/awesome/awesome-wm-widgets/net-speed-widget/net-speed.lua b/awesome/awesome-wm-widgets/net-speed-widget/net-speed.lua new file mode 100644 index 00000000..6dd3b058 --- /dev/null +++ b/awesome/awesome-wm-widgets/net-speed-widget/net-speed.lua @@ -0,0 +1,126 @@ +------------------------------------------------- +-- Net Speed Widget for Awesome Window Manager +-- Shows current upload/download speed +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/net-speed-widget + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local watch = require("awful.widget.watch") +local wibox = require("wibox") + +local HOME_DIR = os.getenv("HOME") +local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/net-speed-widget/' +local ICONS_DIR = WIDGET_DIR .. 'icons/' + +local net_speed_widget = {} + +local function convert_to_h(bytes) + local speed + local dim + local bits = bytes * 8 + if bits < 1000 then + speed = bits + dim = 'b/s' + elseif bits < 1000000 then + speed = bits/1000 + dim = 'kb/s' + elseif bits < 1000000000 then + speed = bits/1000000 + dim = 'mb/s' + elseif bits < 1000000000000 then + speed = bits/1000000000 + dim = 'gb/s' + else + speed = tonumber(bits) + dim = 'b/s' + end + return math.floor(speed + 0.5) .. dim +end + +local function split(string_to_split, separator) + if separator == nil then separator = "%s" end + local t = {} + + for str in string.gmatch(string_to_split, "([^".. separator .."]+)") do + table.insert(t, str) + end + + return t +end + +local function worker(user_args) + + local args = user_args or {} + + local interface = args.interface or '*' + local timeout = args.timeout or 1 + local width = args.width or 55 + + net_speed_widget = wibox.widget { + { + id = 'rx_speed', + forced_width = width, + align = 'right', + widget = wibox.widget.textbox + }, + { + image = ICONS_DIR .. 'down.svg', + widget = wibox.widget.imagebox + }, + { + image = ICONS_DIR .. 'up.svg', + widget = wibox.widget.imagebox + }, + { + id = 'tx_speed', + forced_width = width, + align = 'left', + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.horizontal, + set_rx_text = function(self, new_rx_speed) + self:get_children_by_id('rx_speed')[1]:set_text(tostring(new_rx_speed)) + end, + set_tx_text = function(self, new_tx_speed) + self:get_children_by_id('tx_speed')[1]:set_text(tostring(new_tx_speed)) + end + } + + -- make sure these are not shared across different worker/widgets (e.g. two monitors) + -- otherwise the speed will be randomly split among the worker in each monitor + local prev_rx = 0 + local prev_tx = 0 + + local update_widget = function(widget, stdout) + + local cur_vals = split(stdout, '\r\n') + + local cur_rx = 0 + local cur_tx = 0 + + for i, v in ipairs(cur_vals) do + if i%2 == 1 then cur_rx = cur_rx + v end + if i%2 == 0 then cur_tx = cur_tx + v end + end + + local speed_rx = (cur_rx - prev_rx) / timeout + local speed_tx = (cur_tx - prev_tx) / timeout + + widget:set_rx_text(convert_to_h(speed_rx)) + widget:set_tx_text(convert_to_h(speed_tx)) + + prev_rx = cur_rx + prev_tx = cur_tx + end + + watch(string.format([[bash -c "cat /sys/class/net/%s/statistics/*_bytes"]], interface), + timeout, update_widget, net_speed_widget) + + return net_speed_widget + +end + +return setmetatable(net_speed_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/pomodoroarc-widget/README.md b/awesome/awesome-wm-widgets/pomodoroarc-widget/README.md new file mode 100644 index 00000000..49b1b2c4 --- /dev/null +++ b/awesome/awesome-wm-widgets/pomodoroarc-widget/README.md @@ -0,0 +1,16 @@ +# Pomodoro Widget + +:construction: This widget is under construction :construction_worker: + +## Installation + +This widget is based on [@jsspencer](https://github.com/jsspencer)' [pomo](https://github.com/jsspencer/pomo) - a simple pomodoro timer. +So first install/clone it anywhere you like, then either + - in widget's code provide path to the pomo.sh, or + - add pomo.sh to the PATH, or + - make a soft link in /usr/local/bin/ to it: + ```bash + sudo ln -sf /opt/pomodoro/pomo.sh /usr/local/bin/pomo + ``` + +Note that by default widget's code expects third way and calls script by `pomo`. \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/pomodoroarc-widget/pomodoroarc.lua b/awesome/awesome-wm-widgets/pomodoroarc-widget/pomodoroarc.lua new file mode 100644 index 00000000..497a2084 --- /dev/null +++ b/awesome/awesome-wm-widgets/pomodoroarc-widget/pomodoroarc.lua @@ -0,0 +1,135 @@ +------------------------------------------------- +-- Pomodoro Arc Widget for Awesome Window Manager +-- Modelled after Pavel Makhov's work + +-- @author Raphaël Fournier-S'niehotta +-- @copyright 2018 Raphaël Fournier-S'niehotta +------------------------------------------------- + +local awful = require("awful") +local beautiful = require("beautiful") +local spawn = require("awful.spawn") +local watch = require("awful.widget.watch") +local wibox = require("wibox") +local naughty = require("naughty") + +local GET_pomodoro_CMD = "pomo clock" +local PAUSE_pomodoro_CMD = "pomo pause" +local START_pomodoro_CMD = "pomo start" +local STOP_pomodoro_CMD = "pomo stop" + +local text = wibox.widget { + id = "txt", + --font = "Play 12", +font = "Inconsolata Medium 13", + widget = wibox.widget.textbox +} +-- mirror the text, because the whole widget will be mirrored after +local mirrored_text = wibox.container.margin(wibox.container.mirror(text, { horizontal = true })) +mirrored_text.right = 5 -- pour centrer le texte dans le rond +-- +--local mirrored_text = wibox.container.mirror(text, { horizontal = true }) + +-- mirrored text with background +local mirrored_text_with_background = wibox.container.background(mirrored_text) + +local pomodoroarc = wibox.widget { + mirrored_text_with_background, + max_value = 1, + thickness = 2, + start_angle = 4.71238898, -- 2pi*3/4 + forced_height = 32, + forced_width = 32, + rounded_edge = true, + bg = "#ffffff11", + paddings = 0, + widget = wibox.container.arcchart +} + +local pomodoroarc_widget = wibox.container.mirror(pomodoroarc, { horizontal = true }) + +local update_graphic = function(widget, stdout, _, _, _) + local pomostatus = string.match(stdout, " (%D?%D?):%D?%D?") + if pomostatus == "--" then +text.font = "Inconsolata Medium 13" + widget.colors = { beautiful.widget_main_color } + text.text = "25" + widget.value = 1 + else +text.font = "Inconsolata Medium 13" + local pomomin = string.match(stdout, "[ P]?[BW](%d?%d?):%d?%d?") + local pomosec = string.match(stdout, "[ P]?[BW]%d?%d?:(%d?%d?)") + local pomodoro = pomomin * 60 + pomosec + + local status = string.match(stdout, "([ P]?)[BW]%d?%d?:%d?%d?") + local workbreak = string.match(stdout, "[ P]?([BW])%d?%d?:%d?%d?") + text.text = pomomin + +-- Helps debugging + --naughty.notify { + --text = pomomin, + --title = "pomodoro debug", + --timeout = 5, + --hover_timeout = 0.5, + --width = 200, + --} + + if status == " " then -- clock ticking + if workbreak == "W" then + widget.value = tonumber(pomodoro/(25*60)) + if tonumber(pomomin) < 5 then -- last 5 min of pomo + widget.colors = { beautiful.widget_red } + else + widget.colors = { beautiful.widget_blue } + end + elseif workbreak == "B" then -- color during pause + widget.colors = { beautiful.widget_green } + widget.value = tonumber(pomodoro/(5*60)) + end + elseif status == "P" then -- paused + if workbreak == "W" then + widget.colors = { beautiful.widget_yellow } + widget.value = tonumber(pomodoro/(25*60)) +text.font = "Inconsolata Medium 13" + text.text = "PW" + elseif workbreak == "B" then + widget.colors = { beautiful.widget_yellow } + widget.value = tonumber(pomodoro/(5*60)) +text.font = "Inconsolata Medium 13" + text.text = "PB" + end + end + end +end + +pomodoroarc:connect_signal("button::press", function(_, _, _, button) + if (button == 2) then awful.spawn(PAUSE_pomodoro_CMD, false) + elseif (button == 1) then awful.spawn(START_pomodoro_CMD, false) + elseif (button == 3) then awful.spawn(STOP_pomodoro_CMD, false) + end + + spawn.easy_async(GET_pomodoro_CMD, function(stdout, stderr, exitreason, exitcode) + update_graphic(pomodoroarc, stdout, stderr, exitreason, exitcode) + end) +end) + +local notification +local function show_pomodoro_status() + spawn.easy_async(GET_pomodoro_CMD, + function(stdout, _, _, _) + notification = naughty.notify { + text = stdout, + title = "pomodoro status", + timeout = 5, + hover_timeout = 0.5, + width = 200, + } + end) +end + +pomodoroarc:connect_signal("mouse::enter", function() show_pomodoro_status() end) +pomodoroarc:connect_signal("mouse::leave", function() naughty.destroy(notification) end) + +watch(GET_pomodoro_CMD, 1, update_graphic, pomodoroarc) + +return pomodoroarc_widget diff --git a/awesome/awesome-wm-widgets/ram-widget/README.md b/awesome/awesome-wm-widgets/ram-widget/README.md new file mode 100644 index 00000000..6e809768 --- /dev/null +++ b/awesome/awesome-wm-widgets/ram-widget/README.md @@ -0,0 +1,39 @@ +# Ram widget + +This widget shows the RAM usage. When clicked another widget appears with more detailed information: + +![screenshot](./out.gif) + +Note: this widget is compatible with Awesome v4.3+, as it is using [awful.popup](https://awesomewm.org/doc/api/classes/awful.popup.html) + +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `color_used` | `beautiful.bg_urgent` | Color for used RAM | +| `color_free` | `beautiful.fg_normal` | Color for free RAM | +| `color_buf` | `beautiful.border_color_active` | Color for buffers/cache | +| `widget_show_buf` | `false` | Whether to display buffers/cache separately in the tray widget. If `false`, buffers/cache are considered free RAM. | +| `timeout` | 1 | How often (in seconds) the widget refreshes | + +## Installation + +Please refer to the [installation](https://github.com/streetturtle/awesome-wm-widgets#installation) section of the repo. + +Clone repo, include widget and use it in **rc.lua**: + +```lua +local ram_widget = require("awesome-wm-widgets.ram-widget.ram-widget") +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + ram_widget(), + ... + } + ... +``` + diff --git a/awesome/awesome-wm-widgets/ram-widget/out.gif b/awesome/awesome-wm-widgets/ram-widget/out.gif new file mode 100644 index 00000000..736f8949 Binary files /dev/null and b/awesome/awesome-wm-widgets/ram-widget/out.gif differ diff --git a/awesome/awesome-wm-widgets/ram-widget/ram-widget.lua b/awesome/awesome-wm-widgets/ram-widget/ram-widget.lua new file mode 100644 index 00000000..1b5cdcf3 --- /dev/null +++ b/awesome/awesome-wm-widgets/ram-widget/ram-widget.lua @@ -0,0 +1,105 @@ +local awful = require("awful") +local beautiful = require("beautiful") +local gears = require("gears") +local watch = require("awful.widget.watch") +local wibox = require("wibox") + + +local ramgraph_widget = {} + + +local function worker(user_args) + local args = user_args or {} + local timeout = args.timeout or 1 + local color_used = args.color_used or beautiful.bg_urgent + local color_free = args.color_free or beautiful.fg_normal + local color_buf = args.color_buf or beautiful.border_color_active + local widget_show_buf = args.widget_show_buf or false + + --- Main ram widget shown on wibar + ramgraph_widget = wibox.widget { + border_width = 0, + colors = { + color_used, + color_free, + color_buf, + }, + display_labels = false, + forced_width = 25, + widget = wibox.widget.piechart + } + + --- Widget which is shown when user clicks on the ram widget + local popup = awful.popup{ + ontop = true, + visible = false, + widget = { + widget = wibox.widget.piechart, + forced_height = 200, + forced_width = 400, + colors = { + color_used, + color_free, + color_buf, -- buf_cache + }, + }, + shape = gears.shape.rounded_rect, + border_color = beautiful.border_color_active, + border_width = 1, + offset = { y = 5 }, + } + + --luacheck:ignore 231 + local total, used, free, shared, buff_cache, available, total_swap, used_swap, free_swap + + local function getPercentage(value) + return math.floor(value / (total+total_swap) * 100 + 0.5) .. '%' + end + + watch('bash -c "LANGUAGE=en_US.UTF-8 free | grep -z Mem.*Swap.*"', timeout, + function(widget, stdout) + total, used, free, shared, buff_cache, available, total_swap, used_swap, free_swap = + stdout:match('(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*Swap:%s*(%d+)%s*(%d+)%s*(%d+)') + + if widget_show_buf then + widget.data = { used, free, buff_cache } + else + widget.data = { used, total-used } + end + + if popup.visible then + popup:get_widget().data_list = { + {'used ' .. getPercentage(used + used_swap), used + used_swap}, + {'free ' .. getPercentage(free + free_swap), free + free_swap}, + {'buff_cache ' .. getPercentage(buff_cache), buff_cache} + } + end + end, + ramgraph_widget + ) + + ramgraph_widget:buttons( + awful.util.table.join( + awful.button({}, 1, function() + popup:get_widget().data_list = { + {'used ' .. getPercentage(used + used_swap), used + used_swap}, + {'free ' .. getPercentage(free + free_swap), free + free_swap}, + {'buff_cache ' .. getPercentage(buff_cache), buff_cache} + } + + if popup.visible then + popup.visible = not popup.visible + else + popup:move_next_to(mouse.current_widget_geometry) + end + end) + ) + ) + + return ramgraph_widget +end + + +return setmetatable(ramgraph_widget, { __call = function(_, ...) + return worker(...) +end }) diff --git a/awesome/awesome-wm-widgets/run-shell-2/run-shell-2.lua b/awesome/awesome-wm-widgets/run-shell-2/run-shell-2.lua new file mode 100644 index 00000000..89491de2 --- /dev/null +++ b/awesome/awesome-wm-widgets/run-shell-2/run-shell-2.lua @@ -0,0 +1,102 @@ +------------------------------------------------- +-- Spotify Shell for Awesome Window Manager +-- Simplifies interaction with Spotify for Linux +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/spotify-shell + +-- @author Pavel Makhov +-- @copyright 2018 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local gfs = require("gears.filesystem") +local wibox = require("wibox") +local gears = require("gears") +local completion = require("awful.completion") + +local run = require("awesome-wm-widgets.run-shell-2.run") + +local run_shell = awful.widget.prompt() + +local w = wibox { + bg = '#2e3440', + border_width = 1, + border_color = '#3b4252', + max_widget_size = 500, + ontop = true, + height = 50, + width = 250, + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 3) + -- ` gears.shape.infobubble(cr, width, height) + end +} + +local g = { + { + layout = wibox.container.margin, + left = 10, + run_shell, + }, + id = 'left', + layout = wibox.layout.fixed.horizontal +} + + +local function launch(type) + + if type == 'run' then + table.insert(g, 1, run.icon) + w:setup(g) + awful.placement.top(w, { margins = { top = 40 }, parent = awful.screen.focused() }) + w.visible = true + awful.prompt.run { + prompt = run.text, + bg_cursor = run.cursor_color, + textbox = run_shell.widget, + completion_callback = completion.shell, + exe_callback = function(...) + run_shell:spawn_and_handle_error(...) + end, + history_path = gfs.get_cache_dir() .. run.history, + done_callback = function() + w.visible = false + table.remove(g, 1) + end + } + elseif type == 'spotify' then + table.insert(g, 1, { + { + image = '/usr/share/icons/Papirus-Light/32x32/apps/spotify-linux-48x48.svg', + widget = wibox.widget.imagebox, + resize = false + }, + id = 'icon', + top = 9, + left = 10, + layout = wibox.container.margin + }) + w:setup(g) + awful.placement.top(w, { margins = { top = 40 }, parent = awful.screen.focused() }) + w.visible = true + + awful.prompt.run { + prompt = "Spotify Shell: ", + bg_cursor = '#84bd00', + textbox = run_shell.widget, + history_path = gfs.get_dir('cache') .. '/spotify_history', + exe_callback = function(input_text) + if not input_text or #input_text == 0 then return end + awful.spawn("sp " .. input_text) + end, + done_callback = function() + w.visible = false + table.remove(g, 1) + end + } + end +end + +return { + launch = launch +} diff --git a/awesome/awesome-wm-widgets/run-shell-2/run.lua b/awesome/awesome-wm-widgets/run-shell-2/run.lua new file mode 100644 index 00000000..12644bad --- /dev/null +++ b/awesome/awesome-wm-widgets/run-shell-2/run.lua @@ -0,0 +1,21 @@ +local wibox = require("wibox") + +local icon = { + { + markup = 'a', + widget = wibox.widget.textbox, + }, + id = 'icon', + top = 2, + left = 10, + layout = wibox.container.margin +} + +local text = 'Run: ' + +return { + icon = icon, + text = text, + cursor_color = '#74aeab', + history = '/history' +} \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/run-shell-3/README.md b/awesome/awesome-wm-widgets/run-shell-3/README.md new file mode 100644 index 00000000..95749d17 --- /dev/null +++ b/awesome/awesome-wm-widgets/run-shell-3/README.md @@ -0,0 +1,34 @@ +# Run Shell + +Blurs / pixelates background and shows widget with run prompt: + +![screenshot](./blur.png) + +![screenshot](./pixelate.png) + +## Installation + +1. To blur / pixelate the background this widget used [ffmpeg](https://www.ffmpeg.org/) and [frei0r](https://frei0r.dyne.org/) plugins (if you want to pixelate the background), which you need to install. Installation of those depends on your distribution, for ffmpeg just follow the installation section of the site, for frei0r I was able to install it by simply running + + ``` + sudo apt-get install frei0r-plugins + ``` + +1. Clone this repo under **~/.config/awesome/**: + + ```bash + git clone https://github.com/streetturtle/awesome-wm-widgets.git ~/.config/awesome/awesome-wm-widgets + ``` + +1. Require widget at the beginning of **rc.lua**: + + ```lua + local run_shell = require("awesome-wm-widgets.run-shell-3.run-shell") + ``` + +1. Use it (don't forget to comment out the default prompt): + + ```lua + awful.key({modkey}, "r", function () run_shell.launch() end), + ``` +:warning: I am not 100% sure but it may (memory) leak. If awesome uses lots of RAM just reload config (Ctrl + Mod4 + r). diff --git a/awesome/awesome-wm-widgets/run-shell-3/blur.png b/awesome/awesome-wm-widgets/run-shell-3/blur.png new file mode 100644 index 00000000..4e8b54c7 Binary files /dev/null and b/awesome/awesome-wm-widgets/run-shell-3/blur.png differ diff --git a/awesome/awesome-wm-widgets/run-shell-3/pixelate.png b/awesome/awesome-wm-widgets/run-shell-3/pixelate.png new file mode 100644 index 00000000..fedf3203 Binary files /dev/null and b/awesome/awesome-wm-widgets/run-shell-3/pixelate.png differ diff --git a/awesome/awesome-wm-widgets/run-shell-3/run-shell.lua b/awesome/awesome-wm-widgets/run-shell-3/run-shell.lua new file mode 100644 index 00000000..00152325 --- /dev/null +++ b/awesome/awesome-wm-widgets/run-shell-3/run-shell.lua @@ -0,0 +1,129 @@ +------------------------------------------------- +-- Run Shell for Awesome Window Manager +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/run-shell + +-- @author Pavel Makhov +-- @copyright 2018 Pavel Makhov +-- @copyright 2019 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local gfs = require("gears.filesystem") +local wibox = require("wibox") +local gears = require("gears") +local naughty = require("naughty") +local completion = require("awful.completion") + +local run_shell = awful.widget.prompt() + +local widget = {} + +function widget.new() + local widget_instance = { + _cached_wiboxes = {}, + _cmd_pixelate = [[sh -c 'ffmpeg -loglevel panic -f x11grab -video_size 1920x1060 -y -i :0.0+%s,20 -vf ]] + .. [[frei0r=pixeliz0r -vframes 1 /tmp/i3lock-%s.png ; echo done']], + _cmd_blur = [[sh -c 'ffmpeg -loglevel panic -f x11grab -video_size 1920x1060 -y -i :0.0+%s,20 ]] + .. [[-filter_complex "boxblur=9" -vframes 1 /tmp/i3lock-%s.png ; echo done']] + } + + function widget_instance:_create_wibox() + local w = wibox { + visible = false, + ontop = true, + height = mouse.screen.geometry.height, + width = mouse.screen.geometry.width, + } + + w:setup { + { + { + { + { + markup = 'a', + widget = wibox.widget.textbox, + }, + id = 'icon', + left = 10, + layout = wibox.container.margin + }, + { + run_shell, + left = 10, + layout = wibox.container.margin, + }, + id = 'left', + layout = wibox.layout.fixed.horizontal + }, + widget = wibox.container.background, + bg = '#333333', + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 3) + end, + shape_border_color = '#74aeab', + shape_border_width = 1, + forced_width = 200, + forced_height = 50 + }, + layout = wibox.container.place + } + + return w + end + + function widget_instance:launch() + local s = mouse.screen + if not self._cached_wiboxes[s] then + self._cached_wiboxes[s] = {} + end + if not self._cached_wiboxes[s][1] then + self._cached_wiboxes[s][1] = self:_create_wibox() + end + local w = self._cached_wiboxes[s][1] + local rnd = math.random() + awful.spawn.with_line_callback( + string.format(self._cmd_blur, tostring(awful.screen.focused().geometry.x), rnd), { + stdout = function() + w.visible = true + w.bgimage = '/tmp/i3lock-' .. rnd ..'.png' + awful.placement.top(w, { margins = { top = 20 }, parent = awful.screen.focused() }) + awful.prompt.run { + prompt = 'Run: ', + bg_cursor = '#74aeab', + textbox = run_shell.widget, + completion_callback = completion.shell, + exe_callback = function(...) + run_shell:spawn_and_handle_error(...) + end, + history_path = gfs.get_cache_dir() .. "/history", + done_callback = function() + w.visible = false + w.bgimage = '' + awful.spawn([[bash -c 'rm -f /tmp/i3lock*']]) + end + } + end, + stderr = function(line) + naughty.notify { text = "ERR:" .. line } + end, + }) + + end + + return widget_instance +end + +local function get_default_widget() + if not widget.default_widget then + widget.default_widget = widget.new() + end + return widget.default_widget +end + +function widget.launch(...) + return get_default_widget():launch(...) +end + +return widget + diff --git a/awesome/awesome-wm-widgets/run-shell/README.md b/awesome/awesome-wm-widgets/run-shell/README.md new file mode 100644 index 00000000..9ae7f5de --- /dev/null +++ b/awesome/awesome-wm-widgets/run-shell/README.md @@ -0,0 +1,25 @@ +# Run Shell + +Run prompt which is put inside a widget: + +[Demo](https://imgur.com/ohjAuCQ.mp4) + +## Installation + +1. Clone this repo under **~/.config/awesome/**: + + ```bash + git clone https://github.com/streetturtle/awesome-wm-widgets.git ~/.config/awesome/awesome-wm-widgets + ``` + +1. Require widget at the beginning of **rc.lua**: + + ```lua + local run_shell = require("awesome-wm-widgets.run-shell.run-shell") + ``` + +1. Use it (don't forget to comment out the default prompt): + + ```lua + awful.key({modkey}, "r", function () run_shell.launch() end), + diff --git a/awesome/awesome-wm-widgets/run-shell/out.mp4 b/awesome/awesome-wm-widgets/run-shell/out.mp4 new file mode 100644 index 00000000..5db8172e Binary files /dev/null and b/awesome/awesome-wm-widgets/run-shell/out.mp4 differ diff --git a/awesome/awesome-wm-widgets/run-shell/run-shell.lua b/awesome/awesome-wm-widgets/run-shell/run-shell.lua new file mode 100644 index 00000000..a43c4d55 --- /dev/null +++ b/awesome/awesome-wm-widgets/run-shell/run-shell.lua @@ -0,0 +1,169 @@ +------------------------------------------------- +-- Run Shell for Awesome Window Manager +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/run-shell + +-- @author Pavel Makhov +-- @copyright 2019 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local gfs = require("gears.filesystem") +local wibox = require("wibox") +local gears = require("gears") +local completion = require("awful.completion") +local naughty = require("naughty") + +local HOME = os.getenv("HOME") + +local run_shell = awful.widget.prompt() + +local widget = {} + +function widget.new() + + local widget_instance = { + _cached_wiboxes = {} + } + + function widget_instance:_create_wibox() + local w = wibox { + visible = false, + ontop = true, + height = mouse.screen.geometry.height, + width = mouse.screen.geometry.width, + opacity = 0.9, + bg = 'radial:'.. mouse.screen.geometry.width/2 .. ',' + .. mouse.screen.geometry.height/2 .. ',20:' + .. mouse.screen.geometry.width/2 .. ',' + .. mouse.screen.geometry.height/2 + .. ',700:0,#2E344022:0.2,#4C566A88:1,#2E3440ff' + } + + local suspend_button = wibox.widget { + image = '/usr/share/icons/Arc/actions/symbolic/system-shutdown-symbolic.svg', + widget = wibox.widget.imagebox, + resize = false, + opacity = 0.2, + --luacheck:ignore 432 + set_hover = function(self, opacity) + self.opacity = opacity + self.image = '/usr/share/icons/Arc/actions/symbolic/system-shutdown-symbolic.svg' + end + } + + local turnoff_notification + + suspend_button:connect_signal("mouse::enter", function() + turnoff_notification = naughty.notify{ + icon = HOME .. "/.config/awesome/nichosi.png", + icon_size=100, + title = "Huston, we have a problem", + text = "You're about to turn off your computer", + timeout = 5, hover_timeout = 0.5, + position = "bottom_right", + bg = "#F06060", + fg = "#EEE9EF", + width = 300, + } + suspend_button:set_hover(1) + end) + + suspend_button:connect_signal("mouse::leave", function() + naughty.destroy(turnoff_notification) + suspend_button:set_hover(0.2) + end) + + suspend_button:connect_signal("button::press", function(_,_,_,button) + if (button == 1) then + awful.spawn("shutdown now") + end + end) + + w:setup { + { + { + { + { + { + markup = 'a', + widget = wibox.widget.textbox, + }, + id = 'icon', + left = 10, + layout = wibox.container.margin + }, + { + run_shell, + left = 10, + layout = wibox.container.margin, + }, + id = 'left', + layout = wibox.layout.fixed.horizontal + }, + bg = '#333333', + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 3) + end, + shape_border_color = '#74aeab', + shape_border_width = 1, + forced_width = 200, + forced_height = 50, + widget = wibox.container.background + }, + valign = 'center', + layout = wibox.container.place + }, + { + { + suspend_button, + layout = wibox.layout.fixed.horizontal + }, + valign = 'bottom', + layout = wibox.container.place, + }, + layout = wibox.layout.stack + } + + return w + end + + function widget_instance:launch() + local s = mouse.screen + if not self._cached_wiboxes[s] then + self._cached_wiboxes[s] = {} + end + if not self._cached_wiboxes[s][1] then + self._cached_wiboxes[s][1] = self:_create_wibox() + end + local w = self._cached_wiboxes[s][1] + w.visible = true + awful.placement.top(w, { margins = { top = 20 }, parent = awful.screen.focused() }) + awful.prompt.run { + prompt = 'Run: ', + bg_cursor = '#74aeab', + textbox = run_shell.widget, + completion_callback = completion.shell, + exe_callback = function(...) + run_shell:spawn_and_handle_error(...) + end, + history_path = gfs.get_cache_dir() .. "/history", + done_callback = function() w.visible = false end + } + end + + return widget_instance +end + +local function get_default_widget() + if not widget.default_widget then + widget.default_widget = widget.new() + end + return widget.default_widget +end + +function widget.launch(...) + return get_default_widget():launch(...) +end + +return widget diff --git a/awesome/awesome-wm-widgets/screenshot.png b/awesome/awesome-wm-widgets/screenshot.png new file mode 100644 index 00000000..9406ebf3 Binary files /dev/null and b/awesome/awesome-wm-widgets/screenshot.png differ diff --git a/awesome/awesome-wm-widgets/screenshot_with_sprtrs.png b/awesome/awesome-wm-widgets/screenshot_with_sprtrs.png new file mode 100644 index 00000000..361d5a20 Binary files /dev/null and b/awesome/awesome-wm-widgets/screenshot_with_sprtrs.png differ diff --git a/awesome/awesome-wm-widgets/scripts/update_site.sh b/awesome/awesome-wm-widgets/scripts/update_site.sh new file mode 100755 index 00000000..35fc971e --- /dev/null +++ b/awesome/awesome-wm-widgets/scripts/update_site.sh @@ -0,0 +1,14 @@ +mkdir ./_widgets +for D in *; do + if [[ -d "${D}" ]] && [[ ${D} == *"-widget"* ]]; then + echo "${D}" + cp ${D}/README.md ./_widgets/${D}.md + sed -i '1s/^/---\nlayout: page\n---\n/' ./_widgets/${D}.md + + mkdir -p ./assets/img/widgets/screenshots/${D} + + find ${D}/ \( -name '*.jpg' -o -name '*.png' -o -name '*.gif' \) -exec cp '{}' ./assets/img/widgets/screenshots/${D} \; + + sed -i "s/](\.\(\/screenshots\)\{0,1\}/](..\/awesome-wm-widgets\/assets\/img\/widgets\/screenshots\/$D/g" ./_widgets/${D}.md + fi +done diff --git a/awesome/awesome-wm-widgets/spotify-shell/README.md b/awesome/awesome-wm-widgets/spotify-shell/README.md new file mode 100644 index 00000000..0f4981dd --- /dev/null +++ b/awesome/awesome-wm-widgets/spotify-shell/README.md @@ -0,0 +1,73 @@ +# Spotify Shell + + +![demo](./demo.gif) + +## Features + +1. Supports following commands (same as `sp` client): + - `play`/`pause`/`next`; + - any other string will start a search and play the first result for a given search query; + - feh - shows the current artwork with `feh`; + +1. Stores history and allows navigating through it; + +1. Highly customizable + +## Controls + +Keyboard navigation (copied from [`awful.prompt`](https://awesomewm.org/doc/api/libraries/awful.prompt.html) API documentation page): + +| Name | Usage | +|---|---| +| CTRL+A | beginning-of-line | +| CTRL+B | backward-char | +| CTRL+C | cancel | +| CTRL+D | delete-char | +| CTRL+E | end-of-line | +| CTRL+J | accept-line | +| CTRL+M | accept-line | +| CTRL+F | move-cursor-right | +| CTRL+H | backward-delete-char | +| CTRL+K | kill-line | +| CTRL+U | unix-line-discard | +| CTRL+W | unix-word-rubout | +| CTRL+BACKSPACE | unix-word-rubout | +| SHIFT+INSERT | paste | +| HOME | beginning-of-line | +| END | end-of-line | +| CTRL+R | reverse history search, matches any history entry containing search term. | +| CTRL+S | forward history search, matches any history entry containing search term. | +| CTRL+UP | ZSH up line or search, matches any history entry starting with search term. | +| CTRL+DOWN | ZSH down line or search, matches any history entry starting with search term. | +| CTRL+DELETE | delete the currently visible history entry from history file. This does not delete new commands or history entries under user editing. | + + +## Installation + +1. Install [sp](https://gist.github.com/streetturtle/fa6258f3ff7b17747ee3) - CLI client for [Spotify for Linux](https://www.spotify.com/ca-en/download/linux/): + + ```bash + $ sudo git clone https://gist.github.com/fa6258f3ff7b17747ee3.git ~/dev/ + $ sudo ln -s ~/dev/sp /usr/local/bin/ + ``` + + Check if it works by running `sp help`. + +1. Get an 'id' and 'secret' from [developer.spotify.com](https://beta.developer.spotify.com/documentation/general/guides/app-settings/) and paste it in the header of the `sp` (`SP_ID` and `SP_SECRET`) - this enables search feature. + +1. Clone this repo under **~/.config/awesome/** + +1. Require spotify-shell at the beginning of **rc.lua**: + + ```lua + local spotify_shell = require("awesome-wm-widgets.spotify-shell.spotify-shell") + ``` + +1. Add a shortcut which will show Spotify Shell widget: + + ```lua + awful.key({ modkey, }, "d", function () spotify_shell.launch() end, {description = "spotify shell", group = "music"}), + ``` + +1. It uses icon from [Papirus Icon Theme](https://github.com/PapirusDevelopmentTeam/papirus-icon-theme). So you should either install this icon theme, or download an icon you want to use and provide path to it in **spotify-shell.lua**. diff --git a/awesome/awesome-wm-widgets/spotify-shell/demo.gif b/awesome/awesome-wm-widgets/spotify-shell/demo.gif new file mode 100644 index 00000000..6696b3a5 Binary files /dev/null and b/awesome/awesome-wm-widgets/spotify-shell/demo.gif differ diff --git a/awesome/awesome-wm-widgets/spotify-shell/spotify-shell.lua b/awesome/awesome-wm-widgets/spotify-shell/spotify-shell.lua new file mode 100644 index 00000000..0611e662 --- /dev/null +++ b/awesome/awesome-wm-widgets/spotify-shell/spotify-shell.lua @@ -0,0 +1,75 @@ +------------------------------------------------- +-- Spotify Shell for Awesome Window Manager +-- Simplifies interaction with Spotify for Linux +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/spotify-shell + +-- @author Pavel Makhov +-- @copyright 2018 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local gfs = require("gears.filesystem") +local wibox = require("wibox") +local gears = require("gears") + +local ICON = '/usr/share/icons/Papirus-Light/32x32/apps/spotify-linux-48x48.svg' + +local spotify_shell = awful.widget.prompt() + +local w = wibox { + bg = '#1e252c', + border_width = 1, + border_color = '#84bd00', + max_widget_size = 500, + ontop = true, + height = 50, + width = 250, + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 3) + end +} + +w:setup { + { + { + image = ICON, + widget = wibox.widget.imagebox, + resize = false + }, + id = 'icon', + top = 9, + left = 10, + layout = wibox.container.margin + }, + { + layout = wibox.container.margin, + left = 10, + spotify_shell, + }, + id = 'left', + layout = wibox.layout.fixed.horizontal +} + +local function launch() + w.visible = true + + awful.placement.top(w, { margins = {top = 40}, parent = awful.screen.focused()}) + awful.prompt.run{ + prompt = "Spotify Shell: ", + bg_cursor = '#84bd00', + textbox = spotify_shell.widget, + history_path = gfs.get_dir('cache') .. '/spotify_history', + exe_callback = function(input_text) + if not input_text or #input_text == 0 then return end + awful.spawn("sp " .. input_text) + end, + done_callback = function() + w.visible = false + end + } +end + +return { + launch = launch +} diff --git a/awesome/awesome-wm-widgets/spotify-widget/README.md b/awesome/awesome-wm-widgets/spotify-widget/README.md new file mode 100644 index 00000000..3d185597 --- /dev/null +++ b/awesome/awesome-wm-widgets/spotify-widget/README.md @@ -0,0 +1,90 @@ +# Spotify widget + +This widget displays currently playing song on [Spotify for Linux](https://www.spotify.com/download/linux/) client: ![screenshot](./spo-wid-1.png) + +Some features: + + - status icon which shows if music is currently playing + - artist and name of the current song + - dim widget if spotify is paused + - trim long artist/song names + - tooltip with more info about the song + +## Controls + + - left click - play/pause + - scroll up - play next song + - scroll down - play previous song + +## Dependencies + +Note that widget uses the Arc icon theme, so it should be [installed](https://github.com/horst3180/arc-icon-theme#installation) first under **/usr/share/icons/Arc/** folder. + +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `play_icon` | `/usr/share/icons/Arc/actions/24/player_play.png` | Play icon | +| `pause_icon` | `/usr/share/icons/Arc/actions/24/player_pause.png` | Pause icon | +| `font` | `Play 9`| Font | +| `dim_when_paused` | `false` | Decrease the widget opacity if spotify is paused | +| `dim_opacity` | `0.2` | Widget's opacity when dimmed, `dim_when_paused` should be set to `true` | +| `max_length` | `15` | Maximum lentgh of artist and title names. Text will be ellipsized if longer. | +| `show_tooltip` | `true` | Show tooltip on hover with information about the playing song | +| `timeout` | 1 | How often in seconds the widget refreshes | + + +### Example: + +```lua +spotify_widget({ + font = 'Ubuntu Mono 9', + play_icon = '/usr/share/icons/Papirus-Light/24x24/categories/spotify.svg', + pause_icon = '/usr/share/icons/Papirus-Dark/24x24/panel/spotify-indicator.svg', + dim_when_paused = true, + dim_opacity = 0.5, + max_length = -1, + show_tooltip = false +}) +``` + +Gives following widget + +Playing: +![screenshot](./spotify-widget-custom-playing.png) + +Paused: +![screenshot](./spotify-widget-custom-paused.png) + +## Installation + +First you need to have spotify CLI installed, it uses dbus to communicate with spotify-client: + +```bash +git clone https://gist.github.com/fa6258f3ff7b17747ee3.git +cd ./fa6258f3ff7b17747ee3 +chmod +x sp +sudo cp ./sp /usr/local/bin/ +``` + +Then clone repo under **~/.config/awesome/** and add widget in **rc.lua**: + +```lua +local spotify_widget = require("awesome-wm-widgets.spotify-widget.spotify") +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + -- default + spotify_widget(), + -- customized + spotify_widget({ + font = 'Ubuntu Mono 9', + play_icon = '/usr/share/icons/Papirus-Light/24x24/categories/spotify.svg', + pause_icon = '/usr/share/icons/Papirus-Dark/24x24/panel/spotify-indicator.svg' + }), + ... +``` diff --git a/awesome/awesome-wm-widgets/spotify-widget/spo-wid-1.png b/awesome/awesome-wm-widgets/spotify-widget/spo-wid-1.png new file mode 100644 index 00000000..5c7e4033 Binary files /dev/null and b/awesome/awesome-wm-widgets/spotify-widget/spo-wid-1.png differ diff --git a/awesome/awesome-wm-widgets/spotify-widget/spotify-widget-custom-paused.png b/awesome/awesome-wm-widgets/spotify-widget/spotify-widget-custom-paused.png new file mode 100644 index 00000000..9ac9c4a4 Binary files /dev/null and b/awesome/awesome-wm-widgets/spotify-widget/spotify-widget-custom-paused.png differ diff --git a/awesome/awesome-wm-widgets/spotify-widget/spotify-widget-custom-playing.png b/awesome/awesome-wm-widgets/spotify-widget/spotify-widget-custom-playing.png new file mode 100644 index 00000000..f9628f92 Binary files /dev/null and b/awesome/awesome-wm-widgets/spotify-widget/spotify-widget-custom-playing.png differ diff --git a/awesome/awesome-wm-widgets/spotify-widget/spotify.lua b/awesome/awesome-wm-widgets/spotify-widget/spotify.lua new file mode 100644 index 00000000..0eb302aa --- /dev/null +++ b/awesome/awesome-wm-widgets/spotify-widget/spotify.lua @@ -0,0 +1,157 @@ +------------------------------------------------- +-- Spotify Widget for Awesome Window Manager +-- Shows currently playing song on Spotify for Linux client +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/spotify-widget + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local wibox = require("wibox") +local watch = require("awful.widget.watch") + +local GET_SPOTIFY_STATUS_CMD = 'sp status' +local GET_CURRENT_SONG_CMD = 'sp current' + +local function ellipsize(text, length) + return (utf8.len(text) > length and length > 0) + and text:sub(0, utf8.offset(text, length - 2) - 1) .. '...' + or text +end + +local spotify_widget = {} + +local function worker(user_args) + + local args = user_args or {} + + local play_icon = args.play_icon or '/usr/share/icons/Arc/actions/24/player_play.png' + local pause_icon = args.pause_icon or '/usr/share/icons/Arc/actions/24/player_pause.png' + local font = args.font or 'Play 9' + local dim_when_paused = args.dim_when_paused == nil and false or args.dim_when_paused + local dim_opacity = args.dim_opacity or 0.2 + local max_length = args.max_length or 15 + local show_tooltip = args.show_tooltip == nil and true or args.show_tooltip + local timeout = args.timeout or 1 + + local cur_artist = '' + local cur_title = '' + local cur_album = '' + + spotify_widget = wibox.widget { + { + id = 'artistw', + font = font, + widget = wibox.widget.textbox, + }, + { + id = "icon", + widget = wibox.widget.imagebox, + }, + { + layout = wibox.container.scroll.horizontal, + max_size = 100, + step_function = wibox.container.scroll.step_functions.waiting_nonlinear_back_and_forth, + speed = 40, + { + id = 'titlew', + font = font, + widget = wibox.widget.textbox + } + }, + layout = wibox.layout.align.horizontal, + set_status = function(self, is_playing) + self.icon.image = (is_playing and play_icon or pause_icon) + if dim_when_paused then + self:get_children_by_id('icon')[1]:set_opacity(is_playing and 1 or dim_opacity) + + self:get_children_by_id('titlew')[1]:set_opacity(is_playing and 1 or dim_opacity) + self:get_children_by_id('titlew')[1]:emit_signal('widget::redraw_needed') + + self:get_children_by_id('artistw')[1]:set_opacity(is_playing and 1 or dim_opacity) + self:get_children_by_id('artistw')[1]:emit_signal('widget::redraw_needed') + end + end, + set_text = function(self, artist, song) + local artist_to_display = ellipsize(artist, max_length) + if self:get_children_by_id('artistw')[1]:get_markup() ~= artist_to_display then + self:get_children_by_id('artistw')[1]:set_markup(artist_to_display) + end + local title_to_display = ellipsize(song, max_length) + if self:get_children_by_id('titlew')[1]:get_markup() ~= title_to_display then + self:get_children_by_id('titlew')[1]:set_markup(title_to_display) + end + end + } + + local update_widget_icon = function(widget, stdout, _, _, _) + stdout = string.gsub(stdout, "\n", "") + widget:set_status(stdout == 'Playing' and true or false) + end + + local update_widget_text = function(widget, stdout, _, _, _) + if string.find(stdout, 'Error: Spotify is not running.') ~= nil then + widget:set_text('','') + widget:set_visible(false) + return + end + + local escaped = string.gsub(stdout, "&", '&') + local album, _, artist, title = + string.match(escaped, 'Album%s*(.*)\nAlbumArtist%s*(.*)\nArtist%s*(.*)\nTitle%s*(.*)\n') + + if album ~= nil and title ~=nil and artist ~= nil then + cur_artist = artist + cur_title = title + cur_album = album + + widget:set_text(artist, title) + widget:set_visible(true) + end + end + + watch(GET_SPOTIFY_STATUS_CMD, timeout, update_widget_icon, spotify_widget) + watch(GET_CURRENT_SONG_CMD, timeout, update_widget_text, spotify_widget) + + --- Adds mouse controls to the widget: + -- - left click - play/pause + -- - scroll up - play next song + -- - scroll down - play previous song + spotify_widget:connect_signal("button::press", function(_, _, _, button) + if (button == 1) then + awful.spawn("sp play", false) -- left click + elseif (button == 4) then + awful.spawn("sp next", false) -- scroll up + elseif (button == 5) then + awful.spawn("sp prev", false) -- scroll down + end + awful.spawn.easy_async(GET_SPOTIFY_STATUS_CMD, function(stdout, stderr, exitreason, exitcode) + update_widget_icon(spotify_widget, stdout, stderr, exitreason, exitcode) + end) + end) + + + if show_tooltip then + local spotify_tooltip = awful.tooltip { + mode = 'outside', + preferred_positions = {'bottom'}, + } + + spotify_tooltip:add_to_object(spotify_widget) + + spotify_widget:connect_signal('mouse::enter', function() + spotify_tooltip.markup = 'Album: ' .. cur_album + .. '\nArtist: ' .. cur_artist + .. '\nSong: ' .. cur_title + end) + end + + return spotify_widget + +end + +return setmetatable(spotify_widget, { __call = function(_, ...) + return worker(...) +end }) \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/stackoverflow-widget/README.md b/awesome/awesome-wm-widgets/stackoverflow-widget/README.md new file mode 100644 index 00000000..00980621 --- /dev/null +++ b/awesome/awesome-wm-widgets/stackoverflow-widget/README.md @@ -0,0 +1,47 @@ +# Stackoverflow widget + +When clicked, widget shows latest questions from stackoverflow.com with a given tag(s). + +![screenshot](./screenshot.png) + +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| `icon`| `/.config/awesome/awesome-wm-widgets/stackoverflow-widget/so-icon.svg` | Path to the icon | +| `limit` | 5 | Number of items to show in the widget | +| `tagged` | awesome-wm | Tag, or comma-separated tags | +| `timeout` | 300 | How often in seconds the widget refreshes | + +## Installation + +1. Clone this repo (if not cloned yet) under **~/.config/awesome/**: + + ```bash + git clone https://github.com/streetturtle/awesome-wm-widgets.git ~/.config/awesome/ + ``` + +1. Require widget at the top of the **rc.lua**: + + ```lua + local stackoverflow_widget = require("awesome-wm-widgets.stackoverflow-widget.stackoverflow") + ``` + +1. Add widget to the tasklist: + + ```lua + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + --default + stackoverflow_widget(), + --customized + stackoverflow_widget({ + limit = 10 + }) + ... + ``` + diff --git a/awesome/awesome-wm-widgets/stackoverflow-widget/screenshot.png b/awesome/awesome-wm-widgets/stackoverflow-widget/screenshot.png new file mode 100644 index 00000000..b0058ab7 Binary files /dev/null and b/awesome/awesome-wm-widgets/stackoverflow-widget/screenshot.png differ diff --git a/awesome/awesome-wm-widgets/stackoverflow-widget/so-icon.svg b/awesome/awesome-wm-widgets/stackoverflow-widget/so-icon.svg new file mode 100644 index 00000000..5298d4c2 --- /dev/null +++ b/awesome/awesome-wm-widgets/stackoverflow-widget/so-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/stackoverflow-widget/stackoverflow.lua b/awesome/awesome-wm-widgets/stackoverflow-widget/stackoverflow.lua new file mode 100644 index 00000000..15d28372 --- /dev/null +++ b/awesome/awesome-wm-widgets/stackoverflow-widget/stackoverflow.lua @@ -0,0 +1,125 @@ +------------------------------------------------- +-- Stackoverflow Widget for Awesome Window Manager +-- Shows new questions by a given tag +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/stackoverflow-widget + +-- @author Pavel Makhov +-- @copyright 2019 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local wibox = require("wibox") +local watch = require("awful.widget.watch") +local json = require("json") +local spawn = require("awful.spawn") +local gears = require("gears") +local beautiful = require("beautiful") + +local HOME_DIR = os.getenv("HOME") + +local GET_QUESTIONS_CMD = [[bash -c "curl --compressed -s -X GET]] + .. [[ 'http://api.stackexchange.com/2.2/questions/no-answers]] + .. [[?page=1&pagesize=%s&order=desc&sort=activity&tagged=%s&site=stackoverflow'"]] + +local stackoverflow_widget = {} + +local function worker(user_args) + + local args = user_args or {} + + local icon = args.icon or HOME_DIR .. '/.config/awesome/awesome-wm-widgets/stackoverflow-widget/so-icon.svg' + local limit = args.limit or 5 + local tagged = args.tagged or 'awesome-wm' + local timeout = args.timeout or 300 + + local rows = { + { widget = wibox.widget.textbox }, + layout = wibox.layout.fixed.vertical, + } + + local popup = awful.popup{ + ontop = true, + visible = false, + shape = gears.shape.rounded_rect, + border_width = 1, + border_color = beautiful.bg_focus, + maximum_width = 400, + preferred_positions = 'top', + offset = { y = 5 }, + widget = {} + } + + stackoverflow_widget = wibox.widget { + { + image = icon, + widget = wibox.widget.imagebox + }, + { + id = "txt", + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.horizontal, + set_text = function(self, new_value) + self.txt.text = new_value + end, + } + + local update_widget = function(_, stdout, _, _, _) + + local result = json.decode(stdout) + + for i = 0, #rows do rows[i]=nil end + for _, item in ipairs(result.items) do + local tags = '' + for i = 1, #item.tags do tags = tags .. item.tags[i] .. ' ' end + local row = wibox.widget { + { + { + { + text = item.title, + widget = wibox.widget.textbox + }, + { + text = tags, + align = 'right', + widget = wibox.widget.textbox + }, + layout = wibox.layout.align.vertical + }, + margins = 8, + layout = wibox.container.margin + }, + widget = wibox.container.background + } + + row:connect_signal("button::release", function() + spawn.with_shell("xdg-open " .. item.link) + popup.visible = false + end) + + row:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end) + row:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end) + + table.insert(rows, row) + end + + popup:setup(rows) + end + + stackoverflow_widget:buttons( + awful.util.table.join( + awful.button({}, 1, function() + if popup.visible then + popup.visible = not popup.visible + else + popup:move_next_to(mouse.current_widget_geometry) + end + end) + ) + ) + watch(string.format(GET_QUESTIONS_CMD, limit, tagged), timeout, update_widget, stackoverflow_widget) + return stackoverflow_widget +end + +return setmetatable(stackoverflow_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/todo-widget/README.md b/awesome/awesome-wm-widgets/todo-widget/README.md new file mode 100644 index 00000000..c97d8456 --- /dev/null +++ b/awesome/awesome-wm-widgets/todo-widget/README.md @@ -0,0 +1,28 @@ +# ToDo Widget + +This widget displays a list of todo items and allows marking item as done/undone, delete an item and create new ones: + +![screenshot](./todo.gif) + +# Installation + +Widget persists todo items as a JSON, so in order to simplify JSON serialisation/deserialisation download a **json.lua** from this repository: https://github.com/rxi/json.lua under `~/.config/awesone` folder. And don't forget to star a repo :) + +Then clone this repository under **~/.config/awesome/** and add the widget in **rc.lua**: + +```lua +local todo_widget = require("awesome-wm-widgets.todo-widget.todo") +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + -- default + todo_widget(), + ... +``` +Also note that widget uses [Arc Icons](https://github.com/horst3180/arc-icon-theme) and expects them to be installed under `/usr/share/icons/Arc/`. + +# Theming + +Widget uses your theme's colors. In case you want to have different colors, without changing your theme, please create an issue for it. I'll extract them as widget parameters. diff --git a/awesome/awesome-wm-widgets/todo-widget/checkbox-checked-symbolic.svg b/awesome/awesome-wm-widgets/todo-widget/checkbox-checked-symbolic.svg new file mode 100644 index 00000000..afeca625 --- /dev/null +++ b/awesome/awesome-wm-widgets/todo-widget/checkbox-checked-symbolic.svg @@ -0,0 +1,148 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + diff --git a/awesome/awesome-wm-widgets/todo-widget/chevron-down.svg b/awesome/awesome-wm-widgets/todo-widget/chevron-down.svg new file mode 100644 index 00000000..dceeb0fa --- /dev/null +++ b/awesome/awesome-wm-widgets/todo-widget/chevron-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/todo-widget/chevron-up.svg b/awesome/awesome-wm-widgets/todo-widget/chevron-up.svg new file mode 100644 index 00000000..88474ce7 --- /dev/null +++ b/awesome/awesome-wm-widgets/todo-widget/chevron-up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/todo-widget/list-add-symbolic.svg b/awesome/awesome-wm-widgets/todo-widget/list-add-symbolic.svg new file mode 100644 index 00000000..9cc2d3a6 --- /dev/null +++ b/awesome/awesome-wm-widgets/todo-widget/list-add-symbolic.svg @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + diff --git a/awesome/awesome-wm-widgets/todo-widget/todo.gif b/awesome/awesome-wm-widgets/todo-widget/todo.gif new file mode 100644 index 00000000..7160e219 Binary files /dev/null and b/awesome/awesome-wm-widgets/todo-widget/todo.gif differ diff --git a/awesome/awesome-wm-widgets/todo-widget/todo.lua b/awesome/awesome-wm-widgets/todo-widget/todo.lua new file mode 100644 index 00000000..78ca2625 --- /dev/null +++ b/awesome/awesome-wm-widgets/todo-widget/todo.lua @@ -0,0 +1,340 @@ +------------------------------------------------- +-- ToDo Widget for Awesome Window Manager +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/todo-widget + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local wibox = require("wibox") +local json = require("json") +local spawn = require("awful.spawn") +local gears = require("gears") +local beautiful = require("beautiful") +local gfs = require("gears.filesystem") + +local HOME_DIR = os.getenv("HOME") +local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/todo-widget' +local STORAGE = HOME_DIR .. '/.cache/awmw/todo-widget/todos.json' + +local GET_TODO_ITEMS = 'bash -c "cat ' .. STORAGE .. '"' + +local rows = { layout = wibox.layout.fixed.vertical } +local todo_widget = {} +local update_widget +todo_widget.widget = wibox.widget { + { + { + { + { + id = "icon", + forced_height = 16, + forced_width = 16, + widget = wibox.widget.imagebox + }, + valign = 'center', + layout = wibox.container.place + }, + { + id = "txt", + widget = wibox.widget.textbox + }, + spacing = 4, + layout = wibox.layout.fixed.horizontal, + }, + margins = 4, + layout = wibox.container.margin + }, + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 4) + end, + widget = wibox.container.background, + set_text = function(self, new_value) + self:get_children_by_id("txt")[1].text = new_value + end, + set_icon = function(self, new_value) + self:get_children_by_id("icon")[1].image = new_value + end +} + +function todo_widget:update_counter(todos) + local todo_count = 0 + for _,p in ipairs(todos) do + if not p.status then + todo_count = todo_count + 1 + end + end + + todo_widget.widget:set_text(todo_count) +end + +local popup = awful.popup{ + bg = beautiful.bg_normal, + ontop = true, + visible = false, + shape = gears.shape.rounded_rect, + border_width = 1, + border_color = beautiful.bg_focus, + maximum_width = 400, + offset = { y = 5 }, + widget = {} +} + +local add_button = wibox.widget { + { + { + image = WIDGET_DIR .. '/list-add-symbolic.svg', + resize = false, + widget = wibox.widget.imagebox + }, + top = 11, + left = 8, + right = 8, + layout = wibox.container.margin + }, + shape = function(cr, width, height) + gears.shape.circle(cr, width, height, 12) + end, + widget = wibox.container.background +} + +add_button:connect_signal("button::press", function() + local pr = awful.widget.prompt() + + table.insert(rows, wibox.widget { + { + { + pr.widget, + spacing = 8, + layout = wibox.layout.align.horizontal + }, + margins = 8, + layout = wibox.container.margin + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + }) + awful.prompt.run{ + prompt = "New item: ", + bg = beautiful.bg_normal, + bg_cursor = beautiful.fg_urgent, + textbox = pr.widget, + exe_callback = function(input_text) + if not input_text or #input_text == 0 then return end + spawn.easy_async(GET_TODO_ITEMS, function(stdout) + local res = json.decode(stdout) + table.insert(res.todo_items, {todo_item = input_text, status = false}) + spawn.easy_async_with_shell("echo '" .. json.encode(res) .. "' > " .. STORAGE, function() + spawn.easy_async(GET_TODO_ITEMS, function(items) update_widget(items) end) + end) + end) + end + } + popup:setup(rows) +end) +add_button:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end) +add_button:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end) + +local function worker(user_args) + + local args = user_args or {} + + local icon = args.icon or WIDGET_DIR .. '/checkbox-checked-symbolic.svg' + + todo_widget.widget:set_icon(icon) + + function update_widget(stdout) + local result = json.decode(stdout) + if result == nil or result == '' then result = {} end + todo_widget:update_counter(result.todo_items) + + for i = 0, #rows do rows[i]=nil end + + local first_row = wibox.widget { + { + {widget = wibox.widget.textbox}, + { + markup = 'ToDo', + align = 'center', + forced_width = 350, -- for horizontal alignment + forced_height = 40, + widget = wibox.widget.textbox + }, + add_button, + spacing = 8, + layout = wibox.layout.fixed.horizontal + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + } + + table.insert(rows, first_row) + + for i, todo_item in ipairs(result.todo_items) do + + local checkbox = wibox.widget { + checked = todo_item.status, + color = beautiful.bg_normal, + paddings = 2, + shape = gears.shape.circle, + forced_width = 20, + forced_height = 20, + check_color = beautiful.fg_urgent, + widget = wibox.widget.checkbox + } + + checkbox:connect_signal("button::press", function(c) + c:set_checked(not c.checked) + todo_item.status = not todo_item.status + result.todo_items[i] = todo_item + spawn.easy_async_with_shell("echo '" .. json.encode(result) .. "' > " .. STORAGE, function () + todo_widget:update_counter(result.todo_items) + end) + end) + + + local trash_button = wibox.widget { + { + { image = WIDGET_DIR .. '/window-close-symbolic.svg', + resize = false, + widget = wibox.widget.imagebox + }, + margins = 5, + layout = wibox.container.margin + }, + border_width = 1, + shape = function(cr, width, height) + gears.shape.circle(cr, width, height, 10) + end, + widget = wibox.container.background + } + + trash_button:connect_signal("button::press", function() + table.remove(result.todo_items, i) + spawn.easy_async_with_shell("printf '" .. json.encode(result) .. "' > " .. STORAGE, function () + spawn.easy_async(GET_TODO_ITEMS, function(items) update_widget(items) end) + end) + end) + + + local move_up = wibox.widget { + image = WIDGET_DIR .. '/chevron-up.svg', + resize = false, + widget = wibox.widget.imagebox + } + + move_up:connect_signal("button::press", function() + local temp = result.todo_items[i] + result.todo_items[i] = result.todo_items[i-1] + result.todo_items[i-1] = temp + spawn.easy_async_with_shell("printf '" .. json.encode(result) .. "' > " .. STORAGE, function () + spawn.easy_async(GET_TODO_ITEMS, function(items) update_widget(items) end) + end) + end) + + local move_down = wibox.widget { + image = WIDGET_DIR .. '/chevron-down.svg', + resize = false, + widget = wibox.widget.imagebox + } + + move_down:connect_signal("button::press", function() + local temp = result.todo_items[i] + result.todo_items[i] = result.todo_items[i+1] + result.todo_items[i+1] = temp + spawn.easy_async_with_shell("printf '" .. json.encode(result) .. "' > " .. STORAGE, function () + spawn.easy_async(GET_TODO_ITEMS, function(items) update_widget(items) end) + end) + end) + + + local move_buttons = { + layout = wibox.layout.fixed.vertical + } + + if i == 1 and #result.todo_items > 1 then + table.insert(move_buttons, move_down) + elseif i == #result.todo_items and #result.todo_items > 1 then + table.insert(move_buttons, move_up) + elseif #result.todo_items > 1 then + table.insert(move_buttons, move_up) + table.insert(move_buttons, move_down) + end + + local row = wibox.widget { + { + { + { + checkbox, + valign = 'center', + layout = wibox.container.place, + }, + { + { + text = todo_item.todo_item, + align = 'left', + widget = wibox.widget.textbox + }, + left = 10, + layout = wibox.container.margin + }, + { + { + move_buttons, + valign = 'center', + layout = wibox.container.place, + }, + { + trash_button, + valign = 'center', + layout = wibox.container.place, + }, + spacing = 8, + layout = wibox.layout.align.horizontal + }, + spacing = 8, + layout = wibox.layout.align.horizontal + }, + margins = 8, + layout = wibox.container.margin + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + } + + row:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end) + row:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end) + + table.insert(rows, row) + end + + popup:setup(rows) + end + + todo_widget.widget:buttons( + gears.table.join( + awful.button({}, 1, function() + if popup.visible then + todo_widget.widget:set_bg('#00000000') + popup.visible = not popup.visible + else + todo_widget.widget:set_bg(beautiful.bg_focus) + popup:move_next_to(mouse.current_widget_geometry) + end + end) + ) + ) + + spawn.easy_async(GET_TODO_ITEMS, function(stdout) update_widget(stdout) end) + + return todo_widget.widget +end + +if not gfs.file_readable(STORAGE) then + spawn.easy_async(string.format([[bash -c "dirname %s | xargs mkdir -p && echo '{\"todo_items\":{}}' > %s"]], + STORAGE, STORAGE)) +end + +return setmetatable(todo_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/todo-widget/window-close-symbolic.svg b/awesome/awesome-wm-widgets/todo-widget/window-close-symbolic.svg new file mode 100644 index 00000000..46ff8888 --- /dev/null +++ b/awesome/awesome-wm-widgets/todo-widget/window-close-symbolic.svg @@ -0,0 +1,95 @@ + + + + + + + + Gnome Symbolic Icon Theme + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + diff --git a/awesome/awesome-wm-widgets/translate-widget/README.MD b/awesome/awesome-wm-widgets/translate-widget/README.MD new file mode 100644 index 00000000..a82fda74 --- /dev/null +++ b/awesome/awesome-wm-widgets/translate-widget/README.MD @@ -0,0 +1,38 @@ +# Translate Widget + +This widget allows quickly translate words or phrases without opening a browser - just using Awesome. To provide direction of the translation add the 2 letters code of the source and target languages at the end of the phrase, for example _hello enfr_ will translate _hello_ from English to French. This widget is based on [Watson Language Translator](https://www.ibm.com/watson/services/language-translator/) from IBM. + +![demo](./demo.gif) + +## Controls + + - Mod4 + c - opens a translate prompt; + - left click on the popup widget - copies the translation to the clipboard and closes widget; + - right click on the popup widget - copies text to translate to the clipboard and closes widget. + +## Installation + +1. Clone repo under **~/.config/awesome/** +1. Create an IBM Cloud API key at [cloud.ibm.com/iam/apikeys](https://cloud.ibm.com/iam/apikeys) +1. Copy a service URL by going to [resource list](https://cloud.ibm.com/resources), then under "Services" select "Language Translator" option, and then copy URL from the "Credentials" section +1. Require widget in **rc.lua**: + + ```lua + local translate = require("awesome-wm-widgets.translate-widget.translate") + ``` + +1. Add a shortcut to run translate prompt: + + ```lua + awful.key({ modkey }, "c", function() + translate.launch{api_key = '', url = 'url'} + end, { description = "run translate prompt", group = "launcher" }) + ``` + + + + + + + + diff --git a/awesome/awesome-wm-widgets/translate-widget/demo.gif b/awesome/awesome-wm-widgets/translate-widget/demo.gif new file mode 100644 index 00000000..3645d47a Binary files /dev/null and b/awesome/awesome-wm-widgets/translate-widget/demo.gif differ diff --git a/awesome/awesome-wm-widgets/translate-widget/demo1.gif b/awesome/awesome-wm-widgets/translate-widget/demo1.gif new file mode 100644 index 00000000..62cc9f40 Binary files /dev/null and b/awesome/awesome-wm-widgets/translate-widget/demo1.gif differ diff --git a/awesome/awesome-wm-widgets/translate-widget/gnome-translate.svg b/awesome/awesome-wm-widgets/translate-widget/gnome-translate.svg new file mode 100644 index 00000000..ca02b1a9 --- /dev/null +++ b/awesome/awesome-wm-widgets/translate-widget/gnome-translate.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/awesome/awesome-wm-widgets/translate-widget/translate.lua b/awesome/awesome-wm-widgets/translate-widget/translate.lua new file mode 100644 index 00000000..d680c4ec --- /dev/null +++ b/awesome/awesome-wm-widgets/translate-widget/translate.lua @@ -0,0 +1,201 @@ +------------------------------------------------- +-- Translate Widget based on the Yandex.Translate API +-- https://tech.yandex.com/translate/ + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local spawn = require("awful.spawn") +local capi = {keygrabber = keygrabber } +local beautiful = require("beautiful") +local json = require("json") +local naughty = require("naughty") +local wibox = require("wibox") +local gears = require("gears") +local gfs = require("gears.filesystem") + +local TRANSLATE_CMD = [[bash -c 'curl -s -u "apikey:%s" -H "Content-Type: application/json"]] + ..[[ -d '\''{"text": ["%s"], "model_id":"%s"}'\'' "%s/v3/translate?version=2018-05-01"']] +local ICON = os.getenv("HOME") .. '/.config/awesome/awesome-wm-widgets/translate-widget/gnome-translate.svg' + +--- Returns two values - string to translate and direction: +-- 'dog enfr' -> 'dog', 'en-fr' +-- @param input_string user's input which consists of +-- text to translate and direction, 'dog enfr' +local function extract(input_string) + local word, lang = input_string:match('^(.+)%s(%a%a%a%a)$') + + if word ~= nil and lang ~= nil then + lang = lang:sub(1, 2) .. '-' .. lang:sub(3) + end + return word, lang +end + +local function show_warning(message) + naughty.notify{ + preset = naughty.config.presets.critical, + title = 'Translate Shell', + text = message} +end + +local w = awful.popup { + widget = {}, + visible = false, + border_width = 1, + maximum_width = 400, + width = 400, + border_color = '#66ccff', + ontop = true, + bg = beautiful.bg_normal, + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 3) + end, +} +awful.placement.top(w, { margins = {top = 40}}) + + +--- Main function - takes the user input and shows the widget with translation +-- @param request_string - user input (dog enfr) +local function translate(to_translate, lang, api_key, url) + + local cmd = string.format(TRANSLATE_CMD, api_key, to_translate, lang, url) + spawn.easy_async(cmd, function (stdout, stderr) + if stderr ~= '' then + show_warning(stderr) + end + + local resp = json.decode(stdout) + + w:setup { + { + { + { + { + image = ICON, + widget = wibox.widget.imagebox, + resize = false + }, + valign = 'center', + layout = wibox.container.place, + }, + { + { + id = 'src', + markup = '' .. lang:sub(1,2) .. ': ' + .. to_translate .. '', + widget = wibox.widget.textbox + }, + { + id = 'res', + markup = '' .. lang:sub(4) .. ': ' + .. resp.translations[1].translation .. '', + widget = wibox.widget.textbox + }, + id = 'text', + layout = wibox.layout.fixed.vertical, + }, + id = 'left', + spacing = 8, + layout = wibox.layout.fixed.horizontal + }, + bg = beautiful.bg_normal, + forced_width = 400, + widget = wibox.container.background + }, + color = beautiful.bg_normal, + margins = 8, + widget = wibox.container.margin + } + + w.visible = true + w:buttons( + awful.util.table.join( + awful.button({}, 1, function() + spawn.with_shell("echo '" .. resp.translations[1].translation .. "' | xclip -selection clipboard") + w.visible = false + end), + awful.button({}, 3, function() + spawn.with_shell("echo '" .. to_translate .."' | xclip -selection clipboard") + w.visible = false + end) + ) + ) + + capi.keygrabber.run(function(_, key, event) + if event == "release" then return end + if key then + capi.keygrabber.stop() + w.visible = false + end + end) + end) +end + +local prompt = awful.widget.prompt() +local input_widget = wibox { + visible = false, + width = 300, + height = 100, + maxmimum_width = 300, + maxmimum_height = 900, + ontop = true, + screen = mouse.screen, + expand = true, + bg = beautiful.bg_normal, + max_widget_size = 500, + border_width = 1, + border_color = '#66ccff', + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 3) + end, +} + +input_widget:setup{ + { + prompt, + bg = beautiful.bg_normal, + widget = wibox.container.background + }, + margins = 8, + widget = wibox.container.margin +} + +local function launch(user_args) + + local args = user_args or {} + + local api_key = args.api_key + local url = args.url + + awful.placement.top(input_widget, { margins = {top = 40}, parent = awful.screen.focused()}) + input_widget.visible = true + + awful.prompt.run { + prompt = "Translate: ", + textbox = prompt.widget, + history_path = gfs.get_dir('cache') .. '/translate_history', + bg_cursor = '#66ccff', + exe_callback = function(text) + if not text or #text == 0 then return end + local to_translate, lang = extract(text) + if not to_translate or #to_translate==0 or not lang or #lang == 0 then + naughty.notify({ + preset = naughty.config.presets.critical, + title = 'Translate Widget Error', + text = 'Language is not provided', + }) + return + end + translate(to_translate, lang, api_key, url) + end, + done_callback = function() + input_widget.visible = false + end + } +end + +return { + launch = launch +} diff --git a/awesome/awesome-wm-widgets/volume-widget/README.md b/awesome/awesome-wm-widgets/volume-widget/README.md new file mode 100644 index 00000000..4fc7f557 --- /dev/null +++ b/awesome/awesome-wm-widgets/volume-widget/README.md @@ -0,0 +1,119 @@ +# Volume widget + +Volume widget based on [amixer](https://linux.die.net/man/1/amixer) (is used for controlling the audio volume) and [pacmd](https://linux.die.net/man/1/pacmd) (is used for selecting a sink/source). Also, the widget provides an easy way to customize how it looks, following types are supported out-of-the-box: + +![types](screenshots/variations.png) + +From left to right: `horizontal_bar`, `vertical_bar`, `icon`, `icon_and_text`, `arc` + +A right-click on the widget opens a popup where you can choose a sink/source: +![sink-sources](screenshots/volume-sink-sources.png) + +Left click toggles mute and middle click opens a mixer ([pavucontrol](https://freedesktop.org/software/pulseaudio/pavucontrol/) by default). + +### Features + + - switch between sinks/sources by right click on the widget; + - more responsive than previous versions of volume widget, which were refreshed once a second; + - 5 predefined customizable looks; + +## Installation + +Clone the repo under **~/.config/awesome/** and add widget in **rc.lua**: + +```lua +local volume_widget = require('awesome-wm-widgets.volume-widget.volume') +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + -- default + volume_widget(), + -- customized + volume_widget{ + widget_type = 'arc' + }, +``` + +Note that widget uses following command the get the current volume: `amixer -D pulse sget Master`, so please make sure that it works for you, otherwise you need to set parameter `device = 'default'`. + +### Shortcuts + +To improve responsiveness of the widget when volume level is changed by a shortcut use corresponding methods of the widget: + +```lua +awful.key({ modkey }, "]", function() volume_widget:inc(5) end), +awful.key({ modkey }, "[", function() volume_widget:dec(5) end), +awful.key({ modkey }, "\\", function() volume_widget:toggle() end), +``` + +## Customization + +It is possible to customize the widget by providing a table with all or some of the following config parameters: + +### Generic parameter + +| Name | Default | Description | +|---|---|---| +| `mixer_cmd` | `pavucontrol` | command to run on middle click (e.g. a mixer program) | +| `step` | `5` | How much the volume is raised or lowered at once (in %) | +| `widget_type`| `icon_and_text`| Widget type, one of `horizontal_bar`, `vertical_bar`, `icon`, `icon_and_text`, `arc` | +| `device` | `pulse` | Select the device name to control | + +Depends on the chosen widget type add parameters from the corresponding section below: + +#### `icon` parameters + +| Name | Default | Description | +|---|---|---| +| `icon_dir`| `./icons`| Path to the folder with icons | + +_Note:_ if you are changing icons, the folder should contain following .svg images: + - audio-volume-high-symbolic + - audio-volume-medium-symbolic + - audio-volume-low-symbolic + - audio-volume-muted-symbolic + +#### `icon_and_text` parameters + +| Name | Default | Description | +|---|---|---| +| `icon_dir`| `./icons`| Path to the folder with icons | +| `font` | `beautiful.font` | Font name and size, like `Play 12` | + +#### `arc` parameters + +| Name | Default | Description | +|---|---|---| +| `thickness` | 2 | Thickness of the arc | +| `main_color` | `beautiful.fg_color` | Color of the arc | +| `bg_color` | `#ffffff11` | Color of the arc's background | +| `mute_color` | `beautiful.fg_urgent` | Color of the arc when mute | +| `size` | 18 | Size of the widget | + +#### `horizontal_bar` parameters + +| Name | Default | Description | +|---|---|---| +| `main_color` | `beautiful.fg_normal` | Color of the bar | +| `mute_color` | `beautiful.fg_urgent` | Color of the bar when mute | +| `bg_color` | `'#ffffff11'` | Color of the bar's background | +| `width` | `50` | The bar width | +| `margins` | `10` | Top and bottom margins (if your wibar is 22 px high, bar will be 2 px = 22 - 2*10) | +| `shape` | `'bar'` | [gears.shape](https://awesomewm.org/doc/api/libraries/gears.shape.html), could be `octogon`, `hexagon`, `powerline`, etc | +| `with_icon` | `true` | Show volume icon| + +_Note:_ I didn't figure out how does the `forced_height` property of progressbar widget work (maybe it doesn't work at all), thus there is a workaround with margins. + +#### `vertical_bar` parameters + +| Name | Default | Description | +|---|---|---| +| `main_color` | `beautiful.fg_normal` | Color of the bar | +| `mute_color` | `beautiful.fg_urgent` | Color of the bar when mute | +| `bg_color` | `'#ffffff11'` | Color of the bar's background | +| `width` | `10` | The bar width | +| `margins` | `20` | Top and bottom margins (if your wibar is 22 px high, bar will be 2 px = 22 - 2*10) | +| `shape` | `'bar'` | [gears.shape](https://awesomewm.org/doc/api/libraries/gears.shape.html), could be `octogon`, `hexagon`, `powerline`, etc | +| `with_icon` | `true` | Show volume icon| diff --git a/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-high-symbolic.svg b/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-high-symbolic.svg new file mode 100644 index 00000000..985c107b --- /dev/null +++ b/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-high-symbolic.svg @@ -0,0 +1,88 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-low-symbolic.svg b/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-low-symbolic.svg new file mode 100644 index 00000000..7eb45313 --- /dev/null +++ b/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-low-symbolic.svg @@ -0,0 +1,88 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-medium-symbolic.svg b/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-medium-symbolic.svg new file mode 100644 index 00000000..11e44fe9 --- /dev/null +++ b/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-medium-symbolic.svg @@ -0,0 +1,88 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-muted-symbolic.svg b/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-muted-symbolic.svg new file mode 100644 index 00000000..e577d050 --- /dev/null +++ b/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-muted-symbolic.svg @@ -0,0 +1,88 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/awesome/awesome-wm-widgets/volume-widget/screenshots/variations.png b/awesome/awesome-wm-widgets/volume-widget/screenshots/variations.png new file mode 100644 index 00000000..21d7eadf Binary files /dev/null and b/awesome/awesome-wm-widgets/volume-widget/screenshots/variations.png differ diff --git a/awesome/awesome-wm-widgets/volume-widget/screenshots/volume-sink-sources.png b/awesome/awesome-wm-widgets/volume-widget/screenshots/volume-sink-sources.png new file mode 100644 index 00000000..7d010bcc Binary files /dev/null and b/awesome/awesome-wm-widgets/volume-widget/screenshots/volume-sink-sources.png differ diff --git a/awesome/awesome-wm-widgets/volume-widget/utils.lua b/awesome/awesome-wm-widgets/volume-widget/utils.lua new file mode 100644 index 00000000..417a666e --- /dev/null +++ b/awesome/awesome-wm-widgets/volume-widget/utils.lua @@ -0,0 +1,105 @@ + + +local utils = {} + +local function split(string_to_split, separator) + if separator == nil then separator = "%s" end + local t = {} + + for str in string.gmatch(string_to_split, "([^".. separator .."]+)") do + table.insert(t, str) + end + + return t +end + +function utils.extract_sinks_and_sources(pacmd_output) + local sinks = {} + local sources = {} + local device + local properties + local ports + local in_sink = false + local in_source = false + local in_device = false + local in_properties = false + local in_ports = false + for line in pacmd_output:gmatch("[^\r\n]+") do + if string.match(line, 'source%(s%) available.') then + in_sink = false + in_source = true + end + if string.match(line, 'sink%(s%) available.') then + in_sink = true + in_source = false + end + + if string.match(line, 'index:') then + in_device = true + in_properties = false + device = { + id = line:match(': (%d+)'), + is_default = string.match(line, '*') ~= nil + } + if in_sink then + table.insert(sinks, device) + elseif in_source then + table.insert(sources, device) + end + end + + if string.match(line, '^\tproperties:') then + in_device = false + in_properties = true + properties = {} + device['properties'] = properties + end + + if string.match(line, 'ports:') then + in_device = false + in_properties = false + in_ports = true + ports = {} + device['ports'] = ports + end + + if string.match(line, 'active port:') then + in_device = false + in_properties = false + in_ports = false + device['active_port'] = line:match(': (.+)'):gsub('<',''):gsub('>','') + end + + if in_device then + local t = split(line, ': ') + local key = t[1]:gsub('\t+', ''):lower() + local value = t[2]:gsub('^<', ''):gsub('>$', '') + device[key] = value + end + + if in_properties then + local t = split(line, '=') + local key = t[1]:gsub('\t+', ''):gsub('%.', '_'):gsub('-', '_'):gsub(':', ''):gsub("%s+$", "") + local value + if t[2] == nil then + value = t[2] + else + value = t[2]:gsub('"', ''):gsub("^%s+", ""):gsub(' Analog Stereo', '') + end + properties[key] = value + end + + if in_ports then + local t = split(line, ': ') + local key = t[1] + if key ~= nil then + key = key:gsub('\t+', '') + end + ports[key] = t[2] + end + end + + return sinks, sources +end + +return utils \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/volume-widget/volume-2.svg b/awesome/awesome-wm-widgets/volume-widget/volume-2.svg new file mode 100644 index 00000000..10f1c67a --- /dev/null +++ b/awesome/awesome-wm-widgets/volume-widget/volume-2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/volume-widget/volume.lua b/awesome/awesome-wm-widgets/volume-widget/volume.lua new file mode 100644 index 00000000..4c440422 --- /dev/null +++ b/awesome/awesome-wm-widgets/volume-widget/volume.lua @@ -0,0 +1,228 @@ +------------------------------------------------- +-- The Ultimate Volume Widget for Awesome Window Manager +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/volume-widget + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local awful = require("awful") +local wibox = require("wibox") +local spawn = require("awful.spawn") +local gears = require("gears") +local beautiful = require("beautiful") +local watch = require("awful.widget.watch") +local utils = require("awesome-wm-widgets.volume-widget.utils") + + +local LIST_DEVICES_CMD = [[sh -c "pacmd list-sinks; pacmd list-sources"]] +local function GET_VOLUME_CMD(device) return 'amixer -D ' .. device .. ' sget Master' end +local function INC_VOLUME_CMD(device, step) return 'amixer -D ' .. device .. ' sset Master ' .. step .. '%+' end +local function DEC_VOLUME_CMD(device, step) return 'amixer -D ' .. device .. ' sset Master ' .. step .. '%-' end +local function TOG_VOLUME_CMD(device) return 'amixer -D ' .. device .. ' sset Master toggle' end + + +local widget_types = { + icon_and_text = require("awesome-wm-widgets.volume-widget.widgets.icon-and-text-widget"), + icon = require("awesome-wm-widgets.volume-widget.widgets.icon-widget"), + arc = require("awesome-wm-widgets.volume-widget.widgets.arc-widget"), + horizontal_bar = require("awesome-wm-widgets.volume-widget.widgets.horizontal-bar-widget"), + vertical_bar = require("awesome-wm-widgets.volume-widget.widgets.vertical-bar-widget") +} +local volume = {} + +local rows = { layout = wibox.layout.fixed.vertical } + +local popup = awful.popup{ + bg = beautiful.bg_normal, + ontop = true, + visible = false, + shape = gears.shape.rounded_rect, + border_width = 1, + border_color = beautiful.bg_focus, + maximum_width = 400, + offset = { y = 5 }, + widget = {} +} + +local function build_main_line(device) + if device.active_port ~= nil and device.ports[device.active_port] ~= nil then + return device.properties.device_description .. ' · ' .. device.ports[device.active_port] + else + return device.properties.device_description + end +end + +local function build_rows(devices, on_checkbox_click, device_type) + local device_rows = { layout = wibox.layout.fixed.vertical } + for _, device in pairs(devices) do + + local checkbox = wibox.widget { + checked = device.is_default, + color = beautiful.bg_normal, + paddings = 2, + shape = gears.shape.circle, + forced_width = 20, + forced_height = 20, + check_color = beautiful.fg_urgent, + widget = wibox.widget.checkbox + } + + checkbox:connect_signal("button::press", function() + spawn.easy_async(string.format([[sh -c 'pacmd set-default-%s "%s"']], device_type, device.name), function() + on_checkbox_click() + end) + end) + + local row = wibox.widget { + { + { + { + checkbox, + valign = 'center', + layout = wibox.container.place, + }, + { + { + text = build_main_line(device), + align = 'left', + widget = wibox.widget.textbox + }, + left = 10, + layout = wibox.container.margin + }, + spacing = 8, + layout = wibox.layout.align.horizontal + }, + margins = 4, + layout = wibox.container.margin + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + } + + row:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end) + row:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end) + + local old_cursor, old_wibox + row:connect_signal("mouse::enter", function() + local wb = mouse.current_wibox + old_cursor, old_wibox = wb.cursor, wb + wb.cursor = "hand1" + end) + row:connect_signal("mouse::leave", function() + if old_wibox then + old_wibox.cursor = old_cursor + old_wibox = nil + end + end) + + row:connect_signal("button::press", function() + spawn.easy_async(string.format([[sh -c 'pacmd set-default-%s "%s"']], device_type, device.name), function() + on_checkbox_click() + end) + end) + + table.insert(device_rows, row) + end + + return device_rows +end + +local function build_header_row(text) + return wibox.widget{ + { + markup = "" .. text .. "", + align = 'center', + widget = wibox.widget.textbox + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + } +end + +local function rebuild_popup() + spawn.easy_async(LIST_DEVICES_CMD, function(stdout) + + local sinks, sources = utils.extract_sinks_and_sources(stdout) + + for i = 0, #rows do rows[i]=nil end + + table.insert(rows, build_header_row("SINKS")) + table.insert(rows, build_rows(sinks, function() rebuild_popup() end, "sink")) + table.insert(rows, build_header_row("SOURCES")) + table.insert(rows, build_rows(sources, function() rebuild_popup() end, "source")) + + popup:setup(rows) + end) +end + + +local function worker(user_args) + + local args = user_args or {} + + local mixer_cmd = args.mixer_cmd or 'pavucontrol' + local widget_type = args.widget_type + local refresh_rate = args.refresh_rate or 1 + local step = args.step or 5 + local device = args.device or 'pulse' + + if widget_types[widget_type] == nil then + volume.widget = widget_types['icon_and_text'].get_widget(args.icon_and_text_args) + else + volume.widget = widget_types[widget_type].get_widget(args) + end + + local function update_graphic(widget, stdout) + local mute = string.match(stdout, "%[(o%D%D?)%]") -- \[(o\D\D?)\] - [on] or [off] + if mute == 'off' then widget:mute() + elseif mute == 'on' then widget:unmute() + end + local volume_level = string.match(stdout, "(%d?%d?%d)%%") -- (\d?\d?\d)\%) + volume_level = string.format("% 3d", volume_level) + widget:set_volume_level(volume_level) + end + + function volume:inc(s) + spawn.easy_async(INC_VOLUME_CMD(device, s or step), function(stdout) update_graphic(volume.widget, stdout) end) + end + + function volume:dec(s) + spawn.easy_async(DEC_VOLUME_CMD(device, s or step), function(stdout) update_graphic(volume.widget, stdout) end) + end + + function volume:toggle() + spawn.easy_async(TOG_VOLUME_CMD(device), function(stdout) update_graphic(volume.widget, stdout) end) + end + + function volume:mixer() + if mixer_cmd then + spawn.easy_async(mixer_cmd) + end + end + + volume.widget:buttons( + awful.util.table.join( + awful.button({}, 3, function() + if popup.visible then + popup.visible = not popup.visible + else + rebuild_popup() + popup:move_next_to(mouse.current_widget_geometry) + end + end), + awful.button({}, 4, function() volume:inc() end), + awful.button({}, 5, function() volume:dec() end), + awful.button({}, 2, function() volume:mixer() end), + awful.button({}, 1, function() volume:toggle() end) + ) + ) + + watch(GET_VOLUME_CMD(device), refresh_rate, update_graphic, volume.widget) + + return volume.widget +end + +return setmetatable(volume, { __call = function(_, ...) return worker(...) end }) diff --git a/awesome/awesome-wm-widgets/volume-widget/widgets/arc-widget.lua b/awesome/awesome-wm-widgets/volume-widget/widgets/arc-widget.lua new file mode 100644 index 00000000..b512f127 --- /dev/null +++ b/awesome/awesome-wm-widgets/volume-widget/widgets/arc-widget.lua @@ -0,0 +1,46 @@ +local wibox = require("wibox") +local beautiful = require('beautiful') + +local ICON_DIR = os.getenv("HOME") .. '/.config/awesome/awesome-wm-widgets/volume-widget/icons/' + +local widget = {} + +function widget.get_widget(widgets_args) + local args = widgets_args or {} + + local thickness = args.thickness or 2 + local main_color = args.main_color or beautiful.fg_color + local bg_color = args.bg_color or '#ffffff11' + local mute_color = args.mute_color or beautiful.fg_urgent + local size = args.size or 18 + + return wibox.widget { + { + id = "icon", + image = ICON_DIR .. 'audio-volume-high-symbolic.svg', + resize = true, + widget = wibox.widget.imagebox, + }, + max_value = 100, + thickness = thickness, + start_angle = 4.71238898, -- 2pi*3/4 + forced_height = size, + forced_width = size, + bg = bg_color, + paddings = 2, + widget = wibox.container.arcchart, + set_volume_level = function(self, new_value) + self.value = new_value + end, + mute = function(self) + self.colors = { mute_color } + end, + unmute = function(self) + self.colors = { main_color } + end + } + +end + + +return widget \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/volume-widget/widgets/horizontal-bar-widget.lua b/awesome/awesome-wm-widgets/volume-widget/widgets/horizontal-bar-widget.lua new file mode 100644 index 00000000..be1f38d2 --- /dev/null +++ b/awesome/awesome-wm-widgets/volume-widget/widgets/horizontal-bar-widget.lua @@ -0,0 +1,58 @@ +local wibox = require("wibox") +local beautiful = require('beautiful') +local gears = require("gears") + +local ICON_DIR = os.getenv("HOME") .. '/.config/awesome/awesome-wm-widgets/volume-widget/icons/' + +local widget = {} + +function widget.get_widget(widgets_args) + local args = widgets_args or {} + + local main_color = args.main_color or beautiful.fg_normal + local mute_color = args.mute_color or beautiful.fg_urgent + local bg_color = args.bg_color or '#ffffff11' + local width = args.width or 50 + local margins = args.margins or 10 + local shape = args.shape or 'bar' + local with_icon = args.with_icon == true and true or false + + local bar = wibox.widget { + { + { + id = "icon", + image = ICON_DIR .. 'audio-volume-high-symbolic.svg', + resize = false, + widget = wibox.widget.imagebox, + }, + valign = 'center', + visible = with_icon, + layout = wibox.container.place, + }, + { + id = 'bar', + max_value = 100, + forced_width = width, + color = main_color, + margins = { top = margins, bottom = margins }, + background_color = bg_color, + shape = gears.shape[shape], + widget = wibox.widget.progressbar, + }, + spacing = 4, + layout = wibox.layout.fixed.horizontal, + set_volume_level = function(self, new_value) + self:get_children_by_id('bar')[1]:set_value(tonumber(new_value)) + end, + mute = function(self) + self:get_children_by_id('bar')[1]:set_color(mute_color) + end, + unmute = function(self) + self:get_children_by_id('bar')[1]:set_color(main_color) + end + } + + return bar +end + +return widget diff --git a/awesome/awesome-wm-widgets/volume-widget/widgets/icon-and-text-widget.lua b/awesome/awesome-wm-widgets/volume-widget/widgets/icon-and-text-widget.lua new file mode 100644 index 00000000..b1a2793d --- /dev/null +++ b/awesome/awesome-wm-widgets/volume-widget/widgets/icon-and-text-widget.lua @@ -0,0 +1,59 @@ +local wibox = require("wibox") +local beautiful = require('beautiful') + +local widget = {} + +local ICON_DIR = os.getenv("HOME") .. '/.config/awesome/awesome-wm-widgets/volume-widget/icons/' + +function widget.get_widget(widgets_args) + local args = widgets_args or {} + + local font = args.font or beautiful.font + local icon_dir = args.icon_dir or ICON_DIR + + return wibox.widget { + { + { + id = "icon", + resize = false, + widget = wibox.widget.imagebox, + }, + valign = 'center', + layout = wibox.container.place + }, + { + id = 'txt', + font = font, + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.horizontal, + set_volume_level = function(self, new_value) + self:get_children_by_id('txt')[1]:set_text(new_value) + local volume_icon_name + if self.is_muted then + volume_icon_name = 'audio-volume-muted-symbolic' + else + local new_value_num = tonumber(new_value) + if (new_value_num >= 0 and new_value_num < 33) then + volume_icon_name="audio-volume-low-symbolic" + elseif (new_value_num < 66) then + volume_icon_name="audio-volume-medium-symbolic" + else + volume_icon_name="audio-volume-high-symbolic" + end + end + self:get_children_by_id('icon')[1]:set_image(icon_dir .. volume_icon_name .. '.svg') + end, + mute = function(self) + self.is_muted = true + self:get_children_by_id('icon')[1]:set_image(icon_dir .. 'audio-volume-muted-symbolic.svg') + end, + unmute = function(self) + self.is_muted = false + end + } + +end + + +return widget \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/volume-widget/widgets/icon-widget.lua b/awesome/awesome-wm-widgets/volume-widget/widgets/icon-widget.lua new file mode 100644 index 00000000..cc39a3d3 --- /dev/null +++ b/awesome/awesome-wm-widgets/volume-widget/widgets/icon-widget.lua @@ -0,0 +1,46 @@ +local wibox = require("wibox") + +local widget = {} + +local ICON_DIR = os.getenv("HOME") .. '/.config/awesome/awesome-wm-widgets/volume-widget/icons/' + +function widget.get_widget(widgets_args) + local args = widgets_args or {} + + local icon_dir = args.icon_dir or ICON_DIR + + return wibox.widget { + { + id = "icon", + resize = false, + widget = wibox.widget.imagebox, + }, + valign = 'center', + layout = wibox.container.place, + set_volume_level = function(self, new_value) + local volume_icon_name + if self.is_muted then + volume_icon_name = 'audio-volume-muted-symbolic' + else + local new_value_num = tonumber(new_value) + if (new_value_num >= 0 and new_value_num < 33) then + volume_icon_name="audio-volume-low-symbolic" + elseif (new_value_num < 66) then + volume_icon_name="audio-volume-medium-symbolic" + else + volume_icon_name="audio-volume-high-symbolic" + end + end + self:get_children_by_id('icon')[1]:set_image(icon_dir .. volume_icon_name .. '.svg') + end, + mute = function(self) + self.is_muted = true + self:get_children_by_id('icon')[1]:set_image(icon_dir .. 'audio-volume-muted-symbolic.svg') + end, + unmute = function(self) + self.is_muted = false + end + } +end + +return widget \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/volume-widget/widgets/vertical-bar-widget.lua b/awesome/awesome-wm-widgets/volume-widget/widgets/vertical-bar-widget.lua new file mode 100644 index 00000000..6f32b50d --- /dev/null +++ b/awesome/awesome-wm-widgets/volume-widget/widgets/vertical-bar-widget.lua @@ -0,0 +1,64 @@ +local wibox = require("wibox") +local beautiful = require('beautiful') +local gears = require("gears") + +local ICON_DIR = os.getenv("HOME") .. '/.config/awesome/awesome-wm-widgets/volume-widget/icons/' + +local widget = {} + +function widget.get_widget(widgets_args) + local args = widgets_args or {} + + local main_color = args.main_color or beautiful.fg_normal + local mute_color = args.mute_color or beautiful.fg_urgent + local bg_color = args.bg_color or '#ffffff11' + local width = args.width or 10 + local margins = args.height or 2 + local shape = args.shape or 'bar' + local with_icon = args.with_icon == true and true or false + + local bar = wibox.widget { + { + { + id = "icon", + image = ICON_DIR .. 'audio-volume-high-symbolic.svg', + resize = false, + widget = wibox.widget.imagebox, + }, + valign = 'center', + visible = with_icon, + layout = wibox.container.place, + }, + { + { + id = 'bar', + max_value = 100, + forced_width = width, + forced_height = 5, + margins = { top = margins, bottom = margins }, + color = main_color, + background_color = bg_color, + shape = gears.shape[shape], + widget = wibox.widget.progressbar, + }, + forced_width = width, + direction = 'east', + layout = wibox.container.rotate, + }, + spacing = 4, + layout = wibox.layout.fixed.horizontal, + set_volume_level = function(self, new_value) + self:get_children_by_id('bar')[1]:set_value(tonumber(new_value)) + end, + mute = function(self) + self:get_children_by_id('bar')[1]:set_color(mute_color) + end, + unmute = function(self) + self:get_children_by_id('bar')[1]:set_color(main_color) + end + } + + return bar +end + +return widget diff --git a/awesome/awesome-wm-widgets/weather-widget/README.md b/awesome/awesome-wm-widgets/weather-widget/README.md new file mode 100644 index 00000000..3bf62288 --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/README.md @@ -0,0 +1,144 @@ +# Weather widget + +

+ GitHub issues by-label + + + Twitter URL + +

+ +The widget showing current, hourly and daily weather forecast: + +

+ screenshot +

+ +The widget consists of three sections: + - current weather, including humidity, wind speed, UV index + - hourly forecast for the next 24 hours + - daily forecast for the next five days + +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| coordinates | Required | Table with two elements: latitude and longitude, e.g. `{46.204400, 6.143200}` | +| api_key | Required | Get it [here](https://openweathermap.org/appid) | +| font_name | `beautiful.font:gsub("%s%d+$", "")` | **Name** of the font to use e.g. 'Play' | +| both_units_widget | false | Show temperature in both units - '28°C (83°F) | +| units | metric | `metric` for celsius, `imperial` for fahrenheit | +| show_hourly_forecast | false | Show hourly forecase section | +| time_format_12h |false | 12 or 24 hour format (13:00 - default or 1pm) | +| show_daily_forecast | false | Show daily forecast section | +| icon_pack_name | weather-underground-icons | Name of the icon pack, could be `weather-underground-icon` or `VitalyGorbachev` or create your own, more details below | +| icons_extension | `.png` | File extension of icons in the pack | +| timeout | 120 | How often in seconds the widget refreshes | + +### Icons: + +The widget comes with two predefined icon packs: + + - weather-underground-icons taken from [here](https://github.com/manifestinteractive/weather-underground-icons) + - VitalyGorbachev taken from [here](https://www.flaticon.com/authors/vitaly-gorbachev) + +To add your custom icons, create a folder with the pack name under `/icons` and use the folder name in widget's config. There should be 18 icons, preferably 128x128 minimum. Icons should also respect the naming convention, please check widget's source. + +### Examples: + +#### Custom font, icons + +![example1](./example1.png) + +```lua +weather_curl_widget({ + api_key='', + coordinates = {45.5017, -73.5673}, + time_format_12h = true, + units = 'imperial', + both_units_widget = true, + font_name = 'Carter One', + icons = 'VitalyGorbachev', + icons_extension = '.svg', + show_hourly_forecast = true, + show_daily_forecast = true, +}), +``` + +#### Only current weather + +![example2](./example2.png) + +```lua +weather_curl_widget({ + api_key='', + coordinates = {45.5017, -73.5673}, +}), +``` + +## Installation + +1. Download json parser for lua from [github.com/rxi/json.lua](https://github.com/rxi/json.lua) and place it under **~/.config/awesome/** (don't forget to star a repo ): + + ```bash + wget -P ~/.config/awesome/ https://raw.githubusercontent.com/rxi/json.lua/master/json.lua + ``` + +1. Clone this repo under **~/.config/awesome/**: + + ```bash + git clone https://github.com/streetturtle/awesome-wm-widgets.git ~/.config/awesome/ + ``` + +1. Get Open Weather Map app id here: [openweathermap.org/appid](https://openweathermap.org/appid). + +1. Require weather widget at the beginning of **rc.lua**: + + ```lua + local weather_widget = require("awesome-wm-widgets.weather-widget.weather") + ``` + +1. Add widget to the tasklist: + + ```lua + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + --default + weather_widget({ + api_key='', + coordinates = {45.5017, -73.5673}, + }), + , + --customized + weather_curl_widget({ + api_key='', + coordinates = {45.5017, -73.5673}, + time_format_12h = true, + units = 'imperial', + both_units_widget = true, + font_name = 'Carter One', + icons = 'VitalyGorbachev', + icons_extension = '.svg', + show_hourly_forecast = true, + show_daily_forecast = true, + }), + ... + ``` + +## More screenshots + +Only negative temperature: + +![negative](./negative.png) + +Both positive and negative tempertature: + +![both](./both.png) + +## How it works + +TBW diff --git a/awesome/awesome-wm-widgets/weather-widget/both.png b/awesome/awesome-wm-widgets/weather-widget/both.png new file mode 100644 index 00000000..0947a37f Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/both.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/example1.png b/awesome/awesome-wm-widgets/weather-widget/example1.png new file mode 100644 index 00000000..7074faaf Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/example1.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/example2.png b/awesome/awesome-wm-widgets/weather-widget/example2.png new file mode 100644 index 00000000..857274ba Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/example2.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/example_response.json b/awesome/awesome-wm-widgets/weather-widget/example_response.json new file mode 100644 index 00000000..2b90a6ec --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/example_response.json @@ -0,0 +1,1419 @@ +{ + "lat": 45.5, + "lon": -73.57, + "timezone": "America/Toronto", + "timezone_offset": -14400, + "current": { + "dt": 1603155313, + "sunrise": 1603106181, + "sunset": 1603144896, + "temp": 8.91, + "feels_like": 7.97, + "pressure": 1025, + "humidity": 100, + "dew_point": 8.91, + "uvi": 2.37, + "clouds": 90, + "visibility": 4828, + "wind_speed": 1, + "wind_deg": 40, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + }, + { + "id": 701, + "main": "Mist", + "description": "mist", + "icon": "50n" + } + ], + "rain": { + "1h": 0.65 + } + }, + "hourly": [ + { + "dt": 1603152000, + "temp": -8.91, + "feels_like": 7.95, + "pressure": 1025, + "humidity": 100, + "dew_point": 8.91, + "clouds": 90, + "visibility": 10000, + "wind_speed": 1.03, + "wind_deg": 32, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 0.4 + } + }, + { + "dt": 1603155600, + "temp": -9.16, + "feels_like": 7.7, + "pressure": 1025, + "humidity": 91, + "dew_point": 7.77, + "clouds": 95, + "visibility": 10000, + "wind_speed": 1.34, + "wind_deg": 67, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + } + ], + "pop": 0.29, + "rain": { + "1h": 0.87 + } + }, + { + "dt": 1603159200, + "temp": -9.24, + "feels_like": 7.7, + "pressure": 1024, + "humidity": 88, + "dew_point": 7.36, + "clouds": 98, + "visibility": 10000, + "wind_speed": 1.32, + "wind_deg": 48, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + } + ], + "pop": 0.59, + "rain": { + "1h": 0.42 + } + }, + { + "dt": 1603162800, + "temp": -9.18, + "feels_like": 6.91, + "pressure": 1023, + "humidity": 86, + "dew_point": 6.96, + "clouds": 99, + "visibility": 10000, + "wind_speed": 2.23, + "wind_deg": 42, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0.86 + }, + { + "dt": 1603166400, + "temp": -9.09, + "feels_like": 6.46, + "pressure": 1023, + "humidity": 88, + "dew_point": 7.21, + "clouds": 100, + "visibility": 10000, + "wind_speed": 2.83, + "wind_deg": 46, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + } + ], + "pop": 0.94, + "rain": { + "1h": 0.6 + } + }, + { + "dt": 1603170000, + "temp": -8.96, + "feels_like": 6.43, + "pressure": 1022, + "humidity": 91, + "dew_point": 7.62, + "clouds": 100, + "visibility": 5405, + "wind_speed": 2.81, + "wind_deg": 18, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 1.89 + } + }, + { + "dt": 1603173600, + "temp": -8.84, + "feels_like": 6.29, + "pressure": 1021, + "humidity": 91, + "dew_point": 7.6, + "clouds": 100, + "visibility": 7599, + "wind_speed": 2.8, + "wind_deg": 35, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 2.07 + } + }, + { + "dt": 1603177200, + "temp": -8.92, + "feels_like": 6.34, + "pressure": 1021, + "humidity": 92, + "dew_point": 7.78, + "clouds": 100, + "visibility": 8594, + "wind_speed": 2.91, + "wind_deg": 44, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 1.19 + } + }, + { + "dt": 1603180800, + "temp": -9.08, + "feels_like": 7.18, + "pressure": 1020, + "humidity": 93, + "dew_point": 8.06, + "clouds": 100, + "visibility": 9347, + "wind_speed": 2.06, + "wind_deg": 37, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 1.02 + } + }, + { + "dt": 1603184400, + "temp": -8.98, + "feels_like": 6.28, + "pressure": 1019, + "humidity": 93, + "dew_point": 8, + "clouds": 100, + "visibility": 6164, + "wind_speed": 3.16, + "wind_deg": 354, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 1.89 + } + }, + { + "dt": 1603188000, + "temp": -8.69, + "feels_like": 5.78, + "pressure": 1019, + "humidity": 92, + "dew_point": 7.58, + "clouds": 100, + "visibility": 5143, + "wind_speed": 3.31, + "wind_deg": 29, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 2.6 + } + }, + { + "dt": 1603191600, + "temp": -8.6, + "feels_like": 6.08, + "pressure": 1019, + "humidity": 92, + "dew_point": 7.42, + "clouds": 100, + "visibility": 6072, + "wind_speed": 2.73, + "wind_deg": 29, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 2.3 + } + }, + { + "dt": 1603195200, + "temp": -8.56, + "feels_like": 6.68, + "pressure": 1019, + "humidity": 92, + "dew_point": 7.45, + "clouds": 100, + "visibility": 6697, + "wind_speed": 1.8, + "wind_deg": 16, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 2.58 + } + }, + { + "dt": 1603198800, + "temp": -8.74, + "feels_like": 6.88, + "pressure": 1020, + "humidity": 91, + "dew_point": 7.38, + "clouds": 100, + "visibility": 10000, + "wind_speed": 1.77, + "wind_deg": 319, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 1.06 + } + }, + { + "dt": 1603202400, + "temp": -8.93, + "feels_like": 7.32, + "pressure": 1020, + "humidity": 90, + "dew_point": 7.48, + "clouds": 100, + "visibility": 10000, + "wind_speed": 1.42, + "wind_deg": 291, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 0.95 + } + }, + { + "dt": 1603206000, + "temp": -9.07, + "feels_like": 6.75, + "pressure": 1021, + "humidity": 89, + "dew_point": 7.43, + "clouds": 100, + "visibility": 10000, + "wind_speed": 2.43, + "wind_deg": 276, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 0.31 + } + }, + { + "dt": 1603209600, + "temp": -9.31, + "feels_like": 6.58, + "pressure": 1022, + "humidity": 86, + "dew_point": 7.17, + "clouds": 100, + "visibility": 10000, + "wind_speed": 2.93, + "wind_deg": 262, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04d" + } + ], + "pop": 0.8 + }, + { + "dt": 1603213200, + "temp": -10.07, + "feels_like": 6.68, + "pressure": 1023, + "humidity": 80, + "dew_point": 6.78, + "clouds": 100, + "visibility": 10000, + "wind_speed": 3.77, + "wind_deg": 269, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04d" + } + ], + "pop": 0.8 + }, + { + "dt": 1603216800, + "temp": -11.87, + "feels_like": 7.99, + "pressure": 1023, + "humidity": 67, + "dew_point": 6.15, + "clouds": 99, + "visibility": 10000, + "wind_speed": 4.21, + "wind_deg": 265, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04d" + } + ], + "pop": 0.8 + }, + { + "dt": 1603220400, + "temp": -12.05, + "feels_like": 7.95, + "pressure": 1024, + "humidity": 64, + "dew_point": 5.63, + "clouds": 100, + "visibility": 10000, + "wind_speed": 4.38, + "wind_deg": 270, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04d" + } + ], + "pop": 0 + }, + { + "dt": 1603224000, + "temp": -11.74, + "feels_like": 7.54, + "pressure": 1025, + "humidity": 63, + "dew_point": 5.08, + "clouds": 100, + "visibility": 10000, + "wind_speed": 4.38, + "wind_deg": 276, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04d" + } + ], + "pop": 0 + }, + { + "dt": 1603227600, + "temp": -11.09, + "feels_like": 7.13, + "pressure": 1026, + "humidity": 62, + "dew_point": 4.24, + "clouds": 100, + "visibility": 10000, + "wind_speed": 3.79, + "wind_deg": 293, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04d" + } + ], + "pop": 0 + }, + { + "dt": 1603231200, + "temp": -10.13, + "feels_like": 6.51, + "pressure": 1027, + "humidity": 63, + "dew_point": 3.43, + "clouds": 100, + "visibility": 10000, + "wind_speed": 3.13, + "wind_deg": 318, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603234800, + "temp": -9.53, + "feels_like": 7.02, + "pressure": 1028, + "humidity": 63, + "dew_point": 3.02, + "clouds": 100, + "visibility": 10000, + "wind_speed": 1.4, + "wind_deg": 329, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603238400, + "temp": -9.2, + "feels_like": 7.3, + "pressure": 1028, + "humidity": 65, + "dew_point": 3.03, + "clouds": 100, + "visibility": 10000, + "wind_speed": 0.56, + "wind_deg": 52, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603242000, + "temp": -8.73, + "feels_like": 6.57, + "pressure": 1029, + "humidity": 68, + "dew_point": 3.28, + "clouds": 100, + "visibility": 10000, + "wind_speed": 0.98, + "wind_deg": 75, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603245600, + "temp": -8.12, + "feels_like": 5.55, + "pressure": 1029, + "humidity": 71, + "dew_point": 3.27, + "clouds": 89, + "visibility": 10000, + "wind_speed": 1.57, + "wind_deg": 68, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603249200, + "temp": -7.83, + "feels_like": 4.86, + "pressure": 1029, + "humidity": 71, + "dew_point": 3.05, + "clouds": 93, + "visibility": 10000, + "wind_speed": 2.07, + "wind_deg": 68, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603252800, + "temp": -7.49, + "feels_like": 4.21, + "pressure": 1029, + "humidity": 72, + "dew_point": 2.8, + "clouds": 94, + "visibility": 10000, + "wind_speed": 2.48, + "wind_deg": 66, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603256400, + "temp": -6.92, + "feels_like": 3.31, + "pressure": 1029, + "humidity": 73, + "dew_point": 2.47, + "clouds": 96, + "visibility": 10000, + "wind_speed": 2.87, + "wind_deg": 81, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603260000, + "temp": -6.49, + "feels_like": 2.48, + "pressure": 1029, + "humidity": 74, + "dew_point": 2.22, + "clouds": 96, + "visibility": 10000, + "wind_speed": 3.38, + "wind_deg": 78, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603263600, + "temp": -6.3, + "feels_like": 1.81, + "pressure": 1028, + "humidity": 71, + "dew_point": 1.55, + "clouds": 100, + "visibility": 10000, + "wind_speed": 3.89, + "wind_deg": 84, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603267200, + "temp": -6.22, + "feels_like": 1.39, + "pressure": 1027, + "humidity": 69, + "dew_point": 0.99, + "clouds": 98, + "visibility": 10000, + "wind_speed": 4.27, + "wind_deg": 74, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603270800, + "temp": -6.69, + "feels_like": 1.66, + "pressure": 1026, + "humidity": 65, + "dew_point": 0.79, + "clouds": 96, + "visibility": 10000, + "wind_speed": 4.47, + "wind_deg": 69, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0.05 + }, + { + "dt": 1603274400, + "temp": -6.53, + "feels_like": 1.74, + "pressure": 1024, + "humidity": 68, + "dew_point": 1.07, + "clouds": 97, + "visibility": 10000, + "wind_speed": 4.23, + "wind_deg": 65, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0.28 + }, + { + "dt": 1603278000, + "temp": -6.41, + "feels_like": 1.87, + "pressure": 1023, + "humidity": 73, + "dew_point": 1.96, + "clouds": 97, + "visibility": 10000, + "wind_speed": 4.08, + "wind_deg": 73, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + } + ], + "pop": 0.35, + "rain": { + "1h": 0.17 + } + }, + { + "dt": 1603281600, + "temp": -6.42, + "feels_like": 2.71, + "pressure": 1022, + "humidity": 79, + "dew_point": 3.21, + "clouds": 98, + "visibility": 9620, + "wind_speed": 3.16, + "wind_deg": 71, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "pop": 0.62, + "rain": { + "1h": 0.37 + } + }, + { + "dt": 1603285200, + "temp": -6.67, + "feels_like": 3.38, + "pressure": 1021, + "humidity": 86, + "dew_point": 4.59, + "clouds": 100, + "visibility": 10000, + "wind_speed": 2.95, + "wind_deg": 84, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "pop": 0.9, + "rain": { + "1h": 1.08 + } + }, + { + "dt": 1603288800, + "temp": -8.55, + "feels_like": 5.61, + "pressure": 1019, + "humidity": 87, + "dew_point": 6.64, + "clouds": 100, + "visibility": 10000, + "wind_speed": 3.05, + "wind_deg": 135, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 0.23 + } + }, + { + "dt": 1603292400, + "temp": -10.85, + "feels_like": 8.09, + "pressure": 1018, + "humidity": 95, + "dew_point": 10.13, + "clouds": 100, + "visibility": 10000, + "wind_speed": 4.04, + "wind_deg": 150, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 0.31 + } + }, + { + "dt": 1603296000, + "temp": -13.37, + "feels_like": 10.29, + "pressure": 1017, + "humidity": 90, + "dew_point": 11.93, + "clouds": 100, + "visibility": 10000, + "wind_speed": 5.19, + "wind_deg": 170, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 0.32 + } + }, + { + "dt": 1603299600, + "temp": -13.92, + "feels_like": 11.34, + "pressure": 1015, + "humidity": 94, + "dew_point": 13.07, + "clouds": 100, + "visibility": 6450, + "wind_speed": 5.01, + "wind_deg": 177, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 3.08 + } + }, + { + "dt": 1603303200, + "temp": -14.85, + "feels_like": 12.78, + "pressure": 1014, + "humidity": 95, + "dew_point": 14.1, + "clouds": 100, + "visibility": 10000, + "wind_speed": 4.79, + "wind_deg": 183, + "weather": [ + { + "id": 502, + "main": "Rain", + "description": "heavy intensity rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 4.94 + } + }, + { + "dt": 1603306800, + "temp": -15.94, + "feels_like": 13.56, + "pressure": 1014, + "humidity": 93, + "dew_point": 14.96, + "clouds": 100, + "visibility": 7138, + "wind_speed": 5.61, + "wind_deg": 207, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 2.71 + } + }, + { + "dt": 1603310400, + "temp": -16.72, + "feels_like": 14.6, + "pressure": 1014, + "humidity": 93, + "dew_point": 15.66, + "clouds": 100, + "visibility": 10000, + "wind_speed": 5.64, + "wind_deg": 208, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 1.33 + } + }, + { + "dt": 1603314000, + "temp": -16.74, + "feels_like": 14.61, + "pressure": 1014, + "humidity": 94, + "dew_point": 15.81, + "clouds": 100, + "visibility": 10000, + "wind_speed": 5.75, + "wind_deg": 216, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 0.89 + } + }, + { + "dt": 1603317600, + "temp": -17.05, + "feels_like": 14.53, + "pressure": 1015, + "humidity": 92, + "dew_point": 15.83, + "clouds": 100, + "visibility": 10000, + "wind_speed": 6.3, + "wind_deg": 234, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 0.51 + } + }, + { + "dt": 1603321200, + "temp": -16.74, + "feels_like": 14.18, + "pressure": 1016, + "humidity": 87, + "dew_point": 14.65, + "clouds": 100, + "visibility": 10000, + "wind_speed": 5.74, + "wind_deg": 257, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 0.22 + } + } + ], + "daily": [ + { + "dt": 1603123200, + "sunrise": 1603106181, + "sunset": 1603144896, + "temp": { + "day": 12, + "min": 8.91, + "max": 12.73, + "night": 9.05, + "eve": 9.72, + "morn": 12.73 + }, + "feels_like": { + "day": 9.92, + "night": 7.02, + "eve": 7.88, + "morn": 8.02 + }, + "pressure": 1025, + "humidity": 78, + "dew_point": 8.34, + "wind_speed": 2.41, + "wind_deg": 242, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "clouds": 100, + "pop": 1, + "rain": 8.77, + "uvi": 2.37 + }, + { + "dt": 1603209600, + "sunrise": 1603192663, + "sunset": 1603231195, + "temp": { + "day": 9.07, + "min": 7.83, + "max": 11.87, + "night": 7.83, + "eve": 11.09, + "morn": 8.98 + }, + "feels_like": { + "day": 6.75, + "night": 4.86, + "eve": 7.13, + "morn": 6.28 + }, + "pressure": 1021, + "humidity": 89, + "dew_point": 7.43, + "wind_speed": 2.43, + "wind_deg": 276, + "weather": [ + { + "id": 502, + "main": "Rain", + "description": "heavy intensity rain", + "icon": "10d" + } + ], + "clouds": 100, + "pop": 1, + "rain": 18.46, + "uvi": 2.3 + }, + { + "dt": 1603296000, + "sunrise": 1603279145, + "sunset": 1603317495, + "temp": { + "day": 10.85, + "min": 6.42, + "max": 16.74, + "night": 12.25, + "eve": 16.74, + "morn": 6.69 + }, + "feels_like": { + "day": 8.09, + "night": 8.59, + "eve": 14.61, + "morn": 1.66 + }, + "pressure": 1018, + "humidity": 95, + "dew_point": 10.13, + "wind_speed": 4.04, + "wind_deg": 150, + "weather": [ + { + "id": 502, + "main": "Rain", + "description": "heavy intensity rain", + "icon": "10d" + } + ], + "clouds": 100, + "pop": 1, + "rain": 16.19, + "uvi": 2.32 + }, + { + "dt": 1603382400, + "sunrise": 1603365627, + "sunset": 1603403795, + "temp": { + "day": 9.95, + "min": 7.29, + "max": 11.27, + "night": 7.29, + "eve": 11.01, + "morn": 9.44 + }, + "feels_like": { + "day": 5.45, + "night": 2.63, + "eve": 8.07, + "morn": 5.65 + }, + "pressure": 1027, + "humidity": 57, + "dew_point": 2.03, + "wind_speed": 4, + "wind_deg": 283, + "weather": [ + { + "id": 802, + "main": "Clouds", + "description": "scattered clouds", + "icon": "03d" + } + ], + "clouds": 27, + "pop": 0, + "uvi": 2.36 + }, + { + "dt": 1603468800, + "sunrise": 1603452109, + "sunset": 1603490097, + "temp": { + "day": 12.02, + "min": 6.62, + "max": 17.04, + "night": 15.91, + "eve": 17.04, + "morn": 7.09 + }, + "feels_like": { + "day": 8.48, + "night": 11.82, + "eve": 12.58, + "morn": 3.07 + }, + "pressure": 1022, + "humidity": 72, + "dew_point": 7.29, + "wind_speed": 4.1, + "wind_deg": 147, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "clouds": 99, + "pop": 0.29, + "rain": 0.22, + "uvi": 2.2 + }, + { + "dt": 1603555200, + "sunrise": 1603538592, + "sunset": 1603576400, + "temp": { + "day": 8.39, + "min": 6.83, + "max": 15.86, + "night": 6.83, + "eve": 9.56, + "morn": 12.99 + }, + "feels_like": { + "day": 3.79, + "night": 3.04, + "eve": 6.58, + "morn": 10.39 + }, + "pressure": 1022, + "humidity": 58, + "dew_point": 0.71, + "wind_speed": 3.87, + "wind_deg": 10, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "clouds": 72, + "pop": 0.9, + "rain": 2.54, + "uvi": 2.07 + }, + { + "dt": 1603641600, + "sunrise": 1603625075, + "sunset": 1603662705, + "temp": { + "day": 5.33, + "min": 3.23, + "max": 7.24, + "night": 4.97, + "eve": 6.59, + "morn": 3.97 + }, + "feels_like": { + "day": 1.26, + "night": 0.02, + "eve": 2.58, + "morn": -0.34 + }, + "pressure": 1025, + "humidity": 61, + "dew_point": -5.56, + "wind_speed": 2.67, + "wind_deg": 37, + "weather": [ + { + "id": 803, + "main": "Clouds", + "description": "broken clouds", + "icon": "04d" + } + ], + "clouds": 74, + "pop": 0.08, + "uvi": 2.25 + }, + { + "dt": 1603728000, + "sunrise": 1603711558, + "sunset": 1603749010, + "temp": { + "day": 3.7, + "min": 2.09, + "max": 3.88, + "night": 3.54, + "eve": 3.54, + "morn": 2.09 + }, + "feels_like": { + "day": -0.28, + "night": -0.76, + "eve": -0.86, + "morn": -2.81 + }, + "pressure": 1021, + "humidity": 90, + "dew_point": 2.33, + "wind_speed": 3.35, + "wind_deg": 32, + "weather": [ + { + "id": 502, + "main": "Rain", + "description": "heavy intensity rain", + "icon": "10d" + } + ], + "clouds": 100, + "pop": 1, + "rain": 12.43 + } + ] +} \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/broken-clouds-night.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/broken-clouds-night.svg new file mode 100644 index 00000000..8b7fc48b --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/broken-clouds-night.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/broken-clouds.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/broken-clouds.svg new file mode 100644 index 00000000..d42ea594 --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/broken-clouds.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/clear-sky-night.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/clear-sky-night.svg new file mode 100644 index 00000000..44f096c8 --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/clear-sky-night.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/clear-sky.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/clear-sky.svg new file mode 100644 index 00000000..dc82163e --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/clear-sky.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/few-clouds-night.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/few-clouds-night.svg new file mode 100644 index 00000000..8b7fc48b --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/few-clouds-night.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/few-clouds.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/few-clouds.svg new file mode 100644 index 00000000..d42ea594 --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/few-clouds.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/mist-night.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/mist-night.svg new file mode 100644 index 00000000..960b07d1 --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/mist-night.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/mist.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/mist.svg new file mode 100644 index 00000000..770f8d7c --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/mist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/rain-night.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/rain-night.svg new file mode 100644 index 00000000..11ecf00f --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/rain-night.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/rain.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/rain.svg new file mode 100644 index 00000000..11ecf00f --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/rain.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/scattered-clouds-night.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/scattered-clouds-night.svg new file mode 100644 index 00000000..8b7fc48b --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/scattered-clouds-night.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/scattered-clouds.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/scattered-clouds.svg new file mode 100644 index 00000000..d42ea594 --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/scattered-clouds.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/shower-rain-night.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/shower-rain-night.svg new file mode 100644 index 00000000..4d1897cb --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/shower-rain-night.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/shower-rain.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/shower-rain.svg new file mode 100644 index 00000000..4d1897cb --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/shower-rain.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/snow-night.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/snow-night.svg new file mode 100644 index 00000000..bee891e0 --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/snow-night.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/snow.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/snow.svg new file mode 100644 index 00000000..e2ea1409 --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/snow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/thunderstorm-night.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/thunderstorm-night.svg new file mode 100644 index 00000000..1813197e --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/thunderstorm-night.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/thunderstorm.svg b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/thunderstorm.svg new file mode 100644 index 00000000..44a733c2 --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/thunderstorm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/broken-clouds-night.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/broken-clouds-night.png new file mode 100644 index 00000000..061d1cde Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/broken-clouds-night.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/broken-clouds.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/broken-clouds.png new file mode 100755 index 00000000..5967d929 Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/broken-clouds.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/clear-sky-night.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/clear-sky-night.png new file mode 100644 index 00000000..cc40d0f9 Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/clear-sky-night.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/clear-sky.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/clear-sky.png new file mode 100755 index 00000000..acf8e5cd Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/clear-sky.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/few-clouds-night.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/few-clouds-night.png new file mode 100644 index 00000000..9c34fab9 Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/few-clouds-night.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/few-clouds.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/few-clouds.png new file mode 100755 index 00000000..7580fc5a Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/few-clouds.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/mist-night.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/mist-night.png new file mode 100755 index 00000000..102142a2 Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/mist-night.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/mist.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/mist.png new file mode 100755 index 00000000..102142a2 Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/mist.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/rain-night.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/rain-night.png new file mode 100755 index 00000000..49f0903c Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/rain-night.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/rain.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/rain.png new file mode 100755 index 00000000..49f0903c Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/rain.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/scattered-clouds-night.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/scattered-clouds-night.png new file mode 100755 index 00000000..63cb1b22 Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/scattered-clouds-night.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/scattered-clouds.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/scattered-clouds.png new file mode 100755 index 00000000..63cb1b22 Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/scattered-clouds.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/shower-rain-night.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/shower-rain-night.png new file mode 100755 index 00000000..49f0903c Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/shower-rain-night.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/shower-rain.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/shower-rain.png new file mode 100755 index 00000000..49f0903c Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/shower-rain.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/snow-night.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/snow-night.png new file mode 100755 index 00000000..0a7f006b Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/snow-night.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/snow.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/snow.png new file mode 100755 index 00000000..0a7f006b Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/snow.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/thunderstorm-night.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/thunderstorm-night.png new file mode 100755 index 00000000..21021043 Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/thunderstorm-night.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/thunderstorm.png b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/thunderstorm.png new file mode 100755 index 00000000..21021043 Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/thunderstorm.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/locale/de.lua b/awesome/awesome-wm-widgets/weather-widget/locale/de.lua new file mode 100644 index 00000000..2a9236a5 --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/locale/de.lua @@ -0,0 +1,13 @@ +local de = { + warning_title = "Wetter Widget", + parameter_warning = "Folgende benötigte Parameter fehlen: ", + directions = { + "N", "NNO", "NO", "ONO", "O", "OSO", "SO", "SSO", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW", "N" + }, + feels_like = "Gefühlt: ", + wind = "Wind: ", + humidity = "Luftfeuchtigkeit: ", + uv = "UV-Index: " +} + +return de diff --git a/awesome/awesome-wm-widgets/weather-widget/locale/en.lua b/awesome/awesome-wm-widgets/weather-widget/locale/en.lua new file mode 100644 index 00000000..377dc6f9 --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/locale/en.lua @@ -0,0 +1,14 @@ +local en = { + warning_title = "Weather Widget", + parameter_warning = "Required parameters are not set: ", + directions = { + "N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", + "WSW", "W", "WNW", "NW", "NNW", "N" + }, + feels_like = "Feels like ", + wind = "Wind: ", + humidity = "Humidity: ", + uv = "UV: " +} + +return en diff --git a/awesome/awesome-wm-widgets/weather-widget/locale/fr.lua b/awesome/awesome-wm-widgets/weather-widget/locale/fr.lua new file mode 100644 index 00000000..de508142 --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/locale/fr.lua @@ -0,0 +1,14 @@ +local fr = { + warning_title = "Widget Météo", + parameter_warning = "Les paramètres suivants sont obligatoires : ", + directions = { + "N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSO", "SO", + "OSO", "O", "ONO", "NO", "NNO", "N" + }, + feels_like = "ressentie à ", + wind = "Vent : ", + humidity = "Humidité : ", + uv = "Indice UV : " +} + +return fr diff --git a/awesome/awesome-wm-widgets/weather-widget/negative.png b/awesome/awesome-wm-widgets/weather-widget/negative.png new file mode 100644 index 00000000..afcf5675 Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/negative.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/weather-widget.png b/awesome/awesome-wm-widgets/weather-widget/weather-widget.png new file mode 100644 index 00000000..c7fc37ec Binary files /dev/null and b/awesome/awesome-wm-widgets/weather-widget/weather-widget.png differ diff --git a/awesome/awesome-wm-widgets/weather-widget/weather.lua b/awesome/awesome-wm-widgets/weather-widget/weather.lua new file mode 100644 index 00000000..4e8e659c --- /dev/null +++ b/awesome/awesome-wm-widgets/weather-widget/weather.lua @@ -0,0 +1,571 @@ +------------------------------------------------- +-- Weather Widget based on the OpenWeatherMap +-- https://openweathermap.org/ +-- +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- +local awful = require("awful") +local watch = require("awful.widget.watch") +local json = require("json") +local naughty = require("naughty") +local wibox = require("wibox") +local gears = require("gears") +local beautiful = require("beautiful") + +local HOME_DIR = os.getenv("HOME") +local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/weather-widget' +local GET_FORECAST_CMD = [[bash -c "curl -s --show-error -X GET '%s'"]] + +local SYS_LANG = os.getenv("LANG"):sub(1, 2) +-- default language is ENglish +local LANG = gears.filesystem.file_readable(WIDGET_DIR .. "/" .. "locale/" .. + SYS_LANG .. ".lua") and SYS_LANG or "en" +local LCLE = require("awesome-wm-widgets.weather-widget.locale." .. LANG) + + +local function show_warning(message) + naughty.notify { + preset = naughty.config.presets.critical, + title = LCLE.warning_title, + text = message + } +end + +if SYS_LANG ~= LANG then + show_warning("Your language is not supported yet. Language set to English") +end + +local weather_widget = {} +local warning_shown = false +local tooltip = awful.tooltip { + mode = 'outside', + preferred_positions = {'bottom'} +} + +local weather_popup = awful.popup { + ontop = true, + visible = false, + shape = gears.shape.rounded_rect, + border_width = 1, + border_color = beautiful.bg_focus, + maximum_width = 400, + offset = {y = 5}, + hide_on_right_click = true, + widget = {} +} + +--- Maps openWeatherMap icon name to file name w/o extension +local icon_map = { + ["01d"] = "clear-sky", + ["02d"] = "few-clouds", + ["03d"] = "scattered-clouds", + ["04d"] = "broken-clouds", + ["09d"] = "shower-rain", + ["10d"] = "rain", + ["11d"] = "thunderstorm", + ["13d"] = "snow", + ["50d"] = "mist", + ["01n"] = "clear-sky-night", + ["02n"] = "few-clouds-night", + ["03n"] = "scattered-clouds-night", + ["04n"] = "broken-clouds-night", + ["09n"] = "shower-rain-night", + ["10n"] = "rain-night", + ["11n"] = "thunderstorm-night", + ["13n"] = "snow-night", + ["50n"] = "mist-night" +} + +--- Return wind direction as a string +local function to_direction(degrees) + -- Ref: https://www.campbellsci.eu/blog/convert-wind-directions + if degrees == nil then return "Unknown dir" end + local directions = LCLE.directions + return directions[math.floor((degrees % 360) / 22.5) + 1] +end + +--- Convert degrees Celsius to Fahrenheit +local function celsius_to_fahrenheit(c) return c * 9 / 5 + 32 end + +-- Convert degrees Fahrenheit to Celsius +local function fahrenheit_to_celsius(f) return (f - 32) * 5 / 9 end + +local function gen_temperature_str(temp, fmt_str, show_other_units, units) + local temp_str = string.format(fmt_str, temp) + local s = temp_str .. '°' .. (units == 'metric' and 'C' or 'F') + + if (show_other_units) then + local temp_conv, units_conv + if (units == 'metric') then + temp_conv = celsius_to_fahrenheit(temp) + units_conv = 'F' + else + temp_conv = fahrenheit_to_celsius(temp) + units_conv = 'C' + end + + local temp_conv_str = string.format(fmt_str, temp_conv) + s = s .. ' ' .. '(' .. temp_conv_str .. '°' .. units_conv .. ')' + end + return s +end + +local function uvi_index_color(uvi) + local color + if uvi >= 0 and uvi < 3 then color = '#A3BE8C' + elseif uvi >= 3 and uvi < 6 then color = '#EBCB8B' + elseif uvi >= 6 and uvi < 8 then color = '#D08770' + elseif uvi >= 8 and uvi < 11 then color = '#BF616A' + elseif uvi >= 11 then color = '#B48EAD' + end + + return '' .. uvi .. '' +end + +local function worker(user_args) + + local args = user_args or {} + + --- Validate required parameters + if args.coordinates == nil or args.api_key == nil then + show_warning(LCLE.parameter_warning .. + (args.coordinates == nil and 'coordinates' or '') .. + (args.api_key == nil and ', api_key ' or '')) + return + end + + local coordinates = args.coordinates + local api_key = args.api_key + local font_name = args.font_name or beautiful.font:gsub("%s%d+$", "") + local units = args.units or 'metric' + local time_format_12h = args.time_format_12h + local both_units_widget = args.both_units_widget or false + local show_hourly_forecast = args.show_hourly_forecast + local show_daily_forecast = args.show_daily_forecast + local icon_pack_name = args.icons or 'weather-underground-icons' + local icons_extension = args.icons_extension or '.png' + local timeout = args.timeout or 120 + + local ICONS_DIR = WIDGET_DIR .. '/icons/' .. icon_pack_name .. '/' + local owm_one_cal_api = + ('https://api.openweathermap.org/data/2.5/onecall' .. + '?lat=' .. coordinates[1] .. '&lon=' .. coordinates[2] .. '&appid=' .. api_key .. + '&units=' .. units .. '&exclude=minutely' .. + (show_hourly_forecast == false and ',hourly' or '') .. + (show_daily_forecast == false and ',daily' or '') .. + '&lang=' .. LANG) + + weather_widget = wibox.widget { + { + { + { + { + id = 'icon', + resize = true, + widget = wibox.widget.imagebox + }, + valign = 'center', + widget = wibox.container.place, + }, + { + id = 'txt', + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.horizontal, + }, + left = 4, + right = 4, + layout = wibox.container.margin + }, + shape = function(cr, width, height) + gears.shape.rounded_rect(cr, width, height, 4) + end, + widget = wibox.container.background, + set_image = function(self, path) + self:get_children_by_id('icon')[1].image = path + end, + set_text = function(self, text) + self:get_children_by_id('txt')[1].text = text + end, + is_ok = function(self, is_ok) + if is_ok then + self:get_children_by_id('icon')[1]:set_opacity(1) + self:get_children_by_id('icon')[1]:emit_signal('widget:redraw_needed') + else + self:get_children_by_id('icon')[1]:set_opacity(0.2) + self:get_children_by_id('icon')[1]:emit_signal('widget:redraw_needed') + end + end + } + + local current_weather_widget = wibox.widget { + { + { + { + id = 'icon', + resize = true, + forced_width = 128, + forced_height = 128, + widget = wibox.widget.imagebox + }, + align = 'center', + widget = wibox.container.place + }, + { + id = 'description', + font = font_name .. ' 10', + align = 'center', + widget = wibox.widget.textbox + }, + forced_width = 128, + layout = wibox.layout.align.vertical + }, + { + { + { + id = 'temp', + font = font_name .. ' 36', + widget = wibox.widget.textbox + }, + { + id = 'feels_like_temp', + align = 'center', + font = font_name .. ' 9', + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.vertical + }, + { + { + id = 'wind', + font = font_name .. ' 9', + widget = wibox.widget.textbox + }, + { + id = 'humidity', + font = font_name .. ' 9', + widget = wibox.widget.textbox + }, + { + id = 'uv', + font = font_name .. ' 9', + widget = wibox.widget.textbox + }, + expand = 'inside', + layout = wibox.layout.align.vertical + }, + spacing = 16, + forced_width = 150, + layout = wibox.layout.fixed.vertical + }, + forced_width = 300, + layout = wibox.layout.flex.horizontal, + update = function(self, weather) + self:get_children_by_id('icon')[1]:set_image( + ICONS_DIR .. icon_map[weather.weather[1].icon] .. icons_extension) + self:get_children_by_id('temp')[1]:set_text(gen_temperature_str(weather.temp, '%.0f', false, units)) + self:get_children_by_id('feels_like_temp')[1]:set_text( + LCLE.feels_like .. gen_temperature_str(weather.feels_like, '%.0f', false, units)) + self:get_children_by_id('description')[1]:set_text(weather.weather[1].description) + self:get_children_by_id('wind')[1]:set_markup( + LCLE.wind .. '' .. weather.wind_speed .. 'm/s (' .. to_direction(weather.wind_deg) .. ')') + self:get_children_by_id('humidity')[1]:set_markup(LCLE.humidity .. '' .. weather.humidity .. '%') + self:get_children_by_id('uv')[1]:set_markup(LCLE.uv .. uvi_index_color(weather.uvi)) + end + } + + + local daily_forecast_widget = { + forced_width = 300, + layout = wibox.layout.flex.horizontal, + update = function(self, forecast, timezone_offset) + local count = #self + for i = 0, count do self[i]=nil end + for i, day in ipairs(forecast) do + if i > 5 then break end + local day_forecast = wibox.widget { + { + text = os.date('%a', tonumber(day.dt) + tonumber(timezone_offset)), + align = 'center', + font = font_name .. ' 9', + widget = wibox.widget.textbox + }, + { + { + { + image = ICONS_DIR .. icon_map[day.weather[1].icon] .. icons_extension, + resize = true, + forced_width = 48, + forced_height = 48, + widget = wibox.widget.imagebox + }, + align = 'center', + layout = wibox.container.place + }, + { + text = day.weather[1].description, + font = font_name .. ' 8', + align = 'center', + forced_height = 50, + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.vertical + }, + { + { + text = gen_temperature_str(day.temp.day, '%.0f', false, units), + align = 'center', + font = font_name .. ' 9', + widget = wibox.widget.textbox + }, + { + text = gen_temperature_str(day.temp.night, '%.0f', false, units), + align = 'center', + font = font_name .. ' 9', + widget = wibox.widget.textbox + }, + layout = wibox.layout.fixed.vertical + }, + spacing = 8, + layout = wibox.layout.fixed.vertical + } + table.insert(self, day_forecast) + end + end + } + + local hourly_forecast_graph = wibox.widget { + step_width = 12, + color = '#EBCB8B', + background_color = beautiful.bg_normal, + forced_height = 100, + forced_width = 300, + widget = wibox.widget.graph, + set_max_value = function(self, new_max_value) + self.max_value = new_max_value + end, + set_min_value = function(self, new_min_value) + self.min_value = new_min_value + end + } + local hourly_forecast_negative_graph = wibox.widget { + step_width = 12, + color = '#5E81AC', + background_color = beautiful.bg_normal, + forced_height = 100, + forced_width = 300, + widget = wibox.widget.graph, + set_max_value = function(self, new_max_value) + self.max_value = new_max_value + end, + set_min_value = function(self, new_min_value) + self.min_value = new_min_value + end + } + + local hourly_forecast_widget = { + layout = wibox.layout.fixed.vertical, + update = function(self, hourly) + local hours_below = { + id = 'hours', + forced_width = 300, + layout = wibox.layout.flex.horizontal + } + local temp_below = { + id = 'temp', + forced_width = 300, + layout = wibox.layout.flex.horizontal + } + + local max_temp = -1000 + local min_temp = 1000 + local values = {} + for i, hour in ipairs(hourly) do + if i > 25 then break end + values[i] = hour.temp + if max_temp < hour.temp then max_temp = hour.temp end + if min_temp > hour.temp then min_temp = hour.temp end + if (i - 1) % 5 == 0 then + table.insert(hours_below, wibox.widget { + text = os.date(time_format_12h and '%I%p' or '%H:00', tonumber(hour.dt)), + align = 'center', + font = font_name .. ' 9', + widget = wibox.widget.textbox + }) + table.insert(temp_below, wibox.widget { + markup = '' + .. string.format('%.0f', hour.temp) .. '°' .. '', + align = 'center', + font = font_name .. ' 9', + widget = wibox.widget.textbox + }) + end + end + + hourly_forecast_graph:set_max_value(math.max(max_temp, math.abs(min_temp))) + hourly_forecast_graph:set_min_value(min_temp > 0 and min_temp * 0.7 or 0) -- move graph a bit up + + hourly_forecast_negative_graph:set_max_value(math.abs(min_temp)) + hourly_forecast_negative_graph:set_min_value(max_temp < 0 and math.abs(max_temp) * 0.7 or 0) + + for _, value in ipairs(values) do + if value >= 0 then + hourly_forecast_graph:add_value(value) + hourly_forecast_negative_graph:add_value(0) + else + hourly_forecast_graph:add_value(0) + hourly_forecast_negative_graph:add_value(math.abs(value)) + end + end + + local count = #self + for i = 0, count do self[i]=nil end + + -- all temperatures are positive + if min_temp > 0 then + table.insert(self, wibox.widget{ + { + hourly_forecast_graph, + reflection = {horizontal = true}, + widget = wibox.container.mirror + }, + { + temp_below, + valign = 'bottom', + widget = wibox.container.place + }, + id = 'graph', + layout = wibox.layout.stack + }) + table.insert(self, hours_below) + + -- all temperatures are negative + elseif max_temp < 0 then + table.insert(self, hours_below) + table.insert(self, wibox.widget{ + { + hourly_forecast_negative_graph, + reflection = {horizontal = true, vertical = true}, + widget = wibox.container.mirror + }, + { + temp_below, + valign = 'top', + widget = wibox.container.place + }, + id = 'graph', + layout = wibox.layout.stack + }) + + -- there are both negative and positive temperatures + else + table.insert(self, wibox.widget{ + { + hourly_forecast_graph, + reflection = {horizontal = true}, + widget = wibox.container.mirror + }, + { + temp_below, + valign = 'bottom', + widget = wibox.container.place + }, + id = 'graph', + layout = wibox.layout.stack + }) + table.insert(self, wibox.widget{ + { + hourly_forecast_negative_graph, + reflection = {horizontal = true, vertical = true}, + widget = wibox.container.mirror + }, + { + hours_below, + valign = 'top', + widget = wibox.container.place + }, + id = 'graph', + layout = wibox.layout.stack + }) + end + end + } + + local function update_widget(widget, stdout, stderr) + if stderr ~= '' then + if not warning_shown then + if (stderr ~= 'curl: (52) Empty reply from server' + and stderr ~= 'curl: (28) Failed to connect to api.openweathermap.org port 443: Connection timed out' + and stderr:find('^curl: %(18%) transfer closed with %d+ bytes remaining to read$') ~= nil + ) then + show_warning(stderr) + end + warning_shown = true + widget:is_ok(false) + tooltip:add_to_object(widget) + + widget:connect_signal('mouse::enter', function() tooltip.text = stderr end) + end + return + end + + warning_shown = false + tooltip:remove_from_object(widget) + widget:is_ok(true) + + local result = json.decode(stdout) + + widget:set_image(ICONS_DIR .. icon_map[result.current.weather[1].icon] .. icons_extension) + widget:set_text(gen_temperature_str(result.current.temp, '%.0f', both_units_widget, units)) + + current_weather_widget:update(result.current) + + local final_widget = { + current_weather_widget, + spacing = 16, + layout = wibox.layout.fixed.vertical + } + + if show_hourly_forecast then + hourly_forecast_widget:update(result.hourly) + table.insert(final_widget, hourly_forecast_widget) + end + + if show_daily_forecast then + daily_forecast_widget:update(result.daily, result.timezone_offset) + table.insert(final_widget, daily_forecast_widget) + end + + weather_popup:setup({ + { + final_widget, + margins = 10, + widget = wibox.container.margin + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + }) + end + + weather_widget:buttons(gears.table.join(awful.button({}, 1, function() + if weather_popup.visible then + weather_widget:set_bg('#00000000') + weather_popup.visible = not weather_popup.visible + else + weather_widget:set_bg(beautiful.bg_focus) + weather_popup:move_next_to(mouse.current_widget_geometry) + end + end))) + + watch( + string.format(GET_FORECAST_CMD, owm_one_cal_api), + timeout, -- API limit is 1k req/day; day has 1440 min; every 2 min is good + update_widget, weather_widget + ) + + return weather_widget +end + +return setmetatable(weather_widget, {__call = function(_, ...) return worker(...) end}) diff --git a/awesome/awesome-wm-widgets/widgets-icons.png b/awesome/awesome-wm-widgets/widgets-icons.png new file mode 100644 index 00000000..ba9c5518 Binary files /dev/null and b/awesome/awesome-wm-widgets/widgets-icons.png differ diff --git a/awesome/awesome-wm-widgets/word-clock-widget/README.md b/awesome/awesome-wm-widgets/word-clock-widget/README.md new file mode 100644 index 00000000..9bf1032b --- /dev/null +++ b/awesome/awesome-wm-widgets/word-clock-widget/README.md @@ -0,0 +1,74 @@ +# word clock widget + +Widget displaying current time using words: + +![screenshot](./screenshots/halfpastthree.png) + +## Customization + +It is possible to customize widget by providing a table with all or some of the following config parameters: + +| Name | Default | Description | +|---|---|---| +| main_color | `beautiful.fg_normal` | Color of the word on odd position | +| accent_color | `beautiful.fg_urgent` | Color of the word on even position | +| font | `beautiful.font` | Font (`Play 20`) | +| is_human_readable | `false` | _nine fifteen_ or _fifteen past nine_ | +| military_time | `false` | 12 or 24 time format | +| with_spaces | `false` | Separate words with spaces | + +## Installation + +Clone repo, include widget and use it in **rc.lua**: + +```lua +local word_clock = require("awesome-wm-widgets.word-clock-widget.word-clock") +... +s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + ... + word_clock(), + ... +``` + +# Screenshots + +```lua + word_clock{ + font = 'Carter One 12', + accent_color = '#ff79c6', + main_color = '#8be9fd', + is_human_readable = true, +} +``` +![](./screenshots/halfpastthree_color.png) + + +```lua +word_clock{ + font = 'Carter One 12', + is_human_readable = true, +} +``` +![](./screenshots/twentythreepastnine.png) + + +```lua +word_clock{ + font = 'Carter One 12', + is_human_readable = true, + military_time = true +} +``` +![](./screenshots/twentythreepasttwentyone.png) + + +```lua +word_clock{ + font = 'Carter One 12', + accent_color = '#f00', + main_color = '#0f0', +} +``` +![](./screenshots/onetwentyseven.png) diff --git a/awesome/awesome-wm-widgets/word-clock-widget/screenshots/halfpastthree.png b/awesome/awesome-wm-widgets/word-clock-widget/screenshots/halfpastthree.png new file mode 100644 index 00000000..af9e0d97 Binary files /dev/null and b/awesome/awesome-wm-widgets/word-clock-widget/screenshots/halfpastthree.png differ diff --git a/awesome/awesome-wm-widgets/word-clock-widget/screenshots/halfpastthree_color.png b/awesome/awesome-wm-widgets/word-clock-widget/screenshots/halfpastthree_color.png new file mode 100644 index 00000000..3c2cdd7a Binary files /dev/null and b/awesome/awesome-wm-widgets/word-clock-widget/screenshots/halfpastthree_color.png differ diff --git a/awesome/awesome-wm-widgets/word-clock-widget/screenshots/onetwentyseven.png b/awesome/awesome-wm-widgets/word-clock-widget/screenshots/onetwentyseven.png new file mode 100644 index 00000000..08e852c4 Binary files /dev/null and b/awesome/awesome-wm-widgets/word-clock-widget/screenshots/onetwentyseven.png differ diff --git a/awesome/awesome-wm-widgets/word-clock-widget/screenshots/testpasttwentyone.png b/awesome/awesome-wm-widgets/word-clock-widget/screenshots/testpasttwentyone.png new file mode 100644 index 00000000..41d266ff Binary files /dev/null and b/awesome/awesome-wm-widgets/word-clock-widget/screenshots/testpasttwentyone.png differ diff --git a/awesome/awesome-wm-widgets/word-clock-widget/screenshots/twentythreepastnine.png b/awesome/awesome-wm-widgets/word-clock-widget/screenshots/twentythreepastnine.png new file mode 100644 index 00000000..7d18e229 Binary files /dev/null and b/awesome/awesome-wm-widgets/word-clock-widget/screenshots/twentythreepastnine.png differ diff --git a/awesome/awesome-wm-widgets/word-clock-widget/screenshots/twentythreepasttwentyone.png b/awesome/awesome-wm-widgets/word-clock-widget/screenshots/twentythreepasttwentyone.png new file mode 100644 index 00000000..8a8218fc Binary files /dev/null and b/awesome/awesome-wm-widgets/word-clock-widget/screenshots/twentythreepasttwentyone.png differ diff --git a/awesome/awesome-wm-widgets/word-clock-widget/word-clock.lua b/awesome/awesome-wm-widgets/word-clock-widget/word-clock.lua new file mode 100644 index 00000000..12d5d835 --- /dev/null +++ b/awesome/awesome-wm-widgets/word-clock-widget/word-clock.lua @@ -0,0 +1,140 @@ +------------------------------------------------- +-- Text Clock Widget for Awesome Window Manager +-- Shows current time in words, e.g. 11.54 -> eleven fifty four +-- More details could be found here: +-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/text-clock-widget + +-- @author Pavel Makhov +-- @copyright 2020 Pavel Makhov +------------------------------------------------- + +local wibox = require("wibox") +local beautiful = require("beautiful") +local gears = require("gears") + +local function tablelength(T) + local count = 0 + for _ in pairs(T) do count = count + 1 end + return count +end + +local function split(string_to_split, separator) + if separator == nil then separator = "%s" end + local t = {} + + for str in string.gmatch(string_to_split, "([^".. separator .."]+)") do + table.insert(t, str) + end + + return t +end + +local function convertNumberToName(num) + local lowNames = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", + "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", + "eighteen", "nineteen"}; + local tensNames = {"twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"} + local tens, ones, result + + if num < tablelength(lowNames) then + result = lowNames[num + 1]; + else + tens = math.floor(num / 10); + ones = num % 10; + if (tens <= 9) then + result = tensNames[tens - 2 + 1]; + if (ones > 0) then + result = result .. " " .. lowNames[ones + 1]; + end + else + result = "unknown" + end + end + return result; +end + +local text_clock = {} + +local function worker(user_args) + + local args = user_args or {} + + local main_color = args.main_color or beautiful.fg_normal + local accent_color = args.accent_color or beautiful.fg_urgent + local font = args.font or beautiful.font + local is_human_readable = args.is_human_readable + local military_time = args.military_time + local with_spaces = args.with_spaces + + if military_time == nil then military_time = false end + if with_spaces == nil then with_spaces = false end + if is_human_readable == nil then is_human_readable = false end + + text_clock = wibox.widget { + { + id = 'clock', + font = font, + widget = wibox.widget.textbox, + }, + layout = wibox.layout.align.horizontal, + set_text = function(self, time) + local t = split(time) + local res = '' + for i, v in ipairs(t) do + res = res .. '' .. v .. '' + .. (with_spaces and ' ' or '') + end + self:get_children_by_id('clock')[1]:set_markup(res) + end + } + + gears.timer { + timeout = 1, + call_now = true, + autostart = true, + callback = function() + local time = os.date((military_time and '%H' or '%I') .. ':%M') + local h,m = time:match('(%d+):(%d+)') + local min = tonumber(m) + local hour = tonumber(h) + + if is_human_readable then + + if min == 0 then + text_clock:set_text(convertNumberToName(hour) .. " o'clock") + else + local mm + if min == 15 or min == 45 then + mm = 'quater' + elseif min == 30 then + mm = 'half' + else + mm = convertNumberToName((min < 31) and min or 60 - min) + end + + local to_past + + if min < 31 then + to_past = 'past' + else + to_past = 'to' + hour = hour + 1 + end + + text_clock:set_text(mm .. ' ' .. to_past .. ' ' .. convertNumberToName(hour)) + end + else + text_clock:set_text(convertNumberToName(hour) .. ' ' .. convertNumberToName(min)) + end + end + } + + return text_clock + +end + +return setmetatable(text_clock, { __call = function(_, ...) + return worker(...) +end }) \ No newline at end of file diff --git a/awesome/json.lua b/awesome/json.lua new file mode 100644 index 00000000..711ef786 --- /dev/null +++ b/awesome/json.lua @@ -0,0 +1,388 @@ +-- +-- json.lua +-- +-- Copyright (c) 2020 rxi +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of +-- this software and associated documentation files (the "Software"), to deal in +-- the Software without restriction, including without limitation the rights to +-- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +-- of the Software, and to permit persons to whom the Software is furnished to do +-- so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +-- + +local json = { _version = "0.1.2" } + +------------------------------------------------------------------------------- +-- Encode +------------------------------------------------------------------------------- + +local encode + +local escape_char_map = { + [ "\\" ] = "\\", + [ "\"" ] = "\"", + [ "\b" ] = "b", + [ "\f" ] = "f", + [ "\n" ] = "n", + [ "\r" ] = "r", + [ "\t" ] = "t", +} + +local escape_char_map_inv = { [ "/" ] = "/" } +for k, v in pairs(escape_char_map) do + escape_char_map_inv[v] = k +end + + +local function escape_char(c) + return "\\" .. (escape_char_map[c] or string.format("u%04x", c:byte())) +end + + +local function encode_nil(val) + return "null" +end + + +local function encode_table(val, stack) + local res = {} + stack = stack or {} + + -- Circular reference? + if stack[val] then error("circular reference") end + + stack[val] = true + + if rawget(val, 1) ~= nil or next(val) == nil then + -- Treat as array -- check keys are valid and it is not sparse + local n = 0 + for k in pairs(val) do + if type(k) ~= "number" then + error("invalid table: mixed or invalid key types") + end + n = n + 1 + end + if n ~= #val then + error("invalid table: sparse array") + end + -- Encode + for i, v in ipairs(val) do + table.insert(res, encode(v, stack)) + end + stack[val] = nil + return "[" .. table.concat(res, ",") .. "]" + + else + -- Treat as an object + for k, v in pairs(val) do + if type(k) ~= "string" then + error("invalid table: mixed or invalid key types") + end + table.insert(res, encode(k, stack) .. ":" .. encode(v, stack)) + end + stack[val] = nil + return "{" .. table.concat(res, ",") .. "}" + end +end + + +local function encode_string(val) + return '"' .. val:gsub('[%z\1-\31\\"]', escape_char) .. '"' +end + + +local function encode_number(val) + -- Check for NaN, -inf and inf + if val ~= val or val <= -math.huge or val >= math.huge then + error("unexpected number value '" .. tostring(val) .. "'") + end + return string.format("%.14g", val) +end + + +local type_func_map = { + [ "nil" ] = encode_nil, + [ "table" ] = encode_table, + [ "string" ] = encode_string, + [ "number" ] = encode_number, + [ "boolean" ] = tostring, +} + + +encode = function(val, stack) + local t = type(val) + local f = type_func_map[t] + if f then + return f(val, stack) + end + error("unexpected type '" .. t .. "'") +end + + +function json.encode(val) + return ( encode(val) ) +end + + +------------------------------------------------------------------------------- +-- Decode +------------------------------------------------------------------------------- + +local parse + +local function create_set(...) + local res = {} + for i = 1, select("#", ...) do + res[ select(i, ...) ] = true + end + return res +end + +local space_chars = create_set(" ", "\t", "\r", "\n") +local delim_chars = create_set(" ", "\t", "\r", "\n", "]", "}", ",") +local escape_chars = create_set("\\", "/", '"', "b", "f", "n", "r", "t", "u") +local literals = create_set("true", "false", "null") + +local literal_map = { + [ "true" ] = true, + [ "false" ] = false, + [ "null" ] = nil, +} + + +local function next_char(str, idx, set, negate) + for i = idx, #str do + if set[str:sub(i, i)] ~= negate then + return i + end + end + return #str + 1 +end + + +local function decode_error(str, idx, msg) + local line_count = 1 + local col_count = 1 + for i = 1, idx - 1 do + col_count = col_count + 1 + if str:sub(i, i) == "\n" then + line_count = line_count + 1 + col_count = 1 + end + end + error( string.format("%s at line %d col %d", msg, line_count, col_count) ) +end + + +local function codepoint_to_utf8(n) + -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=iws-appendixa + local f = math.floor + if n <= 0x7f then + return string.char(n) + elseif n <= 0x7ff then + return string.char(f(n / 64) + 192, n % 64 + 128) + elseif n <= 0xffff then + return string.char(f(n / 4096) + 224, f(n % 4096 / 64) + 128, n % 64 + 128) + elseif n <= 0x10ffff then + return string.char(f(n / 262144) + 240, f(n % 262144 / 4096) + 128, + f(n % 4096 / 64) + 128, n % 64 + 128) + end + error( string.format("invalid unicode codepoint '%x'", n) ) +end + + +local function parse_unicode_escape(s) + local n1 = tonumber( s:sub(1, 4), 16 ) + local n2 = tonumber( s:sub(7, 10), 16 ) + -- Surrogate pair? + if n2 then + return codepoint_to_utf8((n1 - 0xd800) * 0x400 + (n2 - 0xdc00) + 0x10000) + else + return codepoint_to_utf8(n1) + end +end + + +local function parse_string(str, i) + local res = "" + local j = i + 1 + local k = j + + while j <= #str do + local x = str:byte(j) + + if x < 32 then + decode_error(str, j, "control character in string") + + elseif x == 92 then -- `\`: Escape + res = res .. str:sub(k, j - 1) + j = j + 1 + local c = str:sub(j, j) + if c == "u" then + local hex = str:match("^[dD][89aAbB]%x%x\\u%x%x%x%x", j + 1) + or str:match("^%x%x%x%x", j + 1) + or decode_error(str, j - 1, "invalid unicode escape in string") + res = res .. parse_unicode_escape(hex) + j = j + #hex + else + if not escape_chars[c] then + decode_error(str, j - 1, "invalid escape char '" .. c .. "' in string") + end + res = res .. escape_char_map_inv[c] + end + k = j + 1 + + elseif x == 34 then -- `"`: End of string + res = res .. str:sub(k, j - 1) + return res, j + 1 + end + + j = j + 1 + end + + decode_error(str, i, "expected closing quote for string") +end + + +local function parse_number(str, i) + local x = next_char(str, i, delim_chars) + local s = str:sub(i, x - 1) + local n = tonumber(s) + if not n then + decode_error(str, i, "invalid number '" .. s .. "'") + end + return n, x +end + + +local function parse_literal(str, i) + local x = next_char(str, i, delim_chars) + local word = str:sub(i, x - 1) + if not literals[word] then + decode_error(str, i, "invalid literal '" .. word .. "'") + end + return literal_map[word], x +end + + +local function parse_array(str, i) + local res = {} + local n = 1 + i = i + 1 + while 1 do + local x + i = next_char(str, i, space_chars, true) + -- Empty / end of array? + if str:sub(i, i) == "]" then + i = i + 1 + break + end + -- Read token + x, i = parse(str, i) + res[n] = x + n = n + 1 + -- Next token + i = next_char(str, i, space_chars, true) + local chr = str:sub(i, i) + i = i + 1 + if chr == "]" then break end + if chr ~= "," then decode_error(str, i, "expected ']' or ','") end + end + return res, i +end + + +local function parse_object(str, i) + local res = {} + i = i + 1 + while 1 do + local key, val + i = next_char(str, i, space_chars, true) + -- Empty / end of object? + if str:sub(i, i) == "}" then + i = i + 1 + break + end + -- Read key + if str:sub(i, i) ~= '"' then + decode_error(str, i, "expected string for key") + end + key, i = parse(str, i) + -- Read ':' delimiter + i = next_char(str, i, space_chars, true) + if str:sub(i, i) ~= ":" then + decode_error(str, i, "expected ':' after key") + end + i = next_char(str, i + 1, space_chars, true) + -- Read value + val, i = parse(str, i) + -- Set + res[key] = val + -- Next token + i = next_char(str, i, space_chars, true) + local chr = str:sub(i, i) + i = i + 1 + if chr == "}" then break end + if chr ~= "," then decode_error(str, i, "expected '}' or ','") end + end + return res, i +end + + +local char_func_map = { + [ '"' ] = parse_string, + [ "0" ] = parse_number, + [ "1" ] = parse_number, + [ "2" ] = parse_number, + [ "3" ] = parse_number, + [ "4" ] = parse_number, + [ "5" ] = parse_number, + [ "6" ] = parse_number, + [ "7" ] = parse_number, + [ "8" ] = parse_number, + [ "9" ] = parse_number, + [ "-" ] = parse_number, + [ "t" ] = parse_literal, + [ "f" ] = parse_literal, + [ "n" ] = parse_literal, + [ "[" ] = parse_array, + [ "{" ] = parse_object, +} + + +parse = function(str, idx) + local chr = str:sub(idx, idx) + local f = char_func_map[chr] + if f then + return f(str, idx) + end + decode_error(str, idx, "unexpected character '" .. chr .. "'") +end + + +function json.decode(str) + if type(str) ~= "string" then + error("expected argument of type string, got " .. type(str)) + end + local res, idx = parse(str, next_char(str, 1, space_chars, true)) + idx = next_char(str, idx, space_chars, true) + if idx <= #str then + decode_error(str, idx, "trailing garbage") + end + return res +end + + +return json diff --git a/awesome/laptop/rc.lua b/awesome/laptop/rc.lua new file mode 100644 index 00000000..3f33386d --- /dev/null +++ b/awesome/laptop/rc.lua @@ -0,0 +1,637 @@ + +-- If LuaRocks is installed, make sure that packages installed through it are +-- found (e.g. lgi). If LuaRocks is not installed, do nothing. +pcall(require, "luarocks.loader") + +-- Awesome Wm Widgets +local batteryarc_widget = require("awesome-wm-widgets.batteryarc-widget.batteryarc") +local cpu_widget = require("awesome-wm-widgets.cpu-widget.cpu-widget") +local brightness_widget = require("awesome-wm-widgets.brightness-widget.brightness") +local spotify_widget = require("awesome-wm-widgets.spotify-widget.spotify") +local volume_widget = require('awesome-wm-widgets.volume-widget.volume') +local calendar_widget = require('awesome-wm-widgets.calendar-widget.calendar') +local logout_menu_widget = require('awesome-wm-widgets.logout-menu-widget.logout-menu') +local net_speed_widget = require('awesome-wm-widgets.net-speed-widget.net-speed') +local ram_widget = require('awesome-wm-widgets.ram-widget.ram-widget') +local weather_widget = require("awesome-wm-widgets.weather-widget.weather") + +-- Standard awesome library +local gears = require("gears") +local awful = require("awful") +require("awful.autofocus") +-- Widget and layout library +local wibox = require("wibox") +-- Theme handling library +local beautiful = require("beautiful") +-- Notification library +local naughty = require("naughty") +local menubar = require("menubar") +local hotkeys_popup = require("awful.hotkeys_popup") +-- Enable hotkeys help widget for VIM and other apps +-- when client with a matching name is opened: +require("awful.hotkeys_popup.keys") + + +-- {{{ Error handling +-- Check if awesome encountered an error during startup and fell back to +-- another config (This code will only ever execute for the fallback config) +if awesome.startup_errors then + naughty.notify({ preset = naughty.config.presets.critical, + title = "Oops, there were errors during startup!", + text = awesome.startup_errors }) +end + +-- Handle runtime errors after startup +do + local in_error = false + awesome.connect_signal("debug::error", function (err) + -- Make sure we don't go into an endless error loop + if in_error then return end + in_error = true + + naughty.notify({ preset = naughty.config.presets.critical, + title = "Oops, an error happened!", + text = tostring(err) }) + in_error = false + end) +end +-- }}} + +-- {{{ Variable definitions +-- Themes define colours, icons, font and wallpapers. +-- beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua") +beautiful.init(gears.filesystem.get_configuration_dir() .. "mytheme.lua") + +-- This is used later as the default terminal and editor to run. +terminal = "alacritty" +editor = os.getenv("EDITOR") or "nvim" +editor_cmd = terminal .. " -e " .. editor + +-- Default modkey. +-- Usually, Mod4 is the key with a logo between Control and Alt. +-- If you do not like this or do not have such a key, +-- I suggest you to remap Mod4 to another key using xmodmap or other tools. +-- However, you can use another modifier like Mod1, but it may interact with others. +modkey = "Mod4" + +-- Table of layouts to cover with awful.layout.inc, order matters. +awful.layout.layouts = { + awful.layout.suit.tile, + awful.layout.suit.spiral.dwindle, + awful.layout.suit.spiral, + --awful.layout.suit.floating, + --awful.layout.suit.tile.left, + --awful.layout.suit.tile.bottom, + --awful.layout.suit.tile.top, + awful.layout.suit.fair, + --awful.layout.suit.fair.horizontal, + --awful.layout.suit.max, + --awful.layout.suit.max.fullscreen, + --awful.layout.suit.magnifier, + --awful.layout.suit.corner.nw, + --awful.layout.suit.corner.ne, + --awful.layout.suit.corner.sw, + --awful.layout.suit.corner.se, +} +-- }}} + +-- {{{ Menu +-- Create a launcher widget and a main menu +myawesomemenu = { + { "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end }, + { "manual", terminal .. " -e man awesome" }, + { "edit config", editor_cmd .. " " .. awesome.conffile }, + { "restart", awesome.restart }, + { "quit", function() awesome.quit() end }, +} + +mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon }, + { "open terminal", terminal } + } + }) + +mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, + menu = mymainmenu }) + +-- Menubar configuration +menubar.utils.terminal = terminal -- Set the terminal for applications that require it +-- }}} + +-- Keyboard map indicator and switcher +-- mykeyboardlayout = awful.widget.keyboardlayout() + +-- {{{ Wibar +-- Create a textclock widget +mytextclock = wibox.widget.textclock() +local cw = calendar_widget({ + theme = 'nord', + placement = "top_right", + previous_month_button = 4, + next_month_button = 5, +}) + +mytextclock:connect_signal("button::press", + function(_, _, _, button) + if button == 1 then cw.toggle() end + end) + +-- Create a wibox for each screen and add it +local taglist_buttons = gears.table.join( + awful.button({ }, 1, function(t) t:view_only() end), + awful.button({ modkey }, 1, function(t) + if client.focus then + client.focus:move_to_tag(t) + end + end), + awful.button({ }, 3, awful.tag.viewtoggle), + awful.button({ modkey }, 3, function(t) + if client.focus then + client.focus:toggle_tag(t) + end + end), + awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end), + awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end) + ) + +local tasklist_buttons = gears.table.join( + awful.button({ }, 1, function (c) + if c == client.focus then + c.minimized = true + else + c:emit_signal( + "request::activate", + "tasklist", + {raise = true} + ) + end + end), + awful.button({ }, 3, function() + awful.menu.client_list({ theme = { width = 250 } }) + end), + awful.button({ }, 4, function () + awful.client.focus.byidx(1) + end), + awful.button({ }, 5, function () + awful.client.focus.byidx(-1) + end)) + +local function set_wallpaper(s) + -- Wallpaper + if beautiful.wallpaper then + local wallpaper = beautiful.wallpaper + -- If wallpaper is a function, call it with the screen + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, true) + end +end + +-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) +screen.connect_signal("property::geometry", set_wallpaper) + +awful.screen.connect_for_each_screen(function(s) + -- Wallpaper + set_wallpaper(s) + + -- Each screen has its own tag table. + awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1]) + + -- Create a promptbox for each screen + s.mypromptbox = awful.widget.prompt() + -- Create an imagebox widget which will contain an icon indicating which layout we're using. + -- We need one layoutbox per screen. + s.mylayoutbox = awful.widget.layoutbox(s) + s.mylayoutbox:buttons(gears.table.join( + awful.button({ }, 1, function () awful.layout.inc( 1) end), + awful.button({ }, 3, function () awful.layout.inc(-1) end), + awful.button({ }, 4, function () awful.layout.inc( 1) end), + awful.button({ }, 5, function () awful.layout.inc(-1) end))) + -- Create a taglist widget + s.mytaglist = awful.widget.taglist { + screen = s, + filter = awful.widget.taglist.filter.all, + buttons = taglist_buttons + } + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist { + screen = s, + filter = awful.widget.tasklist.filter.currenttags, + buttons = tasklist_buttons + } + + -- Create the wibox + s.mywibox = awful.wibar({ position = "top", screen = s }) + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + --mylauncher, + s.mytaglist, + s.mypromptbox, + }, + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + wibox.widget.systray(), + cpu_widget(), + ram_widget(), + net_speed_widget(), + spotify_widget({ + dim_when_paused = true, + dim_opacity = 0.5, + max_lenght = -1, + }), + batteryarc_widget({ + show_current_level = true, + size = 32, + }), + brightness_widget{ + program = 'brightnessctl', + step = 5, + base = 60, + tooltip = true, + }, + weather_widget({ + api_key = '3bc28ba1ee6eeaf28af31d9d948aecd1', + coordinates = {56.86140361300421, 24.386173343039193}, + show_hourly_forecst = true, + show_daily_forecast = true, + }), + logout_menu_widget(), + mytextclock, + s.mylayoutbox, + }, + } +end) +-- }}} + +-- {{{ Mouse bindings +root.buttons(gears.table.join( + awful.button({ }, 3, function () mymainmenu:toggle() end), + awful.button({ }, 4, awful.tag.viewnext), + awful.button({ }, 5, awful.tag.viewprev) +)) +-- }}} + +-- {{{ Key bindings +globalkeys = gears.table.join( + + awful.key( {}, "#233", function() brightness_widget:inc() end ), -- increase brightness + awful.key( {}, "#232", function() brightness_widget:dec() end ), -- decrease brightness + + awful.key( {}, "#123", function () awful.spawn.with_shell("pulsemixer --change-volume +5") end ), -- increase volume + awful.key( {}, "#122", function () awful.spawn.with_shell("pulsemixer --change-volume -5") end ), -- decrease volume + awful.key( {}, "#121", function () awful.spawn.with_shell("pulsemixer --toggle-mute") end ), -- mute + + awful.key( {}, "#172", function () awful.spawn.with_shell("omnipause toggle") end ), -- play/pause + + awful.key( { "Control" }, "#107", function () awful.spawn.with_shell("flameshot gui") end, + {description="take region screenshot", group="launcher"}), -- take region screenshot + + + awful.key({ modkey, }, "s", hotkeys_popup.show_help, + {description="show help", group="awesome"}), + awful.key({ modkey, }, "Left", awful.tag.viewprev, + {description = "view previous", group = "tag"}), + awful.key({ modkey, }, "Right", awful.tag.viewnext, + {description = "view next", group = "tag"}), + awful.key({ modkey, }, "Escape", awful.tag.history.restore, + {description = "go back", group = "tag"}), + + awful.key({ modkey, }, "j", function () awful.client.focus.byidx(1) end, + {description = "focus next by index", group = "client"} + ), + awful.key({ modkey, }, "k", function () awful.client.focus.byidx(-1) end, + {description = "focus previous by index", group = "client"} + ), + awful.key({ modkey, }, "w", function () mymainmenu:show() end, + {description = "show main menu", group = "awesome"}), + + -- Layout manipulation + awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end, + {description = "swap with next client by index", group = "client"}), + awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end, + {description = "swap with previous client by index", group = "client"}), + awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end, + {description = "focus the next screen", group = "screen"}), + awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end, + {description = "focus the previous screen", group = "screen"}), + awful.key({ modkey, }, "u", awful.client.urgent.jumpto, + {description = "jump to urgent client", group = "client"}), + awful.key({ modkey, }, "Tab", function () awful.client.focus.history.previous() + if client.focus then + client.focus:raise() + end end, + {description = "go back", group = "client"}), + + -- Standard program + awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end, + {description = "open a terminal", group = "launcher"}), + awful.key({ modkey, "Control" }, "r", awesome.restart, + {description = "reload awesome", group = "awesome"}), +-- awful.key({ modkey, "Control" }, "q", awesome.quit, +-- {description = "quit awesome", group = "awesome"}), + awful.key({ modkey, }, "v", function () awful.spawn("vivaldi-stable") end, + {description = "open vivaldi", group = "launcher"}), + awful.key({ modkey, }, "n", function () awful.spawn("spacefm") end, + {description = "open spacefm", group = "launcher"}), + + awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end, + {description = "increase master width factor", group = "layout"}), + awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end, + {description = "decrease master width factor", group = "layout"}), + awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end, + {description = "increase the number of master clients", group = "layout"}), + awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end, + {description = "decrease the number of master clients", group = "layout"}), + awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end, + {description = "increase the number of columns", group = "layout"}), + awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end, + {description = "decrease the number of columns", group = "layout"}), + awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end, + {description = "select next", group = "layout"}), + awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end, + {description = "select previous", group = "layout"}), + + awful.key({ modkey, "Control" }, "n", + function () + local c = awful.client.restore() + -- Focus restored client + if c then + c:emit_signal( + "request::activate", "key.unminimize", {raise = true} + ) + end + end, + {description = "restore minimized", group = "client"}), + + -- Prompt + awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end, + {description = "run prompt", group = "launcher"}), + + awful.key({ modkey }, "x", + function () + awful.prompt.run { + prompt = "Run Lua code: ", + textbox = awful.screen.focused().mypromptbox.widget, + exe_callback = awful.util.eval, + history_path = awful.util.get_cache_dir() .. "/history_eval" + } + end, + {description = "lua execute prompt", group = "awesome"}), + -- Menubar + awful.key({ modkey }, "p", function() menubar.show() end, + {description = "show the menubar", group = "launcher"}) +) + +clientkeys = gears.table.join( + awful.key({ modkey, }, "f", + function (c) + c.fullscreen = not c.fullscreen + c:raise() + end, + {description = "toggle fullscreen", group = "client"}), + awful.key({ modkey, "Shift" }, "q", function (c) c:kill() end, + {description = "close", group = "client"}), + awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle , + {description = "toggle floating", group = "client"}), + awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end, + {description = "move to master", group = "client"}), + awful.key({ modkey, }, "o", function (c) c:move_to_screen() end, + {description = "move to screen", group = "client"}), + awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end, + {description = "toggle keep on top", group = "client"}), + awful.key({ modkey, }, "n", + function (c) + -- The client currently has the input focus, so it cannot be + -- minimized, since minimized clients can't have the focus. + c.minimized = true + end , + {description = "minimize", group = "client"}), + awful.key({ modkey, }, "m", + function (c) + c.maximized = not c.maximized + c:raise() + end , + {description = "(un)maximize", group = "client"}), + awful.key({ modkey, "Control" }, "m", + function (c) + c.maximized_vertical = not c.maximized_vertical + c:raise() + end , + {description = "(un)maximize vertically", group = "client"}), + awful.key({ modkey, "Shift" }, "m", + function (c) + c.maximized_horizontal = not c.maximized_horizontal + c:raise() + end , + {description = "(un)maximize horizontally", group = "client"}) +) + +-- Bind all key numbers to tags. +-- Be careful: we use keycodes to make it work on any keyboard layout. +-- This should map on the top row of your keyboard, usually 1 to 9. +for i = 1, 9 do + globalkeys = gears.table.join(globalkeys, + -- View tag only. + awful.key({ modkey }, "#" .. i + 9, + function () + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + tag:view_only() + end + end, + {description = "view tag #"..i, group = "tag"}), + -- Toggle tag display. + awful.key({ modkey, "Control" }, "#" .. i + 9, + function () + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + awful.tag.viewtoggle(tag) + end + end, + {description = "toggle tag #" .. i, group = "tag"}), + -- Move client to tag. + awful.key({ modkey, "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:move_to_tag(tag) + end + end + end, + {description = "move focused client to tag #"..i, group = "tag"}), + -- Toggle tag on focused client. + awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:toggle_tag(tag) + end + end + end, + {description = "toggle focused client on tag #" .. i, group = "tag"}) + ) +end + +clientbuttons = gears.table.join( + awful.button({ }, 1, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + end), + awful.button({ modkey }, 1, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + awful.mouse.client.move(c) + end), + awful.button({ modkey }, 3, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + awful.mouse.client.resize(c) + end) +) + +-- Set keys +root.keys(globalkeys) +-- }}} + +-- {{{ Rules +-- Rules to apply to new clients (through the "manage" signal). +awful.rules.rules = { + -- All clients will match this rule. + { rule = { }, + properties = { border_width = beautiful.border_width, + border_color = beautiful.border_normal, + focus = awful.client.focus.filter, + raise = true, + keys = clientkeys, + -- buttons = clientbuttons, + screen = awful.screen.preferred, + --placement = awful.placement.no_overlap+awful.placement.no_offscreen + } + }, + + -- Floating clients. + { rule_any = { + instance = { + "DTA", -- Firefox addon DownThemAll. + "copyq", -- Includes session name in class. + "pinentry", + }, + class = { + "Blueman-manager", + "MessageWin", -- kalarm. + "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size. + "Wpa_gui", + "veromix", + "xtightvncviewer"}, + + -- Note that the name property shown in xprop might be set slightly after creation of the client + -- and the name shown there might not match defined rules here. + name = { + "Event Tester", -- xev. + }, + role = { + "AlarmWindow", -- Thunderbird's calendar. + "ConfigManager", -- Thunderbird's about:config. + "pop-up", -- e.g. Google Chrome's (detached) Developer Tools. + } + }, properties = { floating = true, beautiful.useless }}, + + -- Add titlebars to normal clients and dialogs + { rule_any = {type = { "normal", "dialog" } + }, properties = { titlebars_enabled = false } + }, + + { + rule_any = { + class = { "Thunderbird", "discord", "telegram-desktop", "TelegramDesktop" } + }, properties = { screen = 1, tag = "8" } + }, + + -- Set Firefox to always map on the tag named "2" on screen 1. + -- { rule = { class = "Firefox" }, + -- properties = { screen = 1, tag = "2" } }, +} +-- }}} + +-- {{{ Signals +-- Signal function to execute when a new client appears. +client.connect_signal("manage", function (c) + -- Set the windows at the slave, + -- i.e. put it at the end of others instead of setting it master. + -- if not awesome.startup then awful.client.setslave(c) end + + if awesome.startup + and not c.size_hints.user_position + and not c.size_hints.program_position then + -- Prevent clients from being unreachable after screen count changes. + awful.placement.no_offscreen(c) + end +end) + +-- Add a titlebar if titlebars_enabled is set to true in the rules. +client.connect_signal("request::titlebars", function(c) + -- buttons for the titlebar + local buttons = gears.table.join( + awful.button({ }, 1, function() + c:emit_signal("request::activate", "titlebar", {raise = true}) + awful.mouse.client.move(c) + end), + awful.button({ }, 3, function() + c:emit_signal("request::activate", "titlebar", {raise = true}) + awful.mouse.client.resize(c) + end) + ) + + awful.titlebar(c) : setup { + { -- Left + awful.titlebar.widget.iconwidget(c), + buttons = buttons, + layout = wibox.layout.fixed.horizontal + }, + { -- Middle + { -- Title + align = "center", + widget = awful.titlebar.widget.titlewidget(c) + }, + buttons = buttons, + layout = wibox.layout.flex.horizontal + }, + { -- Right + awful.titlebar.widget.floatingbutton (c), + awful.titlebar.widget.maximizedbutton(c), + awful.titlebar.widget.stickybutton (c), + awful.titlebar.widget.ontopbutton (c), + awful.titlebar.widget.closebutton (c), + layout = wibox.layout.fixed.horizontal() + }, + layout = wibox.layout.align.horizontal + } +end) + +-- Enable sloppy focus, so that focus follows mouse. +client.connect_signal("mouse::enter", function(c) + c:emit_signal("request::activate", "mouse_enter", {raise = false}) +end) + +client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end) +client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) +-- }}} + + + +-- Autostart Applications +awful.spawn.with_shell("picom --experimental-backends") +awful.spawn.with_shell("feh --bg-scale --no-fehbg ~/.config/wallpapper.png") +awful.spawn.with_shell("libinput-gestures-setup start") +--awful.spawn.with_shell("xrandr --output DisplayPort-0 --mode 1920x1080 --same-as EDp") +awful.spawn.with_shell("dropbox") +awful.spawn.with_shell("flameshot") +awful.spawn.with_shell(" /usr/bin/pipewire & /usr/bin/pipewire-pulse & /usr/bin/pipewire-media-session") +awful.spawn.with_shell("setxkbmap lv") diff --git a/awesome/mytheme.lua b/awesome/mytheme.lua new file mode 100644 index 00000000..82abeb43 --- /dev/null +++ b/awesome/mytheme.lua @@ -0,0 +1,132 @@ +--------------------------- +-- Default awesome theme -- +--------------------------- + +local theme_assets = require("beautiful.theme_assets") +local xresources = require("beautiful.xresources") +local dpi = xresources.apply_dpi + +local gfs = require("gears.filesystem") +local themes_path = gfs.get_themes_dir() + +local theme = {} + +theme.font = "sans 8" + +theme.bg_normal = "#222222" +theme.bg_focus = "#333333" +theme.bg_urgent = "#ff0000" +theme.bg_minimize = "#444444" +theme.bg_systray = theme.bg_normal + +theme.fg_normal = "#aaaaaa" +theme.fg_focus = "#ffffff" +theme.fg_urgent = "#ffffff" +theme.fg_minimize = "#ffffff" + +theme.useless_gap = dpi(4) +theme.border_width = dpi(2) +theme.border_normal = "#000000" +theme.border_focus = "#f2f2f2" +theme.border_marked = "#91231c" + + +-- There are other variable sets +-- overriding the default one when +-- defined, the sets are: +-- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile] +-- tasklist_[bg|fg]_[focus|urgent] +-- titlebar_[bg|fg]_[normal|focus] +-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] +-- mouse_finder_[color|timeout|animate_timeout|radius|factor] +-- prompt_[fg|bg|fg_cursor|bg_cursor|font] +-- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font] + +--theme.taglist_bg_focus = "#ff0000" + +-- Generate taglist squares: +local taglist_square_size = dpi(4) +theme.taglist_squares_sel = theme_assets.taglist_squares_sel( + taglist_square_size, theme.fg_normal +) +theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel( + taglist_square_size, theme.fg_normal +) + +-- Variables set for theming notifications: +-- notification_font +-- notification_[bg|fg] +-- notification_[width|height|margin] +-- notification_[border_color|border_width|shape|opacity] + +-- Variables set for theming the menu: +-- menu_[bg|fg]_[normal|focus] +-- menu_[border_color|border_width] +theme.menu_submenu_icon = themes_path.."default/submenu.png" +theme.menu_height = dpi(16) +theme.menu_width = dpi(100) + +-- You can add as many variables as +-- you wish and access them by using +-- beautiful.variable in your rc.lua +--theme.bg_widget = "#cc0000" + +-- Define the image to load +theme.titlebar_close_button_normal = themes_path.."default/titlebar/close_normal.png" +theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png" + +theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png" + +theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png" + +theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png" + +theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png" + +theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png" + +theme.wallpaper = themes_path.."~/.config/wallpaper.png" + +-- You can use your own layout icons like this: +theme.layout_fairh = themes_path.."default/layouts/fairhw.png" +theme.layout_fairv = themes_path.."default/layouts/fairvw.png" +theme.layout_floating = themes_path.."default/layouts/floatingw.png" +theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png" +theme.layout_max = themes_path.."default/layouts/maxw.png" +theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png" +theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png" +theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png" +theme.layout_tile = themes_path.."default/layouts/tilew.png" +theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png" +theme.layout_spiral = themes_path.."default/layouts/spiralw.png" +theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png" +theme.layout_cornernw = themes_path.."default/layouts/cornernww.png" +theme.layout_cornerne = themes_path.."default/layouts/cornernew.png" +theme.layout_cornersw = themes_path.."default/layouts/cornersww.png" +theme.layout_cornerse = themes_path.."default/layouts/cornersew.png" + +-- Generate Awesome icon: +theme.awesome_icon = theme_assets.awesome_icon( + theme.menu_height, theme.bg_focus, theme.fg_focus +) + +-- Define the icon theme for application icons. If not set then the icons +-- from /usr/share/icons and /usr/share/icons/hicolor will be used. +theme.icon_theme = nil + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/btop/btop.conf b/btop/btop.conf new file mode 100644 index 00000000..3bb7ff15 --- /dev/null +++ b/btop/btop.conf @@ -0,0 +1,200 @@ +#? Config file for btop v. 1.2.6 + +#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. +#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" +color_theme = "/usr/share/btop/themes/dracula.theme" + +#* If the theme set background should be shown, set to False if you want terminal background transparency. +theme_background = False + +#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. +truecolor = True + +#* Set to true to force tty mode regardless if a real tty has been detected or not. +#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. +force_tty = False + +#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. +#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. +#* Use withespace " " as separator between different presets. +#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" +presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" + +#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. +#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. +vim_keys = True + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = True + +#* Default symbols to use for graph creation, "braille", "block" or "tty". +#* "braille" offers the highest resolution but might not be included in all fonts. +#* "block" has half the resolution of braille but uses more common characters. +#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. +#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. +graph_symbol = "braille" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_cpu = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_mem = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_net = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_proc = "default" + +#* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace. +shown_boxes = "cpu net proc mem" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 1000 + +#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", +#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. +proc_sorting = "memory" + +#* Reverse sorting order, True or False. +proc_reversed = False + +#* Show processes as a tree. +proc_tree = False + +#* Use the cpu graph colors in the process list. +proc_colors = True + +#* Use a darkening gradient in the process list. +proc_gradient = True + +#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. +proc_per_core = False + +#* Show process memory as bytes instead of percent. +proc_mem_bytes = True + +#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) +proc_info_smaps = False + +#* Show proc box on left side of screen instead of right. +proc_left = False + +#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_upper = "total" + +#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_lower = "total" + +#* Toggles if the lower CPU graph should be inverted. +cpu_invert_lower = True + +#* Set to True to completely disable the lower CPU graph. +cpu_single_graph = False + +#* Show cpu box at bottom of screen instead of top. +cpu_bottom = False + +#* Shows the system uptime in the CPU box. +show_uptime = True + +#* Show cpu temperature. +check_temp = True + +#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. +cpu_sensor = "Auto" + +#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. +show_coretemp = True + +#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. +#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. +#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. +#* Example: "4:0 5:1 6:3" +cpu_core_map = "" + +#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". +temp_scale = "celsius" + +#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. +base_10_sizes = False + +#* Show CPU frequency. +show_cpu_freq = True + +#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. +#* Special formatting: /host = hostname | /user = username | /uptime = system uptime +clock_format = "%X" + +#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. +background_update = True + +#* Custom cpu model name, empty string to disable. +custom_cpu_name = "" + +#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". +#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user". +disks_filter = "" + +#* Show graphs instead of meters for memory values. +mem_graphs = True + +#* Show mem box below net box instead of above. +mem_below_net = False + +#* If swap memory should be shown in memory box. +show_swap = True + +#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. +swap_disk = True + +#* If mem box should be split to also show disks info. +show_disks = True + +#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. +only_physical = True + +#* Read disks list from /etc/fstab. This also disables only_physical. +use_fstab = True + +#* Set to true to show available disk space for privileged users. +disk_free_priv = False + +#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. +show_io_stat = True + +#* Toggles io mode for disks, showing big graphs for disk read/write speeds. +io_mode = False + +#* Set to True to show combined read/write io graphs in io mode. +io_graph_combined = False + +#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". +#* Example: "/mnt/media:100 /:20 /boot:1". +io_graph_speeds = "" + +#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. +net_download = 100 + +net_upload = 100 + +#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. +net_auto = True + +#* Sync the auto scaling for download and upload to whichever currently has the highest scale. +net_sync = False + +#* Starts with the Network Interface specified here. +net_iface = "" + +#* Show battery stats in top right if battery is present. +show_battery = True + +#* Which battery to use if multiple are present. "Auto" for auto detection. +selected_battery = "Auto" + +#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". +#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. +log_level = "WARNING" \ No newline at end of file diff --git a/lf/cleaner b/lf/cleaner new file mode 100755 index 00000000..a184d84b --- /dev/null +++ b/lf/cleaner @@ -0,0 +1,4 @@ +#!/bin/sh +if [ -n "$FIFO_UEBERZUG" ]; then + printf '{"action": "remove", "identifier": "PREVIEW"}\n' > "$FIFO_UEBERZUG" +fi diff --git a/lf/icons b/lf/icons new file mode 100644 index 00000000..68d53e34 --- /dev/null +++ b/lf/icons @@ -0,0 +1,357 @@ +# vim:ft=conf + +# These examples require Nerd Fonts or a compatible font to be used. +# See https://www.nerdfonts.com for more information. + +# default values from lf (with matching order) +# ln l # LINK +# or l # ORPHAN +# tw t # STICKY_OTHER_WRITABLE +# ow d # OTHER_WRITABLE +# st t # STICKY +# di d # DIR +# pi p # FIFO +# so s # SOCK +# bd b # BLK +# cd c # CHR +# su u # SETUID +# sg g # SETGID +# ex x # EXEC +# fi - # FILE + +# file types (with matching order) +ln  # LINK +or  # ORPHAN +tw t # STICKY_OTHER_WRITABLE +ow  # OTHER_WRITABLE +st t # STICKY +di  # DIR +pi p # FIFO +so s # SOCK +bd b # BLK +cd c # CHR +su u # SETUID +sg g # SETGID +ex  # EXEC +fi  # FILE + +# file extensions (vim-devicons) +*.styl  +*.sass  +*.scss  +*.htm  +*.html  +*.slim  +*.haml  +*.ejs  +*.css  +*.less  +*.md  +*.mdx  +*.markdown  +*.rmd  +*.json  +*.webmanifest  +*.js  +*.mjs  +*.jsx  +*.rb  +*.gemspec  +*.rake  +*.php  +*.py  +*.pyc  +*.pyo  +*.pyd  +*.coffee  +*.mustache  +*.hbs  +*.conf  +*.ini  +*.yml  +*.yaml  +*.toml  +*.bat  +*.mk  +*.jpg  +*.jpeg  +*.bmp  +*.png  +*.webp  +*.gif  +*.ico  +*.twig  +*.cpp  +*.c++  +*.cxx  +*.cc  +*.cp  +*.c  +*.cs  +*.h  +*.hh  +*.hpp  +*.hxx  +*.hs  +*.lhs  +*.nix  +*.lua  +*.java  +*.sh  +*.fish  +*.bash  +*.zsh  +*.ksh  +*.csh  +*.awk  +*.ps1  +*.ml λ +*.mli λ +*.diff  +*.db  +*.sql  +*.dump  +*.clj  +*.cljc  +*.cljs  +*.edn  +*.scala  +*.go  +*.dart  +*.xul  +*.sln  +*.suo  +*.pl  +*.pm  +*.t  +*.rss  +'*.f#'  +*.fsscript  +*.fsx  +*.fs  +*.fsi  +*.rs  +*.rlib  +*.d  +*.erl  +*.hrl  +*.ex  +*.exs  +*.eex  +*.leex  +*.heex  +*.vim  +*.ai  +*.psd  +*.psb  +*.ts  +*.tsx  +*.jl  +*.pp  +*.vue ﵂ +*.elm  +*.swift  +*.xcplayground  +*.tex ﭨ +*.r ﳒ +*.rproj 鉶 +*.sol ﲹ +*.pem  + +# file names (vim-devicons) (case-insensitive not supported in lf) +*gruntfile.coffee  +*gruntfile.js  +*gruntfile.ls  +*gulpfile.coffee  +*gulpfile.js  +*gulpfile.ls  +*mix.lock  +*dropbox  +*.ds_store  +*.gitconfig  +*.gitignore  +*.gitattributes  +*.gitlab-ci.yml  +*.bashrc  +*.zshrc  +*.zshenv  +*.zprofile  +*.vimrc  +*.gvimrc  +*_vimrc  +*_gvimrc  +*.bashprofile  +*favicon.ico  +*license  +*node_modules  +*react.jsx  +*procfile  +*dockerfile  +*docker-compose.yml  +*rakefile  +*config.ru  +*gemfile  +*makefile  +*cmakelists.txt  +*robots.txt ﮧ + +# file names (case-sensitive adaptations) +*Gruntfile.coffee  +*Gruntfile.js  +*Gruntfile.ls  +*Gulpfile.coffee  +*Gulpfile.js  +*Gulpfile.ls  +*Dropbox  +*.DS_Store  +*LICENSE  +*React.jsx  +*Procfile  +*Dockerfile  +*Docker-compose.yml  +*Rakefile  +*Gemfile  +*Makefile  +*CMakeLists.txt  + +# file patterns (vim-devicons) (patterns not supported in lf) +# .*jquery.*\.js$  +# .*angular.*\.js$  +# .*backbone.*\.js$  +# .*require.*\.js$  +# .*materialize.*\.js$  +# .*materialize.*\.css$  +# .*mootools.*\.js$  +# .*vimrc.*  +# Vagrantfile$  + +# file patterns (file name adaptations) +*jquery.min.js  +*angular.min.js  +*backbone.min.js  +*require.min.js  +*materialize.min.js  +*materialize.min.css  +*mootools.min.js  +*vimrc  +Vagrantfile  + +# archives or compressed (extensions from dircolors defaults) +*.tar  +*.tgz  +*.arc  +*.arj  +*.taz  +*.lha  +*.lz4  +*.lzh  +*.lzma  +*.tlz  +*.txz  +*.tzo  +*.t7z  +*.zip  +*.z  +*.dz  +*.gz  +*.lrz  +*.lz  +*.lzo  +*.xz  +*.zst  +*.tzst  +*.bz2  +*.bz  +*.tbz  +*.tbz2  +*.tz  +*.deb  +*.rpm  +*.jar  +*.war  +*.ear  +*.sar  +*.rar  +*.alz  +*.ace  +*.zoo  +*.cpio  +*.7z  +*.rz  +*.cab  +*.wim  +*.swm  +*.dwm  +*.esd  + +# image formats (extensions from dircolors defaults) +*.jpg  +*.jpeg  +*.mjpg  +*.mjpeg  +*.gif  +*.bmp  +*.pbm  +*.pgm  +*.ppm  +*.tga  +*.xbm  +*.xpm  +*.tif  +*.tiff  +*.png  +*.svg  +*.svgz  +*.mng  +*.pcx  +*.mov  +*.mpg  +*.mpeg  +*.m2v  +*.mkv  +*.webm  +*.ogm  +*.mp4  +*.m4v  +*.mp4v  +*.vob  +*.qt  +*.nuv  +*.wmv  +*.asf  +*.rm  +*.rmvb  +*.flc  +*.avi  +*.fli  +*.flv  +*.gl  +*.dl  +*.xcf  +*.xwd  +*.yuv  +*.cgm  +*.emf  +*.ogv  +*.ogx  + +# audio formats (extensions from dircolors defaults) +*.aac  +*.au  +*.flac  +*.m4a  +*.mid  +*.midi  +*.mka  +*.mp3  +*.mpc  +*.ogg  +*.ra  +*.wav  +*.oga  +*.opus  +*.spx  +*.xspf  + +# other formats +*.pdf  diff --git a/lf/lfrc b/lf/lfrc new file mode 100644 index 00000000..c8085078 --- /dev/null +++ b/lf/lfrc @@ -0,0 +1,98 @@ +# Basic Settings +# set ratios 1:2:3 +set hidden true +set drawbox true +set icons true +set ignorecase true +set previewer "~/.config/lf/preview" +set cleaner "~/.config/lf/cleaner" + +# Custom Functions + +# Set Wallpapper +cmd setwallpaper ${{ + cp "$f" ~/.config/wallpapper.png && feh --bg-scale --no-fehbg "$f" +}} + + +# Archive bindings +cmd unarchive ${{ + case "$f" in + *.zip) unzip "$f" ;; + *.tar.gz) tar -xzvf "$f" ;; + *.tar.bz2) tar -xjvf "$f" ;; + *.tar) tar -xvf "$f" ;; + *) echo "Unsupported format" ;; + esac +}} + +# cmds/functions +cmd mkdir $mkdir -p "$(echo $* | tr ' ' '\ ')" +cmd mkfile $touch "$(echo $* | tr ' ' '\ ')" + +cmd moveto ${{ + clear; tput cup $(($(tput lines)/3)); tput bold + set -f + clear; echo "Move to where?" + dest="$(sed -e 's/\s*#.*//' -e '/^$/d' -e 's/^\S*\s*//' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | sk | sed 's|~|$HOME|')" && + for x in $fx; do + eval mv -iv \"$x\" \"$dest\" + done && + notify-send "File(s) moved." "File(s) moved to $dest." +}} + +cmd copyto ${{ + clear; tput cup $(($(tput lines)/3)); tput bold + set -f + clear; echo "Copy to where?" + dest="$(sed -e 's/\s*#.*//' -e '/^$/d' -e 's/^\S*\s*//' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | sk | sed 's|~|$HOME|')" && + for x in $fx; do + eval cp -ivr \"$x\" \"$dest\" + done && + notify-send "File(s) copied." "File(s) copies to $dest." +}} + +# Bindings +# Remove some defaults +map m +map o +map n +map "'" +map '"' +map d +map c +map p +#map c $vscodium "$f" + +map au unarchive + +# Basic Functions +map . set hidden! +map set hidden! +map shell +map open +map $lf -remote "send $id select '$(sk)'" +map rename +map push :mkdir +map DD delete +map dd cut +map mv moveto +map cp copyto +map P paste +map mf push :mkfile +map md push :mkdir +map clear +map bg setwallpaper + + +# Movement +map gd cd ~/Downloads +map gD cd ~/Dropbox +map gp cd ~/Pictures +map gc cd ~/.config +map gr cd ~/repos +map gv cd ~/Videos +# map gs cd ~/.local/bin +map gs cd /media/HardDrive/Pyhton/School/ +map gh cd /media/HardDrive/ + diff --git a/lf/preview b/lf/preview new file mode 100755 index 00000000..4b70b2e8 --- /dev/null +++ b/lf/preview @@ -0,0 +1,83 @@ +#!/bin/sh + +image() { + if [ -n "$DISPLAY" ] && [ -z "$WAYLAND_DISPLAY" ]; then + printf '{"action": "add", "identifier": "PREVIEW", "x": "%s", "y": "%s", "width": "%s", "height": "%s", "scaler": "contain", "path": "%s"}\n' "$4" "$5" "$(($2-1))" "$(($3-1))" "$1" > "$FIFO_UEBERZUG" + exit 1 + else + chafa "$1" -s "$4x" + fi +} + +batorcat() { + file="$1" + shift + if command -v bat > /dev/null 2>&1 + then + bat --color=always --style=plain --pager=never "$file" "$@" + else + cat "$file" + fi +} + +CACHE="$HOME/.cache/lf/thumbnail.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | awk '{print $1}'))" + +case "$(printf "%s\n" "$(readlink -f "$1")" | awk '{print tolower($0)}')" in + *.tgz|*.tar.gz) tar tzf "$1" ;; + *.tar.bz2|*.tbz2) tar tjf "$1" ;; + *.tar.txz|*.txz) xz --list "$1" ;; + *.tar) tar tf "$1" ;; + *.zip|*.jar|*.war|*.ear|*.oxt) unzip -l "$1" ;; + *.rar) unrar l "$1" ;; + *.md) glow -s dark "$1" ;; + *.7z) 7z l "$1" ;; + *.[1-8]) man "$1" | col -b ;; + *.o) nm "$1";; + *.torrent) transmission-show "$1" ;; + *.iso) iso-info --no-header -l "$1" ;; + *.odt|*.ods|*.odp|*.sxw) odt2txt "$1" ;; + *.doc) catdoc "$1" ;; + *.docx) docx2txt "$1" - ;; + *.xml|*.html) w3m -dump "$1";; + *.xls|*.xlsx) + ssconvert --export-type=Gnumeric_stf:stf_csv "$1" "fd://1" | batorcat --language=csv + ;; + *.wav|*.mp3|*.flac|*.m4a|*.wma|*.ape|*.ac3|*.og[agx]|*.spx|*.opus|*.as[fx]|*.mka) + exiftool "$1" + ;; + *.pdf) + [ ! -f "${CACHE}.jpg" ] && \ + pdftoppm -jpeg -f 1 -singlefile "$1" "$CACHE" + image "${CACHE}.jpg" "$2" "$3" "$4" "$5" + ;; + *.epub) + [ ! -f "$CACHE" ] && \ + epub-thumbnailer "$1" "$CACHE" 1024 + image "$CACHE" "$2" "$3" "$4" "$5" + ;; + *.cbz|*.cbr|*.cbt) + [ ! -f "$CACHE" ] && \ + comicthumb "$1" "$CACHE" 1024 + image "$CACHE" "$2" "$3" "$4" "$5" + ;; + *.avi|*.mp4|*.wmv|*.dat|*.3gp|*.ogv|*.mkv|*.mpg|*.mpeg|*.vob|*.fl[icv]|*.m2v|*.mov|*.webm|*.ts|*.mts|*.m4v|*.r[am]|*.qt|*.divx) + [ ! -f "${CACHE}.jpg" ] && \ + ffmpegthumbnailer -i "$1" -o "${CACHE}.jpg" -s 0 -q 5 + image "${CACHE}.jpg" "$2" "$3" "$4" "$5" + ;; + *.bmp|*.jpg|*.jpeg|*.png|*.xpm|*.webp|*.gif|*.jfif) + image "$1" "$2" "$3" "$4" "$5" + ;; + *.svg) + [ ! -f "${CACHE}.jpg" ] && \ + convert "$1" "${CACHE}.jpg" + image "${CACHE}.jpg" "$2" "$3" "$4" "$5" + ;; + *.ino) + batorcat --language=cpp "$1" + ;; + *) + batorcat "$1" + ;; +esac +exit 0 diff --git a/nvim/colors/darkplus.vim b/nvim/colors/darkplus.vim new file mode 100644 index 00000000..d1057c47 --- /dev/null +++ b/nvim/colors/darkplus.vim @@ -0,0 +1,27 @@ +" Author: Christian Chiarulli + +lua << EOF +package.loaded['darkplus'] = nil +package.loaded['darkplus.highlights'] = nil +package.loaded['darkplus.Treesitter'] = nil +package.loaded['darkplus.markdown'] = nil +package.loaded['darkplus.Whichkey'] = nil +package.loaded['darkplus.Git'] = nil +package.loaded['darkplus.LSP'] = nil +package.loaded['darkplus.Quickscope'] = nil +package.loaded['darkplus.Telescope'] = nil +package.loaded['darkplus.NvimTree'] = nil +package.loaded['darkplus.Lir'] = nil +package.loaded['darkplus.Buffer'] = nil +package.loaded['darkplus.StatusLine'] = nil +package.loaded['darkplus.IndentBlankline'] = nil +package.loaded['darkplus.Dashboard'] = nil +package.loaded['darkplus.DiffView'] = nil +package.loaded['darkplus.Bookmarks'] = nil +package.loaded['darkplus.Bqf'] = nil +package.loaded['darkplus.Cmp'] = nil +package.loaded['darkplus.SymbolOutline'] = nil +package.loaded['darkplus.Misc'] = nil + +require("darkplus") +EOF diff --git a/nvim/colors/monokai.vim b/nvim/colors/monokai.vim new file mode 100644 index 00000000..1b4f1678 --- /dev/null +++ b/nvim/colors/monokai.vim @@ -0,0 +1,109 @@ +" Vim color file +" Converted from Textmate theme Monokai using Coloration v0.3.2 (http://github.com/sickill/coloration) + +set background=dark +highlight clear + +if exists("syntax_on") + syntax reset +endif + +set t_Co=256 +let g:colors_name = "monokai" + +hi Cursor ctermfg=235 ctermbg=231 cterm=NONE guifg=#272822 guibg=#f8f8f0 gui=NONE +hi Visual ctermfg=NONE ctermbg=59 cterm=NONE guifg=NONE guibg=#49483e gui=NONE +hi CursorLine ctermfg=NONE ctermbg=237 cterm=NONE guifg=NONE guibg=#3c3d37 gui=NONE +hi CursorColumn ctermfg=NONE ctermbg=237 cterm=NONE guifg=NONE guibg=#3c3d37 gui=NONE +hi ColorColumn ctermfg=NONE ctermbg=237 cterm=NONE guifg=NONE guibg=#3c3d37 gui=NONE +hi LineNr ctermfg=102 ctermbg=237 cterm=NONE guifg=#90908a guibg=#3c3d37 gui=NONE +hi VertSplit ctermfg=241 ctermbg=241 cterm=NONE guifg=#64645e guibg=#64645e gui=NONE +hi MatchParen ctermfg=197 ctermbg=NONE cterm=underline guifg=#f92672 guibg=NONE gui=underline +hi StatusLine ctermfg=231 ctermbg=241 cterm=bold guifg=#f8f8f2 guibg=#64645e gui=bold +hi StatusLineNC ctermfg=231 ctermbg=241 cterm=NONE guifg=#f8f8f2 guibg=#64645e gui=NONE +hi Pmenu ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi PmenuSel ctermfg=NONE ctermbg=59 cterm=NONE guifg=NONE guibg=#49483e gui=NONE +hi IncSearch term=reverse cterm=reverse ctermfg=193 ctermbg=16 gui=reverse guifg=#C4BE89 guibg=#000000 +hi Search term=reverse cterm=NONE ctermfg=231 ctermbg=24 gui=NONE guifg=#f8f8f2 guibg=#204a87 +hi Directory ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE +hi Folded ctermfg=242 ctermbg=235 cterm=NONE guifg=#75715e guibg=#272822 gui=NONE +hi SignColumn ctermfg=NONE ctermbg=237 cterm=NONE guifg=NONE guibg=#3c3d37 gui=NONE +hi Normal ctermfg=231 ctermbg=235 cterm=NONE guifg=#f8f8f2 guibg=#272822 gui=NONE +hi Boolean ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE +hi Character ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE +hi Comment ctermfg=242 ctermbg=NONE cterm=NONE guifg=#75715e guibg=NONE gui=NONE +hi Conditional ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE +hi Constant ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi Define ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE +hi DiffAdd ctermfg=231 ctermbg=64 cterm=bold guifg=#f8f8f2 guibg=#46830c gui=bold +hi DiffDelete ctermfg=88 ctermbg=NONE cterm=NONE guifg=#8b0807 guibg=NONE gui=NONE +hi DiffChange ctermfg=NONE ctermbg=NONE cterm=NONE guifg=#f8f8f2 guibg=#243955 gui=NONE +hi DiffText ctermfg=231 ctermbg=24 cterm=bold guifg=#f8f8f2 guibg=#204a87 gui=bold +hi ErrorMsg ctermfg=231 ctermbg=197 cterm=NONE guifg=#f8f8f0 guibg=#f92672 gui=NONE +hi WarningMsg ctermfg=231 ctermbg=197 cterm=NONE guifg=#f8f8f0 guibg=#f92672 gui=NONE +hi Float ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE +hi Function ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE +hi Identifier ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic +hi Keyword ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE +hi Label ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE +hi NonText ctermfg=59 ctermbg=236 cterm=NONE guifg=#49483e guibg=#31322c gui=NONE +hi Number ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE +hi Operator ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE +hi PreProc ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE +hi Special ctermfg=231 ctermbg=NONE cterm=NONE guifg=#f8f8f2 guibg=NONE gui=NONE +hi SpecialComment ctermfg=242 ctermbg=NONE cterm=NONE guifg=#75715e guibg=NONE gui=NONE +hi SpecialKey ctermfg=59 ctermbg=237 cterm=NONE guifg=#49483e guibg=#3c3d37 gui=NONE +hi Statement ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE +hi StorageClass ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic +hi String ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE +hi Tag ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE +hi Title ctermfg=231 ctermbg=NONE cterm=bold guifg=#f8f8f2 guibg=NONE gui=bold +hi Todo ctermfg=95 ctermbg=NONE cterm=inverse,bold guifg=#75715e guibg=NONE gui=inverse,bold +hi Type ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE +hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline guifg=NONE guibg=NONE gui=underline +hi rubyClass ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE +hi rubyFunction ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE +hi rubyInterpolationDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi rubySymbol ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE +hi rubyConstant ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic +hi rubyStringDelimiter ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE +hi rubyBlockParameter ctermfg=208 ctermbg=NONE cterm=NONE guifg=#fd971f guibg=NONE gui=italic +hi rubyInstanceVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi rubyInclude ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE +hi rubyGlobalVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi rubyRegexp ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE +hi rubyRegexpDelimiter ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE +hi rubyEscape ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE +hi rubyControl ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE +hi rubyClassVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi rubyOperator ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE +hi rubyException ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE +hi rubyPseudoVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi rubyRailsUserClass ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic +hi rubyRailsARAssociationMethod ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE +hi rubyRailsARMethod ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE +hi rubyRailsRenderMethod ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE +hi rubyRailsMethod ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE +hi erubyDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi erubyComment ctermfg=95 ctermbg=NONE cterm=NONE guifg=#75715e guibg=NONE gui=NONE +hi erubyRailsMethod ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE +hi htmlTag ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE +hi htmlEndTag ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE +hi htmlTagName ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi htmlArg ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi htmlSpecialChar ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE +hi javaScriptFunction ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic +hi javaScriptRailsFunction ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE +hi javaScriptBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi yamlKey ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE +hi yamlAnchor ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi yamlAlias ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi yamlDocumentHeader ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE +hi cssURL ctermfg=208 ctermbg=NONE cterm=NONE guifg=#fd971f guibg=NONE gui=italic +hi cssFunctionName ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE +hi cssColor ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE +hi cssPseudoClassId ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE +hi cssClassName ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE +hi cssValueLength ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE +hi cssCommonAttr ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE +hi cssBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE diff --git a/nvim/init.vim b/nvim/init.vim new file mode 100644 index 00000000..97bb5544 --- /dev/null +++ b/nvim/init.vim @@ -0,0 +1,92 @@ +:set number +:set relativenumber +:set autoindent +:set tabstop=4 +:set shiftwidth=4 +:set smarttab +:set softtabstop=4 +:set mouse=a + + +call plug#begin() +Plug 'vim-airline/vim-airline' +Plug 'preservim/nerdtree' +Plug 'ap/vim-css-color' +Plug 'rafi/awesome-vim-colorschemes' +Plug 'ryanoasis/vim-devicons' +Plug 'mattn/emmet-vim' +Plug 'norcalli/nvim-colorizer.lua' +Plug 'tomasiser/vim-code-dark' +Plug 'lukas-reineke/indent-blankline.nvim' +Plug 'vimwiki/vimwiki' +Plug 'neoclide/coc.nvim', {'branch': 'release'} +Plug 'numToStr/Comment.nvim' +Plug 'jiangmiao/auto-pairs' +Plug 'Mofiqul/dracula.nvim' +Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} +Plug 'nvim-lua/plenary.nvim' +Plug 'nvim-telescope/telescope.nvim' +Plug 'lewis6991/gitsigns.nvim' +Plug 'nvim-lualine/lualine.nvim' +" If you want to have icons in your statusline choose one of these +Plug 'kyazdani42/nvim-web-devicons' + +call plug#end() + +colorscheme dracula +nnoremap :NERDTreeToggle + +nmap :m -2 +nmap :m -2 +nmap :m +1 +nmap :m +1 + +" Use tab for trigger completion with characters ahead and navigate. +inoremap + \ pumvisible() ? "\" : + \ check_back_space() ? "\" : + \ coc#refresh() +inoremap pumvisible() ? "\" : "\" +function! s:check_back_space() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~# '\s' +endfunction +" Use to trigger completion. +if has('nvim') + inoremap coc#refresh() +else + inoremap coc#refresh() +endif + +lua << END +require('Comment').setup() +require('lualine').setup { + options = { + icons_enabled = true, + theme = 'dracula', + component_separators = { left = '', right = ''}, + section_separators = { left = '', right = ''}, + disabled_filetypes = {}, + always_divide_middle = true, + globalstatus = false, + }, + sections = { + lualine_a = {'mode'}, + lualine_b = {'branch', 'diff', 'diagnostics'}, + lualine_c = {'filename'}, + lualine_x = {'encoding', 'fileformat', 'filetype'}, + lualine_y = {'progress'}, + lualine_z = {'location'} + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = {'filename'}, + lualine_x = {'location'}, + lualine_y = {}, + lualine_z = {} + }, + tabline = {}, + extensions = {} +} +END diff --git a/nvim/plugged/awesome-vim-colorschemes/README.md b/nvim/plugged/awesome-vim-colorschemes/README.md new file mode 100644 index 00000000..4a1efcfc --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/README.md @@ -0,0 +1,148 @@ +# Awesome Vim Color Schemes + +Collection of awesome color schemes for Vim, merged for quick use. + +## Installation + +Use your favorite package-manager to install, and enjoy! + +## Color Schemes + +| Scheme | Description | Terminal | GUI | +| -------------- | ------------|:--------:|:---:| +| [256noir] | Dark minimal colors, to avoid distraction | ✓ | ✓ | +| [abstract] | Dark theme based on Abstract app | ✓ | ✓ | +| [afterglow] | Adaptation from Sublime Text | ✓ | ✓ | +| [alduin] | Dark rustic colors | ✓ | ✓ | +| [anderson] | Dark vim colorscheme based on colors from Wes Anderson films | ✓ | ✓ | +| [angr] | Pleasant, mild, dark theme | ✓ | ✓ | +| [ayu-vim] | Simple, bright and elegant theme | | ✓ | +| [Apprentice] | Dark, low-contrast colorscheme | ✓ | ✓ | +| [Archery] | Vim colorscheme inspired by Arch Linux colors | ✓ | ✓ | +| [Atom] | Designed to be very readable in both light and dark environments | | ✓ | +| [carbonized] | Inspired by the Carbon keycap set | ✓ (16) | ✓ | +| [challenger-deep] | FlatColor colorscheme | ✓ | ✓ | +| [deep-space] | Intergalactic friendly color scheme based off Hybrid | ✓ | ✓ | +| [deus] | For the late night coder | ✓ | ✓ | +| [dogrun] | Dark purple | ✓ | ✓ | +| [flattened] | Solarized, without the bullshit | ✓ (16) | ✓ | +| [focuspoint] | Maintain color coordination and important keyword focus | | ✓ | +| [fogbell] | Minimal grey monotone with 3 variants | ✓ | ✓ | +| [github] | Based on Github's syntax highlighting | ✓ | ✓ | +| [gotham] | Very dark vim colorscheme | ✓ | ✓ | +| [gruvbox] | Retro groove color scheme | ✓ | ✓ | +| [happy hacking] | Fairly small set of colors instead of throwing rainbows at your face | ✓ | ✓ | +| [Iceberg] | Dark blue color scheme | ✓ | ✓ | +| [papercolor] | Light and Dark color schemes inspired by Google's Material Design | ✓ | ✓ | +| [parsec] | Color scheme for people tired of solarized | ✓ (16) | ✓ | +| [scheakur] | A light/dark colorscheme | ✓ | ✓ | +| [hybrid] | A dark colour scheme for Vim and gVim | ✓ | ✓ | +| [hybrid-material] | Material color scheme based on w0ng/vim-hybrid | ✓ | ✓ | +| [jellybeans] | Colorful, dark color scheme | ✓ | ✓ | +| [lightning] | Light vim colorscheme based on Apprentice | ✓ | ✓ | +| [lucid] | Vivid highlights and friendly, clear colors | | ✓ | +| [lucius] | Lucius color scheme | ✓ | ✓ | +| [materialbox] | Light and dark material palette inspired based on Gruvbox | | ✓ | +| [meta5] | Dark colorscheme, inspired by Tron | ✓ | ✓ | +| [minimalist] | Darker version of material theme inspired by Sublime Text | ✓ | ✓ | +| [molokai] | Molokai color scheme | ✓ | ✓ | +| [molokayo] | Very tweaked molokai based theme | ✓ | ✓ | +| [mountaineer] | A dark and adventurous theme | ✓ | ✓ | +| [nord] | An arctic, north-bluish clean and elegant theme | ✓ (16) | ✓ | +| [oceanicnext] | Oceanic Next theme | ✓ | ✓ | +| [oceanic-material] | Material dark colorscheme | ✓ | ✓ | +| [one] | Adaptation of one-light and one-dark | ✓ | ✓ | +| [onedark] | Inspired by Atom's One Dark syntax theme | ✓ | ✓ | +| [onehalf] | Clean, vibrant and pleasing color scheme | ✓ | ✓ | +| [orbital] | Dark blue base16 theme | ✓ | ✓ | +| [paramount] | Minimal colorscheme that only puts emphasis on the paramount | ✓ | ✓ | +| [pink-moon] | Dark pastel theme | ✓ | ✓ | +| [purify] | Clean & vibrant color schemes for Vim, Terminals... | ✓ | ✓ | +| [pyte] | Clean, light (nearly white) theme | | ✓ | +| [rakr] | Flat colorscheme light and dark variant | ✓ | ✓ | +| [rdark-terminal2] | Modified rdark-terminal to enhance visibility | ✓ | | +| [seoul256] | Low-contrast color scheme based on Seoul Colors | ✓ | ✓ | +| [sierra] | Dark vintage colors | ✓ | ✓ | +| [solarized8] | Optimized Solarized colorschemes | ✓ (16) | ✓ | +| [sonokai] | Vivid and high contrast based on Monokai Pro | ✓ | ✓ | +| [space-vim-dark] | Dark magenta colors | ✓ | ✓ | +| [spacecamp] | Colors for the final frontier | ✓ | ✓ | +| [sunbather] | Minimal pink colorscheme | ✓ | ✓ | +| [tender] | 24bit colorscheme for Vim | ✓ | ✓ | +| [termschool] | Based on the "codeschool" theme, with lots of tweaks | ✓ | ✓ | +| [twilight256] | Imitates the Twilight theme for TextMate | ✓ | ✓ | +| [two-firewatch] | A blend between duotone light and firewatch (for atom) | ✓ | ✓ | +| [wombat256] | Wombat for 256 color xterms | ✓ | ✓ | + +[256noir]: https://github.com/andreasvc/vim-256noir +[abstract]: https://github.com/jdsimcoe/abstract.vim +[afterglow]: https://github.com/danilo-augusto/vim-afterglow +[alduin]: https://github.com/AlessandroYorba/Alduin +[Apprentice]: https://github.com/romainl/Apprentice +[Archery]: https://github.com/Badacadabra/vim-archery +[anderson]: https://github.com/gilgigilgil/anderson.vim +[angr]: https://github.com/zacanger/angr.vim +[Atom]: https://github.com/gregsexton/Atom +[ayu-vim]: https://github.com/ayu-theme/ayu-vim +[carbonized]: https://github.com/nightsense/carbonized +[challenger-deep]: https://github.com/challenger-deep-theme/vim +[deep-space]: https://github.com/tyrannicaltoucan/vim-deep-space +[deus]: https://github.com/ajmwagar/vim-deus +[dogrun]: https://github.com/wadackel/vim-dogrun +[flattened]: https://github.com/romainl/flattened +[focuspoint]: https://github.com/chase/focuspoint-vim +[fogbell]: https://github.com/jaredgorski/fogbell.vim +[github]: https://github.com/endel/vim-github-colorscheme +[gotham]: https://github.com/whatyouhide/vim-gotham +[gruvbox]: https://github.com/morhetz/gruvbox +[happy hacking]: https://github.com/yorickpeterse/happy_hacking.vim +[papercolor]: https://github.com/NLKNguyen/papercolor-theme +[parsec]: https://github.com/keith/parsec.vim +[scheakur]: https://github.com/scheakur/vim-scheakur +[hybrid]: https://github.com/w0ng/vim-hybrid +[hybrid-material]: https://github.com/kristijanhusak/vim-hybrid-material +[Iceberg]: https://github.com/cocopon/iceberg.vim +[jellybeans]: https://github.com/nanotech/jellybeans.vim +[lightning]: https://github.com/wimstefan/Lightning +[lucid]: https://github.com/cseelus/vim-colors-lucid +[lucius]: https://github.com/jonathanfilip/vim-lucius +[materialbox]: https://github.com/mkarmona/materialbox +[meta5]: https://github.com/christophermca/meta5 +[minimalist]: https://github.com/dikiaap/minimalist +[molokai]: https://github.com/tomasr/molokai +[molokayo]: https://github.com/fmoralesc/molokayo +[mountaineer]: https://github.com/co1ncidence/mountaineer +[nord]: https://github.com/arcticicestudio/nord-vim +[oceanicnext]: https://github.com/mhartington/oceanic-next +[oceanic-material]: https://github.com/hardcoreplayers/oceanic-material +[one]: https://github.com/rakr/vim-one +[onedark]: https://github.com/joshdick/onedark.vim +[onehalf]: https://github.com/sonph/onehalf +[orbital]: https://github.com/fcpg/vim-orbital +[paramount]: https://github.com/owickstrom/vim-colors-paramount +[pink-moon]: https://github.com/sts10/vim-pink-moon +[purify]: https://github.com/kyoz/purify +[pyte]: https://github.com/vim-scripts/pyte +[rakr]: https://github.com/rakr/vim-colors-rakr +[rdark-terminal2]: https://github.com/vim-scripts/rdark-terminal2.vim +[seoul256]: https://github.com/junegunn/seoul256.vim +[sierra]: https://github.com/AlessandroYorba/Sierra +[solarized8]: https://github.com/lifepillar/vim-solarized8 +[sonokai]: https://github.com/sainnhe/sonokai +[space-vim-dark]: https://github.com/liuchengxu/space-vim-dark +[spacecamp]: https://github.com/jaredgorski/SpaceCamp +[sunbather]: https://github.com/nikolvs/vim-sunbather +[tender]: https://github.com/jacoborus/tender.vim +[termschool]: https://github.com/marcopaganini/termschool-vim-theme +[twilight256]: https://github.com/vim-scripts/twilight256.vim +[two-firewatch]: https://github.com/rakr/vim-two-firewatch +[wombat256]: https://github.com/vim-scripts/wombat256.vim + +## Other Collections + +- [`mcchrish/vim-no-color-collections`](https://github.com/mcchrish/vim-no-color-collections) - List of colorschemes with barely any colors +- [`rainglow/vim`](https://github.com/rainglow/vim) - 320+ color themes for VIM +- [`nightsense/vimspectr`](https://github.com/nightsense/vimspectr) - Assemble your own Vim theme (choose base hue + saturation curve) +- [`chriskempson/base16-vim`](https://github.com/chriskempson/base16-vim) - Syntax highlighting for hackers +- [`mswift42/vim-themes`](https://github.com/mswift42/vim-themes) - Some emacs themes ported to Vim +- [`mkarmona/colorsbox`](https://github.com/mkarmona/colorsbox) diff --git a/nvim/plugged/awesome-vim-colorschemes/after/syntax/xml.vim b/nvim/plugged/awesome-vim-colorschemes/after/syntax/xml.vim new file mode 100644 index 00000000..c3935a5c --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/after/syntax/xml.vim @@ -0,0 +1,14 @@ +" =============================================================== +" OceanicNext +" Language: XML +" Description: Overrides for XML +" Author: Mike Hartington +" Last Change: 2016/12/11 17:28 +" =============================================================== + +syn region xmlEndTag + \ start=++ + \ contains=xmlTagN +syn match xmlTagN + \ contained + +" Repository: https://github.com/dikiaap/minimalist +" Version: 1.6 +" License: MIT + +" Normal Mode +let s:N1 = [ '#E4E4E4', '#3A3A3A', 254, 237 ] +let s:N2 = [ '#E4E4E4', '#4E4E4E', 254, 239 ] +let s:N3 = [ '#EEEEEE', '#262626', 255, 235 ] + +" Inactive Mode +let s:IA = [ '#666666', s:N3[1], 242, s:N3[3] ] + +" Warning Mode +let s:WI = [ '#1C1C1C', '#FFAF5F', 234, 215 ] + +" Error Mode +let s:ER = [ s:WI[0], '#D75F5F', s:WI[2], 167 ] + +" Terminal Mode +let s:TE = [ s:WI[0], s:N1[1], s:N1[2], s:N1[3] ] + +" Reverse Mode +let s:NR = [ s:N2[1], s:N2[0], s:N2[3], s:N2[2], 'bold' ] + +let g:airline#themes#minimalist#palette = {} + +" Generate +let g:airline#themes#minimalist#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#minimalist#palette.insert = g:airline#themes#minimalist#palette.normal +let g:airline#themes#minimalist#palette.visual = g:airline#themes#minimalist#palette.normal +let g:airline#themes#minimalist#palette.replace = g:airline#themes#minimalist#palette.normal +let g:airline#themes#minimalist#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#minimalist#palette.normal.airline_warning = s:WI +let g:airline#themes#minimalist#palette.normal.airline_error = s:ER +let g:airline#themes#minimalist#palette.normal.airline_term = s:TE + +" Accents +let g:airline#themes#minimalist#palette.accents = { 'red': [ s:ER[1], '', s:ER[3], '' ] } + +" CtrlP +if get(g:, 'loaded_ctrlp', 0) + let g:airline#themes#minimalist#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(s:N3, s:N2, s:NR) +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/one.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/one.vim new file mode 100644 index 00000000..187445e8 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/one.vim @@ -0,0 +1,44 @@ +let g:airline#themes#one#palette = {} + +function! airline#themes#one#refresh() + let g:airline#themes#one#palette.accents = { + \ 'red': airline#themes#get_highlight('Constant'), + \ } + + let s:N1 = airline#themes#get_highlight2(['CursorLine', 'bg'], ['DiffAdd', 'fg'], 'none') + let s:N2 = airline#themes#get_highlight2(['Normal', 'fg'], ['SpecialKey', 'fg'], 'none') + let s:N3 = airline#themes#get_highlight('CursorLine') + let g:airline#themes#one#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + + let group = airline#themes#get_highlight('vimCommand') + let g:airline#themes#one#palette.normal_modified = { + \ 'airline_c': [ group[0], '', group[2], '', '' ] + \ } + + let s:I1 = airline#themes#get_highlight2(['Normal', 'bg'], ['DiffLine', 'fg'], 'none') + let s:I2 = airline#themes#get_highlight2(['Normal', 'fg'], ['SpecialKey', 'fg'], 'none') + let s:I3 = s:N3 + let g:airline#themes#one#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + let g:airline#themes#one#palette.insert_modified = g:airline#themes#one#palette.normal_modified + + let s:R1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Error', 'fg'], 'none') + let s:R2 = s:N2 + let s:R3 = s:N3 + let g:airline#themes#one#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + let g:airline#themes#one#palette.replace_modified = g:airline#themes#one#palette.normal_modified + + let s:V1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Statement', 'fg'], 'none') + let s:V2 = airline#themes#get_highlight2(['Normal', 'fg'], ['SpecialKey', 'fg'], 'none') + let s:V3 = s:N3 + let g:airline#themes#one#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + let g:airline#themes#one#palette.visual_modified = g:airline#themes#one#palette.normal_modified + + let s:IA = airline#themes#get_highlight2(['NonText', 'fg'], ['CursorLine', 'bg']) + let g:airline#themes#one#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) + let g:airline#themes#one#palette.inactive_modified = { + \ 'airline_c': [ group[0], '', group[2], '', '' ] + \ } +endfunction + +call airline#themes#one#refresh() + diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/snow_dark.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/snow_dark.vim new file mode 100644 index 00000000..6f8cfed9 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/snow_dark.vim @@ -0,0 +1,37 @@ +let g:airline#themes#snow_dark#palette = {} + +let s:gry0 = [ "#2c2d30", 236 ] +let s:gry1 = [ "#363a3e", 237 ] +let s:gry3 = [ "#afb7c0", 249 ] +let s:red_ = [ "#be868c", 138 ] +let s:gren = [ "#7f9d77", 108 ] +let s:blue = [ "#759abd", 110 ] + +let s:nrm1 = [ s:gry0[0] , s:gry3[0] , s:gry0[1] , s:gry3[1] ] +let s:nrm2 = [ s:gry3[0] , s:gry1[0] , s:gry3[1] , s:gry1[1] ] +let s:insr = [ s:gry0[0] , s:gren[0] , s:gry0[1] , s:gren[1] ] +let s:visl = [ s:gry0[0] , s:blue[0] , s:gry0[1] , s:blue[1] ] +let s:rplc = [ s:gry0[0] , s:red_[0] , s:gry0[1] , s:red_[1] ] +let s:inac = [ s:gry3[0] , s:gry1[0] , s:gry3[1] , s:gry1[1] ] + +let g:airline#themes#snow_dark#palette.normal = + \ airline#themes#generate_color_map( s:nrm1 , s:nrm2 , s:nrm2 ) + +let g:airline#themes#snow_dark#palette.insert = + \ airline#themes#generate_color_map( s:insr , s:nrm2 , s:nrm2 ) + +let g:airline#themes#snow_dark#palette.visual = + \ airline#themes#generate_color_map( s:visl , s:nrm2 , s:nrm2 ) + +let g:airline#themes#snow_dark#palette.replace = + \ airline#themes#generate_color_map( s:rplc , s:nrm2 , s:nrm2 ) + +let g:airline#themes#snow_dark#palette.inactive = + \ airline#themes#generate_color_map( s:inac , s:inac , s:inac ) + +if !get(g:, "loaded_ctrlp", 0) + finish +endif + +let g:airline#themes#snow_dark#palette.ctrlp = + \ airline#extensions#ctrlp#generate_color_map( s:nrm2 , s:nrm1 , s:nrm2 ) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/snow_light.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/snow_light.vim new file mode 100644 index 00000000..0bae9d4d --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/snow_light.vim @@ -0,0 +1,37 @@ +let g:airline#themes#snow_light#palette = {} + +let s:gry0 = [ "#fbffff", 231 ] +let s:gry1 = [ "#e5ebf1", 255 ] +let s:gry3 = [ "#535c65", 240 ] +let s:red_ = [ "#ae5865", 131 ] +let s:gren = [ "#4d7f43", 65 ] +let s:blue = [ "#2b7ab2", 32 ] + +let s:nrm1 = [ s:gry0[0] , s:gry3[0] , s:gry0[1] , s:gry3[1] ] +let s:nrm2 = [ s:gry3[0] , s:gry1[0] , s:gry3[1] , s:gry1[1] ] +let s:insr = [ s:gry0[0] , s:gren[0] , s:gry0[1] , s:gren[1] ] +let s:visl = [ s:gry0[0] , s:blue[0] , s:gry0[1] , s:blue[1] ] +let s:rplc = [ s:gry0[0] , s:red_[0] , s:gry0[1] , s:red_[1] ] +let s:inac = [ s:gry3[0] , s:gry1[0] , s:gry3[1] , s:gry1[1] ] + +let g:airline#themes#snow_light#palette.normal = + \ airline#themes#generate_color_map( s:nrm1 , s:nrm2 , s:nrm2 ) + +let g:airline#themes#snow_light#palette.insert = + \ airline#themes#generate_color_map( s:insr , s:nrm2 , s:nrm2 ) + +let g:airline#themes#snow_light#palette.visual = + \ airline#themes#generate_color_map( s:visl , s:nrm2 , s:nrm2 ) + +let g:airline#themes#snow_light#palette.replace = + \ airline#themes#generate_color_map( s:rplc , s:nrm2 , s:nrm2 ) + +let g:airline#themes#snow_light#palette.inactive = + \ airline#themes#generate_color_map( s:inac , s:inac , s:inac ) + +if !get(g:, "loaded_ctrlp", 0) + finish +endif + +let g:airline#themes#snow_light#palette.ctrlp = + \ airline#extensions#ctrlp#generate_color_map( s:nrm2 , s:nrm1 , s:nrm2 ) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/stellarized_dark.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/stellarized_dark.vim new file mode 100644 index 00000000..66d6ba49 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/stellarized_dark.vim @@ -0,0 +1,38 @@ +let g:airline#themes#stellarized_dark#palette = {} + +let s:gry0 = [ "#222532", 235 ] +let s:gry1 = [ "#2d3243", 236 ] +let s:gry3 = [ "#bead9d", 145 ] +let s:red_ = [ "#ca7375", 174 ] +let s:gren = [ "#5c9a61", 71 ] +let s:blue = [ "#578fcc", 32 ] + +let s:nrm1 = [ s:gry0[0] , s:gry3[0] , s:gry0[1] , s:gry3[1] ] +let s:nrm2 = [ s:gry3[0] , s:gry1[0] , s:gry3[1] , s:gry1[1] ] +let s:insr = [ s:gry0[0] , s:gren[0] , s:gry0[1] , s:gren[1] ] +let s:visl = [ s:gry0[0] , s:blue[0] , s:gry0[1] , s:blue[1] ] +let s:rplc = [ s:gry0[0] , s:red_[0] , s:gry0[1] , s:red_[1] ] +let s:inac = [ s:gry3[0] , s:gry1[0] , s:gry3[1] , s:gry1[1] ] + +let g:airline#themes#stellarized_dark#palette.normal = + \ airline#themes#generate_color_map( s:nrm1 , s:nrm2 , s:nrm2 ) + +let g:airline#themes#stellarized_dark#palette.insert = + \ airline#themes#generate_color_map( s:insr , s:nrm2 , s:nrm2 ) + +let g:airline#themes#stellarized_dark#palette.visual = + \ airline#themes#generate_color_map( s:visl , s:nrm2 , s:nrm2 ) + +let g:airline#themes#stellarized_dark#palette.replace = + \ airline#themes#generate_color_map( s:rplc , s:nrm2 , s:nrm2 ) + +let g:airline#themes#stellarized_dark#palette.inactive = + \ airline#themes#generate_color_map( s:inac , s:inac , s:inac ) + +if !get(g:, "loaded_ctrlp", 0) + finish +endif + +let g:airline#themes#stellarized_dark#palette.ctrlp = + \ airline#extensions#ctrlp#generate_color_map( s:nrm2 , s:nrm1 , s:nrm2 ) + diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/stellarized_light.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/stellarized_light.vim new file mode 100644 index 00000000..a555ffb3 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/stellarized_light.vim @@ -0,0 +1,38 @@ +let g:airline#themes#stellarized_light#palette = {} + +let s:gry0 = [ "#fceee0", 255 ] +let s:gry1 = [ "#ecdac9", 223 ] +let s:gry3 = [ "#4a5067", 60 ] +let s:red_ = [ "#c6394c", 161 ] +let s:gren = [ "#007f25", 28 ] +let s:blue = [ "#006dcc", 25 ] + +let s:nrm1 = [ s:gry0[0] , s:gry3[0] , s:gry0[1] , s:gry3[1] ] +let s:nrm2 = [ s:gry3[0] , s:gry1[0] , s:gry3[1] , s:gry1[1] ] +let s:insr = [ s:gry0[0] , s:gren[0] , s:gry0[1] , s:gren[1] ] +let s:visl = [ s:gry0[0] , s:blue[0] , s:gry0[1] , s:blue[1] ] +let s:rplc = [ s:gry0[0] , s:red_[0] , s:gry0[1] , s:red_[1] ] +let s:inac = [ s:gry3[0] , s:gry1[0] , s:gry3[1] , s:gry1[1] ] + +let g:airline#themes#stellarized_light#palette.normal = + \ airline#themes#generate_color_map( s:nrm1 , s:nrm2 , s:nrm2 ) + +let g:airline#themes#stellarized_light#palette.insert = + \ airline#themes#generate_color_map( s:insr , s:nrm2 , s:nrm2 ) + +let g:airline#themes#stellarized_light#palette.visual = + \ airline#themes#generate_color_map( s:visl , s:nrm2 , s:nrm2 ) + +let g:airline#themes#stellarized_light#palette.replace = + \ airline#themes#generate_color_map( s:rplc , s:nrm2 , s:nrm2 ) + +let g:airline#themes#stellarized_light#palette.inactive = + \ airline#themes#generate_color_map( s:inac , s:inac , s:inac ) + +if !get(g:, "loaded_ctrlp", 0) + finish +endif + +let g:airline#themes#stellarized_light#palette.ctrlp = + \ airline#extensions#ctrlp#generate_color_map( s:nrm2 , s:nrm1 , s:nrm2 ) + diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/tender.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/tender.vim new file mode 100644 index 00000000..8927970f --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/tender.vim @@ -0,0 +1,41 @@ +" ============================================================ +" tender +" Tender Airline theme +" URL:https://github/com/jacoborus/tender.vim +" Author: Jacobo Tabernero http://jacoborus.codes +" License: MIT +" Last Change: 2020/04/24 16:58 +" ============================================================ + +let g:airline#themes#tender#palette = {} + +let s:normal1 = [ "#335261", "#b3deef", 239, 153 ] +let s:normal2 = [ "#282828", "#73cef4", 235, 81 ] +let s:normal3 = [ "#b3deef", "#444444", 153, 238 ] +let g:airline#themes#tender#palette.normal = airline#themes#generate_color_map(s:normal1, s:normal2, s:normal3) + +let s:insert1 = [ "#464632", "#c9d05c", 238, 185 ] +let s:insert2 = [ "#282828", "#9faa00", 235, 142 ] +let s:insert3 = [ "#c9d05c", "#464632", 185, 238 ] +let g:airline#themes#tender#palette.insert = airline#themes#generate_color_map(s:insert1, s:insert2, s:insert3) + +let s:replace1 = [ "#282828", "#f43753", 235, 203 ] +let s:replace2 = [ "#282828", "#c5152f", 235, 160 ] +let s:replace3 = [ "#f43753", "#444444", 203, 238 ] +let g:airline#themes#tender#palette.replace = airline#themes#generate_color_map(s:replace1, s:replace2, s:replace3) + +let s:visual1 = [ "#282828", "#ffc24b", 235, 215 ] +let s:visual2 = [ "#282828", "#715b2f", 235, 58 ] +let s:visual3 = [ "#ffc24b", "#444444", 215, 238 ] +let g:airline#themes#tender#palette.visual = airline#themes#generate_color_map(s:visual1, s:visual2, s:visual3) + +let s:inactive1 = [ "#bbbbbb", "#666666", 250, 242 ] +let s:inactive2 = [ "#bbbbbb", "#666666", 250, 242 ] +let s:inactive3 = [ "#bbbbbb", "#444444", 250, 238 ] +let g:airline#themes#tender#palette.inactive = airline#themes#generate_color_map(s:inactive1, s:inactive2, s:inactive3) + + +" =================================== +" Generated by Estilo 1.4.1 +" https://github.com/jacoborus/estilo +" =================================== diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/tenderplus.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/tenderplus.vim new file mode 100644 index 00000000..a69f0e06 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/tenderplus.vim @@ -0,0 +1,41 @@ +" ============================================================ +" tenderplus +" Tender Plus Airline theme +" URL:https://github/com/jacoborus/tender.vim +" Author: Jacobo Tabernero http://jacoborus.codes +" License: MIT +" Last Change: 2020/04/24 16:58 +" ============================================================ + +let g:airline#themes#tenderplus#palette = {} + +let s:normal1 = [ "#b3deef", "#335261", 153, 239 ] +let s:normal2 = [ "#282828", "#73cef4", 235, 81 ] +let s:normal3 = [ "#44778d", "#b3deef", 66, 153 ] +let g:airline#themes#tenderplus#palette.normal = airline#themes#generate_color_map(s:normal1, s:normal2, s:normal3) + +let s:insert1 = [ "#c9d05c", "#464632", 185, 238 ] +let s:insert2 = [ "#282828", "#9faa00", 235, 142 ] +let s:insert3 = [ "#6a6b3f", "#c9d05c", 242, 185 ] +let g:airline#themes#tenderplus#palette.insert = airline#themes#generate_color_map(s:insert1, s:insert2, s:insert3) + +let s:replace1 = [ "#f43753", "#79313c", 203, 237 ] +let s:replace2 = [ "#282828", "#c5152f", 235, 160 ] +let s:replace3 = [ "#79313c", "#f43753", 237, 203 ] +let g:airline#themes#tenderplus#palette.replace = airline#themes#generate_color_map(s:replace1, s:replace2, s:replace3) + +let s:visual1 = [ "#d3b987", "#715b2f", 180, 58 ] +let s:visual2 = [ "#282828", "#ffc24b", 235, 215 ] +let s:visual3 = [ "#715b2f", "#d3b987", 58, 180 ] +let g:airline#themes#tenderplus#palette.visual = airline#themes#generate_color_map(s:visual1, s:visual2, s:visual3) + +let s:inactive1 = [ "#bbbbbb", "#444444", 250, 238 ] +let s:inactive2 = [ "#bbbbbb", "#666666", 250, 242 ] +let s:inactive3 = [ "#bbbbbb", "#666666", 250, 242 ] +let g:airline#themes#tenderplus#palette.inactive = airline#themes#generate_color_map(s:inactive1, s:inactive2, s:inactive3) + + +" =================================== +" Generated by Estilo 1.4.1 +" https://github.com/jacoborus/estilo +" =================================== diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/violet.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/violet.vim new file mode 100644 index 00000000..6c9101e6 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/airline/themes/violet.vim @@ -0,0 +1,32 @@ +" Normal mode " guifg guibg ctermfg ctermbg +let s:N1 = [ '#bcbcbc' , '#875faf' , 250 , 97 ] +let s:N2 = [ '#d75fd7' , '#4e4e4e' , 170 , 239 ] +let s:N3 = [ '#c6c6c6' , '#3a3a3a' , 251 , 237 ] + +" Insert mode +let s:I1 = [ '#CACFD2' , '#009966' , 253 , 35 ] +let s:I2 = [ '#d75fd7' , '#4e4e4e' , 170 , 239 ] +let s:I3 = [ '#c6c6c6' , '#3a3a3a' , 251 , 237 ] + +" Visual mode +let s:V1 = [ '#5f0000' , '#ff5faf' , 52 , 205 ] + +" Replace mode +let s:RE = [ '#c6c6c6' , '#ce537a' , 251, 168 ] + +let g:airline#themes#violet#palette = {} + +let g:airline#themes#violet#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let g:airline#themes#violet#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#violet#palette.insert_replace = { + \ 'airline_a': [ s:RE[0] , s:I1[1] , s:RE[1] , s:I1[3] , '' ] } + +let g:airline#themes#violet#palette.visual = { + \ 'airline_a': [ s:V1[0] , s:V1[1] , s:V1[2] , s:V1[3] , '' ] } + +let g:airline#themes#violet#palette.replace = copy(airline#themes#violet#palette.normal) +let g:airline#themes#violet#palette.replace.airline_a = [ s:RE[0] , s:RE[1] , s:RE[2] , s:RE[3] , '' ] + +let s:IA = [ s:N1[1] , s:N3[1] , s:N1[3] , s:N3[3] , '' ] +let g:airline#themes#violet#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/clap/themes/oceanicnext.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/clap/themes/oceanicnext.vim new file mode 100644 index 00000000..dae9a62a --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/clap/themes/oceanicnext.vim @@ -0,0 +1,70 @@ +let s:save_cpo = &cpoptions +set cpoptions&vim + +" {{{ Colors + let s:base00 = ['#1b2b34', '235'] + let s:base01 = ['#343d46', '237'] + let s:base02 = ['#4f5b66', '240'] + let s:base03 = ['#65737e', '243'] + let s:base04 = ['#a7adba', '145'] + let s:base05 = ['#c0c5ce', '251'] + let s:base06 = ['#cdd3de', '252'] + let s:base07 = ['#d8dee9', '253'] + let s:red = ['#ec5f67', '203'] + let s:orange = ['#f99157', '209'] + let s:yellow = ['#fac863', '221'] + let s:green = ['#99c794', '114'] + let s:cyan = ['#62b3b2', '73'] + let s:blue = ['#6699cc', '68'] + let s:purple = ['#c594c5', '176'] + let s:brown = ['#ab7967', '137'] + let s:white = ['#ffffff', '15'] +" }}} + +let s:palette = {} + +let s:palette.display = { + \ 'guibg': s:base01[0], + \ 'guifg': s:white[0], + \ 'ctermbg': s:base01[1], + \ 'ctermfg': s:white[1] + \ } + +" Let ClapInput, ClapSpinner and ClapSearchText use the same backgound. +let s:bg0 = { + \ 'guibg': s:base01[0] + \ } + +let s:palette.input = s:bg0 + +let s:palette.spinner = extend({ + \ 'guifg': s:blue[0], + \ 'gui': 'bold'}, + \ s:bg0 + \ ) + +let s:palette.search_text = extend({ + \ 'guifg': s:white[0], + \ 'gui': 'bold' }, + \ s:bg0 + \ ) + +let s:palette.preview = { + \ 'guibg': '#131C21' + \ } + +let s:palette.selected = { + \ 'guibg': s:base02[0], + \ 'gui': 'bold' + \ } +let s:palette.selected_sign = s:palette.selected +let s:palette.current_selection = { + \ 'guibg': s:base02[0], + \ 'gui': 'bold' + \ } +let s:palette.current_selection_sign = s:palette.current_selection + +let g:clap#themes#oceanicnext#palette = s:palette + +let &cpoptions = s:save_cpo +unlet s:save_cpo diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/gruvbox.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/gruvbox.vim new file mode 100644 index 00000000..44bec6e1 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/gruvbox.vim @@ -0,0 +1,41 @@ +" ----------------------------------------------------------------------------- +" File: gruvbox.vim +" Description: Retro groove color scheme for Vim +" Author: morhetz +" Source: https://github.com/morhetz/gruvbox +" Last Modified: 09 Apr 2014 +" ----------------------------------------------------------------------------- + +function! gruvbox#invert_signs_toggle() + if g:gruvbox_invert_signs == 0 + let g:gruvbox_invert_signs=1 + else + let g:gruvbox_invert_signs=0 + endif + + colorscheme gruvbox +endfunction + +" Search Highlighting {{{ + +function! gruvbox#hls_show() + set hlsearch + call GruvboxHlsShowCursor() +endfunction + +function! gruvbox#hls_hide() + set nohlsearch + call GruvboxHlsHideCursor() +endfunction + +function! gruvbox#hls_toggle() + if &hlsearch + call gruvbox#hls_hide() + else + call gruvbox#hls_show() + endif +endfunction + +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/README.md b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/README.md new file mode 100644 index 00000000..2f15292a --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/README.md @@ -0,0 +1,6 @@ +Lightline colorschemes +====================== + +These are the color schemes for the Lightline plugin which sets the status +line. The light and dark one are pretty much the same except the `baseX` and +`base0X` colors are each swapped. diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/carbonized_dark.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/carbonized_dark.vim new file mode 100644 index 00000000..a6704e40 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/carbonized_dark.vim @@ -0,0 +1,48 @@ +" ============================================================================= +" Filename: autoload/lightline/colorscheme/carbonized_dark.vim +" Author: parmort +" License: MIT License +" Last Change: 2018/05/07 05:28 PM (EST). +" ============================================================================= +let s:base03 = [ '#2b2b2b', 233 ] +let s:base02 = [ '#3b3b37', 236 ] +let s:base01 = [ '#75756e', 239 ] +let s:base00 = [ '#8a8a81', 242 ] +let s:base0 = [ '#9e9e95', 244 ] +let s:base1 = [ '#b5b5aa', 246 ] +let s:base2 = [ '#f0f0e1', 248 ] +let s:base3 = [ '#fffff0', 253 ] +let s:yellow = [ '#ab8e38', 215 ] +let s:orange = [ '#b56f45', 222 ] +let s:red = [ '#bf5858', 167 ] +let s:magenta = [ '#8b6a9e', 217 ] +let s:blue = [ '#557b9e', 103 ] +let s:cyan = [ '#458a8a', 110 ] +let s:green = [ '#508a50', 107 ] + +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}} +let s:p.normal.left = [ [ s:base02, s:blue ], [ s:base1, s:base02 ] ] +let s:p.normal.middle = [ [ s:base0, s:base02 ] ] +let s:p.normal.right = [ [ s:base02, s:blue ], [ s:base1, s:base02 ] ] +let s:p.normal.error = [ [ s:red, s:base02 ] ] +let s:p.normal.warning = [ [ s:yellow, s:base01 ] ] + +let s:p.insert.left = [ [ s:base02, s:green ], [ s:base1, s:base02 ] ] +let s:p.insert.right = [ [ s:base02, s:green ], [ s:base1, s:base02 ] ] + +let s:p.replace.left = [ [ s:base02, s:red ], [ s:base1, s:base02 ] ] +let s:p.replace.right = [ [ s:base02, s:red ], [ s:base1, s:base02 ] ] + +let s:p.visual.left = [ [ s:base02, s:magenta ], [ s:base2, s:base02 ] ] +let s:p.visual.right = [ [ s:base02, s:magenta ], [ s:base2, s:base02 ] ] + +let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base00, s:base02 ] ] +let s:p.inactive.middle = [ [ s:base00, s:base02 ] ] +let s:p.inactive.right = [ [ s:base02, s:base00 ], [ s:base0, s:base02 ] ] + +let s:p.tabline.left = [ [ s:base3, s:base02 ] ] +let s:p.tabline.middle = [ [ s:base01, s:base1 ] ] +let s:p.tabline.right = copy(s:p.normal.right) +let s:p.tabline.tabsel = [ [ s:base3, s:base02 ] ] + +let g:lightline#colorscheme#carbonized_dark#palette = lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/carbonized_light.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/carbonized_light.vim new file mode 100644 index 00000000..2909a09c --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/carbonized_light.vim @@ -0,0 +1,48 @@ +" ============================================================================= +" Filename: autoload/lightline/colorscheme/carbonized_light.vim +" Author: parmort +" License: MIT License +" Last Change: 2018/05/07 05:23 PM (EST). +" ============================================================================= +let s:base03 = [ '#2b2b2b', 233 ] +let s:base02 = [ '#3b3b37', 236 ] +let s:base01 = [ '#75756e', 239 ] +let s:base00 = [ '#8a8a81', 242 ] +let s:base0 = [ '#9e9e95', 244 ] +let s:base1 = [ '#b5b5aa', 246 ] +let s:base2 = [ '#efefe0', 248 ] +let s:base3 = [ '#fffff0', 253 ] +let s:yellow = [ '#d4ac35', 215 ] +let s:orange = [ '#e06a26', 222 ] +let s:red = [ '#f55050', 167 ] +let s:magenta = [ '#a26fbf', 217 ] +let s:blue = [ '#468dd4', 103 ] +let s:cyan = [ '#1b9e9e', 110 ] +let s:green = [ '#219e21', 107 ] + +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}} +let s:p.normal.left = [ [ s:base2, s:blue ], [ s:base01, s:base2 ] ] +let s:p.normal.middle = [ [ s:base01, s:base2 ] ] +let s:p.normal.right = [ [ s:base2, s:blue ], [ s:base01, s:base2 ] ] +let s:p.normal.error = [ [ s:red, s:base02 ] ] +let s:p.normal.warning = [ [ s:yellow, s:base01 ] ] + +let s:p.insert.left = [ [ s:base2, s:green ], [ s:base01, s:base2 ] ] +let s:p.insert.right = [ [ s:base2, s:green ], [ s:base01, s:base2 ] ] + +let s:p.replace.left = [ [ s:base2, s:red ], [ s:base01, s:base2 ] ] +let s:p.replace.right = [ [ s:base2, s:red ], [ s:base01, s:base2 ] ] + +let s:p.visual.left = [ [ s:base2, s:magenta ], [ s:base01, s:base2 ] ] +let s:p.visual.right = [ [ s:base2, s:magenta ], [ s:base01, s:base2 ] ] + +let s:p.inactive.left = [ [ s:base2, s:base0 ], [ s:base0, s:base2 ] ] +let s:p.inactive.middle = [ [ s:base0, s:base2 ] ] +let s:p.inactive.right = [ [ s:base2, s:base0 ], [ s:base0, s:base2 ] ] + +let s:p.tabline.left = [ [ s:base3, s:base02 ] ] +let s:p.tabline.middle = [ [ s:base01, s:base1 ] ] +let s:p.tabline.right = copy(s:p.normal.right) +let s:p.tabline.tabsel = [ [ s:base3, s:base02 ] ] + +let g:lightline#colorscheme#carbonized_light#palette = lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/deepspace.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/deepspace.vim new file mode 100644 index 00000000..27410836 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/deepspace.vim @@ -0,0 +1,48 @@ +" Deep Space - An intergalactically friendly color scheme for lightline +" Author: Paul Meffle +" License: MIT + +if(exists("g:lightline")) + " Color palette + let s:gray1 = '#1b202a' + let s:gray2 = '#232936' + let s:gray3 = '#323c4d' + let s:gray4 = '#51617d' + let s:gray5 = '#9aa7bd' + let s:red = '#b15e7c' + let s:green = '#709d6c' + let s:yellow = '#b5a262' + let s:blue = '#608cc3' + let s:purple = '#8f72bf' + let s:cyan = '#56adb7' + let s:orange = '#b3785d' + let s:pink = '#c47ebd' + + let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}} + + let s:p.normal.left = [ [ s:gray2, s:blue ], [ s:gray5, s:gray3 ] ] + let s:p.normal.right = [ [ s:gray2, s:blue ], [ s:gray5, s:gray3 ] ] + let s:p.normal.middle = [ [ s:gray4, s:gray2 ] ] + let s:p.normal.error = [ [ s:gray2, s:red ] ] + let s:p.normal.warning = [ [ s:gray2, s:yellow ] ] + + let s:p.insert.left = [ [ s:gray2, s:green ], [ s:gray5, s:gray3 ] ] + let s:p.insert.right = [ [ s:gray2, s:green ], [ s:gray5, s:gray3 ] ] + + let s:p.replace.left = [ [ s:gray2, s:red ], [ s:gray5, s:gray3 ] ] + let s:p.replace.right = [ [ s:gray2, s:red ], [ s:gray5, s:gray3 ] ] + + let s:p.visual.left = [ [ s:gray2, s:orange ], [ s:gray5, s:gray3 ] ] + let s:p.visual.right = [ [ s:gray2, s:orange ], [ s:gray5, s:gray3 ] ] + + let s:p.inactive.left = [ [ s:gray5, s:gray3 ], [ s:gray4, s:gray2 ] ] + let s:p.inactive.right = [ [ s:gray5, s:gray3 ], [ s:gray4, s:gray2 ] ] + let s:p.inactive.middle = [ [ s:gray4, s:gray2 ] ] + + let s:p.tabline.left = [ [ s:gray5, s:gray3 ] ] + let s:p.tabline.middle = [ [ s:gray4, s:gray2 ] ] + let s:p.tabline.right = [ [ s:gray2, s:blue ] ] + let s:p.tabline.tabsel = [ [ s:gray2, s:blue ] ] + + let g:lightline#colorscheme#deepspace#palette = lightline#colorscheme#fill(s:p) +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/dogrun.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/dogrun.vim new file mode 100644 index 00000000..e6752187 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/dogrun.vim @@ -0,0 +1,28 @@ +" dogrun lightline theme +" +" Author: wadackel +" License: MIT +" Copyright (c) 2020 wadackel + +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}} + +let s:p.normal.left = [[['#222433', 235], ['#929be5', 104]], [['#929be5', 104], ['#282a3a', 235]]] +let s:p.normal.middle = [[['#4b4e6d', 60], ['#282a3a', 235]]] +let s:p.normal.right = [[['#222433', 235], ['#929be5', 104]], [['#929be5', 104], ['#282a3a', 235]]] +let s:p.normal.error = [[['#dc6f79', 167], ['#282a3a', 235]]] +let s:p.normal.warning = [[['#ac8b83', 138], ['#282a3a', 235]]] +let s:p.inactive.left = [[['#4b4e6d', 60], ['#282a3a', 235]], [['#4b4e6d', 60], ['#282a3a', 235]]] +let s:p.inactive.middle = [[['#4b4e6d', 60], ['#282a3a', 235]]] +let s:p.inactive.right = [[['#4b4e6d', 60], ['#282a3a', 235]], [['#4b4e6d', 60], ['#282a3a', 235]]] +let s:p.insert.left = [[['#222433', 235], ['#73c1a9', 79]], [['#73c1a9', 79], ['#282a3a', 235]]] +let s:p.insert.right = [[['#222433', 235], ['#73c1a9', 79]], [['#73c1a9', 79], ['#282a3a', 235]]] +let s:p.visual.left = [[['#222433', 235], ['#b871b8', 133]], [['#b871b8', 133], ['#282a3a', 235]]] +let s:p.visual.right = [[['#222433', 235], ['#b871b8', 133]], [['#b871b8', 133], ['#282a3a', 235]]] +let s:p.replace.left = [[['#222433', 235], ['#dc6f7a', 167]], [['#dc6f7a', 167], ['#282a3a', 235]]] +let s:p.replace.right = [[['#222433', 235], ['#dc6f7a', 167]], [['#dc6f7a', 167], ['#282a3a', 235]]] +let s:p.tabline.left = [[['#4b4e6d', 60], ['#282a3a', 235]]] +let s:p.tabline.tabsel = [[['#222433', 235], ['#929be5', 104]]] +let s:p.tabline.middle = [[['#4b4e6d', 60], ['#282a3a', 235]]] +let s:p.tabline.right = [[['#4b4e6d', 60], ['#282a3a', 235]]] + +let g:lightline#colorscheme#dogrun#palette = lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/flattened_dark.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/flattened_dark.vim new file mode 100644 index 00000000..78598e03 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/flattened_dark.vim @@ -0,0 +1,46 @@ +if exists('g:lightline') + let s:p = { + \'normal':{}, + \'inactive':{}, + \'insert':{}, + \'replace':{}, + \'visual':{}, + \'tabline':{} + \} + + let s:base00 = ['#657b83', '11'] + let s:base01 = ['#586e75', '10'] + let s:base02 = ['#073642', '0'] + let s:base03 = ['#002b36', '8'] + let s:base0 = ['#839496', '12'] + let s:base1 = ['#93a1a1', '14'] + let s:base2 = ['#eee8d5', '7'] + let s:base3 = ['#fdf6e3', '15'] + let s:red = ['#dc322f', '1'] + let s:green = ['#859900', '2'] + let s:blue = ['#268bd2', '4'] + let s:cyan = ['#2aa198', '6'] + let s:magenta = ['#d33682', '5'] + let s:yellow = ['#b58900', '3'] + let s:orange = ['#cb4b16', '9'] + let s:violet = ['#6c71c4', '13'] + + let s:p.normal.left = [[s:base03, s:blue ], [s:base03, s:base00]] + let s:p.normal.right = [[s:base03, s:base1 ], [s:base03, s:base00]] + let s:p.normal.middle = [[s:base1 , s:base02 ]] + let s:p.inactive.left = [[s:base0 , s:base02 ], [s:base0, s:base02 ]] + let s:p.inactive.right = [[s:base03, s:base00 ], [s:base0, s:base02 ]] + let s:p.inactive.middle = [[s:base01, s:base02 ]] + let s:p.insert.left = [[s:base03, s:green ], [s:base03, s:base00]] + let s:p.replace.left = [[s:base03, s:red ], [s:base03, s:base00]] + let s:p.visual.left = [[s:base03, s:magenta], [s:base03, s:base00]] + let s:p.tabline.left = [[ s:base03, s:base00]] + let s:p.tabline.right = copy(s:p.normal.right) + let s:p.tabline.middle = [[ s:base0 , s:base02]] + let s:p.tabline.tabsel = [[ s:base03, s:base1 ]] + let s:p.normal.error = [[ s:base03, s:red ]] + let s:p.normal.warning = [[ s:base03, s:yellow]] + + + let g:lightline#colorscheme#flattened_dark#palette = lightline#colorscheme#flatten(s:p) +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/flattened_light.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/flattened_light.vim new file mode 100644 index 00000000..1bb7111a --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/flattened_light.vim @@ -0,0 +1,45 @@ +if exists('g:lightline') + let s:p = { + \'normal':{}, + \'inactive':{}, + \'insert':{}, + \'replace':{}, + \'visual':{}, + \'tabline':{} + \} + + let s:base00 = ['#839496', '12'] + let s:base01 = ['#93a1a1', '14'] + let s:base02 = ['#eee8d5', '7'] + let s:base03 = ['#fdf6e3', '15'] + let s:base0 = ['#657b83', '11'] + let s:base1 = ['#586e75', '10'] + let s:base2 = ['#073642', '0'] + let s:base3 = ['#002b36', '8'] + let s:red = ['#dc322f', '1'] + let s:green = ['#859900', '2'] + let s:blue = ['#268bd2', '4'] + let s:cyan = ['#2aa198', '6'] + let s:magenta = ['#d33682', '5'] + let s:yellow = ['#b58900', '3'] + let s:orange = ['#cb4b16', '9'] + let s:violet = ['#6c71c4', '13'] + + let s:p.normal.left = [[s:base03, s:blue ], [s:base03, s:base00]] + let s:p.normal.right = [[s:base03, s:base1 ], [s:base03, s:base00]] + let s:p.normal.middle = [[s:base1 , s:base02 ]] + let s:p.inactive.left = [[s:base0 , s:base02 ], [s:base0, s:base02 ]] + let s:p.inactive.right = [[s:base03, s:base00 ], [s:base0, s:base02 ]] + let s:p.inactive.middle = [[s:base01, s:base02 ]] + let s:p.insert.left = [[s:base03, s:green ], [s:base03, s:base00]] + let s:p.replace.left = [[s:base03, s:red ], [s:base03, s:base00]] + let s:p.visual.left = [[s:base03, s:magenta], [s:base03, s:base00]] + let s:p.tabline.left = [[ s:base03, s:base00]] + let s:p.tabline.right = copy(s:p.normal.right) + let s:p.tabline.middle = [[ s:base0 , s:base02]] + let s:p.tabline.tabsel = [[ s:base03, s:base1 ]] + let s:p.normal.error = [[ s:base03, s:red ]] + let s:p.normal.warning = [[ s:base03, s:yellow]] + + let g:lightline#colorscheme#flattened_light#palette = lightline#colorscheme#flatten(s:p) +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/gotham.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/gotham.vim new file mode 100644 index 00000000..ceed8ffb --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/gotham.vim @@ -0,0 +1,37 @@ +let s:base03 = [ '#0c1014', '0' ] +let s:base02 = [ '#11151c', '8' ] +let s:base01 = [ '#091f2e', '10' ] +let s:base00 = [ '#0a3749', '12' ] +let s:base0 = [ '#1e6479', '11' ] +let s:base1 = [ '#599cab', '14' ] +let s:base2 = [ '#99d1ce', '7' ] +let s:base3 = [ '#d3ebe9', '15' ] + +let s:red = [ '#c23127', '1' ] +let s:orange = [ '#d26937', '9' ] +let s:yellow = [ '#edb443', '3' ] +let s:magenta = [ '#888ca6', '13' ] +let s:violet = [ '#4e5166', '5' ] +let s:blue = [ '#195466', '4' ] +let s:cyan = [ '#33859e', '6' ] +let s:green = [ '#2aa889', '2' ] + +let s:p = { 'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {} } + +let s:p.normal.left = [ [ s:base3, s:blue ], [ s:base1, s:base01 ] ] +let s:p.normal.right = [ [ s:base3, s:blue ], [ s:base1, s:base01 ] ] +let s:p.inactive.left = [ [ s:blue, s:base02 ], [ s:blue, s:base02 ] ] +let s:p.inactive.right = [ [ s:blue, s:base01 ], [ s:blue, s:base02 ] ] +let s:p.insert.left = [ [ s:base3, s:green ], [ s:base1, s:base01 ] ] +let s:p.replace.left = [ [ s:base3, s:red ], [ s:base1, s:base01 ] ] +let s:p.visual.left = [ [ s:base3, s:violet ], [ s:base1, s:base01 ] ] +let s:p.normal.middle = [ [ s:base1, s:base02 ] ] +let s:p.inactive.middle = [ [ s:blue, s:base02 ] ] +let s:p.tabline.left = [ [ s:base1, s:base01 ] ] +let s:p.tabline.tabsel = [ [ s:base3, s:blue ] ] +let s:p.tabline.middle = [ [ s:base1, s:base02 ] ] +let s:p.tabline.right = [ [ s:base1, s:base01 ] ] +let s:p.normal.error = [ [ s:base3, s:red ] ] +let s:p.normal.warning = [ [ s:base3, s:orange ] ] + +let g:lightline#colorscheme#gotham#palette = lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/gotham256.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/gotham256.vim new file mode 100644 index 00000000..97d37084 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/gotham256.vim @@ -0,0 +1,37 @@ +let s:base03 = [ '#0c1014', '232' ] +let s:base02 = [ '#11151c', '233' ] +let s:base01 = [ '#091f2e', '17' ] +let s:base00 = [ '#0a3749', '18' ] +let s:base0 = [ '#1e6479', '31' ] +let s:base1 = [ '#599cab', '81' ] +let s:base2 = [ '#99d1ce', '122' ] +let s:base3 = [ '#d3ebe9', '194' ] + +let s:red = [ '#c23127', '124' ] +let s:orange = [ '#d26937', '166' ] +let s:yellow = [ '#edb443', '214' ] +let s:magenta = [ '#888ca6', '67' ] +let s:violet = [ '#4e5166', '60' ] +let s:blue = [ '#195466', '24' ] +let s:cyan = [ '#33859E', '44' ] +let s:green = [ '#2aa889', '78' ] + +let s:p = { 'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {} } + +let s:p.normal.left = [ [ s:base3, s:blue ], [ s:base1, s:base01 ] ] +let s:p.normal.right = [ [ s:base3, s:blue ], [ s:base1, s:base01 ] ] +let s:p.inactive.left = [ [ s:blue, s:base02 ], [ s:blue, s:base02 ] ] +let s:p.inactive.right = [ [ s:blue, s:base01 ], [ s:blue, s:base02 ] ] +let s:p.insert.left = [ [ s:base3, s:green ], [ s:base1, s:base01 ] ] +let s:p.replace.left = [ [ s:base3, s:red ], [ s:base1, s:base01 ] ] +let s:p.visual.left = [ [ s:base3, s:violet ], [ s:base1, s:base01 ] ] +let s:p.normal.middle = [ [ s:base1, s:base02 ] ] +let s:p.inactive.middle = [ [ s:blue, s:base02 ] ] +let s:p.tabline.left = [ [ s:base1, s:base01 ] ] +let s:p.tabline.tabsel = [ [ s:base3, s:blue ] ] +let s:p.tabline.middle = [ [ s:base1, s:base02 ] ] +let s:p.tabline.right = [ [ s:base1, s:base01 ] ] +let s:p.normal.error = [ [ s:base3, s:red ] ] +let s:p.normal.warning = [ [ s:base3, s:orange ] ] + +let g:lightline#colorscheme#gotham256#palette = lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/mountaineer.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/mountaineer.vim new file mode 100644 index 00000000..36923920 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/mountaineer.vim @@ -0,0 +1,40 @@ +" ============================================================================= +" Filename: autoload/lightline/colorscheme/mountaineer.vim +" Author: nuaNce +" License: MIT License +" Last Change: 2013/09/07 12:21:04. +" ============================================================================= +let s:base03 = [ '#f0f0f0', 233 ] +let s:base02 = [ '#050505', 236 ] +let s:base01 = [ '#050505', 239 ] +let s:base00 = [ '#666656', 242 ] +let s:base0 = [ '#808070', 244 ] +let s:base1 = [ '#050505', 246 ] +let s:base2 = [ '#a8a897', 248 ] +let s:base3 = [ '#ebc7bc', 253 ] +let s:yellow = [ '#0f0f0f', 215 ] +let s:orange = [ '#0f0f0f', 222 ] +let s:red = [ '#0f0f0f', 167 ] +let s:magenta = [ '#0f0f0f', 217 ] +let s:blue = [ '#0f0f0f', 103 ] +let s:cyan = [ '#0f0f0f', 110 ] +let s:green = [ '#0f0f0f', 107 ] + +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}} +let s:p.normal.left = [ [ s:base03, s:blue ], [ s:base3, s:base01 ] ] +let s:p.normal.right = [ [ s:base03, s:green ], [ s:base2, s:base01 ] ] +let s:p.inactive.right = [ [ s:base03, s:base00 ], [ s:base0, s:base02 ] ] +let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base00, s:base02 ] ] +let s:p.insert.left = [ [ s:base03, s:green ], [ s:base3, s:base01 ] ] +let s:p.replace.left = [ [ s:base03, s:red ], [ s:base3, s:base01 ] ] +let s:p.visual.left = [ [ s:base03, s:magenta ], [ s:base3, s:base01 ] ] +let s:p.normal.middle = [ [ s:base0, s:base02 ] ] +let s:p.inactive.middle = [ [ s:base00, s:base02 ] ] +let s:p.tabline.left = copy(s:p.normal.middle) +let s:p.tabline.tabsel = [ [ s:base3, s:base00 ] ] +let s:p.tabline.middle = copy(s:p.normal.middle) +let s:p.tabline.right = [ [ s:base03, s:green ] ] +let s:p.normal.error = [ [ s:red, s:base02 ] ] +let s:p.normal.warning = [ [ s:yellow, s:base01 ] ] + +let g:lightline#colorscheme#mountaineer#palette = lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/mountaineer_grey.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/mountaineer_grey.vim new file mode 100644 index 00000000..57361b07 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/mountaineer_grey.vim @@ -0,0 +1,40 @@ +" ============================================================================= +" Filename: autoload/lightline/colorscheme/mountaineer.vim +" Author: nuaNce +" License: MIT License +" Last Change: 2013/09/07 12:21:04. +" ============================================================================= +let s:base03 = [ '#f0f0f0', 233 ] +let s:base02 = [ '#232323', 236 ] +let s:base01 = [ '#232323', 239 ] +let s:base00 = [ '#666656', 242 ] +let s:base0 = [ '#808070', 244 ] +let s:base1 = [ '#232323', 246 ] +let s:base2 = [ '#a8a897', 248 ] +let s:base3 = [ '#ac8a8c', 253 ] +let s:yellow = [ '#3d3d3d', 215 ] +let s:orange = [ '#3d3d3d', 222 ] +let s:red = [ '#3d3d3d', 167 ] +let s:magenta = [ '#3d3d3d', 217 ] +let s:blue = [ '#3d3d3d', 103 ] +let s:cyan = [ '#3d3d3d', 110 ] +let s:green = [ '#3d3d3d', 107 ] + +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}} +let s:p.normal.left = [ [ s:base03, s:blue ], [ s:base3, s:base01 ] ] +let s:p.normal.right = [ [ s:base03, s:green ], [ s:base2, s:base01 ] ] +let s:p.inactive.right = [ [ s:base03, s:base00 ], [ s:base0, s:base02 ] ] +let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base00, s:base02 ] ] +let s:p.insert.left = [ [ s:base03, s:green ], [ s:base3, s:base01 ] ] +let s:p.replace.left = [ [ s:base03, s:red ], [ s:base3, s:base01 ] ] +let s:p.visual.left = [ [ s:base03, s:magenta ], [ s:base3, s:base01 ] ] +let s:p.normal.middle = [ [ s:base0, s:base02 ] ] +let s:p.inactive.middle = [ [ s:base00, s:base02 ] ] +let s:p.tabline.left = copy(s:p.normal.middle) +let s:p.tabline.tabsel = [ [ s:base3, s:base00 ] ] +let s:p.tabline.middle = copy(s:p.normal.middle) +let s:p.tabline.right = [ [ s:base03, s:green ] ] +let s:p.normal.error = [ [ s:red, s:base02 ] ] +let s:p.normal.warning = [ [ s:yellow, s:base01 ] ] + +let g:lightline#colorscheme#mountaineer_grey#palette = lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/mountaineer_light.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/mountaineer_light.vim new file mode 100644 index 00000000..9a29b18f --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/mountaineer_light.vim @@ -0,0 +1,40 @@ +" ============================================================================= +" Filename: autoload/lightline/colorscheme/mountaineer.vim +" Author: nuaNce +" License: MIT License +" Last Change: 2013/09/07 12:21:04. +" ============================================================================= +let s:base03 = [ '#050505', 233 ] +let s:base02 = [ '#f0f0f0', 236 ] +let s:base01 = [ '#f0f0f0', 239 ] +let s:base00 = [ '#666656', 242 ] +let s:base0 = [ '#808070', 244 ] +let s:base1 = [ '#f0f0f0', 246 ] +let s:base2 = [ '#a8a897', 248 ] +let s:base3 = [ '#ebc7bc', 253 ] +let s:yellow = [ '#d3d3d3', 215 ] +let s:orange = [ '#d3d3d3', 222 ] +let s:red = [ '#d3d3d3', 167 ] +let s:magenta = [ '#d3d3d3', 217 ] +let s:blue = [ '#d3d3d3', 103 ] +let s:cyan = [ '#d3d3d3', 110 ] +let s:green = [ '#d3d3d3', 107 ] + +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}} +let s:p.normal.left = [ [ s:base03, s:blue ], [ s:base3, s:base01 ] ] +let s:p.normal.right = [ [ s:base03, s:green ], [ s:base2, s:base01 ] ] +let s:p.inactive.right = [ [ s:base03, s:base00 ], [ s:base0, s:base02 ] ] +let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base00, s:base02 ] ] +let s:p.insert.left = [ [ s:base03, s:green ], [ s:base3, s:base01 ] ] +let s:p.replace.left = [ [ s:base03, s:red ], [ s:base3, s:base01 ] ] +let s:p.visual.left = [ [ s:base03, s:magenta ], [ s:base3, s:base01 ] ] +let s:p.normal.middle = [ [ s:base0, s:base02 ] ] +let s:p.inactive.middle = [ [ s:base00, s:base02 ] ] +let s:p.tabline.left = copy(s:p.normal.middle) +let s:p.tabline.tabsel = [ [ s:base3, s:base00 ] ] +let s:p.tabline.middle = copy(s:p.normal.middle) +let s:p.tabline.right = [ [ s:base03, s:green ] ] +let s:p.normal.error = [ [ s:red, s:base02 ] ] +let s:p.normal.warning = [ [ s:yellow, s:base01 ] ] + +let g:lightline#colorscheme#mountaineer_light#palette = lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/nord.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/nord.vim new file mode 100755 index 00000000..5138a943 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/nord.vim @@ -0,0 +1,47 @@ +" Copyright (C) 2016-present Arctic Ice Studio +" Copyright (C) 2016-present Sven Greb + +" Project: Nord Vim +" Repository: https://github.com/arcticicestudio/nord-vim +" License: MIT + +let s:nord_vim_version="0.18.0" +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}} + +let s:nord0 = ["#2E3440", "NONE"] +let s:nord1 = ["#3B4252", 0] +let s:nord2 = ["#434C5E", "NONE"] +let s:nord3 = ["#4C566A", 8] +let s:nord4 = ["#D8DEE9", "NONE"] +let s:nord5 = ["#E5E9F0", 7] +let s:nord6 = ["#ECEFF4", 15] +let s:nord7 = ["#8FBCBB", 14] +let s:nord8 = ["#88C0D0", 6] +let s:nord9 = ["#81A1C1", 4] +let s:nord10 = ["#5E81AC", 12] +let s:nord11 = ["#BF616A", 1] +let s:nord12 = ["#D08770", 11] +let s:nord13 = ["#EBCB8B", 3] +let s:nord14 = ["#A3BE8C", 2] +let s:nord15 = ["#B48EAD", 5] + +let s:p.normal.left = [ [ s:nord1, s:nord8 ], [ s:nord5, s:nord1 ] ] +let s:p.normal.middle = [ [ s:nord5, s:nord3 ] ] +let s:p.normal.right = [ [ s:nord5, s:nord1 ], [ s:nord5, s:nord1 ] ] +let s:p.normal.warning = [ [ s:nord1, s:nord13 ] ] +let s:p.normal.error = [ [ s:nord1, s:nord11 ] ] + +let s:p.inactive.left = [ [ s:nord1, s:nord8 ], [ s:nord5, s:nord1 ] ] +let s:p.inactive.middle = g:nord_uniform_status_lines == 0 ? [ [ s:nord5, s:nord1 ] ] : [ [ s:nord5, s:nord3 ] ] +let s:p.inactive.right = [ [ s:nord5, s:nord1 ], [ s:nord5, s:nord1 ] ] + +let s:p.insert.left = [ [ s:nord1, s:nord6 ], [ s:nord5, s:nord1 ] ] +let s:p.replace.left = [ [ s:nord1, s:nord13 ], [ s:nord5, s:nord1 ] ] +let s:p.visual.left = [ [ s:nord1, s:nord7 ], [ s:nord5, s:nord1 ] ] + +let s:p.tabline.left = [ [ s:nord5, s:nord3 ] ] +let s:p.tabline.middle = [ [ s:nord5, s:nord3 ] ] +let s:p.tabline.right = [ [ s:nord5, s:nord3 ] ] +let s:p.tabline.tabsel = [ [ s:nord1, s:nord8 ] ] + +let g:lightline#colorscheme#nord#palette = lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/oceanicnext.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/oceanicnext.vim new file mode 100644 index 00000000..2c63393f --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/oceanicnext.vim @@ -0,0 +1,35 @@ +" ============================================================ +" oceanicnext +" Author: Mike Hartington +" ============================================================ + +let s:p = {"normal": {}, "inactive": {}, "insert": {}, "replace": {}, "visual": {}, "tabline": {} } + +let s:p.normal.left = [[["#ffffff", 15], ["#6699cc", 68]], [["#ffffff", 15], ["#65737e", 243]]] +let s:p.normal.middle = [[["#ffffff", 15], ["#343d46", 237]]] +let s:p.normal.right = [[["#ffffff", 15], ["#65737e", 243]], [["#ffffff", 15], ["#65737e", 243]]] +let s:p.normal.error = [[["#ffffff", 15], ["#ec5f67", 203]]] +let s:p.normal.warning = [[["#ffffff", 15], ["#fac863", 221]]] + +let s:p.inactive.left = [[["#d8dee9", 253], ["#65737e", 243]], [["#d8dee9", 253], ["#343d46", 237]]] +let s:p.inactive.middle = [[["#65737e", 243], ["#343d46", 237]]] +let s:p.inactive.right = [[["#d8dee9", 253], ["#343d46", 237]], [["#d8dee9", 253], ["#65737e", 243]]] + +let s:p.insert.left = [[["#ffffff", 15], ["#99c794", 114]], [["#ffffff", 15], ["#65737e", 243]]] +let s:p.insert.middle = [[["#ffffff", 15], ["#343d46", 237]]] +let s:p.insert.right = [[["#ffffff", 15], ["#65737e", 243]], [["#ffffff", 15], ["#99c794", 114]]] + +let s:p.replace.left = [[["#ffffff", 15], ["#ec5f67", 203]], [["#ffffff", 15], ["#65737e", 243]]] +let s:p.replace.middle = [[["#ffffff", 15], ["#343d46", 237]]] +let s:p.replace.right = [[["#ffffff", 15], ["#65737e", 243]], [["#ffffff", 15], ["#ec5f67", 203]]] + +let s:p.visual.left = [[["#ffffff", 15], ["#f99157", 209]], [["#ffffff", 15], ["#65737e", 243]]] +let s:p.visual.middle = [[["#ffffff", 15], ["#343d46", 237]]] +let s:p.visual.right = [[["#ffffff", 15], ["#65737e", 243]], [["#ffffff", 15], ["#f99157", 209]]] + +let s:p.tabline.left = [[["#65737e", 243], ["#343d46", 237]]] +let s:p.tabline.tabsel = [[["#ffffff", 15], ["#65737e", 243]]] +let s:p.tabline.middle = [[["#65737e", 243], ["#343d46", 237]]] +let s:p.tabline.right = [[["#65737e", 243], ["#343d46", 237]]] + +let g:lightline#colorscheme#oceanicnext#palette = lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/onehalfdark.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/onehalfdark.vim new file mode 100644 index 00000000..d0e49b5a --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/onehalfdark.vim @@ -0,0 +1,50 @@ +" ============================================================================= +" Filename: autoload/lightline/colorscheme/onehalfdark.vim +" Author: sonph +" License: MIT License +" Last Change: 2019/12/01 +" ============================================================================= + +let s:mono0 = [ '#282c34', 236 ] +let s:mono1 = [ '#313640', 238 ] +let s:mono2 = [ '#5d677a', 243 ] +let s:mono3 = [ '#dcdfe4', 255 ] + +let s:yellow = [ '#e5c07b', 180 ] +let s:red = [ '#e06c75', 168 ] +let s:magenta = [ '#c678dd', 176 ] +let s:blue = [ '#61afef', 75 ] +let s:cyan = [ '#56b6c2', 73 ] +let s:green = [ '#98c379', 114 ] + +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}} + +let s:p.normal.left = [ [ s:mono0, s:green ], [ s:mono3, s:mono2 ] ] +let s:p.normal.middle = [ [ s:green, s:mono1 ] ] +let s:p.normal.right = [ [ s:mono0, s:green ], [ s:mono3, s:mono2 ] ] + +let s:p.normal.error = [ [ s:mono0, s:red ] ] +let s:p.normal.warning = [ [ s:mono0, s:yellow ] ] + +let s:p.inactive.left = [ [ s:mono3, s:mono2 ], [ s:mono3, s:mono2 ] ] +let s:p.inactive.middle = [ [ s:mono3, s:mono1 ] ] +let s:p.inactive.right = [ [ s:mono0, s:mono3 ], [ s:mono3, s:mono2 ] ] + +let s:p.insert.left = [ [ s:mono0, s:blue ], [ s:mono3, s:mono2 ] ] +let s:p.insert.middle = [ [ s:blue, s:mono1 ] ] +let s:p.insert.right = [ [ s:mono0, s:blue ], [ s:mono3, s:mono2 ] ] + +let s:p.replace.left = [ [ s:mono0, s:red ], [ s:mono3, s:mono2 ] ] +let s:p.replace.middle = [ [ s:red, s:mono1 ] ] +let s:p.replace.right = [ [ s:mono0, s:red ], [ s:mono3, s:mono2 ] ] + +let s:p.visual.left = [ [ s:mono0, s:yellow ], [ s:mono3, s:mono2 ] ] +let s:p.visual.middle = [ [ s:yellow, s:mono1 ] ] +let s:p.visual.right = [ [ s:mono0, s:yellow ], [ s:mono3, s:mono2 ] ] + +let s:p.tabline.left = [ [ s:mono2, s:mono1] ] +let s:p.tabline.tabsel = [ [ s:mono3, s:mono2 ] ] +let s:p.tabline.middle = [ [ s:mono2, s:mono1] ] +let s:p.tabline.right = [ [ s:mono0, s:mono3 ] ] + +let g:lightline#colorscheme#onehalfdark#palette = lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/snow_dark.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/snow_dark.vim new file mode 100644 index 00000000..9e8c5d2c --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/snow_dark.vim @@ -0,0 +1,37 @@ +let s:gry0 = [ "#2c2d30", 236 ] +let s:gry1 = [ "#363a3e", 237 ] +let s:gry3 = [ "#afb7c0", 249 ] +let s:red_ = [ "#be868c", 138 ] +let s:mgnt = [ "#a88cb3", 139 ] +let s:gren = [ "#7f9d77", 108 ] +let s:blue = [ "#759abd", 110 ] + +let s:p = { "normal" : {} , "inactive": {} , "insert" : {} , + \ "replace": {} , "visual" : {} , "tabline" : {} } + +let s:p.normal.left = [[ s:gry0, s:gry3 ], [ s:gry3, s:gry1 ]] +let s:p.normal.middle = [[ s:gry3, s:gry1 ]] +let s:p.normal.right = [[ s:gry0, s:gry3 ], [ s:gry0, s:gry3 ]] + +let s:p.inactive.left = copy(s:p.normal.middle) +let s:p.inactive.middle = copy(s:p.normal.middle) +let s:p.inactive.right = copy(s:p.normal.middle) + +let s:p.insert.left = [[ s:gry0, s:gren ]] +let s:p.insert.right = [[ s:gry0, s:gren ], [ s:gry0, s:gren ]] + +let s:p.visual.left = [[ s:gry0, s:blue ]] +let s:p.visual.right = [[ s:gry0, s:blue ], [ s:gry0, s:blue ]] + +let s:p.replace.left = [[ s:gry0, s:red_ ]] +let s:p.replace.right = [[ s:gry0, s:red_ ], [ s:gry0, s:red_ ]] + +let s:p.tabline.left = copy(s:p.normal.middle) +let s:p.tabline.tabsel = [[ s:gry0, s:gren ]] +let s:p.tabline.right = copy(s:p.normal.middle) + +let s:p.normal.error = [[ s:red_, s:gry0 ]] +let s:p.normal.warning = [[ s:mgnt, s:gry0 ]] + +let g:lightline#colorscheme#snow_dark#palette = + \ lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/snow_light.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/snow_light.vim new file mode 100644 index 00000000..4e89dced --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/snow_light.vim @@ -0,0 +1,37 @@ +let s:gry0 = [ "#fbffff", 231 ] +let s:gry1 = [ "#e5ebf1", 255 ] +let s:gry3 = [ "#535c65", 240 ] +let s:red_ = [ "#ae5865", 131 ] +let s:mgnt = [ "#8f63a2", 97 ] +let s:gren = [ "#4d7f43", 65 ] +let s:blue = [ "#2b7ab2", 32 ] + +let s:p = { "normal" : {} , "inactive": {} , "insert" : {} , + \ "replace": {} , "visual" : {} , "tabline" : {} } + +let s:p.normal.left = [[ s:gry0, s:gry3 ], [ s:gry3, s:gry1 ]] +let s:p.normal.middle = [[ s:gry3, s:gry1 ]] +let s:p.normal.right = [[ s:gry0, s:gry3 ], [ s:gry0, s:gry3 ]] + +let s:p.inactive.left = copy(s:p.normal.middle) +let s:p.inactive.middle = copy(s:p.normal.middle) +let s:p.inactive.right = copy(s:p.normal.middle) + +let s:p.insert.left = [[ s:gry0, s:gren ]] +let s:p.insert.right = [[ s:gry0, s:gren ], [ s:gry0, s:gren ]] + +let s:p.visual.left = [[ s:gry0, s:blue ]] +let s:p.visual.right = [[ s:gry0, s:blue ], [ s:gry0, s:blue ]] + +let s:p.replace.left = [[ s:gry0, s:red_ ]] +let s:p.replace.right = [[ s:gry0, s:red_ ], [ s:gry0, s:red_ ]] + +let s:p.tabline.left = copy(s:p.normal.middle) +let s:p.tabline.tabsel = [[ s:gry0, s:gren ]] +let s:p.tabline.right = copy(s:p.normal.middle) + +let s:p.normal.error = [[ s:red_, s:gry0 ]] +let s:p.normal.warning = [[ s:mgnt, s:gry0 ]] + +let g:lightline#colorscheme#snow_light#palette = + \ lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/stellarized_dark.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/stellarized_dark.vim new file mode 100644 index 00000000..a43e9a80 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/stellarized_dark.vim @@ -0,0 +1,38 @@ +let s:gry0 = [ "#222532", 235 ] +let s:gry1 = [ "#2d3243", 236 ] +let s:gry3 = [ "#bead9d", 145 ] +let s:red_ = [ "#ca7375", 174 ] +let s:mgnt = [ "#b178b5", 139 ] +let s:gren = [ "#5c9a61", 71 ] +let s:blue = [ "#578fcc", 32 ] + +let s:p = { "normal" : {} , "inactive": {} , "insert" : {} , + \ "replace": {} , "visual" : {} , "tabline" : {} } + +let s:p.normal.left = [[ s:gry0, s:gry3 ], [ s:gry3, s:gry1 ]] +let s:p.normal.middle = [[ s:gry3, s:gry1 ]] +let s:p.normal.right = [[ s:gry0, s:gry3 ], [ s:gry0, s:gry3 ]] + +let s:p.inactive.left = copy(s:p.normal.middle) +let s:p.inactive.middle = copy(s:p.normal.middle) +let s:p.inactive.right = copy(s:p.normal.middle) + +let s:p.insert.left = [[ s:gry0, s:gren ]] +let s:p.insert.right = [[ s:gry0, s:gren ], [ s:gry0, s:gren ]] + +let s:p.visual.left = [[ s:gry0, s:blue ]] +let s:p.visual.right = [[ s:gry0, s:blue ], [ s:gry0, s:blue ]] + +let s:p.replace.left = [[ s:gry0, s:red_ ]] +let s:p.replace.right = [[ s:gry0, s:red_ ], [ s:gry0, s:red_ ]] + +let s:p.tabline.left = copy(s:p.normal.middle) +let s:p.tabline.tabsel = [[ s:gry0, s:gren ]] +let s:p.tabline.right = copy(s:p.normal.middle) + +let s:p.normal.error = [[ s:red_, s:gry0 ]] +let s:p.normal.warning = [[ s:mgnt, s:gry0 ]] + +let g:lightline#colorscheme#stellarized_dark#palette = + \ lightline#colorscheme#flatten(s:p) + diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/stellarized_light.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/stellarized_light.vim new file mode 100644 index 00000000..9cb7df33 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/stellarized_light.vim @@ -0,0 +1,38 @@ +let s:gry0 = [ "#fceee0", 255 ] +let s:gry1 = [ "#ecdac9", 223 ] +let s:gry3 = [ "#4a5067", 60 ] +let s:red_ = [ "#c6394c", 161 ] +let s:mgnt = [ "#a348ae", 133 ] +let s:gren = [ "#007f25", 28 ] +let s:blue = [ "#006dcc", 25 ] + +let s:p = { "normal" : {} , "inactive": {} , "insert" : {} , + \ "replace": {} , "visual" : {} , "tabline" : {} } + +let s:p.normal.left = [[ s:gry0, s:gry3 ], [ s:gry3, s:gry1 ]] +let s:p.normal.middle = [[ s:gry3, s:gry1 ]] +let s:p.normal.right = [[ s:gry0, s:gry3 ], [ s:gry0, s:gry3 ]] + +let s:p.inactive.left = copy(s:p.normal.middle) +let s:p.inactive.middle = copy(s:p.normal.middle) +let s:p.inactive.right = copy(s:p.normal.middle) + +let s:p.insert.left = [[ s:gry0, s:gren ]] +let s:p.insert.right = [[ s:gry0, s:gren ], [ s:gry0, s:gren ]] + +let s:p.visual.left = [[ s:gry0, s:blue ]] +let s:p.visual.right = [[ s:gry0, s:blue ], [ s:gry0, s:blue ]] + +let s:p.replace.left = [[ s:gry0, s:red_ ]] +let s:p.replace.right = [[ s:gry0, s:red_ ], [ s:gry0, s:red_ ]] + +let s:p.tabline.left = copy(s:p.normal.middle) +let s:p.tabline.tabsel = [[ s:gry0, s:gren ]] +let s:p.tabline.right = copy(s:p.normal.middle) + +let s:p.normal.error = [[ s:red_, s:gry0 ]] +let s:p.normal.warning = [[ s:mgnt, s:gry0 ]] + +let g:lightline#colorscheme#stellarized_light#palette = + \ lightline#colorscheme#flatten(s:p) + diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/twofirewatch.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/twofirewatch.vim new file mode 100644 index 00000000..55877c9b --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/colorscheme/twofirewatch.vim @@ -0,0 +1,37 @@ +if exists('g:lightline') + + let s:bg = '#282c34' + let s:fg = '#abb2bf' + let s:gray1 = '#3e4452' + let s:gray2 = '#2c323c' + let s:gray3 = '#55606d' + let s:green = '#43d08a' + let s:red = '#e05252' + let s:red2 = '#e06c75' + let s:orange = '#c8ae9d' + + let s:p = {'normal':{}, 'inactive':{}, 'insert':{}, 'replace':{}, 'visual':{}, 'tabline':{}} + let s:p.normal.left = [ [ s:bg, s:green, 'bold' ], [ s:fg, s:gray1 ] ] + let s:p.normal.right = [ [s:bg, s:green ], [ s:fg, s:gray1 ] ] + let s:p.normal.middle = [ [ s:fg, s:gray2 ] ] + let s:p.inactive.right = [ [ s:gray3, s:gray2 ], [ s:gray3, s:gray2 ] ] + let s:p.inactive.left = [ [ s:gray3, s:gray2 ], [ s:gray3, s:gray2 ] ] + let s:p.inactive.middle = [ [ s:gray3, s:gray2 ] ] + let s:p.insert.left = [ [ s:bg, s:fg, 'bold' ], [ s:fg, s:gray3 ] ] + let s:p.insert.right = [ [ s:bg, s:fg ], [ s:fg, s:gray1 ] ] + let s:p.insert.middle = [ [ s:fg, s:gray2 ] ] + let s:p.replace.left = [ [ s:bg, s:red, 'bold' ], [ s:fg, s:gray1 ] ] + let s:p.replace.right = [ [ s:bg, s:red ], [ s:fg, s:gray1 ] ] + let s:p.replace.middle = [ [ s:fg, s:gray2 ] ] + let s:p.visual.left = [ [ s:bg, s:orange, 'bold' ], [ s:red2, s:gray1 ] ] + let s:p.visual.right = [ [ s:bg, s:orange ], [ s:red2, s:gray1 ] ] + let s:p.visual.middle = [ [ s:fg, s:gray2 ] ] + let s:p.tabline.left = [ [ s:fg, s:gray1 ] ] + let s:p.tabline.tabsel = [ [ s:bg, s:green ] ] + let s:p.tabline.middle = [ [ s:bg, s:bg ] ] + let s:p.tabline.right = [ [ s:bg, s:red ] ] + let s:p.normal.error = [ [ s:bg, s:red ] ] + let s:p.normal.warning = [ [ s:bg, s:orange ] ] + + let g:lightline#colorscheme#twofirewatch#palette = lightline#colorscheme#fill(s:p) +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/mountaineer.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/mountaineer.vim new file mode 100644 index 00000000..afbf515a --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/mountaineer.vim @@ -0,0 +1,40 @@ +" ============================================================================= +" Filename: autoload/lightline/colorscheme/mountaineer.vim +" Author: itchyny +" License: MIT License +" Last Change: 2013/09/07 12:21:04. +" ============================================================================= +let s:base03 = [ '#f0f0f0', 233 ] +let s:base02 = [ '#050505', 236 ] +let s:base01 = [ '#050505', 239 ] +let s:base00 = [ '#666656', 242 ] +let s:base0 = [ '#808070', 244 ] +let s:base1 = [ '#050505', 246 ] +let s:base2 = [ '#a8a897', 248 ] +let s:base3 = [ '#ebc7bc', 253 ] +let s:yellow = [ '#0f0f0f', 215 ] +let s:orange = [ '#0f0f0f', 222 ] +let s:red = [ '#0f0f0f', 167 ] +let s:magenta = [ '#0f0f0f', 217 ] +let s:blue = [ '#0f0f0f', 103 ] +let s:cyan = [ '#0f0f0f', 110 ] +let s:green = [ '#0f0f0f', 107 ] + +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}} +let s:p.normal.left = [ [ s:base03, s:blue ], [ s:base3, s:base01 ] ] +let s:p.normal.right = [ [ s:base03, s:green ], [ s:base2, s:base01 ] ] +let s:p.inactive.right = [ [ s:base03, s:base00 ], [ s:base0, s:base02 ] ] +let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base00, s:base02 ] ] +let s:p.insert.left = [ [ s:base03, s:green ], [ s:base3, s:base01 ] ] +let s:p.replace.left = [ [ s:base03, s:red ], [ s:base3, s:base01 ] ] +let s:p.visual.left = [ [ s:base03, s:magenta ], [ s:base3, s:base01 ] ] +let s:p.normal.middle = [ [ s:base0, s:base02 ] ] +let s:p.inactive.middle = [ [ s:base00, s:base02 ] ] +let s:p.tabline.left = copy(s:p.normal.middle) +let s:p.tabline.tabsel = [ [ s:base3, s:base00 ] ] +let s:p.tabline.middle = copy(s:p.normal.middle) +let s:p.tabline.right = [ [ s:base03, s:green ] ] +let s:p.normal.error = [ [ s:red, s:base02 ] ] +let s:p.normal.warning = [ [ s:yellow, s:base01 ] ] + +let g:lightline#colorscheme#mountaineer#palette = lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/mountaineer_grey.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/mountaineer_grey.vim new file mode 100644 index 00000000..8b4f7dd6 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/mountaineer_grey.vim @@ -0,0 +1,40 @@ +" ============================================================================= +" Filename: autoload/lightline/colorscheme/mountaineer-grey.vim +" Author: itchyny +" License: MIT License +" Last Change: 2013/09/07 12:21:04. +" ============================================================================= +let s:base03 = [ '#f0f0f0', 233 ] +let s:base02 = [ '#191919', 236 ] +let s:base01 = [ '#191919', 239 ] +let s:base00 = [ '#666656', 242 ] +let s:base0 = [ '#808070', 244 ] +let s:base1 = [ '#191919', 246 ] +let s:base2 = [ '#a8a897', 248 ] +let s:base3 = [ '#ebc7bc', 253 ] +let s:yellow = [ '#2c2c2c', 215 ] +let s:orange = [ '#2c2c2c', 222 ] +let s:red = [ '#2c2c2c', 167 ] +let s:magenta = [ '#2c2c2c', 217 ] +let s:blue = [ '#2c2c2c', 103 ] +let s:cyan = [ '#2c2c2c', 110 ] +let s:green = [ '#2c2c2c', 107 ] + +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}} +let s:p.normal.left = [ [ s:base03, s:blue ], [ s:base3, s:base01 ] ] +let s:p.normal.right = [ [ s:base03, s:green ], [ s:base2, s:base01 ] ] +let s:p.inactive.right = [ [ s:base03, s:base00 ], [ s:base0, s:base02 ] ] +let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base00, s:base02 ] ] +let s:p.insert.left = [ [ s:base03, s:green ], [ s:base3, s:base01 ] ] +let s:p.replace.left = [ [ s:base03, s:red ], [ s:base3, s:base01 ] ] +let s:p.visual.left = [ [ s:base03, s:magenta ], [ s:base3, s:base01 ] ] +let s:p.normal.middle = [ [ s:base0, s:base02 ] ] +let s:p.inactive.middle = [ [ s:base00, s:base02 ] ] +let s:p.tabline.left = copy(s:p.normal.middle) +let s:p.tabline.tabsel = [ [ s:base3, s:base00 ] ] +let s:p.tabline.middle = copy(s:p.normal.middle) +let s:p.tabline.right = [ [ s:base03, s:green ] ] +let s:p.normal.error = [ [ s:red, s:base02 ] ] +let s:p.normal.warning = [ [ s:yellow, s:base01 ] ] + +let g:lightline#colorscheme#mountaineer_grey#palette = lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/mountaineer_light.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/mountaineer_light.vim new file mode 100644 index 00000000..5d9da3c5 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/lightline/mountaineer_light.vim @@ -0,0 +1,40 @@ +" ============================================================================= +" Filename: autoload/lightline/colorscheme/mountaineer-light.vim +" Author: itchyny +" License: MIT License +" Last Change: 2013/09/07 12:21:04. +" ============================================================================= +let s:base03 = [ '#050505', 233 ] +let s:base02 = [ '#f0f0f0', 236 ] +let s:base01 = [ '#f0f0f0', 239 ] +let s:base00 = [ '#666656', 242 ] +let s:base0 = [ '#808070', 244 ] +let s:base1 = [ '#f0f0f0', 246 ] +let s:base2 = [ '#a8a897', 248 ] +let s:base3 = [ '#ebc7bc', 253 ] +let s:yellow = [ '#d3d3d3', 215 ] +let s:orange = [ '#d3d3d3', 222 ] +let s:red = [ '#d3d3d3', 167 ] +let s:magenta = [ '#d3d3d3', 217 ] +let s:blue = [ '#d3d3d3', 103 ] +let s:cyan = [ '#d3d3d3', 110 ] +let s:green = [ '#d3d3d3', 107 ] + +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}} +let s:p.normal.left = [ [ s:base03, s:blue ], [ s:base3, s:base01 ] ] +let s:p.normal.right = [ [ s:base03, s:green ], [ s:base2, s:base01 ] ] +let s:p.inactive.right = [ [ s:base03, s:base00 ], [ s:base0, s:base02 ] ] +let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base00, s:base02 ] ] +let s:p.insert.left = [ [ s:base03, s:green ], [ s:base3, s:base01 ] ] +let s:p.replace.left = [ [ s:base03, s:red ], [ s:base3, s:base01 ] ] +let s:p.visual.left = [ [ s:base03, s:magenta ], [ s:base3, s:base01 ] ] +let s:p.normal.middle = [ [ s:base0, s:base02 ] ] +let s:p.inactive.middle = [ [ s:base00, s:base02 ] ] +let s:p.tabline.left = copy(s:p.normal.middle) +let s:p.tabline.tabsel = [ [ s:base3, s:base00 ] ] +let s:p.tabline.middle = copy(s:p.normal.middle) +let s:p.tabline.right = [ [ s:base03, s:green ] ] +let s:p.normal.error = [ [ s:red, s:base02 ] ] +let s:p.normal.warning = [ [ s:yellow, s:base01 ] ] + +let g:lightline#colorscheme#mountaineer_light#palette = lightline#colorscheme#flatten(s:p) diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/onedark.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/onedark.vim new file mode 100644 index 00000000..4630ff48 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/onedark.vim @@ -0,0 +1,29 @@ +" [onedark.vim](https://github.com/joshdick/onedark.vim/) + +let s:overrides = get(g:, "onedark_color_overrides", {}) + +let s:colors = { + \ "red": get(s:overrides, "red", { "gui": "#E06C75", "cterm": "204", "cterm16": "1" }), + \ "dark_red": get(s:overrides, "dark_red", { "gui": "#BE5046", "cterm": "196", "cterm16": "9" }), + \ "green": get(s:overrides, "green", { "gui": "#98C379", "cterm": "114", "cterm16": "2" }), + \ "yellow": get(s:overrides, "yellow", { "gui": "#E5C07B", "cterm": "180", "cterm16": "3" }), + \ "dark_yellow": get(s:overrides, "dark_yellow", { "gui": "#D19A66", "cterm": "173", "cterm16": "11" }), + \ "blue": get(s:overrides, "blue", { "gui": "#61AFEF", "cterm": "39", "cterm16": "4" }), + \ "purple": get(s:overrides, "purple", { "gui": "#C678DD", "cterm": "170", "cterm16": "5" }), + \ "cyan": get(s:overrides, "cyan", { "gui": "#56B6C2", "cterm": "38", "cterm16": "6" }), + \ "white": get(s:overrides, "white", { "gui": "#ABB2BF", "cterm": "145", "cterm16": "15" }), + \ "black": get(s:overrides, "black", { "gui": "#282C34", "cterm": "235", "cterm16": "0" }), + \ "foreground": get(s:overrides, "foreground", { "gui": "#ABB2BF", "cterm": "145", "cterm16": "NONE" }), + \ "background": get(s:overrides, "background", { "gui": "#282C34", "cterm": "235", "cterm16": "NONE" }), + \ "comment_grey": get(s:overrides, "comment_grey", { "gui": "#5C6370", "cterm": "59", "cterm16": "7" }), + \ "gutter_fg_grey": get(s:overrides, "gutter_fg_grey", { "gui": "#4B5263", "cterm": "238", "cterm16": "8" }), + \ "cursor_grey": get(s:overrides, "cursor_grey", { "gui": "#2C323C", "cterm": "236", "cterm16": "0" }), + \ "visual_grey": get(s:overrides, "visual_grey", { "gui": "#3E4452", "cterm": "237", "cterm16": "8" }), + \ "menu_grey": get(s:overrides, "menu_grey", { "gui": "#3E4452", "cterm": "237", "cterm16": "7" }), + \ "special_grey": get(s:overrides, "special_grey", { "gui": "#3B4048", "cterm": "238", "cterm16": "7" }), + \ "vertsplit": get(s:overrides, "vertsplit", { "gui": "#3E4452", "cterm": "59", "cterm16": "7" }), + \} + +function! onedark#GetColors() + return s:colors +endfunction diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/purify.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/purify.vim new file mode 100644 index 00000000..9797d475 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/purify.vim @@ -0,0 +1,66 @@ +" ============================================================================== +" Name: purify +" Author: Kyoz +" Repository: https://github.com/kyoz/purify/ +" License: The MIT License (MIT) +" Copyright: Kyoz (banminkyoz@gmail.com) +" +" Clean and beautiful colorscheme for vim (neovim) +" ============================================================================== + +" Color Pallete {{{ + +" Purify is based on 10 main colors + +" +--------------------------------+ +" | Color Name | Hex | cterm | +" |--------------+---------+-------| +" | Black | #282C34 | 235 | +" |--------------+---------+-------| +" | White | #FFFFFF | 15 | +" |--------------+---------+-------| +" | Red | #FF0000 | 196 | +" |--------------+---------+-------| +" | Green | #5FFF87 | 84 | +" |--------------+---------+-------| +" | Blue | #5FAFFF | 75 | +" |--------------+---------+-------| +" | Yellow | #FFFF87 | 228 | +" |--------------+---------+-------| +" | Pink | #FF79C6 | 212 | +" |--------------+---------+-------| +" | Salmon | #FF875F | 209 | +" |--------------+---------+-------| +" | Pulple | #AF87FF | 141 | +" |--------------+---------+-------| +" | Dark yellow | #D19A66 | 173 | +" |--------------+---------+-------| + +" }}} + +let s:override_colors = get(g:, 'purify_override_colors', {}) + +let s:colors = { + \ 'black': get(s:override_colors, 'black', { 'gui': '#282C34', 'cterm': '235' }), + \ 'white': get(s:override_colors, 'white', { 'gui': '#FFFFFF', 'cterm': '15' }), + \ 'red': get(s:override_colors, 'red', { 'gui': '#FF0000', 'cterm': '196' }), + \ 'green': get(s:override_colors, 'green', { 'gui': '#5FFF87', 'cterm': '84' }), + \ 'blue': get(s:override_colors, 'blue', { 'gui': '#5FAFFF', 'cterm': '75' }), + \ 'yellow': get(s:override_colors, 'yellow', { 'gui': '#FFFF87', 'cterm': '228' }), + \ 'pink': get(s:override_colors, 'pink', { 'gui': '#FF79C6', 'cterm': '212' }), + \ 'salmon': get(s:override_colors, 'salmon', { 'gui': '#FF875F', 'cterm': '209' }), + \ 'purple': get(s:override_colors, 'purple', { 'gui': '#AF87FF', 'cterm': '141' }), + \ 'dark_yellow': get(s:override_colors, 'dark_yellow', { 'gui': '#D19A66', 'cterm': '173' }), + \ 'comment_grey': get(s:override_colors, 'comment_grey', { 'gui': '#5F5F87', 'cterm': '61' }), + \ 'cursor_grey': get(s:override_colors, 'cursor_grey', { 'gui': '#2C323C', 'cterm': '236' }), + \ 'gutter_grey_fg': get(s:override_colors, 'gutter_grey_fg', { 'gui': '#4B5263', 'cterm': '238' }), + \ 'blur_grey': get(s:override_colors, 'blur_grey', { 'gui': '#3B4048', 'cterm': '238' }), + \ 'menu_grey': get(s:override_colors, 'menu_grey', { 'gui': '#3E4452', 'cterm': '237' }), + \ 'visual_grey': get(s:override_colors, 'visual_grey', { 'gui': '#3E4452', 'cterm': '237' }), + \ 'visual_black': get(s:override_colors, 'visual_black', { 'gui': 'NONE', 'cterm': 'NONE' }), + \ 'none': get(s:override_colors, 'none', { 'gui': 'NONE', 'cterm': 'NONE' }) +\ } + +function! purify#get_colors() + return s:colors +endfunction diff --git a/nvim/plugged/awesome-vim-colorschemes/autoload/sonokai.vim b/nvim/plugged/awesome-vim-colorschemes/autoload/sonokai.vim new file mode 100644 index 00000000..26d0d44c --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/autoload/sonokai.vim @@ -0,0 +1,307 @@ +" ============================================================================= +" URL: https://github.com/sainnhe/sonokai +" Filename: autoload/sonokai.vim +" Author: sainnhe +" Email: sainnhe@gmail.com +" License: MIT License +" ============================================================================= + +function! sonokai#get_configuration() "{{{ + return { + \ 'style': get(g:, 'sonokai_style', 'default'), + \ 'transparent_background': get(g:, 'sonokai_transparent_background', 0), + \ 'disable_italic_comment': get(g:, 'sonokai_disable_italic_comment', 0), + \ 'enable_italic': get(g:, 'sonokai_enable_italic', 0), + \ 'cursor': get(g:, 'sonokai_cursor', 'auto'), + \ 'menu_selection_background': get(g:, 'sonokai_menu_selection_background', 'blue'), + \ 'show_eob': get(g:, 'sonokai_show_eob', 1), + \ 'current_word': get(g:, 'sonokai_current_word', get(g:, 'sonokai_transparent_background', 0) == 0 ? 'grey background' : 'bold'), + \ 'lightline_disable_bold': get(g:, 'sonokai_lightline_disable_bold', 0), + \ 'diagnostic_text_highlight': get(g:, 'sonokai_diagnostic_text_highlight', 0), + \ 'diagnostic_line_highlight': get(g:, 'sonokai_diagnostic_line_highlight', 0), + \ 'diagnostic_virtual_text': get(g:, 'sonokai_diagnostic_virtual_text', 'grey'), + \ 'better_performance': get(g:, 'sonokai_better_performance', 0), + \ } +endfunction "}}} +function! sonokai#get_palette(style) "{{{ + if a:style ==# 'default' + let palette = { + \ 'black': ['#181819', '237'], + \ 'bg0': ['#2c2e34', '235'], + \ 'bg1': ['#33353f', '236'], + \ 'bg2': ['#363944', '236'], + \ 'bg3': ['#3b3e48', '237'], + \ 'bg4': ['#414550', '237'], + \ 'bg_red': ['#ff6077', '203'], + \ 'diff_red': ['#55393d', '52'], + \ 'bg_green': ['#a7df78', '107'], + \ 'diff_green': ['#394634', '22'], + \ 'bg_blue': ['#85d3f2', '110'], + \ 'diff_blue': ['#354157', '17'], + \ 'diff_yellow':['#4e432f', '54'], + \ 'fg': ['#e2e2e3', '250'], + \ 'red': ['#fc5d7c', '203'], + \ 'orange': ['#f39660', '215'], + \ 'yellow': ['#e7c664', '179'], + \ 'green': ['#9ed072', '107'], + \ 'blue': ['#76cce0', '110'], + \ 'purple': ['#b39df3', '176'], + \ 'grey': ['#7f8490', '246'], + \ 'grey_dim': ['#595f6f', '240'], + \ 'none': ['NONE', 'NONE'] + \ } + elseif a:style ==# 'shusia' + let palette = { + \ 'black': ['#1a181a', '237'], + \ 'bg0': ['#2d2a2e', '235'], + \ 'bg1': ['#37343a', '236'], + \ 'bg2': ['#3b383e', '236'], + \ 'bg3': ['#423f46', '237'], + \ 'bg4': ['#49464e', '237'], + \ 'bg_red': ['#ff6188', '203'], + \ 'diff_red': ['#55393d', '52'], + \ 'bg_green': ['#a9dc76', '107'], + \ 'diff_green': ['#394634', '22'], + \ 'bg_blue': ['#78dce8', '110'], + \ 'diff_blue': ['#354157', '17'], + \ 'diff_yellow':['#4e432f', '54'], + \ 'fg': ['#e3e1e4', '250'], + \ 'red': ['#f85e84', '203'], + \ 'orange': ['#ef9062', '215'], + \ 'yellow': ['#e5c463', '179'], + \ 'green': ['#9ecd6f', '107'], + \ 'blue': ['#7accd7', '110'], + \ 'purple': ['#ab9df2', '176'], + \ 'grey': ['#848089', '246'], + \ 'grey_dim': ['#605d68', '240'], + \ 'none': ['NONE', 'NONE'] + \ } + elseif a:style ==# 'andromeda' + let palette = { + \ 'black': ['#181a1c', '237'], + \ 'bg0': ['#2b2d3a', '235'], + \ 'bg1': ['#333648', '236'], + \ 'bg2': ['#363a4e', '236'], + \ 'bg3': ['#393e53', '237'], + \ 'bg4': ['#3f445b', '237'], + \ 'bg_red': ['#ff6188', '203'], + \ 'diff_red': ['#55393d', '52'], + \ 'bg_green': ['#a9dc76', '107'], + \ 'diff_green': ['#394634', '22'], + \ 'bg_blue': ['#77d5f0', '110'], + \ 'diff_blue': ['#354157', '17'], + \ 'diff_yellow':['#4e432f', '54'], + \ 'fg': ['#e1e3e4', '250'], + \ 'red': ['#fb617e', '203'], + \ 'orange': ['#f89860', '215'], + \ 'yellow': ['#edc763', '179'], + \ 'green': ['#9ed06c', '107'], + \ 'blue': ['#6dcae8', '110'], + \ 'purple': ['#bb97ee', '176'], + \ 'grey': ['#7e8294', '246'], + \ 'grey_dim': ['#5a5e7a', '240'], + \ 'none': ['NONE', 'NONE'] + \ } + elseif a:style ==# 'atlantis' + let palette = { + \ 'black': ['#181a1c', '237'], + \ 'bg0': ['#2a2f38', '235'], + \ 'bg1': ['#333846', '236'], + \ 'bg2': ['#373c4b', '236'], + \ 'bg3': ['#3d4455', '237'], + \ 'bg4': ['#424b5b', '237'], + \ 'bg_red': ['#ff6d7e', '203'], + \ 'diff_red': ['#55393d', '52'], + \ 'bg_green': ['#a5e179', '107'], + \ 'diff_green': ['#394634', '22'], + \ 'bg_blue': ['#7ad5f1', '110'], + \ 'diff_blue': ['#354157', '17'], + \ 'diff_yellow':['#4e432f', '54'], + \ 'fg': ['#e1e3e4', '250'], + \ 'red': ['#ff6578', '203'], + \ 'orange': ['#f69c5e', '215'], + \ 'yellow': ['#eacb64', '179'], + \ 'green': ['#9dd274', '107'], + \ 'blue': ['#72cce8', '110'], + \ 'purple': ['#ba9cf3', '176'], + \ 'grey': ['#828a9a', '246'], + \ 'grey_dim': ['#5a6477', '240'], + \ 'none': ['NONE', 'NONE'] + \ } + elseif a:style ==# 'maia' + let palette = { + \ 'black': ['#1c1e1f', '237'], + \ 'bg0': ['#273136', '235'], + \ 'bg1': ['#313b42', '236'], + \ 'bg2': ['#353f46', '236'], + \ 'bg3': ['#3a444b', '237'], + \ 'bg4': ['#414b53', '237'], + \ 'bg_red': ['#ff6d7e', '203'], + \ 'diff_red': ['#55393d', '52'], + \ 'bg_green': ['#a2e57b', '107'], + \ 'diff_green': ['#394634', '22'], + \ 'bg_blue': ['#7cd5f1', '110'], + \ 'diff_blue': ['#354157', '17'], + \ 'diff_yellow':['#4e432f', '54'], + \ 'fg': ['#e1e2e3', '250'], + \ 'red': ['#f76c7c', '203'], + \ 'orange': ['#f3a96a', '215'], + \ 'yellow': ['#e3d367', '179'], + \ 'green': ['#9cd57b', '107'], + \ 'blue': ['#78cee9', '110'], + \ 'purple': ['#baa0f8', '176'], + \ 'grey': ['#82878b', '246'], + \ 'grey_dim': ['#55626d', '240'], + \ 'none': ['NONE', 'NONE'] + \ } + elseif a:style ==# 'espresso' + let palette = { + \ 'black': ['#1f1e1c', '237'], + \ 'bg0': ['#312c2b', '235'], + \ 'bg1': ['#393230', '236'], + \ 'bg2': ['#413937', '236'], + \ 'bg3': ['#49403c', '237'], + \ 'bg4': ['#4e433f', '237'], + \ 'bg_red': ['#fd6883', '203'], + \ 'diff_red': ['#55393d', '52'], + \ 'bg_green': ['#adda78', '107'], + \ 'diff_green': ['#394634', '22'], + \ 'bg_blue': ['#85dad2', '110'], + \ 'diff_blue': ['#354157', '17'], + \ 'diff_yellow':['#4e432f', '54'], + \ 'fg': ['#e4e3e1', '250'], + \ 'red': ['#f86882', '203'], + \ 'orange': ['#f08d71', '215'], + \ 'yellow': ['#f0c66f', '179'], + \ 'green': ['#a6cd77', '107'], + \ 'blue': ['#81d0c9', '110'], + \ 'purple': ['#9fa0e1', '176'], + \ 'grey': ['#90817b', '246'], + \ 'grey_dim': ['#6a5e59', '240'], + \ 'none': ['NONE', 'NONE'] + \ } + endif + return palette +endfunction "}}} +function! sonokai#highlight(group, fg, bg, ...) "{{{ + execute 'highlight' a:group + \ 'guifg=' . a:fg[0] + \ 'guibg=' . a:bg[0] + \ 'ctermfg=' . a:fg[1] + \ 'ctermbg=' . a:bg[1] + \ 'gui=' . (a:0 >= 1 ? + \ a:1 : + \ 'NONE') + \ 'cterm=' . (a:0 >= 1 ? + \ (a:1 ==# 'undercurl' ? + \ 'underline' : + \ a:1) : + \ 'NONE') + \ 'guisp=' . (a:0 >= 2 ? + \ a:2[0] : + \ 'NONE') +endfunction "}}} +function! sonokai#ft_gen(path, last_modified, msg) "{{{ + " Generate the `after/ftplugin` directory. + let full_content = join(readfile(a:path), "\n") " Get the content of `colors/sonokai.vim` + let ft_content = [] + let rootpath = sonokai#ft_rootpath(a:path) " Get the path to place the `after/ftplugin` directory. + call substitute(full_content, '" ft_begin.\{-}ft_end', '\=add(ft_content, submatch(0))', 'g') " Search for 'ft_begin.\{-}ft_end' (non-greedy) and put all the search results into a list. + for content in ft_content + let ft_list = [] + call substitute(matchstr(matchstr(content, 'ft_begin:.\{-}{{{'), ':.\{-}{{{'), '\(\w\|-\)\+', '\=add(ft_list, submatch(0))', 'g') " Get the file types. }}}}}} + for ft in ft_list + call sonokai#ft_write(rootpath, ft, content) " Write the content. + endfor + endfor + call sonokai#ft_write(rootpath, 'text', "let g:sonokai_last_modified = '" . a:last_modified . "'") " Write the last modified time to `after/ftplugin/text/sonokai.vim` + if a:msg ==# 'update' + echohl WarningMsg | echom '[sonokai] Updated ' . rootpath . '/after/ftplugin' | echohl None + else + echohl WarningMsg | echom '[sonokai] Generated ' . rootpath . '/after/ftplugin' | echohl None + endif +endfunction "}}} +function! sonokai#ft_write(rootpath, ft, content) "{{{ + " Write the content. + let ft_path = a:rootpath . '/after/ftplugin/' . a:ft . '/sonokai.vim' " The path of a ftplugin file. + " create a new file if it doesn't exist + if !filereadable(ft_path) + call mkdir(a:rootpath . '/after/ftplugin/' . a:ft, 'p') + call writefile([ + \ "if !exists('g:colors_name') || g:colors_name !=# 'sonokai'", + \ ' finish', + \ 'endif' + \ ], ft_path, 'a') " Abort if the current color scheme is not sonokai. + call writefile([ + \ "if index(g:sonokai_loaded_file_types, '" . a:ft . "') ==# -1", + \ " call add(g:sonokai_loaded_file_types, '" . a:ft . "')", + \ 'else', + \ ' finish', + \ 'endif' + \ ], ft_path, 'a') " Abort if this file type has already been loaded. + endif + " If there is something like `call sonokai#highlight()`, then add + " code to initialize the palette and configuration. + if matchstr(a:content, 'sonokai#highlight') !=# '' + call writefile([ + \ 'let s:configuration = sonokai#get_configuration()', + \ 'let s:palette = sonokai#get_palette(s:configuration.style)' + \ ], ft_path, 'a') + endif + " Append the content. + call writefile(split(a:content, "\n"), ft_path, 'a') + " Add modeline. + call writefile(['" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker fmr={{{,}}}:'], ft_path, 'a') +endfunction "}}} +function! sonokai#ft_rootpath(path) "{{{ + " Get the directory where `after/ftplugin` is generated. + if (matchstr(a:path, '^/usr/share') ==# '') || has('win32') " Return the plugin directory. The `after/ftplugin` directory should never be generated in `/usr/share`, even if you are a root user. + return fnamemodify(a:path, ':p:h:h') + else " Use vim home directory. + if has('nvim') + return stdpath('config') + else + if has('win32') || has ('win64') + return $VIM . '/vimfiles' + else + return $HOME . '/.vim' + endif + endif + endif +endfunction "}}} +function! sonokai#ft_newest(path, last_modified) "{{{ + " Determine whether the current ftplugin files are up to date by comparing the last modified time in `colors/sonokai.vim` and `after/ftplugin/text/sonokai.vim`. + let rootpath = sonokai#ft_rootpath(a:path) + execute 'source ' . rootpath . '/after/ftplugin/text/sonokai.vim' + return a:last_modified ==# g:sonokai_last_modified ? 1 : 0 +endfunction "}}} +function! sonokai#ft_clean(path, msg) "{{{ + " Clean the `after/ftplugin` directory. + let rootpath = sonokai#ft_rootpath(a:path) + " Remove `after/ftplugin/**/sonokai.vim`. + let file_list = split(globpath(rootpath, 'after/ftplugin/**/sonokai.vim'), "\n") + for file in file_list + call delete(file) + endfor + " Remove empty directories. + let dir_list = split(globpath(rootpath, 'after/ftplugin/*'), "\n") + for dir in dir_list + if globpath(dir, '*') ==# '' + call delete(dir, 'd') + endif + endfor + if globpath(rootpath . '/after/ftplugin', '*') ==# '' + call delete(rootpath . '/after/ftplugin', 'd') + endif + if globpath(rootpath . '/after', '*') ==# '' + call delete(rootpath . '/after', 'd') + endif + if a:msg + echohl WarningMsg | echom '[sonokai] Cleaned ' . rootpath . '/after/ftplugin' | echohl None + endif +endfunction "}}} +function! sonokai#ft_exists(path) "{{{ + return filereadable(sonokai#ft_rootpath(a:path) . '/after/ftplugin/text/sonokai.vim') +endfunction "}}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker fmr={{{,}}}: diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/256_noir.vim b/nvim/plugged/awesome-vim-colorschemes/colors/256_noir.vim new file mode 100644 index 00000000..ff61725f --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/256_noir.vim @@ -0,0 +1,130 @@ +" Vim color file +" Name: 256_noir.vim +" Maintainer: Andreas van Cranenburgh +" Homepage: https://github.com/andreasvc/vim-256noir/ + +" Basically: dark background, numerals & errors red, +" rest different shades of gray. +" +" colors 232--250 are shades of gray, from dark to light; +" 16=black, 255=white, 196=red, 88=darkred. + +highlight clear +set background=dark +if version > 580 + " no guarantees for version 5.8 and below, but this makes it stop + " complaining + if exists("syntax_on") + syntax reset + endif +endif +let g:colors_name = "256_noir" + +if has("gui_running") || &t_Co == 256 + hi Normal cterm=NONE ctermfg=250 ctermbg=16 gui=NONE guifg=#bcbcbc guibg=#000000 + hi Keyword cterm=NONE ctermfg=255 ctermbg=16 gui=NONE guifg=#eeeeee guibg=#000000 + hi Constant cterm=NONE ctermfg=252 ctermbg=16 gui=NONE guifg=#d0d0d0 guibg=#000000 + hi String cterm=NONE ctermfg=245 ctermbg=16 gui=NONE guifg=#8a8a8a guibg=#000000 + hi Comment cterm=NONE ctermfg=240 ctermbg=16 gui=NONE guifg=#585858 guibg=#000000 + hi Number cterm=NONE ctermfg=196 ctermbg=16 gui=NONE guifg=#ff0000 guibg=#000000 + hi Error cterm=NONE ctermfg=255 ctermbg=88 gui=NONE guifg=#eeeeee guibg=#870000 + hi ErrorMsg cterm=NONE ctermfg=255 ctermbg=124 gui=NONE guifg=#eeeeee guibg=#af0000 + hi Search cterm=NONE ctermfg=245 ctermbg=236 gui=NONE guifg=#8a8a8a guibg=#303030 + hi IncSearch cterm=reverse ctermfg=255 ctermbg=245 gui=reverse guifg=#eeeeee guibg=#8a8a8a + hi DiffChange cterm=NONE ctermfg=160 ctermbg=255 gui=NONE guifg=#d70000 guibg=#eeeeee + hi DiffText cterm=bold ctermfg=250 ctermbg=196 gui=bold guifg=#bcbcbc guibg=#ff0000 + hi SignColumn cterm=NONE ctermfg=124 ctermbg=240 gui=NONE guifg=#af0000 guibg=#585858 + hi SpellBad cterm=undercurl ctermfg=255 ctermbg=88 gui=undercurl guifg=#eeeeee guibg=#870000 + hi SpellCap cterm=NONE ctermfg=255 ctermbg=124 gui=NONE guifg=#eeeeee guibg=#af0000 + hi SpellRare cterm=NONE ctermfg=124 ctermbg=16 gui=NONE guifg=#af0000 guibg=#000000 + hi WildMenu cterm=NONE ctermfg=240 ctermbg=255 gui=NONE guifg=#585858 guibg=#eeeeee + hi Pmenu cterm=NONE ctermfg=255 ctermbg=240 gui=NONE guifg=#eeeeee guibg=#585858 + hi PmenuThumb cterm=NONE ctermfg=232 ctermbg=240 gui=NONE guifg=#080808 guibg=#585858 + hi SpecialKey cterm=NONE ctermfg=16 ctermbg=255 gui=NONE guifg=#000000 guibg=#eeeeee + hi MatchParen cterm=NONE ctermfg=16 ctermbg=240 gui=NONE guifg=#000000 guibg=#585858 + hi CursorLine cterm=NONE ctermfg=NONE ctermbg=233 gui=NONE guifg=NONE guibg=#121212 + hi StatusLine cterm=bold,reverse ctermfg=245 ctermbg=16 gui=bold,reverse guifg=#8a8a8a guibg=#000000 + hi StatusLineNC cterm=reverse ctermfg=236 ctermbg=16 gui=reverse guifg=#303030 guibg=#000000 + hi Visual cterm=reverse ctermfg=250 ctermbg=16 gui=reverse guifg=#bcbcbc guibg=#000000 + hi TermCursor cterm=reverse ctermfg=NONE ctermbg=NONE gui=reverse guifg=NONE guibg=NONE +else + hi Normal cterm=NONE ctermfg=Gray ctermbg=Black + hi Keyword cterm=NONE ctermfg=White ctermbg=Black + hi Constant cterm=NONE ctermfg=Gray ctermbg=Black + hi String cterm=NONE ctermfg=Gray ctermbg=Black + hi Comment cterm=NONE ctermfg=DarkGray ctermbg=Black + hi Number cterm=NONE ctermfg=Red ctermbg=Black + hi Error cterm=NONE ctermfg=White ctermbg=DarkRed + hi ErrorMsg cterm=NONE ctermfg=White ctermbg=Red + hi Search cterm=NONE ctermfg=Gray ctermbg=DarkGray + hi IncSearch cterm=reverse ctermfg=White ctermbg=Gray + hi DiffChange cterm=NONE ctermfg=Red ctermbg=White + hi DiffText cterm=bold ctermfg=Gray ctermbg=Red + hi SignColumn cterm=NONE ctermfg=Red ctermbg=DarkGray + hi SpellBad cterm=undercurl ctermfg=White ctermbg=DarkRed + hi SpellCap cterm=NONE ctermfg=White ctermbg=Red + hi SpellRare cterm=NONE ctermfg=Red ctermbg=Black + hi WildMenu cterm=NONE ctermfg=DarkGray ctermbg=White + hi Pmenu cterm=NONE ctermfg=White ctermbg=DarkGray + hi PmenuThumb cterm=NONE ctermfg=Black ctermbg=DarkGray + hi SpecialKey cterm=NONE ctermfg=Black ctermbg=White + hi MatchParen cterm=NONE ctermfg=Black ctermbg=DarkGray + hi CursorLine cterm=NONE ctermfg=NONE ctermbg=Black + hi StatusLine cterm=bold,reverse ctermfg=Gray ctermbg=Black + hi StatusLineNC cterm=reverse ctermfg=DarkGray ctermbg=Black + hi Visual cterm=reverse ctermfg=Gray ctermbg=Black + hi TermCursor cterm=reverse ctermfg=NONE ctermbg=NONE +endif +highlight! link Boolean Normal +highlight! link Delimiter Normal +highlight! link Identifier Normal +highlight! link Title Normal +highlight! link Debug Normal +highlight! link Exception Normal +highlight! link FoldColumn Normal +highlight! link Macro Normal +highlight! link ModeMsg Normal +highlight! link MoreMsg Normal +highlight! link Question Normal +highlight! link Conditional Keyword +highlight! link Statement Keyword +highlight! link Operator Keyword +highlight! link Structure Keyword +highlight! link Function Keyword +highlight! link Include Keyword +highlight! link Type Keyword +highlight! link Typedef Keyword +highlight! link Todo Keyword +highlight! link Label Keyword +highlight! link Define Keyword +highlight! link DiffAdd Keyword +highlight! link diffAdded Keyword +highlight! link diffCommon Keyword +highlight! link Directory Keyword +highlight! link PreCondit Keyword +highlight! link PreProc Keyword +highlight! link Repeat Keyword +highlight! link Special Keyword +highlight! link SpecialChar Keyword +highlight! link StorageClass Keyword +highlight! link SpecialComment String +highlight! link CursorLineNr String +highlight! link Character Number +highlight! link Float Number +highlight! link Tag Number +highlight! link Folded Number +highlight! link WarningMsg Number +highlight! link iCursor SpecialKey +highlight! link SpellLocal SpellCap +highlight! link LineNr Comment +highlight! link NonText Comment +highlight! link DiffDelete Comment +highlight! link diffRemoved Comment +highlight! link PmenuSbar Visual +highlight! link PmenuSel Visual +highlight! link VisualNOS Visual +highlight! link VertSplit Visual +highlight! link Cursor StatusLine +highlight! link Underlined SpellRare +highlight! link rstEmphasis SpellRare +highlight! link diffChanged DiffChange diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/OceanicNext.vim b/nvim/plugged/awesome-vim-colorschemes/colors/OceanicNext.vim new file mode 100644 index 00000000..8b2cf412 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/OceanicNext.vim @@ -0,0 +1,368 @@ +" =============================================================== +" OceanicNext +" Author: Mike Hartington +" =============================================================== + +" {{{ Setup + set background=dark + hi clear + if exists("syntax_on") + syntax reset + endif + let g:colors_name="OceanicNext" +" }}} +" {{{ Italics + let g:oceanic_next_terminal_italic = get(g:, 'oceanic_next_terminal_italic', 0) + let s:italic = "" + if g:oceanic_next_terminal_italic == 1 + let s:italic = "italic" + endif +"}}} +" {{{ Bold + let g:oceanic_next_terminal_bold = get(g:, 'oceanic_next_terminal_bold', 0) + let s:bold = "" + if g:oceanic_next_terminal_bold == 1 + let s:bold = "bold" + endif +"}}} +" {{{ Colors + let s:base00 = ['#1b2b34', '235'] + let s:base01 = ['#343d46', '237'] + let s:base02 = ['#4f5b66', '240'] + let s:base03 = ['#65737e', '243'] + let s:base04 = ['#a7adba', '145'] + let s:base05 = ['#c0c5ce', '251'] + let s:base06 = ['#cdd3de', '252'] + let s:base07 = ['#d8dee9', '253'] + let s:red = ['#ec5f67', '203'] + let s:orange = ['#f99157', '209'] + let s:yellow = ['#fac863', '221'] + let s:green = ['#99c794', '114'] + let s:cyan = ['#62b3b2', '73'] + let s:blue = ['#6699cc', '68'] + let s:purple = ['#c594c5', '176'] + let s:brown = ['#ab7967', '137'] + let s:white = ['#ffffff', '15'] + let s:none = ['NONE', 'NONE'] + +" }}} +" {{{ Highlight function +function! s:hi(group, fg, bg, attr, attrsp) + " fg, bg, attr, attrsp + if !empty(a:fg) + exec "hi " . a:group . " guifg=" . a:fg[0] + exec "hi " . a:group . " ctermfg=" . a:fg[1] + endif + if !empty(a:bg) + exec "hi " . a:group . " guibg=" . a:bg[0] + exec "hi " . a:group . " ctermbg=" . a:bg[1] + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr + exec "hi " . a:group . " cterm=" . a:attr + endif + if !empty(a:attrsp) + exec "hi " . a:group . " guisp=" . a:attrsp[0] + endif +endfunction +" }}} +" {{{ call s::hi(group, fg, bg, gui, guisp) + call s:hi('Bold', '', '', s:bold, '') + call s:hi('Debug', s:red, '', '', '') + call s:hi('Directory', s:blue, '', '', '') + call s:hi('ErrorMsg', s:red, s:base00, '', '') + call s:hi('Exception', s:red, '', '', '') + call s:hi('FoldColumn', s:blue, s:base00, '', '') + call s:hi('Folded', s:base03, s:base01, s:italic, '') + call s:hi('IncSearch', s:base01, s:orange, 'NONE', '') + call s:hi('Italic', '', '', s:italic, '') + + call s:hi('Macro', s:red, '', '', '') + call s:hi('MatchParen', s:base05, s:base03, '', '') + call s:hi('ModeMsg', s:green, '', '', '') + call s:hi('MoreMsg', s:green, '', '', '') + call s:hi('Question', s:blue, '', '', '') + call s:hi('Search', s:base03, s:yellow, '', '') + call s:hi('SpecialKey', s:base03, '', '', '') + call s:hi('TooLong', s:red, '', '', '') + call s:hi('Underlined', s:red, '', '', '') + call s:hi('Visual', '', s:base02, '', '') + call s:hi('VisualNOS', s:red, '', '', '') + call s:hi('WarningMsg', s:red, '', '', '') + call s:hi('WildMenu', s:base07, s:blue, '', '') + call s:hi('Title', s:blue, '', '', '') + call s:hi('Conceal', s:blue, s:base00, '', '') + call s:hi('Cursor', s:base00, s:base05, '', '') + call s:hi('NonText', s:base03, '', '', '') + call s:hi('Normal', s:base07, s:base00, '', '') + call s:hi('EndOfBuffer', s:base05, s:base00, '', '') + call s:hi('LineNr', s:base03, s:base00, '', '') + call s:hi('SignColumn', s:base00, s:base00, '', '') + call s:hi('StatusLine', s:base01, s:base03, '', '') + call s:hi('StatusLineNC', s:base03, s:base01, '', '') + call s:hi('VertSplit', s:base00, s:base02, '', '') + call s:hi('ColorColumn', '', s:base01, '', '') + call s:hi('CursorColumn', '', s:base01, '', '') + call s:hi('CursorLine', '', s:base01, 'None', '') + call s:hi('CursorLineNR', s:base00, s:base00, '', '') + call s:hi('CursorLineNr', s:base03, s:base01, '', '') + call s:hi('PMenu', s:base04, s:base01, '', '') + call s:hi('PMenuSel', s:base07, s:blue, '', '') + call s:hi('PmenuSbar', '', s:base02, '', '') + call s:hi('PmenuThumb', '', s:base07, '', '') + call s:hi('TabLine', s:base03, s:base01, '', '') + call s:hi('TabLineFill', s:base03, s:base01, '', '') + call s:hi('TabLineSel', s:green, s:base01, '', '') + call s:hi('helpExample', s:yellow, '', '', '') + call s:hi('helpCommand', s:yellow, '', '', '') + + " Standard syntax highlighting + call s:hi('Boolean', s:orange, '', '', '') + call s:hi('Character', s:red, '', '', '') + call s:hi('Comment', s:base03, '', s:italic, '') + call s:hi('Conditional', s:purple, '', '', '') + call s:hi('Constant', s:orange, '', '', '') + call s:hi('Define', s:purple, '', '', '') + call s:hi('Delimiter', s:brown, '', '', '') + call s:hi('Float', s:orange, '', '', '') + call s:hi('Function', s:blue, '', '', '') + + call s:hi('Identifier', s:cyan, '', '', '') + call s:hi('Include', s:blue, '', '', '') + call s:hi('Keyword', s:purple, '', '', '') + + call s:hi('Label', s:yellow, '', '', '') + call s:hi('Number', s:orange, '', '', '') + call s:hi('Operator', s:base05, '', '', '') + call s:hi('PreProc', s:yellow, '', '', '') + call s:hi('Repeat', s:yellow, '', '', '') + call s:hi('Special', s:cyan, '', '', '') + call s:hi('SpecialChar', s:brown, '', '', '') + call s:hi('Statement', s:red, '', '', '') + call s:hi('StorageClass', s:yellow, '', '', '') + call s:hi('String', s:green, '', '', '') + call s:hi('Structure', s:purple, '', '', '') + call s:hi('Tag', s:yellow, '', '', '') + call s:hi('Todo', s:yellow, s:base01, '', '') + call s:hi('Type', s:yellow, '', '', '') + call s:hi('Typedef', s:yellow, '', '', '') + + " LSP + call s:hi('LspDiagnosticsDefaultError', '', '', '', '') + call s:hi('LspDiagnosticsSignError', s:red, '', '', '') + call s:hi('LspDiagnosticsUnderlineError', '', '', 'undercurl', '') + + call s:hi('LspDiagnosticsDefaultWarning', '', '', '', '') + call s:hi('LspDiagnosticsSignWarning', s:yellow, '', '', '') + call s:hi('LspDiagnosticsUnderlineWarning', '', '', 'undercurl', '') + + call s:hi('LspDiagnosticsDefaultInformation', '', '', '', '') + call s:hi('LspDiagnosticsSignInformation', s:blue, '', '', '') + call s:hi('LspDiagnosticsUnderlineInformation', '', '', 'undercurl', '') + + call s:hi('LspDiagnosticsDefaultHint', '', '', '', '') + call s:hi('LspDiagnosticsSignHint', s:cyan, '', '', '') + call s:hi('LspDiagnosticsUnderlineHint', '', '', 'undercurl', '') + + + " TreeSitter stuff + call s:hi('TSInclude', s:cyan, '', '', '') + call s:hi('TSPunctBracket', s:cyan, '', '', '') + call s:hi('TSPunctDelimiter', s:base07, '', '', '') + call s:hi('TSParameter', s:base07, '', '', '') + call s:hi('TSType', s:blue, '', '', '') + call s:hi('TSFunction', s:cyan, '', '', '') + + call s:hi('TSTagDelimiter', s:cyan, '', '', '') + call s:hi('TSProperty', s:yellow, '', '', '') + call s:hi('TSMethod', s:blue, '', '', '') + call s:hi('TSParameter', s:yellow, '', '', '') + call s:hi('TSConstructor', s:base07, '', '', '') + call s:hi('TSVariable', s:base07, '', '', '') + call s:hi('TSOperator', s:base07, '', '', '') + call s:hi('TSTag', s:base07, '', '', '') + call s:hi('TSKeyword', s:purple, '', '', '') + call s:hi('TSKeywordOperator', s:purple, '', '', '') + call s:hi('TSVariableBuiltin', s:red, '', '', '') + call s:hi('TSLabel', s:cyan, '', '', '') + + call s:hi('SpellBad', '', '', 'undercurl', '') + call s:hi('SpellLocal', '', '', 'undercurl', '') + call s:hi('SpellCap', '', '', 'undercurl', '') + call s:hi('SpellRare', '', '', 'undercurl', '') + + call s:hi('csClass', s:yellow, '', '', '') + call s:hi('csAttribute', s:yellow, '', '', '') + call s:hi('csModifier', s:purple, '', '', '') + call s:hi('csType', s:red, '', '', '') + call s:hi('csUnspecifiedStatement', s:blue, '', '', '') + call s:hi('csContextualStatement', s:purple, '', '', '') + call s:hi('csNewDecleration', s:red, '', '', '') + call s:hi('cOperator', s:cyan, '', '', '') + call s:hi('cPreCondit', s:purple, '', '', '') + + call s:hi('cssColor', s:cyan, '', '', '') + call s:hi('cssBraces', s:base05, '', '', '') + call s:hi('cssClassName', s:purple, '', '', '') + + + call s:hi('DiffAdd', s:green, s:base01, s:bold, '') + call s:hi('DiffChange', s:base03, s:base01, '', '') + call s:hi('DiffDelete', s:red, s:base01, '', '') + call s:hi('DiffText', s:blue, s:base01, '', '') + call s:hi('DiffAdded', s:base07, s:green, s:bold, '') + call s:hi('DiffFile', s:red, s:base00, '', '') + call s:hi('DiffNewFile', s:green, s:base00, '', '') + call s:hi('DiffLine', s:blue, s:base00, '', '') + call s:hi('DiffRemoved', s:base07, s:red, s:bold, '') + + call s:hi('gitCommitOverflow', s:red, '', '', '') + call s:hi('gitCommitSummary', s:green, '', '', '') + + call s:hi('htmlBold', s:yellow, '', '', '') + call s:hi('htmlItalic', s:purple, '', '', '') + call s:hi('htmlTag', s:cyan, '', '', '') + call s:hi('htmlEndTag', s:cyan, '', '', '') + call s:hi('htmlArg', s:yellow, '', '', '') + call s:hi('htmlTagName', s:base07, '', '', '') + + call s:hi('javaScript', s:base05, '', '', '') + call s:hi('javaScriptNumber', s:orange, '', '', '') + call s:hi('javaScriptBraces', s:base05, '', '', '') + + call s:hi('jsonKeyword', s:green, '', '', '') + call s:hi('jsonQuote', s:green, '', '', '') + + call s:hi('markdownCode', s:green, '', '', '') + call s:hi('markdownCodeBlock', s:green, '', '', '') + call s:hi('markdownHeadingDelimiter', s:blue, '', '', '') + call s:hi('markdownItalic', s:purple, '', s:italic, '') + call s:hi('markdownBold', s:yellow, '', s:bold, '') + call s:hi('markdownCodeDelimiter', s:brown, '', s:italic, '') + call s:hi('markdownError', s:base05, s:base00, '', '') + + call s:hi('typescriptParens', s:base05, s:none, '', '') + + call s:hi('NeomakeErrorSign', s:red, s:base00, '', '') + call s:hi('NeomakeWarningSign', s:yellow, s:base00, '', '') + call s:hi('NeomakeInfoSign', s:white, s:base00, '', '') + call s:hi('NeomakeError', s:red, '', 'underline', s:red) + call s:hi('NeomakeWarning', s:red, '', 'underline', s:red) + + call s:hi('ALEErrorSign', s:red, s:base00, s:bold, '') + call s:hi('ALEWarningSign', s:yellow, s:base00, s:bold, '') + call s:hi('ALEInfoSign', s:white, s:base00, s:bold, '') + + call s:hi('NERDTreeExecFile', s:base05, '', '', '') + call s:hi('NERDTreeDirSlash', s:blue, '', '', '') + call s:hi('NERDTreeOpenable', s:blue, '', '', '') + call s:hi('NERDTreeFile', '', s:none, '', '') + call s:hi('NERDTreeFlags', s:blue, '', '', '') + + call s:hi('phpComparison', s:base05, '', '', '') + call s:hi('phpParent', s:base05, '', '', '') + call s:hi('phpMemberSelector', s:base05, '', '', '') + + call s:hi('pythonRepeat', s:purple, '', '', '') + call s:hi('pythonOperator', s:purple, '', '', '') + + call s:hi('rubyConstant', s:yellow, '', '', '') + call s:hi('rubySymbol', s:green, '', '', '') + call s:hi('rubyAttribute', s:blue, '', '', '') + call s:hi('rubyInterpolation', s:green, '', '', '') + call s:hi('rubyInterpolationDelimiter', s:brown, '', '', '') + call s:hi('rubyStringDelimiter', s:green, '', '', '') + call s:hi('rubyRegexp', s:cyan, '', '', '') + + call s:hi('sassidChar', s:red, '', '', '') + call s:hi('sassClassChar', s:orange, '', '', '') + call s:hi('sassInclude', s:purple, '', '', '') + call s:hi('sassMixing', s:purple, '', '', '') + call s:hi('sassMixinName', s:blue, '', '', '') + + call s:hi('vimfilerLeaf', s:base05, '', '', '') + call s:hi('vimfilerNormalFile', s:base05, s:base00, '', '') + call s:hi('vimfilerOpenedFile', s:blue, '', '', '') + call s:hi('vimfilerClosedFile', s:blue, '', '', '') + + call s:hi('GitGutterAdd', s:green, s:base00, s:bold, '') + call s:hi('GitGutterChange', s:blue, s:base00, s:bold, '') + call s:hi('GitGutterDelete', s:red, s:base00, s:bold, '') + call s:hi('GitGutterChangeDelete', s:purple, s:base00, s:bold, '') + + call s:hi('SignifySignAdd', s:green, s:base00, s:bold, '') + call s:hi('SignifySignChange', s:blue, s:base00, s:bold, '') + call s:hi('SignifySignDelete', s:red, s:base00, s:bold, '') + call s:hi('SignifySignChangeDelete', s:purple, s:base00, s:bold, '') + call s:hi('SignifySignDeleteFirstLine', s:red, s:base00, s:bold, '') + + call s:hi('xmlTag', s:cyan, '', '', '') + call s:hi('xmlTagName', s:base05, '', '', '') + call s:hi('xmlEndTag', s:cyan, '', '', '') + call s:hi('Defx_filename_directory', s:blue, '', '', '') + + call s:hi('CocErrorSign', s:red, '', '', '') + call s:hi('CocWarningSign', s:yellow, '', '', '') + call s:hi('CocInfoSign', s:blue, '', '', '') + call s:hi('CocHintSign', s:cyan, '', '', '') + call s:hi('CocErrorFloat', s:red, '', '', '') + call s:hi('CocWarningFloat', s:yellow, '', '', '') + call s:hi('CocInfoFloat', s:blue, '', '', '') + call s:hi('CocHintFloat', s:cyan, '', '', '') + call s:hi('CocDiagnosticsError', s:red, '', '', '') + call s:hi('CocDiagnosticsWarning', s:yellow, '', '', '') + call s:hi('CocDiagnosticsInfo', s:blue, '', '', '') + call s:hi('CocDiagnosticsHint', s:cyan, '', '', '') + call s:hi('CocSelectedText', s:purple, '', '', '') + call s:hi('CocCodeLens', s:base04, '', '', '') +" }}} +" {{{ Terminal +if has('nvim') + let g:terminal_color_0=s:base00[0] + let g:terminal_color_8=s:base03[0] + + let g:terminal_color_1=s:red[0] + let g:terminal_color_9=s:red[0] + + let g:terminal_color_2=s:green[0] + let g:terminal_color_10=s:green[0] + + let g:terminal_color_3=s:yellow[0] + let g:terminal_color_11=s:yellow[0] + + let g:terminal_color_4=s:blue[0] + let g:terminal_color_12=s:blue[0] + + let g:terminal_color_5=s:purple[0] + let g:terminal_color_13=s:purple[0] + + let g:terminal_color_6=s:cyan[0] + let g:terminal_color_14=s:cyan[0] + + let g:terminal_color_7=s:base05[0] + let g:terminal_color_15=s:base05[0] + + let g:terminal_color_background=s:base00[0] + let g:terminal_color_foreground=s:white[0] +else + let g:terminal_ansi_colors = [ + \ s:base00[0], + \ s:red[0], + \ s:green[0], + \ s:yellow[0], + \ s:blue[0], + \ s:purple[0], + \ s:cyan[0], + \ s:white[0], + \ s:base03[0], + \ s:red[0], + \ s:green[0], + \ s:yellow[0], + \ s:blue[0], + \ s:purple[0], + \ s:cyan[0], + \ s:white[0], + \] + +endif + diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/OceanicNextLight.vim b/nvim/plugged/awesome-vim-colorschemes/colors/OceanicNextLight.vim new file mode 100644 index 00000000..46e4e625 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/OceanicNextLight.vim @@ -0,0 +1,368 @@ +" =============================================================== +" OceanicNextLight +" Author: Mike Hartington +" =============================================================== + +" {{{ Setup + set background=light + hi clear + if exists("syntax_on") + syntax reset + endif + let g:colors_name="OceanicNextLight" +" }}} +" {{{ Italics + let g:oceanic_next_terminal_italic = get(g:, 'oceanic_next_terminal_italic', 0) + let s:italic = "" + if g:oceanic_next_terminal_italic == 1 + let s:italic = "italic" + endif +" }}} +" {{{ Bold + let g:oceanic_next_terminal_bold = get(g:, 'oceanic_next_terminal_bold', 0) + let s:bold = "" + if g:oceanic_next_terminal_bold == 1 + let s:bold = "bold" + endif +" }}} +" {{{ Colors + let s:base00 = ['#d8dee9', '253'] + let s:base01 = ['#cdd3de', '252'] + let s:base02 = ['#c0c5ce', '251'] + let s:base03 = ['#a7adba', '145'] + let s:base04 = ['#65737e', '243'] + let s:base05 = ['#4f5b66', '240'] + let s:base06 = ['#343d46', '237'] + let s:base07 = ['#1b2b34', '235'] + let s:red = ['#b40b11', '124'] + let s:orange = ['#b4713d', '131'] + let s:yellow = ['#a48c32', '137'] + let s:green = ['#869235', '101'] + let s:cyan = ['#5b9c90', '72'] + let s:blue = ['#526f93', '60'] + let s:purple = ['#896a98', '96'] + let s:brown = ['#9a806d', '101'] + let s:white = ['#ffffff', '15'] + let s:none = ['NONE', 'NONE'] + +" }}} +" {{{ Highlight function +function! hi(group, fg, bg, attr, attrsp) + " fg, bg, attr, attrsp + if !empty(a:fg) + exec "hi " . a:group . " guifg=" . a:fg[0] + exec "hi " . a:group . " ctermfg=" . a:fg[1] + endif + if !empty(a:bg) + exec "hi " . a:group . " guibg=" . a:bg[0] + exec "hi " . a:group . " ctermbg=" . a:bg[1] + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr + exec "hi " . a:group . " cterm=" . a:attr + endif + if !empty(a:attrsp) + exec "hi " . a:group . " guisp=" . a:attrsp[0] + endif +endfunction +" }}} +" {{{ call s::hi(group, fg, bg, gui, guisp) + call s:hi('Bold', '', '', s:bold, '') + call s:hi('Debug', s:red, '', '', '') + call s:hi('Directory', s:blue, '', '', '') + call s:hi('ErrorMsg', s:red, s:base00, '', '') + call s:hi('Exception', s:red, '', '', '') + call s:hi('FoldColumn', s:blue, s:base00, '', '') + call s:hi('Folded', s:base03, s:base01, s:italic, '') + call s:hi('IncSearch', s:base01, s:orange, 'NONE', '') + call s:hi('Italic', '', '', s:italic, '') + + call s:hi('Macro', s:red, '', '', '') + call s:hi('MatchParen', s:base05, s:base03, '', '') + call s:hi('ModeMsg', s:green, '', '', '') + call s:hi('MoreMsg', s:green, '', '', '') + call s:hi('Question', s:blue, '', '', '') + call s:hi('Search', s:base03, s:yellow, '', '') + call s:hi('SpecialKey', s:base03, '', '', '') + call s:hi('TooLong', s:red, '', '', '') + call s:hi('Underlined', s:red, '', '', '') + call s:hi('Visual', '', s:base02, '', '') + call s:hi('VisualNOS', s:red, '', '', '') + call s:hi('WarningMsg', s:red, '', '', '') + call s:hi('WildMenu', s:base07, s:blue, '', '') + call s:hi('Title', s:blue, '', '', '') + call s:hi('Conceal', s:blue, s:base00, '', '') + call s:hi('Cursor', s:base00, s:base05, '', '') + call s:hi('NonText', s:base03, '', '', '') + call s:hi('Normal', s:base07, s:base00, '', '') + call s:hi('EndOfBuffer', s:base05, s:base00, '', '') + call s:hi('LineNr', s:base03, s:base00, '', '') + call s:hi('SignColumn', s:base00, s:base00, '', '') + call s:hi('StatusLine', s:base01, s:base03, '', '') + call s:hi('StatusLineNC', s:base03, s:base01, '', '') + call s:hi('VertSplit', s:base00, s:base02, '', '') + call s:hi('ColorColumn', '', s:base01, '', '') + call s:hi('CursorColumn', '', s:base01, '', '') + call s:hi('CursorLine', '', s:base01, 'None', '') + call s:hi('CursorLineNR', s:base00, s:base00, '', '') + call s:hi('CursorLineNr', s:base03, s:base01, '', '') + call s:hi('PMenu', s:base04, s:base01, '', '') + call s:hi('PMenuSel', s:base07, s:blue, '', '') + call s:hi('PmenuSbar', '', s:base02, '', '') + call s:hi('PmenuThumb', '', s:base07, '', '') + call s:hi('TabLine', s:base03, s:base01, '', '') + call s:hi('TabLineFill', s:base03, s:base01, '', '') + call s:hi('TabLineSel', s:green, s:base01, '', '') + call s:hi('helpExample', s:yellow, '', '', '') + call s:hi('helpCommand', s:yellow, '', '', '') + + " Standard syntax highlighting + call s:hi('Boolean', s:orange, '', '', '') + call s:hi('Character', s:red, '', '', '') + call s:hi('Comment', s:base03, '', s:italic, '') + call s:hi('Conditional', s:purple, '', '', '') + call s:hi('Constant', s:orange, '', '', '') + call s:hi('Define', s:purple, '', '', '') + call s:hi('Delimiter', s:brown, '', '', '') + call s:hi('Float', s:orange, '', '', '') + call s:hi('Function', s:blue, '', '', '') + + call s:hi('Identifier', s:cyan, '', '', '') + call s:hi('Include', s:blue, '', '', '') + call s:hi('Keyword', s:purple, '', '', '') + + call s:hi('Label', s:yellow, '', '', '') + call s:hi('Number', s:orange, '', '', '') + call s:hi('Operator', s:base05, '', '', '') + call s:hi('PreProc', s:yellow, '', '', '') + call s:hi('Repeat', s:yellow, '', '', '') + call s:hi('Special', s:cyan, '', '', '') + call s:hi('SpecialChar', s:brown, '', '', '') + call s:hi('Statement', s:red, '', '', '') + call s:hi('StorageClass', s:yellow, '', '', '') + call s:hi('String', s:green, '', '', '') + call s:hi('Structure', s:purple, '', '', '') + call s:hi('Tag', s:yellow, '', '', '') + call s:hi('Todo', s:yellow, s:base01, '', '') + call s:hi('Type', s:yellow, '', '', '') + call s:hi('Typedef', s:yellow, '', '', '') + + " LSP + call s:hi('LspDiagnosticsDefaultError', '', '', '', '') + call s:hi('LspDiagnosticsSignError', s:red, '', '', '') + call s:hi('LspDiagnosticsUnderlineError', '', '', 'undercurl', '') + + call s:hi('LspDiagnosticsDefaultWarning', '', '', '', '') + call s:hi('LspDiagnosticsSignWarning', s:yellow, '', '', '') + call s:hi('LspDiagnosticsUnderlineWarning', '', '', 'undercurl', '') + + call s:hi('LspDiagnosticsDefaultInformation', '', '', '', '') + call s:hi('LspDiagnosticsSignInformation', s:blue, '', '', '') + call s:hi('LspDiagnosticsUnderlineInformation', '', '', 'undercurl', '') + + call s:hi('LspDiagnosticsDefaultHint', '', '', '', '') + call s:hi('LspDiagnosticsSignHint', s:cyan, '', '', '') + call s:hi('LspDiagnosticsUnderlineHint', '', '', 'undercurl', '') + + " TreeSitter stuff + call s:hi('TSInclude', s:cyan, '', '', '') + call s:hi('TSPunctBracket', s:cyan, '', '', '') + call s:hi('TSPunctDelimiter', s:base07, '', '', '') + call s:hi('TSParameter', s:base07, '', '', '') + call s:hi('TSType', s:blue, '', '', '') + call s:hi('TSFunction', s:cyan, '', '', '') + + call s:hi('TSTagDelimiter', s:cyan, '', '', '') + call s:hi('TSProperty', s:yellow, '', '', '') + call s:hi('TSMethod', s:blue, '', '', '') + call s:hi('TSParameter', s:yellow, '', '', '') + call s:hi('TSConstructor', s:base07, '', '', '') + call s:hi('TSVariable', s:base07, '', '', '') + call s:hi('TSOperator', s:base07, '', '', '') + call s:hi('TSTag', s:base07, '', '', '') + call s:hi('TSKeyword', s:purple, '', '', '') + call s:hi('TSKeywordOperator', s:purple, '', '', '') + call s:hi('TSVariableBuiltin', s:red, '', '', '') + call s:hi('TSLabel', s:cyan, '', '', '') + + call s:hi('SpellBad', '', '', 'undercurl', '') + call s:hi('SpellLocal', '', '', 'undercurl', '') + call s:hi('SpellCap', '', '', 'undercurl', '') + call s:hi('SpellRare', '', '', 'undercurl', '') + + call s:hi('csClass', s:yellow, '', '', '') + call s:hi('csAttribute', s:yellow, '', '', '') + call s:hi('csModifier', s:purple, '', '', '') + call s:hi('csType', s:red, '', '', '') + call s:hi('csUnspecifiedStatement', s:blue, '', '', '') + call s:hi('csContextualStatement', s:purple, '', '', '') + call s:hi('csNewDecleration', s:red, '', '', '') + call s:hi('cOperator', s:cyan, '', '', '') + call s:hi('cPreCondit', s:purple, '', '', '') + + call s:hi('cssColor', s:cyan, '', '', '') + call s:hi('cssBraces', s:base05, '', '', '') + call s:hi('cssClassName', s:purple, '', '', '') + + + call s:hi('DiffAdd', s:green, s:base01, s:bold, '') + call s:hi('DiffChange', s:base03, s:base01, '', '') + call s:hi('DiffDelete', s:red, s:base01, '', '') + call s:hi('DiffText', s:blue, s:base01, '', '') + call s:hi('DiffAdded', s:base07, s:green, s:bold, '') + call s:hi('DiffFile', s:red, s:base00, '', '') + call s:hi('DiffNewFile', s:green, s:base00, '', '') + call s:hi('DiffLine', s:blue, s:base00, '', '') + call s:hi('DiffRemoved', s:base07, s:red, s:bold, '') + + call s:hi('gitCommitOverflow', s:red, '', '', '') + call s:hi('gitCommitSummary', s:green, '', '', '') + + call s:hi('htmlBold', s:yellow, '', '', '') + call s:hi('htmlItalic', s:purple, '', '', '') + call s:hi('htmlTag', s:cyan, '', '', '') + call s:hi('htmlEndTag', s:cyan, '', '', '') + call s:hi('htmlArg', s:yellow, '', '', '') + call s:hi('htmlTagName', s:base07, '', '', '') + + call s:hi('javaScript', s:base05, '', '', '') + call s:hi('javaScriptNumber', s:orange, '', '', '') + call s:hi('javaScriptBraces', s:base05, '', '', '') + + call s:hi('jsonKeyword', s:green, '', '', '') + call s:hi('jsonQuote', s:green, '', '', '') + + call s:hi('markdownCode', s:green, '', '', '') + call s:hi('markdownCodeBlock', s:green, '', '', '') + call s:hi('markdownHeadingDelimiter', s:blue, '', '', '') + call s:hi('markdownItalic', s:purple, '', s:italic, '') + call s:hi('markdownBold', s:yellow, '', s:bold, '') + call s:hi('markdownCodeDelimiter', s:brown, '', s:italic, '') + call s:hi('markdownError', s:base05, s:base00, '', '') + + call s:hi('typescriptParens', s:base05, s:none, '', '') + + call s:hi('NeomakeErrorSign', s:red, s:base00, '', '') + call s:hi('NeomakeWarningSign', s:yellow, s:base00, '', '') + call s:hi('NeomakeInfoSign', s:white, s:base00, '', '') + call s:hi('NeomakeError', s:red, '', 'underline', s:red) + call s:hi('NeomakeWarning', s:red, '', 'underline', s:red) + + call s:hi('ALEErrorSign', s:red, s:base00, s:bold, '') + call s:hi('ALEWarningSign', s:yellow, s:base00, s:bold, '') + call s:hi('ALEInfoSign', s:white, s:base00, s:bold, '') + + call s:hi('NERDTreeExecFile', s:base05, '', '', '') + call s:hi('NERDTreeDirSlash', s:blue, '', '', '') + call s:hi('NERDTreeOpenable', s:blue, '', '', '') + call s:hi('NERDTreeFile', '', s:none, '', '') + call s:hi('NERDTreeFlags', s:blue, '', '', '') + + call s:hi('phpComparison', s:base05, '', '', '') + call s:hi('phpParent', s:base05, '', '', '') + call s:hi('phpMemberSelector', s:base05, '', '', '') + + call s:hi('pythonRepeat', s:purple, '', '', '') + call s:hi('pythonOperator', s:purple, '', '', '') + + call s:hi('rubyConstant', s:yellow, '', '', '') + call s:hi('rubySymbol', s:green, '', '', '') + call s:hi('rubyAttribute', s:blue, '', '', '') + call s:hi('rubyInterpolation', s:green, '', '', '') + call s:hi('rubyInterpolationDelimiter', s:brown, '', '', '') + call s:hi('rubyStringDelimiter', s:green, '', '', '') + call s:hi('rubyRegexp', s:cyan, '', '', '') + + call s:hi('sassidChar', s:red, '', '', '') + call s:hi('sassClassChar', s:orange, '', '', '') + call s:hi('sassInclude', s:purple, '', '', '') + call s:hi('sassMixing', s:purple, '', '', '') + call s:hi('sassMixinName', s:blue, '', '', '') + + call s:hi('vimfilerLeaf', s:base05, '', '', '') + call s:hi('vimfilerNormalFile', s:base05, s:base00, '', '') + call s:hi('vimfilerOpenedFile', s:blue, '', '', '') + call s:hi('vimfilerClosedFile', s:blue, '', '', '') + + call s:hi('GitGutterAdd', s:green, s:base00, s:bold, '') + call s:hi('GitGutterChange', s:blue, s:base00, s:bold, '') + call s:hi('GitGutterDelete', s:red, s:base00, s:bold, '') + call s:hi('GitGutterChangeDelete', s:purple, s:base00, s:bold, '') + + call s:hi('SignifySignAdd', s:green, s:base00, s:bold, '') + call s:hi('SignifySignChange', s:blue, s:base00, s:bold, '') + call s:hi('SignifySignDelete', s:red, s:base00, s:bold, '') + call s:hi('SignifySignChangeDelete', s:purple, s:base00, s:bold, '') + call s:hi('SignifySignDeleteFirstLine', s:red, s:base00, s:bold, '') + + call s:hi('xmlTag', s:cyan, '', '', '') + call s:hi('xmlTagName', s:base05, '', '', '') + call s:hi('xmlEndTag', s:cyan, '', '', '') + call s:hi('Defx_filename_directory', s:blue, '', '', '') + + call s:hi('CocErrorSign', s:red, '', '', '') + call s:hi('CocWarningSign', s:yellow, '', '', '') + call s:hi('CocInfoSign', s:blue, '', '', '') + call s:hi('CocHintSign', s:cyan, '', '', '') + call s:hi('CocErrorFloat', s:red, '', '', '') + call s:hi('CocWarningFloat', s:yellow, '', '', '') + call s:hi('CocInfoFloat', s:blue, '', '', '') + call s:hi('CocHintFloat', s:cyan, '', '', '') + call s:hi('CocDiagnosticsError', s:red, '', '', '') + call s:hi('CocDiagnosticsWarning', s:yellow, '', '', '') + call s:hi('CocDiagnosticsInfo', s:blue, '', '', '') + call s:hi('CocDiagnosticsHint', s:cyan, '', '', '') + call s:hi('CocSelectedText', s:purple, '', '', '') + call s:hi('CocCodeLens', s:base04, '', '', '') +" }}} +" {{{ Terminal +if has('nvim') + let g:terminal_color_0=s:base00[0] + let g:terminal_color_8=s:base03[0] + + let g:terminal_color_1=s:red[0] + let g:terminal_color_9=s:red[0] + + let g:terminal_color_2=s:green[0] + let g:terminal_color_10=s:green[0] + + let g:terminal_color_3=s:yellow[0] + let g:terminal_color_11=s:yellow[0] + + let g:terminal_color_4=s:blue[0] + let g:terminal_color_12=s:blue[0] + + let g:terminal_color_5=s:purple[0] + let g:terminal_color_13=s:purple[0] + + let g:terminal_color_6=s:cyan[0] + let g:terminal_color_14=s:cyan[0] + + let g:terminal_color_7=s:base05[0] + let g:terminal_color_15=s:base05[0] + + let g:terminal_color_background=s:base00[0] + let g:terminal_color_foreground=s:white[0] +else + let g:terminal_ansi_colors = [ + \ s:base00[0], + \ s:red[0], + \ s:green[0], + \ s:yellow[0], + \ s:blue[0], + \ s:purple[0], + \ s:cyan[0], + \ s:white[0], + \ s:base03[0], + \ s:red[0], + \ s:green[0], + \ s:yellow[0], + \ s:blue[0], + \ s:purple[0], + \ s:cyan[0], + \ s:white[0], + \] + +endif + + diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/PaperColor.vim b/nvim/plugged/awesome-vim-colorschemes/colors/PaperColor.vim new file mode 100644 index 00000000..81a12883 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/PaperColor.vim @@ -0,0 +1,2296 @@ +" Theme: PaperColor +" Author: Nikyle Nguyen +" License: MIT +" Source: http://github.com/NLKNguyen/papercolor-theme + +let s:version = '0.9.x' + +" Note on navigating this source code: +" - Use folding feature to collapse/uncollapse blocks of marked code +" zM to fold all markers in this file to see the structure of the source code +" zR to unfold all recursively +" za to toggle a fold +" See: http://vim.wikia.com/wiki/Folding +" - The main section is at the end where the functions are called in order. + +" Theme Repository: {{{ + +let s:themes = {} + +" }}} + +fun! s:register_default_theme() + " Theme name should be lowercase + let s:themes['default'] = { + \ 'maintainer' : 'Nikyle Nguyen ', + \ 'source' : 'http://github.com/NLKNguyen/papercolor-theme', + \ 'description' : 'The original PaperColor Theme, inspired by Google Material Design', + \ 'options' : { + \ 'allow_bold': 1 + \ } + \ } + + " Theme can have 'light' and/or 'dark' color palette. + " Color values can be HEX and/or 256-color. Use empty string '' if not provided. + " Only color00 -> color15 are required. The rest are optional. + let s:themes['default'].light = { + \ 'NO_CONVERSION': 1, + \ 'TEST_256_COLOR_CONSISTENCY' : 1, + \ 'palette' : { + \ 'color00' : ['#eeeeee', '255'], + \ 'color01' : ['#af0000', '124'], + \ 'color02' : ['#008700', '28'], + \ 'color03' : ['#5f8700', '64'], + \ 'color04' : ['#0087af', '31'], + \ 'color05' : ['#878787', '102'], + \ 'color06' : ['#005f87', '24'], + \ 'color07' : ['#444444', '238'], + \ 'color08' : ['#bcbcbc', '250'], + \ 'color09' : ['#d70000', '160'], + \ 'color10' : ['#d70087', '162'], + \ 'color11' : ['#8700af', '91'], + \ 'color12' : ['#d75f00', '166'], + \ 'color13' : ['#d75f00', '166'], + \ 'color14' : ['#005faf', '25'], + \ 'color15' : ['#005f87', '24'], + \ 'color16' : ['#0087af', '31'], + \ 'color17' : ['#008700', '28'], + \ 'cursor_fg' : ['#eeeeee', '255'], + \ 'cursor_bg' : ['#005f87', '24'], + \ 'cursorline' : ['#e4e4e4', '254'], + \ 'cursorcolumn' : ['#e4e4e4', '254'], + \ 'cursorlinenr_fg' : ['#af5f00', '130'], + \ 'cursorlinenr_bg' : ['#eeeeee', '255'], + \ 'popupmenu_fg' : ['#444444', '238'], + \ 'popupmenu_bg' : ['#d0d0d0', '252'], + \ 'search_fg' : ['#444444', '238'], + \ 'search_bg' : ['#ffff5f', '227'], + \ 'linenumber_fg' : ['#b2b2b2', '249'], + \ 'linenumber_bg' : ['#eeeeee', '255'], + \ 'vertsplit_fg' : ['#005f87', '24'], + \ 'vertsplit_bg' : ['#eeeeee', '255'], + \ 'statusline_active_fg' : ['#e4e4e4', '254'], + \ 'statusline_active_bg' : ['#005f87', '24'], + \ 'statusline_inactive_fg' : ['#444444', '238'], + \ 'statusline_inactive_bg' : ['#d0d0d0', '252'], + \ 'todo_fg' : ['#00af5f', '35'], + \ 'todo_bg' : ['#eeeeee', '255'], + \ 'error_fg' : ['#af0000', '124'], + \ 'error_bg' : ['#ffd7ff', '225'], + \ 'matchparen_bg' : ['#c6c6c6', '251'], + \ 'matchparen_fg' : ['#005f87', '24'], + \ 'visual_fg' : ['#eeeeee', '255'], + \ 'visual_bg' : ['#0087af', '31'], + \ 'folded_fg' : ['#0087af', '31'], + \ 'folded_bg' : ['#afd7ff', '153'], + \ 'wildmenu_fg': ['#444444', '238'], + \ 'wildmenu_bg': ['#ffff00', '226'], + \ 'spellbad': ['#ffafd7', '218'], + \ 'spellcap': ['#ffffaf', '229'], + \ 'spellrare': ['#afff87', '156'], + \ 'spelllocal': ['#d7d7ff', '189'], + \ 'diffadd_fg': ['#008700', '28'], + \ 'diffadd_bg': ['#afffaf', '157'], + \ 'diffdelete_fg': ['#af0000', '124'], + \ 'diffdelete_bg': ['#ffd7ff', '225'], + \ 'difftext_fg': ['#0087af', '31'], + \ 'difftext_bg': ['#ffffd7', '230'], + \ 'diffchange_fg': ['#444444', '238'], + \ 'diffchange_bg': ['#ffd787', '222'], + \ 'tabline_bg': ['#005f87', '24'], + \ 'tabline_active_fg': ['#444444', '238'], + \ 'tabline_active_bg': ['#e4e4e4', '254'], + \ 'tabline_inactive_fg': ['#eeeeee', '255'], + \ 'tabline_inactive_bg': ['#0087af', '31'], + \ 'buftabline_bg': ['#005f87', '24'], + \ 'buftabline_current_fg': ['#444444', '238'], + \ 'buftabline_current_bg': ['#e4e4e4', '254'], + \ 'buftabline_active_fg': ['#eeeeee', '255'], + \ 'buftabline_active_bg': ['#005faf', '25'], + \ 'buftabline_inactive_fg': ['#eeeeee', '255'], + \ 'buftabline_inactive_bg': ['#0087af', '31'] + \ } + \ } + + " TODO: idea for subtheme options + " let s:themes['default'].light.subtheme = { + " \ 'alternative' : { + " \ 'options' : { + " \ 'transparent_background': 1 + " \ }, + " \ 'palette' : { + " \ } + " \ } + " \ } + + let s:themes['default'].dark = { + \ 'NO_CONVERSION': 1, + \ 'TEST_256_COLOR_CONSISTENCY' : 1, + \ 'palette' : { + \ 'color00' : ['#1c1c1c', '234'], + \ 'color01' : ['#af005f', '125'], + \ 'color02' : ['#5faf00', '70'], + \ 'color03' : ['#d7af5f', '179'], + \ 'color04' : ['#5fafd7', '74'], + \ 'color05' : ['#808080', '244'], + \ 'color06' : ['#d7875f', '173'], + \ 'color07' : ['#d0d0d0', '252'], + \ 'color08' : ['#585858', '240'], + \ 'color09' : ['#5faf5f', '71'], + \ 'color10' : ['#afd700', '148'], + \ 'color11' : ['#af87d7', '140'], + \ 'color12' : ['#ffaf00', '214'], + \ 'color13' : ['#ff5faf', '205'], + \ 'color14' : ['#00afaf', '37'], + \ 'color15' : ['#5f8787', '66'], + \ 'color16' : ['#5fafd7', '74'], + \ 'color17' : ['#d7af00', '178'], + \ 'cursor_fg' : ['#1c1c1c', '234'], + \ 'cursor_bg' : ['#c6c6c6', '251'], + \ 'cursorline' : ['#303030', '236'], + \ 'cursorcolumn' : ['#303030', '236'], + \ 'cursorlinenr_fg' : ['#ffff00', '226'], + \ 'cursorlinenr_bg' : ['#1c1c1c', '234'], + \ 'popupmenu_fg' : ['#c6c6c6', '251'], + \ 'popupmenu_bg' : ['#303030', '236'], + \ 'search_fg' : ['#000000', '16'], + \ 'search_bg' : ['#00875f', '29'], + \ 'linenumber_fg' : ['#585858', '240'], + \ 'linenumber_bg' : ['#1c1c1c', '234'], + \ 'vertsplit_fg' : ['#5f8787', '66'], + \ 'vertsplit_bg' : ['#1c1c1c', '234'], + \ 'statusline_active_fg' : ['#1c1c1c', '234'], + \ 'statusline_active_bg' : ['#5f8787', '66'], + \ 'statusline_inactive_fg' : ['#bcbcbc', '250'], + \ 'statusline_inactive_bg' : ['#3a3a3a', '237'], + \ 'todo_fg' : ['#ff8700', '208'], + \ 'todo_bg' : ['#1c1c1c', '234'], + \ 'error_fg' : ['#af005f', '125'], + \ 'error_bg' : ['#5f0000', '52'], + \ 'matchparen_bg' : ['#4e4e4e', '239'], + \ 'matchparen_fg' : ['#c6c6c6', '251'], + \ 'visual_fg' : ['#000000', '16'], + \ 'visual_bg' : ['#8787af', '103'], + \ 'folded_fg' : ['#d787ff', '177'], + \ 'folded_bg' : ['#5f005f', '53'], + \ 'wildmenu_fg': ['#1c1c1c', '234'], + \ 'wildmenu_bg': ['#afd700', '148'], + \ 'spellbad': ['#5f0000', '52'], + \ 'spellcap': ['#5f005f', '53'], + \ 'spellrare': ['#005f00', '22'], + \ 'spelllocal': ['#00005f', '17'], + \ 'diffadd_fg': ['#87d700', '112'], + \ 'diffadd_bg': ['#005f00', '22'], + \ 'diffdelete_fg': ['#af005f', '125'], + \ 'diffdelete_bg': ['#5f0000', '52'], + \ 'difftext_fg': ['#5fffff', '87'], + \ 'difftext_bg': ['#008787', '30'], + \ 'diffchange_fg': ['#d0d0d0', '252'], + \ 'diffchange_bg': ['#005f5f', '23'], + \ 'tabline_bg': ['#262626', '235'], + \ 'tabline_active_fg': ['#121212', '233'], + \ 'tabline_active_bg': ['#00afaf', '37'], + \ 'tabline_inactive_fg': ['#bcbcbc', '250'], + \ 'tabline_inactive_bg': ['#585858', '240'], + \ 'buftabline_bg': ['#262626', '235'], + \ 'buftabline_current_fg': ['#121212', '233'], + \ 'buftabline_current_bg': ['#00afaf', '37'], + \ 'buftabline_active_fg': ['#00afaf', '37'], + \ 'buftabline_active_bg': ['#585858', '240'], + \ 'buftabline_inactive_fg': ['#bcbcbc', '250'], + \ 'buftabline_inactive_bg': ['#585858', '240'] + \ } + \ } +endfun + +" ============================ THEME REGISTER ================================= + +" Acquire Theme Data: {{{ + +" Brief: +" Function to get theme information and store in variables for other +" functions to use +" +" Require: +" s:themes collection of all theme palettes +" +" Require Optionally: +" {g:PaperColor_Theme_[s:theme_name]} user custom theme palette +" g:PaperColor_Theme_Options user options +" +" Expose: +" s:theme_name the name of the selected theme +" s:selected_theme the selected theme object (contains palette, etc.) +" s:selected_variant 'light' or 'dark' +" s:palette the palette of selected theme +" s:options user options +fun! s:acquire_theme_data() + + " Get theme name: {{{ + let s:theme_name = 'default' + + if exists("g:PaperColor_Theme") " Users expressed theme preference + let lowercase_theme_name = tolower(g:PaperColor_Theme) + + if lowercase_theme_name !=? 'default' + let theme_identifier = 'PaperColor_' . lowercase_theme_name + let autoload_function = theme_identifier . '#register' + + call {autoload_function}() + + let theme_variable = 'g:' . theme_identifier + + if exists(theme_variable) + let s:theme_name = lowercase_theme_name + let s:themes[s:theme_name] = {theme_variable} + endif + + endif + + endif + " }}} + + if s:theme_name ==? 'default' + " Either no other theme is specified or they failed to load + " Defer loading default theme until now + call s:register_default_theme() + endif + + let s:selected_theme = s:themes[s:theme_name] + + " Get Theme Variant: either dark or light {{{ + let s:selected_variant = 'dark' + + let s:is_dark=(&background == 'dark') + + if s:is_dark + if has_key(s:selected_theme, 'dark') + let s:selected_variant = 'dark' + else " in case the theme only provides the other variant + let s:selected_variant = 'light' + endif + + else " is light background + if has_key(s:selected_theme, 'light') + let s:selected_variant = 'light' + else " in case the theme only provides the other variant + let s:selected_variant = 'dark' + endif + endif + + let s:palette = s:selected_theme[s:selected_variant].palette + + " Systematic User-Config Options: {{{ + " Example config in .vimrc + " let g:PaperColor_Theme_Options = { + " \ 'theme': { + " \ 'default': { + " \ 'allow_bold': 1, + " \ 'allow_italic': 0, + " \ 'transparent_background': 1 + " \ } + " \ }, + " \ 'language': { + " \ 'python': { + " \ 'highlight_builtins' : 1 + " \ }, + " \ 'c': { + " \ 'highlight_builtins' : 1 + " \ }, + " \ 'cpp': { + " \ 'highlight_standard_library': 1 + " \ } + " \ } + " \ } + " + let s:options = {} + + + if exists("g:PaperColor_Theme_Options") + let s:options = g:PaperColor_Theme_Options + endif + " }}} + + " }}} +endfun + + +" }}} + +" Identify Color Mode: {{{ + +fun! s:identify_color_mode() + let s:MODE_16_COLOR = 0 + let s:MODE_256_COLOR = 1 + let s:MODE_GUI_COLOR = 2 + + if has("gui_running") || has('termguicolors') && &termguicolors || has('nvim') && $NVIM_TUI_ENABLE_TRUE_COLOR + let s:mode = s:MODE_GUI_COLOR + elseif (&t_Co >= 256) + let s:mode = s:MODE_256_COLOR + else + let s:mode = s:MODE_16_COLOR + endif +endfun + +" }}} + +" ============================ OPTION HANDLER ================================= + +" Generate Them Option Variables: {{{ + + +fun! s:generate_theme_option_variables() + " 0. All possible theme option names must be registered here + let l:available_theme_options = [ + \ 'allow_bold', + \ 'allow_italic', + \ 'transparent_background', + \ ] + + " 1. Generate variables and set to default value + for l:option in l:available_theme_options + let s:{'themeOpt_' . l:option} = 0 + endfor + + let s:themeOpt_override = {} " special case, this has to be a dictionary + + " 2. Reassign value to the above variables based on theme settings + + " 2.1 In case the theme has top-level options + if has_key(s:selected_theme, 'options') + let l:theme_options = s:selected_theme['options'] + for l:opt_name in keys(l:theme_options) + let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] + " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} + endfor + endif + + " 2.2 In case the theme has specific variant options + if has_key(s:selected_theme[s:selected_variant], 'options') + let l:theme_options = s:selected_theme[s:selected_variant]['options'] + for l:opt_name in keys(l:theme_options) + let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] + " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} + endfor + endif + + + " 3. Reassign value to the above variables which the user customizes + " Part of user-config options + let s:theme_options = {} + if has_key(s:options, 'theme') + let s:theme_options = s:options['theme'] + endif + + " 3.1 In case user sets for a theme without specifying which variant + if has_key(s:theme_options, s:theme_name) + let l:theme_options = s:theme_options[s:theme_name] + for l:opt_name in keys(l:theme_options) + let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] + " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} + endfor + endif + + + " 3.2 In case user sets for a specific variant of a theme + + " Create the string that the user might have set for this theme variant + " for example, 'default.dark' + let l:specific_theme_variant = s:theme_name . '.' . s:selected_variant + + if has_key(s:theme_options, l:specific_theme_variant) + let l:theme_options = s:theme_options[l:specific_theme_variant] + for l:opt_name in keys(l:theme_options) + let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] + " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} + endfor + endif + +endfun +" }}} + +" Check If Theme Has Hint: {{{ +" +" Brief: +" Function to Check if the selected theme and variant has a hint +" +" Details: +" A hint is a known key that has value 1 +" It is not part of theme design but is used for technical purposes +" +" Example: +" If a theme has hint 'NO_CONVERSION', then we can assume that every +" color value is a complete pair, so we don't have to check. + +fun! s:theme_has_hint(hint) + return has_key(s:selected_theme[s:selected_variant], a:hint) && + \ s:selected_theme[s:selected_variant][a:hint] == 1 +endfun +" }}} + +" Set Overriding Colors: {{{ + +fun! s:set_overriding_colors() + + if s:theme_has_hint('NO_CONVERSION') + " s:convert_colors will not do anything, so we take care of conversion + " for the overriding colors that need to be converted + + if s:mode == s:MODE_GUI_COLOR + " if GUI color is not provided, convert from 256 color that must be available + if !empty(s:themeOpt_override) + call s:load_256_to_GUI_converter() + endif + + for l:color in keys(s:themeOpt_override) + let l:value = s:themeOpt_override[l:color] + if l:value[0] == '' + let l:value[0] = s:to_HEX[l:value[1]] + endif + let s:palette[l:color] = l:value + endfor + + elseif s:mode == s:MODE_256_COLOR + " if 256 color is not provided, convert from GUI color that must be available + if !empty(s:themeOpt_override) + call s:load_GUI_to_256_converter() + endif + + for l:color in keys(s:themeOpt_override) + let l:value = s:themeOpt_override[l:color] + if l:value[1] == '' + let l:value[1] = s:to_256(l:value[0]) + endif + let s:palette[l:color] = l:value + endfor + endif + + else " simply set the colors and let s:convert_colors() take care of conversion + + for l:color in keys(s:themeOpt_override) + let s:palette[l:color] = s:themeOpt_override[l:color] + endfor + endif + +endfun +" }}} + +" Generate Language Option Variables: {{{ + +" Brief: +" Function to generate language option variables so that there is no need to +" look up from the dictionary every time the option value is checked in the +" function s:apply_syntax_highlightings() +" +" Require: +" s:options user options +" +" Require Optionally: +" g:PaperColor_Theme_Options user option config in .vimrc +" +" Expose: +" s:langOpt_[LANGUAGE]__[OPTION] variables for language options +" +" Example: +" g:PaperColor_Theme_Options has something like this: +" 'language': { +" \ 'python': { +" \ 'highlight_builtins': 1 +" \ } +" } +" The following variable will be generated: +" s:langOpt_python__highlight_builtins = 1 + +fun! s:generate_language_option_variables() + " 0. All possible theme option names must be registered here + let l:available_language_options = [ + \ 'c__highlight_builtins', + \ 'cpp__highlight_standard_library', + \ 'python__highlight_builtins' + \ ] + + " 1. Generate variables and set to default value + for l:option in l:available_language_options + let s:{'langOpt_' . l:option} = 0 + endfor + + " Part of user-config options + if has_key(s:options, 'language') + let l:language_options = s:options['language'] + " echo l:language_options + for l:lang in keys(l:language_options) + let l:options = l:language_options[l:lang] + " echo l:lang + " echo l:options + for l:option in keys(l:options) + let s:{'langOpt_' . l:lang . '__' . l:option} = l:options[l:option] + " echo 's:langOpt_' . l:lang . '__' . l:option . ' = ' . l:options[l:option] + endfor + endfor + + endif + +endfun +" }}} + +" =========================== COLOR CONVERTER ================================= + +fun! s:load_GUI_to_256_converter() + " GUI-color To 256-color: {{{ + " Returns an approximate grey index for the given grey level + fun! s:grey_number(x) + if &t_Co == 88 + if a:x < 23 + return 0 + elseif a:x < 69 + return 1 + elseif a:x < 103 + return 2 + elseif a:x < 127 + return 3 + elseif a:x < 150 + return 4 + elseif a:x < 173 + return 5 + elseif a:x < 196 + return 6 + elseif a:x < 219 + return 7 + elseif a:x < 243 + return 8 + else + return 9 + endif + else + if a:x < 14 + return 0 + else + let l:n = (a:x - 8) / 10 + let l:m = (a:x - 8) % 10 + if l:m < 5 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " Returns the actual grey level represented by the grey index + fun! s:grey_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 46 + elseif a:n == 2 + return 92 + elseif a:n == 3 + return 115 + elseif a:n == 4 + return 139 + elseif a:n == 5 + return 162 + elseif a:n == 6 + return 185 + elseif a:n == 7 + return 208 + elseif a:n == 8 + return 231 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 8 + (a:n * 10) + endif + endif + endfun + + " Returns the palette index for the given grey index + fun! s:grey_colour(n) + if &t_Co == 88 + if a:n == 0 + return 16 + elseif a:n == 9 + return 79 + else + return 79 + a:n + endif + else + if a:n == 0 + return 16 + elseif a:n == 25 + return 231 + else + return 231 + a:n + endif + endif + endfun + + " Returns an approximate colour index for the given colour level + fun! s:rgb_number(x) + if &t_Co == 88 + if a:x < 69 + return 0 + elseif a:x < 172 + return 1 + elseif a:x < 230 + return 2 + else + return 3 + endif + else + if a:x < 75 + return 0 + else + let l:n = (a:x - 55) / 40 + let l:m = (a:x - 55) % 40 + if l:m < 20 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " Returns the actual colour level for the given colour index + fun! s:rgb_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 139 + elseif a:n == 2 + return 205 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 55 + (a:n * 40) + endif + endif + endfun + + " Returns the palette index for the given R/G/B colour indices + fun! s:rgb_colour(x, y, z) + if &t_Co == 88 + return 16 + (a:x * 16) + (a:y * 4) + a:z + else + return 16 + (a:x * 36) + (a:y * 6) + a:z + endif + endfun + + " Returns the palette index to approximate the given R/G/B colour levels + fun! s:colour(r, g, b) + " Get the closest grey + let l:gx = s:grey_number(a:r) + let l:gy = s:grey_number(a:g) + let l:gz = s:grey_number(a:b) + + " Get the closest colour + let l:x = s:rgb_number(a:r) + let l:y = s:rgb_number(a:g) + let l:z = s:rgb_number(a:b) + + if l:gx == l:gy && l:gy == l:gz + " There are two possibilities + let l:dgr = s:grey_level(l:gx) - a:r + let l:dgg = s:grey_level(l:gy) - a:g + let l:dgb = s:grey_level(l:gz) - a:b + let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) + let l:dr = s:rgb_level(l:gx) - a:r + let l:dg = s:rgb_level(l:gy) - a:g + let l:db = s:rgb_level(l:gz) - a:b + let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) + if l:dgrey < l:drgb + " Use the grey + return s:grey_colour(l:gx) + else + " Use the colour + return s:rgb_colour(l:x, l:y, l:z) + endif + else + " Only one possibility + return s:rgb_colour(l:x, l:y, l:z) + endif + endfun + + " Returns the palette index to approximate the '#rrggbb' hex string + fun! s:to_256(rgb) + let l:r = ("0x" . strpart(a:rgb, 1, 2)) + 0 + let l:g = ("0x" . strpart(a:rgb, 3, 2)) + 0 + let l:b = ("0x" . strpart(a:rgb, 5, 2)) + 0 + + return s:colour(l:r, l:g, l:b) + endfun + + + + " }}} +endfun + +fun! s:load_256_to_GUI_converter() +" 256-color To GUI-color: {{{ + +""" Xterm 256 color dictionary +" See: http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html +" +let s:to_HEX = { + \ '00': '#000000', '01': '#800000', '02': '#008000', '03': '#808000', '04': '#000080', + \ '05': '#800080', '06': '#008080', '07': '#c0c0c0', '08': '#808080', '09': '#ff0000', + \ '10': '#00ff00', '11': '#ffff00', '12': '#0000ff', '13': '#ff00ff', '14': '#00ffff', + \ '15': '#ffffff', '16': '#000000', '17': '#00005f', '18': '#000087', '19': '#0000af', + \ '20': '#0000d7', '21': '#0000ff', '22': '#005f00', '23': '#005f5f', '24': '#005f87', + \ '25': '#005faf', '26': '#005fd7', '27': '#005fff', '28': '#008700', '29': '#00875f', + \ '30': '#008787', '31': '#0087af', '32': '#0087d7', '33': '#0087ff', '34': '#00af00', + \ '35': '#00af5f', '36': '#00af87', '37': '#00afaf', '38': '#00afd7', '39': '#00afff', + \ '40': '#00d700', '41': '#00d75f', '42': '#00d787', '43': '#00d7af', '44': '#00d7d7', + \ '45': '#00d7ff', '46': '#00ff00', '47': '#00ff5f', '48': '#00ff87', '49': '#00ffaf', + \ '50': '#00ffd7', '51': '#00ffff', '52': '#5f0000', '53': '#5f005f', '54': '#5f0087', + \ '55': '#5f00af', '56': '#5f00d7', '57': '#5f00ff', '58': '#5f5f00', '59': '#5f5f5f', + \ '60': '#5f5f87', '61': '#5f5faf', '62': '#5f5fd7', '63': '#5f5fff', '64': '#5f8700', + \ '65': '#5f875f', '66': '#5f8787', '67': '#5f87af', '68': '#5f87d7', '69': '#5f87ff', + \ '70': '#5faf00', '71': '#5faf5f', '72': '#5faf87', '73': '#5fafaf', '74': '#5fafd7', + \ '75': '#5fafff', '76': '#5fd700', '77': '#5fd75f', '78': '#5fd787', '79': '#5fd7af', + \ '80': '#5fd7d7', '81': '#5fd7ff', '82': '#5fff00', '83': '#5fff5f', '84': '#5fff87', + \ '85': '#5fffaf', '86': '#5fffd7', '87': '#5fffff', '88': '#870000', '89': '#87005f', + \ '90': '#870087', '91': '#8700af', '92': '#8700d7', '93': '#8700ff', '94': '#875f00', + \ '95': '#875f5f', '96': '#875f87', '97': '#875faf', '98': '#875fd7', '99': '#875fff', + \ '100': '#878700', '101': '#87875f', '102': '#878787', '103': '#8787af', '104': '#8787d7', + \ '105': '#8787ff', '106': '#87af00', '107': '#87af5f', '108': '#87af87', '109': '#87afaf', + \ '110': '#87afd7', '111': '#87afff', '112': '#87d700', '113': '#87d75f', '114': '#87d787', + \ '115': '#87d7af', '116': '#87d7d7', '117': '#87d7ff', '118': '#87ff00', '119': '#87ff5f', + \ '120': '#87ff87', '121': '#87ffaf', '122': '#87ffd7', '123': '#87ffff', '124': '#af0000', + \ '125': '#af005f', '126': '#af0087', '127': '#af00af', '128': '#af00d7', '129': '#af00ff', + \ '130': '#af5f00', '131': '#af5f5f', '132': '#af5f87', '133': '#af5faf', '134': '#af5fd7', + \ '135': '#af5fff', '136': '#af8700', '137': '#af875f', '138': '#af8787', '139': '#af87af', + \ '140': '#af87d7', '141': '#af87ff', '142': '#afaf00', '143': '#afaf5f', '144': '#afaf87', + \ '145': '#afafaf', '146': '#afafd7', '147': '#afafff', '148': '#afd700', '149': '#afd75f', + \ '150': '#afd787', '151': '#afd7af', '152': '#afd7d7', '153': '#afd7ff', '154': '#afff00', + \ '155': '#afff5f', '156': '#afff87', '157': '#afffaf', '158': '#afffd7', '159': '#afffff', + \ '160': '#d70000', '161': '#d7005f', '162': '#d70087', '163': '#d700af', '164': '#d700d7', + \ '165': '#d700ff', '166': '#d75f00', '167': '#d75f5f', '168': '#d75f87', '169': '#d75faf', + \ '170': '#d75fd7', '171': '#d75fff', '172': '#d78700', '173': '#d7875f', '174': '#d78787', + \ '175': '#d787af', '176': '#d787d7', '177': '#d787ff', '178': '#d7af00', '179': '#d7af5f', + \ '180': '#d7af87', '181': '#d7afaf', '182': '#d7afd7', '183': '#d7afff', '184': '#d7d700', + \ '185': '#d7d75f', '186': '#d7d787', '187': '#d7d7af', '188': '#d7d7d7', '189': '#d7d7ff', + \ '190': '#d7ff00', '191': '#d7ff5f', '192': '#d7ff87', '193': '#d7ffaf', '194': '#d7ffd7', + \ '195': '#d7ffff', '196': '#ff0000', '197': '#ff005f', '198': '#ff0087', '199': '#ff00af', + \ '200': '#ff00d7', '201': '#ff00ff', '202': '#ff5f00', '203': '#ff5f5f', '204': '#ff5f87', + \ '205': '#ff5faf', '206': '#ff5fd7', '207': '#ff5fff', '208': '#ff8700', '209': '#ff875f', + \ '210': '#ff8787', '211': '#ff87af', '212': '#ff87d7', '213': '#ff87ff', '214': '#ffaf00', + \ '215': '#ffaf5f', '216': '#ffaf87', '217': '#ffafaf', '218': '#ffafd7', '219': '#ffafff', + \ '220': '#ffd700', '221': '#ffd75f', '222': '#ffd787', '223': '#ffd7af', '224': '#ffd7d7', + \ '225': '#ffd7ff', '226': '#ffff00', '227': '#ffff5f', '228': '#ffff87', '229': '#ffffaf', + \ '230': '#ffffd7', '231': '#ffffff', '232': '#080808', '233': '#121212', '234': '#1c1c1c', + \ '235': '#262626', '236': '#303030', '237': '#3a3a3a', '238': '#444444', '239': '#4e4e4e', + \ '240': '#585858', '241': '#626262', '242': '#6c6c6c', '243': '#767676', '244': '#808080', + \ '245': '#8a8a8a', '246': '#949494', '247': '#9e9e9e', '248': '#a8a8a8', '249': '#b2b2b2', + \ '250': '#bcbcbc', '251': '#c6c6c6', '252': '#d0d0d0', '253': '#dadada', '254': '#e4e4e4', + \ '255': '#eeeeee' } + +" }}} +endfun + +" ========================== ENVIRONMENT ADAPTER ============================== + +" Set Format Attributes: {{{ + +fun! s:set_format_attributes() + " These are the default + if s:mode == s:MODE_GUI_COLOR + let s:ft_bold = " cterm=bold gui=bold " + let s:ft_none = " cterm=none gui=none " + let s:ft_reverse = " cterm=reverse gui=reverse " + let s:ft_italic = " cterm=italic gui=italic " + let s:ft_italic_bold = " cterm=italic,bold gui=italic,bold " + elseif s:mode == s:MODE_256_COLOR + let s:ft_bold = " cterm=bold " + let s:ft_none = " cterm=none " + let s:ft_reverse = " cterm=reverse " + let s:ft_italic = " cterm=italic " + let s:ft_italic_bold = " cterm=italic,bold " + else + let s:ft_bold = "" + let s:ft_none = " cterm=none " + let s:ft_reverse = " cterm=reverse " + let s:ft_italic = "" + let s:ft_italic_bold = "" + endif + + " Unless instructed otherwise either by theme setting or user overriding + + if s:themeOpt_allow_bold == 0 + let s:ft_bold = "" + endif + if s:themeOpt_allow_italic == 0 + let s:ft_italic = "" + let s:ft_italic_bold = s:ft_bold + endif + +endfun + +" }}} + +" Convert Colors If Needed: {{{ +fun! s:convert_colors() + if s:theme_has_hint('NO_CONVERSION') + return + endif + + if s:mode == s:MODE_GUI_COLOR + " if GUI color is not provided, convert from 256 color that must be available + call s:load_256_to_GUI_converter() + + for l:color in keys(s:palette) + let l:value = s:palette[l:color] + if l:value[0] == '' + let l:value[0] = s:to_HEX[l:value[1]] + endif + let s:palette[l:color] = l:value + endfor + + elseif s:mode == s:MODE_256_COLOR + " if 256 color is not provided, convert from GUI color that must be available + call s:load_GUI_to_256_converter() + + for l:color in keys(s:palette) + let l:value = s:palette[l:color] + if l:value[1] == '' + let l:value[1] = s:to_256(l:value[0]) + endif + let s:palette[l:color] = l:value + endfor + endif + " otherwise use the terminal colors and none of the theme colors are used +endfun + +" }}} + +" ============================ COLOR POPULARIZER =============================== + +" Set Color Variables: {{{ +fun! s:set_color_variables() + + " Helper: {{{ + " ------- + " Function to dynamically generate variables that store the color strings + " for setting highlighting. Each color name will have 2 variables with prefix + " s:fg_ and s:bg_. For example: + " if a:color_name is 'Normal' and a:color_value is ['#000000', '0', 'Black'], + " the following 2 variables will be created: + " s:fg_Normal that stores the string ' guifg=#000000 ' + " s:bg_Normal that stores the string ' guibg=#000000 ' + " Depending on the color mode, ctermfg and ctermbg will be either 0 or Black + " + " Rationale: + " The whole purpose is for speed. We generate these ahead of time so that we + " don't have to do look up or do any if-branch when we set the highlightings. + " + " Furthermore, multiple function definitions for each mode actually reduces + " the need for multiple if-branches inside a single function. This is not + " pretty, but Vim Script is slow, so reducing if-branches in function that is + " often called helps speeding things up quite a bit. Think of this like macro. + " + " If you are familiar with the old code base (v0.9 and ealier), this way of + " generate variables dramatically reduces the loading speed. + " None of previous optimization tricks gets anywhere near this. + if s:mode == s:MODE_GUI_COLOR + fun! s:create_color_variables(color_name, rich_color, term_color) + let {'s:fg_' . a:color_name} = ' guifg=' . a:rich_color[0] . ' ' + let {'s:bg_' . a:color_name} = ' guibg=' . a:rich_color[0] . ' ' + let {'s:sp_' . a:color_name} = ' guisp=' . a:rich_color[0] . ' ' + endfun + elseif s:mode == s:MODE_256_COLOR + fun! s:create_color_variables(color_name, rich_color, term_color) + let {'s:fg_' . a:color_name} = ' ctermfg=' . a:rich_color[1] . ' ' + let {'s:bg_' . a:color_name} = ' ctermbg=' . a:rich_color[1] . ' ' + let {'s:sp_' . a:color_name} = '' + endfun + else + fun! s:create_color_variables(color_name, rich_color, term_color) + let {'s:fg_' . a:color_name} = ' ctermfg=' . a:term_color . ' ' + let {'s:bg_' . a:color_name} = ' ctermbg=' . a:term_color . ' ' + let {'s:sp_' . a:color_name} = '' + endfun + endif + " }}} + + " Color value format: Array [, <256-Base>, <16-Base>] + " 16-Base is terminal's native color palette that can be alternated through + " the terminal settings. The 16-color names are according to `:h cterm-colors` + + " BASIC COLORS: + " color00-15 are required by all themes. + " These are also how the terminal color palette for the target theme should be. + " See README for theme design guideline + " + " An example format of the below variable's value: ['#262626', '234', 'Black'] + " Where the 1st value is HEX color for GUI Vim, 2nd value is for 256-color terminal, + " and the color name on the right is for 16-color terminal (the actual terminal colors + " can be different from what the color names suggest). See :h cterm-colors + " + " Depending on the provided color palette and current Vim, the 1st and 2nd + " parameter might not exist, for example, on 16-color terminal, the variables below + " only store the color names to use the terminal color palette which is the only + " thing available therefore no need for GUI-color or 256-color. + + let color00 = get(s:palette, 'color00') + let color01 = get(s:palette, 'color01') + let color02 = get(s:palette, 'color02') + let color03 = get(s:palette, 'color03') + let color04 = get(s:palette, 'color04') + let color05 = get(s:palette, 'color05') + let color06 = get(s:palette, 'color06') + let color07 = get(s:palette, 'color07') + let color08 = get(s:palette, 'color08') + let color09 = get(s:palette, 'color09') + let color10 = get(s:palette, 'color10') + let color11 = get(s:palette, 'color11') + let color12 = get(s:palette, 'color12') + let color13 = get(s:palette, 'color13') + let color14 = get(s:palette, 'color14') + let color15 = get(s:palette, 'color15') + + call s:create_color_variables('background', color00 , 'Black') + call s:create_color_variables('negative', color01 , 'DarkRed') + call s:create_color_variables('positive', color02 , 'DarkGreen') + call s:create_color_variables('olive', color03 , 'DarkYellow') " string + call s:create_color_variables('neutral', color04 , 'DarkBlue') + call s:create_color_variables('comment', color05 , 'DarkMagenta') + call s:create_color_variables('navy', color06 , 'DarkCyan') " storageclass + call s:create_color_variables('foreground', color07 , 'LightGray') + + call s:create_color_variables('nontext', color08 , 'DarkGray') + call s:create_color_variables('red', color09 , 'LightRed') " import / try/catch + call s:create_color_variables('pink', color10 , 'LightGreen') " statement, type + call s:create_color_variables('purple', color11 , 'LightYellow') " if / conditional + call s:create_color_variables('accent', color12 , 'LightBlue') + call s:create_color_variables('orange', color13 , 'LightMagenta') " number + call s:create_color_variables('blue', color14 , 'LightCyan') " other keyword + call s:create_color_variables('highlight', color15 , 'White') + + " Note: special case for FoldColumn group. I want to get rid of this case. + call s:create_color_variables('transparent', [color00[0], 'none'], 'none') + + " EXTENDED COLORS: + " From here on, all colors are optional and must have default values (3rd parameter of the + " `get` command) that point to the above basic colors in case the target theme doesn't + " provide the extended colors. The default values should be reasonably sensible. + " The terminal color must be provided also. + + call s:create_color_variables('aqua', get(s:palette, 'color16', color14) , 'LightCyan') + call s:create_color_variables('green', get(s:palette, 'color17', color13) , 'LightMagenta') + call s:create_color_variables('wine', get(s:palette, 'color18', color11) , 'LightYellow') + + " LineNumber: when set number + call s:create_color_variables('linenumber_fg', get(s:palette, 'linenumber_fg', color08) , 'DarkGray') + call s:create_color_variables('linenumber_bg', get(s:palette, 'linenumber_bg', color00) , 'Black') + + " Vertical Split: when there are more than 1 window side by side, ex: + call s:create_color_variables('vertsplit_fg', get(s:palette, 'vertsplit_fg', color15) , 'White') + call s:create_color_variables('vertsplit_bg', get(s:palette, 'vertsplit_bg', color00) , 'Black') + + " Statusline: when set status=2 + call s:create_color_variables('statusline_active_fg', get(s:palette, 'statusline_active_fg', color00) , 'Black') + call s:create_color_variables('statusline_active_bg', get(s:palette, 'statusline_active_bg', color15) , 'White') + call s:create_color_variables('statusline_inactive_fg', get(s:palette, 'statusline_inactive_fg', color07) , 'LightGray') + call s:create_color_variables('statusline_inactive_bg', get(s:palette, 'statusline_inactive_bg', color08) , 'DarkGray') + + + " Cursor: in normal mode + call s:create_color_variables('cursor_fg', get(s:palette, 'cursor_fg', color00) , 'Black') + call s:create_color_variables('cursor_bg', get(s:palette, 'cursor_bg', color07) , 'LightGray') + + call s:create_color_variables('cursorline', get(s:palette, 'cursorline', color00) , 'Black') + + " CursorColumn: when set cursorcolumn + call s:create_color_variables('cursorcolumn', get(s:palette, 'cursorcolumn', color00) , 'Black') + + " CursorLine Number: when set cursorline number + call s:create_color_variables('cursorlinenr_fg', get(s:palette, 'cursorlinenr_fg', color13) , 'LightMagenta') + call s:create_color_variables('cursorlinenr_bg', get(s:palette, 'cursorlinenr_bg', color00) , 'Black') + + " Popup Menu: when for autocomplete + call s:create_color_variables('popupmenu_fg', get(s:palette, 'popupmenu_fg', color07) , 'LightGray') + call s:create_color_variables('popupmenu_bg', get(s:palette, 'popupmenu_bg', color08) , 'DarkGray') " TODO: double check this, might resolve an issue + + " Search: ex: when * on a word + call s:create_color_variables('search_fg', get(s:palette, 'search_fg', color00) , 'Black') + call s:create_color_variables('search_bg', get(s:palette, 'search_bg', color15) , 'Yellow') + + " Todo: ex: TODO + call s:create_color_variables('todo_fg', get(s:palette, 'todo_fg', color05) , 'LightYellow') + call s:create_color_variables('todo_bg', get(s:palette, 'todo_bg', color00) , 'Black') + + " Error: ex: turn spell on and have invalid words + call s:create_color_variables('error_fg', get(s:palette, 'error_fg', color01) , 'DarkRed') + call s:create_color_variables('error_bg', get(s:palette, 'error_bg', color00) , 'Black') + + " Match Parenthesis: selecting an opening/closing pair and the other one will be highlighted + call s:create_color_variables('matchparen_fg', get(s:palette, 'matchparen_fg', color00) , 'LightMagenta') + call s:create_color_variables('matchparen_bg', get(s:palette, 'matchparen_bg', color05) , 'Black') + + " Visual: + call s:create_color_variables('visual_fg', get(s:palette, 'visual_fg', color08) , 'Black') + call s:create_color_variables('visual_bg', get(s:palette, 'visual_bg', color07) , 'White') + + " Folded: + call s:create_color_variables('folded_fg', get(s:palette, 'folded_fg', color00) , 'Black') + call s:create_color_variables('folded_bg', get(s:palette, 'folded_bg', color05) , 'DarkYellow') + + " WildMenu: Autocomplete command, ex: :color + call s:create_color_variables('wildmenu_fg', get(s:palette, 'wildmenu_fg', color00) , 'Black') + call s:create_color_variables('wildmenu_bg', get(s:palette, 'wildmenu_bg', color06) , 'LightGray') + + " Spelling: when spell on and there are spelling problems like this for example: papercolor. a vim color scheme + call s:create_color_variables('spellbad', get(s:palette, 'spellbad', color04) , 'DarkRed') + call s:create_color_variables('spellcap', get(s:palette, 'spellcap', color05) , 'DarkMagenta') + call s:create_color_variables('spellrare', get(s:palette, 'spellrare', color06) , 'DarkYellow') + call s:create_color_variables('spelllocal', get(s:palette, 'spelllocal', color01) , 'DarkBlue') + + " Diff: + call s:create_color_variables('diffadd_fg', get(s:palette, 'diffadd_fg', color00) , 'Black') + call s:create_color_variables('diffadd_bg', get(s:palette, 'diffadd_bg', color02) , 'DarkGreen') + + call s:create_color_variables('diffdelete_fg', get(s:palette, 'diffdelete_fg', color00) , 'Black') + call s:create_color_variables('diffdelete_bg', get(s:palette, 'diffdelete_bg', color04) , 'DarkRed') + + call s:create_color_variables('difftext_fg', get(s:palette, 'difftext_fg', color00) , 'Black') + call s:create_color_variables('difftext_bg', get(s:palette, 'difftext_bg', color06) , 'DarkYellow') + + call s:create_color_variables('diffchange_fg', get(s:palette, 'diffchange_fg', color00) , 'Black') + call s:create_color_variables('diffchange_bg', get(s:palette, 'diffchange_bg', color14) , 'LightYellow') + + " Tabline: when having tabs, ex: :tabnew + call s:create_color_variables('tabline_bg', get(s:palette, 'tabline_bg', color00) , 'Black') + call s:create_color_variables('tabline_active_fg', get(s:palette, 'tabline_active_fg', color07) , 'LightGray') + call s:create_color_variables('tabline_active_bg', get(s:palette, 'tabline_active_bg', color00) , 'Black') + call s:create_color_variables('tabline_inactive_fg', get(s:palette, 'tabline_inactive_fg', color07) , 'Black') + call s:create_color_variables('tabline_inactive_bg', get(s:palette, 'tabline_inactive_bg', color08) , 'DarkMagenta') + + " Plugin: BufTabLine https://github.com/ap/vim-buftabline + call s:create_color_variables('buftabline_bg', get(s:palette, 'buftabline_bg', color00) , 'Black') + call s:create_color_variables('buftabline_current_fg', get(s:palette, 'buftabline_current_fg', color07) , 'LightGray') + call s:create_color_variables('buftabline_current_bg', get(s:palette, 'buftabline_current_bg', color05) , 'DarkMagenta') + call s:create_color_variables('buftabline_active_fg', get(s:palette, 'buftabline_active_fg', color07) , 'LightGray') + call s:create_color_variables('buftabline_active_bg', get(s:palette, 'buftabline_active_bg', color12) , 'LightBlue') + call s:create_color_variables('buftabline_inactive_fg', get(s:palette, 'buftabline_inactive_fg', color07) , 'LightGray') + call s:create_color_variables('buftabline_inactive_bg', get(s:palette, 'buftabline_inactive_bg', color00) , 'Black') + + " Neovim terminal colors https://neovim.io/doc/user/nvim_terminal_emulator.html#nvim-terminal-emulator-configuration + " TODO: Fix this + let g:terminal_color_0 = color00[0] + let g:terminal_color_1 = color01[0] + let g:terminal_color_2 = color02[0] + let g:terminal_color_3 = color03[0] + let g:terminal_color_4 = color04[0] + let g:terminal_color_5 = color05[0] + let g:terminal_color_6 = color06[0] + let g:terminal_color_7 = color07[0] + let g:terminal_color_8 = color08[0] + let g:terminal_color_9 = color09[0] + let g:terminal_color_10 = color10[0] + let g:terminal_color_11 = color11[0] + let g:terminal_color_12 = color12[0] + let g:terminal_color_13 = color13[0] + let g:terminal_color_14 = color14[0] + let g:terminal_color_15 = color15[0] + + " Vim 8's :terminal buffer ANSI colors + if has('terminal') + let g:terminal_ansi_colors = [color00[0], color01[0], color02[0], color03[0], + \ color04[0], color05[0], color06[0], color07[0], color08[0], color09[0], + \ color10[0], color11[0], color12[0], color13[0], color14[0], color15[0]] + endif + +endfun +" }}} + +" Apply Syntax Highlightings: {{{ + +fun! s:apply_syntax_highlightings() + + if s:themeOpt_transparent_background + exec 'hi Normal' . s:fg_foreground + " Switching between dark & light variant through `set background` + " NOTE: Handle background switching right after `Normal` group because of + " God-know-why reason. Not doing this way had caused issue before + if s:is_dark " DARK VARIANT + set background=dark + else " LIGHT VARIANT + set background=light + endif + + exec 'hi NonText' . s:fg_nontext + exec 'hi LineNr' . s:fg_linenumber_fg + exec 'hi Conceal' . s:fg_linenumber_fg + exec 'hi VertSplit' . s:fg_vertsplit_fg . s:ft_none + exec 'hi FoldColumn' . s:fg_folded_fg . s:bg_transparent . s:ft_none + else + exec 'hi Normal' . s:fg_foreground . s:bg_background + " Switching between dark & light variant through `set background` + if s:is_dark " DARK VARIANT + set background=dark + exec 'hi EndOfBuffer' . s:fg_cursor_fg . s:ft_none + else " LIGHT VARIANT + set background=light + endif + + exec 'hi NonText' . s:fg_nontext . s:bg_background + exec 'hi LineNr' . s:fg_linenumber_fg . s:bg_linenumber_bg + exec 'hi Conceal' . s:fg_linenumber_fg . s:bg_linenumber_bg + exec 'hi VertSplit' . s:fg_vertsplit_bg . s:bg_vertsplit_fg + exec 'hi FoldColumn' . s:fg_folded_fg . s:bg_background . s:ft_none + endif + + exec 'hi Cursor' . s:fg_cursor_fg . s:bg_cursor_bg + exec 'hi SpecialKey' . s:fg_nontext + exec 'hi Search' . s:fg_search_fg . s:bg_search_bg + exec 'hi StatusLine' . s:fg_statusline_active_bg . s:bg_statusline_active_fg + exec 'hi StatusLineNC' . s:fg_statusline_inactive_bg . s:bg_statusline_inactive_fg + exec 'hi StatusLineTerm' . s:fg_statusline_active_bg . s:bg_statusline_active_fg + exec 'hi StatusLineTermNC' . s:fg_statusline_inactive_bg . s:bg_statusline_inactive_fg + exec 'hi Visual' . s:fg_visual_fg . s:bg_visual_bg + exec 'hi Directory' . s:fg_blue + exec 'hi ModeMsg' . s:fg_olive + exec 'hi MoreMsg' . s:fg_olive + exec 'hi Question' . s:fg_olive + exec 'hi WarningMsg' . s:fg_pink + exec 'hi MatchParen' . s:fg_matchparen_fg . s:bg_matchparen_bg + exec 'hi Folded' . s:fg_folded_fg . s:bg_folded_bg + exec 'hi WildMenu' . s:fg_wildmenu_fg . s:bg_wildmenu_bg . s:ft_bold + + if version >= 700 + exec 'hi CursorLine' . s:bg_cursorline . s:ft_none + if s:mode == s:MODE_16_COLOR + exec 'hi CursorLineNr' . s:fg_cursorlinenr_fg . s:bg_cursorlinenr_bg + else + exec 'hi CursorLineNr' . s:fg_cursorlinenr_fg . s:bg_cursorlinenr_bg . s:ft_none + endif + exec 'hi CursorColumn' . s:bg_cursorcolumn . s:ft_none + exec 'hi PMenu' . s:fg_popupmenu_fg . s:bg_popupmenu_bg . s:ft_none + exec 'hi PMenuSel' . s:fg_popupmenu_fg . s:bg_popupmenu_bg . s:ft_reverse + if s:themeOpt_transparent_background + exec 'hi SignColumn' . s:fg_green . s:ft_none + else + exec 'hi SignColumn' . s:fg_green . s:bg_background . s:ft_none + endif + end + if version >= 703 + exec 'hi ColorColumn' . s:bg_cursorcolumn . s:ft_none + end + + exec 'hi TabLine' . s:fg_tabline_inactive_fg . s:bg_tabline_inactive_bg . s:ft_none + exec 'hi TabLineFill' . s:fg_tabline_bg . s:bg_tabline_bg . s:ft_none + exec 'hi TabLineSel' . s:fg_tabline_active_fg . s:bg_tabline_active_bg . s:ft_none + + exec 'hi BufTabLineCurrent' . s:fg_buftabline_current_fg . s:bg_buftabline_current_bg . s:ft_none + exec 'hi BufTabLineActive' . s:fg_buftabline_active_fg . s:bg_buftabline_active_bg . s:ft_none + exec 'hi BufTabLineHidden' . s:fg_buftabline_inactive_fg . s:bg_buftabline_inactive_bg . s:ft_none + exec 'hi BufTabLineFill' . s:bg_buftabline_bg . s:ft_none + + " Standard Group Highlighting: + exec 'hi Comment' . s:fg_comment . s:ft_italic + + exec 'hi Constant' . s:fg_orange + exec 'hi String' . s:fg_olive + exec 'hi Character' . s:fg_olive + exec 'hi Number' . s:fg_orange + exec 'hi Boolean' . s:fg_green . s:ft_bold + exec 'hi Float' . s:fg_orange + + exec 'hi Identifier' . s:fg_navy + exec 'hi Function' . s:fg_foreground + + exec 'hi Statement' . s:fg_pink . s:ft_none + exec 'hi Conditional' . s:fg_purple . s:ft_bold + exec 'hi Repeat' . s:fg_purple . s:ft_bold + exec 'hi Label' . s:fg_blue + exec 'hi Operator' . s:fg_aqua . s:ft_none + exec 'hi Keyword' . s:fg_blue + exec 'hi Exception' . s:fg_red + + exec 'hi PreProc' . s:fg_blue + exec 'hi Include' . s:fg_red + exec 'hi Define' . s:fg_blue + exec 'hi Macro' . s:fg_blue + exec 'hi PreCondit' . s:fg_aqua + + exec 'hi Type' . s:fg_pink . s:ft_bold + exec 'hi StorageClass' . s:fg_navy . s:ft_bold + exec 'hi Structure' . s:fg_blue . s:ft_bold + exec 'hi Typedef' . s:fg_pink . s:ft_bold + + exec 'hi Special' . s:fg_foreground + exec 'hi SpecialChar' . s:fg_foreground + exec 'hi Tag' . s:fg_green + exec 'hi Delimiter' . s:fg_aqua + exec 'hi SpecialComment' . s:fg_comment . s:ft_bold + exec 'hi Debug' . s:fg_orange + + exec 'hi Error' . s:fg_error_fg . s:bg_error_bg + exec 'hi Todo' . s:fg_todo_fg . s:bg_todo_bg . s:ft_bold + + exec 'hi Title' . s:fg_comment + exec 'hi Global' . s:fg_blue + + " Neovim (LSP) diagnostics + if has('nvim') + exec 'hi LspDiagnosticsDefaultError' . s:fg_error_fg . s:bg_error_bg + exec 'hi LspDiagnosticsDefaultWarning' . s:fg_todo_fg . s:bg_todo_bg . s:ft_bold + exec 'hi LspDiagnosticsDefaultInformation' . s:fg_todo_fg . s:bg_todo_bg . s:ft_bold + exec 'hi LspDiagnosticsDefaultHint' . s:fg_todo_fg . s:bg_todo_bg . s:ft_bold + + exec 'hi LspDiagnosticsUnderlineError cterm=undercurl gui=undercurl' . s:sp_error_fg + exec 'hi LspDiagnosticsUnderlineWarning cterm=undercurl gui=undercurl' . s:sp_todo_fg + exec 'hi LspDiagnosticsUnderlineInformation cterm=undercurl gui=undercurl' . s:sp_todo_fg + exec 'hi LspDiagnosticsUnderlineHint cterm=undercurl gui=undercurl' . s:sp_todo_fg + + hi! link DiagnosticError LspDiagnosticsDefaultError + hi! link DiagnosticWarn LspDiagnosticsDefaultWarning + hi! link DiagnosticInfo LspDiagnosticsDefaultInformation + hi! link DiagnosticHint LspDiagnosticsDefaultHint + + hi! link DiagnosticUnderlineError LspDiagnosticsUnderlineError + hi! link DiagnosticUnderlineWarn LspDiagnosticsUnderlineWarning + hi! link DiagnosticUnderlineInfo LspDiagnosticsUnderlineInformation + hi! link DiagnosticUnderlineHint LspDiagnosticsUnderlineHint + endif + + " Extension {{{ + " VimL Highlighting + exec 'hi vimCommand' . s:fg_pink + exec 'hi vimVar' . s:fg_navy + exec 'hi vimFuncKey' . s:fg_pink + exec 'hi vimFunction' . s:fg_blue . s:ft_bold + exec 'hi vimNotFunc' . s:fg_pink + exec 'hi vimMap' . s:fg_red + exec 'hi vimAutoEvent' . s:fg_aqua . s:ft_bold + exec 'hi vimMapModKey' . s:fg_aqua + exec 'hi vimFuncName' . s:fg_purple + exec 'hi vimIsCommand' . s:fg_foreground + exec 'hi vimFuncVar' . s:fg_aqua + exec 'hi vimLet' . s:fg_red + exec 'hi vimContinue' . s:fg_aqua + exec 'hi vimMapRhsExtend' . s:fg_foreground + exec 'hi vimCommentTitle' . s:fg_comment . s:ft_italic_bold + exec 'hi vimBracket' . s:fg_aqua + exec 'hi vimParenSep' . s:fg_aqua + exec 'hi vimNotation' . s:fg_aqua + exec 'hi vimOper' . s:fg_foreground + exec 'hi vimOperParen' . s:fg_foreground + exec 'hi vimSynType' . s:fg_purple + exec 'hi vimSynReg' . s:fg_pink . s:ft_none + exec 'hi vimSynRegion' . s:fg_foreground + exec 'hi vimSynMtchGrp' . s:fg_pink + exec 'hi vimSynNextgroup' . s:fg_pink + exec 'hi vimSynKeyRegion' . s:fg_green + exec 'hi vimSynRegOpt' . s:fg_blue + exec 'hi vimSynMtchOpt' . s:fg_blue + exec 'hi vimSynContains' . s:fg_pink + exec 'hi vimGroupName' . s:fg_foreground + exec 'hi vimGroupList' . s:fg_foreground + exec 'hi vimHiGroup' . s:fg_foreground + exec 'hi vimGroup' . s:fg_navy . s:ft_bold + exec 'hi vimOnlyOption' . s:fg_blue + + " Makefile Highlighting + exec 'hi makeIdent' . s:fg_blue + exec 'hi makeSpecTarget' . s:fg_olive + exec 'hi makeTarget' . s:fg_red + exec 'hi makeStatement' . s:fg_aqua . s:ft_bold + exec 'hi makeCommands' . s:fg_foreground + exec 'hi makeSpecial' . s:fg_orange . s:ft_bold + + " CMake Highlighting (Builtin) + exec 'hi cmakeStatement' . s:fg_blue + exec 'hi cmakeArguments' . s:fg_foreground + exec 'hi cmakeVariableValue' . s:fg_pink + + " CMake Highlighting (Plugin: https://github.com/pboettch/vim-cmake-syntax) + exec 'hi cmakeCommand' . s:fg_blue + exec 'hi cmakeCommandConditional' . s:fg_purple . s:ft_bold + exec 'hi cmakeKWset' . s:fg_orange + exec 'hi cmakeKWvariable_watch' . s:fg_orange + exec 'hi cmakeKWif' . s:fg_orange + exec 'hi cmakeArguments' . s:fg_foreground + exec 'hi cmakeKWproject' . s:fg_pink + exec 'hi cmakeGeneratorExpressions' . s:fg_orange + exec 'hi cmakeGeneratorExpression' . s:fg_aqua + exec 'hi cmakeVariable' . s:fg_pink + exec 'hi cmakeProperty' . s:fg_aqua + exec 'hi cmakeKWforeach' . s:fg_aqua + exec 'hi cmakeKWunset' . s:fg_aqua + exec 'hi cmakeKWmacro' . s:fg_aqua + exec 'hi cmakeKWget_property' . s:fg_aqua + exec 'hi cmakeKWset_tests_properties' . s:fg_aqua + exec 'hi cmakeKWmessage' . s:fg_aqua + exec 'hi cmakeKWinstall_targets' . s:fg_orange + exec 'hi cmakeKWsource_group' . s:fg_orange + exec 'hi cmakeKWfind_package' . s:fg_aqua + exec 'hi cmakeKWstring' . s:fg_olive + exec 'hi cmakeKWinstall' . s:fg_aqua + exec 'hi cmakeKWtarget_sources' . s:fg_orange + + " C Highlighting + exec 'hi cType' . s:fg_pink . s:ft_bold + exec 'hi cFormat' . s:fg_olive + exec 'hi cStorageClass' . s:fg_navy . s:ft_bold + + exec 'hi cBoolean' . s:fg_green . s:ft_bold + exec 'hi cCharacter' . s:fg_olive + exec 'hi cConstant' . s:fg_green . s:ft_bold + exec 'hi cConditional' . s:fg_purple . s:ft_bold + exec 'hi cSpecial' . s:fg_olive . s:ft_bold + exec 'hi cDefine' . s:fg_blue + exec 'hi cNumber' . s:fg_orange + exec 'hi cPreCondit' . s:fg_aqua + exec 'hi cRepeat' . s:fg_purple . s:ft_bold + exec 'hi cLabel' . s:fg_aqua + " exec 'hi cAnsiFunction' . s:fg_aqua . s:ft_bold + " exec 'hi cAnsiName' . s:fg_pink + exec 'hi cDelimiter' . s:fg_blue + " exec 'hi cBraces' . s:fg_foreground + " exec 'hi cIdentifier' . s:fg_blue . s:bg_pink + " exec 'hi cSemiColon' . s:bg_blue + exec 'hi cOperator' . s:fg_aqua + " exec 'hi cStatement' . s:fg_pink + " exec 'hi cTodo' . s:fg_comment . s:ft_bold + " exec 'hi cStructure' . s:fg_blue . s:ft_bold + exec 'hi cCustomParen' . s:fg_foreground + " exec 'hi cCustomFunc' . s:fg_foreground + " exec 'hi cUserFunction' . s:fg_blue . s:ft_bold + exec 'hi cOctalZero' . s:fg_purple . s:ft_bold + if s:langOpt_c__highlight_builtins == 1 + exec 'hi cFunction' . s:fg_blue + else + exec 'hi cFunction' . s:fg_foreground + endif + + " CPP highlighting + exec 'hi cppBoolean' . s:fg_green . s:ft_bold + exec 'hi cppSTLnamespace' . s:fg_purple + exec 'hi cppSTLexception' . s:fg_pink + exec 'hi cppSTLfunctional' . s:fg_foreground . s:ft_bold + exec 'hi cppSTLiterator' . s:fg_foreground . s:ft_bold + exec 'hi cppExceptions' . s:fg_red + exec 'hi cppStatement' . s:fg_blue + exec 'hi cppStorageClass' . s:fg_navy . s:ft_bold + exec 'hi cppAccess' . s:fg_orange . s:ft_bold + if s:langOpt_cpp__highlight_standard_library == 1 + exec 'hi cppSTLconstant' . s:fg_green . s:ft_bold + exec 'hi cppSTLtype' . s:fg_pink . s:ft_bold + exec 'hi cppSTLfunction' . s:fg_blue + exec 'hi cppSTLios' . s:fg_olive . s:ft_bold + else + exec 'hi cppSTLconstant' . s:fg_foreground + exec 'hi cppSTLtype' . s:fg_foreground + exec 'hi cppSTLfunction' . s:fg_foreground + exec 'hi cppSTLios' . s:fg_foreground + endif + " exec 'hi cppSTL' . s:fg_blue + + " Rust highlighting + exec 'hi rustKeyword' . s:fg_pink + exec 'hi rustModPath' . s:fg_blue + exec 'hi rustModPathSep' . s:fg_blue + exec 'hi rustLifetime' . s:fg_purple + exec 'hi rustStructure' . s:fg_aqua . s:ft_bold + exec 'hi rustAttribute' . s:fg_aqua . s:ft_bold + exec 'hi rustPanic' . s:fg_olive . s:ft_bold + exec 'hi rustTrait' . s:fg_blue . s:ft_bold + exec 'hi rustEnum' . s:fg_green . s:ft_bold + exec 'hi rustEnumVariant' . s:fg_green + exec 'hi rustSelf' . s:fg_orange + exec 'hi rustSigil' . s:fg_aqua . s:ft_bold + exec 'hi rustOperator' . s:fg_aqua . s:ft_bold + exec 'hi rustMacro' . s:fg_olive . s:ft_bold + exec 'hi rustMacroVariable' . s:fg_olive + exec 'hi rustAssert' . s:fg_olive . s:ft_bold + exec 'hi rustConditional' . s:fg_purple . s:ft_bold + + " Lex highlighting + exec 'hi lexCFunctions' . s:fg_foreground + exec 'hi lexAbbrv' . s:fg_purple + exec 'hi lexAbbrvRegExp' . s:fg_aqua + exec 'hi lexAbbrvComment' . s:fg_comment + exec 'hi lexBrace' . s:fg_navy + exec 'hi lexPat' . s:fg_aqua + exec 'hi lexPatComment' . s:fg_comment + exec 'hi lexPatTag' . s:fg_orange + " exec 'hi lexPatBlock' . s:fg_foreground . s:ft_bold + exec 'hi lexSlashQuote' . s:fg_foreground + exec 'hi lexSep' . s:fg_foreground + exec 'hi lexStartState' . s:fg_orange + exec 'hi lexPatTagZone' . s:fg_olive . s:ft_bold + exec 'hi lexMorePat' . s:fg_olive . s:ft_bold + exec 'hi lexOptions' . s:fg_olive . s:ft_bold + exec 'hi lexPatString' . s:fg_olive + + " Yacc highlighting + exec 'hi yaccNonterminal' . s:fg_navy + exec 'hi yaccDelim' . s:fg_orange + exec 'hi yaccInitKey' . s:fg_aqua + exec 'hi yaccInit' . s:fg_navy + exec 'hi yaccKey' . s:fg_purple + exec 'hi yaccVar' . s:fg_aqua + + " NASM highlighting + exec 'hi nasmStdInstruction' . s:fg_navy + exec 'hi nasmGen08Register' . s:fg_aqua + exec 'hi nasmGen16Register' . s:fg_aqua + exec 'hi nasmGen32Register' . s:fg_aqua + exec 'hi nasmGen64Register' . s:fg_aqua + exec 'hi nasmHexNumber' . s:fg_purple + exec 'hi nasmStorage' . s:fg_aqua . s:ft_bold + exec 'hi nasmLabel' . s:fg_pink + exec 'hi nasmDirective' . s:fg_blue . s:ft_bold + exec 'hi nasmLocalLabel' . s:fg_orange + + " GAS highlighting + exec 'hi gasSymbol' . s:fg_pink + exec 'hi gasDirective' . s:fg_blue . s:ft_bold + exec 'hi gasOpcode_386_Base' . s:fg_navy + exec 'hi gasDecimalNumber' . s:fg_purple + exec 'hi gasSymbolRef' . s:fg_pink + exec 'hi gasRegisterX86' . s:fg_blue + exec 'hi gasOpcode_P6_Base' . s:fg_navy + exec 'hi gasDirectiveStore' . s:fg_foreground . s:ft_bold + + " MIPS highlighting + exec 'hi mipsInstruction' . s:fg_pink + exec 'hi mipsRegister' . s:fg_navy + exec 'hi mipsLabel' . s:fg_aqua . s:ft_bold + exec 'hi mipsDirective' . s:fg_purple . s:ft_bold + + " Shell/Bash highlighting + exec 'hi bashStatement' . s:fg_foreground . s:ft_bold + exec 'hi shDerefVar' . s:fg_aqua . s:ft_bold + exec 'hi shDerefSimple' . s:fg_aqua + exec 'hi shFunction' . s:fg_orange . s:ft_bold + exec 'hi shStatement' . s:fg_foreground + exec 'hi shLoop' . s:fg_purple . s:ft_bold + exec 'hi shQuote' . s:fg_olive + exec 'hi shCaseEsac' . s:fg_aqua . s:ft_bold + exec 'hi shSnglCase' . s:fg_purple . s:ft_none + exec 'hi shFunctionOne' . s:fg_navy + exec 'hi shCase' . s:fg_navy + exec 'hi shSetList' . s:fg_navy + " @see Dockerfile Highlighting section for more sh* + + " PowerShell Highlighting + exec 'hi ps1Type' . s:fg_green . s:ft_bold + exec 'hi ps1Variable' . s:fg_navy + exec 'hi ps1Boolean' . s:fg_navy . s:ft_bold + exec 'hi ps1FunctionInvocation' . s:fg_pink + exec 'hi ps1FunctionDeclaration' . s:fg_pink + exec 'hi ps1Keyword' . s:fg_blue . s:ft_bold + exec 'hi ps1Exception' . s:fg_red + exec 'hi ps1Operator' . s:fg_aqua . s:ft_bold + exec 'hi ps1CommentDoc' . s:fg_purple + exec 'hi ps1CDocParam' . s:fg_orange + + " HTML Highlighting + exec 'hi htmlTitle' . s:fg_green . s:ft_bold + exec 'hi htmlH1' . s:fg_green . s:ft_bold + exec 'hi htmlH2' . s:fg_aqua . s:ft_bold + exec 'hi htmlH3' . s:fg_purple . s:ft_bold + exec 'hi htmlH4' . s:fg_orange . s:ft_bold + exec 'hi htmlTag' . s:fg_comment + exec 'hi htmlTagName' . s:fg_wine + exec 'hi htmlArg' . s:fg_pink + exec 'hi htmlEndTag' . s:fg_comment + exec 'hi htmlString' . s:fg_blue + exec 'hi htmlScriptTag' . s:fg_comment + exec 'hi htmlBold' . s:fg_foreground . s:ft_bold + exec 'hi htmlItalic' . s:fg_comment . s:ft_italic + exec 'hi htmlBoldItalic' . s:fg_navy . s:ft_italic_bold + " exec 'hi htmlLink' . s:fg_blue . s:ft_bold + exec 'hi htmlTagN' . s:fg_wine . s:ft_bold + exec 'hi htmlSpecialTagName' . s:fg_wine + exec 'hi htmlComment' . s:fg_comment . s:ft_italic + exec 'hi htmlCommentPart' . s:fg_comment . s:ft_italic + + " CSS Highlighting + exec 'hi cssIdentifier' . s:fg_pink + exec 'hi cssPositioningProp' . s:fg_foreground + exec 'hi cssNoise' . s:fg_foreground + exec 'hi cssBoxProp' . s:fg_foreground + exec 'hi cssTableAttr' . s:fg_purple + exec 'hi cssPositioningAttr' . s:fg_navy + exec 'hi cssValueLength' . s:fg_orange + exec 'hi cssFunctionName' . s:fg_blue + exec 'hi cssUnitDecorators' . s:fg_aqua + exec 'hi cssColor' . s:fg_blue . s:ft_bold + exec 'hi cssBraces' . s:fg_pink + exec 'hi cssBackgroundProp' . s:fg_foreground + exec 'hi cssTextProp' . s:fg_foreground + exec 'hi cssDimensionProp' . s:fg_foreground + exec 'hi cssClassName' . s:fg_pink + + " Markdown Highlighting + exec 'hi markdownHeadingRule' . s:fg_pink . s:ft_bold + exec 'hi markdownH1' . s:fg_pink . s:ft_bold + exec 'hi markdownH2' . s:fg_orange . s:ft_bold + exec 'hi markdownBlockquote' . s:fg_pink + exec 'hi markdownCodeBlock' . s:fg_olive + exec 'hi markdownCode' . s:fg_olive + exec 'hi markdownLink' . s:fg_blue . s:ft_bold + exec 'hi markdownUrl' . s:fg_blue + exec 'hi markdownLinkText' . s:fg_pink + exec 'hi markdownLinkTextDelimiter' . s:fg_purple + exec 'hi markdownLinkDelimiter' . s:fg_purple + exec 'hi markdownCodeDelimiter' . s:fg_blue + + exec 'hi mkdCode' . s:fg_olive + exec 'hi mkdLink' . s:fg_blue . s:ft_bold + exec 'hi mkdURL' . s:fg_comment + exec 'hi mkdString' . s:fg_foreground + exec 'hi mkdBlockQuote' . s:fg_pink + exec 'hi mkdLinkTitle' . s:fg_pink + exec 'hi mkdDelimiter' . s:fg_aqua + exec 'hi mkdRule' . s:fg_pink + + " reStructuredText Highlighting + exec 'hi rstSections' . s:fg_pink . s:ft_bold + exec 'hi rstDelimiter' . s:fg_pink . s:ft_bold + exec 'hi rstExplicitMarkup' . s:fg_pink . s:ft_bold + exec 'hi rstDirective' . s:fg_blue + exec 'hi rstHyperlinkTarget' . s:fg_green + exec 'hi rstExDirective' . s:fg_foreground + exec 'hi rstInlineLiteral' . s:fg_olive + exec 'hi rstInterpretedTextOrHyperlinkReference' . s:fg_blue + + " Python Highlighting + exec 'hi pythonImport' . s:fg_pink . s:ft_bold + exec 'hi pythonExceptions' . s:fg_red + exec 'hi pythonException' . s:fg_purple . s:ft_bold + exec 'hi pythonInclude' . s:fg_red + exec 'hi pythonStatement' . s:fg_pink + exec 'hi pythonConditional' . s:fg_purple . s:ft_bold + exec 'hi pythonRepeat' . s:fg_purple . s:ft_bold + exec 'hi pythonFunction' . s:fg_aqua . s:ft_bold + exec 'hi pythonPreCondit' . s:fg_purple + exec 'hi pythonExClass' . s:fg_orange + exec 'hi pythonOperator' . s:fg_purple . s:ft_bold + exec 'hi pythonBuiltin' . s:fg_foreground + exec 'hi pythonDecorator' . s:fg_orange + + exec 'hi pythonString' . s:fg_olive + exec 'hi pythonEscape' . s:fg_olive . s:ft_bold + exec 'hi pythonStrFormatting' . s:fg_olive . s:ft_bold + + exec 'hi pythonBoolean' . s:fg_green . s:ft_bold + exec 'hi pythonBytesEscape' . s:fg_olive . s:ft_bold + exec 'hi pythonDottedName' . s:fg_purple + exec 'hi pythonStrFormat' . s:fg_foreground + + if s:langOpt_python__highlight_builtins == 1 + exec 'hi pythonBuiltinFunc' . s:fg_blue + exec 'hi pythonBuiltinObj' . s:fg_red + else + exec 'hi pythonBuiltinFunc' . s:fg_foreground + exec 'hi pythonBuiltinObj' . s:fg_foreground + endif + + " Java Highlighting + exec 'hi javaExternal' . s:fg_pink + exec 'hi javaAnnotation' . s:fg_orange + exec 'hi javaTypedef' . s:fg_aqua + exec 'hi javaClassDecl' . s:fg_aqua . s:ft_bold + exec 'hi javaScopeDecl' . s:fg_blue . s:ft_bold + exec 'hi javaStorageClass' . s:fg_navy . s:ft_bold + exec 'hi javaBoolean' . s:fg_green . s:ft_bold + exec 'hi javaConstant' . s:fg_blue + exec 'hi javaCommentTitle' . s:fg_wine + exec 'hi javaDocTags' . s:fg_aqua + exec 'hi javaDocComment' . s:fg_comment + exec 'hi javaDocParam' . s:fg_foreground + exec 'hi javaStatement' . s:fg_pink + + " JavaScript Highlighting + exec 'hi javaScriptBraces' . s:fg_blue + exec 'hi javaScriptParens' . s:fg_blue + exec 'hi javaScriptIdentifier' . s:fg_pink + exec 'hi javaScriptFunction' . s:fg_blue . s:ft_bold + exec 'hi javaScriptConditional' . s:fg_purple . s:ft_bold + exec 'hi javaScriptRepeat' . s:fg_purple . s:ft_bold + exec 'hi javaScriptBoolean' . s:fg_green . s:ft_bold + exec 'hi javaScriptNumber' . s:fg_orange + exec 'hi javaScriptMember' . s:fg_navy + exec 'hi javaScriptReserved' . s:fg_navy + exec 'hi javascriptNull' . s:fg_comment . s:ft_bold + exec 'hi javascriptGlobal' . s:fg_foreground + exec 'hi javascriptStatement' . s:fg_pink + exec 'hi javaScriptMessage' . s:fg_foreground + exec 'hi javaScriptMember' . s:fg_foreground + + " TypeScript Highlighting + exec 'hi typescriptDecorators' . s:fg_orange + exec 'hi typescriptLabel' . s:fg_purple . s:ft_bold + + " @target https://github.com/pangloss/vim-javascript + exec 'hi jsImport' . s:fg_pink . s:ft_bold + exec 'hi jsExport' . s:fg_pink . s:ft_bold + exec 'hi jsModuleAs' . s:fg_pink . s:ft_bold + exec 'hi jsFrom' . s:fg_pink . s:ft_bold + exec 'hi jsExportDefault' . s:fg_pink . s:ft_bold + exec 'hi jsFuncParens' . s:fg_blue + exec 'hi jsFuncBraces' . s:fg_blue + exec 'hi jsParens' . s:fg_blue + exec 'hi jsBraces' . s:fg_blue + exec 'hi jsNoise' . s:fg_blue + + " Jsx Highlighting + " @target https://github.com/MaxMEllon/vim-jsx-pretty + exec 'hi jsxTagName' . s:fg_wine + exec 'hi jsxComponentName' . s:fg_wine + exec 'hi jsxAttrib' . s:fg_pink + exec 'hi jsxEqual' . s:fg_comment + exec 'hi jsxString' . s:fg_blue + exec 'hi jsxCloseTag' . s:fg_comment + exec 'hi jsxCloseString' . s:fg_comment + exec 'hi jsxDot' . s:fg_wine + exec 'hi jsxNamespace' . s:fg_wine + exec 'hi jsxPunct' . s:fg_comment + + " Json Highlighting + " @target https://github.com/elzr/vim-json + exec 'hi jsonKeyword' . s:fg_blue + exec 'hi jsonString' . s:fg_olive + exec 'hi jsonQuote' . s:fg_comment + exec 'hi jsonNoise' . s:fg_foreground + exec 'hi jsonKeywordMatch' . s:fg_foreground + exec 'hi jsonBraces' . s:fg_foreground + exec 'hi jsonNumber' . s:fg_orange + exec 'hi jsonNull' . s:fg_purple . s:ft_bold + exec 'hi jsonBoolean' . s:fg_green . s:ft_bold + exec 'hi jsonCommentError' . s:fg_pink . s:bg_background + + " Go Highlighting + exec 'hi goDirective' . s:fg_red + exec 'hi goDeclaration' . s:fg_blue . s:ft_bold + exec 'hi goStatement' . s:fg_pink + exec 'hi goConditional' . s:fg_purple . s:ft_bold + exec 'hi goConstants' . s:fg_orange + exec 'hi goFunction' . s:fg_orange + " exec 'hi goTodo' . s:fg_comment . s:ft_bold + exec 'hi goDeclType' . s:fg_blue + exec 'hi goBuiltins' . s:fg_purple + + " Systemtap Highlighting + " exec 'hi stapBlock' . s:fg_comment . s:ft_none + exec 'hi stapComment' . s:fg_comment . s:ft_none + exec 'hi stapProbe' . s:fg_aqua . s:ft_bold + exec 'hi stapStat' . s:fg_navy . s:ft_bold + exec 'hi stapFunc' . s:fg_foreground + exec 'hi stapString' . s:fg_olive + exec 'hi stapTarget' . s:fg_navy + exec 'hi stapStatement' . s:fg_pink + exec 'hi stapType' . s:fg_pink . s:ft_bold + exec 'hi stapSharpBang' . s:fg_comment + exec 'hi stapDeclaration' . s:fg_pink + exec 'hi stapCMacro' . s:fg_blue + + " DTrace Highlighting + exec 'hi dtraceProbe' . s:fg_blue + exec 'hi dtracePredicate' . s:fg_purple . s:ft_bold + exec 'hi dtraceComment' . s:fg_comment + exec 'hi dtraceFunction' . s:fg_foreground + exec 'hi dtraceAggregatingFunction' . s:fg_blue . s:ft_bold + exec 'hi dtraceStatement' . s:fg_navy . s:ft_bold + exec 'hi dtraceIdentifier' . s:fg_pink + exec 'hi dtraceOption' . s:fg_pink + exec 'hi dtraceConstant' . s:fg_orange + exec 'hi dtraceType' . s:fg_pink . s:ft_bold + + " PlantUML Highlighting + exec 'hi plantumlPreProc' . s:fg_orange . s:ft_bold + exec 'hi plantumlDirectedOrVerticalArrowRL' . s:fg_pink + exec 'hi plantumlDirectedOrVerticalArrowLR' . s:fg_pink + exec 'hi plantumlString' . s:fg_olive + exec 'hi plantumlActivityThing' . s:fg_purple + exec 'hi plantumlText' . s:fg_navy + exec 'hi plantumlClassPublic' . s:fg_olive . s:ft_bold + exec 'hi plantumlClassPrivate' . s:fg_red + exec 'hi plantumlColonLine' . s:fg_orange + exec 'hi plantumlClass' . s:fg_navy + exec 'hi plantumlHorizontalArrow' . s:fg_pink + exec 'hi plantumlTypeKeyword' . s:fg_blue . s:ft_bold + exec 'hi plantumlKeyword' . s:fg_pink . s:ft_bold + + exec 'hi plantumlType' . s:fg_blue . s:ft_bold + exec 'hi plantumlBlock' . s:fg_pink . s:ft_bold + exec 'hi plantumlPreposition' . s:fg_orange + exec 'hi plantumlLayout' . s:fg_blue . s:ft_bold + exec 'hi plantumlNote' . s:fg_orange + exec 'hi plantumlLifecycle' . s:fg_aqua + exec 'hi plantumlParticipant' . s:fg_foreground . s:ft_bold + + + " Haskell Highlighting + exec 'hi haskellType' . s:fg_aqua . s:ft_bold + exec 'hi haskellIdentifier' . s:fg_orange . s:ft_bold + exec 'hi haskellOperators' . s:fg_pink + exec 'hi haskellWhere' . s:fg_foreground . s:ft_bold + exec 'hi haskellDelimiter' . s:fg_aqua + exec 'hi haskellImportKeywords' . s:fg_pink + exec 'hi haskellStatement' . s:fg_purple . s:ft_bold + + + " SQL/MySQL Highlighting + exec 'hi sqlStatement' . s:fg_pink . s:ft_bold + exec 'hi sqlType' . s:fg_blue . s:ft_bold + exec 'hi sqlKeyword' . s:fg_pink + exec 'hi sqlOperator' . s:fg_aqua + exec 'hi sqlSpecial' . s:fg_green . s:ft_bold + + exec 'hi mysqlVariable' . s:fg_olive . s:ft_bold + exec 'hi mysqlType' . s:fg_blue . s:ft_bold + exec 'hi mysqlKeyword' . s:fg_pink + exec 'hi mysqlOperator' . s:fg_aqua + exec 'hi mysqlSpecial' . s:fg_green . s:ft_bold + + + " Octave/MATLAB Highlighting + exec 'hi octaveVariable' . s:fg_foreground + exec 'hi octaveDelimiter' . s:fg_pink + exec 'hi octaveQueryVar' . s:fg_foreground + exec 'hi octaveSemicolon' . s:fg_purple + exec 'hi octaveFunction' . s:fg_navy + exec 'hi octaveSetVar' . s:fg_blue + exec 'hi octaveUserVar' . s:fg_foreground + exec 'hi octaveArithmeticOperator' . s:fg_aqua + exec 'hi octaveBeginKeyword' . s:fg_purple . s:ft_bold + exec 'hi octaveElseKeyword' . s:fg_purple . s:ft_bold + exec 'hi octaveEndKeyword' . s:fg_purple . s:ft_bold + exec 'hi octaveStatement' . s:fg_pink + + " Ruby Highlighting + exec 'hi rubyModule' . s:fg_navy . s:ft_bold + exec 'hi rubyClass' . s:fg_pink . s:ft_bold + exec 'hi rubyPseudoVariable' . s:fg_comment . s:ft_bold + exec 'hi rubyKeyword' . s:fg_pink + exec 'hi rubyInstanceVariable' . s:fg_purple + exec 'hi rubyFunction' . s:fg_foreground . s:ft_bold + exec 'hi rubyDefine' . s:fg_pink + exec 'hi rubySymbol' . s:fg_aqua + exec 'hi rubyConstant' . s:fg_blue + exec 'hi rubyAccess' . s:fg_navy + exec 'hi rubyAttribute' . s:fg_green + exec 'hi rubyInclude' . s:fg_red + exec 'hi rubyLocalVariableOrMethod' . s:fg_orange + exec 'hi rubyCurlyBlock' . s:fg_foreground + exec 'hi rubyCurlyBlockDelimiter' . s:fg_aqua + exec 'hi rubyArrayDelimiter' . s:fg_aqua + exec 'hi rubyStringDelimiter' . s:fg_olive + exec 'hi rubyInterpolationDelimiter' . s:fg_orange + exec 'hi rubyConditional' . s:fg_purple . s:ft_bold + exec 'hi rubyRepeat' . s:fg_purple . s:ft_bold + exec 'hi rubyControl' . s:fg_purple . s:ft_bold + exec 'hi rubyException' . s:fg_purple . s:ft_bold + exec 'hi rubyExceptional' . s:fg_purple . s:ft_bold + exec 'hi rubyBoolean' . s:fg_green . s:ft_bold + + " Fortran Highlighting + exec 'hi fortranUnitHeader' . s:fg_blue . s:ft_bold + exec 'hi fortranIntrinsic' . s:fg_blue . s:bg_background . s:ft_none + exec 'hi fortranType' . s:fg_pink . s:ft_bold + exec 'hi fortranTypeOb' . s:fg_pink . s:ft_bold + exec 'hi fortranStructure' . s:fg_aqua + exec 'hi fortranStorageClass' . s:fg_navy . s:ft_bold + exec 'hi fortranStorageClassR' . s:fg_navy . s:ft_bold + exec 'hi fortranKeyword' . s:fg_pink + exec 'hi fortranReadWrite' . s:fg_aqua . s:ft_bold + exec 'hi fortranIO' . s:fg_navy + exec 'hi fortranOperator' . s:fg_aqua . s:ft_bold + exec 'hi fortranCall' . s:fg_aqua . s:ft_bold + exec 'hi fortranContinueMark' . s:fg_green + + " ALGOL Highlighting (Plugin: https://github.com/sterpe/vim-algol68) + exec 'hi algol68Statement' . s:fg_blue . s:ft_bold + exec 'hi algol68Operator' . s:fg_aqua . s:ft_bold + exec 'hi algol68PreProc' . s:fg_green + exec 'hi algol68Function' . s:fg_blue + + " R Highlighting + exec 'hi rType' . s:fg_blue + exec 'hi rArrow' . s:fg_pink + exec 'hi rDollar' . s:fg_blue + + " XXD Highlighting + exec 'hi xxdAddress' . s:fg_navy + exec 'hi xxdSep' . s:fg_pink + exec 'hi xxdAscii' . s:fg_pink + exec 'hi xxdDot' . s:fg_aqua + + " PHP Highlighting + exec 'hi phpIdentifier' . s:fg_foreground + exec 'hi phpVarSelector' . s:fg_pink + exec 'hi phpKeyword' . s:fg_blue + exec 'hi phpRepeat' . s:fg_purple . s:ft_bold + exec 'hi phpConditional' . s:fg_purple . s:ft_bold + exec 'hi phpStatement' . s:fg_pink + exec 'hi phpAssignByRef' . s:fg_aqua . s:ft_bold + exec 'hi phpSpecialFunction' . s:fg_blue + exec 'hi phpFunctions' . s:fg_blue + exec 'hi phpComparison' . s:fg_aqua + exec 'hi phpBackslashSequences' . s:fg_olive . s:ft_bold + exec 'hi phpMemberSelector' . s:fg_blue + exec 'hi phpStorageClass' . s:fg_purple . s:ft_bold + exec 'hi phpDefine' . s:fg_navy + exec 'hi phpIntVar' . s:fg_navy . s:ft_bold + + " Perl Highlighting + exec 'hi perlFiledescRead' . s:fg_green + exec 'hi perlMatchStartEnd' . s:fg_pink + exec 'hi perlStatementFlow' . s:fg_pink + exec 'hi perlStatementStorage' . s:fg_pink + exec 'hi perlFunction' . s:fg_pink . s:ft_bold + exec 'hi perlMethod' . s:fg_foreground + exec 'hi perlStatementFiledesc' . s:fg_orange + exec 'hi perlVarPlain' . s:fg_navy + exec 'hi perlSharpBang' . s:fg_comment + exec 'hi perlStatementInclude' . s:fg_aqua . s:ft_bold + exec 'hi perlStatementScalar' . s:fg_purple + exec 'hi perlSubName' . s:fg_aqua . s:ft_bold + exec 'hi perlSpecialString' . s:fg_olive . s:ft_bold + + " Pascal Highlighting + exec 'hi pascalType' . s:fg_pink . s:ft_bold + exec 'hi pascalStatement' . s:fg_blue . s:ft_bold + exec 'hi pascalPredefined' . s:fg_pink + exec 'hi pascalFunction' . s:fg_foreground + exec 'hi pascalStruct' . s:fg_navy . s:ft_bold + exec 'hi pascalOperator' . s:fg_aqua . s:ft_bold + exec 'hi pascalPreProc' . s:fg_green + exec 'hi pascalAcces' . s:fg_navy . s:ft_bold + + " Lua Highlighting + exec 'hi luaFunc' . s:fg_foreground + exec 'hi luaIn' . s:fg_blue . s:ft_bold + exec 'hi luaFunction' . s:fg_pink + exec 'hi luaStatement' . s:fg_blue + exec 'hi luaRepeat' . s:fg_blue . s:ft_bold + exec 'hi luaCondStart' . s:fg_purple . s:ft_bold + exec 'hi luaTable' . s:fg_aqua . s:ft_bold + exec 'hi luaConstant' . s:fg_green . s:ft_bold + exec 'hi luaElse' . s:fg_purple . s:ft_bold + exec 'hi luaCondElseif' . s:fg_purple . s:ft_bold + exec 'hi luaCond' . s:fg_purple . s:ft_bold + exec 'hi luaCondEnd' . s:fg_purple + + " Clojure highlighting: + exec 'hi clojureConstant' . s:fg_blue + exec 'hi clojureBoolean' . s:fg_orange + exec 'hi clojureCharacter' . s:fg_olive + exec 'hi clojureKeyword' . s:fg_pink + exec 'hi clojureNumber' . s:fg_orange + exec 'hi clojureString' . s:fg_olive + exec 'hi clojureRegexp' . s:fg_purple + exec 'hi clojureRegexpEscape' . s:fg_pink + exec 'hi clojureParen' . s:fg_aqua + exec 'hi clojureVariable' . s:fg_olive + exec 'hi clojureCond' . s:fg_blue + exec 'hi clojureDefine' . s:fg_blue . s:ft_bold + exec 'hi clojureException' . s:fg_red + exec 'hi clojureFunc' . s:fg_navy + exec 'hi clojureMacro' . s:fg_blue + exec 'hi clojureRepeat' . s:fg_blue + exec 'hi clojureSpecial' . s:fg_blue . s:ft_bold + exec 'hi clojureQuote' . s:fg_blue + exec 'hi clojureUnquote' . s:fg_blue + exec 'hi clojureMeta' . s:fg_blue + exec 'hi clojureDeref' . s:fg_blue + exec 'hi clojureAnonArg' . s:fg_blue + exec 'hi clojureRepeat' . s:fg_blue + exec 'hi clojureDispatch' . s:fg_aqua + + " Dockerfile Highlighting + " @target https://github.com/docker/docker/tree/master/contrib/syntax/vim + exec 'hi dockerfileKeyword' . s:fg_blue + exec 'hi shDerefVar' . s:fg_purple . s:ft_bold + exec 'hi shOperator' . s:fg_aqua + exec 'hi shOption' . s:fg_navy + exec 'hi shLine' . s:fg_foreground + exec 'hi shWrapLineOperator' . s:fg_pink + + " NGINX Highlighting + " @target https://github.com/evanmiller/nginx-vim-syntax + exec 'hi ngxDirectiveBlock' . s:fg_pink . s:ft_bold + exec 'hi ngxDirective' . s:fg_blue . s:ft_none + exec 'hi ngxDirectiveImportant' . s:fg_blue . s:ft_bold + exec 'hi ngxString' . s:fg_olive + exec 'hi ngxVariableString' . s:fg_purple + exec 'hi ngxVariable' . s:fg_purple . s:ft_none + + " Yaml Highlighting + exec 'hi yamlBlockMappingKey' . s:fg_blue + exec 'hi yamlKeyValueDelimiter' . s:fg_pink + exec 'hi yamlBlockCollectionItemStart' . s:fg_pink + + " Qt QML Highlighting + exec 'hi qmlObjectLiteralType' . s:fg_pink + exec 'hi qmlReserved' . s:fg_purple + exec 'hi qmlBindingProperty' . s:fg_navy + exec 'hi qmlType' . s:fg_navy + + " Dosini Highlighting + exec 'hi dosiniHeader' . s:fg_pink + exec 'hi dosiniLabel' . s:fg_blue + + " Mail highlighting + exec 'hi mailHeaderKey' . s:fg_blue + exec 'hi mailHeaderEmail' . s:fg_purple + exec 'hi mailSubject' . s:fg_pink + exec 'hi mailHeader' . s:fg_comment + exec 'hi mailURL' . s:fg_aqua + exec 'hi mailEmail' . s:fg_purple + exec 'hi mailQuoted1' . s:fg_olive + exec 'hi mailQuoted2' . s:fg_navy + + " XML Highlighting + exec 'hi xmlProcessingDelim' . s:fg_pink + exec 'hi xmlString' . s:fg_olive + exec 'hi xmlEqual' . s:fg_orange + exec 'hi xmlAttrib' . s:fg_navy + exec 'hi xmlAttribPunct' . s:fg_pink + exec 'hi xmlTag' . s:fg_blue + exec 'hi xmlTagName' . s:fg_blue + exec 'hi xmlEndTag' . s:fg_blue + exec 'hi xmlNamespace' . s:fg_orange + + " Exlixir Highlighting + " @target https://github.com/elixir-lang/vim-elixir + exec 'hi elixirAlias' . s:fg_blue . s:ft_bold + exec 'hi elixirAtom' . s:fg_navy + exec 'hi elixirVariable' . s:fg_navy + exec 'hi elixirUnusedVariable' . s:fg_foreground . s:ft_bold + exec 'hi elixirInclude' . s:fg_purple + exec 'hi elixirStringDelimiter' . s:fg_olive + exec 'hi elixirKeyword' . s:fg_purple . s:ft_bold + exec 'hi elixirFunctionDeclaration' . s:fg_aqua . s:ft_bold + exec 'hi elixirBlockDefinition' . s:fg_pink + exec 'hi elixirDefine' . s:fg_pink + exec 'hi elixirStructDefine' . s:fg_pink + exec 'hi elixirPrivateDefine' . s:fg_pink + exec 'hi elixirModuleDefine' . s:fg_pink + exec 'hi elixirProtocolDefine' . s:fg_pink + exec 'hi elixirImplDefine' . s:fg_pink + exec 'hi elixirModuleDeclaration' . s:fg_aqua . s:ft_bold + exec 'hi elixirDocString' . s:fg_olive + exec 'hi elixirDocTest' . s:fg_green . s:ft_bold + + " Erlang Highlighting + exec 'hi erlangBIF' . s:fg_purple . s:ft_bold + exec 'hi erlangBracket' . s:fg_pink + exec 'hi erlangLocalFuncCall' . s:fg_foreground + exec 'hi erlangVariable' . s:fg_foreground + exec 'hi erlangAtom' . s:fg_navy + exec 'hi erlangAttribute' . s:fg_blue . s:ft_bold + exec 'hi erlangRecordDef' . s:fg_blue . s:ft_bold + exec 'hi erlangRecord' . s:fg_blue + exec 'hi erlangRightArrow' . s:fg_blue . s:ft_bold + exec 'hi erlangStringModifier' . s:fg_olive . s:ft_bold + exec 'hi erlangInclude' . s:fg_blue . s:ft_bold + exec 'hi erlangKeyword' . s:fg_pink + exec 'hi erlangGlobalFuncCall' . s:fg_foreground + + " Cucumber Highlighting + exec 'hi cucumberFeature' . s:fg_blue . s:ft_bold + exec 'hi cucumberBackground' . s:fg_pink . s:ft_bold + exec 'hi cucumberScenario' . s:fg_pink . s:ft_bold + exec 'hi cucumberGiven' . s:fg_orange + exec 'hi cucumberGivenAnd' . s:fg_blue + exec 'hi cucumberThen' . s:fg_orange + exec 'hi cucumberThenAnd' . s:fg_blue + exec 'hi cucumberWhen' . s:fg_purple . s:ft_bold + exec 'hi cucumberScenarioOutline' . s:fg_pink . s:ft_bold + exec 'hi cucumberExamples' . s:fg_aqua + exec 'hi cucumberTags' . s:fg_aqua + exec 'hi cucumberPlaceholder' . s:fg_aqua + + " Ada Highlighting + exec 'hi adaInc' . s:fg_aqua . s:ft_bold + exec 'hi adaSpecial' . s:fg_aqua . s:ft_bold + exec 'hi adaKeyword' . s:fg_pink + exec 'hi adaBegin' . s:fg_pink + exec 'hi adaEnd' . s:fg_pink + exec 'hi adaTypedef' . s:fg_navy . s:ft_bold + exec 'hi adaAssignment' . s:fg_aqua . s:ft_bold + exec 'hi adaAttribute' . s:fg_green + + " COBOL Highlighting + exec 'hi cobolMarker' . s:fg_comment . s:bg_cursorline + exec 'hi cobolLine' . s:fg_foreground + exec 'hi cobolReserved' . s:fg_blue + exec 'hi cobolDivision' . s:fg_pink . s:ft_bold + exec 'hi cobolDivisionName' . s:fg_pink . s:ft_bold + exec 'hi cobolSection' . s:fg_navy . s:ft_bold + exec 'hi cobolSectionName' . s:fg_navy . s:ft_bold + exec 'hi cobolParagraph' . s:fg_purple + exec 'hi cobolParagraphName' . s:fg_purple + exec 'hi cobolDeclA' . s:fg_purple + exec 'hi cobolDecl' . s:fg_green + exec 'hi cobolCALLs' . s:fg_aqua . s:ft_bold + exec 'hi cobolEXECs' . s:fg_aqua . s:ft_bold + + " GNU sed highlighting + exec 'hi sedST' . s:fg_purple . s:ft_bold + exec 'hi sedFlag' . s:fg_purple . s:ft_bold + exec 'hi sedRegexp47' . s:fg_pink + exec 'hi sedRegexpMeta' . s:fg_blue . s:ft_bold + exec 'hi sedReplacement47' . s:fg_olive + exec 'hi sedReplaceMeta' . s:fg_orange . s:ft_bold + exec 'hi sedAddress' . s:fg_pink + exec 'hi sedFunction' . s:fg_aqua . s:ft_bold + exec 'hi sedBranch' . s:fg_green . s:ft_bold + exec 'hi sedLabel' . s:fg_green . s:ft_bold + + " GNU awk highlighting + exec 'hi awkPatterns' . s:fg_pink . s:ft_bold + exec 'hi awkSearch' . s:fg_pink + exec 'hi awkRegExp' . s:fg_blue . s:ft_bold + exec 'hi awkCharClass' . s:fg_blue . s:ft_bold + exec 'hi awkFieldVars' . s:fg_green . s:ft_bold + exec 'hi awkStatement' . s:fg_blue . s:ft_bold + exec 'hi awkFunction' . s:fg_blue + exec 'hi awkVariables' . s:fg_green . s:ft_bold + exec 'hi awkArrayElement' . s:fg_orange + exec 'hi awkOperator' . s:fg_foreground + exec 'hi awkBoolLogic' . s:fg_foreground + exec 'hi awkExpression' . s:fg_foreground + exec 'hi awkSpecialPrintf' . s:fg_olive . s:ft_bold + + " Elm highlighting + exec 'hi elmImport' . s:fg_navy + exec 'hi elmAlias' . s:fg_aqua + exec 'hi elmType' . s:fg_pink + exec 'hi elmOperator' . s:fg_aqua . s:ft_bold + exec 'hi elmBraces' . s:fg_aqua . s:ft_bold + exec 'hi elmTypedef' . s:fg_blue . s:ft_bold + exec 'hi elmTopLevelDecl' . s:fg_green . s:ft_bold + + " Purescript highlighting + exec 'hi purescriptModuleKeyword' . s:fg_navy + exec 'hi purescriptImportKeyword' . s:fg_navy + exec 'hi purescriptModuleName' . s:fg_pink + exec 'hi purescriptOperator' . s:fg_aqua . s:ft_bold + exec 'hi purescriptType' . s:fg_pink + exec 'hi purescriptTypeVar' . s:fg_navy + exec 'hi purescriptStructure' . s:fg_blue . s:ft_bold + exec 'hi purescriptLet' . s:fg_blue . s:ft_bold + exec 'hi purescriptFunction' . s:fg_green . s:ft_bold + exec 'hi purescriptDelimiter' . s:fg_aqua . s:ft_bold + exec 'hi purescriptStatement' . s:fg_purple . s:ft_bold + exec 'hi purescriptConstructor' . s:fg_pink + exec 'hi purescriptWhere' . s:fg_purple . s:ft_bold + + " F# highlighting + exec 'hi fsharpTypeName' . s:fg_pink + exec 'hi fsharpCoreClass' . s:fg_pink + exec 'hi fsharpType' . s:fg_pink + exec 'hi fsharpKeyword' . s:fg_blue . s:ft_bold + exec 'hi fsharpOperator' . s:fg_aqua . s:ft_bold + exec 'hi fsharpBoolean' . s:fg_green . s:ft_bold + exec 'hi fsharpFormat' . s:fg_foreground + exec 'hi fsharpLinq' . s:fg_blue + exec 'hi fsharpKeyChar' . s:fg_aqua . s:ft_bold + exec 'hi fsharpOption' . s:fg_orange + exec 'hi fsharpCoreMethod' . s:fg_purple + exec 'hi fsharpAttrib' . s:fg_orange + exec 'hi fsharpModifier' . s:fg_aqua + exec 'hi fsharpOpen' . s:fg_red + + " ASN.1 highlighting + exec 'hi asnExternal' . s:fg_green . s:ft_bold + exec 'hi asnTagModifier' . s:fg_purple + exec 'hi asnBraces' . s:fg_aqua . s:ft_bold + exec 'hi asnDefinition' . s:fg_foreground + exec 'hi asnStructure' . s:fg_blue + exec 'hi asnType' . s:fg_pink + exec 'hi asnTypeInfo' . s:fg_aqua . s:ft_bold + exec 'hi asnFieldOption' . s:fg_purple + + " }}} + + " Plugin: Netrw + exec 'hi netrwVersion' . s:fg_red + exec 'hi netrwList' . s:fg_pink + exec 'hi netrwHidePat' . s:fg_olive + exec 'hi netrwQuickHelp' . s:fg_blue + exec 'hi netrwHelpCmd' . s:fg_blue + exec 'hi netrwDir' . s:fg_aqua . s:ft_bold + exec 'hi netrwClassify' . s:fg_pink + exec 'hi netrwExe' . s:fg_green + exec 'hi netrwSuffixes' . s:fg_comment + exec 'hi netrwTreeBar' . s:fg_linenumber_fg + + " Plugin: NERDTree + exec 'hi NERDTreeUp' . s:fg_comment + exec 'hi NERDTreeHelpCommand' . s:fg_pink + exec 'hi NERDTreeHelpTitle' . s:fg_blue . s:ft_bold + exec 'hi NERDTreeHelpKey' . s:fg_pink + exec 'hi NERDTreeHelp' . s:fg_foreground + exec 'hi NERDTreeToggleOff' . s:fg_red + exec 'hi NERDTreeToggleOn' . s:fg_green + exec 'hi NERDTreeDir' . s:fg_blue . s:ft_bold + exec 'hi NERDTreeDirSlash' . s:fg_pink + exec 'hi NERDTreeFile' . s:fg_foreground + exec 'hi NERDTreeExecFile' . s:fg_green + exec 'hi NERDTreeOpenable' . s:fg_aqua . s:ft_bold + exec 'hi NERDTreeClosable' . s:fg_pink + + " Plugin: Tagbar + exec 'hi TagbarHelpTitle' . s:fg_blue . s:ft_bold + exec 'hi TagbarHelp' . s:fg_foreground + exec 'hi TagbarKind' . s:fg_pink + exec 'hi TagbarSignature' . s:fg_aqua + + " Plugin: Vimdiff + exec 'hi DiffAdd' . s:fg_diffadd_fg . s:bg_diffadd_bg . s:ft_none + exec 'hi DiffChange' . s:fg_diffchange_fg . s:bg_diffchange_bg . s:ft_none + exec 'hi DiffDelete' . s:fg_diffdelete_fg . s:bg_diffdelete_bg . s:ft_none + exec 'hi DiffText' . s:fg_difftext_fg . s:bg_difftext_bg . s:ft_none + + " Plugin: AGit + exec 'hi agitHead' . s:fg_green . s:ft_bold + exec 'hi agitHeader' . s:fg_olive + exec 'hi agitStatAdded' . s:fg_diffadd_fg + exec 'hi agitStatRemoved' . s:fg_diffdelete_fg + exec 'hi agitDiffAdd' . s:fg_diffadd_fg + exec 'hi agitDiffRemove' . s:fg_diffdelete_fg + exec 'hi agitDiffHeader' . s:fg_pink + exec 'hi agitDiff' . s:fg_foreground + exec 'hi agitDiffIndex' . s:fg_purple + exec 'hi agitDiffFileName' . s:fg_aqua + exec 'hi agitLog' . s:fg_foreground + exec 'hi agitAuthorMark' . s:fg_olive + exec 'hi agitDateMark' . s:fg_comment + exec 'hi agitHeaderLabel' . s:fg_aqua + exec 'hi agitDate' . s:fg_aqua + exec 'hi agitTree' . s:fg_pink + exec 'hi agitRef' . s:fg_blue . s:ft_bold + exec 'hi agitRemote' . s:fg_purple . s:ft_bold + exec 'hi agitTag' . s:fg_orange . s:ft_bold + + " Plugin: Spell Checking + exec 'hi SpellBad' . s:fg_foreground . s:bg_spellbad + exec 'hi SpellCap' . s:fg_foreground . s:bg_spellcap + exec 'hi SpellRare' . s:fg_foreground . s:bg_spellrare + exec 'hi SpellLocal' . s:fg_foreground . s:bg_spelllocal + + " Plugin: Indent Guides + exec 'hi IndentGuidesOdd' . s:bg_background + exec 'hi IndentGuidesEven' . s:bg_cursorline + + " Plugin: Startify + exec 'hi StartifyFile' . s:fg_blue . s:ft_bold + exec 'hi StartifyNumber' . s:fg_orange + exec 'hi StartifyHeader' . s:fg_comment + exec 'hi StartifySection' . s:fg_pink + exec 'hi StartifyPath' . s:fg_foreground + exec 'hi StartifySlash' . s:fg_navy + exec 'hi StartifyBracket' . s:fg_aqua + exec 'hi StartifySpecial' . s:fg_aqua + + " Plugin: Signify + exec 'hi SignifyLineChange' . s:fg_diffchange_fg + exec 'hi SignifySignChange' . s:fg_diffchange_fg + exec 'hi SignifyLineAdd' . s:fg_diffadd_fg + exec 'hi SignifySignAdd' . s:fg_diffadd_fg + exec 'hi SignifyLineDelete' . s:fg_diffdelete_fg + exec 'hi SignifySignDelete' . s:fg_diffdelete_fg + + " Git commit message + exec 'hi gitcommitSummary' . s:fg_blue + exec 'hi gitcommitHeader' . s:fg_green . s:ft_bold + exec 'hi gitcommitSelectedType' . s:fg_blue + exec 'hi gitcommitSelectedFile' . s:fg_pink + exec 'hi gitcommitUntrackedFile' . s:fg_diffdelete_fg + exec 'hi gitcommitBranch' . s:fg_aqua . s:ft_bold + exec 'hi gitcommitDiscardedType' . s:fg_diffdelete_fg + exec 'hi gitcommitDiff' . s:fg_comment + + exec 'hi diffFile' . s:fg_blue + exec 'hi diffSubname' . s:fg_comment + exec 'hi diffIndexLine' . s:fg_comment + exec 'hi diffAdded' . s:fg_diffadd_fg + exec 'hi diffRemoved' . s:fg_diffdelete_fg + exec 'hi diffLine' . s:fg_orange + exec 'hi diffBDiffer' . s:fg_orange + exec 'hi diffNewFile' . s:fg_comment + + " Pluging: CoC + exec 'hi CocFloating' . s:fg_popupmenu_fg . s:bg_popupmenu_bg . s:ft_none + exec 'hi CocErrorFloat' . s:fg_popupmenu_fg . s:bg_popupmenu_bg . s:ft_none + exec 'hi CocWarningFloat' . s:fg_popupmenu_fg . s:bg_popupmenu_bg . s:ft_none + exec 'hi CocInfoFloat' . s:fg_popupmenu_fg . s:bg_popupmenu_bg . s:ft_none + exec 'hi CocHintFloat' . s:fg_popupmenu_fg . s:bg_popupmenu_bg . s:ft_none + + exec 'hi CocErrorHighlight' . s:fg_foreground . s:bg_spellbad + exec 'hi CocWarningHighlight' . s:fg_foreground . s:bg_spellcap + exec 'hi CocInfoHighlight' . s:fg_foreground . s:bg_spellcap + exec 'hi CocHintHighlight' . s:fg_foreground . s:bg_spellcap + + exec 'hi CocErrorSign' . s:fg_error_fg . s:bg_error_bg + exec 'hi CocWarningSign' . s:fg_todo_fg . s:bg_todo_bg . s:ft_bold + exec 'hi CocInfoSign' . s:fg_todo_fg . s:bg_todo_bg . s:ft_bold + exec 'hi CocHintSign' . s:fg_todo_fg . s:bg_todo_bg . s:ft_bold + +endfun +" }}} + +" ================================== MISC ===================================== +" Command to show theme information {{{ +fun! g:PaperColor() + echom 'PaperColor Theme Framework' + echom ' version ' . s:version + echom ' by Nikyle Nguyen et al.' + echom ' at https://github.com/NLKNguyen/papercolor-theme/' + echom ' ' + echom 'Current theme: ' . s:theme_name + echom ' ' . s:selected_theme['description'] + echom ' by ' . s:selected_theme['maintainer'] + echom ' at ' . s:selected_theme['source'] + + " TODO: add diff display for theme color names between 'default' and current + " theme if it is a custom theme, i.e. child theme. +endfun + +" @brief command alias for g:PaperColor() +command! -nargs=0 PaperColor :call g:PaperColor() +" }}} + +" =============================== MAIN ======================================== + +hi clear +syntax reset +let g:colors_name = "PaperColor" + +call s:acquire_theme_data() +call s:identify_color_mode() + +call s:generate_theme_option_variables() +call s:generate_language_option_variables() + +call s:set_format_attributes() +call s:set_overriding_colors() + +call s:convert_colors() +call s:set_color_variables() + +call s:apply_syntax_highlightings() + +" ============================================================================= +" Cheers! +" vim: fdm=marker ff=unix diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/abstract.vim b/nvim/plugged/awesome-vim-colorschemes/colors/abstract.vim new file mode 100644 index 00000000..103fa4d4 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/abstract.vim @@ -0,0 +1,149 @@ +" Abstract Theme v1.0.0 +" +" https://github.com/jdsimcoe/abstract.vim +" +" Copyright 2016. All rights reserved +" +" Code licensed under the MIT license +" https://mit-license.org/ +" +" @author Jonathan Simcoe <@jdsimcoe> + +set background=dark +highlight clear + +if exists("syntax_on") + syntax reset +endif + +let g:colors_name = "abstract" + +hi Cursor ctermfg=236 ctermbg=15 cterm=NONE guifg=#2E2F31 guibg=#f8f8f0 gui=NONE +hi Visual ctermfg=NONE ctermbg=241 cterm=NONE guifg=NONE guibg=#2E2F31 gui=NONE +hi CursorLine ctermbg=236 cterm=NONE guifg=NONE guibg=#2E2F31 gui=NONE +hi CursorColumn ctermbg=236 cterm=NONE guifg=NONE guibg=#2E2F31 gui=NONE +hi ColorColumn ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#3d3f49 gui=NONE +hi LineNr ctermfg=240 ctermbg=NONE cterm=NONE guifg=#5C5E5F guibg=#2E2F31 gui=NONE +hi VertSplit ctermfg=231 ctermbg=236 cterm=bold guifg=#64666d guibg=#64666d gui=bold +hi MatchParen ctermfg=205 ctermbg=NONE cterm=underline guifg=#FF479F guibg=NONE gui=underline +hi StatusLine ctermfg=231 ctermbg=236 cterm=bold guifg=#f8f8f2 guibg=#64666d gui=bold +hi StatusLineNC ctermfg=231 ctermbg=236 cterm=NONE guifg=#f8f8f2 guibg=#64666d gui=NONE +hi Pmenu ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi PmenuSel ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#2E2F31 gui=NONE +hi IncSearch ctermfg=236 ctermbg=229 cterm=NONE guifg=#2E2F31 guibg=#FEF29E gui=NONE +hi Search ctermfg=NONE ctermbg=NONE cterm=underline guifg=NONE guibg=NONE gui=underline +hi Directory ctermfg=62 ctermbg=NONE cterm=NONE guifg=#5A5AE6 guibg=NONE gui=NONE +hi Folded ctermfg=33 ctermbg=235 cterm=NONE guifg=#007AFF guibg=#2E2F31 gui=NONE +hi SignColumn ctermfg=246 ctermbg=235 cterm=NONE guifg=#909194 guibg=#2E2F31 gui=NONE +hi FoldColmun ctermfg=246 ctermbg=235 cterm=NONE guifg=#909194 guibg=#2E2F31 gui=NONE +hi Normal guifg=#f8f8f2 guibg=#2E2F31 gui=NONE +hi Boolean ctermfg=62 ctermbg=NONE cterm=NONE guifg=#5A5AE6 guibg=NONE gui=NONE +hi Character ctermfg=62 ctermbg=NONE cterm=NONE guifg=#5A5AE6 guibg=NONE gui=NONE +hi Comment ctermfg=240 ctermbg=NONE cterm=NONE guifg=#5C5E5F guibg=NONE gui=NONE +hi Conditional ctermfg=205 ctermbg=NONE cterm=NONE guifg=#FF479F guibg=NONE gui=NONE +hi Constant ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi Define ctermfg=205 ctermbg=NONE cterm=NONE guifg=#FF479F guibg=NONE gui=NONE +hi DiffAdd ctermfg=231 ctermbg=79 cterm=bold guifg=#f8f8f2 guibg=#00CC95 gui=bold +hi DiffDelete ctermfg=196 ctermbg=NONE cterm=NONE guifg=#F30000 guibg=NONE gui=NONE +hi DiffChange ctermfg=231 ctermbg=221 cterm=NONE guifg=#f8f8f2 guibg=#F4D25D gui=NONE +hi DiffText ctermfg=231 ctermbg=221 cterm=bold guifg=#f8f8f2 guibg=#F4D25D gui=bold +hi ErrorMsg ctermfg=231 ctermbg=205 cterm=NONE guifg=#f8f8f0 guibg=#FF479F gui=NONE +hi WarningMsg ctermfg=231 ctermbg=205 cterm=NONE guifg=#f8f8f0 guibg=#FF479F gui=NONE +hi Float ctermfg=62 ctermbg=NONE cterm=NONE guifg=#5A5AE6 guibg=NONE gui=NONE +hi Function ctermfg=50 ctermbg=NONE cterm=NONE guifg=#45FFC8 guibg=NONE gui=NONE +hi Identifier ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=italic +hi Keyword ctermfg=205 ctermbg=NONE cterm=NONE guifg=#FF479F guibg=NONE gui=NONE +hi Label ctermfg=229 ctermbg=NONE cterm=NONE guifg=#FEF29E guibg=NONE gui=NONE +hi NonText ctermfg=231 ctermbg=NONE cterm=NONE guifg=#2E2F31 guibg=#2E2F31 gui=NONE +hi Number ctermfg=62 ctermbg=NONE cterm=NONE guifg=#5A5AE6 guibg=NONE gui=NONE +hi Operator ctermfg=205 ctermbg=NONE cterm=NONE guifg=#FF479F guibg=NONE gui=NONE +hi PreProc ctermfg=205 ctermbg=NONE cterm=NONE guifg=#FF479F guibg=NONE gui=NONE +hi Special ctermfg=231 ctermbg=NONE cterm=NONE guifg=#f8f8f2 guibg=NONE gui=NONE +hi SpecialKey ctermfg=231 ctermbg=235 cterm=NONE guifg=#2E2F31 guibg=#2E2F31 gui=NONE +hi Statement ctermfg=205 ctermbg=NONE cterm=NONE guifg=#FF479F guibg=NONE gui=NONE +hi StorageClass ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=italic +hi String ctermfg=229 ctermbg=NONE cterm=NONE guifg=#FEF29E guibg=NONE gui=NONE +hi Tag ctermfg=205 ctermbg=NONE cterm=NONE guifg=#FF479F guibg=NONE gui=NONE +hi Title ctermfg=231 ctermbg=NONE cterm=bold guifg=#f8f8f2 guibg=NONE gui=bold +hi Todo ctermfg=33 ctermbg=NONE cterm=inverse,bold guifg=#007AFF guibg=NONE gui=inverse,bold +hi Type ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=NONE +hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline guifg=NONE guibg=NONE gui=underline +hi rubyClass ctermfg=205 ctermbg=NONE cterm=NONE guifg=#FF479F guibg=NONE gui=NONE +hi rubyFunction ctermfg=50 ctermbg=NONE cterm=NONE guifg=#45FFC8 guibg=NONE gui=NONE +hi rubyInterpolationDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi rubySymbol ctermfg=62 ctermbg=NONE cterm=NONE guifg=#5A5AE6 guibg=NONE gui=NONE +hi rubyConstant ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=italic +hi rubyStringDelimiter ctermfg=229 ctermbg=NONE cterm=NONE guifg=#FEF29E guibg=NONE gui=NONE +hi rubyBlockParameter ctermfg=221 ctermbg=NONE cterm=NONE guifg=#FFD75F guibg=NONE gui=italic +hi rubyInstanceVariable ctermfg=203 ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi rubyInclude ctermfg=205 ctermbg=NONE cterm=NONE guifg=#FF479F guibg=NONE gui=NONE +hi rubyGlobalVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi rubyRegexp ctermfg=229 ctermbg=NONE cterm=NONE guifg=#FEF29E guibg=NONE gui=NONE +hi rubyRegexpDelimiter ctermfg=229 ctermbg=NONE cterm=NONE guifg=#FEF29E guibg=NONE gui=NONE +hi rubyEscape ctermfg=62 ctermbg=NONE cterm=NONE guifg=#5A5AE6 guibg=NONE gui=NONE +hi rubyControl ctermfg=205 ctermbg=NONE cterm=NONE guifg=#FF479F guibg=NONE gui=NONE +hi rubyClassVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi rubyOperator ctermfg=205 ctermbg=NONE cterm=NONE guifg=#FF479F guibg=NONE gui=NONE +hi rubyException ctermfg=205 ctermbg=NONE cterm=NONE guifg=#FF479F guibg=NONE gui=NONE +hi rubyPseudoVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi rubyRailsUserClass ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=italic +hi rubyRailsARAssociationMethod ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=NONE +hi rubyRailsARMethod ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=NONE +hi rubyRailsRenderMethod ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=NONE +hi rubyRailsMethod ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=NONE +hi erubyDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi erubyComment ctermfg=33 ctermbg=NONE cterm=NONE guifg=#007AFF guibg=NONE gui=NONE +hi erubyRailsMethod ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=NONE +hi htmlTag ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi htmlEndTag ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi htmlTagName ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi htmlArg ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi htmlSpecialChar ctermfg=62 ctermbg=NONE cterm=NONE guifg=#5A5AE6 guibg=NONE gui=NONE +hi javaScriptFunction ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=italic +hi javaScriptRailsFunction ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=NONE +hi javaScriptBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi yamlKey ctermfg=205 ctermbg=NONE cterm=NONE guifg=#FF479F guibg=NONE gui=NONE +hi yamlAnchor ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi yamlAlias ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi yamlDocumentHeader ctermfg=229 ctermbg=NONE cterm=NONE guifg=#FEF29E guibg=NONE gui=NONE +hi cssURL ctermfg=221 ctermbg=NONE cterm=NONE guifg=#FFD75F guibg=NONE gui=italic +hi cssFunctionName ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=NONE +hi cssColor ctermfg=62 ctermbg=NONE cterm=NONE guifg=#5A5AE6 guibg=NONE gui=NONE +hi cssPseudoClassId ctermfg=50 ctermbg=NONE cterm=NONE guifg=#45FFC8 guibg=NONE gui=NONE +hi cssClassName ctermfg=50 ctermbg=NONE cterm=NONE guifg=#45FFC8 guibg=NONE gui=NONE +hi cssValueLength ctermfg=62 ctermbg=NONE cterm=NONE guifg=#5A5AE6 guibg=NONE gui=NONE +hi cssCommonAttr ctermfg=87 ctermbg=NONE cterm=NONE guifg=#6be5fd guibg=NONE gui=NONE +hi cssBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi TabLineFill guifg=#333333 guibg=#2E2F31 gui=none +hi TabLine guifg=#666666 guibg=#2E2F31 gui=none +hi TabLineSel guifg=WHITE guibg=#2E2F31 gui=none + +" Elixir {{{ +hi elixirAtom ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=italic" +hi elixirModuleDeclaration ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=italic" +hi elixirAlias ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE gui=italic" +hi elixirInterpolationDelimiter ctermfg=50 ctermbg=NONE cterm=NONE guifg=#45FFC8 guibg=NONE gui=NONE +hi elixirStringDelimiter ctermfg=229 ctermbg=NONE cterm=NONE guifg=#FEF29E guibg=NONE gui=NONE +"}}} +" +" Vim Script {{{ +hi vimGroupName ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE +hi vimGroup ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE +hi vimOption ctermfg=87 ctermbg=NONE cterm=NONE guifg=#5CF1FF guibg=NONE +hi vimHiCtermFgBg ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE +hi vimHiGuiFgBg ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE +" }}} + + +" +"cygwin has an annoying behavior where it resets background to light +"regardless of what is set above, so we force it yet again +" +"add these to get cygwin shell working when used to ssh into a centos6 vm +"this requires your TERM=xterm-256color in the guest vm +"- one way to do this is to append to /home/vagrant/.bash_profile ala: +" TERM=xterm-256color +" export $TERM + +execute "set background=dark" +"------------------- diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/afterglow.vim b/nvim/plugged/awesome-vim-colorschemes/colors/afterglow.vim new file mode 100644 index 00000000..3f533c40 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/afterglow.vim @@ -0,0 +1,628 @@ +" File: afterglow.vim +" Author: Danilo Augusto +" Date: 2017-02-27 +" Vim color file - Afterglow (monokai version) +" +" Hex color conversion functions borrowed from the theme 'Desert256' + +set background=dark +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name = "afterglow" + +" Default GUI Colours +let s:foreground = "d6d6d6" +let s:background = "1a1a1a" +let s:selection = "5a647e" +let s:line = "393939" +let s:comment = "797979" +let s:red = "ac4142" +let s:orange = "e87d3e" +let s:yellow = "e5b567" +let s:green = "b4c973" +let s:blue = "6c99bb" +let s:wine = "b05279" +let s:purple = "9e86c8" +let s:window = "4d5057" + +" Auxiliar colors +let s:black = "000000" + +if has("gui_running") || &t_Co == 88 || &t_Co == 256 + " Returns an approximate grey index for the given grey level + fun grey_number(x) + if &t_Co == 88 + if a:x < 23 + return 0 + elseif a:x < 69 + return 1 + elseif a:x < 103 + return 2 + elseif a:x < 127 + return 3 + elseif a:x < 150 + return 4 + elseif a:x < 173 + return 5 + elseif a:x < 196 + return 6 + elseif a:x < 219 + return 7 + elseif a:x < 243 + return 8 + else + return 9 + endif + else + if a:x < 14 + return 0 + else + let l:n = (a:x - 8) / 10 + let l:m = (a:x - 8) % 10 + if l:m < 5 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " Returns the actual grey level represented by the grey index + fun grey_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 46 + elseif a:n == 2 + return 92 + elseif a:n == 3 + return 115 + elseif a:n == 4 + return 139 + elseif a:n == 5 + return 162 + elseif a:n == 6 + return 185 + elseif a:n == 7 + return 208 + elseif a:n == 8 + return 231 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 8 + (a:n * 10) + endif + endif + endfun + + " Returns the palette index for the given grey index + fun grey_colour(n) + if &t_Co == 88 + if a:n == 0 + return 16 + elseif a:n == 9 + return 79 + else + return 79 + a:n + endif + else + if a:n == 0 + return 16 + elseif a:n == 25 + return 231 + else + return 231 + a:n + endif + endif + endfun + + " Returns an approximate colour index for the given colour level + fun rgb_number(x) + if &t_Co == 88 + if a:x < 69 + return 0 + elseif a:x < 172 + return 1 + elseif a:x < 230 + return 2 + else + return 3 + endif + else + if a:x < 75 + return 0 + else + let l:n = (a:x - 55) / 40 + let l:m = (a:x - 55) % 40 + if l:m < 20 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " Returns the actual colour level for the given colour index + fun rgb_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 139 + elseif a:n == 2 + return 205 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 55 + (a:n * 40) + endif + endif + endfun + + " Returns the palette index for the given R/G/B colour indices + fun rgb_colour(x, y, z) + if &t_Co == 88 + return 16 + (a:x * 16) + (a:y * 4) + a:z + else + return 16 + (a:x * 36) + (a:y * 6) + a:z + endif + endfun + + " Returns the palette index to approximate the given R/G/B colour levels + fun colour(r, g, b) + " Get the closest grey + let l:gx = grey_number(a:r) + let l:gy = grey_number(a:g) + let l:gz = grey_number(a:b) + + " Get the closest colour + let l:x = rgb_number(a:r) + let l:y = rgb_number(a:g) + let l:z = rgb_number(a:b) + + if l:gx == l:gy && l:gy == l:gz + " There are two possibilities + let l:dgr = grey_level(l:gx) - a:r + let l:dgg = grey_level(l:gy) - a:g + let l:dgb = grey_level(l:gz) - a:b + let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) + let l:dr = rgb_level(l:gx) - a:r + let l:dg = rgb_level(l:gy) - a:g + let l:db = rgb_level(l:gz) - a:b + let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) + if l:dgrey < l:drgb + " Use the grey + return grey_colour(l:gx) + else + " Use the colour + return rgb_colour(l:x, l:y, l:z) + endif + else + " Only one possibility + return rgb_colour(l:x, l:y, l:z) + endif + endfun + + " Returns the palette index to approximate the 'rrggbb' hex string + fun rgb(rgb) + let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 + let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 + let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 + + return colour(l:r, l:g, l:b) + endfun + + " Sets the highlighting for the given group + fun X(group, fg, bg, attr) + if a:fg != "" + if a:fg == "NONE" + exec "hi " . a:group . " guifg=NONE ctermfg=NONE" + else + exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . rgb(a:fg) + endif + endif + if a:bg != "" + if a:bg == "NONE" + exec "hi " . a:group . " guibg=NONE ctermbg=NONE" + else + exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . rgb(a:bg) + endif + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif + endfun + + " by default: toggled on (backcompatibility with g:afterglow_italic_comments) + " option g:afterglow_use_italics + if exists("g:afterglow_use_italics") && !g:afterglow_use_italics + let italic = "" + else + " make the global variable available to command mode + let g:afterglow_use_italics = 1 + let italic = "italic" + endif + + " option g:afterglow_italic_comments + if exists("g:afterglow_italic_comments") && g:afterglow_italic_comments + call X("Comment", s:comment, "", italic) + else + " make the global variable available to command mode + let g:afterglow_italic_comments = 0 + call X("Comment", s:comment, "", "") + endif + + " Vim Highlighting + call X("NonText", s:selection, "", "") + call X("SpecialKey", s:selection, "", "") + call X("Search", s:background, s:yellow, "") + call X("TabLine", s:window, s:foreground, "reverse") + call X("TabLineFill", s:window, s:foreground, "reverse") + call X("StatusLine", s:window, s:yellow, "reverse") + call X("StatusLineNC", s:window, s:foreground, "reverse") + call X("VertSplit", s:window, s:window, "NONE") + call X("Visual", "", s:selection, "") + call X("Directory", s:blue, "", "") + call X("ModeMsg", s:green, "", "") + call X("MoreMsg", s:green, "", "") + call X("Question", s:green, "", "") + call X("WarningMsg", s:orange, "", "bold") + call X("MatchParen", "", s:selection, "") + call X("Folded", s:comment, s:background, "") + call X("FoldColumn", "", s:background, "") + if version >= 700 + call X("CursorLine", "", s:line, "NONE") + call X("CursorLineNR", s:orange, "", "NONE") + call X("CursorColumn", "", s:line, "NONE") + call X("PMenu", s:foreground, s:selection, "NONE") + call X("PMenuSel", s:foreground, s:selection, "reverse") + end + if version >= 703 + call X("ColorColumn", "", s:line, "NONE") + end + + " Standard Highlighting + call X("Title", s:comment, "", "bold") + call X("Identifier", s:orange, "", "") + call X("Statement", s:wine, "", "") + call X("Conditional", s:wine, "", "") + call X("Repeat", s:wine, "", "") + call X("Structure", s:wine, "", "") + call X("Function", s:orange, "", "") + call X("Constant", s:purple, "", "") + call X("Keyword", s:orange, "", "") + call X("String", s:yellow, "", "") + call X("Special", s:blue, "", "") + call X("PreProc", s:green, "", "") + call X("Operator", s:purple, "", "") + call X("Type", s:blue, "", "") + call X("Define", s:wine, "", "") + call X("Include", s:wine, "", "") + call X("Tag", s:orange, "", "bold") + call X("Underlined", s:orange, "", "underline") + + syntax match commonOperator "\(+\|=\|-\|*\|\^\|\/\||\)" + hi! link commonOperator Operator + + " Vim Highlighting + call X("vimCommand", s:wine, "", "NONE") + + " C Highlighting + call X("cType", s:wine, "", "") + call X("cStorageClass", s:orange, "", "") + call X("cConditional", s:wine, "", "") + call X("cRepeat", s:wine, "", "") + + " PHP Highlighting + call X("phpVarSelector", s:wine, "", "") + call X("phpKeyword", s:wine, "", "") + call X("phpRepeat", s:wine, "", "") + call X("phpConditional", s:wine, "", "") + call X("phpStatement", s:wine, "", "") + call X("phpMemberSelector", s:foreground, "", "") + + " Ruby Highlighting + call X("rubySymbol", s:blue, "", "") + call X("rubyConstant", s:green, "", "") + call X("rubyAccess", s:yellow, "", "") + call X("rubyAttribute", s:blue, "", "") + call X("rubyInclude", s:blue, "", "") + call X("rubyLocalVariableOrMethod", s:orange, "", "") + call X("rubyCurlyBlock", s:orange, "", "") + call X("rubyStringDelimiter", s:yellow, "", "") + call X("rubyInterpolationDelimiter", s:orange, "", "") + call X("rubyConditional", s:wine, "", "") + call X("rubyRepeat", s:wine, "", "") + call X("rubyControl", s:wine, "", "") + call X("rubyException", s:wine, "", "") + + " Crystal Highlighting + call X("crystalSymbol", s:green, "", "") + call X("crystalConstant", s:yellow, "", "") + call X("crystalAccess", s:yellow, "", "") + call X("crystalAttribute", s:blue, "", "") + call X("crystalInclude", s:blue, "", "") + call X("crystalLocalVariableOrMethod", s:orange, "", "") + call X("crystalCurlyBlock", s:orange, "", "") + call X("crystalStringDelimiter", s:green, "", "") + call X("crystalInterpolationDelimiter", s:orange, "", "") + call X("crystalConditional", s:wine, "", "") + call X("crystalRepeat", s:wine, "", "") + call X("crystalControl", s:wine, "", "") + call X("crystalException", s:wine, "", "") + + " Python Highlighting + call X("pythonInclude", s:green, "", italic) + call X("pythonStatement", s:blue, "", "") + call X("pythonConditional", s:wine, "", "") + call X("pythonRepeat", s:wine, "", "") + call X("pythonException", s:orange, "", "") + call X("pythonFunction", s:green, "", italic) + call X("pythonPreCondit", s:wine, "", "") + call X("pythonExClass", s:orange, "", "") + call X("pythonBuiltin", s:blue, "", "") + call X("pythonOperator", s:wine, "", "") + call X("pythonNumber", s:purple, "", "") + call X("pythonString", s:yellow, "", "") + call X("pythonRawString", s:yellow, "", "") + call X("pythonDecorator", s:wine, "", "") + call X("pythonDoctest", s:yellow, "", "") + call X("pythonImportFunction", s:orange, "", "") + call X("pythonImportModule", s:orange, "", "") + call X("pythonImportObject", s:orange, "", "") + call X("pythonImportedClassDef", s:orange, "", "") + call X("pythonImportedFuncDef", s:orange, "", "") + call X("pythonImportedModule", s:orange, "", "") + call X("pythonImportedObject", s:orange, "", "") + + " JavaScript Highlighting + call X("javaScriptEndColons", s:foreground, "", "") + call X("javaScriptOpSymbols", s:foreground, "", "") + call X("javaScriptLogicSymbols", s:foreground, "", "") + call X("javaScriptBraces", s:foreground, "", "") + call X("javaScriptParens", s:foreground, "", "") + call X("javaScriptFunction", s:green, "", "") + call X("javaScriptComment", s:comment, "", "") + call X("javaScriptLineComment", s:comment, "", "") + call X("javaScriptDocComment", s:comment, "", "") + call X("javaScriptCommentTodo", s:red, "", "") + call X("javaScriptString", s:yellow, "", "") + call X("javaScriptRegexpString", s:yellow, "", "") + call X("javaScriptTemplateString", s:yellow, "", "") + call X("javaScriptNumber", s:purple, "", "") + call X("javaScriptFloat", s:purple, "", "") + call X("javaScriptGlobal", s:purple, "", "") + call X("javaScriptCharacter", s:blue, "", "") + call X("javaScriptPrototype", s:blue, "", "") + call X("javaScriptConditional", s:blue, "", "") + call X("javaScriptBranch", s:blue, "", "") + call X("javaScriptIdentifier", s:orange, "", "") + call X("javaScriptRepeat", s:blue, "", "") + call X("javaScriptStatement", s:blue, "", "") + call X("javaScriptMessage", s:blue, "", "") + call X("javaScriptReserved", s:blue, "", "") + call X("javaScriptOperator", s:blue, "", "") + call X("javaScriptNull", s:purple, "", "") + call X("javaScriptBoolean", s:purple, "", "") + call X("javaScriptLabel", s:blue, "", "") + call X("javaScriptSpecial", s:blue, "", "") + call X("javaScriptExceptions", s:red, "", "") + call X("javaScriptDeprecated", s:red, "", "") + call X("javaScriptError", s:red, "", "") + + " LaTeX + call X("texStatement",s:blue, "", "") + call X("texMath", s:wine, "", "NONE") + call X("texMathMacher", s:yellow, "", "NONE") + call X("texRefLabel", s:wine, "", "NONE") + call X("texRefZone", s:blue, "", "NONE") + call X("texComment", s:comment, "", "NONE") + call X("texDelimiter", s:purple, "", "NONE") + call X("texMathZoneX", s:purple, "", "NONE") + + " CoffeeScript Highlighting + call X("coffeeRepeat", s:wine, "", "") + call X("coffeeConditional", s:wine, "", "") + call X("coffeeKeyword", s:wine, "", "") + call X("coffeeObject", s:yellow, "", "") + + " HTML Highlighting + call X("htmlTag", s:blue, "", "") + call X("htmlEndTag", s:blue, "", "") + call X("htmlTagName", s:wine, "", "bold") + call X("htmlArg", s:green, "", italic) + call X("htmlScriptTag", s:wine, "", "") + + " Diff Highlighting + call X("diffAdd", "", "4c4e39", "") + call X("diffDelete", s:background, s:red, "") + call X("diffChange", "", "2B5B77", "") + call X("diffText", s:line, s:blue, "") + + " ShowMarks Highlighting + call X("ShowMarksHLl", s:orange, s:background, "NONE") + call X("ShowMarksHLo", s:wine, s:background, "NONE") + call X("ShowMarksHLu", s:yellow, s:background, "NONE") + call X("ShowMarksHLm", s:wine, s:background, "NONE") + + " Lua Highlighting + call X("luaStatement", s:wine, "", "") + call X("luaRepeat", s:wine, "", "") + call X("luaCondStart", s:wine, "", "") + call X("luaCondElseif", s:wine, "", "") + call X("luaCond", s:wine, "", "") + call X("luaCondEnd", s:wine, "", "") + + " Cucumber Highlighting + call X("cucumberGiven", s:blue, "", "") + call X("cucumberGivenAnd", s:blue, "", "") + + " Go Highlighting + call X("goDirective", s:wine, "", "") + call X("goDeclaration", s:wine, "", "") + call X("goStatement", s:wine, "", "") + call X("goConditional", s:wine, "", "") + call X("goConstants", s:orange, "", "") + call X("goTodo", s:red, "", "") + call X("goDeclType", s:blue, "", "") + call X("goBuiltins", s:wine, "", "") + call X("goRepeat", s:wine, "", "") + call X("goLabel", s:wine, "", "") + + " Clojure Highlighting + call X("clojureConstant", s:orange, "", "") + call X("clojureBoolean", s:orange, "", "") + call X("clojureCharacter", s:orange, "", "") + call X("clojureKeyword", s:green, "", "") + call X("clojureNumber", s:orange, "", "") + call X("clojureString", s:green, "", "") + call X("clojureRegexp", s:green, "", "") + call X("clojureParen", s:wine, "", "") + call X("clojureVariable", s:yellow, "", "") + call X("clojureCond", s:blue, "", "") + call X("clojureDefine", s:wine, "", "") + call X("clojureException", s:red, "", "") + call X("clojureFunc", s:blue, "", "") + call X("clojureMacro", s:blue, "", "") + call X("clojureRepeat", s:blue, "", "") + call X("clojureSpecial", s:wine, "", "") + call X("clojureQuote", s:blue, "", "") + call X("clojureUnquote", s:blue, "", "") + call X("clojureMeta", s:blue, "", "") + call X("clojureDeref", s:blue, "", "") + call X("clojureAnonArg", s:blue, "", "") + call X("clojureRepeat", s:blue, "", "") + call X("clojureDispatch", s:blue, "", "") + + " Scala Highlighting + call X("scalaKeyword", s:wine, "", "") + call X("scalaKeywordModifier", s:wine, "", "") + call X("scalaOperator", s:blue, "", "") + call X("scalaPackage", s:wine, "", "") + call X("scalaFqn", s:foreground, "", "") + call X("scalaFqnSet", s:foreground, "", "") + call X("scalaImport", s:wine, "", "") + call X("scalaBoolean", s:orange, "", "") + call X("scalaDef", s:wine, "", "") + call X("scalaVal", s:wine, "", "") + call X("scalaVar", s:wine, "", "") + call X("scalaClass", s:wine, "", "") + call X("scalaObject", s:wine, "", "") + call X("scalaTrait", s:wine, "", "") + call X("scalaDefName", s:blue, "", "") + call X("scalaValName", s:foreground, "", "") + call X("scalaVarName", s:foreground, "", "") + call X("scalaClassName", s:foreground, "", "") + call X("scalaType", s:yellow, "", "") + call X("scalaTypeSpecializer", s:yellow, "", "") + call X("scalaAnnotation", s:orange, "", "") + call X("scalaNumber", s:orange, "", "") + call X("scalaDefSpecializer", s:yellow, "", "") + call X("scalaClassSpecializer", s:yellow, "", "") + call X("scalaBackTick", s:green, "", "") + call X("scalaRoot", s:foreground, "", "") + call X("scalaMethodCall", s:blue, "", "") + call X("scalaCaseType", s:yellow, "", "") + call X("scalaLineComment", s:comment, "", "") + call X("scalaComment", s:comment, "", "") + call X("scalaDocComment", s:comment, "", "") + call X("scalaDocTags", s:comment, "", "") + call X("scalaEmptyString", s:green, "", "") + call X("scalaMultiLineString", s:green, "", "") + call X("scalaUnicode", s:orange, "", "") + call X("scalaString", s:green, "", "") + call X("scalaStringEscape", s:green, "", "") + call X("scalaSymbol", s:orange, "", "") + call X("scalaChar", s:orange, "", "") + call X("scalaXml", s:green, "", "") + call X("scalaConstructorSpecializer", s:yellow, "", "") + call X("scalaBackTick", s:blue, "", "") + + " Git + call X("gitFile", s:orange, "", "") + call X("gitcommitSummary", "", "", "bold") + + " Option g:afterglow_blackout + if !exists( "g:afterglow_blackout") + let g:afterglow_blackout = 0 + endif + + " Option g:afterglow_no_terminal_background + if !exists("g:afterglow_inherit_background") + let g:afterglow_inherit_background = 0 + endif + + " Background behavior inference here + if g:afterglow_inherit_background && has("gui_running") + echohl WarningMsg | echom "Inherit background is ignored in GUI." | echohl NONE + let g:afterglow_inherit_background = 0 + endif + + if g:afterglow_inherit_background + let s:chosen_background = "NONE" + elseif g:afterglow_blackout + let s:chosen_background = s:black + else + let s:chosen_background = s:background + endif + + " Settings dependent on g:afterglow_blackout + call X("Normal", s:foreground, s:chosen_background, "") + call X("LineNr", s:comment, s:chosen_background, "") + if version >= 700 + call X("SignColumn", "", s:chosen_background, "NONE") + end + call X("Todo", s:red, s:chosen_background, "bold") + + " Diffs + " Plugin GitGutter uses highlight link to some of the groups below + call X("DiffAdded", s:green, s:chosen_background, "") + call X("DiffChange", s:yellow, s:chosen_background, "") + call X("DiffDelete", s:red, s:chosen_background, "") + call X("DiffLine", s:blue, s:chosen_background, italic) + call X("DiffSubname", s:foreground, s:chosen_background, "") + " Aliases + " For plugins compatibility and some backcompatibility + " cf. https://github.com/vim/vim-history/blob/c2257f84a000fd08d3ba80d6b1a5d1c0148a39ea/runtime/syntax/diff.vim#L13 + hi! link diffAdded DiffAdded + hi! link diffChange DiffChange + hi! link diffDelete DiffDelete + hi! link diffLine DiffLine + hi! link diffSubname DiffSubname + hi! link DiffRemoved DiffDelete + hi! link diffRemoved DiffDelete + hi! link GitGutterChangeLineDefault DiffDelete + hi! link DiffAdd DiffAdded + hi! link diffAdd DiffAdded + + " ALE (plugin) + call X("ALEWarningSign", s:orange, s:chosen_background, "bold") + call X("ALEErrorSign", s:red, s:chosen_background, "bold") + + " Delete Functions + delf X + delf rgb + delf colour + delf rgb_colour + delf rgb_level + delf rgb_number + delf grey_colour + delf grey_level + delf grey_number +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/alduin.vim b/nvim/plugged/awesome-vim-colorschemes/colors/alduin.vim new file mode 100644 index 00000000..baadc668 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/alduin.vim @@ -0,0 +1,297 @@ +"AUTHOR: Alessandro Yorba +"SCRIPT: https://github.com/AlessandroYorba/Alduin + +"UPDATED: November 26th, 2019 +"CHANGES: Reverted back to original LineNr for all modes + +"Arch Linux Package: George Angelopoulos https://github.com/lathan +"Design Inspiration: Karolis Koncevičius https://github.com/KKPMW +"Design Inspiration: Romain Lafourcade https://github.com/romainl +"UI Contributions: jiyyti https://github.com/jiyyt +"UI Contributions: Aramis Razzaghipour arzg https://github.com/arzg +" +"SUPPORT: +"256 color terminals, Gui versions of vim, and Termguicolors versions of vim +" +"INSTALL LOCATION: +"Unix users, place alduin.vim in ~/.vim/colors +"Windows users, place alduin.vim in ~\vimfiles\colors + +"From your .vimrc add one of the following options +"colorscheme alduin +" +"DARKER GRAY BACKGROUND COLOR: +"let g:alduin_Shout_Dragon_Aspect = 1 +"colorscheme alduin +" +"BLACK BACKGROUND COLOR: +"let g:alduin_Shout_Become_Ethereal = 1 +"colorscheme alduin +" +"ADDS DEEP RED COLOR FOR SPECIAL HIGHLIGHT GROUPS: +"let g:alduin_Shout_Fire_Breath = 1 +"colorscheme alduin +" +"REMOVE SUBTLE BACKGROUND HIGHLIGHTING FROM STRINGS: +"let g:alduin_Shout_Animal_Allegiance = 1 +"colorscheme alduin +" +"REMOVES BLOCK MATCHPARENS ADDS UNDERLINE: +"let g:alduin_Shout_Aura_Whisper = 1 +"colorscheme alduin +" +"ALDUIN: +set background=dark + +highlight clear +if exists("syntax_on") + syntax reset +endif + +let g:colors_name="alduin" + +if !exists( "g:alduin_Shout_Aura_Whisper") + let g:alduin_Shout_Aura_Whisper = 0 +endif + +if !exists( "g:alduin_Shout_Fire_Breath" ) + let g:alduin_Shout_Fire_Breath = 0 +endif + +if !exists("g:alduin_Shout_Animal_Allegiance") + let g:alduin_Shout_Animal_Allegiance = 0 +endif + +if !exists("g:alduin_Shout_Dragon_Aspect" ) + let g:alduin_Shout_Dragon_Aspect = 0 +endif + +if !exists( "g:alduin_Shout_Become_Ethereal" ) + let g:alduin_Shout_Become_Ethereal = 0 +endif + +" COMMON COLORS AND SETTINGS +highlight PreProc guifg=#dfaf87 guibg=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE +highlight Function guifg=#875f5f guibg=NONE gui=NONE ctermfg=95 ctermbg=NONE cterm=NONE +highlight Identifier guifg=#87afaf guibg=NONE gui=NONE ctermfg=109 ctermbg=NONE cterm=NONE +highlight Statement guifg=#878787 guibg=NONE gui=NONE ctermfg=102 ctermbg=NONE cterm=NONE +highlight Constant guifg=#af8787 guibg=NONE gui=NONE ctermfg=138 ctermbg=NONE cterm=NONE +highlight Type guifg=#af875f guibg=NONE gui=NONE ctermfg=137 ctermbg=NONE cterm=NONE +highlight Label guifg=#878787 guibg=NONE gui=NONE ctermfg=102 ctermbg=NONE cterm=NONE +highlight Special guifg=#af5f5f guibg=NONE gui=NONE ctermfg=131 ctermbg=NONE cterm=NONE +highlight Operator guifg=#878787 guibg=NONE gui=NONE ctermfg=102 ctermbg=NONE cterm=NONE +highlight Title guifg=#dfaf87 guibg=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE +highlight Conditional guifg=#878787 guibg=NONE gui=NONE ctermfg=102 ctermbg=NONE cterm=NONE +highlight StorageClass guifg=#875f5f guibg=NONE gui=NONE ctermfg=95 ctermbg=NONE cterm=NONE +highlight htmlStatement guifg=#878787 guibg=NONE gui=NONE ctermfg=102 ctermbg=NONE cterm=NONE +highlight htmlItalic guifg=#dfaf87 guibg=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE +highlight htmlArg guifg=#875f5f guibg=NONE gui=NONE ctermfg=95 ctermbg=NONE cterm=NONE +highlight cssIdentifier guifg=#dfaf87 guibg=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE +highlight cssClassName guifg=#dfaf87 guibg=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE +highlight Structure guifg=#875f5f guibg=NONE gui=NONE ctermfg=95 ctermbg=NONE cterm=NONE +highlight Typedef guifg=#875f5f guibg=NONE gui=NONE ctermfg=95 ctermbg=NONE cterm=NONE +highlight Repeat guifg=#878787 guibg=NONE gui=NONE ctermfg=102 ctermbg=NONE cterm=NONE +highlight Keyword guifg=#878787 guibg=NONE gui=NONE ctermfg=102 ctermbg=NONE cterm=NONE +highlight Exception guifg=#878787 guibg=NONE gui=NONE ctermfg=102 ctermbg=NONE cterm=NONE +highlight Number guifg=#af5f00 guibg=NONE gui=NONE ctermfg=130 ctermbg=NONE cterm=NONE +highlight Character guifg=#af5f00 guibg=NONE gui=NONE ctermfg=130 ctermbg=NONE cterm=NONE +highlight Boolean guifg=#af5f00 guibg=NONE gui=NONE ctermfg=130 ctermbg=NONE cterm=NONE +highlight Float guifg=#af5f00 guibg=NONE gui=NONE ctermfg=130 ctermbg=NONE cterm=NONE +highlight Include guifg=#dfaf87 guibg=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE +highlight Define guifg=#dfaf87 guibg=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE +highlight Comment guifg=#87875f guibg=NONE gui=NONE ctermfg=101 ctermbg=NONE cterm=NONE + +" VIMSCRIPT +highlight link vimAutoCmdSfxList Type +highlight link vimAutoEventList Identifier +highlight link vimCmdSep Special +highlight link vimCommentTitle SpecialComment +highlight link vimFunction Function +highlight link vimUserFunc Function + +"WINDOW UI +highlight MoreMsg guifg=#dfaf87 guibg=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE +highlight SpecialComment guifg=#87875f guibg=NONE gui=reverse ctermfg=101 ctermbg=NONE cterm=reverse +highlight Underlined guifg=#af5f5f guibg=NONE gui=NONE ctermfg=131 ctermbg=NONE cterm=NONE +highlight Todo guifg=#af5f00 guibg=NONE gui=reverse ctermfg=130 ctermbg=NONE cterm=reverse +highlight Visual guifg=#dfdfaf guibg=#875f5f gui=NONE ctermfg=187 ctermbg=95 cterm=NONE +highlight Question guifg=#875f5f guibg=NONE gui=NONE ctermfg=95 ctermbg=NONE cterm=NONE +highlight Search guifg=#dfdfaf guibg=#878787 gui=NONE ctermfg=187 ctermbg=102 cterm=NONE +highlight PmenuSel guifg=#dfdfaf guibg=#875f5f gui=NONE ctermfg=187 ctermbg=95 cterm=NONE +highlight MatchParen guifg=#dfdfaf guibg=#875f5f gui=NONE ctermfg=187 ctermbg=95 cterm=NONE + +highlight Error guifg=#af5f5f guibg=#121212 gui=reverse ctermfg=131 ctermbg=233 cterm=reverse +highlight ErrorMsg guifg=#af5f5f guibg=NONE gui=NONE ctermfg=131 ctermbg=NONE cterm=NONE +highlight WarningMsg guifg=#af5f5f guibg=NONE gui=NONE ctermfg=131 ctermbg=NONE cterm=NONE +highlight Directory guifg=#af5f5f guibg=NONE gui=NONE ctermfg=131 ctermbg=NONE cterm=NONE +highlight Cursor guifg=#000000 guibg=#dfdfaf gui=NONE ctermfg=16 ctermbg=187 cterm=NONE + +highlight WildMenu guifg=#dfdfaf guibg=#875f5f gui=NONE ctermfg=187 ctermbg=95 cterm=NONE +highlight ModeMsg guifg=#dfdfaf guibg=NONE gui=NONE ctermfg=187 ctermbg=NONE cterm=NONE +highlight Macro guifg=#dfaf87 guibg=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE +highlight PreCondit guifg=#dfaf87 guibg=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE +highlight IncSearch guifg=#af5f5f guibg=NONE gui=reverse ctermfg=131 ctermbg=NONE cterm=reverse +highlight VisualNOS guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline + +"DIFF +highlight DiffAdd guifg=#008787 guibg=NONE gui=reverse ctermfg=30 ctermbg=NONE cterm=reverse +highlight DiffText guifg=#008787 guibg=NONE gui=reverse ctermfg=30 ctermbg=NONE cterm=reverse +highlight DiffChange guifg=#005f5f guibg=NONE gui=reverse ctermfg=23 ctermbg=NONE cterm=reverse +highlight DiffDelete guifg=#af5f5f guibg=NONE gui=reverse ctermfg=131 ctermbg=NONE cterm=reverse +highlight link diffAdded DiffAdd +highlight link diffBDiffer WarningMsg +highlight link diffChanged DiffChange +highlight link diffCommon WarningMsg +highlight link diffDiffer WarningMsg +highlight link diffFile Directory +highlight link diffIdentical WarningMsg +highlight link diffIndexLine Number +highlight link diffIsA WarningMsg +highlight link diffNoEOL WarningMsg +highlight link diffOnly WarningMsg +highlight link diffRemoved DiffDelete + +"SPELLING +highlight SpellBad guifg=#ff0000 guibg=NONE gui=undercurl ctermfg=196 ctermbg=NONE cterm=undercurl +highlight SpellLocal guifg=#5f875f guibg=NONE gui=undercurl ctermfg=65 ctermbg=NONE cterm=undercurl +highlight SpellCap guifg=#87afff guibg=NONE gui=undercurl ctermfg=111 ctermbg=NONE cterm=undercurl +highlight SpellRare guifg=#d75f00 guibg=NONE gui=undercurl ctermfg=166 ctermbg=NONE cterm=undercurl + +"DEFAULT +if 1 + "COLORS + highlight Normal guifg=#dfdfaf guibg=#1c1c1c gui=NONE ctermfg=187 ctermbg=234 cterm=NONE + highlight String guifg=#ffdf87 guibg=#262626 gui=NONE ctermfg=222 ctermbg=235 cterm=NONE + "WINDOW UI + + highlight CursorLineNR guifg=#9e9e9e guibg=NONE gui=NONE ctermfg=247 ctermbg=NONE cterm=NONE + highlight StatusLine guifg=#9e9e9e guibg=#121212 gui=NONE ctermfg=247 ctermbg=233 cterm=NONE + highlight StatusLineNC guifg=#6c6c6c guibg=#121212 gui=NONE ctermfg=242 ctermbg=233 cterm=NONE + highlight StatusLineTerm guifg=#9e9e9e guibg=#121212 gui=NONE ctermfg=247 ctermbg=233 cterm=NONE + highlight StatusLineTermNC guifg=#6c6c6c guibg=#121212 gui=NONE ctermfg=242 ctermbg=233 cterm=NONE + + highlight Pmenu guifg=#626262 guibg=#262626 gui=NONE ctermfg=241 ctermbg=235 cterm=NONE + highlight PmenuSbar guifg=#262626 guibg=#262626 gui=NONE ctermfg=235 ctermbg=235 cterm=NONE + highlight PmenuThumb guifg=#262626 guibg=#262626 gui=NONE ctermfg=235 ctermbg=235 cterm=NONE + highlight TabLineSel guifg=#9e9e9e guibg=#121212 gui=NONE ctermfg=247 ctermbg=233 cterm=NONE + highlight TabLine guifg=#6c6c6c guibg=#121212 gui=NONE ctermfg=242 ctermbg=233 cterm=NONE + highlight TabLineFill guifg=#6c6c6c guibg=#121212 gui=NONE ctermfg=242 ctermbg=233 cterm=NONE + + highlight CursorLine guifg=NONE guibg=#262626 gui=NONE ctermfg=NONE ctermbg=235 cterm=NONE + + highlight CursorColumn guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=233 cterm=NONE + highlight ColorColumn guifg=NONE guibg=#262626 gui=NONE ctermfg=NONE ctermbg=235 cterm=NONE + highlight Folded guifg=#444444 guibg=#121212 gui=NONE ctermfg=238 ctermbg=233 cterm=NONE + highlight VertSplit guifg=#444444 guibg=#1c1c1c gui=NONE ctermfg=238 ctermbg=234 cterm=NONE + highlight LineNr guifg=#4e4e4e guibg=#121212 gui=NONE ctermfg=239 ctermbg=233 cterm=NONE + highlight FoldColumn guifg=#87afaf guibg=#1c1c1c gui=NONE ctermfg=109 ctermbg=234 cterm=NONE + highlight SignColumn guifg=#87875f guibg=#080808 gui=NONE ctermfg=101 ctermbg=233 cterm=NONE + highlight NonText guifg=#444444 guibg=NONE gui=NONE ctermfg=238 ctermbg=NONE cterm=NONE + highlight SpecialKey guifg=#303030 guibg=NONE gui=NONE ctermfg=236 ctermbg=NONE cterm=NONE +endif + +"DARKEST GRAY +if g:alduin_Shout_Dragon_Aspect + "COLORS + highlight Normal guifg=#dfdfaf guibg=#121212 gui=NONE ctermfg=187 ctermbg=233 cterm=NONE + highlight String guifg=#ffdf87 guibg=#1c1c1c gui=NONE ctermfg=222 ctermbg=234 cterm=NONE + + "WINDOW UI + highlight StatusLine guifg=#949494 guibg=#080808 gui=NONE ctermfg=246 ctermbg=232 cterm=NONE + highlight StatusLineNC guifg=#626262 guibg=#080808 gui=NONE ctermfg=241 ctermbg=232 cterm=NONE + highlight StatusLineTerm guifg=#949494 guibg=#080808 gui=NONE ctermfg=246 ctermbg=232 cterm=NONE + highlight StatusLineTermNC guifg=#626262 guibg=#080808 gui=NONE ctermfg=241 ctermbg=232 cterm=NONE + + highlight Pmenu guifg=#626262 guibg=#1c1c1c gui=NONE ctermfg=241 ctermbg=234 cterm=NONE + highlight PmenuSbar guifg=#1c1c1c guibg=#1c1c1c gui=NONE ctermfg=234 ctermbg=234 cterm=NONE + highlight PmenuThumb guifg=#1c1c1c guibg=#1c1c1c gui=NONE ctermfg=234 ctermbg=234 cterm=NONE + highlight TabLine guifg=#626262 guibg=#080808 gui=NONE ctermfg=241 ctermbg=232 cterm=NONE + highlight TabLineSel guifg=#949494 guibg=#080808 gui=NONE ctermfg=246 ctermbg=232 cterm=NONE + highlight TabLineFill guifg=#262626 guibg=#080808 gui=NONE ctermfg=241 ctermbg=232 cterm=NONE + + highlight CursorLine guifg=NONE guibg=#1c1c1c gui=NONE ctermfg=NONE ctermbg=234 cterm=NONE + + highlight CursorColumn guifg=NONE guibg=#080808 gui=NONE ctermfg=NONE ctermbg=232 cterm=NONE + highlight ColorColumn guifg=NONE guibg=#1c1c1c gui=NONE ctermfg=NONE ctermbg=234 cterm=NONE + highlight Folded guifg=#444444 guibg=#080808 gui=NONE ctermfg=238 ctermbg=232 cterm=NONE + highlight VertSplit guifg=#444444 guibg=#121212 gui=NONE ctermfg=238 ctermbg=233 cterm=NONE + highlight LineNr guifg=#444444 guibg=#080808 gui=NONE ctermfg=238 ctermbg=232 cterm=NONE + highlight FoldColumn guifg=#87afaf guibg=#121212 gui=NONE ctermfg=109 ctermbg=233 cterm=NONE + highlight SignColumn guifg=#87875f guibg=#080808 gui=NONE ctermfg=101 ctermbg=232 cterm=NONE + highlight NonText guifg=#3a3a3a guibg=NONE gui=NONE ctermfg=237 ctermbg=NONE cterm=NONE + highlight SpecialKey guifg=#262626 guibg=NONE gui=NONE ctermfg=235 ctermbg=NONE cterm=NONE +endif + +"BLACK +if g:alduin_Shout_Become_Ethereal + "COLORS + highlight Normal guifg=#dfdfaf guibg=#080808 gui=NONE ctermfg=187 ctermbg=232 cterm=NONE + highlight String guifg=#ffdf87 guibg=#121212 gui=NONE ctermfg=222 ctermbg=233 cterm=NONE + + "WINDOW UI + highlight StatusLine guifg=#8a8a8a guibg=#000000 gui=NONE ctermfg=245 ctermbg=16 cterm=NONE + highlight StatusLineNC guifg=#585858 guibg=#000000 gui=NONE ctermfg=240 ctermbg=16 cterm=NONE + highlight StatusLineTerm guifg=#8a8a8a guibg=#000000 gui=NONE ctermfg=245 ctermbg=16 cterm=NONE + highlight StatusLineTermNC guifg=#585858 guibg=#000000 gui=NONE ctermfg=240 ctermbg=16 cterm=NONE + + highlight Pmenu guifg=#585858 guibg=#121212 gui=NONE ctermfg=240 ctermbg=233 cterm=NONE + highlight PmenuSbar guifg=#121212 guibg=#121212 gui=NONE ctermfg=233 ctermbg=233 cterm=NONE + highlight PmenuThumb guifg=#121212 guibg=#121212 gui=NONE ctermfg=233 ctermbg=233 cterm=NONE + highlight TabLine guifg=#585858 guibg=#000000 gui=NONE ctermfg=240 ctermbg=16 cterm=NONE + highlight TabLineSel guifg=#8a8a8a guibg=#000000 gui=NONE ctermfg=245 ctermbg=16 cterm=NONE + highlight TabLineFill guifg=#585858 guibg=#000000 gui=NONE ctermfg=240 ctermbg=16 cterm=NONE + + highlight CursorLine guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=233 cterm=NONE + + highlight CursorColumn guifg=NONE guibg=#000000 gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE + highlight ColorColumn guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=233 cterm=NONE + highlight Folded guifg=#444444 guibg=#000000 gui=NONE ctermfg=238 ctermbg=16 cterm=NONE + highlight VertSplit guifg=#444444 guibg=#080808 gui=NONE ctermfg=238 ctermbg=232 cterm=NONE + highlight LineNr guifg=#444444 guibg=#000000 gui=NONE ctermfg=238 ctermbg=16 cterm=NONE + highlight FoldColumn guifg=#87afaf guibg=#080808 gui=NONE ctermfg=109 ctermbg=232 cterm=NONE + highlight SignColumn guifg=#87875f guibg=#000000 gui=NONE ctermfg=101 ctermbg=16 cterm=NONE + highlight NonText guifg=#303030 guibg=NONE gui=NONE ctermfg=236 ctermbg=NONE cterm=NONE + highlight SpecialKey guifg=#1c1c1c guibg=NONE gui=NONE ctermfg=234 ctermbg=NONE cterm=NONE +endif + +"REMOVE BACKGROUND FROM STRINGS +if g:alduin_Shout_Animal_Allegiance + "COLORS + highlight String guifg=#ffdf87 guibg=NONE ctermfg=222 ctermbg=NONE cterm=NONE gui=NONE +endif + +"REMOVE BLOCK MATCHPARENS - ADDS UNDERLINE +if g:alduin_Shout_Aura_Whisper + "WINDOW UI + highlight MatchParen guifg=#eeeeee guibg=#1c1c1c gui=underline ctermfg=255 ctermbg=234 cterm=underline +endif + +"DEEP RED COLOR +if g:alduin_Shout_Fire_Breath + "COLORS + highlight Title guifg=#af5f5f guibg=NONE gui=NONE ctermfg=131 ctermbg=NONE cterm=NONE + highlight Special guifg=#af0000 guibg=NONE gui=NONE ctermfg=124 ctermbg=NONE cterm=NONE + "WINDOW UI + highlight Search guifg=#dfdfaf guibg=#5f0000 gui=NONE ctermfg=187 ctermbg=52 cterm=NONE +endif + +"LICENSE +"Copyright (c) 2019 Alessandro Yorba +" +"Permission is hereby granted, free of charge, to any person obtaining a copy +"of this software and associated documentation files (the "Software"), to deal +"in the Software without restriction, including without limitation the rights +"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +"copies of the Software, and to permit persons to whom the Software is +"furnished to do so, subject to the following conditions: +" +"The above copyright notice and this permission notice shall be included in +"all copies or substantial portions of the Software. +" +"THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +"THE SOFTWARE. diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/anderson.vim b/nvim/plugged/awesome-vim-colorschemes/colors/anderson.vim new file mode 100644 index 00000000..3cad3836 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/anderson.vim @@ -0,0 +1,235 @@ +" __ _ +" ___ ____ ___/ /__ _______ ___ ___ _ __(_)_ _ +" / _ `/ _ \/ _ / -_) __(_- 800 + set termguicolors +endif + +if &t_Co >= 256 || has("gui_running") + hi Normal ctermbg=0 ctermfg=15 cterm=NONE guibg=#363432 guifg=#c5beba gui=NONE + hi NonText ctermbg=bg ctermfg=8 cterm=NONE guibg=bg guifg=#645d59 gui=NONE + hi Comment ctermbg=bg ctermfg=7 cterm=NONE guibg=bg guifg=#837d7a gui=NONE + hi Constant ctermbg=bg ctermfg=5 cterm=NONE guibg=bg guifg=#c7a095 gui=NONE + hi Character ctermbg=bg ctermfg=5 cterm=NONE guibg=bg guifg=#c7a095 gui=NONE + hi Error ctermbg=8 ctermfg=1 cterm=NONE guibg=#645d59 guifg=#be503e gui=NONE + hi Identifier ctermbg=bg ctermfg=14 cterm=NONE guibg=bg guifg=#a8c1c5 gui=NONE + hi Function ctermbg=bg ctermfg=2 cterm=NONE guibg=bg guifg=#7bb292 gui=NONE + hi Ignore ctermbg=bg ctermfg=13 cterm=NONE guibg=bg guifg=#e7c6be gui=NONE + hi PreProc ctermbg=bg ctermfg=13 cterm=NONE guibg=bg guifg=#e7c6be gui=NONE + hi Include ctermbg=bg ctermfg=4 cterm=NONE guibg=bg guifg=#628b97 gui=NONE + hi Define ctermbg=bg ctermfg=1 cterm=NONE guibg=bg guifg=#be503e gui=NONE + hi Macro ctermbg=bg ctermfg=13 cterm=NONE guibg=bg guifg=#e7c6be gui=NONE + hi PreCondit ctermbg=bg ctermfg=13 cterm=bold guibg=bg guifg=#e7c6be gui=bold + hi Special ctermbg=bg ctermfg=14 cterm=NONE guibg=bg guifg=#a8c1c5 gui=NONE + hi SpecialChar ctermbg=bg ctermfg=14 cterm=NONE guibg=bg guifg=#a8c1c5 gui=NONE + hi Tag ctermbg=bg ctermfg=9 cterm=bold guibg=bg guifg=#f0a4af gui=bold + hi Delimiter ctermbg=bg ctermfg=14 cterm=NONE guibg=bg guifg=#a8c1c5 gui=NONE + hi SpecialComment ctermbg=bg ctermfg=14 cterm=NONE guibg=bg guifg=#a8c1c5 gui=NONE + hi Debug ctermbg=bg ctermfg=9 cterm=NONE guibg=bg guifg=#f0a4af gui=NONE + hi Statement ctermbg=bg ctermfg=1 cterm=NONE guibg=bg guifg=#be503e gui=NONE + hi Conditional ctermbg=bg ctermfg=4 cterm=NONE guibg=bg guifg=#628b97 gui=NONE + hi Repeat ctermbg=bg ctermfg=4 cterm=NONE guibg=bg guifg=#628b97 gui=NONE + hi Label ctermbg=bg ctermfg=4 cterm=NONE guibg=bg guifg=#628b97 gui=NONE + hi Operator ctermbg=bg ctermfg=14 cterm=NONE guibg=bg guifg=#a8c1c5 gui=NONE + hi Exception ctermbg=bg ctermfg=14 cterm=NONE guibg=bg guifg=#a8c1c5 gui=NONE + hi Keyword ctermbg=bg ctermfg=3 cterm=NONE guibg=bg guifg=#d7ae38 gui=NONE + hi String ctermbg=bg ctermfg=6 cterm=NONE guibg=bg guifg=#88a2a4 gui=NONE + hi Number ctermbg=bg ctermfg=5 cterm=NONE guibg=bg guifg=#c7a095 gui=NONE + hi Float ctermbg=bg ctermfg=5 cterm=NONE guibg=bg guifg=#c7a095 gui=NONE + hi Boolean ctermbg=bg ctermfg=12 cterm=NONE guibg=bg guifg=#bad4f5 gui=NONE + hi Todo ctermbg=bg ctermfg=2 cterm=bold guibg=bg guifg=#7bb292 gui=bold + hi Type ctermbg=bg ctermfg=11 cterm=NONE guibg=bg guifg=#c4c18b gui=NONE + hi StorageClass ctermbg=bg ctermfg=5 cterm=NONE guibg=bg guifg=#c7a095 gui=NONE + hi Structure ctermbg=bg ctermfg=11 cterm=NONE guibg=bg guifg=#c4c18b gui=NONE + hi Typedef ctermbg=bg ctermfg=11 cterm=NONE guibg=bg guifg=#c4c18b gui=NONE + hi Underlined ctermbg=bg ctermfg=11 cterm=underline guibg=bg guifg=#c4c18b gui=underline + hi StatusLine ctermbg=8 ctermfg=15 cterm=NONE guibg=#645d59 guifg=#c5beba gui=NONE + hi StatusLineNC ctermbg=bg ctermfg=8 cterm=NONE guibg=bg guifg=#645d59 gui=NONE + hi VertSplit ctermbg=8 ctermfg=8 cterm=NONE guibg=#645d59 guifg=#645d59 gui=NONE + hi TabLine ctermbg=bg ctermfg=8 cterm=NONE guibg=bg guifg=#645d59 gui=NONE + hi TabLineFill ctermbg=bg ctermfg=8 cterm=NONE guibg=bg guifg=#645d59 gui=NONE + hi TabLineSel ctermbg=bg ctermfg=2 cterm=bold guibg=bg guifg=#7bb292 gui=bold + hi Title ctermbg=bg ctermfg=15 cterm=NONE guibg=bg guifg=#c5beba gui=NONE + hi CursorLine ctermbg=8 ctermfg=NONE cterm=NONE guibg=#645d59 guifg=NONE gui=NONE + hi LineNr ctermbg=bg ctermfg=8 cterm=NONE guibg=bg guifg=#645d59 gui=NONE + hi CursorLineNr ctermbg=bg ctermfg=2 cterm=bold guibg=bg guifg=#7bb292 gui=bold + hi helpLeadBlank ctermbg=bg ctermfg=NONE cterm=NONE guibg=bg guifg=NONE gui=NONE + hi helpNormal ctermbg=bg ctermfg=15 cterm=NONE guibg=bg guifg=#c5beba gui=NONE + hi Visual ctermbg=8 ctermfg=NONE cterm=NONE guibg=#645d59 guifg=NONE gui=NONE + hi VisualNOS ctermbg=0 ctermfg=8 cterm=bold guibg=#363432 guifg=#645d59 gui=bold + hi Pmenu ctermbg=8 ctermfg=14 cterm=NONE guibg=#645d59 guifg=#a8c1c5 gui=NONE + hi PmenuSbar ctermbg=8 ctermfg=0 cterm=NONE guibg=#645d59 guifg=#363432 gui=NONE + hi PmenuSel ctermbg=14 ctermfg=0 cterm=NONE guibg=#a8c1c5 guifg=#363432 gui=NONE + hi PmenuThumb ctermbg=10 ctermfg=0 cterm=NONE guibg=#9ad1bc guifg=#363432 gui=NONE + hi FoldColumn ctermbg=bg ctermfg=14 cterm=NONE guibg=bg guifg=#a8c1c5 gui=NONE + hi Folded ctermbg=bg ctermfg=14 cterm=NONE guibg=bg guifg=#a8c1c5 gui=NONE + hi WildMenu ctermbg=8 ctermfg=14 cterm=underline guibg=#645d59 guifg=#a8c1c5 gui=underline + hi SpecialKey ctermbg=8 ctermfg=2 cterm=NONE guibg=#645d59 guifg=#7bb292 gui=NONE + hi DiffAdd ctermbg=10 ctermfg=0 cterm=bold guibg=#9ad1bc guifg=#363432 gui=bold + hi DiffChange ctermbg=11 ctermfg=0 cterm=NONE guibg=#c4c18b guifg=#363432 gui=NONE + hi DiffDelete ctermbg=13 ctermfg=8 cterm=bold guibg=#e7c6be guifg=#645d59 gui=bold + hi DiffText ctermbg=9 ctermfg=0 cterm=bold guibg=#f0a4af guifg=#363432 gui=bold + hi IncSearch ctermbg=15 ctermfg=4 cterm=bold guibg=#c5beba guifg=#628b97 gui=bold + hi Search ctermbg=12 ctermfg=0 cterm=NONE guibg=#bad4f5 guifg=#363432 gui=NONE + hi Directory ctermbg=bg ctermfg=14 cterm=bold guibg=bg guifg=#a8c1c5 gui=bold + hi MatchParen ctermbg=8 ctermfg=9 cterm=bold guibg=#645d59 guifg=#f0a4af gui=bold + hi SpellBad ctermbg=bg ctermfg=NONE cterm=undercurl guibg=bg guifg=NONE gui=undercurl guisp=#f0a4af + hi SpellCap ctermbg=bg ctermfg=NONE cterm=undercurl guibg=bg guifg=NONE gui=undercurl guisp=#bad4f5 + hi SpellLocal ctermbg=bg ctermfg=NONE cterm=undercurl guibg=bg guifg=NONE gui=undercurl guisp=#e7c6be + hi SpellRare ctermbg=bg ctermfg=NONE cterm=undercurl guibg=bg guifg=NONE gui=undercurl guisp=#a8c1c5 + hi ColorColumn ctermbg=8 ctermfg=15 cterm=NONE guibg=#645d59 guifg=#c5beba gui=NONE + hi signColumn ctermbg=bg ctermfg=14 cterm=NONE guibg=bg guifg=#a8c1c5 gui=NONE + hi ErrorMsg ctermbg=bg ctermfg=1 cterm=bold guibg=bg guifg=#be503e gui=bold + hi ModeMsg ctermbg=bg ctermfg=2 cterm=NONE guibg=bg guifg=#7bb292 gui=NONE + hi MoreMsg ctermbg=bg ctermfg=14 cterm=bold guibg=bg guifg=#a8c1c5 gui=bold + hi Question ctermbg=bg ctermfg=15 cterm=bold guibg=bg guifg=#c5beba gui=bold + hi WarningMsg ctermbg=bg ctermfg=3 cterm=NONE guibg=bg guifg=#d7ae38 gui=NONE + hi Cursor ctermbg=14 ctermfg=0 cterm=bold guibg=#a8c1c5 guifg=#363432 gui=bold + hi CursorColumn ctermbg=8 ctermfg=15 cterm=NONE guibg=#645d59 guifg=#c5beba gui=NONE +elseif &t_Co == 8 || $TERM !~# '^linux' || &t_Co == 16 + set t_Co=16 + hi Normal ctermbg=black ctermfg=white cterm=NONE + hi NonText ctermbg=bg ctermfg=darkgray cterm=NONE + hi Comment ctermbg=bg ctermfg=gray cterm=NONE + hi Constant ctermbg=bg ctermfg=darkmagenta cterm=NONE + hi Character ctermbg=bg ctermfg=darkmagenta cterm=NONE + hi Error ctermbg=darkgray ctermfg=darkred cterm=NONE + hi Identifier ctermbg=bg ctermfg=cyan cterm=NONE + hi Function ctermbg=bg ctermfg=darkgreen cterm=NONE + hi Ignore ctermbg=bg ctermfg=magenta cterm=NONE + hi PreProc ctermbg=bg ctermfg=magenta cterm=NONE + hi Include ctermbg=bg ctermfg=darkblue cterm=NONE + hi Define ctermbg=bg ctermfg=darkred cterm=NONE + hi Macro ctermbg=bg ctermfg=magenta cterm=NONE + hi PreCondit ctermbg=bg ctermfg=magenta cterm=bold + hi Special ctermbg=bg ctermfg=cyan cterm=NONE + hi SpecialChar ctermbg=bg ctermfg=cyan cterm=NONE + hi Tag ctermbg=bg ctermfg=red cterm=bold + hi Delimiter ctermbg=bg ctermfg=cyan cterm=NONE + hi SpecialComment ctermbg=bg ctermfg=cyan cterm=NONE + hi Debug ctermbg=bg ctermfg=red cterm=NONE + hi Statement ctermbg=bg ctermfg=darkred cterm=NONE + hi Conditional ctermbg=bg ctermfg=darkblue cterm=NONE + hi Repeat ctermbg=bg ctermfg=darkblue cterm=NONE + hi Label ctermbg=bg ctermfg=darkblue cterm=NONE + hi Operator ctermbg=bg ctermfg=cyan cterm=NONE + hi Exception ctermbg=bg ctermfg=cyan cterm=NONE + hi Keyword ctermbg=bg ctermfg=darkyellow cterm=NONE + hi String ctermbg=bg ctermfg=darkcyan cterm=NONE + hi Number ctermbg=bg ctermfg=darkmagenta cterm=NONE + hi Float ctermbg=bg ctermfg=darkmagenta cterm=NONE + hi Boolean ctermbg=bg ctermfg=blue cterm=NONE + hi Todo ctermbg=bg ctermfg=darkgreen cterm=bold + hi Type ctermbg=bg ctermfg=yellow cterm=NONE + hi StorageClass ctermbg=bg ctermfg=darkmagenta cterm=NONE + hi Structure ctermbg=bg ctermfg=yellow cterm=NONE + hi Typedef ctermbg=bg ctermfg=yellow cterm=NONE + hi Underlined ctermbg=bg ctermfg=yellow cterm=underline + hi StatusLine ctermbg=darkgray ctermfg=white cterm=NONE + hi StatusLineNC ctermbg=bg ctermfg=darkgray cterm=NONE + hi VertSplit ctermbg=darkgray ctermfg=darkgray cterm=NONE + hi TabLine ctermbg=bg ctermfg=darkgray cterm=NONE + hi TabLineFill ctermbg=bg ctermfg=darkgray cterm=NONE + hi TabLineSel ctermbg=bg ctermfg=darkgreen cterm=bold + hi Title ctermbg=bg ctermfg=white cterm=NONE + hi CursorLine ctermbg=darkgray ctermfg=NONE cterm=NONE + hi LineNr ctermbg=bg ctermfg=darkgray cterm=NONE + hi CursorLineNr ctermbg=bg ctermfg=darkgreen cterm=bold + hi helpLeadBlank ctermbg=bg ctermfg=NONE cterm=NONE + hi helpNormal ctermbg=bg ctermfg=white cterm=NONE + hi Visual ctermbg=darkgray ctermfg=NONE cterm=NONE + hi VisualNOS ctermbg=black ctermfg=darkgray cterm=bold + hi Pmenu ctermbg=darkgray ctermfg=cyan cterm=NONE + hi PmenuSbar ctermbg=darkgray ctermfg=black cterm=NONE + hi PmenuSel ctermbg=cyan ctermfg=black cterm=NONE + hi PmenuThumb ctermbg=green ctermfg=black cterm=NONE + hi FoldColumn ctermbg=bg ctermfg=cyan cterm=NONE + hi Folded ctermbg=bg ctermfg=cyan cterm=NONE + hi WildMenu ctermbg=darkgray ctermfg=cyan cterm=underline + hi SpecialKey ctermbg=darkgray ctermfg=darkgreen cterm=NONE + hi DiffAdd ctermbg=green ctermfg=black cterm=bold + hi DiffChange ctermbg=yellow ctermfg=black cterm=NONE + hi DiffDelete ctermbg=magenta ctermfg=darkgray cterm=bold + hi DiffText ctermbg=red ctermfg=black cterm=bold + hi IncSearch ctermbg=white ctermfg=darkblue cterm=bold + hi Search ctermbg=blue ctermfg=black cterm=NONE + hi Directory ctermbg=bg ctermfg=cyan cterm=bold + hi MatchParen ctermbg=darkgray ctermfg=red cterm=bold + hi SpellBad ctermbg=bg ctermfg=NONE cterm=undercurl + hi SpellCap ctermbg=bg ctermfg=NONE cterm=undercurl + hi SpellLocal ctermbg=bg ctermfg=NONE cterm=undercurl + hi SpellRare ctermbg=bg ctermfg=NONE cterm=undercurl + hi ColorColumn ctermbg=darkgray ctermfg=white cterm=NONE + hi signColumn ctermbg=bg ctermfg=cyan cterm=NONE + hi ErrorMsg ctermbg=bg ctermfg=darkred cterm=bold + hi ModeMsg ctermbg=bg ctermfg=darkgreen cterm=NONE + hi MoreMsg ctermbg=bg ctermfg=cyan cterm=bold + hi Question ctermbg=bg ctermfg=white cterm=bold + hi WarningMsg ctermbg=bg ctermfg=darkyellow cterm=NONE + hi Cursor ctermbg=cyan ctermfg=black cterm=bold + hi CursorColumn ctermbg=darkgray ctermfg=white cterm=NONE +endif + +if $NVIM_TUI_ENABLE_TRUE_COLOR == 1 + let g:terminal_foreground = "#c5beba" + let g:terminal_background = "#363432" + let g:terminal_color_0 = "#363432" + let g:terminal_color_1 = "#be503e" + let g:terminal_color_2 = "#7bb292" + let g:terminal_color_3 = "#d7ae38" + let g:terminal_color_4 = "#628b97" + let g:terminal_color_5 = "#c7a095" + let g:terminal_color_6 = "#88a2a4" + let g:terminal_color_7 = "#837d7a" + let g:terminal_color_8 = "#645d59" + let g:terminal_color_9 = "#f0a4af" + let g:terminal_color_10 = "#9ad1bc" + let g:terminal_color_11 = "#c4c18b" + let g:terminal_color_12 = "#bad4f5" + let g:terminal_color_13 = "#e7c6be" + let g:terminal_color_14 = "#a8c1c5" + let g:terminal_color_15 = "#c5beba" +endif + +" Generated with RNB (https://gist.github.com/romainl/5cd2f4ec222805f49eca) diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/angr.vim b/nvim/plugged/awesome-vim-colorschemes/colors/angr.vim new file mode 100644 index 00000000..5e6570dd --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/angr.vim @@ -0,0 +1,154 @@ +" Plugin: https://github.com/zacanger/angr.vim +" Description: angr.vim theme +" Maintainer: zacanger + +" Heavily based on Janah and Ego + +set background=dark +hi clear + +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = 'angr' + +hi Normal guifg=#e5e5e5 ctermfg=253 guibg=#262626 gui=NONE cterm=NONE + +" Misc {{{1 +hi Boolean guifg=#af97df ctermfg=98 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi Character guifg=#9d7ff2 ctermfg=141 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi Comment guifg=#585858 ctermfg=240 ctermbg=NONE gui=NONE cterm=NONE +hi Conditional guifg=#F6DA7B ctermfg=222 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi Constant guifg=#87dfdf ctermfg=116 ctermbg=NONE gui=NONE cterm=NONE +hi Cursor guifg=#eeeeee ctermfg=15 ctermbg=247 gui=NONE guibg=#8DA1A1 +hi CursorIM guifg=#eeeeee ctermfg=15 ctermbg=247 gui=bold guibg=#8da1a1 cterm=NONE +hi Debug guifg=#55747c ctermfg=66 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi Define guifg=#F6DA7B ctermfg=222 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi Delimiter guifg=#55747c ctermfg=66 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi Directory guifg=#ffaf87 ctermfg=216 ctermbg=NONE gui=NONE cterm=NONE +hi Exception guifg=#c67c48 ctermfg=173 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi Float guifg=#87dfdf ctermfg=116 ctermbg=NONE gui=NONE cterm=NONE +hi Function guifg=#82c057 ctermfg=107 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi Identifier guifg=#ffaf87 ctermfg=216 ctermbg=NONE gui=NONE cterm=NONE +hi Ignore guifg=#55747c ctermfg=66 +hi Include guifg=#c67c48 ctermfg=173 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi Keyword guifg=#c67c48 ctermfg=173 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi Label guifg=#F6DA7B ctermfg=222 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi Macro guifg=#F6DA7B ctermfg=222 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi MatchParen guifg=#df005f ctermfg=161 ctermbg=NONE gui=bold cterm=bold +hi NonText guifg=#ff00af ctermfg=199 ctermbg=NONE gui=bold cterm=bold +hi Number guifg=#87dfdf ctermfg=116 ctermbg=NONE gui=NONE cterm=NONE +hi Operator guifg=#F6DA7B ctermfg=222 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi PreCondit guifg=#c67c48 ctermfg=173 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi PreProc guifg=#ffdfaf ctermfg=223 ctermbg=NONE gui=NONE cterm=NONE +hi Question guifg=#c98de6 ctermfg=102 ctermbg=NONE gui=bold guibg=bg cterm=NONE +hi Repeat guifg=#c67c48 ctermfg=173 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi Scrollbar guibg=bg +hi Special guifg=#dfafaf ctermfg=181 ctermbg=NONE gui=NONE cterm=NONE +hi SpecialChar guifg=#55747c ctermfg=66 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi SpecialComment guifg=#55747c ctermfg=66 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi SpecialKey guifg=#3a3a3a ctermfg=237 ctermbg=NONE gui=NONE cterm=NONE +hi Statement guifg=#afdf87 ctermfg=150 ctermbg=NONE gui=NONE cterm=NONE +hi StorageClass guifg=#95d5f1 ctermfg=117 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi String guifg=#87afdf ctermfg=110 ctermbg=NONE gui=NONE cterm=NONE +hi Structure guifg=#95d5f1 ctermfg=117 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi Tag guifg=#55747c ctermfg=66 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi Title guifg=#9d7ff2 ctermfg=141 ctermbg=NONE gui=bold guibg=bg cterm=NONE +hi Todo guifg=#ffdfaf ctermfg=223 ctermbg=NONE gui=NONE cterm=NONE guibg=bg +hi Type guifg=#87dfaf ctermfg=115 ctermbg=NONE gui=NONE cterm=NONE +hi Typedef guifg=#95d5f1 ctermfg=117 ctermbg=NONE gui=NONE guibg=bg cterm=NONE +hi Underlined guifg=#c98de6 ctermfg=192 ctermbg=NONE gui=underline guibg=bg cterm=NONE +hi VertSplit guifg=#3a3a3a ctermfg=237 guibg=#3a3a3a ctermbg=237 gui=NONE cterm=NONE +hi WildMenu guifg=#101010 ctermfg=0 guibg=#f6da7b ctermbg=222 gui=bold cterm=NONE + +" Cursor lines {{{1 +hi CursorColumn ctermfg=NONE guibg=#303030 ctermbg=236 gui=NONE cterm=NONE +hi CursorLine ctermfg=NONE guibg=#303030 ctermbg=236 gui=NONE cterm=NONE + +" Tabline {{{1 +hi TabLine guifg=#808080 ctermfg=244 guibg=#303030 ctermbg=236 gui=NONE cterm=NONE +hi TabLineFill guifg=#dfdfaf ctermfg=187 guibg=#303030 ctermbg=236 gui=NONE cterm=NONE +hi TabLineSel guifg=#e4e4e4 ctermfg=254 guibg=#303030 ctermbg=236 gui=bold cterm=bold + +" Statusline {{{1 +hi StatusLine guifg=#e4e4e4 ctermfg=254 guibg=#3a3a3a ctermbg=237 gui=NONE cterm=NONE +hi StatusLineNC guifg=#808080 ctermfg=244 guibg=#3a3a3a ctermbg=237 gui=NONE cterm=NONE + +" Number column {{{1 +hi CursorLineNr guifg=#878787 ctermfg=102 guibg=#3a3a3a ctermbg=237 gui=NONE cterm=NONE +hi LineNr guifg=#878787 ctermfg=102 guibg=#3a3a3a ctermbg=237 gui=NONE cterm=NONE + +" Color column {{{1 +hi ColorColumn ctermfg=NONE guibg=#3a3a3a ctermbg=237 gui=NONE cterm=NONE + +" Diff & Signs {{{1 +hi DiffAdd guifg=#87ff5f ctermfg=119 ctermbg=NONE gui=NONE cterm=NONE +hi DiffChange guifg=#ffff5f ctermfg=227 ctermbg=NONE gui=NONE cterm=NONE +hi DiffDelete guifg=#df5f5f ctermfg=167 ctermbg=NONE gui=NONE cterm=NONE +hi DiffText guifg=#ff5f5f ctermfg=203 guibg=#5f0000 ctermbg=52 gui=bold cterm=bold +hi SignColumn ctermfg=NONE guibg=#3a3a3a ctermbg=237 gui=NONE cterm=NONE + +" Folds {{{1 +hi FoldColumn ctermfg=102 ctermbg=237 cterm=NONE guifg=#878787 guibg=#3a3a3a gui=NONE +hi Folded ctermfg=102 ctermbg=237 cterm=NONE guifg=#878787 guibg=#3a3a3a gui=NONE + +" Search {{{1 +hi IncSearch guifg=#c0c0c0 ctermfg=7 guibg=#005fff ctermbg=27 gui=NONE cterm=NONE +hi Search guifg=#c0c0c0 ctermfg=7 guibg=#df005f ctermbg=161 gui=NONE cterm=NONE + +" Messages {{{1 +hi Error guifg=#eeeeee ctermfg=255 guibg=#df005f ctermbg=161 gui=NONE cterm=NONE +hi ErrorMsg guifg=#eeeeee ctermfg=255 guibg=#df005f ctermbg=161 gui=NONE cterm=NONE +hi ModeMsg guifg=#afff87 ctermfg=156 ctermbg=NONE gui=bold cterm=bold +hi MoreMsg guifg=#c0c0c0 ctermfg=7 guibg=#005fdf ctermbg=26 gui=NONE cterm=NONE +hi WarningMsg guifg=#c0c0c0 ctermfg=7 guibg=#005fdf ctermbg=26 gui=NONE cterm=NONE + +" Visual {{{1 +hi Visual guifg=#c0c0c0 ctermfg=7 guibg=#005f87 ctermbg=24 gui=reverse cterm=NONE +hi VisualNOS guifg=#c0c0c0 ctermfg=7 guibg=#5f5f87 ctermbg=60 gui=reverse cterm=NONE + +" Pmenu {{{1 +hi Pmenu guifg=#e4e4e4 ctermfg=254 guibg=#262626 ctermbg=235 gui=NONE cterm=NONE +hi PmenuSbar ctermfg=NONE guibg=#444444 ctermbg=238 gui=NONE cterm=NONE +hi PmenuSel guifg=#df5f5f ctermfg=167 guibg=#444444 ctermbg=238 gui=bold cterm=bold +hi PmenuThumb ctermfg=NONE guibg=#df5f5f ctermbg=167 gui=NONE cterm=NONE + +" Spell {{{1 +hi SpellBad guifg=#c0c0c0 ctermfg=7 guibg=#df5f5f ctermbg=167 gui=NONE cterm=NONE +hi SpellCap guifg=#c0c0c0 ctermfg=7 guibg=#005fdf ctermbg=26 gui=NONE cterm=NONE +hi SpellLocal guifg=#c0c0c0 ctermfg=7 guibg=#8700af ctermbg=91 gui=NONE cterm=NONE +hi SpellRare guifg=#c0c0c0 ctermfg=7 guibg=#00875f ctermbg=29 gui=NONE cterm=NONE + +" Quickfix {{{1 +hi qfLineNr ctermfg=238 ctermbg=NONE cterm=NONE guifg=#444444 guibg=NONE gui=NONE +hi qfSeparator ctermfg=243 ctermbg=NONE cterm=NONE guifg=#767676 guibg=NONE gui=NONE + +" Plugin: vim-easymotion {{{1 +hi EasyMotionTarget guifg=#ffff5f ctermfg=227 ctermbg=NONE gui=bold cterm=bold +hi EasyMotionTarget2First guifg=#df005f ctermfg=161 ctermbg=NONE gui=NONE cterm=NONE +hi EasyMotionTarget2Second guifg=#ffff5f ctermfg=227 ctermbg=NONE gui=NONE cterm=NONE + +" Plugin: vim-signify {{{1 +hi SignifySignAdd guifg=#87ff5f ctermfg=119 guibg=#3a3a3a ctermbg=237 gui=bold cterm=bold +hi SignifySignChange guifg=#ffff5f ctermfg=227 guibg=#3a3a3a ctermbg=237 gui=bold cterm=bold +hi SignifySignDelete guifg=#df5f5f ctermfg=167 guibg=#3a3a3a ctermbg=237 gui=bold cterm=bold + +" Plugin: vim-startify {{{1 +hi StartifyBracket guifg=#585858 ctermfg=240 ctermbg=NONE gui=NONE cterm=NONE +hi StartifyFile guifg=#eeeeee ctermfg=255 ctermbg=NONE gui=NONE cterm=NONE +hi StartifyFooter guifg=#585858 ctermfg=240 ctermbg=NONE gui=NONE cterm=NONE +hi StartifyHeader guifg=#87df87 ctermfg=114 ctermbg=NONE gui=NONE cterm=NONE +hi StartifyNumber guifg=#ffaf5f ctermfg=215 ctermbg=NONE gui=NONE cterm=NONE +hi StartifyPath guifg=#8a8a8a ctermfg=245 ctermbg=NONE gui=NONE cterm=NONE +hi StartifySection guifg=#dfafaf ctermfg=181 ctermbg=NONE gui=NONE cterm=NONE +hi StartifySelect guifg=#5fdfff ctermfg=81 ctermbg=NONE gui=NONE cterm=NONE +hi StartifySlash guifg=#585858 ctermfg=240 ctermbg=NONE gui=NONE cterm=NONE +hi StartifySpecial guifg=#585858 ctermfg=240 ctermbg=NONE gui=NONE cterm=NONE + +" Neovim {{{1 +if has('nvim') + hi EndOfBuffer ctermfg=235 guifg=#262626 ctermbg=NONE gui=NONE cterm=NONE + hi TermCursor ctermfg=NONE guibg=#ff00af ctermbg=199 gui=NONE cterm=NONE + hi TermCursorNC ctermfg=NONE ctermbg=NONE gui=NONE cterm=NONE +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/apprentice.vim b/nvim/plugged/awesome-vim-colorschemes/colors/apprentice.vim new file mode 100644 index 00000000..5a35faff --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/apprentice.vim @@ -0,0 +1,224 @@ +" Apprentice.vim -- Vim color scheme. +" Author: Romain Lafourcade (romainlafourcade@gmail.com) +" Webpage: https://github.com/romainl/Apprentice +" Description: Essentially a streamlining and conversion to xterm colors of 'sorcerer' by Jeet Sukumaran (jeetsukumaran@gmailcom) +" Last Change: 2020-12-19 + +hi clear +if exists("syntax_on") + syntax reset +endif + +let colors_name = "apprentice" + +if ($TERM =~ '256' || &t_Co >= 256) || has("gui_running") + hi Normal ctermbg=235 ctermfg=250 cterm=NONE guibg=#262626 guifg=#bcbcbc gui=NONE + hi NonText ctermbg=NONE ctermfg=240 cterm=NONE guibg=NONE guifg=#585858 gui=NONE + hi EndOfBuffer ctermbg=NONE ctermfg=240 cterm=NONE guibg=NONE guifg=#585858 gui=NONE + hi LineNr ctermbg=234 ctermfg=242 cterm=NONE guibg=#1c1c1c guifg=#6c6c6c gui=NONE + hi FoldColumn ctermbg=234 ctermfg=242 cterm=NONE guibg=#1c1c1c guifg=#6c6c6c gui=NONE + hi Folded ctermbg=234 ctermfg=242 cterm=NONE guibg=#1c1c1c guifg=#6c6c6c gui=NONE + hi MatchParen ctermbg=234 ctermfg=229 cterm=NONE guibg=#1c1c1c guifg=#ffffaf gui=NONE + hi SignColumn ctermbg=234 ctermfg=242 cterm=NONE guibg=#1c1c1c guifg=#6c6c6c gui=NONE + hi Comment ctermbg=NONE ctermfg=240 cterm=NONE guibg=NONE guifg=#585858 gui=NONE + hi Conceal ctermbg=NONE ctermfg=250 cterm=NONE guibg=NONE guifg=#bcbcbc gui=NONE + hi Constant ctermbg=NONE ctermfg=208 cterm=NONE guibg=NONE guifg=#ff8700 gui=NONE + hi Error ctermbg=NONE ctermfg=131 cterm=reverse guibg=NONE guifg=#af5f5f gui=reverse + hi Identifier ctermbg=NONE ctermfg=67 cterm=NONE guibg=NONE guifg=#5f87af gui=NONE + hi Ignore ctermbg=NONE ctermfg=NONE cterm=NONE guibg=NONE guifg=NONE gui=NONE + hi PreProc ctermbg=NONE ctermfg=66 cterm=NONE guibg=NONE guifg=#5f8787 gui=NONE + hi Special ctermbg=NONE ctermfg=65 cterm=NONE guibg=NONE guifg=#5f875f gui=NONE + hi Statement ctermbg=NONE ctermfg=110 cterm=NONE guibg=NONE guifg=#87afd7 gui=NONE + hi String ctermbg=NONE ctermfg=108 cterm=NONE guibg=NONE guifg=#87af87 gui=NONE + hi Todo ctermbg=NONE ctermfg=NONE cterm=reverse guibg=NONE guifg=NONE gui=reverse + hi Type ctermbg=NONE ctermfg=103 cterm=NONE guibg=NONE guifg=#8787af gui=NONE + hi Underlined ctermbg=NONE ctermfg=66 cterm=underline guibg=NONE guifg=#5f8787 gui=underline + hi Pmenu ctermbg=238 ctermfg=250 cterm=NONE guibg=#444444 guifg=#bcbcbc gui=NONE + hi PmenuSbar ctermbg=240 ctermfg=NONE cterm=NONE guibg=#585858 guifg=NONE gui=NONE + hi PmenuSel ctermbg=66 ctermfg=235 cterm=NONE guibg=#5f8787 guifg=#262626 gui=NONE + hi PmenuThumb ctermbg=66 ctermfg=66 cterm=NONE guibg=#5f8787 guifg=#5f8787 gui=NONE + hi ErrorMsg ctermbg=235 ctermfg=131 cterm=reverse guibg=#262626 guifg=#af5f5f gui=reverse + hi ModeMsg ctermbg=235 ctermfg=108 cterm=reverse guibg=#262626 guifg=#87af87 gui=reverse + hi MoreMsg ctermbg=NONE ctermfg=66 cterm=NONE guibg=NONE guifg=#5f8787 gui=NONE + hi Question ctermbg=NONE ctermfg=108 cterm=NONE guibg=NONE guifg=#87af87 gui=NONE + hi WarningMsg ctermbg=NONE ctermfg=131 cterm=NONE guibg=NONE guifg=#af5f5f gui=NONE + hi TabLine ctermbg=238 ctermfg=101 cterm=NONE guibg=#444444 guifg=#87875f gui=NONE + hi TabLineFill ctermbg=238 ctermfg=238 cterm=NONE guibg=#444444 guifg=#444444 gui=NONE + hi TabLineSel ctermbg=101 ctermfg=235 cterm=NONE guibg=#87875f guifg=#262626 gui=NONE + hi ToolbarLine ctermbg=234 ctermfg=NONE cterm=NONE guibg=#1c1c1c guifg=NONE gui=NONE + hi ToolbarButton ctermbg=240 ctermfg=250 cterm=NONE guibg=#585858 guifg=#bcbcbc gui=NONE + hi Cursor ctermbg=242 ctermfg=NONE cterm=NONE guibg=#6c6c6c guifg=NONE gui=NONE + hi CursorColumn ctermbg=236 ctermfg=NONE cterm=NONE guibg=#303030 guifg=NONE gui=NONE + hi CursorLineNr ctermbg=236 ctermfg=73 cterm=NONE guibg=#303030 guifg=#5fafaf gui=NONE + hi CursorLine ctermbg=236 ctermfg=NONE cterm=NONE guibg=#303030 guifg=NONE gui=NONE + hi helpLeadBlank ctermbg=NONE ctermfg=NONE cterm=NONE guibg=NONE guifg=NONE gui=NONE + hi helpNormal ctermbg=NONE ctermfg=NONE cterm=NONE guibg=NONE guifg=NONE gui=NONE + hi StatusLine ctermbg=101 ctermfg=235 cterm=NONE guibg=#87875f guifg=#262626 gui=NONE + hi StatusLineNC ctermbg=238 ctermfg=101 cterm=NONE guibg=#444444 guifg=#87875f gui=NONE + hi StatusLineTerm ctermbg=101 ctermfg=235 cterm=NONE guibg=#87875f guifg=#262626 gui=NONE + hi StatusLineTermNC ctermbg=238 ctermfg=101 cterm=NONE guibg=#444444 guifg=#87875f gui=NONE + hi Visual ctermbg=235 ctermfg=110 cterm=reverse guibg=#262626 guifg=#87afd7 gui=reverse + hi VisualNOS ctermbg=NONE ctermfg=NONE cterm=underline guibg=NONE guifg=NONE gui=underline + hi VertSplit ctermbg=238 ctermfg=238 cterm=NONE guibg=#444444 guifg=#444444 gui=NONE + hi WildMenu ctermbg=110 ctermfg=235 cterm=NONE guibg=#87afd7 guifg=#262626 gui=NONE + hi Function ctermbg=NONE ctermfg=229 cterm=NONE guibg=NONE guifg=#ffffaf gui=NONE + hi SpecialKey ctermbg=NONE ctermfg=240 cterm=NONE guibg=NONE guifg=#585858 gui=NONE + hi Title ctermbg=NONE ctermfg=231 cterm=NONE guibg=NONE guifg=#ffffff gui=NONE + hi DiffAdd ctermbg=235 ctermfg=108 cterm=reverse guibg=#262626 guifg=#87af87 gui=reverse + hi DiffChange ctermbg=235 ctermfg=103 cterm=reverse guibg=#262626 guifg=#8787af gui=reverse + hi DiffDelete ctermbg=235 ctermfg=131 cterm=reverse guibg=#262626 guifg=#af5f5f gui=reverse + hi DiffText ctermbg=235 ctermfg=208 cterm=reverse guibg=#262626 guifg=#ff8700 gui=reverse + hi IncSearch ctermbg=131 ctermfg=235 cterm=NONE guibg=#af5f5f guifg=#262626 gui=NONE + hi Search ctermbg=229 ctermfg=235 cterm=NONE guibg=#ffffaf guifg=#262626 gui=NONE + hi Directory ctermbg=NONE ctermfg=73 cterm=NONE guibg=NONE guifg=#5fafaf gui=NONE + hi debugPC ctermbg=67 ctermfg=NONE cterm=NONE guibg=#5f87af guifg=NONE gui=NONE + hi debugBreakpoint ctermbg=131 ctermfg=NONE cterm=NONE guibg=#af5f5f guifg=NONE gui=NONE + hi SpellBad ctermbg=NONE ctermfg=131 cterm=undercurl guibg=NONE guifg=#af5f5f gui=undercurl guisp=#af5f5f + hi SpellCap ctermbg=NONE ctermfg=73 cterm=undercurl guibg=NONE guifg=#5fafaf gui=undercurl guisp=#5fafaf + hi SpellLocal ctermbg=NONE ctermfg=65 cterm=undercurl guibg=NONE guifg=#5f875f gui=undercurl guisp=#5f875f + hi SpellRare ctermbg=NONE ctermfg=208 cterm=undercurl guibg=NONE guifg=#ff8700 gui=undercurl guisp=#ff8700 + hi ColorColumn ctermbg=234 ctermfg=NONE cterm=NONE guibg=#1c1c1c guifg=NONE gui=NONE + +elseif &t_Co == 8 || $TERM !~# '^linux' || &t_Co == 16 + set t_Co=16 + + hi Normal ctermbg=black ctermfg=lightgrey cterm=NONE + hi NonText ctermbg=NONE ctermfg=darkgrey cterm=NONE + hi EndOfBuffer ctermbg=NONE ctermfg=darkgrey cterm=NONE + hi LineNr ctermbg=black ctermfg=lightgrey cterm=NONE + hi FoldColumn ctermbg=black ctermfg=lightgrey cterm=NONE + hi Folded ctermbg=black ctermfg=lightgrey cterm=NONE + hi MatchParen ctermbg=black ctermfg=yellow cterm=NONE + hi SignColumn ctermbg=black ctermfg=lightgrey cterm=NONE + hi Comment ctermbg=NONE ctermfg=darkgrey cterm=NONE + hi Conceal ctermbg=NONE ctermfg=lightgrey cterm=NONE + hi Constant ctermbg=NONE ctermfg=red cterm=NONE + hi Error ctermbg=NONE ctermfg=darkred cterm=reverse + hi Identifier ctermbg=NONE ctermfg=darkblue cterm=NONE + hi Ignore ctermbg=NONE ctermfg=NONE cterm=NONE + hi PreProc ctermbg=NONE ctermfg=darkcyan cterm=NONE + hi Special ctermbg=NONE ctermfg=darkgreen cterm=NONE + hi Statement ctermbg=NONE ctermfg=blue cterm=NONE + hi String ctermbg=NONE ctermfg=green cterm=NONE + hi Todo ctermbg=NONE ctermfg=NONE cterm=reverse + hi Type ctermbg=NONE ctermfg=magenta cterm=NONE + hi Underlined ctermbg=NONE ctermfg=darkcyan cterm=underline + hi Pmenu ctermbg=darkgrey ctermfg=lightgrey cterm=NONE + hi PmenuSbar ctermbg=darkgrey ctermfg=NONE cterm=NONE + hi PmenuSel ctermbg=darkcyan ctermfg=black cterm=NONE + hi PmenuThumb ctermbg=darkcyan ctermfg=darkcyan cterm=NONE + hi ErrorMsg ctermbg=black ctermfg=darkred cterm=reverse + hi ModeMsg ctermbg=black ctermfg=green cterm=reverse + hi MoreMsg ctermbg=NONE ctermfg=darkcyan cterm=NONE + hi Question ctermbg=NONE ctermfg=green cterm=NONE + hi WarningMsg ctermbg=NONE ctermfg=darkred cterm=NONE + hi TabLine ctermbg=darkgrey ctermfg=darkyellow cterm=NONE + hi TabLineFill ctermbg=darkgrey ctermfg=darkgrey cterm=NONE + hi TabLineSel ctermbg=darkyellow ctermfg=black cterm=NONE + hi ToolbarLine ctermbg=black ctermfg=NONE cterm=NONE + hi ToolbarButton ctermbg=darkgrey ctermfg=lightgrey cterm=NONE + hi Cursor ctermbg=lightgrey ctermfg=NONE cterm=NONE + hi CursorColumn ctermbg=darkgrey ctermfg=NONE cterm=NONE + hi CursorLineNr ctermbg=darkgrey ctermfg=cyan cterm=NONE + hi CursorLine ctermbg=darkgrey ctermfg=NONE cterm=NONE + hi helpLeadBlank ctermbg=NONE ctermfg=NONE cterm=NONE + hi helpNormal ctermbg=NONE ctermfg=NONE cterm=NONE + hi StatusLine ctermbg=darkyellow ctermfg=black cterm=NONE + hi StatusLineNC ctermbg=darkgrey ctermfg=darkyellow cterm=NONE + hi StatusLineTerm ctermbg=darkyellow ctermfg=black cterm=NONE + hi StatusLineTermNC ctermbg=darkgrey ctermfg=darkyellow cterm=NONE + hi Visual ctermbg=black ctermfg=blue cterm=reverse + hi VisualNOS ctermbg=NONE ctermfg=NONE cterm=underline + hi VertSplit ctermbg=darkgrey ctermfg=darkgrey cterm=NONE + hi WildMenu ctermbg=blue ctermfg=black cterm=NONE + hi Function ctermbg=NONE ctermfg=yellow cterm=NONE + hi SpecialKey ctermbg=NONE ctermfg=darkgrey cterm=NONE + hi Title ctermbg=NONE ctermfg=white cterm=NONE + hi DiffAdd ctermbg=black ctermfg=green cterm=reverse + hi DiffChange ctermbg=black ctermfg=magenta cterm=reverse + hi DiffDelete ctermbg=black ctermfg=darkred cterm=reverse + hi DiffText ctermbg=black ctermfg=red cterm=reverse + hi IncSearch ctermbg=darkred ctermfg=black cterm=NONE + hi Search ctermbg=yellow ctermfg=black cterm=NONE + hi Directory ctermbg=NONE ctermfg=cyan cterm=NONE + hi debugPC ctermbg=darkblue ctermfg=NONE cterm=NONE + hi debugBreakpoint ctermbg=darkred ctermfg=NONE cterm=NONE + hi SpellBad ctermbg=NONE ctermfg=darkred cterm=undercurl + hi SpellCap ctermbg=NONE ctermfg=cyan cterm=undercurl + hi SpellLocal ctermbg=NONE ctermfg=darkgreen cterm=undercurl + hi SpellRare ctermbg=NONE ctermfg=red cterm=undercurl + hi ColorColumn ctermbg=black ctermfg=NONE cterm=NONE +endif + +hi link Terminal Normal +hi link Number Constant +hi link CursorIM Cursor +hi link Boolean Constant +hi link Character Constant +hi link Conditional Statement +hi link Debug Special +hi link Define PreProc +hi link Delimiter Special +hi link Exception Statement +hi link Float Number +hi link HelpCommand Statement +hi link HelpExample Statement +hi link Include PreProc +hi link Keyword Statement +hi link Label Statement +hi link Macro PreProc +hi link Number Constant +hi link Operator Statement +hi link PreCondit PreProc +hi link Repeat Statement +hi link SpecialChar Special +hi link SpecialComment Special +hi link StorageClass Type +hi link Structure Type +hi link Tag Special +hi link Terminal Normal +hi link Typedef Type +hi link htmlTagName Statement +hi link htmlEndTag htmlTagName +hi link htmlLink Function +hi link htmlSpecialTagName htmlTagName +hi link htmlTag htmlTagName +hi link htmlBold Normal +hi link htmlItalic Normal +hi link htmlArg htmlTagName +hi link xmlTag Statement +hi link xmlTagName Statement +hi link xmlEndTag Statement +hi link markdownItalic Preproc +hi link asciidocQuotedEmphasized Preproc +hi link diffBDiffer WarningMsg +hi link diffCommon WarningMsg +hi link diffDiffer WarningMsg +hi link diffIdentical WarningMsg +hi link diffIsA WarningMsg +hi link diffNoEOL WarningMsg +hi link diffOnly WarningMsg +hi link diffRemoved WarningMsg +hi link diffAdded String +hi link QuickFixLine Search + +let g:terminal_ansi_colors = [ + \ '#1c1c1c', + \ '#af5f5f', + \ '#5f875f', + \ '#87875f', + \ '#5f87af', + \ '#5f5f87', + \ '#5f8787', + \ '#6c6c6c', + \ '#444444', + \ '#ff8700', + \ '#87af87', + \ '#ffffaf', + \ '#87afd7', + \ '#8787af', + \ '#5fafaf', + \ '#ffffff', + \ ] + +" Generated with RNB (https://github.com/romainl/vim-rnb) diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/archery.vim b/nvim/plugged/awesome-vim-colorschemes/colors/archery.vim new file mode 100644 index 00000000..9093126f --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/archery.vim @@ -0,0 +1,396 @@ +" >>>---------------------------------------------------------------> +" >>>---------------------------------------------------------------> +" >> +" >>-> >-> +" >> >-> >> >--> >--> >-> >--> >> >--> >-> >-> +" >-> >-> >-> >-> >->>-> >> >-> >-> >-> >-> +" >----->>-> >-> >-> >-> >-> >>--->>-> >-> >--> +" >-> >-> >-> >-> >> >-> >> >-> >-> +" >-> >-> >--> >--> >-> >-> >----> >--> >-> +" >-> +" >>>---------------------------------------------------------------> +" +" URL: https://github.com/Badacadabra/vim-archery +" Author: Baptiste Vannesson +" License: MIT +" Description: Vim colorscheme inspired by Arch Linux colors +" +" >>>---------------------------------------------------------------> +" >>>---------------------------------------------------------------> + +" ============================= +" BOILERPLATE {{{1 +" ============================= + +set background=dark +hi clear + +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = 'archery' + +" ============================= +" SYNTAX GROUP NAMES {{{1 +" ============================= + +" ----------------------------- +" Comment {{{2 +" ----------------------------- + +" Preferred group +hi Comment cterm=italic ctermfg=7 ctermbg=NONE gui=italic guifg=#535B6F guibg=NONE + +" ----------------------------- +" Constant {{{2 +" ----------------------------- + +" Preferred group +hi Constant cterm=NONE ctermfg=14 ctermbg=NONE gui=NONE guifg=#25B8A5 guibg=NONE + +" Minor groups +hi String cterm=NONE ctermfg=15 ctermbg=NONE gui=NONE guifg=#F6F9FC guibg=NONE + +hi link Character Constant +hi link Number Constant +hi link Boolean Constant +hi link Float Constant + +" ----------------------------- +" Identifier {{{2 +" ----------------------------- + +" Preferred group +hi Identifier cterm=NONE ctermfg=6 ctermbg=NONE gui=NONE guifg=#006596 guibg=NONE + +" Minor group +hi link Function Identifier + +" ----------------------------- +" Statement {{{2 +" ----------------------------- + +" Preferred group +hi Statement cterm=bold ctermfg=4 ctermbg=NONE gui=bold guifg=#0088CC guibg=NONE + +" Minor groups +hi link Conditional Statement +hi link Repeat Statement +hi link Label Statement +hi link Operator Statement +hi link Keyword Statement +hi link Exception Statement + +" ----------------------------- +" PreProc {{{2 +" ----------------------------- + +" Preferred group +hi PreProc cterm=NONE ctermfg=15 ctermbg=NONE gui=NONE guifg=#F6F9FC guibg=NONE + +" Minor groups +hi link Include PreProc +hi link Define PreProc +hi link Macro PreProc +hi link PreCondit PreProc + +" ----------------------------- +" Type {{{2 +" ----------------------------- + +" Preferred group +hi Type cterm=NONE ctermfg=4 ctermbg=NONE gui=NONE guifg=#0088CC guibg=NONE + +" Minor groups +hi link StorageClass Type +hi link Structure Type +hi link Typedef Type + +" ----------------------------- +" Special {{{2 +" ----------------------------- + +" Preferred group +hi Special cterm=NONE ctermfg=7 ctermbg=NONE gui=NONE guifg=#53586F guibg=NONE + +" Minor groups +hi link SpecialChar Special +hi link Tag Special +hi link Delimiter Special +hi link SpecialComment Special +hi link Debug Special + +" ----------------------------- +" Underlined {{{2 +" ----------------------------- + +" Preferred group +hi Underlined cterm=underline ctermfg=NONE ctermbg=NONE gui=underline guifg=NONE guibg=NONE + +" ----------------------------- +" Ignore {{{2 +" ----------------------------- + +" Preferred group +hi Ignore cterm=NONE ctermfg=NONE ctermbg=NONE gui=NONE guifg=NONE guibg=NONE + +" ----------------------------- +" Error {{{2 +" ----------------------------- + +" Preferred group +hi Error cterm=NONE ctermfg=9 ctermbg=0 gui=NONE guifg=#C95F5F guibg=#25272C + +" ----------------------------- +" Todo {{{2 +" ----------------------------- + +" Preferred group +hi Todo cterm=NONE ctermfg=11 ctermbg=0 gui=NONE guifg=#EAC06E guibg=#25272C + +" ============================= +" DEFAULT HIGHLIGHTING GROUPS {{{1 +" ============================= + +" ----------------------------- +" Modes {{{2 +" ----------------------------- + +hi Normal cterm=NONE ctermfg=12 ctermbg=0 gui=NONE guifg=#81A3CF guibg=#25272C +hi Visual cterm=NONE ctermfg=0 ctermbg=12 gui=NONE guifg=#25272C guibg=#81A3CF +hi VisualNOS cterm=NONE ctermfg=15 ctermbg=4 gui=NONE guifg=#F6F9FC guibg=#0088CC + +" ----------------------------- +" Cursor {{{2 +" ----------------------------- + +hi Cursor cterm=NONE ctermfg=15 ctermbg=4 gui=NONE guifg=#F6F9FC guibg=#0088CC +hi CursorIM cterm=NONE ctermfg=15 ctermbg=4 gui=NONE guifg=#F6F9FC guibg=#81A3CF +hi CursorColumn cterm=NONE ctermfg=NONE ctermbg=12 gui=NONE guifg=NONE guibg=#81A3CF +hi CursorLine cterm=NONE ctermfg=NONE ctermbg=8 gui=NONE guifg=NONE guibg=#282D34 +hi CursorLineNr cterm=NONE ctermfg=4 ctermbg=8 gui=NONE guifg=#0088CC guibg=#282D34 + +" ----------------------------- +" Output text {{{2 +" ----------------------------- + +" Messages +hi ErrorMsg cterm=NONE ctermfg=9 ctermbg=NONE gui=NONE guifg=#C95F5F guibg=NONE +hi ModeMsg cterm=NONE ctermfg=12 ctermbg=NONE gui=NONE guifg=#81A3CF guibg=NONE +hi MoreMsg cterm=NONE ctermfg=4 ctermbg=NONE gui=NONE guifg=#0088CC guibg=NONE +hi WarningMsg cterm=NONE ctermfg=11 ctermbg=NONE gui=NONE guifg=#F07D30 guibg=NONE + +" Misc. +hi Title cterm=NONE ctermfg=4 ctermbg=NONE gui=NONE guifg=#0088CC guibg=NONE +hi Question cterm=NONE ctermfg=4 ctermbg=NONE gui=NONE guifg=#0088CC guibg=NONE +hi SpecialKey cterm=NONE ctermfg=12 ctermbg=NONE gui=NONE guifg=#81A3CF guibg=NONE +hi NonText cterm=NONE ctermfg=15 ctermbg=NONE gui=NONE guifg=#F6F9FC guibg=NONE +hi EndOfBuffer cterm=NONE ctermfg=12 ctermbg=NONE gui=NONE guifg=#81A3CF guibg=NONE + +" ----------------------------- +" Popup menu {{{2 +" ----------------------------- + +hi Pmenu cterm=bold ctermfg=0 ctermbg=7 gui=bold guifg=#25272C guibg=#53586F +hi PmenuSel cterm=bold ctermfg=15 ctermbg=4 gui=bold guifg=#F6F9FC guibg=#0088CC +hi PmenuSbar cterm=NONE ctermfg=NONE ctermbg=12 gui=NONE guifg=NONE guibg=#25272C +hi PmenuThumb cterm=NONE ctermfg=NONE ctermbg=12 gui=NONE guifg=NONE guibg=#81A3CF + +" ----------------------------- +" Search {{{2 +" ----------------------------- + +hi MatchParen cterm=NONE ctermfg=0 ctermbg=15 gui=NONE guifg=#25272C guibg=#F6F9FC +hi IncSearch cterm=NONE ctermfg=0 ctermbg=12 gui=NONE guifg=#25272C guibg=#81A3CF +hi Search cterm=NONE ctermfg=8 ctermbg=15 gui=NONE guifg=#282D34 guibg=#F6F9FC +hi WildMenu cterm=bold ctermfg=15 ctermbg=4 gui=bold guifg=#F6F9FC guibg=#0088CC + +" ----------------------------- +" Folding {{{2 +" ----------------------------- + +hi Folded cterm=NONE ctermfg=4 ctermbg=8 gui=bold guifg=#0088CC guibg=#282D34 +hi FoldColumn cterm=NONE ctermfg=15 ctermbg=4 gui=NONE guifg=#F6F9FC guibg=#282D34 + +" ----------------------------- +" Diff {{{2 +" ----------------------------- + +hi DiffAdd cterm=NONE ctermfg=10 ctermbg=NONE gui=NONE guifg=#73BA25 guibg=NONE +hi DiffChange cterm=NONE ctermfg=3 ctermbg=NONE gui=NONE guifg=#EAC06E guibg=NONE +hi DiffDelete cterm=NONE ctermfg=9 ctermbg=NONE gui=NONE guifg=#C95F5F guibg=NONE +hi DiffText cterm=NONE ctermfg=12 ctermbg=NONE gui=NONE guifg=#81A3CF guibg=NONE + +" ----------------------------- +" Spellchecker {{{2 +" ----------------------------- + +hi SpellBad cterm=NONE ctermfg=9 ctermbg=NONE gui=NONE guifg=#C95F5F guibg=NONE +hi SpellCap cterm=NONE ctermfg=3 ctermbg=NONE gui=NONE guifg=#F07D30 guibg=NONE +hi SpellLocal cterm=NONE ctermfg=10 ctermbg=NONE gui=NONE guifg=#73BA25 guibg=NONE +hi SpellRare cterm=NONE ctermfg=11 ctermbg=NONE gui=NONE guifg=#EAC06E guibg=NONE + +" ----------------------------- +" Miscellaneous {{{2 +" ----------------------------- + +hi Directory cterm=NONE ctermfg=4 ctermbg=NONE gui=bold guifg=#0088CC guibg=NONE +hi LineNr cterm=NONE ctermfg=8 ctermbg=NONE gui=NONE guifg=#53586F guibg=#2B2D34 +hi VertSplit cterm=NONE ctermfg=4 ctermbg=8 gui=bold guifg=#0088CC guibg=#282D34 +hi ColorColumn cterm=NONE ctermfg=NONE ctermbg=8 gui=NONE guifg=NONE guibg=#2B2D34 +hi SignColumn cterm=NONE ctermfg=12 ctermbg=8 gui=NONE guifg=#81A3CF guibg=#282D34 +hi Conceal cterm=NONE ctermfg=12 ctermbg=NONE gui=NONE guifg=#81A3CF guibg=NONE + +" ----------------------------- +" Status line / Tab line {{{2 +" ----------------------------- + +" See Powerline, Airline or Lightline... + +"hi StatusLine cterm=NONE ctermfg=NONE ctermbg=NONE gui=NONE guifg=NONE guibg=NONE +"hi StatusLineNC cterm=NONE ctermfg=NONE ctermbg=NONE gui=NONE guifg=NONE guifg=NONE +"hi TabLine cterm=NONE ctermfg=NONE ctermbg=NONE gui=NONE guifg=NONE guibg=NONE +"hi TabLineFill cterm=NONE ctermfg=NONE ctermbg=NONE gui=NONE guifg=NONE guibg=NONE +"hi TabLineSel cterm=NONE ctermfg=NONE ctermbg=NONE gui=NONE guifg=NONE guibg=NONE + +" ============================= +" GUI HIGHLIGHTING GROUPS {{{1 +" ============================= + +hi Menu guifg=#53586F guibg=#282D34 +hi Scrollbar guifg=#53586F guibg=#282D34 +hi Tooltip guifg=#F6F9FC guibg=#25272C + +" ============================= +" PLUGINS SUPPORT {{{1 +" ============================= + +" Airline (see 'autoload/airline/themes/archery.vim') +" Lightline (see 'autoload/lightline/colorscheme/archery') + +" CtrlP +hi link CtrlPMatch Type +hi link CtrlPPrtText Type + +" NERDTree +hi link NERDTreeHelp Comment +hi link NERDTreeHelpKey Type +hi link NERDTreeHelpTitle Statement + +" Tagbar +hi link TagbarHelpKey Type +hi link TagbarHelpTitle Statement +hi link TagbarNestedKind Identifier +hi link TagbarScope Identifier +hi link TagbarType Type +hi link TagbarVisibilityPublic SpellLocal +hi link TagbarVisibilityProtected SpellCap +hi link TagbarVisibilityPrivate SpellBad + +" ============================= +" SYNTAX OPTIMIZATIONS {{{1 +" ============================= + +" ----------------------------- +" Raw {{{2 +" ----------------------------- + +" CSS +hi link cssAttrRegion Constant +hi link cssBraces Normal +hi link cssClassName Statement +hi link cssClassNameDot Statement +hi link cssIdentifier Statement +hi link cssImportant PreProc +hi link cssFontDescriptor PreProc +hi link cssTagName PreProc + +" Markdown +hi link markdownLink Constant +hi link markdownLinkText PreProc +hi link markdownUrl Constant + +" YAML +hi link yamlAnchor PreProc +hi link yamlBlockMappingKey Statement +hi link yamlKeyValueDelimiter Type + +" Readline +hi link readlineVariable Type + +" ----------------------------- +" Tags {{{2 +" ----------------------------- + +" HTML +hi link htmlArg Type +hi link htmlEndTag Statement +hi link htmlString Identifier +hi link htmlTag Statement + +" XML +hi link xmlAttrib PreProc +hi link xmlAttribPunct Constant +hi link xmlEndTag Type +hi link xmlNamespace Identifier +hi link xmlProcessingDelim Statement +hi link xmlTag Type +hi link xmlTagName Type + +" ----------------------------- +" Programming {{{2 +" ----------------------------- + +" JavaScript +hi link jsFuncArgs String +hi link jsFuncCall Identifier +hi link jsFunction Identifier +hi link jsFunctionKey Type +hi link jsGlobalObjects Statement +hi link jsObjectKey Type +hi link jsThis Constant +hi link javascriptjQuery Identifier +hi link javascriptQAttributes Identifier +hi link javascriptQEvents Identifier + +" PHP +hi link phpDefine Identifier +hi link phpIdentifier Type +hi link phpParent Statement +hi link phpRegion Constant +hi link phpStructure Statement +hi link phpStorageClass Statement +hi link phpType Type +hi link phpVarSelector Type + +" Python +hi link pythonAttribute Constant +hi link pythonInclude Statement +hi link pythonQuotes Type + +" Ruby +hi link rubyDefine Statement +hi link rubyInclude Statement +hi link rubyInterpolationDelimiter Type +hi link rubySharpBang Comment +hi link rubyStringDelimiter Type + +" Perl +hi link perlStringStartEnd Type +hi link perlStringUnexpanded PreProc +hi link perlVarPlain Type + +" C/C++ +hi link cInclude Statement +hi link cIncluded Type +hi link cParen PreProc + +" Java +hi link javaAnnotation PreProc +hi link javaCommentTitle Comment +hi link javaDocComment Comment +hi link javaDocParam Comment +hi link javaDocTags Comment +hi link javaExternal Statement +hi link javaScopeDecl Statement diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/atom.vim b/nvim/plugged/awesome-vim-colorschemes/colors/atom.vim new file mode 100644 index 00000000..e61961ad --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/atom.vim @@ -0,0 +1,71 @@ +"Maintainer: Greg Sexton +"Last Change: 2011-04-22 +"Version: 1.1 +"URL: http://www.gregsexton.org/vim-color-schemes/atom-color/ + +set background=dark +if version > 580 + "no guarantees for version 5.8 and below, but this makes it stop complaining + hi clear + if exists("syntax_on") + syntax reset + endif +endif +let g:colors_name="atom" + +hi Normal guifg=#e8ecf0 guibg=#304050 + +hi DiffDelete guifg=#304050 guibg=#203040 +hi DiffAdd guibg=#002851 +hi DiffChange guibg=#450303 +hi DiffText guibg=#990909 gui=none + +hi diffAdded guifg=#00bf00 guibg=#1d2c1b +hi diffRemoved guifg=#e00000 guibg=#2d1c20 + +hi Cursor guibg=khaki guifg=slategrey +hi VertSplit guibg=#102030 guifg=#102030 gui=none +hi Folded guifg=#cccccc guibg=#405060 +hi FoldColumn guibg=grey30 guifg=tan +hi IncSearch guifg=slategrey guibg=khaki +hi LineNr guifg=#556575 guibg=#203040 +hi ModeMsg guifg=goldenrod +hi MoreMsg guifg=SeaGreen +hi NonText guifg=#304050 guibg=#304050 +hi Question guifg=springgreen +hi Search guibg=#ffff7d guifg=#000000 +hi SpecialKey guifg=yellowgreen +hi StatusLine guibg=#102030 guifg=grey70 gui=none +hi StatusLineNC guibg=#203040 guifg=grey50 gui=none +hi Title guifg=indianred +hi Visual gui=none guifg=white guibg=#D04040 +hi WarningMsg guifg=salmon +hi Directory guifg=#A6E22E +hi SignColumn guifg=#A6E22E guibg=#203040 + +if version >= 700 " Vim 7.x specific colors + hi CursorLine guifg=NONE guibg=#203040 gui=NONE + hi CursorColumn guifg=NONE guibg=#203040 gui=NONE + hi MatchParen guifg=red guibg=#304050 gui=BOLD + hi Pmenu guifg=#f6f3e8 guibg=#152535 gui=NONE + hi PmenuSel guifg=#000000 guibg=#cae682 gui=NONE +endif + +if version >= 703 " Vim 7.x specific colors + hi ColorColumn guifg=#e8ecf0 guibg=#283848 +endif + +" syntax highlighting groups +hi Comment guifg=#8090a0 gui=none +hi Constant guifg=#ff6070 gui=none +hi Identifier guifg=#70d080 gui=none +hi Statement guifg=#6699D0 gui=none +hi PreProc guifg=indianred gui=none +hi Type guifg=#8cd0d3 gui=none +hi Special guifg=#ecad2b gui=none +hi Delimiter guifg=#8090a0 +hi Number guifg=#FFFF80 +hi Ignore guifg=grey40 gui=none +hi Todo guifg=orangered guibg=#304050 gui=none + +"vim: sw=4 diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/ayu.vim b/nvim/plugged/awesome-vim-colorschemes/colors/ayu.vim new file mode 100644 index 00000000..9158e6b5 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/ayu.vim @@ -0,0 +1,277 @@ +" Initialisation:"{{{ +" ---------------------------------------------------------------------------- +hi clear +if exists("syntax_on") + syntax reset +endif + +let s:style = get(g:, 'ayucolor', 'dark') +let g:colors_name = "ayu" +"}}} + +" Palettes:"{{{ +" ---------------------------------------------------------------------------- + +let s:palette = {} + +let s:palette.bg = {'dark': "#0F1419", 'light': "#FAFAFA", 'mirage': "#212733"} + +let s:palette.comment = {'dark': "#5C6773", 'light': "#ABB0B6", 'mirage': "#5C6773"} +let s:palette.markup = {'dark': "#F07178", 'light': "#F07178", 'mirage': "#F07178"} +let s:palette.constant = {'dark': "#FFEE99", 'light': "#A37ACC", 'mirage': "#D4BFFF"} +let s:palette.operator = {'dark': "#E7C547", 'light': "#E7C547", 'mirage': "#80D4FF"} +let s:palette.tag = {'dark': "#36A3D9", 'light': "#36A3D9", 'mirage': "#5CCFE6"} +let s:palette.regexp = {'dark': "#95E6CB", 'light': "#4CBF99", 'mirage': "#95E6CB"} +let s:palette.string = {'dark': "#B8CC52", 'light': "#86B300", 'mirage': "#BBE67E"} +let s:palette.function = {'dark': "#FFB454", 'light': "#F29718", 'mirage': "#FFD57F"} +let s:palette.special = {'dark': "#E6B673", 'light': "#E6B673", 'mirage': "#FFC44C"} +let s:palette.keyword = {'dark': "#FF7733", 'light': "#FF7733", 'mirage': "#FFAE57"} + +let s:palette.error = {'dark': "#FF3333", 'light': "#FF3333", 'mirage': "#FF3333"} +let s:palette.accent = {'dark': "#F29718", 'light': "#FF6A00", 'mirage': "#FFCC66"} +let s:palette.panel = {'dark': "#14191F", 'light': "#FFFFFF", 'mirage': "#272D38"} +let s:palette.guide = {'dark': "#2D3640", 'light': "#D9D8D7", 'mirage': "#3D4751"} +let s:palette.line = {'dark': "#151A1E", 'light': "#F3F3F3", 'mirage': "#242B38"} +let s:palette.selection = {'dark': "#253340", 'light': "#F0EEE4", 'mirage': "#343F4C"} +let s:palette.fg = {'dark': "#E6E1CF", 'light': "#5C6773", 'mirage': "#D9D7CE"} +let s:palette.fg_idle = {'dark': "#3E4B59", 'light': "#828C99", 'mirage': "#607080"} + +"}}} + +" Highlighting Primitives:"{{{ +" ---------------------------------------------------------------------------- + +function! s:build_prim(hi_elem, field) + let l:vname = "s:" . a:hi_elem . "_" . a:field " s:bg_gray + let l:gui_assign = "gui".a:hi_elem."=".s:palette[a:field][s:style] " guibg=... + exe "let " . l:vname . " = ' " . l:gui_assign . "'" +endfunction + +let s:bg_none = ' guibg=NONE ctermbg=NONE' +let s:fg_none = ' guifg=NONE ctermfg=NONE' +for [key_name, d_value] in items(s:palette) + call s:build_prim('bg', key_name) + call s:build_prim('fg', key_name) +endfor +" }}} + +" Formatting Options:"{{{ +" ---------------------------------------------------------------------------- +let s:none = "NONE" +let s:t_none = "NONE" +let s:n = "NONE" +let s:c = ",undercurl" +let s:r = ",reverse" +let s:s = ",standout" +let s:b = ",bold" +let s:u = ",underline" +let s:i = ",italic" + +exe "let s:fmt_none = ' gui=NONE". " cterm=NONE". " term=NONE" ."'" +exe "let s:fmt_bold = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'" +exe "let s:fmt_bldi = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'" +exe "let s:fmt_undr = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'" +exe "let s:fmt_undb = ' gui=NONE".s:u.s:b. " cterm=NONE".s:u.s:b. " term=NONE".s:u.s:b."'" +exe "let s:fmt_undi = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'" +exe "let s:fmt_curl = ' gui=NONE".s:c. " cterm=NONE".s:c. " term=NONE".s:c ."'" +exe "let s:fmt_ital = ' gui=NONE".s:i. " cterm=NONE".s:i. " term=NONE".s:i ."'" +exe "let s:fmt_stnd = ' gui=NONE".s:s. " cterm=NONE".s:s. " term=NONE".s:s ."'" +exe "let s:fmt_revr = ' gui=NONE".s:r. " cterm=NONE".s:r. " term=NONE".s:r ."'" +exe "let s:fmt_revb = ' gui=NONE".s:r.s:b. " cterm=NONE".s:r.s:b. " term=NONE".s:r.s:b."'" +"}}} + + +" Vim Highlighting: (see :help highlight-groups)"{{{ +" ---------------------------------------------------------------------------- +exe "hi! Normal" .s:fg_fg .s:bg_bg .s:fmt_none +exe "hi! ColorColumn" .s:fg_none .s:bg_line .s:fmt_none +" Conceal, Cursor, CursorIM +exe "hi! CursorColumn" .s:fg_none .s:bg_line .s:fmt_none +exe "hi! CursorLine" .s:fg_none .s:bg_line .s:fmt_none +exe "hi! CursorLineNr" .s:fg_accent .s:bg_line .s:fmt_none +exe "hi! LineNr" .s:fg_guide .s:bg_none .s:fmt_none + +exe "hi! Directory" .s:fg_fg_idle .s:bg_none .s:fmt_none +exe "hi! DiffAdd" .s:fg_string .s:bg_panel .s:fmt_none +exe "hi! DiffChange" .s:fg_tag .s:bg_panel .s:fmt_none +exe "hi! DiffText" .s:fg_fg .s:bg_panel .s:fmt_none +exe "hi! ErrorMsg" .s:fg_fg .s:bg_error .s:fmt_stnd +exe "hi! VertSplit" .s:fg_bg .s:bg_none .s:fmt_none +exe "hi! Folded" .s:fg_fg_idle .s:bg_panel .s:fmt_none +exe "hi! FoldColumn" .s:fg_none .s:bg_panel .s:fmt_none +exe "hi! SignColumn" .s:fg_none .s:bg_panel .s:fmt_none +" Incsearch" + +exe "hi! MatchParen" .s:fg_fg .s:bg_bg .s:fmt_undr +exe "hi! ModeMsg" .s:fg_string .s:bg_none .s:fmt_none +exe "hi! MoreMsg" .s:fg_string .s:bg_none .s:fmt_none +exe "hi! NonText" .s:fg_guide .s:bg_none .s:fmt_none +exe "hi! Pmenu" .s:fg_fg .s:bg_selection .s:fmt_none +exe "hi! PmenuSel" .s:fg_fg .s:bg_selection .s:fmt_revr +" PmenuSbar" +" PmenuThumb" +exe "hi! Question" .s:fg_string .s:bg_none .s:fmt_none +exe "hi! Search" .s:fg_bg .s:bg_constant .s:fmt_none +exe "hi! SpecialKey" .s:fg_selection .s:bg_none .s:fmt_none +exe "hi! SpellCap" .s:fg_tag .s:bg_none .s:fmt_undr +exe "hi! SpellLocal" .s:fg_keyword .s:bg_none .s:fmt_undr +exe "hi! SpellBad" .s:fg_error .s:bg_none .s:fmt_undr +exe "hi! SpellRare" .s:fg_regexp .s:bg_none .s:fmt_undr +exe "hi! StatusLine" .s:fg_fg .s:bg_panel .s:fmt_none +exe "hi! StatusLineNC" .s:fg_fg_idle .s:bg_panel .s:fmt_none +exe "hi! WildMenu" .s:fg_bg .s:bg_markup .s:fmt_none +exe "hi! TabLine" .s:fg_fg .s:bg_panel .s:fmt_revr +" TabLineFill" +" TabLineSel" +exe "hi! Title" .s:fg_keyword .s:bg_none .s:fmt_none +exe "hi! Visual" .s:fg_none .s:bg_selection .s:fmt_none +" VisualNos" +exe "hi! WarningMsg" .s:fg_error .s:bg_none .s:fmt_none + +" TODO LongLineWarning to use variables instead of hardcoding +hi LongLineWarning guifg=NONE guibg=#371F1C gui=underline ctermfg=NONE ctermbg=NONE cterm=underline +" WildMenu" + +"}}} + +" Generic Syntax Highlighting: (see :help group-name)"{{{ +" ---------------------------------------------------------------------------- +exe "hi! Comment" .s:fg_comment .s:bg_none .s:fmt_none + +exe "hi! Constant" .s:fg_constant .s:bg_none .s:fmt_none +exe "hi! String" .s:fg_string .s:bg_none .s:fmt_none +" Character" +" Number" +" Boolean" +" Float" + +exe "hi! Identifier" .s:fg_tag .s:bg_none .s:fmt_none +exe "hi! Function" .s:fg_function .s:bg_none .s:fmt_none + +exe "hi! Statement" .s:fg_keyword .s:bg_none .s:fmt_none +" Conditional" +" Repeat" +" Label" +exe "hi! Operator" .s:fg_operator .s:bg_none .s:fmt_none +" Keyword" +" Exception" + +exe "hi! PreProc" .s:fg_special .s:bg_none .s:fmt_none +" Include" +" Define" +" Macro" +" PreCondit" + +exe "hi! Type" .s:fg_tag .s:bg_none .s:fmt_none +" StorageClass" +exe "hi! Structure" .s:fg_special .s:bg_none .s:fmt_none +" Typedef" + +exe "hi! Special" .s:fg_special .s:bg_none .s:fmt_none +" SpecialChar" +" Tag" +" Delimiter" +" SpecialComment" +" Debug" +" +exe "hi! Underlined" .s:fg_tag .s:bg_none .s:fmt_undr + +exe "hi! Ignore" .s:fg_none .s:bg_none .s:fmt_none + +exe "hi! Error" .s:fg_fg .s:bg_error .s:fmt_none + +exe "hi! Todo" .s:fg_markup .s:bg_none .s:fmt_none + +" Quickfix window highlighting +exe "hi! qfLineNr" .s:fg_keyword .s:bg_none .s:fmt_none +" qfFileName" +" qfLineNr" +" qfError" + +exe "hi! Conceal" .s:fg_guide .s:bg_none .s:fmt_none +exe "hi! CursorLineConceal" .s:fg_guide .s:bg_line .s:fmt_none + + +" Terminal +" --------- +if has("nvim") + let g:terminal_color_0 = s:palette.bg[s:style] + let g:terminal_color_1 = s:palette.markup[s:style] + let g:terminal_color_2 = s:palette.string[s:style] + let g:terminal_color_3 = s:palette.accent[s:style] + let g:terminal_color_4 = s:palette.tag[s:style] + let g:terminal_color_5 = s:palette.constant[s:style] + let g:terminal_color_6 = s:palette.regexp[s:style] + let g:terminal_color_7 = "#FFFFFF" + let g:terminal_color_8 = s:palette.fg_idle[s:style] + let g:terminal_color_9 = s:palette.error[s:style] + let g:terminal_color_10 = s:palette.string[s:style] + let g:terminal_color_11 = s:palette.accent[s:style] + let g:terminal_color_12 = s:palette.tag[s:style] + let g:terminal_color_13 = s:palette.constant[s:style] + let g:terminal_color_14 = s:palette.regexp[s:style] + let g:terminal_color_15 = s:palette.comment[s:style] + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = s:palette.fg[s:style] +else + let g:terminal_ansi_colors = [s:palette.bg[s:style], s:palette.markup[s:style]] + let g:terminal_ansi_colors += [s:palette.string[s:style], s:palette.accent[s:style]] + let g:terminal_ansi_colors += [s:palette.tag[s:style], s:palette.constant[s:style]] + let g:terminal_ansi_colors += [s:palette.regexp[s:style], "#FFFFFF"] + let g:terminal_ansi_colors += [s:palette.fg_idle[s:style], s:palette.error[s:style]] + let g:terminal_ansi_colors += [s:palette.string[s:style], s:palette.accent[s:style]] + let g:terminal_ansi_colors += [s:palette.tag[s:style], s:palette.constant[s:style]] + let g:terminal_ansi_colors += [s:palette.regexp[s:style], s:palette.comment[s:style]] +endif + + +" NerdTree +" --------- +exe "hi! NERDTreeOpenable" .s:fg_fg_idle .s:bg_none .s:fmt_none +exe "hi! NERDTreeClosable" .s:fg_accent .s:bg_none .s:fmt_none +" exe "hi! NERDTreeBookmarksHeader" .s:fg_pink .s:bg_none .s:fmt_none +" exe "hi! NERDTreeBookmarksLeader" .s:fg_bg .s:bg_none .s:fmt_none +" exe "hi! NERDTreeBookmarkName" .s:fg_keyword .s:bg_none .s:fmt_none +" exe "hi! NERDTreeCWD" .s:fg_pink .s:bg_none .s:fmt_none +exe "hi! NERDTreeUp" .s:fg_fg_idle .s:bg_none .s:fmt_none +exe "hi! NERDTreeDir" .s:fg_function .s:bg_none .s:fmt_none +exe "hi! NERDTreeFile" .s:fg_none .s:bg_none .s:fmt_none +exe "hi! NERDTreeDirSlash" .s:fg_accent .s:bg_none .s:fmt_none + + +" GitGutter +" --------- +exe "hi! GitGutterAdd" .s:fg_string .s:bg_none .s:fmt_none +exe "hi! GitGutterChange" .s:fg_tag .s:bg_none .s:fmt_none +exe "hi! GitGutterDelete" .s:fg_markup .s:bg_none .s:fmt_none +exe "hi! GitGutterChangeDelete" .s:fg_function .s:bg_none .s:fmt_none + +"}}} + +" Diff Syntax Highlighting:"{{{ +" ---------------------------------------------------------------------------- +" Diff +" diffOldFile +" diffNewFile +" diffFile +" diffOnly +" diffIdentical +" diffDiffer +" diffBDiffer +" diffIsA +" diffNoEOL +" diffCommon +hi! link diffRemoved Constant +" diffChanged +hi! link diffAdded String +" diffLine +" diffSubname +" diffComment + +"}}} +" +" This is needed for some reason: {{{ + +let &background = s:style + +" }}} diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/carbonized-dark.vim b/nvim/plugged/awesome-vim-colorschemes/colors/carbonized-dark.vim new file mode 100644 index 00000000..a1664b44 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/carbonized-dark.vim @@ -0,0 +1,243 @@ +" carbonized-dark, a vim colourscheme by haystackandroid +" +" generated with a theme template adapted from +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) + + +"=== SET COLOUR VARIABLES ===================================================== + +" GUI colours +let s:g0 = '2b2b2b' +let s:g1 = '3b3b37' +let s:g2 = '75756e' +let s:g3 = '8a8a81' +let s:g4 = '9e9e95' +let s:g5 = 'b5b5aa' +let s:g6 = 'f0f0e1' +let s:g7 = 'fffff0' +let s:g8 = 'bf5858' +let s:g9 = 'b56f45' +let s:gA = 'ab8e38' +let s:gB = '508a50' +let s:gC = '458a8a' +let s:gD = '557b9e' +let s:gE = '8b6a9e' +let s:gF = 'ab6a7a' + +" terminal colours +let s:t0 = '00' +let s:t3 = '08' +let s:t5 = '07' +let s:t7 = '15' +let s:t8 = '01' +let s:tA = '03' +let s:tB = '02' +let s:tC = '06' +let s:tD = '04' +let s:tE = '05' +let s:t1 = '10' +let s:t2 = '11' +let s:t4 = '12' +let s:t6 = '13' +let s:t9 = '09' +let s:tF = '14' + +" neovim colours +if has('nvim') + let g:terminal_color_0 = '#2b2b2b' + let g:terminal_color_1 = '#bf5858' + let g:terminal_color_2 = '#508a50' + let g:terminal_color_3 = '#ab8e38' + let g:terminal_color_4 = '#557b9e' + let g:terminal_color_5 = '#8b6a9e' + let g:terminal_color_6 = '#458a8a' + let g:terminal_color_7 = '#b5b5aa' + let g:terminal_color_8 = '#8a8a81' + let g:terminal_color_9 = '#b56f45' + let g:terminal_color_10 = '#3b3b37' + let g:terminal_color_11 = '#75756e' + let g:terminal_color_12 = '#9e9e95' + let g:terminal_color_13 = '#f0f0e1' + let g:terminal_color_14 = '#ab6a7a' + let g:terminal_color_15 = '#fffff0' +endif + + +"=== OTHER PREPARATION ======================================================== + +" run theme-setting script if using terminal vim +if filereadable(expand('~/.nightshell/carbonized-dark')) + if !has('gui_running') + execute 'silent !/bin/sh $HOME/.nightshell/carbonized-dark' + endif +endif + +" clear old theme +hi clear +syntax reset + +" set new theme +set background=dark +augroup HaystackandroidThemeSet + autocmd! + autocmd CursorMoved * execute 'if !exists("colors_name") | + \ colorscheme carbonized-dark | endif' +augroup END +let colors_name = 'carbonized-dark' + +" highlighting function +fun! h(x, gf, gb, cf, cb, a, s) + if a:gf != '' | exe 'hi ' . a:x . ' guifg=#' . a:gf | endif + if a:gb != '' | exe 'hi ' . a:x . ' guibg=#' . a:gb | endif + if a:cf != '' | exe 'hi ' . a:x . ' ctermfg=' . a:cf | endif + if a:cb != '' | exe 'hi ' . a:x . ' ctermbg=' . a:cb | endif + if a:a != '' | exe 'hi ' . a:x . ' gui=' . a:a . ' cterm=' . a:a | endif + if a:s != '' | exe 'hi ' . a:x . ' guisp=#' . a:s | endif +endfun + + +"=== BASIC HIGHLIGHTING ======================================================= + +" cursor + status line + selected tab +cal h('Cursor' , s:g0 , s:g9 , s:t0 , s:t9 , 'none' , '' ) +cal h('StatusLine' , s:g0 , s:g9 , s:t0 , s:t9 , 'none' , '' ) +cal h('StatusLineTerm' , s:g0 , s:g9 , s:t0 , s:t9 , 'none' , '' ) +cal h('TabLineSel' , s:g0 , s:g9 , s:t0 , s:t9 , 'none' , '' ) +cal h('TermCursor' , s:g0 , s:g9 , s:t0 , s:t9 , 'none' , '' ) + +" line numbers +cal h('CursorLineNr' , s:g0 , s:g3 , s:t0 , s:t3 , 'none' , '' ) +cal h('LineNr' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) + +" basic text +cal h('Bold' , '' , '' , '' , '' , 'bold' , '' ) +cal h('Directory' , s:g5 , '' , s:t5 , '' , 'bold' , '' ) +cal h('Italic' , '' , '' , '' , '' , 'italic' , '' ) +cal h('Normal' , s:g5 , s:g0 , s:t5 , s:t0 , 'none' , '' ) +cal h('Underlined' , s:g5 , '' , s:t5 , '' , 'underline' , '' ) + +" commented-out text +cal h('Comment' , s:g3 , '' , s:t3 , '' , 'none' , '' ) +cal h('Conceal' , s:g3 , '' , s:t3 , '' , 'none' , '' ) +cal h('EndOfBuffer' , s:g3 , '' , s:t3 , '' , 'none' , '' ) +cal h('Ignore' , s:g3 , '' , s:t3 , '' , 'none' , '' ) +cal h('NonText' , s:g3 , '' , s:t3 , '' , 'none' , '' ) + +" highlighted background +cal h('ColorColumn' , '' , s:g1 , '' , s:t1 , 'none' , '' ) +cal h('CursorColumn' , '' , s:g1 , '' , s:t1 , 'none' , '' ) +cal h('CursorLine' , '' , s:g1 , '' , s:t1 , 'none' , '' ) +cal h('QuickFixLine' , '' , s:g1 , '' , s:t1 , 'none' , '' ) +cal h('StatusLineNC' , s:g5 , s:g1 , s:t5 , s:t1 , 'none' , '' ) +cal h('StatusLineTermNC' , s:g5 , s:g1 , s:t5 , s:t1 , 'none' , '' ) +cal h('TabLineFill' , '' , s:g1 , '' , s:t1 , 'none' , '' ) +cal h('TermCursorNC' , '' , s:g1 , '' , s:t1 , 'none' , '' ) + +" muted text on highlighted background +cal h('DiffChange' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) +cal h('FoldColumn' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) +cal h('Folded' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) +cal h('SignColumn' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) +cal h('TabLine' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) +cal h('VisualNOS' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) + +" strongly highlighted background +cal h('MatchParen' , s:g6 , s:g2 , s:t6 , s:t2 , 'none' , '' ) +cal h('Pmenu' , s:g6 , s:g2 , s:t6 , s:t2 , 'none' , '' ) +cal h('Visual' , s:g6 , s:g2 , s:t6 , s:t2 , 'none' , '' ) + +" selected menu item +cal h('PmenuSel' , s:g0 , s:g5 , s:t0 , s:t5 , 'none' , '' ) +cal h('WildMenu' , s:g0 , s:g6 , s:t0 , s:t6 , 'none' , '' ) + +" solid lines +cal h('PmenuSbar' , s:g1 , s:g1 , s:t1 , s:t1 , 'none' , '' ) +cal h('PmenuThumb' , s:g4 , s:g4 , s:t4 , s:t4 , 'none' , '' ) +cal h('VertSplit' , s:g2 , s:g2 , s:t2 , s:t2 , 'none' , '' ) + + +"=== ALERT/SYNTAX HIGHLIGHTING ================================================ + +" RED for warning elements +cal h('DiffDelete' , s:g8 , s:g0 , s:t8 , s:t0 , 'reverse' , '' ) +cal h('Error' , s:g8 , s:g0 , s:t8 , s:t0 , 'reverse' , '' ) +cal h('ErrorMsg' , s:g8 , s:g0 , s:t8 , s:t0 , 'none' , '' ) +cal h('SpellBad' , '' , '' , s:t0 , s:t8 , 'undercurl' , s:g8) +cal h('TooLong' , s:g8 , '' , s:t8 , '' , 'none' , '' ) +cal h('WarningMsg' , s:g8 , s:g0 , s:t8 , s:t0 , 'none' , '' ) + +" ORANGE for preliminary elements +cal h('Define' , s:g9 , '' , s:t9 , '' , 'none' , '' ) +cal h('IncSearch' , s:g9 , s:g0 , s:t9 , s:t0 , 'reverse' , '' ) +cal h('Include' , s:g9 , '' , s:t9 , '' , 'none' , '' ) +cal h('Macro' , s:g9 , '' , s:t9 , '' , 'none' , '' ) +cal h('PreCondit' , s:g9 , '' , s:t9 , '' , 'none' , '' ) +cal h('PreProc' , s:g9 , '' , s:t9 , '' , 'none' , '' ) +cal h('SpellCap' , '' , '' , s:t0 , s:t9 , 'undercurl' , s:g9) +cal h('Title' , s:g9 , '' , s:t9 , '' , 'none' , '' ) + +" YELLOW for highlighted elements +cal h('DiffText' , s:gA , s:g0 , s:tA , s:t0 , 'reverse' , '' ) +cal h('Search' , s:gA , s:g0 , s:tA , s:t0 , 'reverse' , '' ) +cal h('Todo' , s:gA , s:g0 , s:tA , s:t0 , 'reverse' , '' ) + +" GREEN for action elements +cal h('Conditional' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('DiffAdd' , s:gB , s:g0 , s:tB , s:t0 , 'reverse' , '' ) +cal h('Exception' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('Keyword' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('Label' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('ModeMsg' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('MoreMsg' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('Operator' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('Question' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('Repeat' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('Statement' , s:gB , '' , s:tB , '' , 'none' , '' ) + +" TEAL for object types +cal h('SpellLocal' , '' , '' , s:t0 , s:tC , 'undercurl' , s:gC) +cal h('StorageClass' , s:gC , '' , s:tC , '' , 'none' , '' ) +cal h('Structure' , s:gC , '' , s:tC , '' , 'none' , '' ) +cal h('Type' , s:gC , '' , s:tC , '' , 'none' , '' ) +cal h('Typedef' , s:gC , '' , s:tC , '' , 'none' , '' ) + +" BLUE for constants +cal h('Boolean' , s:gD , '' , s:tD , '' , 'none' , '' ) +cal h('Character' , s:gD , '' , s:tD , '' , 'none' , '' ) +cal h('Constant' , s:gD , '' , s:tD , '' , 'none' , '' ) +cal h('Float' , s:gD , '' , s:tD , '' , 'none' , '' ) +cal h('Number' , s:gD , '' , s:tD , '' , 'none' , '' ) +cal h('String' , s:gD , '' , s:tD , '' , 'none' , '' ) + +" PURPLE for special text +cal h('Debug' , s:gE , '' , s:tE , '' , 'none' , '' ) +cal h('Delimiter' , s:gE , '' , s:tE , '' , 'none' , '' ) +cal h('Special' , s:gE , '' , s:tE , '' , 'none' , '' ) +cal h('SpecialChar' , s:gE , '' , s:tE , '' , 'none' , '' ) +cal h('SpecialComment' , s:gE , '' , s:tE , '' , 'none' , '' ) +cal h('SpecialKey' , s:gE , '' , s:tE , '' , 'none' , '' ) +cal h('SpellRare' , '' , '' , s:t0 , s:tE , 'undercurl' , s:gE) +cal h('Tag' , s:gE , '' , s:tE , '' , 'none' , '' ) + +" PINK for object names +cal h('Function' , s:gF , '' , s:tF , '' , 'none' , '' ) +cal h('Identifier' , s:gF , '' , s:tF , '' , 'none' , '' ) + + +"=== OPTIONS ================================================================== + +" disable highlighted CursorLineNr +if exists('g:carbonized_dark_CursorLineNr') +if g:carbonized_dark_CursorLineNr == 'off' +cal h('CursorLineNr' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) +endif +endif + +" disable LineNr background altogether +if exists('g:carbonized_dark_LineNr') +if g:carbonized_dark_LineNr == 'off' +cal h('CursorLineNr' , s:g4 , s:g0 , s:t4 , s:t0 , 'none' , '' ) +cal h('LineNr' , s:g4 , s:g0 , s:t4 , s:t0 , 'none' , '' ) +endif +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/carbonized-light.vim b/nvim/plugged/awesome-vim-colorschemes/colors/carbonized-light.vim new file mode 100644 index 00000000..dd37ce05 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/carbonized-light.vim @@ -0,0 +1,243 @@ +" carbonized-light, a vim colourscheme by haystackandroid +" +" generated with a theme template adapted from +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) + + +"=== SET COLOUR VARIABLES ===================================================== + +" GUI colours +let s:g0 = 'fffff0' +let s:g1 = 'f0f0e1' +let s:g2 = 'b5b5aa' +let s:g3 = '9e9e95' +let s:g4 = '8a8a81' +let s:g5 = '75756e' +let s:g6 = '3b3b37' +let s:g7 = '2b2b2b' +let s:g8 = 'f55050' +let s:g9 = 'e06a26' +let s:gA = 'd4ac35' +let s:gB = '219e21' +let s:gC = '1b9e9e' +let s:gD = '468dd4' +let s:gE = 'a26fbf' +let s:gF = 'd46a84' + +" terminal colours +let s:t0 = '00' +let s:t3 = '08' +let s:t5 = '07' +let s:t7 = '15' +let s:t8 = '01' +let s:tA = '03' +let s:tB = '02' +let s:tC = '06' +let s:tD = '04' +let s:tE = '05' +let s:t1 = '10' +let s:t2 = '11' +let s:t4 = '12' +let s:t6 = '13' +let s:t9 = '09' +let s:tF = '14' + +" neovim colours +if has('nvim') + let g:terminal_color_0 = '#fffff0' + let g:terminal_color_1 = '#f55050' + let g:terminal_color_2 = '#219e21' + let g:terminal_color_3 = '#d4ac35' + let g:terminal_color_4 = '#468dd4' + let g:terminal_color_5 = '#a26fbf' + let g:terminal_color_6 = '#1b9e9e' + let g:terminal_color_7 = '#75756e' + let g:terminal_color_8 = '#9e9e95' + let g:terminal_color_9 = '#e06a26' + let g:terminal_color_10 = '#f0f0e1' + let g:terminal_color_11 = '#b5b5aa' + let g:terminal_color_12 = '#8a8a81' + let g:terminal_color_13 = '#3b3b37' + let g:terminal_color_14 = '#d46a84' + let g:terminal_color_15 = '#2b2b2b' +endif + + +"=== OTHER PREPARATION ======================================================== + +" run theme-setting script if using terminal vim +if filereadable(expand('~/.nightshell/carbonized-light')) + if !has('gui_running') + execute 'silent !/bin/sh $HOME/.nightshell/carbonized-light' + endif +endif + +" clear old theme +hi clear +syntax reset + +" set new theme +set background=light +augroup HaystackandroidThemeSet + autocmd! + autocmd CursorMoved * execute 'if !exists("colors_name") | + \ colorscheme carbonized-light | endif' +augroup END +let colors_name = 'carbonized-light' + +" highlighting function +fun! h(x, gf, gb, cf, cb, a, s) + if a:gf != '' | exe 'hi ' . a:x . ' guifg=#' . a:gf | endif + if a:gb != '' | exe 'hi ' . a:x . ' guibg=#' . a:gb | endif + if a:cf != '' | exe 'hi ' . a:x . ' ctermfg=' . a:cf | endif + if a:cb != '' | exe 'hi ' . a:x . ' ctermbg=' . a:cb | endif + if a:a != '' | exe 'hi ' . a:x . ' gui=' . a:a . ' cterm=' . a:a | endif + if a:s != '' | exe 'hi ' . a:x . ' guisp=#' . a:s | endif +endfun + + +"=== BASIC HIGHLIGHTING ======================================================= + +" cursor + status line + selected tab +cal h('Cursor' , s:g0 , s:g9 , s:t0 , s:t9 , 'none' , '' ) +cal h('StatusLine' , s:g0 , s:g9 , s:t0 , s:t9 , 'none' , '' ) +cal h('StatusLineTerm' , s:g0 , s:g9 , s:t0 , s:t9 , 'none' , '' ) +cal h('TabLineSel' , s:g0 , s:g9 , s:t0 , s:t9 , 'none' , '' ) +cal h('TermCursor' , s:g0 , s:g9 , s:t0 , s:t9 , 'none' , '' ) + +" line numbers +cal h('CursorLineNr' , s:g0 , s:g3 , s:t0 , s:t3 , 'none' , '' ) +cal h('LineNr' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) + +" basic text +cal h('Bold' , '' , '' , '' , '' , 'bold' , '' ) +cal h('Directory' , s:g5 , '' , s:t5 , '' , 'bold' , '' ) +cal h('Italic' , '' , '' , '' , '' , 'italic' , '' ) +cal h('Normal' , s:g5 , s:g0 , s:t5 , s:t0 , 'none' , '' ) +cal h('Underlined' , s:g5 , '' , s:t5 , '' , 'underline' , '' ) + +" commented-out text +cal h('Comment' , s:g3 , '' , s:t3 , '' , 'none' , '' ) +cal h('Conceal' , s:g3 , '' , s:t3 , '' , 'none' , '' ) +cal h('EndOfBuffer' , s:g3 , '' , s:t3 , '' , 'none' , '' ) +cal h('Ignore' , s:g3 , '' , s:t3 , '' , 'none' , '' ) +cal h('NonText' , s:g3 , '' , s:t3 , '' , 'none' , '' ) + +" highlighted background +cal h('ColorColumn' , '' , s:g1 , '' , s:t1 , 'none' , '' ) +cal h('CursorColumn' , '' , s:g1 , '' , s:t1 , 'none' , '' ) +cal h('CursorLine' , '' , s:g1 , '' , s:t1 , 'none' , '' ) +cal h('QuickFixLine' , '' , s:g1 , '' , s:t1 , 'none' , '' ) +cal h('StatusLineNC' , s:g5 , s:g1 , s:t5 , s:t1 , 'none' , '' ) +cal h('StatusLineTermNC' , s:g5 , s:g1 , s:t5 , s:t1 , 'none' , '' ) +cal h('TabLineFill' , '' , s:g1 , '' , s:t1 , 'none' , '' ) +cal h('TermCursorNC' , '' , s:g1 , '' , s:t1 , 'none' , '' ) + +" muted text on highlighted background +cal h('DiffChange' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) +cal h('FoldColumn' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) +cal h('Folded' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) +cal h('SignColumn' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) +cal h('TabLine' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) +cal h('VisualNOS' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) + +" strongly highlighted background +cal h('MatchParen' , s:g6 , s:g2 , s:t6 , s:t2 , 'none' , '' ) +cal h('Pmenu' , s:g6 , s:g2 , s:t6 , s:t2 , 'none' , '' ) +cal h('Visual' , s:g6 , s:g2 , s:t6 , s:t2 , 'none' , '' ) + +" selected menu item +cal h('PmenuSel' , s:g0 , s:g5 , s:t0 , s:t5 , 'none' , '' ) +cal h('WildMenu' , s:g0 , s:g6 , s:t0 , s:t6 , 'none' , '' ) + +" solid lines +cal h('PmenuSbar' , s:g1 , s:g1 , s:t1 , s:t1 , 'none' , '' ) +cal h('PmenuThumb' , s:g4 , s:g4 , s:t4 , s:t4 , 'none' , '' ) +cal h('VertSplit' , s:g2 , s:g2 , s:t2 , s:t2 , 'none' , '' ) + + +"=== ALERT/SYNTAX HIGHLIGHTING ================================================ + +" RED for warning elements +cal h('DiffDelete' , s:g8 , s:g0 , s:t8 , s:t0 , 'reverse' , '' ) +cal h('Error' , s:g8 , s:g0 , s:t8 , s:t0 , 'reverse' , '' ) +cal h('ErrorMsg' , s:g8 , s:g0 , s:t8 , s:t0 , 'none' , '' ) +cal h('SpellBad' , '' , '' , s:t0 , s:t8 , 'undercurl' , s:g8) +cal h('TooLong' , s:g8 , '' , s:t8 , '' , 'none' , '' ) +cal h('WarningMsg' , s:g8 , s:g0 , s:t8 , s:t0 , 'none' , '' ) + +" ORANGE for preliminary elements +cal h('Define' , s:g9 , '' , s:t9 , '' , 'none' , '' ) +cal h('IncSearch' , s:g9 , s:g0 , s:t9 , s:t0 , 'reverse' , '' ) +cal h('Include' , s:g9 , '' , s:t9 , '' , 'none' , '' ) +cal h('Macro' , s:g9 , '' , s:t9 , '' , 'none' , '' ) +cal h('PreCondit' , s:g9 , '' , s:t9 , '' , 'none' , '' ) +cal h('PreProc' , s:g9 , '' , s:t9 , '' , 'none' , '' ) +cal h('SpellCap' , '' , '' , s:t0 , s:t9 , 'undercurl' , s:g9) +cal h('Title' , s:g9 , '' , s:t9 , '' , 'none' , '' ) + +" YELLOW for highlighted elements +cal h('DiffText' , s:gA , s:g6 , s:tA , s:t6 , 'reverse' , '' ) +cal h('Search' , s:gA , s:g6 , s:tA , s:t6 , 'reverse' , '' ) +cal h('Todo' , s:gA , s:g6 , s:tA , s:t6 , 'reverse' , '' ) + +" GREEN for action elements +cal h('Conditional' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('DiffAdd' , s:gB , s:g0 , s:tB , s:t0 , 'reverse' , '' ) +cal h('Exception' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('Keyword' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('Label' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('ModeMsg' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('MoreMsg' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('Operator' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('Question' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('Repeat' , s:gB , '' , s:tB , '' , 'none' , '' ) +cal h('Statement' , s:gB , '' , s:tB , '' , 'none' , '' ) + +" TEAL for object types +cal h('SpellLocal' , '' , '' , s:t0 , s:tC , 'undercurl' , s:gC) +cal h('StorageClass' , s:gC , '' , s:tC , '' , 'none' , '' ) +cal h('Structure' , s:gC , '' , s:tC , '' , 'none' , '' ) +cal h('Type' , s:gC , '' , s:tC , '' , 'none' , '' ) +cal h('Typedef' , s:gC , '' , s:tC , '' , 'none' , '' ) + +" BLUE for constants +cal h('Boolean' , s:gD , '' , s:tD , '' , 'none' , '' ) +cal h('Character' , s:gD , '' , s:tD , '' , 'none' , '' ) +cal h('Constant' , s:gD , '' , s:tD , '' , 'none' , '' ) +cal h('Float' , s:gD , '' , s:tD , '' , 'none' , '' ) +cal h('Number' , s:gD , '' , s:tD , '' , 'none' , '' ) +cal h('String' , s:gD , '' , s:tD , '' , 'none' , '' ) + +" PURPLE for special text +cal h('Debug' , s:gE , '' , s:tE , '' , 'none' , '' ) +cal h('Delimiter' , s:gE , '' , s:tE , '' , 'none' , '' ) +cal h('Special' , s:gE , '' , s:tE , '' , 'none' , '' ) +cal h('SpecialChar' , s:gE , '' , s:tE , '' , 'none' , '' ) +cal h('SpecialComment' , s:gE , '' , s:tE , '' , 'none' , '' ) +cal h('SpecialKey' , s:gE , '' , s:tE , '' , 'none' , '' ) +cal h('SpellRare' , '' , '' , s:t0 , s:tE , 'undercurl' , s:gE) +cal h('Tag' , s:gE , '' , s:tE , '' , 'none' , '' ) + +" PINK for object names +cal h('Function' , s:gF , '' , s:tF , '' , 'none' , '' ) +cal h('Identifier' , s:gF , '' , s:tF , '' , 'none' , '' ) + + +"=== OPTIONS ================================================================== + +" disable highlighted CursorLineNr +if exists('g:carbonized_light_CursorLineNr') +if g:carbonized_light_CursorLineNr == 'off' +cal h('CursorLineNr' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) +endif +endif + +" disable LineNr background altogether +if exists('g:carbonized_light_LineNr') +if g:carbonized_light_LineNr == 'off' +cal h('CursorLineNr' , s:g4 , s:g0 , s:t4 , s:t0 , 'none' , '' ) +cal h('LineNr' , s:g4 , s:g0 , s:t4 , s:t0 , 'none' , '' ) +endif +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/challenger_deep.vim b/nvim/plugged/awesome-vim-colorschemes/colors/challenger_deep.vim new file mode 100644 index 00000000..720dfe43 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/challenger_deep.vim @@ -0,0 +1,338 @@ +" Vim Color File +" Name: challenger_deep.vim +" Version: 2.0 +" Maintainer: github.com/MaxSt +" License: The MIT License (MIT) +" Based On: pencil by github.com/reedes and github.com/mattly + +hi clear + +if exists('syntax on') + syntax reset +endif + +let g:colors_name='challenger_deep' +set background=dark + + +if ! exists("g:challenger_deep_termcolors") + let g:challenger_deep_termcolors = 256 +endif + +" not all terminals support italics properly. If yours does, opt-in. +if ! exists("g:challenger_deep_terminal_italics") + let g:challenger_deep_terminal_italics = 0 +endif + +" Colors +let s:black = { "gui": "#212121", "cterm": "0", "cterm16" : "8" } +let s:medium_gray = { "gui": "#767676", "cterm": "243", "cterm16" : "243" } +let s:white = { "gui": "#F3F3F3", "cterm": "15", "cterm16" : "15" } +let s:actual_white = { "gui": "#FFFFFF", "cterm": "231", "cterm16" : "231" } +let s:light_black = { "gui": "#424242", "cterm": "8", "cterm16" : "0" } +let s:lighter_black = { "gui": "#545454", "cterm": "240", "cterm16" : "240" } + +" lighter shadows and darker grays +let s:subtle_black = { "gui": "#303030", "cterm": "236", "cterm16" : "236" } +let s:light_gray = { "gui": "#B2B2B2", "cterm": "249", "cterm16" : "249" } +let s:lighter_gray = { "gui": "#C6C6C6", "cterm": "251", "cterm16" : "251" } + +" flat colors: +let s:asphalt = { "gui": "#1e1c31", "cterm": "233", "cterm16": "NONE"} +let s:asphalt_subtle= { "gui": "#100E23", "cterm": "232", "cterm16": "0"} +let s:dark_asphalt = { "gui": "#565575", "cterm": "236", "cterm16": "8"} + +let s:red = { "gui": "#ff8080", "cterm": "204", "cterm16": "1"} +let s:dark_red = { "gui": "#ff5458", "cterm": "203", "cterm16": "9"} + +let s:green = { "gui": "#95ffa4", "cterm": "120", "cterm16": "2"} +let s:dark_green = { "gui": "#62d196", "cterm": "119", "cterm16": "10"} + +let s:yellow = { "gui": "#ffe9aa", "cterm": "228", "cterm16": "3"} +let s:dark_yellow = { "gui": "#ffb378", "cterm": "215", "cterm16": "11"} + +let s:blue = { "gui": "#91ddff", "cterm": "159", "cterm16": "4"} +let s:dark_blue = { "gui": "#65b2ff", "cterm": "75", "cterm16": "12"} + +let s:purple = { "gui": "#c991e1", "cterm": "141", "cterm16": "5"} +let s:dark_purple = { "gui": "#906cff", "cterm": "135", "cterm16": "13"} + +let s:cyan = { "gui": "#aaffe4", "cterm": "122", "cterm16": "6"} +let s:dark_cyan = { "gui": "#63f2f1", "cterm": "121", "cterm16": "14"} + +let s:clouds = { "gui": "#cbe3e7", "cterm": "253", "cterm16": "7"} +let s:dark_clouds = { "gui": "#a6b3cc", "cterm": "252", "cterm16": "15"} + +let s:bg = s:asphalt +let s:bg_subtle = s:asphalt_subtle +let s:bg_dark = s:dark_asphalt +let s:norm = s:clouds +let s:norm_subtle = s:dark_clouds +let s:visual = s:bg_dark + +let s:head_a = s:dark_blue +let s:head_b = s:blue +let s:head_c = s:dark_cyan + +" shamelessly stolen from hemisu: https://github.com/noahfrederick/vim-hemisu/ +function! s:h(group, style) + " Not all terminals support italics properly. If yours does, opt-in. + if g:challenger_deep_terminal_italics == 0 && has_key(a:style, "cterm") && a:style["cterm"] == "italic" + unlet a:style.cterm + endif + if g:challenger_deep_termcolors == 16 + let l:ctermfg = (has_key(a:style, "fg") ? a:style.fg.cterm16 : "NONE") + let l:ctermbg = (has_key(a:style, "bg") ? a:style.bg.cterm16 : "NONE") + else + let l:ctermfg = (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE") + let l:ctermbg = (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE") + end + execute "highlight" a:group + \ "guifg=" (has_key(a:style, "fg") ? a:style.fg.gui : "NONE") + \ "guibg=" (has_key(a:style, "bg") ? a:style.bg.gui : "NONE") + \ "guisp=" (has_key(a:style, "sp") ? a:style.sp.gui : "NONE") + \ "gui=" (has_key(a:style, "gui") ? a:style.gui : "NONE") + \ "ctermfg=" . l:ctermfg + \ "ctermbg=" . l:ctermbg + \ "cterm=" (has_key(a:style, "cterm") ? a:style.cterm : "NONE") +endfunction + +" common groups ================================================================ +" (see `:h w18`) + +call s:h("Normal", {"bg": s:bg, "fg": s:norm}) +call s:h("Cursor", {"bg": s:blue, "fg": s:bg_dark}) +call s:h("Comment", {"fg": s:medium_gray, "gui": "italic", "cterm": "italic"}) + +call s:h("Constant", {"fg": s:yellow}) +hi! link String Constant +hi! link Character Constant + +call s:h("Number", {"fg": s:dark_yellow}) +hi! link Boolean Constant +hi! link Float Constant + +call s:h("Identifier", {"fg": s:purple}) +hi! link Function Identifier + +call s:h("Label", {"fg": s:dark_blue}) +hi! link Conditonal Statement +hi! link Exception Statement + +call s:h("Operator", {"fg": s:dark_cyan}) +hi! link Repeat Operator + +call s:h("PreProc", {"fg": s:green}) +hi! link Include PreProc +hi! link Define PreProc +hi! link Macro PreProc +hi! link PreCondit PreProc + + +call s:h("Keyword", {"fg": s:red}) +hi! link Statement Keyword + +call s:h("Type", {"fg": s:blue}) +hi! link StorageClass Type +hi! link Structure Type +hi! link Typedef Type + +call s:h("Special", {"fg": s:cyan}) +hi! link SpecialChar Special +hi! link Tag Special +hi! link Delimiter Special +hi! link SpecialComment Special +hi! link Debug Special + +call s:h("Underlined", {"fg": s:norm , "gui": "underline", "cterm": "underline"}) +call s:h("Ignore", {"fg": s:bg }) +call s:h("Error", {"fg": s:dark_red, "bg": s:bg_subtle , "gui": "bold" , "cterm": "bold" }) +call s:h("Todo", {"fg": s:dark_yellow, "bg": s:bg_subtle, "gui": "bold" , "cterm": "bold" }) + +" ui chrome ==================================================================== +" ordered according to `:help hitest.vim` + +call s:h("SpecialKey", {"fg": s:blue}) +call s:h("Boolean", {"fg": s:dark_yellow}) +call s:h("Number", {"fg": s:dark_yellow}) +call s:h("Float", {"fg": s:dark_yellow}) +call s:h("NonText", {"fg": s:bg_dark}) +call s:h("Directory", {"fg": s:purple}) +call s:h("ErrorMsg", {"fg": s:dark_red}) +call s:h("IncSearch", {"bg": s:red, "fg": s:clouds}) +call s:h("Search", {"bg": s:bg_dark}) +call s:h("MoreMsg", {"fg": s:medium_gray, "gui": "bold", "cterm": "bold"}) +hi! link ModeMsg MoreMsg +call s:h("LineNr", {"fg": s:dark_asphalt, "bg": s:bg_subtle}) +call s:h("CursorLineNr", {"bg": s:bg_subtle, "fg": s:blue, "gui": "bold"}) +call s:h("Question", {"fg": s:red}) +call s:h("StatusLine", {"bg": s:bg_dark}) +call s:h("Conceal", {"fg": s:norm}) +call s:h("StatusLineNC", {"bg": s:bg_dark, "fg": s:medium_gray}) +call s:h("VertSplit", {"fg": s:bg_subtle}) +call s:h("Title", {"fg": s:dark_blue}) +call s:h("Visual", {"bg": s:visual}) +call s:h("WarningMsg", {"fg": s:yellow}) +call s:h("WildMenu", {"fg": s:bg_subtle, "bg": s:cyan}) +call s:h("Folded", {"bg": s:purple, "fg": s:bg_subtle}) +call s:h("FoldColumn", {"fg": s:yellow}) +call s:h("DiffAdd", {"fg": s:green}) +call s:h("DiffDelete", {"fg": s:red}) +call s:h("DiffChange", {"fg": s:dark_yellow}) +call s:h("DiffText", {"fg": s:dark_blue}) +call s:h("SignColumn", {"fg": s:green}) + +if has("gui_running") + call s:h("SpellBad", {"gui": "underline", "sp": s:dark_red}) + call s:h("SpellCap", {"gui": "underline", "sp": s:green}) + call s:h("SpellRare", {"gui": "underline", "sp": s:red}) + call s:h("SpellLocal", {"gui": "underline", "sp": s:dark_green}) +else + call s:h("SpellBad", {"cterm": "underline", "fg": s:dark_red}) + call s:h("SpellCap", {"cterm": "underline", "fg": s:green}) + call s:h("SpellRare", {"cterm": "underline", "fg": s:red}) + call s:h("SpellLocal", {"cterm": "underline", "fg": s:dark_green}) +endif +call s:h("Pmenu", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("PmenuSel", {"fg": s:norm, "bg": s:bg_dark}) +call s:h("PmenuSbar", {"fg": s:norm, "bg": s:bg_dark}) +call s:h("PmenuThumb", {"fg": s:norm, "bg": s:bg_dark}) +call s:h("TabLine", {"fg": s:norm, "bg": s:bg_dark}) +call s:h("TabLineSel", {"fg": s:norm, "bg": s:bg_subtle, "gui": "bold", "cterm": "bold"}) +call s:h("TabLineFill", {"fg": s:norm, "bg": s:bg_dark}) +call s:h("CursorColumn", {"bg": s:bg_subtle}) +call s:h("CursorLine", {"bg": s:bg_subtle}) +call s:h("ColorColumn", {"bg": s:bg_subtle}) + +" remainder of syntax highlighting +call s:h("MatchParen", {"bg": s:bg_subtle, "fg": s:purple, "gui": "bold", "cterm": "bold"}) +call s:h("qfLineNr", {"fg": s:medium_gray}) + +" hi helpHyperTextJump guifg=#5FAFD7 ctermfg=74 + +" HTML syntax +hi! link htmlTag Special +hi! link htmlEndTag htmlTag + +hi! link htmlTagName KeyWord +" html5 tags show up as htmlTagN +hi! link htmlTagN Keyword + +" HTML content +call s:h("htmlH1", {"fg": s:head_a, "gui": "bold,italic", "cterm": "bold" }) +call s:h("htmlH2", {"fg": s:head_a, "gui": "bold" , "cterm": "bold" }) +call s:h("htmlH3", {"fg": s:head_b, "gui": "italic" , "cterm": "italic" }) +call s:h("htmlH4", {"fg": s:head_b, "gui": "italic" , "cterm": "italic" }) +call s:h("htmlH5", {"fg": s:head_c }) +call s:h("htmlH6", {"fg": s:head_c }) +call s:h("htmlLink", {"fg": s:blue , "gui": "underline" , "cterm": "underline"}) +call s:h("htmlItalic", { "gui": "italic" , "cterm": "italic" }) +call s:h("htmlBold", { "gui": "bold" , "cterm": "bold" }) +call s:h("htmlBoldItalic",{ "gui": "bold,italic", "cterm": "bold" }) +" hi htmlString guifg=#87875f guibg=NONE gui=NONE ctermfg=101 ctermbg=NONE cterm=NONE + +" tpope/vim-markdown +call s:h("markdownBlockquote", {"fg": s:norm}) +call s:h("markdownBold", {"fg": s:norm , "gui": "bold" , "cterm": "bold" }) +call s:h("markdownBoldItalic", {"fg": s:norm , "gui": "bold,italic", "cterm": "bold" }) +call s:h("markdownEscape", {"fg": s:norm}) +call s:h("markdownH1", {"fg": s:head_a, "gui": "bold,italic", "cterm": "bold" }) +call s:h("markdownH2", {"fg": s:head_a, "gui": "bold" , "cterm": "bold" }) +call s:h("markdownH3", {"fg": s:head_a, "gui": "italic" , "cterm": "italic"}) +call s:h("markdownH4", {"fg": s:head_a, "gui": "italic" , "cterm": "italic"}) +call s:h("mckarkdownH5", {"fg": s:head_a}) +call s:h("markdownH6", {"fg": s:head_a}) +call s:h("markdownHeadingDelimiter", {"fg": s:norm}) +call s:h("markdownHeadingRule", {"fg": s:norm}) +call s:h("markdownId", {"fg": s:medium_gray}) +call s:h("markdownIdDeclaration", {"fg": s:norm_subtle}) +call s:h("markdownItalic", {"fg": s:norm , "gui": "italic" , "cterm": "italic"}) +call s:h("markdownLinkDelimiter", {"fg": s:medium_gray}) +call s:h("markdownLinkText", {"fg": s:norm}) +call s:h("markdownLinkTextDelimiter", {"fg": s:medium_gray}) +call s:h("markdownListMarker", {"fg": s:norm}) +call s:h("markdownOrderedListMarker", {"fg": s:norm}) +call s:h("markdownRule", {"fg": s:norm}) +call s:h("markdownUrl", {"fg": s:medium_gray, "gui": "underline", "cterm": "underline"}) +call s:h("markdownUrlDelimiter", {"fg": s:medium_gray}) +call s:h("markdownUrlTitle", {"fg": s:norm}) +call s:h("markdownUrlTitleDelimiter", {"fg": s:medium_gray}) +call s:h("markdownCode", {"fg": s:norm}) +call s:h("markdownCodeDelimiter", {"fg": s:norm}) + +" plasticboy/vim-markdown +call s:h("mkdBlockQuote", {"fg": s:norm}) +call s:h("mkdDelimiter", {"fg": s:medium_gray}) +call s:h("mkdID", {"fg": s:medium_gray}) +call s:h("mkdLineContinue", {"fg": s:norm}) +call s:h("mkdLink", {"fg": s:norm}) +call s:h("mkdLinkDef", {"fg": s:medium_gray}) +call s:h("mkdListItem", {"fg": s:norm}) +call s:h("mkdNonListItemBlock", {"fg": s:norm}) " bug in syntax? +call s:h("mkdRule", {"fg": s:norm}) +call s:h("mkdUrl", {"fg": s:medium_gray, "gui": "underline", "cterm": "underline"}) +call s:h("mkdCode", {"fg": s:norm}) +call s:h("mkdIndentCode", {"fg": s:norm}) + +" gabrielelana/vim-markdown +call s:h("markdownBlockquoteDelimiter", {"fg": s:norm}) +call s:h("markdownInlineDelimiter", {"fg": s:norm}) +call s:h("markdownItemDelimiter", {"fg": s:norm}) +call s:h("markdownLinkReference", {"fg": s:medium_gray}) +call s:h("markdownLinkText", {"fg": s:norm}) +call s:h("markdownLinkTextContainer", {"fg": s:medium_gray}) +call s:h("markdownLinkUrl", {"fg": s:medium_gray, "gui": "underline", "cterm": "underline"}) +call s:h("markdownLinkUrlContainer", {"fg": s:medium_gray}) +call s:h("markdownFencedCodeBlock", {"fg": s:norm}) +call s:h("markdownInlineCode", {"fg": s:norm}) + +" mattly/vim-markdown-enhancements +call s:h("mmdFootnoteDelimiter", {"fg": s:medium_gray}) +call s:h("mmdFootnoteMarker", {"fg": s:norm}) +call s:h("mmdTableAlign", {"fg": s:norm}) +call s:h("mmdTableDelimiter", {"fg": s:norm}) +call s:h("mmdTableHeadDelimiter", {"fg": s:norm}) +call s:h("mmdTableHeader", {"fg": s:norm}) +call s:h("mmdTableCaptionDelimiter", {"fg": s:norm}) +call s:h("mmdTableCaption", {"fg": s:norm}) + +" Textile content +" https://github.com/timcharper/textile.vim/blob/master/syntax/textile.vim +"call s:h("txtBold", {"fg": s:norm , "gui": "bold" , "cterm": "bold" }) +"call s:h("txtEmphasis", {"fg": s:norm , "gui": "italic" , "cterm": "italic"}) + +" XML content +hi! link xmlTag htmlTag +hi! link xmlEndTag xmlTag +hi! link xmlTagName htmlTagName + +" Signify +call s:h("SignifySignAdd",{"fg": s:green, "bg": s:bg_subtle}) +call s:h("SignifySignDelete",{"fg": s:red, "bg": s:bg_subtle}) +call s:h("SignifySignChange",{"fg": s:yellow, "bg": s:bg_subtle}) +call s:h("SignifySignDeleteFirstLine",{"fg": s:red, "bg": s:bg_subtle}) + +" GitGutter +call s:h("GitGutterAdd",{"fg": s:green, "bg": s:bg_subtle}) +call s:h("GitGutterDelete",{"fg": s:red, "bg": s:bg_subtle}) +call s:h("GitGutterChange",{"fg": s:yellow, "bg": s:bg_subtle}) +call s:h("GitGutterChangeDelete",{"fg": s:red, "bg": s:bg_subtle}) + + +"nvim terminal colors +let g:terminal_color_0 = s:bg_dark.gui +let g:terminal_color_1 = s:red.gui +let g:terminal_color_2 = s:green.gui +let g:terminal_color_3 = s:yellow.gui +let g:terminal_color_4 = s:blue.gui +let g:terminal_color_5 = s:purple.gui +let g:terminal_color_6 = s:cyan.gui +let g:terminal_color_7 = s:clouds.gui +let g:terminal_color_8 = s:bg_subtle.gui +let g:terminal_color_9 = s:dark_red.gui +let g:terminal_color_10 = s:dark_green.gui +let g:terminal_color_11 = s:dark_yellow.gui +let g:terminal_color_12 = s:dark_blue.gui +let g:terminal_color_13 = s:dark_purple.gui +let g:terminal_color_14 = s:dark_cyan.gui +let g:terminal_color_15 = s:dark_clouds.gui diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/deep-space.vim b/nvim/plugged/awesome-vim-colorschemes/colors/deep-space.vim new file mode 100644 index 00000000..798ccf03 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/deep-space.vim @@ -0,0 +1,206 @@ +" Deep Space - An intergalactically friendly color scheme for Vim +" Author: Brandon Siders +" License: MIT + +highlight clear + +if exists('syntax_on') + syntax reset +endif + +set background=dark +let g:colors_name = 'deep-space' + +let g:deepspace_italics = get(g:, 'deepspace_italics', 0) + +" Color Palette +let s:gray1 = '#1b202a' +let s:gray2 = '#232936' +let s:gray3 = '#323c4d' +let s:gray4 = '#51617d' +let s:gray5 = '#9aa7bd' +let s:red = '#b15e7c' +let s:green = '#709d6c' +let s:yellow = '#b5a262' +let s:blue = '#608cc3' +let s:purple = '#8f72bf' +let s:cyan = '#56adb7' +let s:orange = '#b3785d' +let s:pink = '#c47ebd' + +function! s:HL(group, fg, bg, attr) + let l:attr = a:attr + if !g:deepspace_italics && l:attr ==# 'italic' + let l:attr = 'none' + endif + + if !empty(a:fg) + exec 'hi ' . a:group . ' guifg=' . a:fg + endif + if !empty(a:bg) + exec 'hi ' . a:group . ' guibg=' . a:bg + endif + if !empty(a:attr) + exec 'hi ' . a:group . ' gui=' . l:attr . ' cterm=' . l:attr + endif +endfun + +" Editor Highlights +call s:HL('ColorColumn', '', s:gray4, '') +call s:HL('Cursor', s:gray2, s:gray5, '') +call s:HL('CursorColumn', '', s:gray2, '') +call s:HL('CursorLine', '', s:gray2, 'none') +call s:HL('Directory', s:blue, '', '') +call s:HL('DiffAdd', s:gray3, s:green, 'none') +call s:HL('DiffChange', s:gray3, s:yellow, 'none') +call s:HL('DiffDelete', s:gray3, s:red, 'none') +call s:HL('DiffText', s:gray3, s:blue, 'none') +call s:HL('ErrorMsg', s:red, s:gray1, 'bold') +call s:HL('VertSplit', s:gray4, s:gray1, 'none') +call s:HL('Folded', s:gray3, s:gray1, '') +call s:HL('FoldColumn', s:cyan, s:gray1, '') +call s:HL('SignColumn', s:gray2, s:gray1, '') +call s:HL('LineNr', s:gray3, '', '') +call s:HL('CursorLineNr', s:gray5, s:gray2, 'none') +call s:HL('MatchParen', s:gray2, s:pink, 'bold') +call s:HL('ModeMsg', s:green, '', '') +call s:HL('MoreMsg', s:green, '', '') +call s:HL('NonText', s:gray4, '', '') +call s:HL('Normal', s:gray5, s:gray1, 'none') +call s:HL('Pmenu', s:gray5, s:gray3, '') +call s:HL('PmenuSel', s:gray2, s:blue, '') +call s:HL('PmenuSbar', s:gray3, s:gray4, '') +call s:HL('PmenuThumb', s:gray4, s:gray5, '') +call s:HL('Question', s:green, '', '') +call s:HL('Search', s:gray1, s:yellow, '') +call s:HL('SpecialKey', s:gray4, '', '') +call s:HL('SpellCap', s:blue, '', 'undercurl') +call s:HL('SpellBad', s:red, '', 'undercurl') +call s:HL('StatusLine', s:gray5, s:gray3, 'none') +call s:HL('StatusLineNC', s:gray2, s:gray4, '') +call s:HL('TabLine', s:gray3, s:gray1, 'none') +call s:HL('TabLineFill', s:gray4, s:gray2, 'none') +call s:HL('TabLineSel', s:gray2, s:gray4, '') +call s:HL('Title', s:yellow, '', 'none') +call s:HL('Visual', s:gray5, s:gray3, '') +call s:HL('WarningMsg', s:red, '', '') +call s:HL('WildMenu', s:gray2, s:blue, '') + +" Standard Syntax +call s:HL('Comment', s:gray4, '', 'italic') +call s:HL('Constant', s:red, '', '') +call s:HL('String', s:green, '', '') +call s:HL('Character', s:green, '', '') +call s:HL('Identifier', s:purple, '', 'none') +call s:HL('Function', s:yellow, '', '') +call s:HL('Statement', s:blue, '', 'none') +call s:HL('Operator', s:cyan, '', 'none') +call s:HL('PreProc', s:cyan, '', '') +call s:HL('Define', s:blue, '', '') +call s:HL('Macro', s:blue, '', '') +call s:HL('Type', s:orange, '', 'none') +call s:HL('Structure', s:blue, '', '') +call s:HL('Special', s:cyan, '', '') +call s:HL('Underlined', s:blue, '', 'none') +call s:HL('Error', s:red, s:gray1, 'bold') +call s:HL('Todo', s:pink, s:gray1, 'bold') + +" CSS/Sass/Less +call s:HL('cssAttrComma', s:green, '', '') +call s:HL('cssAttributeSelector', s:green, '', '') +call s:HL('cssBraces', s:gray5, '', '') +call s:HL('cssClassName', s:orange, '', '') +call s:HL('cssClassNameDot', s:orange, '', '') +call s:HL('cssIdentifier', s:yellow, '', '') +call s:HL('cssImportant', s:purple, '', '') +call s:HL('cssMediaType', s:purple, '', '') +call s:HL('cssProp', s:gray5, '', '') +call s:HL('cssSelectorOp', s:blue, '', '') +call s:HL('cssSelectorOp2', s:blue, '', '') + +call s:HL('sassAmpersand', s:blue, '', '') +call s:HL('sassClass', s:orange, '', '') +call s:HL('sassClassChar', s:orange, '', '') + +call s:HL('lessAmpersand', s:blue, '', '') +call s:HL('lessClass', s:orange, '', '') +call s:HL('lessClassChar', s:orange, '', '') +call s:HL('lessFunction', s:yellow, '', '') +call s:HL('lessCssAttribute', s:gray5, '', '') + +" Git +call s:HL('gitcommitComment', s:gray4, '', 'italic') +call s:HL('gitcommitOnBranch', s:gray4, '', 'italic') +call s:HL('gitcommitFile', s:cyan, '', '') +call s:HL('gitcommitHeader', s:purple, '', '') +call s:HL('gitcommitBranch', s:orange, '', '') +call s:HL('gitcommitUnmerged', s:green, '', '') +call s:HL('gitcommitUntrackedFile', s:cyan, '', '') +call s:HL('gitcommitSelectedFile', s:green, '', '') +call s:HL('gitcommitDiscardedFile', s:red, '', '') +call s:HL('gitcommitUnmergedFile', s:yellow, '', '') +call s:HL('gitcommitSelectedType', s:green, '', '') +call s:HL('gitcommitDiscardedType', s:red, '', '') +hi link gitcommitNoBranch gitcommitBranch +hi link gitcommitUntracked gitcommitComment +hi link gitcommitDiscarded gitcommitComment +hi link gitcommitSelected gitcommitComment +hi link gitcommitDiscardedArrow gitcommitDiscardedFile +hi link gitcommitSelectedArrow gitcommitSelectedFile +hi link gitcommitUnmergedArrow gitcommitUnmergedFile + +" HTML +call s:HL('htmlArg', s:yellow, '', '') +call s:HL('htmlEndTag', s:purple, '', '') +call s:HL('htmlTag', s:purple, '', '') +call s:HL('htmlTagName', s:blue, '', '') +call s:HL('htmlTitle', s:gray5, '', '') + +" Javascript +call s:HL('javaScriptBraces', s:gray5, '', '') +call s:HL('javaScriptIdentifier', s:blue, '', '') +call s:HL('javaScriptFunction', s:blue, '', '') +call s:HL('javaScriptNumber', s:red, '', '') +call s:HL('javaScriptReserved', s:blue, '', '') +call s:HL('javaScriptRequire', s:cyan, '', '') +call s:HL('javaScriptNull', s:red, '', '') + +" Ruby +call s:HL('rubyBlockParameterList', s:purple, '', '') +call s:HL('rubyInterpolationDelimiter', s:purple, '', '') +call s:HL('rubyStringDelimiter', s:green, '', '') +call s:HL('rubyRegexpSpecial', s:cyan, '', '') + +" Vim-Fugitive +call s:HL('diffAdded', s:green, '', '') +call s:HL('diffRemoved', s:red, '', '') + +" Vim-Gittgutter +hi link GitGutterAdd SignifySignAdd +hi link GitGutterChange SignifySignChange +hi link GitGutterDelete SignifySignDelete +call s:HL('GitGutterChangeDelete', s:orange, '', '') + +" Vim-Signify +call s:HL('SignifySignAdd', s:green, '', '') +call s:HL('SignifySignChange', s:yellow, '', '') +call s:HL('SignifySignDelete', s:red, '', '') + +if has("nvim") && exists("&termguicolors") && &termguicolors + let g:terminal_color_0 = "#1b202a" + let g:terminal_color_8 = "#232936" + let g:terminal_color_1 = "#b15e7c" + let g:terminal_color_9 = "#b3785d" + let g:terminal_color_2 = "#709d6c" + let g:terminal_color_10 = "#709d6c" + let g:terminal_color_3 = "#b5a262" + let g:terminal_color_11 = "#d5b875" + let g:terminal_color_4 = "#608cc3" + let g:terminal_color_12 = "#608cc3" + let g:terminal_color_5 = "#8f72bf" + let g:terminal_color_13 = "#c47ebd" + let g:terminal_color_6 = "#56adb7" + let g:terminal_color_14 = "#51617d" + let g:terminal_color_7 = "#323c4d" + let g:terminal_color_15 = "#9aa7bd" +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/deus.vim b/nvim/plugged/awesome-vim-colorschemes/colors/deus.vim new file mode 100644 index 00000000..6bb1f42c --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/deus.vim @@ -0,0 +1,1240 @@ +" ----------------------------------------------------------------------------- +" File: deus.vim +" Description: a retro-modern colorscheme in Vim +" Author: ajmwagar +" Source: https://github.com/ajmwagar/vim-deus +" Last Modified: 21 June 2019 +" ----------------------------------------------------------------------------- + +" Setup Colors/Palette {{{ +" Initialisation: {{{ + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name='deus' + +if !has('gui_running') && &t_Co != 256 + finish +endif + +" }}} +" Global Settings: {{{ + +if !exists('g:deus_bold') + let g:deus_bold=1 +endif +if !exists('g:deus_italic') + if has('gui_running') || $TERM_ITALICS == 'true' + let g:deus_italic=1 + else + let g:deus_italic=0 + endif +endif +if !exists('g:deus_undercurl') + let g:deus_undercurl=1 +endif +if !exists('g:deus_underline') + let g:deus_underline=1 +endif +if !exists('g:deus_inverse') + let g:deus_inverse=1 +endif + +if !exists('g:deus_guisp_fallback') || index(['fg', 'bg'], g:deus_guisp_fallback) == -1 + let g:deus_guisp_fallback='NONE' +endif + +if !exists('g:deus_improved_strings') + let g:deus_improved_strings=0 +endif + +if !exists('g:deus_improved_warnings') + let g:deus_improved_warnings=0 +endif + +if !exists('g:deus_termcolors') + let g:deus_termcolors=256 +endif + +if !exists('g:deus_invert_indent_guides') + let g:deus_invert_indent_guides=0 +endif + +if !exists('g:deus_contrast_dark') + let g:deus_contrast_dark='medium' +endif + +if !exists('g:deus_contrast_light') + let g:deus_contrast_light='medium' +endif + +let s:is_dark=(&background == 'dark') + +" }}} +" Palette: {{{ + +" setup palette dictionary +let s:ds = {} + + +" fill it with absolute colors +let s:ds.dark0 = ['#2C323B', 235] " 40-40-40 Background +let s:ds.dark1 = ['#3c3836', 237] " 60-56-54 +let s:ds.dark2 = ['#242a32', 239] " 80-73-69 +let s:ds.dark3 = ['#665c54', 241] " 102-92-84 +let s:ds.dark4 = ['#7c6f64', 243] " 124-111-100 +let s:ds.dark4_256 = ['#7c6f64', 243] " 124-111-100 + +let s:ds.gray_245 = ['#928374', 245] " 146-131-116 +let s:ds.gray_244 = ['#928374', 244] " 146-131-116 + +let s:ds.light0 = ['#d2d2d2', 229] " 253-244-193 +let s:ds.light1 = ['#ebdbb2', 223] " 235-219-178 +let s:ds.light2 = ['#d5c4a1', 250] " 213-196-161 +let s:ds.light3 = ['#bdae93', 248] " 189-174-147 +let s:ds.light4 = ['#a89984', 246] " 168-153-132 +let s:ds.light4_256 = ['#a89984', 246] " 168-153-132 + +let s:ds.bright_red = ['#fb4934', 167] " 251-73-52 +let s:ds.bright_green = ['#98C379', 142] " 184-187-38 +let s:ds.bright_yellow = ['#fabd2f', 214] " 250-189-47 +let s:ds.bright_blue = ['#83a598', 109] " 131-165-152 +let s:ds.bright_purple = ['#C678DD', 175] " 211-134-155 +let s:ds.bright_aqua = ['#8ec07c', 108] " 142-192-124 +let s:ds.bright_orange = ['#fe8019', 208] " 254-128-25 + +" }}} +" Setup Emphasis: {{{ + +let s:bold = 'bold,' +if g:deus_bold == 0 + let s:bold = '' +endif + +let s:italic = 'italic,' +if g:deus_italic == 0 + let s:italic = '' +endif + +let s:underline = 'underline,' +if g:deus_underline == 0 + let s:underline = '' +endif + +let s:undercurl = 'undercurl,' +if g:deus_undercurl == 0 + let s:undercurl = '' +endif + +let s:inverse = 'inverse,' +if g:deus_inverse == 0 + let s:inverse = '' +endif + +" }}} +" Setup Colors: {{{ + +let s:vim_bg = ['bg', 'bg'] +let s:vim_fg = ['fg', 'fg'] +let s:none = ['NONE', 'NONE'] + +" determine relative colors + let s:bg0 = s:ds.dark0 + let s:bg1 = s:ds.dark1 + let s:bg2 = s:ds.dark2 + let s:bg3 = s:ds.dark3 + let s:bg4 = s:ds.dark4 + + let s:gray = s:ds.gray_245 + + let s:fg0 = s:ds.light0 + let s:fg1 = s:ds.light1 + let s:fg2 = s:ds.light2 + let s:fg3 = s:ds.light3 + let s:fg4 = s:ds.light4 + + let s:fg4_256 = s:ds.light4_256 + + let s:red = s:ds.bright_red + let s:green = s:ds.bright_green + let s:yellow = s:ds.bright_yellow + let s:blue = s:ds.bright_blue + let s:purple = s:ds.bright_purple + let s:aqua = s:ds.bright_aqua + let s:orange = s:ds.bright_orange + +" reset to 16 colors fallback +"if g:deus_termcolors == 16 + "let s:bg0[1] = NONE + "let s:fg4[1] = 7 + "let s:gray[1] = 8 + "let s:red[1] = 9 + "let s:green[1] = 10 + "let s:yellow[1] = 11 + "let s:blue[1] = 12 + "let s:purple[1] = 5 + "let s:aqua[1] = 14 + "let s:fg1[1] = 15 +"endif + +" save current relative colors back to palette dictionary +let s:ds.bg0 = s:bg0 +let s:ds.bg1 = s:bg1 +let s:ds.bg2 = s:bg2 +let s:ds.bg3 = s:bg3 +let s:ds.bg4 = s:bg4 + +let s:ds.gray = s:gray + +let s:ds.fg0 = s:fg0 +let s:ds.fg1 = s:fg1 +let s:ds.fg2 = s:fg2 +let s:ds.fg3 = s:fg3 +let s:ds.fg4 = s:fg4 + +let s:ds.fg4_256 = s:fg4_256 + +let s:ds.red = s:red +let s:ds.green = s:green +let s:ds.yellow = s:yellow +let s:ds.blue = s:blue +let s:ds.purple = s:purple +let s:ds.aqua = s:aqua +let s:ds.orange = s:orange + +" }}} +" Overload Setting: {{{ + +let s:hls_cursor = s:orange +if exists('g:deus_hls_cursor') + let s:hls_cursor = get(s:ds, g:deus_hls_cursor) +endif + +let s:number_column = s:bg4 +let s:sign_column = s:bg2 + +if exists('g:gitgutter_override_sign_column_highlight') && + \ g:gitgutter_override_sign_column_highlight == 1 + let s:sign_column = s:number_column +else + let g:gitgutter_override_sign_column_highlight = 0 + + if exists('g:deus_sign_column') + let s:sign_column = get(s:ds, g:deus_sign_column) + endif +endif + +let s:color_column = s:bg1 +if exists('g:deus_color_column') + let s:color_column = get(s:ds, g:deus_color_column) +endif + +let s:vert_split = s:bg2 +if exists('g:deus_vert_split') + let s:vert_split = get(s:ds, g:deus_vert_split) +endif + +let s:invert_signs = '' +if exists('g:deus_invert_signs') + if g:deus_invert_signs == 1 + let s:invert_signs = s:inverse + endif +endif + +let s:invert_selection = s:inverse +if exists('g:deus_invert_selection') + if g:deus_invert_selection == 0 + let s:invert_selection = '' + endif +endif + +let s:invert_tabline = '' +if exists('g:deus_invert_tabline') + if g:deus_invert_tabline == 1 + let s:invert_tabline = s:inverse + endif +endif + +let s:italicize_comments = s:italic +if exists('g:deus_italicize_comments') + if g:deus_italicize_comments == 0 + let s:italicize_comments = '' + endif +endif + +let s:italicize_strings = '' +if exists('g:deus_italicize_strings') + if g:deus_italicize_strings == 1 + let s:italicize_strings = s:italic + endif +endif + +" }}} +" Highlighting Function: {{{ + +function! s:HL(group, fg, ...) + " Arguments: group, guifg, guibg, gui, guisp + + " foreground + let fg = a:fg + + " background + if a:0 >= 1 + let bg = a:1 + else + let bg = s:none + endif + + " emphasis + if a:0 >= 2 && strlen(a:2) + let emstr = a:2 + else + let emstr = 'NONE,' + endif + + " special fallback + if a:0 >= 3 + if g:deus_guisp_fallback != 'NONE' + let fg = a:3 + endif + + " bg fallback mode should invert higlighting + if g:deus_guisp_fallback == 'bg' + let emstr .= 'inverse,' + endif + endif + + let histring = [ 'hi', a:group, + \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], + \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], + \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] + \ ] + + " special + if a:0 >= 3 + call add(histring, 'guisp=' . a:3[0]) + endif + + execute join(histring, ' ') +endfunction + +" }}} +" deus Hi Groups: {{{ + +" memoize common hi groups +call s:HL('deusFg0', s:fg0) +call s:HL('deusFg1', s:fg1) +call s:HL('deusFg2', s:fg2) +call s:HL('deusFg3', s:fg3) +call s:HL('deusFg4', s:fg4) +call s:HL('deusGray', s:gray) +call s:HL('deusBg0', s:bg0) +call s:HL('deusBg1', s:bg1) +call s:HL('deusBg2', s:bg2) +call s:HL('deusBg3', s:bg3) +call s:HL('deusBg4', s:bg4) + +call s:HL('deusRed', s:red) +call s:HL('deusRedBold', s:red, s:none, s:bold) +call s:HL('deusGreen', s:green) +call s:HL('deusGreenBold', s:green, s:none, s:bold) +call s:HL('deusYellow', s:yellow) +call s:HL('deusYellowBold', s:yellow, s:none, s:bold) +call s:HL('deusBlue', s:blue) +call s:HL('deusBlueBold', s:blue, s:none, s:bold) +call s:HL('deusPurple', s:purple) +call s:HL('deusPurpleBold', s:purple, s:none, s:bold) +call s:HL('deusAqua', s:aqua) +call s:HL('deusAquaBold', s:aqua, s:none, s:bold) +call s:HL('deusOrange', s:orange) +call s:HL('deusOrangeBold', s:orange, s:none, s:bold) + +call s:HL('deusRedSign', s:red, s:sign_column, s:invert_signs) +call s:HL('deusGreenSign', s:green, s:sign_column, s:invert_signs) +call s:HL('deusYellowSign', s:yellow, s:sign_column, s:invert_signs) +call s:HL('deusBlueSign', s:blue, s:sign_column, s:invert_signs) +call s:HL('deusPurpleSign', s:purple, s:sign_column, s:invert_signs) +call s:HL('deusAquaSign', s:aqua, s:sign_column, s:invert_signs) + +" }}} +" }}} +" Vanilla colorscheme {{{ +" General UI: {{{ + +" Normal text +call s:HL('Normal', s:fg1, s:bg0) + +" Correct background (see issue #7): +" --- Problem with changing between dark and light on 256 color terminal +" --- https://github.com/morhetz/deus/issues/7 +if s:is_dark + set background=dark +else + set background=light +endif + +if version >= 700 + " Screen line that the cursor is + call s:HL('CursorLine', s:none, s:bg2) + " Screen column that the cursor is + hi! link CursorColumn CursorLine + + " Tab pages line filler + call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline) + " Active tab page label + call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline) + + " Not active tab page label + hi! link TabLine TabLineFill + + " Match paired bracket under the cursor + call s:HL('MatchParen', s:none, s:bg3, s:bold) +endif + +if version >= 703 + " Highlighted screen columns + call s:HL('ColorColumn', s:none, s:color_column) + + " Concealed element: \lambda → λ + call s:HL('Conceal', s:blue, s:none) + + " Line number of CursorLine + call s:HL('CursorLineNr', s:fg1, s:bg2) +endif + +" Weird black color breaks +hi! link NonText deusGreen +hi! link Ignore deusPurple +hi! link SpecialKey deusOrange + +call s:HL('Visual', s:none, s:bg3, s:invert_selection) +hi! link VisualNOS Visual + +call s:HL('Search', s:bg0, s:yellow) +call s:HL('IncSearch', s:bg0, s:hls_cursor) + +call s:HL('Underlined', s:blue, s:none, s:underline) + +call s:HL('StatusLine', s:bg2, s:fg1, s:bold . s:inverse) +call s:HL('StatusLineNC', s:bg2, s:fg1, s:bold . s:inverse) + +" The column separating vertically split windows +call s:HL('VertSplit', s:fg4, s:vert_split) + +" Current match in wildmenu completion +call s:HL('WildMenu', s:blue, s:bg2, s:bold) + +" Directory names, special names in listing +hi! link Directory deusGreenBold + +" Titles for output from :set all, :autocmd, etc. +hi! link Title deusGreenBold + +" Error messages on the command line +call s:HL('ErrorMsg', s:red, s:bg1, s:bold) +" More prompt: -- More -- +hi! link MoreMsg deusYellowBold +" Current mode message: -- INSERT -- +hi! link ModeMsg deusYellowBold +" 'Press enter' prompt and yes/no questions +hi! link Question deusOrangeBold +" Warning messages +hi! link WarningMsg deusRedBold + +" }}} +" Gutter: {{{ + +" Line number for :number and :# commands +call s:HL('LineNr', s:number_column) + +" Column where signs are displayed +call s:HL('SignColumn', s:none, s:sign_column) + +" Line used for closed folds +call s:HL('Folded', s:gray, s:bg2, s:italic) +" Column where folds are displayed +call s:HL('FoldColumn', s:gray, s:bg2) + +" }}} +" Cursor: {{{ + +" Character under cursor +"call s:HL('Cursor', s:none, s:none, s:inverse) +" Visual mode cursor, selection +hi! link vCursor Cursor +" Input moder cursor +hi! link iCursor Cursor +" Language mapping cursor +hi! link lCursor Cursor + +" }}} +" Syntax Highlighting: {{{ + +if g:deus_improved_strings == 0 + hi! link Special deusOrange +else + call s:HL('Special', s:bg1, s:orange, s:italic) +endif + +call s:HL('Comment', s:gray, s:none, s:italicize_comments) +call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) +"call s:HL("Error", { "fg": s:red, "bg": s:vim_bg }) " any erroneous construct + +" Generic statement +hi! link Statement deusRed +" if, then, else, endif, swicth, etc. +hi! link Conditional deusRed +" for, do, while, etc. +hi! link Repeat deusRed +" case, default, etc. +hi! link Label deusRed +" try, catch, throw +hi! link Exception deusRed +" sizeof, "+", "*", etc. +hi! link Operator Normal +" Any other keyword +hi! link Keyword deusRed + +" Variable name +hi! link Identifier deusBlue +" Function name +hi! link Function deusGreenBold + +" Generic preprocessor +hi! link PreProc deusAqua +" Preprocessor #include +hi! link Include deusAqua +" Preprocessor #define +hi! link Define deusAqua +" Same as Define +hi! link Macro deusAqua +" Preprocessor #if, #else, #endif, etc. +hi! link PreCondit deusAqua + +" Generic constant +hi! link Constant deusPurple +" Character constant: 'c', '/n' +hi! link Character deusPurple +" String constant: "this is a string" +if g:deus_improved_strings == 0 + call s:HL('String', s:green, s:none, s:italicize_strings) +else + call s:HL('String', s:bg1, s:fg1, s:italicize_strings) +endif +" Boolean constant: TRUE, false +hi! link Boolean deusPurple +" Number constant: 234, 0xff +hi! link Number deusPurple +" Floating point constant: 2.3e10 +hi! link Float deusPurple + +" Generic type +hi! link Type deusYellow +" static, register, volatile, etc +hi! link StorageClass deusOrange +" struct, union, enum, etc. +hi! link Structure deusAqua +" typedef +hi! link Typedef deusYellow + +" }}} +" Completion Menu: {{{ + +if version >= 700 + " Popup menu: normal item + call s:HL('Pmenu', s:fg1, s:bg2) + " Popup menu: selected item + call s:HL('PmenuSel', s:bg2, s:blue, s:bold) + " Popup menu: scrollbar + call s:HL('PmenuSbar', s:none, s:bg2) + " Popup menu: scrollbar thumb + call s:HL('PmenuThumb', s:none, s:bg4) +endif + +" }}} +" Diffs: {{{ + +call s:HL('DiffDelete', s:red, s:bg0, s:inverse) +call s:HL('DiffAdd', s:green, s:bg0, s:inverse) +"call s:HL('DiffChange', s:bg0, s:blue) +"call s:HL('DiffText', s:bg0, s:yellow) + +" Alternative setting +call s:HL('DiffChange', s:aqua, s:bg0, s:inverse) +call s:HL('DiffText', s:yellow, s:bg0, s:inverse) + +" }}} +" Spelling: {{{ + +if has("spell") + " Not capitalised word, or compile warnings + if g:deus_improved_warnings == 0 + call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) + else + call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) + endif + " Not recognized word + call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) + " Wrong spelling for selected region + call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) + " Rare word + call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) +endif + +" }}} +" }}} +" Plugin specific {{{ +" Cocnvim: {{{ +" Symbols +highlight link CocErrorSign deusRedSign +highlight link CocWarningSign deusYellowSign +highlight link CocInfoSign deusAquaSign +highlight link CocHintSign deusGreenSign + +" Text highlights +call s:HL('CocHighlightText', s:fg1, s:bg2) +"}}} +" EasyMotion: {{{ + +hi! link EasyMotionTarget Search +hi! link EasyMotionShade Comment + +" }}} +" Sneak: {{{ + +hi! link SneakPluginTarget Search +hi! link SneakStreakTarget Search +call s:HL('SneakStreakMask', s:yellow, s:yellow) +hi! link SneakStreakStatusLine Search + +" }}} +" Indent Guides: {{{ + +if !exists('g:indent_guides_auto_colors') + let g:indent_guides_auto_colors = 0 +endif + +if g:indent_guides_auto_colors == 0 + if g:deus_invert_indent_guides == 0 + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) + else + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) + endif +endif + +" }}} +" IndentLine: {{{ + +if !exists('g:indentLine_color_term') + let g:indentLine_color_term = s:bg2[1] +endif +if !exists('g:indentLine_color_gui') + let g:indentLine_color_gui = s:bg2[0] +endif + +" }}} +" Rainbow Parentheses: {{{ + +if !exists('g:rbpt_colorpairs') + let g:rbpt_colorpairs = + \ [ + \ ['blue', '#458588'], ['magenta', '#b16286'], + \ ['red', '#cc241d'], ['166', '#d65d0e'] + \ ] +endif + +let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] +let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] + +if !exists('g:rainbow_conf') + let g:rainbow_conf = {} +endif +if !has_key(g:rainbow_conf, 'guifgs') + let g:rainbow_conf['guifgs'] = g:rainbow_guifgs +endif +if !has_key(g:rainbow_conf, 'ctermfgs') + let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs +endif + +let g:niji_dark_colours = g:rbpt_colorpairs +let g:niji_light_colours = g:rbpt_colorpairs + +"}}} +" GitGutter: {{{ + +hi! link GitGutterAdd deusGreenSign +hi! link GitGutterChange deusAquaSign +hi! link GitGutterDelete deusRedSign +hi! link GitGutterChangeDelete deusAquaSign + +" }}} +" GitCommit: "{{{ + +hi! link gitcommitSelectedFile deusGreen +hi! link gitcommitDiscardedFile deusRed + +" }}} +" Signify: {{{ + +hi! link SignifySignAdd deusGreenSign +hi! link SignifySignChange deusAquaSign +hi! link SignifySignDelete deusRedSign +" hi! SignifySignAdd guibg=#242a32 guifg=#99c379 +" hi! SignifySignDelete guibg=#242a32 guifg=#fb4733 +" hi! SignifySignChange guibg=#242a32 guifg=#8ec07b + +" }}} +" Syntastic: {{{ + +call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) +call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) + +hi! link SyntasticErrorSign deusRedSign +hi! link SyntasticWarningSign deusYellowSign +hi! link AleWarningSign deusYellowSign +hi! link AleErrorSign deusRedSign + +" }}} +" Signature: {{{ +hi! link SignatureMarkText deusBlueSign +hi! link SignatureMarkerText deusPurpleSign + +" }}} +" ShowMarks: {{{ + +hi! link ShowMarksHLl deusBlueSign +hi! link ShowMarksHLu deusBlueSign +hi! link ShowMarksHLo deusBlueSign +hi! link ShowMarksHLm deusBlueSign + +" }}} +" CtrlP: {{{ + +hi! link CtrlPMatch deusYellow +hi! link CtrlPNoEntries deusRed +hi! link CtrlPPrtBase deusBg2 +hi! link CtrlPPrtCursor deusBlue +hi! link CtrlPLinePre deusBg2 + +call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold) +call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold) +call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold) + +" }}} +" FZF: {{{ +let g:fzf_colors = + \ { + \ 'hl': ['fg', 'Comment'], + \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], + \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], + \ 'hl+': ['fg', 'Statement'], + \ 'info': ['fg', 'PreProc'], + \ 'border': ['fg', 'Ignore'], + \ 'prompt': ['fg', 'Conditional'], + \ 'pointer': ['fg', 'Exception'], + \ 'marker': ['fg', 'Keyword'], + \ 'spinner': ['fg', 'Label'], + \ 'header': ['fg', 'Comment'] } + +call s:HL('NormalFloat', s:fg1, s:bg2) +" +" }}} +" Startify: {{{ + +hi! link StartifyBracket deusFg3 +hi! link StartifyFile deusFg0 +hi! link StartifyNumber deusBlue +hi! link StartifyPath deusGray +hi! link StartifySlash deusGray +hi! link StartifySection deusYellow +hi! link StartifySpecial deusBg2 +hi! link StartifyHeader deusOrange +hi! link StartifyFooter deusBg2 + +" }}} +" Vimshell: {{{ + +let g:vimshell_escape_colors = [ + \ s:bg4[0], s:red[0], s:green[0], s:yellow[0], + \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0], + \ s:bg0[0], s:red[0], s:green[0], s:orange[0], + \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0] + \ ] + +" }}} +" BufTabLine: {{{ + +call s:HL('BufTabLineCurrent', s:bg0, s:green) +call s:HL('BufTabLineActive', s:fg4, s:bg2) +call s:HL('BufTabLineHidden', s:fg1, s:bg2) +call s:HL('BufTabLineFill', s:bg0, s:bg2) + +hi StatusLine ctermbg=10 ctermfg=10 cterm=bold guibg=NONE guifg=NONE gui=NONE +hi StatusLineNC ctermbg=10 ctermfg=10 cterm=NONE guibg=NONE guifg=NONE gui=NONE + +" }}} +" Netrw: {{{ + +hi! link netrwDir deusGreen +hi! link netrwClassify deusBlue +hi! link netrwTreeBar deusRed +hi! link netrwPlain deusFg1 + +" }}} +" Language syntax {{{ +" Diff: {{{ + +hi! link diffAdded deusGreen +hi! link diffRemoved deusRed +hi! link diffChanged deusAqua + +hi! link diffFile deusOrange +hi! link diffNewFile deusYellow + +hi! link diffLine deusBlue + +" }}} +" Html: {{{ + +hi! link htmlTag deusBlue +hi! link htmlEndTag deusBlue + +hi! link htmlTagName deusAquaBold +hi! link htmlArg deusAqua + +hi! link htmlScriptTag deusPurple +hi! link htmlTagN deusFg1 +hi! link htmlSpecialTagName deusAquaBold + +call s:HL('htmlLink', s:fg4, s:none, s:underline) + +hi! link htmlSpecialChar deusOrange + +call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) +call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) +call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) + +call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) +call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) +call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) + +" }}} +" Xml: {{{ + +hi! link xmlTag deusBlue +hi! link xmlEndTag deusBlue +hi! link xmlTagName deusBlue +hi! link xmlEqual deusBlue +hi! link docbkKeyword deusAquaBold + +hi! link xmlDocTypeDecl deusGray +hi! link xmlDocTypeKeyword deusPurple +hi! link xmlCdataStart deusGray +hi! link xmlCdataCdata deusPurple +hi! link dtdFunction deusGray +hi! link dtdTagName deusPurple + +hi! link xmlAttrib deusAqua +hi! link xmlProcessingDelim deusGray +hi! link dtdParamEntityPunct deusGray +hi! link dtdParamEntityDPunct deusGray +hi! link xmlAttribPunct deusGray + +hi! link xmlEntity deusOrange +hi! link xmlEntityPunct deusOrange +" }}} +" Vim: {{{ + +call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) + +hi! link vimNotation deusOrange +hi! link vimBracket deusOrange +hi! link vimMapModKey deusOrange +hi! link vimFuncSID deusFg3 +hi! link vimSetSep deusFg3 +hi! link vimSep deusFg3 +hi! link vimContinue deusFg3 + +" }}} +" Clojure: {{{ + +hi! link clojureKeyword deusBlue +hi! link clojureCond deusOrange +hi! link clojureSpecial deusOrange +hi! link clojureDefine deusOrange + +hi! link clojureFunc deusYellow +hi! link clojureRepeat deusYellow +hi! link clojureCharacter deusAqua +hi! link clojureStringEscape deusAqua +hi! link clojureException deusRed + +hi! link clojureRegexp deusAqua +hi! link clojureRegexpEscape deusAqua +call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) +hi! link clojureRegexpMod clojureRegexpCharClass +hi! link clojureRegexpQuantifier clojureRegexpCharClass + +hi! link clojureParen deusFg3 +hi! link clojureAnonArg deusYellow +hi! link clojureVariable deusBlue +hi! link clojureMacro deusOrange + +hi! link clojureMeta deusYellow +hi! link clojureDeref deusYellow +hi! link clojureQuote deusYellow +hi! link clojureUnquote deusYellow + +" }}} +" C: {{{ + +hi! link cOperator deusPurple +hi! link cStructure deusOrange + +" }}} +" C++ {{{ + +hi! link NamespaceTag deusPurpleBold +hi! link NamespaceAliasTag deusPurpleBold +hi! link ClassTag duesOrange +hi! link StructureTag deusOrange +hi! link EnumTag deusAqua +hi! link EnumValueTag deusAqua +hi! link UnionTag deusPurple +hi! link FieldTag deusPurple +hi! link LocalVariableTag deusOrange +hi! link FunctionTag deusGreen +hi! link MethodTag deusGreen +hi! link FunctionParameterTag deusPurpleBold +hi! link TemplateTypeParameterTag deusPurple +hi! link TemplateNonTypeParameterTag deusRedBold +hi! link TemplateTemplateParameterTag deusRed +hi! link MacroDefinitionTag deusBlue +hi! link MacroInstantiationTag deusBlue +hi! link TypedefTag deusPurple +hi! link UsingDirectiveTag deusOrange +hi! link UsingDeclarationTag deusOrange + + +" }}} +" Python: {{{ + +hi! link pythonBuiltin deusOrange +hi! link pythonBuiltinObj deusOrange +hi! link pythonBuiltinFunc deusOrange +hi! link pythonFunction deusAqua +hi! link pythonDecorator deusRed +hi! link pythonInclude deusBlue +hi! link pythonImport deusBlue +hi! link pythonRun deusBlue +hi! link pythonCoding deusBlue +hi! link pythonOperator deusRed +hi! link pythonExceptions deusPurple +hi! link pythonBoolean deusPurple +hi! link pythonDot deusFg3 + +" }}} +" CSS: {{{ + +hi! link cssBraces deusBlue +hi! link cssFunctionName deusYellow +hi! link cssIdentifier deusOrange +hi! link cssClassName deusGreen +hi! link cssColor deusBlue +hi! link cssSelectorOp deusBlue +hi! link cssSelectorOp2 deusBlue +hi! link cssImportant deusGreen +hi! link cssVendor deusFg1 + +hi! link cssTextProp deusAqua +hi! link cssAnimationProp deusAqua +hi! link cssUIProp deusYellow +hi! link cssTransformProp deusAqua +hi! link cssTransitionProp deusAqua +hi! link cssPrintProp deusAqua +hi! link cssPositioningProp deusYellow +hi! link cssBoxProp deusAqua +hi! link cssFontDescriptorProp deusAqua +hi! link cssFlexibleBoxProp deusAqua +hi! link cssBorderOutlineProp deusAqua +hi! link cssBackgroundProp deusAqua +hi! link cssMarginProp deusAqua +hi! link cssListProp deusAqua +hi! link cssTableProp deusAqua +hi! link cssFontProp deusAqua +hi! link cssPaddingProp deusAqua +hi! link cssDimensionProp deusAqua +hi! link cssRenderProp deusAqua +hi! link cssColorProp deusAqua +hi! link cssGeneratedContentProp deusAqua + +" }}} +" JavaScript: {{{ + +hi! link javaScriptBraces deusFg1 +hi! link javaScriptFunction deusAqua +hi! link javaScriptIdentifier deusRed +hi! link javaScriptMember deusBlue +hi! link javaScriptNumber deusPurple +hi! link javaScriptNull deusPurple +hi! link javaScriptParens deusFg3 + +" }}} +" YAJS: {{{ + +hi! link javascriptImport deusAqua +hi! link javascriptExport deusAqua +hi! link javascriptClassKeyword deusAqua +hi! link javascriptClassExtends deusAqua +hi! link javascriptDefault deusAqua + +hi! link javascriptClassName deusYellow +hi! link javascriptClassSuperName deusYellow +hi! link javascriptGlobal deusYellow + +hi! link javascriptEndColons deusFg1 +hi! link javascriptFuncArg deusFg1 +hi! link javascriptGlobalMethod deusFg1 +hi! link javascriptNodeGlobal deusFg1 + +" hi! link javascriptVariable deusOrange +hi! link javascriptVariable deusPurple +" hi! link javascriptIdentifier deusOrange +" hi! link javascriptClassSuper deusOrange +hi! link javascriptIdentifier deusOrange +hi! link javascriptClassSuper deusOrange + +" hi! link javascriptFuncKeyword deusOrange +" hi! link javascriptAsyncFunc deusOrange +hi! link javascriptFuncName deusFg1 +hi! link javascriptFuncKeyword deusAqua +hi! link javascriptAwaitFuncKeyword deusRed +hi! link javascriptAsyncFuncKeyword deusBlue +hi! link javascriptClassStatic deusOrange + +hi! link javascriptOperator deusRed +hi! link javascriptForOperator deusRed +hi! link javascriptYield deusRed +hi! link javascriptExceptions deusRed +hi! link javascriptMessage deusRed + +hi! link javascriptTemplateSB deusAqua +hi! link javascriptTemplateSubstitution deusFg1 + +" hi! link javascriptLabel deusBlue +" hi! link javascriptObjectLabel deusBlue +" hi! link javascriptPropertyName deusBlue +hi! link javascriptLabel deusFg1 +hi! link javascriptObjectLabel deusFg1 +hi! link javascriptPropertyName deusFg1 + +hi! link javascriptLogicSymbols deusFg1 +hi! link javascriptArrowFunc deusYellow + +hi! link javascriptDocParamName deusFg4 +hi! link javascriptDocTags deusFg4 +hi! link javascriptDocNotation deusFg4 +hi! link javascriptDocParamType deusFg4 +hi! link javascriptDocNamedParamType deusFg4 + +" }}} +" jsx-pretty: {{{ +hi! link jsxTagName deusBlue +hi! link jsxComponentName jsxTagName +hi! link jsxOpenPunct deusGray +hi! link jsxBraces jsxTagName +hi! link jsxCloseString jsxOpenPunct +hi! link jsxEqual jsxTagName +hi! link jsxString javascriptString +hi! link jsxAttrib jsxString +" }}} +" CoffeeScript: {{{ + +hi! link coffeeExtendedOp deusFg3 +hi! link coffeeSpecialOp deusFg3 +hi! link coffeeCurly deusOrange +hi! link coffeeParen deusFg3 +hi! link coffeeBracket deusOrange + +" }}} +" Ruby: {{{ + +hi! link rubyStringDelimiter deusGreen +hi! link rubyInterpolationDelimiter deusAqua + +" }}} +" ObjectiveC: {{{ + +hi! link objcTypeModifier deusRed +hi! link objcDirective deusBlue + +" }}} +" Go: {{{ + +hi! link goDirective deusAqua +hi! link goConstants deusPurple +hi! link goDeclaration deusRed +hi! link goDeclType deusBlue +hi! link goBuiltins deusOrange + +" }}} +" Lua: {{{ + +hi! link luaIn deusRed +hi! link luaFunction deusAqua +hi! link luaTable deusOrange + +" }}} +" MoonScript: {{{ + +hi! link moonSpecialOp deusFg3 +hi! link moonExtendedOp deusFg3 +hi! link moonFunction deusFg3 +hi! link moonObject deusYellow + +" }}} +" Java: {{{ + +hi! link javaAnnotation deusBlue +hi! link javaDocTags deusAqua +hi! link javaCommentTitle vimCommentTitle +hi! link javaParen deusFg3 +hi! link javaParen1 deusFg3 +hi! link javaParen2 deusFg3 +hi! link javaParen3 deusFg3 +hi! link javaParen4 deusFg3 +hi! link javaParen5 deusFg3 +hi! link javaOperator deusOrange + +hi! link javaVarArg deusGreen + +" }}} +" Elixir: {{{ + +hi! link elixirDocString Comment + +hi! link elixirStringDelimiter deusGreen +hi! link elixirInterpolationDelimiter deusAqua + +" }}} +" Scala: {{{ + +" NB: scala vim syntax file is kinda horrible +hi! link scalaNameDefinition deusFg1 +hi! link scalaCaseFollowing deusFg1 +hi! link scalaCapitalWord deusFg1 +hi! link scalaTypeExtension deusFg1 + +hi! link scalaKeyword deusRed +hi! link scalaKeywordModifier deusRed + +hi! link scalaSpecial deusAqua +hi! link scalaOperator deusFg1 + +hi! link scalaTypeDeclaration deusYellow +hi! link scalaTypeTypePostDeclaration deusYellow + +hi! link scalaInstanceDeclaration deusFg1 +hi! link scalaInterpolation deusAqua + +" }}} +" Markdown: {{{ + +call s:HL('markdownItalic', s:fg3, s:none, s:italic) + +hi! link markdownH1 deusGreenBold +hi! link markdownH2 deusGreenBold +hi! link markdownH3 deusYellowBold +hi! link markdownH4 deusYellowBold +hi! link markdownH5 deusYellow +hi! link markdownH6 deusYellow + +hi! link markdownCode deusAqua +hi! link markdownCodeBlock deusAqua +hi! link markdownCodeDelimiter deusAqua + +hi! link markdownBlockquote deusGray +hi! link markdownListMarker deusPurple +hi! link markdownOrderedListMarker deusGray +hi! link markdownRule deusGray +hi! link markdownHeadingRule deusGray + +hi! link markdownUrlDelimiter deusFg3 +hi! link markdownLinkDelimiter deusFg3 +hi! link markdownLinkTextDelimiter deusFg3 + +hi! link markdownHeadingDelimiter deusOrange +hi! link markdownUrl deusPurple +hi! link markdownUrlTitleDelimiter deusGreen + +call s:HL('markdownLinkText', s:gray, s:none, s:underline) +hi! link markdownIdDeclaration markdownLinkText + +" }}} +" Haskell: {{{ + +" hi! link haskellType deusYellow +" hi! link haskellOperators deusOrange +" hi! link haskellConditional deusAqua +" hi! link haskellLet deusOrange +" +hi! link haskellType deusFg1 +hi! link haskellIdentifier deusFg1 +hi! link haskellSeparator deusFg1 +hi! link haskellDelimiter deusFg4 +hi! link haskellOperators deusBlue +" +hi! link haskellBacktick deusOrange +hi! link haskellStatement deusOrange +hi! link haskellConditional deusOrange + +hi! link haskellLet deusAqua +hi! link haskellDefault deusAqua +hi! link haskellWhere deusAqua +hi! link haskellBottom deusAqua +hi! link haskellBlockKeywords deusAqua +hi! link haskellImportKeywords deusAqua +hi! link haskellDeclKeyword deusAqua +hi! link haskellDeriving deusAqua +hi! link haskellAssocType deusAqua + +hi! link haskellNumber deusPurple +hi! link haskellPragma deusPurple + +hi! link haskellString deusGreen +hi! link haskellChar deusGreen + +" }}} +" Json: {{{ + +hi! link jsonKeyword deusGreen +hi! link jsonQuote deusGreen +hi! link jsonBraces deusFg1 +hi! link jsonString deusFg1 + +" }}} +" }}} +" Utility Functions {{{ +" Search Highlighting Cursor {{{ + +function! DeusHlsShowCursor() + call s:HL('Cursor', s:bg0, s:hls_cursor) +endfunction + +function! DeusHlsHideCursor() + call s:HL('Cursor', s:none, s:none, s:inverse) +endfunction + +" }}} +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/dogrun.vim b/nvim/plugged/awesome-vim-colorschemes/colors/dogrun.vim new file mode 100644 index 00000000..5d003610 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/dogrun.vim @@ -0,0 +1,278 @@ +" dogrun: Take a sweet dog with you. +" +" Author: wadackel +" License: MIT +" Copyright (c) 2020 wadackel + +if &background !=# 'dark' + set background=dark +endif + +if exists('g:colors_name') + hi clear +endif + +if exists('g:syntax_on') + syntax reset +endif + +let g:colors_name = 'dogrun' + +hi Normal guifg=#9ea3c0 ctermfg=146 guibg=#222433 ctermbg=235 +hi Delimiter guifg=#8085a6 ctermfg=103 +hi NonText guifg=#363859 ctermfg=60 guibg=NONE ctermbg=NONE +hi VertSplit guifg=#32364c ctermfg=237 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi LineNr guifg=#32364c ctermfg=237 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi EndOfBuffer guifg=#363859 ctermfg=60 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Comment guifg=#545c8c ctermfg=60 gui=NONE cterm=NONE +hi Cursor guifg=#222433 ctermfg=235 guibg=#9ea3c0 ctermbg=146 +hi CursorIM guifg=#222433 ctermfg=235 guibg=#9ea3c0 ctermbg=146 +hi SignColumn guifg=#545c8c ctermfg=60 guibg=NONE ctermbg=NONE +hi ColorColumn guibg=#2a2c3f ctermbg=236 gui=NONE cterm=NONE +hi CursorColumn guibg=#2a2c3f ctermbg=236 gui=NONE cterm=NONE +hi CursorLine guibg=#2a2c3f ctermbg=236 gui=NONE cterm=NONE +hi CursorLineNr guifg=#535f98 ctermfg=61 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Conceal guifg=#ac8b83 ctermfg=138 guibg=#222433 ctermbg=235 gui=NONE cterm=NONE +hi NormalFloat guifg=#9ea3c0 ctermfg=146 guibg=#32364c ctermbg=237 gui=NONE cterm=NONE +hi Folded guifg=#666c99 ctermfg=60 guibg=#32364c ctermbg=237 gui=NONE cterm=NONE +hi FoldColumn guifg=#32364c ctermfg=237 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi MatchParen guibg=#2f3147 ctermbg=236 +hi Directory guifg=#a8a384 ctermfg=144 +hi Underlined gui=underline cterm=underline +hi String guifg=#7cbe8c ctermfg=108 +hi Statement guifg=#929be5 ctermfg=104 gui=NONE cterm=NONE +hi Label guifg=#929be5 ctermfg=104 gui=NONE cterm=NONE +hi Function guifg=#929be5 ctermfg=104 gui=NONE cterm=NONE +hi Constant guifg=#73c1a9 ctermfg=79 +hi Boolean guifg=#73c1a9 ctermfg=79 +hi Number guifg=#73c1a9 ctermfg=79 +hi Float guifg=#73c1a9 ctermfg=79 +hi Title guifg=#a8a384 ctermfg=144 gui=bold cterm=bold +hi Keyword guifg=#ac8b83 ctermfg=138 +hi Identifier guifg=#ac8b83 ctermfg=138 +hi Exception guifg=#a8a384 ctermfg=144 +hi Type guifg=#a8a384 ctermfg=144 gui=NONE cterm=NONE +hi TypeDef guifg=#a8a384 ctermfg=144 gui=NONE cterm=NONE +hi PreProc guifg=#929be5 ctermfg=104 +hi Special guifg=#b871b8 ctermfg=133 +hi SpecialKey guifg=#b871b8 ctermfg=133 +hi SpecialChar guifg=#b871b8 ctermfg=133 +hi SpecialComment guifg=#b871b8 ctermfg=133 +hi Error guifg=#dc6f79 ctermfg=167 guibg=#222433 ctermbg=235 gui=bold cterm=bold +hi ErrorMsg guifg=#dc6f79 ctermfg=167 guibg=NONE ctermbg=NONE gui=bold cterm=bold +hi WarningMsg guifg=#ac8b83 ctermfg=138 gui=bold cterm=bold +hi MoreMsg guifg=#73c1a9 ctermfg=79 +hi Todo guifg=#a8a384 ctermfg=144 guibg=NONE ctermbg=NONE gui=bold cterm=bold +hi Pmenu guifg=#9ea3c0 ctermfg=146 guibg=#32364c ctermbg=237 +hi PmenuSel guifg=#9ea3c0 ctermfg=146 guibg=#424865 ctermbg=60 +hi PmenuSbar guibg=#292c3f ctermbg=236 +hi PmenuThumb guibg=#464f7f ctermbg=60 +hi Visual guibg=#363e7f ctermbg=61 gui=NONE cterm=NONE +hi Search guifg=#494f8b ctermfg=60 guibg=#5d6ad8 ctermbg=62 +hi IncSearch guifg=#494f8b ctermfg=60 guibg=#5d6ad8 ctermbg=62 +hi Question guifg=#73c1a9 ctermfg=79 gui=bold cterm=bold +hi WildMenu guifg=#222433 ctermfg=235 guibg=#929be5 ctermbg=104 +hi SpellBad guifg=#dc6f79 ctermfg=167 gui=underline cterm=underline +hi SpellCap gui=underline cterm=underline +hi SpellLocal guifg=#dc6f79 ctermfg=167 gui=underline cterm=underline +hi SpellRare guifg=#a8a384 ctermfg=144 gui=underline cterm=underline +hi DiffAdd guibg=#1c394b ctermbg=237 gui=bold cterm=bold +hi DiffChange guibg=#26463b ctermbg=23 gui=bold cterm=bold +hi DiffDelete guifg=#d2d9ff ctermfg=189 guibg=#5e3e5e ctermbg=96 gui=bold cterm=bold +hi DiffText guibg=#28795c ctermbg=29 gui=NONE cterm=NONE +hi QuickFixLine guifg=#9ea3c0 ctermfg=146 guibg=#363e7f ctermbg=61 +hi StatusLine guifg=#757aa5 ctermfg=103 guibg=#2a2c3f ctermbg=236 gui=bold cterm=bold +hi StatusLineTerm guifg=#757aa5 ctermfg=103 guibg=#2a2c3f ctermbg=236 gui=bold cterm=bold +hi StatusLineNC guifg=#4b4e6d ctermfg=60 guibg=#282a3a ctermbg=235 gui=NONE cterm=NONE +hi StatusLineTermNC guifg=#4b4e6d ctermfg=60 guibg=#282a3a ctermbg=235 gui=NONE cterm=NONE +hi TabLine guifg=#757aa5 ctermfg=103 guibg=#2a2c3f ctermbg=236 gui=NONE cterm=NONE +hi TabLineFill guifg=#757aa5 ctermfg=103 guibg=#2a2c3f ctermbg=236 gui=NONE cterm=NONE +hi TabLineSel guifg=#222433 ctermfg=235 guibg=#929be5 ctermbg=104 gui=bold cterm=bold +hi qfFileName guifg=#73c1a9 ctermfg=79 +hi qfLineNr guifg=#545c8c ctermfg=60 +hi TSConstBuiltin guifg=#73c1a9 ctermfg=79 +hi TSString guifg=#7cbe8c ctermfg=108 +hi TSStringRegex guifg=#7cbe8c ctermfg=108 +hi TSStringEscape guifg=#b871b8 ctermfg=133 +hi TSParameter guifg=#929be5 ctermfg=104 +hi TSParameterReference guifg=#929be5 ctermfg=104 +hi TSField guifg=#929be5 ctermfg=104 +hi TSProperty guifg=#929be5 ctermfg=104 +hi TSConstructor guifg=#9ea3c0 ctermfg=146 +hi TSKeyword guifg=#b871b8 ctermfg=133 +hi TSType guifg=#ac8b83 ctermfg=138 +hi TSTypeBuiltin guifg=#ac8b83 ctermfg=138 +hi TSStructue guifg=#b871b8 ctermfg=133 +hi TSInclude guifg=#929be5 ctermfg=104 +hi TSVariableBuiltin guifg=#ac8b83 ctermfg=138 +hi htmlTag guifg=#8085a6 ctermfg=103 +hi htmlEndTag guifg=#8085a6 ctermfg=103 +hi htmlSpecialTagName guifg=#ac8b83 ctermfg=138 +hi htmlArg guifg=#8085a6 ctermfg=103 +hi jsonQuote guifg=#8085a6 ctermfg=103 +hi yamlBlockMappingKey guifg=#929be5 ctermfg=104 +hi yamlAnchor guifg=#b871b8 ctermfg=133 +hi pythonStatement guifg=#ac8b83 ctermfg=138 +hi pythonBuiltin guifg=#59b6b6 ctermfg=73 +hi pythonRepeat guifg=#ac8b83 ctermfg=138 +hi pythonOperator guifg=#ac8b83 ctermfg=138 +hi pythonDecorator guifg=#b871b8 ctermfg=133 +hi pythonDecoratorName guifg=#b871b8 ctermfg=133 +hi zshVariableDef guifg=#929be5 ctermfg=104 +hi zshFunction guifg=#929be5 ctermfg=104 +hi zshKSHFunction guifg=#929be5 ctermfg=104 +hi cPreCondit guifg=#ac8b83 ctermfg=138 +hi cIncluded guifg=#b871b8 ctermfg=133 +hi cStorageClass guifg=#ac8b83 ctermfg=138 +hi cppStructure guifg=#b871b8 ctermfg=133 +hi cppSTLnamespace guifg=#ac8b83 ctermfg=138 +hi csStorage guifg=#ac8b83 ctermfg=138 +hi csModifier guifg=#929be5 ctermfg=104 +hi csClass guifg=#929be5 ctermfg=104 +hi csClassType guifg=#b871b8 ctermfg=133 +hi csNewType guifg=#ac8b83 ctermfg=138 +hi rubyConstant guifg=#ac8b83 ctermfg=138 +hi rubySymbol guifg=#929be5 ctermfg=104 +hi rubyBlockParameter guifg=#929be5 ctermfg=104 +hi rubyClassName guifg=#b871b8 ctermfg=133 +hi rubyInstanceVariable guifg=#b871b8 ctermfg=133 +hi mkdHeading guifg=#545c8c ctermfg=60 +hi mkdLink guifg=#929be5 ctermfg=104 +hi mkdCode guifg=#929be5 ctermfg=104 +hi mkdCodeStart guifg=#929be5 ctermfg=104 +hi mkdCodeEnd guifg=#929be5 ctermfg=104 +hi mkdCodeDelimiter guifg=#929be5 ctermfg=104 +hi typescriptImport guifg=#929be5 ctermfg=104 +hi typescriptDocRef guifg=#545c8c ctermfg=60 gui=underline cterm=underline +hi mkdHeading guifg=#545c8c ctermfg=60 +hi mkdLink guifg=#929be5 ctermfg=104 +hi mkdCode guifg=#929be5 ctermfg=104 +hi mkdCodeStart guifg=#929be5 ctermfg=104 +hi mkdCodeEnd guifg=#929be5 ctermfg=104 +hi mkdCodeDelimiter guifg=#929be5 ctermfg=104 +hi tomlTable guifg=#929be5 ctermfg=104 +hi rustModPath guifg=#929be5 ctermfg=104 +hi rustTypedef guifg=#929be5 ctermfg=104 +hi rustStructure guifg=#929be5 ctermfg=104 +hi rustMacro guifg=#929be5 ctermfg=104 +hi rustExternCrate guifg=#929be5 ctermfg=104 +hi graphqlStructure guifg=#b871b8 ctermfg=133 +hi graphqlDirective guifg=#b871b8 ctermfg=133 +hi graphqlName guifg=#929be5 ctermfg=104 +hi graphqlTemplateString guifg=#9ea3c0 ctermfg=146 +hi vimfilerOpenedFile guifg=#6f78be ctermfg=104 +hi vimfilerClosedFile guifg=#6f78be ctermfg=104 +hi vimfilerNonMark guifg=#73c1a9 ctermfg=79 +hi vimfilerLeaf guifg=#73c1a9 ctermfg=79 +hi DefxIconsMarkIcon guifg=#6f78be ctermfg=104 gui=NONE cterm=NONE +hi DefxIconsDirectory guifg=#6f78be ctermfg=104 gui=NONE cterm=NONE +hi DefxIconsParentDirectory guifg=#6f78be ctermfg=104 gui=NONE cterm=NONE +hi DefxIconsSymlinkDirectory guifg=#73c1a9 ctermfg=79 gui=NONE cterm=NONE +hi DefxIconsOpenedTreeIcon guifg=#6f78be ctermfg=104 gui=NONE cterm=NONE +hi DefxIconsNestedTreeIcon guifg=#6f78be ctermfg=104 gui=NONE cterm=NONE +hi DefxIconsClosedTreeIcon guifg=#6f78be ctermfg=104 gui=NONE cterm=NONE +hi Defx_git_Untracked guifg=#929be5 ctermfg=104 gui=NONE cterm=NONE +hi Defx_git_Ignored guifg=#545c8c ctermfg=60 gui=NONE cterm=NONE +hi Defx_git_Unknown guifg=#545c8c ctermfg=60 gui=NONE cterm=NONE +hi Defx_git_Renamed guifg=#26463b ctermfg=23 +hi Defx_git_Modified guifg=#26463b ctermfg=23 +hi Defx_git_Unmerged guifg=#b871b8 ctermfg=133 +hi Defx_git_Deleted guifg=#5e3e5e ctermfg=96 +hi Defx_git_Staged guifg=#73c1a9 ctermfg=79 +hi FernBranchSymbol guifg=#6f78be ctermfg=104 gui=NONE cterm=NONE +hi FernBranchText guifg=#929be5 ctermfg=104 gui=NONE cterm=NONE +hi FernLeafSymbol guifg=#548e7c ctermfg=66 gui=NONE cterm=NONE +hi FernLeafText guifg=#9ea3c0 ctermfg=146 gui=NONE cterm=NONE +hi FernMarked guifg=#59b6b6 ctermfg=73 gui=NONE cterm=NONE +hi GitGutterAdd guifg=#7cbe8c ctermfg=108 +hi GitGutterChange guifg=#a8a384 ctermfg=144 +hi GitGutterDelete guifg=#b871b8 ctermfg=133 +hi GitGutterChangeDelete guifg=#28795c ctermfg=29 +hi fugitiveHeader guifg=#73c1a9 ctermfg=79 gui=bold cterm=bold +hi ALEWarningSign guifg=#ac8b83 ctermfg=138 gui=bold cterm=bold +hi ALEInfoSign guifg=#82dabf ctermfg=115 gui=NONE cterm=NONE +hi CocErrorSign guifg=#dc6f79 ctermfg=167 gui=bold cterm=bold +hi CocWarningSign guifg=#ac8b83 ctermfg=138 gui=bold cterm=bold +hi CocInfoSign guifg=#82dabf ctermfg=115 gui=bold cterm=bold +hi CocHintSign guifg=#82dabf ctermfg=115 gui=bold cterm=bold +hi CleverFChar guifg=#494f8b ctermfg=60 guibg=#5d6ad8 ctermbg=62 gui=underline cterm=underline +hi ConflictMarkerBegin guibg=#548e7c ctermbg=66 gui=bold cterm=bold +hi ConflictMarkerOurs guibg=#26463b ctermbg=23 gui=NONE cterm=NONE +hi ConflictMarkerTheirs guibg=#1c394b ctermbg=237 gui=NONE cterm=NONE +hi ConflictMarkerEnd guibg=#417593 ctermbg=31 gui=bold cterm=bold +hi ConflictMarkerSeparator guifg=#363859 ctermfg=60 gui=bold cterm=bold +hi EasyMotionTarget guifg=#a8a384 ctermfg=144 gui=bold cterm=bold +hi EasyMotionShade guifg=#545c8c ctermfg=60 guibg=#222433 ctermbg=235 +hi EasyMotionIncCursor guifg=#9ea3c0 ctermfg=146 guibg=#222433 ctermbg=235 +if has("nvim") + let g:terminal_color_0 = '#111219' + let g:terminal_color_1 = '#c2616b' + let g:terminal_color_2 = '#7cbe8c' + let g:terminal_color_3 = '#8e8a6f' + let g:terminal_color_4 = '#4c89ac' + let g:terminal_color_5 = '#6c75cb' + let g:terminal_color_6 = '#73c1a9' + let g:terminal_color_7 = '#9ea3c0' + let g:terminal_color_8 = '#545c8c' + let g:terminal_color_9 = '#b871b8' + let g:terminal_color_10 = '#7cbe8c' + let g:terminal_color_11 = '#a8a384' + let g:terminal_color_12 = '#589ec6' + let g:terminal_color_13 = '#929be5' + let g:terminal_color_14 = '#59b6b6' + let g:terminal_color_15 = '#9ea3c0' +let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_7 +endif +let g:defx_icons_gui_colors = { + \ 'brown': 'a9323d', + \ 'aqua': '5b9c9c', + \ 'blue': '5d8fac', + \ 'darkBlue': '557486', + \ 'purple': '6f78be', + \ 'lightPurple': '959acb', + \ 'red': 'c2616b', + \ 'beige': '686765', + \ 'yellow': '8e8a6f', + \ 'orange': 'c59f96', + \ 'darkOrange': '79564f', + \ 'pink': '9e619e', + \ 'salmon': 'ab57ab', + \ 'green': '63976f', + \ 'lightGreen': '5aa46c', + \ 'white': '898da6', + \ } +let g:defx_icons_term_colors = { + \ 'brown': 131, + \ 'aqua': 73, + \ 'blue': 67, + \ 'darkBlue': 67, + \ 'purple': 104, + \ 'lightPurple': 103, + \ 'red': 131, + \ 'beige': 242, + \ 'yellow': 101, + \ 'orange': 181, + \ 'darkOrange': 95, + \ 'pink': 133, + \ 'salmon': 133, + \ 'green': 65, + \ 'lightGreen': 71, + \ 'white': 103, + \ } +let g:fzf_colors = { + \ 'fg': ['fg', 'Normal'], + \ 'bg': ['bg', 'Normal'], + \ 'hl': ['fg', 'Comment'], + \ 'fg+': ['fg', 'CursorLine'], + \ 'bg+': ['bg', 'CursorLine'], + \ 'hl+': ['fg', 'Statement'], + \ 'info': ['fg', 'Comment'], + \ 'gutter': ['bg', 'Normal'], + \ 'border': ['fg', 'Ignore'], + \ 'prompt': ['fg', 'Label'], + \ 'pointer': ['fg', 'Boolean'], + \ 'marker': ['fg', 'Boolean'], + \ 'spinner': ['fg', 'Title'], + \ 'header': ['fg', 'Comment'], + \ } diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/flattened_dark.vim b/nvim/plugged/awesome-vim-colorschemes/colors/flattened_dark.vim new file mode 100644 index 00000000..12019149 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/flattened_dark.vim @@ -0,0 +1,325 @@ +" 'flattened_dark.vim' -- Vim color scheme. +" Maintainer: Romain Lafourcade (romainlafourcade@gmail.com) +" Description: Dark Solarized, without the bullshit. + +hi clear + +if exists('syntax_on') + syntax reset +endif + +let colors_name = 'flattened_dark' + +hi Normal ctermfg=12 ctermbg=8 guifg=#839496 guibg=#002b36 gui=NONE + +set background=dark + +hi ColorColumn cterm=NONE ctermbg=0 guibg=#073642 gui=NONE +hi Comment cterm=NONE ctermfg=10 guifg=#586e75 gui=italic +hi ConId cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi Conceal cterm=NONE ctermfg=4 ctermbg=8 guifg=#268bd2 guibg=#002b36 gui=NONE +hi Constant cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi Cursor cterm=NONE ctermfg=8 ctermbg=12 guifg=#002b36 guibg=#839496 gui=NONE +hi CursorColumn cterm=NONE ctermbg=0 guibg=#073642 gui=NONE +hi CursorLine cterm=NONE ctermbg=0 guibg=#073642 guisp=#93a1a1 gui=NONE +hi CursorLineNr cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi DiffAdd cterm=NONE ctermfg=2 ctermbg=0 guifg=#719e07 guibg=#073642 guisp=#719e07 gui=NONE +hi DiffChange cterm=NONE ctermfg=3 ctermbg=0 guifg=#b58900 guibg=#073642 guisp=#b58900 gui=NONE +hi DiffDelete cterm=NONE ctermfg=1 ctermbg=0 guifg=#dc322f guibg=#073642 gui=NONE +hi DiffText cterm=NONE ctermfg=4 ctermbg=0 guifg=#268bd2 guibg=#073642 guisp=#268bd2 gui=NONE +hi Directory cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi Error cterm=NONE ctermfg=1 ctermbg=NONE guifg=#dc322f guibg=#002b36 gui=NONE +hi ErrorMsg cterm=reverse ctermfg=1 ctermbg=NONE guifg=#dc322f guibg=NONE gui=reverse +hi FoldColumn cterm=NONE ctermfg=12 ctermbg=0 guifg=#839496 guibg=#073642 gui=NONE +hi Folded cterm=NONE,underline ctermfg=12 ctermbg=0 guifg=#839496 guibg=#073642 guisp=#002b36 gui=NONE +hi HelpExample cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE +hi Identifier cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi IncSearch cterm=standout ctermfg=9 guifg=#cb4b16 gui=standout +hi LineNr cterm=NONE ctermfg=10 ctermbg=0 guifg=#586e75 guibg=#073642 gui=NONE +hi MatchParen cterm=NONE ctermfg=1 ctermbg=10 guifg=#dc322f guibg=#586e75 gui=NONE +hi ModeMsg cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi MoreMsg cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi NonText cterm=NONE ctermfg=11 guifg=#657b83 gui=NONE +hi Pmenu cterm=reverse ctermfg=12 ctermbg=0 guifg=#839496 guibg=#073642 gui=reverse +hi PmenuSbar cterm=reverse ctermfg=7 ctermbg=12 guifg=#eee8d5 guibg=#839496 gui=reverse +hi PmenuSel cterm=reverse ctermfg=10 ctermbg=7 guifg=#586e75 guibg=#eee8d5 gui=reverse +hi PmenuThumb cterm=reverse ctermfg=12 ctermbg=8 guifg=#839496 guibg=#002b36 gui=reverse +hi PreProc cterm=NONE ctermfg=1 guifg=#cb4b16 gui=NONE +hi Question cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi Search cterm=reverse ctermfg=3 ctermbg=NONE guifg=#b58900 guibg=NONE gui=reverse +hi SignColumn cterm=NONE ctermfg=12 ctermbg=NONE guifg=#839496 guibg=NONE gui=NONE +hi Special cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE +hi SpecialKey cterm=NONE ctermfg=11 ctermbg=0 guifg=#657b83 guibg=#073642 gui=NONE +hi SpellBad cterm=undercurl ctermfg=NONE ctermbg=NONE guisp=#dc322f gui=undercurl +hi SpellCap cterm=undercurl ctermfg=NONE ctermbg=NONE guisp=#6c71c4 gui=undercurl +hi SpellLocal cterm=undercurl ctermfg=NONE ctermbg=NONE guisp=#b58900 gui=undercurl +hi SpellRare cterm=undercurl ctermfg=NONE ctermbg=NONE guisp=#2aa198 gui=undercurl +hi Statement cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE +hi StatusLine cterm=reverse ctermfg=14 ctermbg=0 guifg=#93a1a1 guibg=#073642 gui=reverse +hi StatusLineNC cterm=reverse ctermfg=11 ctermbg=0 guifg=#657b83 guibg=#073642 gui=reverse +hi TabLine cterm=underline ctermfg=12 ctermbg=0 guifg=#839496 guibg=#073642 guisp=#839496 gui=underline +hi TabLineFill cterm=underline ctermfg=12 ctermbg=0 guifg=#839496 guibg=#073642 guisp=#839496 gui=underline +hi TabLineSel cterm=underline,reverse ctermfg=10 ctermbg=7 guifg=#586e75 guibg=#eee8d5 guisp=#839496 gui=underline,reverse +hi Title cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE +hi Todo cterm=bold ctermfg=5 ctermbg=8 guifg=#d33682 guibg=NONE gui=bold +hi Type cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi Underlined cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi VarId cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi VertSplit cterm=NONE ctermfg=11 ctermbg=11 guifg=#657b83 guibg=#657b83 gui=NONE +hi Visual cterm=reverse ctermfg=10 ctermbg=8 guifg=#586e75 guibg=#002b36 gui=reverse +hi VisualNOS cterm=reverse ctermbg=0 ctermbg=NONE guibg=#073642 guifg=NONE gui=reverse +hi WarningMsg cterm=NONE ctermfg=9 guifg=#dc322f gui=NONE +hi WildMenu cterm=reverse ctermfg=7 ctermbg=0 guifg=#eee8d5 guibg=#073642 gui=reverse + +hi cPreCondit cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE + +hi gitcommitBranch cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE +hi gitcommitComment cterm=NONE ctermfg=10 guifg=#586e75 gui=italic +hi gitcommitDiscardedFile cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE +hi gitcommitDiscardedType cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE +hi gitcommitFile cterm=NONE ctermfg=12 guifg=#839496 gui=NONE +hi gitcommitHeader cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE +hi gitcommitOnBranch cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE +hi gitcommitSelectedFile cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE +hi gitcommitSelectedType cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE +hi gitcommitUnmerged cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE +hi gitcommitUnmergedFile cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi gitcommitUntrackedFile cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE + +hi helpHyperTextEntry cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE +hi helpHyperTextJump cterm=underline ctermfg=4 guifg=#268bd2 gui=underline +hi helpNote cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE +hi helpOption cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi helpVim cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE + +hi hsImport cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE +hi hsImportLabel cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi hsModuleName cterm=underline ctermfg=2 guifg=#719e07 gui=underline +hi hsNiceOperator cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi hsStatement cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi hsString cterm=NONE ctermfg=11 guifg=#657b83 gui=NONE +hi hsStructure cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi hsType cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi hsTypedef cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi hsVarSym cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi hs_DeclareFunction cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE +hi hs_OpFunctionName cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi hs_hlFunctionName cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE + +hi htmlArg cterm=NONE ctermfg=11 guifg=#657b83 gui=NONE +hi htmlEndTag cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE +hi htmlSpecialTagName cterm=NONE ctermfg=4 guifg=#268bd2 gui=italic +hi htmlTag cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE +hi htmlTagN cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE +hi htmlTagName cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE + +hi javaScript cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE + +hi pandocBlockQuote cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocBlockQuoteLeader1 cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocBlockQuoteLeader2 cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi pandocBlockQuoteLeader3 cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi pandocBlockQuoteLeader4 cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE +hi pandocBlockQuoteLeader5 cterm=NONE ctermfg=12 guifg=#839496 gui=NONE +hi pandocBlockQuoteLeader6 cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE +hi pandocCitation cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE +hi pandocCitationDelim cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE +hi pandocCitationID cterm=underline ctermfg=5 guifg=#d33682 gui=underline +hi pandocCitationRef cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE +hi pandocComment cterm=NONE ctermfg=10 guifg=#586e75 gui=italic +hi pandocDefinitionBlock cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocDefinitionIndctr cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocDefinitionTerm cterm=standout ctermfg=13 guifg=#6c71c4 gui=standout +hi pandocEmphasis cterm=NONE ctermfg=12 guifg=#839496 gui=italic +hi pandocEmphasisDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=italic +hi pandocEmphasisHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE +hi pandocEmphasisNested cterm=NONE ctermfg=12 guifg=#839496 gui=NONE +hi pandocEmphasisNestedDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocEmphasisNestedHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE +hi pandocEmphasisNestedTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocEmphasisTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=italic +hi pandocEscapePair cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE +hi pandocFootnote cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE +hi pandocFootnoteDefLink cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE +hi pandocFootnoteInline cterm=NONE,underline ctermfg=2 guifg=#719e07 gui=NONE,underline +hi pandocFootnoteLink cterm=underline ctermfg=2 guifg=#719e07 gui=underline +hi pandocHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE +hi pandocHeadingMarker cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi pandocImageCaption cterm=NONE,underline ctermfg=13 guifg=#6c71c4 gui=NONE,underline +hi pandocLinkDefinition cterm=underline ctermfg=6 guifg=#2aa198 guisp=#657b83 gui=underline +hi pandocLinkDefinitionID cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocLinkDelim cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE +hi pandocLinkLabel cterm=underline ctermfg=4 guifg=#268bd2 gui=underline +hi pandocLinkText cterm=NONE,underline ctermfg=4 guifg=#268bd2 gui=NONE,underline +hi pandocLinkTitle cterm=underline ctermfg=11 guifg=#657b83 gui=underline +hi pandocLinkTitleDelim cterm=underline ctermfg=10 guifg=#586e75 guisp=#657b83 gui=underline +hi pandocLinkURL cterm=underline ctermfg=11 guifg=#657b83 gui=underline +hi pandocListMarker cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE +hi pandocListReference cterm=underline ctermfg=5 guifg=#d33682 gui=underline +hi pandocMetadata cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocMetadataDelim cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE +hi pandocMetadataKey cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocNonBreakingSpace cterm=reverse ctermfg=1 ctermbg=NONE guifg=#dc322f guibg=NONE gui=reverse +hi pandocRule cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocRuleLine cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocStrikeout cterm=reverse ctermfg=10 ctermbg=NONE guibg=NONE guifg=#586e75 gui=reverse +hi pandocStrikeoutDefinition cterm=reverse ctermfg=13 ctermbg=NONE guibg=NONE guifg=#6c71c4 gui=reverse +hi pandocStrikeoutHeading cterm=reverse ctermfg=9 ctermbg=NONE guibg=NONE guifg=#cb4b16 gui=reverse +hi pandocStrikeoutTable cterm=reverse ctermfg=4 ctermbg=NONE guibg=NONE guifg=#268bd2 gui=reverse +hi pandocStrongEmphasis cterm=NONE ctermfg=12 guifg=#839496 gui=NONE +hi pandocStrongEmphasisDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocStrongEmphasisEmphasis cterm=NONE ctermfg=12 guifg=#839496 gui=NONE +hi pandocStrongEmphasisEmphasisDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocStrongEmphasisEmphasisHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE +hi pandocStrongEmphasisEmphasisTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocStrongEmphasisHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE +hi pandocStrongEmphasisNested cterm=NONE ctermfg=12 guifg=#839496 gui=NONE +hi pandocStrongEmphasisNestedDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocStrongEmphasisNestedHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE +hi pandocStrongEmphasisNestedTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocStrongEmphasisTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocStyleDelim cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE +hi pandocSubscript cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocSubscriptDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocSubscriptHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE +hi pandocSubscriptTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocSuperscript cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocSuperscriptDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocSuperscriptHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE +hi pandocSuperscriptTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocTableStructure cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocTableZebraDark cterm=NONE ctermfg=4 ctermbg=0 guifg=#268bd2 guibg=#073642 gui=NONE +hi pandocTableZebraLight cterm=NONE ctermfg=4 ctermbg=8 guifg=#268bd2 guibg=#002b36 gui=NONE +hi pandocTitleBlock cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocTitleBlockTitle cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocTitleComment cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocVerbatimBlock cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi pandocVerbatimInline cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi pandocVerbatimInlineDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocVerbatimInlineHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE +hi pandocVerbatimInlineTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE + +hi perlHereDoc cterm=NONE ctermfg=14 ctermbg=8 guifg=#93a1a1 guibg=#002b36 gui=NONE +hi perlStatementFileDesc cterm=NONE ctermfg=6 ctermbg=8 guifg=#2aa198 guibg=#002b36 gui=NONE +hi perlVarPlain cterm=NONE ctermfg=3 ctermbg=8 guifg=#b58900 guibg=#002b36 gui=NONE + +hi rubyDefine cterm=NONE ctermfg=14 ctermbg=8 guifg=#93a1a1 guibg=#002b36 gui=NONE + +hi texMathMatcher cterm=NONE ctermfg=3 ctermbg=8 guifg=#b58900 guibg=#002b36 gui=NONE +hi texMathZoneX cterm=NONE ctermfg=3 ctermbg=8 guifg=#b58900 guibg=#002b36 gui=NONE +hi texRefLabel cterm=NONE ctermfg=3 ctermbg=8 guifg=#b58900 guibg=#002b36 gui=NONE +hi texStatement cterm=NONE ctermfg=6 ctermbg=8 guifg=#2aa198 guibg=#002b36 gui=NONE + +hi vimCmdSep cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi vimCommand cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi vimCommentString cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi vimGroup cterm=NONE,underline ctermfg=4 guifg=#268bd2 gui=NONE,underline +hi vimHiGroup cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi vimHiLink cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi vimIsCommand cterm=NONE ctermfg=11 guifg=#657b83 gui=NONE +hi vimSynMtchOpt cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi vimSynType cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE + +hi link Boolean Constant +hi link Character Constant +hi link Conditional Statement +hi link Debug Special +hi link Define PreProc +hi link Delimiter Special +hi link Exception Statement +hi link Float Number +hi link Function Identifier +hi link HelpCommand Statement +hi link Include PreProc +hi link Keyword Statement +hi link Label Statement +hi link Macro PreProc +hi link Number Constant +hi link Operator Statement +hi link PreCondit PreProc +hi link Repeat Statement +hi link SpecialChar Special +hi link SpecialComment Special +hi link StorageClass Type +hi link String Constant +hi link Structure Type +hi link SyntasticError SpellBad +hi link SyntasticErrorSign Error +hi link SyntasticStyleErrorLine SyntasticErrorLine +hi link SyntasticStyleErrorSign SyntasticErrorSign +hi link SyntasticStyleWarningLine SyntasticWarningLine +hi link SyntasticStyleWarningSign SyntasticWarningSign +hi link SyntasticWarning SpellCap +hi link SyntasticWarningSign Todo +hi link Tag Special +hi link Typedef Type + +hi link diffAdded Statement +hi link diffBDiffer WarningMsg +hi link diffCommon WarningMsg +hi link diffDiffer WarningMsg +hi link diffIdentical WarningMsg +hi link diffIsA WarningMsg +hi link diffLine Identifier +hi link diffNoEOL WarningMsg +hi link diffOnly WarningMsg +hi link diffRemoved WarningMsg + +hi link gitcommitDiscarded gitcommitComment +hi link gitcommitDiscardedArrow gitcommitDiscardedFile +hi link gitcommitNoBranch gitcommitBranch +hi link gitcommitSelected gitcommitComment +hi link gitcommitSelectedArrow gitcommitSelectedFile +hi link gitcommitUnmergedArrow gitcommitUnmergedFile +hi link gitcommitUntracked gitcommitComment + +hi link helpSpecial Special + +hi link hsDelimTypeExport Delimiter +hi link hsImportParams Delimiter +hi link hsModuleStartLabel hsStructure +hi link hsModuleWhereLabel hsModuleStartLabel +hi link htmlLink Function + +hi link lCursor Cursor + +hi link pandocCodeBlock pandocVerbatimBlock +hi link pandocCodeBlockDelim pandocVerbatimBlock +hi link pandocEscapedCharacter pandocEscapePair +hi link pandocLineBreak pandocEscapePair +hi link pandocMetadataTitle pandocMetadata +hi link pandocTableStructureEnd pandocTableStructre +hi link pandocTableStructureTop pandocTableStructre +hi link pandocVerbatimBlockDeep pandocVerbatimBlock + +hi link vimFunc Function +hi link vimSet Normal +hi link vimSetEqual Normal +hi link vimUserFunc Function +hi link vipmVar Identifier + +hi clear SyntasticErrorLine +hi clear SyntasticWarningLine +hi clear helpLeadBlank +hi clear helpNormal +hi clear pandocTableStructre + +if has('nvim') + let g:terminal_color_0 = '#073642' + let g:terminal_color_1 = '#dc322f' + let g:terminal_color_2 = '#859900' + let g:terminal_color_3 = '#b58900' + let g:terminal_color_4 = '#268bd2' + let g:terminal_color_5 = '#d33682' + let g:terminal_color_6 = '#2aa198' + let g:terminal_color_7 = '#eee8d5' + let g:terminal_color_8 = '#002b36' + let g:terminal_color_9 = '#cb4b16' + let g:terminal_color_10 = '#586e75' + let g:terminal_color_11 = '#657b83' + let g:terminal_color_12 = '#839496' + let g:terminal_color_13 = '#6c71c4' + let g:terminal_color_14 = '#93a1a1' + let g:terminal_color_15 = '#fdf6e3' +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/flattened_light.vim b/nvim/plugged/awesome-vim-colorschemes/colors/flattened_light.vim new file mode 100644 index 00000000..104678ff --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/flattened_light.vim @@ -0,0 +1,314 @@ +" 'flattened_light.vim' -- Vim color scheme. +" Maintainer: Romain Lafourcade (romainlafourcade@gmail.com) +" Description: Light Solarized, without the bullshit. + +hi clear + +if exists('syntax_on') + syntax reset +endif + +let colors_name = 'flattened_light' + +hi Normal cterm=NONE ctermfg=11 ctermbg=15 guifg=#657b83 guibg=#fdf6e3 gui=NONE + +set background=light + +hi ColorColumn cterm=NONE ctermbg=7 guibg=#eee8d5 gui=NONE +hi Comment cterm=NONE ctermfg=14 guifg=#93a1a1 gui=italic +hi ConId cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi Conceal cterm=NONE ctermfg=4 ctermbg=15 guifg=#268bd2 guibg=#fdf6e3 gui=NONE +hi Constant cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi Cursor cterm=NONE ctermfg=15 ctermbg=11 guifg=#fdf6e3 guibg=#657b83 gui=NONE +hi CursorColumn cterm=NONE ctermbg=7 guibg=#eee8d5 gui=NONE +hi CursorLine cterm=NONE ctermbg=7 guibg=#eee8d5 guisp=#586e75 gui=NONE +hi CursorLineNr cterm=NONE ctermfg=130 gui=NONE guifg=Brown +hi DiffAdd cterm=NONE ctermfg=2 ctermbg=7 gui=NONE guifg=#719e07 guibg=#eee8d5 guisp=#719e07 gui=NONE +hi DiffChange cterm=NONE ctermfg=3 ctermbg=7 gui=NONE guifg=#b58900 guibg=#eee8d5 guisp=#b58900 gui=NONE +hi DiffDelete cterm=NONE ctermfg=1 ctermbg=7 gui=NONE guifg=#dc322f guibg=#eee8d5 gui=NONE +hi DiffText cterm=NONE ctermfg=4 ctermbg=7 gui=NONE guifg=#268bd2 guibg=#eee8d5 guisp=#268bd2 gui=NONE +hi Directory cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi Error cterm=NONE ctermfg=1 ctermbg=NONE guifg=#dc322f guibg=#fdf6e3 gui=NONE +hi ErrorMsg cterm=reverse ctermfg=1 ctermbg=NONE guifg=#dc322f guibg=NONE gui=reverse +hi FoldColumn cterm=NONE ctermfg=11 ctermbg=7 guifg=#657b83 guibg=#eee8d5 gui=NONE +hi Folded cterm=NONE,underline ctermfg=11 ctermbg=7 guifg=#657b83 guibg=#eee8d5 guisp=#fdf6e3 gui=NONE +hi HelpExample cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE +hi Identifier cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi IncSearch cterm=standout ctermfg=9 gui=standout guifg=#cb4b16 +hi LineNr cterm=NONE ctermfg=14 ctermbg=7 guifg=#93a1a1 guibg=#eee8d5 gui=NONE +hi MatchParen cterm=NONE ctermfg=1 ctermbg=14 gui=NONE guifg=#dc322f guibg=#93a1a1 gui=NONE +hi ModeMsg cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi MoreMsg cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi NonText cterm=NONE ctermfg=12 gui=NONE guifg=#839496 gui=NONE +hi Pmenu cterm=reverse ctermfg=11 ctermbg=7 guifg=#657b83 guibg=#eee8d5 gui=reverse +hi PmenuSbar cterm=reverse ctermfg=0 ctermbg=11 guifg=#073642 guibg=#657b83 gui=reverse +hi PmenuSel cterm=reverse ctermfg=14 ctermbg=0 guifg=#93a1a1 guibg=#073642 gui=reverse +hi PmenuThumb cterm=reverse ctermfg=11 ctermbg=15 guifg=#657b83 guibg=#fdf6e3 gui=reverse +hi PreProc cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE +hi Question cterm=NONE ctermfg=6 gui=NONE guifg=#2aa198 gui=NONE +hi Search cterm=reverse ctermfg=3 ctermbg=NONE guifg=#b58900 guibg=NONE gui=reverse +hi SignColumn cterm=NONE ctermfg=11 ctermbg=NONE guifg=#657b83 guibg=NONE gui=NONE +hi Special cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE +hi SpecialKey cterm=NONE ctermfg=12 ctermbg=7 gui=NONE guifg=#839496 guibg=#eee8d5 gui=NONE +hi SpellBad cterm=undercurl ctermfg=NONE ctermbg=NONE gui=undercurl guisp=#dc322f +hi SpellCap cterm=undercurl ctermfg=NONE ctermbg=NONE gui=undercurl guisp=#6c71c4 +hi SpellLocal cterm=undercurl ctermfg=NONE ctermbg=NONE gui=undercurl guisp=#b58900 +hi SpellRare cterm=undercurl ctermfg=NONE ctermbg=NONE gui=undercurl guisp=#2aa198 +hi Statement cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE +hi StatusLine cterm=reverse ctermfg=10 ctermbg=7 gui=reverse guifg=#586e75 guibg=#eee8d5 guibg=NONE +hi StatusLineNC cterm=reverse ctermfg=12 ctermbg=7 gui=reverse guifg=#839496 guibg=#eee8d5 guibg=NONE +hi TabLine cterm=underline ctermfg=11 ctermbg=7 gui=underline guifg=#657b83 guibg=#eee8d5 guisp=#657b83 +hi TabLineFill cterm=underline ctermfg=11 ctermbg=7 gui=underline guifg=#657b83 guibg=#eee8d5 guisp=#657b83 +hi TabLineSel cterm=underline,reverse ctermfg=14 ctermbg=0 gui=underline,reverse guifg=#93a1a1 guibg=#073642 guisp=#657b83 +hi Title cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE +hi Todo cterm=bold ctermfg=5 ctermbg=15 guifg=#d33682 guibg=NONE gui=bold +hi Type cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi Underlined cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi VarId cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi VertSplit cterm=NONE ctermfg=12 ctermbg=12 guifg=#839496 guibg=#839496 gui=NONE +hi Visual cterm=reverse ctermfg=14 ctermbg=15 gui=reverse guifg=#93a1a1 guibg=#fdf6e3 guibg=NONE +hi VisualNOS cterm=reverse ctermbg=7 gui=reverse guibg=#eee8d5 guibg=NONE +hi WarningMsg cterm=NONE ctermfg=9 gui=NONE guifg=#dc322f gui=NONE +hi WildMenu cterm=reverse ctermfg=0 ctermbg=7 guifg=#073642 guibg=#eee8d5 gui=reverse +hi cPreCondit cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE +hi gitcommitBranch cterm=NONE ctermfg=5 gui=NONE guifg=#d33682 gui=NONE +hi gitcommitComment cterm=NONE ctermfg=14 gui=italic guifg=#93a1a1 gui=NONE +hi gitcommitDiscardedFile cterm=NONE ctermfg=1 gui=NONE guifg=#dc322f gui=NONE +hi gitcommitDiscardedType cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE +hi gitcommitFile cterm=NONE ctermfg=11 gui=NONE guifg=#657b83 gui=NONE +hi gitcommitHeader cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE +hi gitcommitOnBranch cterm=NONE ctermfg=14 gui=NONE guifg=#93a1a1 gui=NONE +hi gitcommitSelectedFile cterm=NONE ctermfg=2 gui=NONE guifg=#719e07 gui=NONE +hi gitcommitSelectedType cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE +hi gitcommitUnmerged cterm=NONE ctermfg=2 gui=NONE guifg=#719e07 gui=NONE +hi gitcommitUnmergedFile cterm=NONE ctermfg=3 gui=NONE guifg=#b58900 gui=NONE +hi gitcommitUntrackedFile cterm=NONE ctermfg=6 gui=NONE guifg=#2aa198 gui=NONE +hi helpHyperTextEntry cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE +hi helpHyperTextJump cterm=underline ctermfg=4 gui=underline guifg=#268bd2 +hi helpNote cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE +hi helpOption cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi helpVim cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE +hi hsImport cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE +hi hsImportLabel cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi hsModuleName cterm=underline ctermfg=2 gui=underline guifg=#719e07 +hi hsNiceOperator cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi hsStatement cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi hsString cterm=NONE ctermfg=12 guifg=#839496 gui=NONE +hi hsStructure cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi hsType cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi hsTypedef cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi hsVarSym cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi hs_DeclareFunction cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE +hi hs_OpFunctionName cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi hs_hlFunctionName cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi htmlArg cterm=NONE ctermfg=12 guifg=#839496 gui=NONE +hi htmlEndTag cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE +hi htmlSpecialTagName cterm=NONE ctermfg=4 gui=italic guifg=#268bd2 gui=NONE +hi htmlTag cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE +hi htmlTagN cterm=NONE ctermfg=10 gui=NONE guifg=#586e75 gui=NONE +hi htmlTagName cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE +hi javaScript cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi pandocBlockQuote cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocBlockQuoteLeader1 cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocBlockQuoteLeader2 cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE +hi pandocBlockQuoteLeader3 cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi pandocBlockQuoteLeader4 cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE +hi pandocBlockQuoteLeader5 cterm=NONE ctermfg=11 guifg=#657b83 gui=NONE +hi pandocBlockQuoteLeader6 cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE +hi pandocCitation cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE +hi pandocCitationDelim cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE +hi pandocCitationID cterm=underline ctermfg=5 gui=underline guifg=#d33682 +hi pandocCitationRef cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE +hi pandocComment cterm=NONE ctermfg=14 gui=italic guifg=#93a1a1 gui=NONE +hi pandocDefinitionBlock cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocDefinitionIndctr cterm=NONE ctermfg=13 gui=NONE guifg=#6c71c4 gui=NONE +hi pandocDefinitionTerm cterm=standout ctermfg=13 gui=standout guifg=#6c71c4 +hi pandocEmphasis cterm=NONE ctermfg=11 gui=italic guifg=#657b83 gui=NONE +hi pandocEmphasisDefinition cterm=NONE ctermfg=13 gui=italic guifg=#6c71c4 gui=NONE +hi pandocEmphasisHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE +hi pandocEmphasisNested cterm=NONE ctermfg=11 gui=NONE guifg=#657b83 gui=NONE +hi pandocEmphasisNestedDefinition cterm=NONE ctermfg=13 gui=NONE guifg=#6c71c4 gui=NONE +hi pandocEmphasisNestedHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE +hi pandocEmphasisNestedTable cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE +hi pandocEmphasisTable cterm=NONE ctermfg=4 gui=italic guifg=#268bd2 gui=NONE +hi pandocEscapePair cterm=NONE ctermfg=1 gui=NONE guifg=#dc322f gui=NONE +hi pandocFootnote cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE +hi pandocFootnoteDefLink cterm=NONE ctermfg=2 gui=NONE guifg=#719e07 gui=NONE +hi pandocFootnoteInline cterm=NONE,underline ctermfg=2 gui=NONE,underline guifg=#719e07 gui=NONE +hi pandocFootnoteLink cterm=underline ctermfg=2 gui=underline guifg=#719e07 +hi pandocHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE +hi pandocHeadingMarker cterm=NONE ctermfg=3 gui=NONE guifg=#b58900 gui=NONE +hi pandocImageCaption cterm=NONE,underline ctermfg=13 gui=NONE,underline guifg=#6c71c4 gui=NONE +hi pandocLinkDefinition cterm=underline ctermfg=6 gui=underline guifg=#2aa198 guisp=#839496 +hi pandocLinkDefinitionID cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE +hi pandocLinkDelim cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE +hi pandocLinkLabel cterm=underline ctermfg=4 gui=underline guifg=#268bd2 +hi pandocLinkText cterm=NONE,underline ctermfg=4 gui=NONE,underline guifg=#268bd2 gui=NONE +hi pandocLinkTitle cterm=underline ctermfg=12 gui=underline guifg=#839496 +hi pandocLinkTitleDelim cterm=underline ctermfg=14 gui=underline guifg=#93a1a1 guisp=#839496 +hi pandocLinkURL cterm=underline ctermfg=12 gui=underline guifg=#839496 +hi pandocListMarker cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE +hi pandocListReference cterm=underline ctermfg=5 gui=underline guifg=#d33682 +hi pandocMetadata cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE +hi pandocMetadataDelim cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE +hi pandocMetadataKey cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocNonBreakingSpace cterm=reverse ctermfg=1 ctermbg=NONE gui=reverse guifg=#dc322f guibg=NONE +hi pandocRule cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE +hi pandocRuleLine cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE +hi pandocStrikeout cterm=reverse ctermfg=14 ctermbg=NONE gui=reverse guifg=#93a1a1 guibg=NONE +hi pandocStrikeoutDefinition cterm=reverse ctermfg=13 ctermbg=NONE gui=reverse guifg=#6c71c4 guibg=NONE +hi pandocStrikeoutHeading cterm=reverse ctermfg=9 ctermbg=NONE gui=reverse guifg=#cb4b16 guibg=NONE +hi pandocStrikeoutTable cterm=reverse ctermfg=4 ctermbg=NONE gui=reverse guifg=#268bd2 guibg=NONE +hi pandocStrongEmphasis cterm=NONE ctermfg=11 gui=NONE guifg=#657b83 gui=NONE +hi pandocStrongEmphasisDefinition cterm=NONE ctermfg=13 gui=NONE guifg=#6c71c4 gui=NONE +hi pandocStrongEmphasisEmphasis cterm=NONE ctermfg=11 gui=NONE guifg=#657b83 gui=NONE +hi pandocStrongEmphasisEmphasisDefinition cterm=NONE ctermfg=13 gui=NONE guifg=#6c71c4 gui=NONE +hi pandocStrongEmphasisEmphasisHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE +hi pandocStrongEmphasisEmphasisTable cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE +hi pandocStrongEmphasisHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE +hi pandocStrongEmphasisNested cterm=NONE ctermfg=11 gui=NONE guifg=#657b83 gui=NONE +hi pandocStrongEmphasisNestedDefinition cterm=NONE ctermfg=13 gui=NONE guifg=#6c71c4 gui=NONE +hi pandocStrongEmphasisNestedHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE +hi pandocStrongEmphasisNestedTable cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE +hi pandocStrongEmphasisTable cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE +hi pandocStyleDelim cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE +hi pandocSubscript cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocSubscriptDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocSubscriptHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE +hi pandocSubscriptTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocSuperscript cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocSuperscriptDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocSuperscriptHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE +hi pandocSuperscriptTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocTableStructure cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocTableZebraDark cterm=NONE ctermfg=4 ctermbg=7 guifg=#268bd2 guibg=#eee8d5 gui=NONE +hi pandocTableZebraLight cterm=NONE ctermfg=4 ctermbg=15 guifg=#268bd2 guibg=#fdf6e3 gui=NONE +hi pandocTitleBlock cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi pandocTitleBlockTitle cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE +hi pandocTitleComment cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE +hi pandocVerbatimBlock cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi pandocVerbatimInline cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi pandocVerbatimInlineDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi pandocVerbatimInlineHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE +hi pandocVerbatimInlineTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi perlHereDoc cterm=NONE ctermfg=10 ctermbg=15 guifg=#586e75 guibg=#fdf6e3 gui=NONE +hi perlStatementFileDesc cterm=NONE ctermfg=6 ctermbg=15 guifg=#2aa198 guibg=#fdf6e3 gui=NONE +hi perlVarPlain cterm=NONE ctermfg=3 ctermbg=15 guifg=#b58900 guibg=#fdf6e3 gui=NONE +hi rubyDefine cterm=NONE ctermfg=10 ctermbg=15 gui=NONE guifg=#586e75 guibg=#fdf6e3 gui=NONE +hi texMathMatcher cterm=NONE ctermfg=3 ctermbg=15 guifg=#b58900 guibg=#fdf6e3 gui=NONE +hi texMathZoneX cterm=NONE ctermfg=3 ctermbg=15 guifg=#b58900 guibg=#fdf6e3 gui=NONE +hi texRefLabel cterm=NONE ctermfg=3 ctermbg=15 guifg=#b58900 guibg=#fdf6e3 gui=NONE +hi texStatement cterm=NONE ctermfg=6 ctermbg=15 guifg=#2aa198 guibg=#fdf6e3 gui=NONE +hi vimCmdSep cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE +hi vimCommand cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi vimCommentString cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE +hi vimGroup cterm=NONE,underline ctermfg=4 gui=NONE,underline guifg=#268bd2 gui=NONE +hi vimHiGroup cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi vimHiLink cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE +hi vimIsCommand cterm=NONE ctermfg=12 guifg=#839496 gui=NONE +hi vimSynMtchOpt cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE +hi vimSynType cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE + +hi link Boolean Constant +hi link Character Constant +hi link Conditional Statement +hi link Debug Special +hi link Define PreProc +hi link Delimiter Special +hi link Exception Statement +hi link Float Number +hi link Function Identifier +hi link HelpCommand Statement +hi link Include PreProc +hi link Keyword Statement +hi link Label Statement +hi link Macro PreProc +hi link Number Constant +hi link Operator Statement +hi link PreCondit PreProc +hi link Repeat Statement +hi link SpecialChar Special +hi link SpecialComment Special +hi link StorageClass Type +hi link String Constant +hi link Structure Type +hi link SyntasticError SpellBad +hi link SyntasticErrorSign Error +hi link SyntasticStyleErrorLine SyntasticErrorLine +hi link SyntasticStyleErrorSign SyntasticErrorSign +hi link SyntasticStyleWarningLine SyntasticWarningLine +hi link SyntasticStyleWarningSign SyntasticWarningSign +hi link SyntasticWarning SpellCap +hi link SyntasticWarningSign Todo +hi link Tag Special +hi link Typedef Type + +hi link diffAdded Statement +hi link diffBDiffer WarningMsg +hi link diffCommon WarningMsg +hi link diffDiffer WarningMsg +hi link diffIdentical WarningMsg +hi link diffIsA WarningMsg +hi link diffLine Identifier +hi link diffNoEOL WarningMsg +hi link diffOnly WarningMsg +hi link diffRemoved WarningMsg + +hi link gitcommitDiscarded gitcommitComment +hi link gitcommitDiscardedArrow gitcommitDiscardedFile +hi link gitcommitNoBranch gitcommitBranch +hi link gitcommitSelected gitcommitComment +hi link gitcommitSelectedArrow gitcommitSelectedFile +hi link gitcommitUnmergedArrow gitcommitUnmergedFile +hi link gitcommitUntracked gitcommitComment + +hi link helpSpecial Special + +hi link hsDelimTypeExport Delimiter +hi link hsImportParams Delimiter +hi link hsModuleStartLabel hsStructure +hi link hsModuleWhereLabel hsModuleStartLabel +hi link htmlLink Function + +hi link lCursor Cursor + +hi link pandocCodeBlock pandocVerbatimBlock +hi link pandocCodeBlockDelim pandocVerbatimBlock +hi link pandocEscapedCharacter pandocEscapePair +hi link pandocLineBreak pandocEscapePair +hi link pandocMetadataTitle pandocMetadata +hi link pandocTableStructureEnd pandocTableStructre +hi link pandocTableStructureTop pandocTableStructre +hi link pandocVerbatimBlockDeep pandocVerbatimBlock + +hi link vimFunc Function +hi link vimSet Normal +hi link vimSetEqual Normal +hi link vimUserFunc Function +hi link vipmVar Identifier + +hi clear SyntasticErrorLine +hi clear SyntasticWarningLine +hi clear helpLeadBlank +hi clear helpNormal +hi clear pandocTableStructre + +if has('nvim') + let g:terminal_color_0 = '#eee8d5' + let g:terminal_color_1 = '#dc322f' + let g:terminal_color_2 = '#859900' + let g:terminal_color_3 = '#b58900' + let g:terminal_color_4 = '#268bd2' + let g:terminal_color_5 = '#d33682' + let g:terminal_color_6 = '#2aa198' + let g:terminal_color_7 = '#073642' + let g:terminal_color_8 = '#fdf6e3' + let g:terminal_color_9 = '#cb4b16' + let g:terminal_color_10 = '#93a1a1' + let g:terminal_color_11 = '#839496' + let g:terminal_color_12 = '#657b83' + let g:terminal_color_13 = '#6c71c4' + let g:terminal_color_14 = '#586e75' + let g:terminal_color_15 = '#002b36' +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/focuspoint.vim b/nvim/plugged/awesome-vim-colorschemes/colors/focuspoint.vim new file mode 100644 index 00000000..a51160a7 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/focuspoint.vim @@ -0,0 +1,274 @@ +" Vim color file inherit from the molokai.vim file +" +" Author: Chase Colman +" Version: 0.2 (2014.05.26) +" +" Note: Based on the molokai theme for vim +" by Tomas Restrepo who based it on Monokai for Textmate +" by Wimer Hazenberg and its darker variant +" by Hamish Stuart Macpherson +" + +hi clear + +set background=dark +if version > 580 + " no guarantees for version 5.8 and below, but this makes it stop + " complaining + hi clear + if exists("syntax_on") + syntax reset + endif +endif +let g:colors_name="focuspoint" + +hi Boolean guifg=#CD5C5C +hi Character guifg=#E6DB74 +hi Number guifg=#CD5C5C +hi String guifg=#E6DB74 guibg=#242829 +hi Conditional guifg=#43AB59 gui=bold +hi Constant guifg=#CD5C5C gui=bold +hi Cursor guifg=#000000 guibg=#F8F8F0 +hi Debug guifg=#BCA3A3 gui=bold +hi Define guifg=#71ABC2 +hi Delimiter guifg=#8F8F8F +hi DiffAdd guifg=#94FFAB guibg=#3E804C +hi DiffChange guifg=#89807D guibg=#4C4745 +hi DiffDelete guifg=#CD5C5C guibg=#571F1F +hi DiffText guibg=#4C4745 gui=italic,bold + +hi Directory guifg=#d1c79e gui=bold +hi Error guifg=#CD5C5C guibg=#571F1F +hi ErrorMsg guifg=#43AB59 guibg=#232526 gui=bold +hi Exception guifg=#d1c79e gui=bold +hi Float guifg=#CD5C5C +hi FoldColumn guifg=#465457 guibg=#000000 +hi Folded guifg=#465457 guibg=#000000 +hi Function guifg=#d1c79e +hi Identifier guifg=#BD8F2E +hi Ignore guifg=#808080 guibg=bg +hi IncSearch guifg=#C4BE89 guibg=#000000 + +hi Keyword guifg=#43AB59 gui=bold +hi Label guifg=#E6DB74 gui=none +hi Macro guifg=#C4BE89 gui=italic +hi SpecialKey guifg=#71ABC2 gui=italic + +hi MatchParen guifg=fg guibg=#455354 gui=bold +hi ModeMsg guifg=#E6DB74 +hi MoreMsg guifg=#E6DB74 +hi Operator guifg=#43AB59 + +" complete menu +hi Pmenu guifg=#F8F8F2 guibg=#465457 +hi PmenuSel guifg=#232526 guibg=#43AB59 +hi PmenuSbar guibg=#43AB59 +hi PmenuThumb guifg=#F8F8F2 + +hi PreCondit guifg=#d1c79e gui=bold +hi PreProc guifg=#d1c79e +hi Question guifg=#71ABC2 +hi Repeat guifg=#43AB59 gui=bold +hi Search guifg=#FFFFFF guibg=#455354 +" marks column +hi SignColumn guifg=#d1c79e guibg=#232526 +hi SpecialChar guifg=#43AB59 guibg=#242829 gui=bold +hi SpecialComment guifg=#465457 gui=bold +hi Special guifg=#71ABC2 guibg=bg gui=italic +hi SpecialKey guifg=#888A85 gui=italic +if has("spell") + hi SpellBad guisp=#FF0000 gui=undercurl + hi SpellCap guisp=#7070F0 gui=undercurl + hi SpellLocal guisp=#70F0F0 gui=undercurl + hi SpellRare guisp=#FFFFFF gui=undercurl +endif +hi Statement guifg=#43AB59 gui=bold +hi StatusLine guifg=#455354 guibg=fg +hi StatusLineNC guifg=#7F7F7F guibg=#232526 +hi StorageClass guifg=#BD8F2E gui=italic +hi Structure guifg=#71ABC2 +hi Tag guifg=#43AB59 gui=italic +hi Title guifg=#FFC66D +hi Todo guifg=bg guibg=#71ABC2 gui=underline,bold + +hi Typedef guifg=#71ABC2 +hi Type guifg=#71ABC2 gui=bold +hi Underlined guifg=#808080 gui=underline + +hi VertSplit guifg=#080808 guibg=#080808 gui=bold +hi VisualNOS guibg=#403D3D +hi Visual guibg=#403D3D +hi WarningMsg guifg=#FFFFFF guibg=#333333 gui=bold +hi WildMenu guifg=#71ABC2 guibg=#000000 + +hi Normal guifg=#F8F8F2 guibg=#1B1D1E +hi Comment guifg=#465457 +hi CursorLine guibg=#293739 +hi CursorColumn guibg=#293739 +hi LineNr guifg=#7F7F7F guibg=#232526 +hi NonText guifg=#232526 guibg=#232526 +hi ExtraWhitespace guibg=#CD5C5C + +if &t_Co > 255 + hi Boolean ctermfg=167 + hi Character ctermfg=221 + hi Number ctermfg=167 + hi String ctermfg=221 ctermbg=235 + hi Conditional ctermfg=35 cterm=bold + hi Constant ctermfg=167 cterm=bold + hi Cursor ctermfg=0 ctermbg=15 + hi Debug ctermfg=131 cterm=bold + hi Define ctermfg=74 + hi Delimiter ctermfg=245 + hi DiffAdd ctermfg=121 ctermbg=35 + hi DiffChange ctermfg=245 ctermbg=237 + hi DiffDelete ctermfg=167 ctermbg=1 + hi DiffText ctermbg=239 cterm=bold + + hi Directory ctermfg=223 cterm=bold + hi Error ctermfg=15 ctermbg=1 + hi ErrorMsg ctermfg=35 ctermbg=235 cterm=bold + hi Exception ctermfg=223 cterm=bold + hi Float ctermfg=167 + hi FoldColumn ctermfg=239 ctermbg=0 + hi Folded ctermfg=239 ctermbg=0 + hi Function ctermfg=223 + hi Identifier ctermfg=179 cterm=none + hi Ignore ctermfg=8 ctermbg=0 + hi IncSearch ctermfg=186 ctermbg=0 + + hi Keyword ctermfg=35 cterm=bold + hi Label ctermfg=221 cterm=none + hi Macro ctermfg=186 + hi SpecialKey ctermfg=74 + + hi MatchParen ctermbg=238 cterm=bold + hi ModeMsg ctermfg=221 + hi MoreMsg ctermfg=221 + hi Operator ctermfg=35 + + " complete menu + hi Pmenu ctermfg=15 ctermbg=238 + hi PmenuSel ctermfg=235 ctermbg=35 + hi PmenuSbar ctermbg=35 + hi PmenuThumb ctermfg=15 + + hi PreCondit ctermfg=223 cterm=bold + hi PreProc ctermfg=223 + hi Question ctermfg=74 + hi Repeat ctermfg=35 cterm=bold + hi Search ctermfg=15 ctermbg=238 + " marks column + hi SignColumn ctermfg=223 ctermbg=235 + hi SpecialChar ctermfg=35 ctermbg=235 cterm=bold + hi SpecialComment ctermfg=239 cterm=bold + hi Special ctermfg=74 + hi SpecialKey ctermfg=245 + hi Statement ctermfg=35 cterm=bold + hi StatusLine ctermfg=238 ctermbg=15 + hi StatusLineNC ctermfg=243 ctermbg=235 + hi StorageClass ctermfg=179 + hi Structure ctermfg=74 + hi Tag ctermfg=35 + hi Title ctermfg=214 + hi Todo ctermfg=0 ctermbg=74 cterm=bold + + hi Typedef ctermfg=74 + hi Type ctermfg=74 cterm=bold + hi Underlined ctermfg=8 cterm=underline + + hi VertSplit ctermfg=232 ctermbg=232 cterm=bold + hi VisualNOS ctermbg=237 + hi Visual ctermbg=237 + hi WarningMsg ctermfg=15 ctermbg=236 cterm=bold + hi WildMenu ctermfg=74 ctermbg=0 + + hi Normal ctermfg=15 ctermbg=234 + hi Comment ctermfg=239 + hi CursorLine ctermbg=236 + hi CursorColumn ctermbg=236 + hi LineNr ctermfg=243 ctermbg=235 + hi NonText ctermfg=235 ctermbg=235 +else + hi Boolean ctermfg=9 + hi Character ctermfg=11 + hi Number ctermfg=9 + hi String ctermfg=11 ctermbg=8 + hi Conditional ctermfg=10 cterm=bold + hi Constant ctermfg=9 cterm=bold + hi Cursor ctermfg=0 ctermbg=15 + hi Debug ctermfg=7 cterm=bold + hi Define ctermfg=12 + hi Delimiter ctermfg=7 + hi DiffAdd ctermbg=4 + hi DiffChange ctermfg=8 ctermbg=0 + hi DiffDelete ctermfg=9 ctermbg=1 + hi DiffText ctermbg=0 cterm=bold + + hi Directory ctermfg=11 cterm=bold + hi Error ctermfg=15 ctermbg=1 + hi ErrorMsg ctermfg=6 ctermbg=0 cterm=bold + hi Exception ctermfg=11 cterm=bold + hi Float ctermfg=9 + hi FoldColumn ctermfg=8 ctermbg=0 + hi Folded ctermfg=8 ctermbg=0 + hi Function ctermfg=11 + hi Identifier ctermfg=3 cterm=none + hi Ignore ctermfg=8 ctermbg=0 + hi IncSearch ctermfg=3 ctermbg=0 + + hi Keyword ctermfg=6 cterm=bold + hi Label ctermfg=11 cterm=none + hi Macro ctermfg=3 + hi SpecialKey ctermfg=4 + + hi MatchParen ctermbg=0 cterm=bold + hi ModeMsg ctermfg=11 + hi MoreMsg ctermfg=11 + hi Operator ctermfg=6 + + " complete menu + hi Pmenu ctermfg=15 ctermbg=8 + hi PmenuSel ctermfg=15 ctermbg=2 + hi PmenuSbar ctermbg=2 + hi PmenuThumb ctermfg=15 + + hi PreCondit ctermfg=11 cterm=bold + hi PreProc ctermfg=11 + hi Question ctermfg=4 + hi Repeat ctermfg=6 cterm=bold + hi Search ctermfg=15 ctermbg=0 + " marks column + hi SignColumn ctermfg=11 ctermbg=0 + hi SpecialChar ctermfg=6 ctermbg=0 cterm=bold + hi SpecialComment ctermfg=8 cterm=bold + hi Special ctermfg=4 + hi SpecialKey ctermfg=8 + hi Statement ctermfg=6 cterm=bold + hi StatusLine ctermfg=0 ctermbg=15 + hi StatusLineNC ctermfg=8 ctermbg=0 + hi StorageClass ctermfg=3 + hi Structure ctermfg=4 + hi Tag ctermfg=6 + hi Title ctermfg=3 + hi Todo ctermfg=0 ctermbg=4 cterm=bold + + hi Typedef ctermfg=4 + hi Type ctermfg=4 cterm=bold + hi Underlined ctermfg=8 + + hi VertSplit ctermfg=0 ctermbg=0 cterm=bold + hi VisualNOS ctermbg=7 + hi Visual ctermbg=7 + hi WarningMsg ctermfg=15 ctermbg=8 cterm=bold + hi WildMenu ctermfg=4 ctermbg=0 + + hi Normal ctermfg=15 ctermbg=0 + hi Comment ctermfg=8 + hi CursorLine ctermbg=0 + hi CursorColumn ctermbg=0 + hi LineNr ctermfg=8 ctermbg=0 + hi NonText ctermfg=0 ctermbg=0 +endif + +set background=dark diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/fogbell.vim b/nvim/plugged/awesome-vim-colorschemes/colors/fogbell.vim new file mode 100644 index 00000000..3c3545b7 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/fogbell.vim @@ -0,0 +1,373 @@ +" +" +" ┌─┐┌─┐┌─┐┌┐ ┌─┐┬ ┬ +" ├┤ │ ││ ┬├┴┐├┤ │ │ +" └ └─┘└─┘└─┘└─┘┴─┘┴─┘ +" +" +" by Jared Gorski +" https://github.com/jaredgorski/fogbell + +scriptencoding utf-8 + +set background=dark +hi clear + +if exists("syntax_on") + syntax reset +endif + +let g:colors_name="fogbell" + +" ========================== +" Highlighting Function +" ========================== +" >> (inspired by https://github.com/tomasiser/vim-code-dark and https://github.com/chriskempson/base16-vim) +fun! hi(group, fg, bg, attr) + if !empty(a:fg) + exec "hi " . a:group . " guifg=" . a:fg.gui . " ctermfg=" . a:fg.cterm256 + endif + if !empty(a:bg) + exec "hi " . a:group . " guibg=" . a:bg.gui . " ctermbg=" . a:bg.cterm256 + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif +endfun + +" ========================== +" Color Variables +" ========================== +let s:voidBlack = {'gui': '#121212', 'cterm256': '233'} +let s:voidBlack2 = {'gui': '#262626', 'cterm256': '235'} +let s:voidGray1 = {'gui': '#3E3D32', 'cterm256': '237'} +let s:voidGray2 = {'gui': '#49483E', 'cterm256': '239'} +let s:voidGray3 = {'gui': '#6B6B6B', 'cterm256': '242'} +let s:voidGray4 = {'gui': '#B0B0B0', 'cterm256': '249'} +let s:voidSteel = {'gui': '#D0D0D0', 'cterm256': '252'} +let s:voidBlue = {'gui': '#699B9B', 'cterm256': '109'} +let s:voidGreen = {'gui': '#569F7A', 'cterm256': '72'} +let s:voidGold = {'gui': '#8E700B', 'cterm256': '136'} +let s:voidRed = {'gui': '#821A1A', 'cterm256': '1'} +let s:voidRed2 = {'gui': '#FF0000', 'cterm256': '196'} +let s:none = {'gui': 'NONE', 'cterm256': 'NONE'} + +" ========================== +" Definitions +" ========================== +" hi(GROUP, FOREGROUND, BACKGROUND, ATTRIBUTE) + +" Editor +call hi('ColorColumn', s:none, s:voidGray1, 'none') +call hi('Cursor', s:voidBlack, s:voidSteel, 'none') +call hi('CursorColumn', s:none, s:voidGray1, 'none') +call hi('CursorLine', s:none, s:voidGray1, 'none') +call hi('CursorLineNr', s:voidSteel, s:voidGray1, 'none') +call hi('Directory', s:voidSteel, s:voidBlack, 'none') +call hi('FoldColumn', s:none, s:voidBlack2, 'none') +call hi('Folded', s:voidGray3, s:none, 'none') +call hi('IncSearch', s:voidBlack, s:voidGold, 'none') +call hi('LineNr', s:voidGray3, s:voidBlack2, 'none') +call hi('MatchParen', s:voidSteel, s:voidGray3, 'none') +call hi('Normal', s:voidSteel, s:voidBlack, 'none') +call hi('Pmenu', s:none, s:voidBlack2, 'none') +call hi('PmenuSel', s:none, s:voidGray2, 'none') +call hi('Search', s:voidBlack, s:voidGold, 'none') +call hi('SignColumn', s:none, s:voidBlack2, 'none') +call hi('StatusLine', s:voidBlack, s:voidSteel, 'none') +call hi('StatusLineNC', s:voidGray3, s:voidBlack2, 'none') +call hi('VertSplit', s:voidBlack, s:voidGray3, 'none') +call hi('Visual', s:none, s:voidGray2, 'none') + +" General +call hi('Boolean', s:voidSteel, s:none, 'none') +call hi('Character', s:voidSteel, s:none, 'none') +call hi('Comment', s:voidGray3, s:none, 'none') +call hi('Conditional', s:voidSteel, s:none, 'none') +call hi('Constant', s:voidSteel, s:none, 'none') +call hi('Define', s:voidSteel, s:none, 'none') +call hi('DiffAdd', s:voidBlack, s:voidGreen, 'none') +call hi('DiffChange', s:voidBlack, s:voidGold, 'none') +call hi('DiffDelete', s:voidSteel, s:voidRed, 'none') +call hi('DiffText', s:voidGray1, s:voidBlue, 'none') +call hi('ErrorMsg', s:voidSteel, s:voidRed, 'none') +call hi('Float', s:voidSteel, s:none, 'none') +call hi('Function', s:voidSteel, s:none, 'none') +call hi('Identifier', s:voidSteel, s:none, 'none') +call hi('Keyword', s:voidSteel, s:none, 'none') +call hi('Label', s:voidSteel, s:none, 'none') +call hi('NonText', s:voidGray3, s:none, 'none') +call hi('Number', s:voidSteel, s:none, 'none') +call hi('Operator', s:voidSteel, s:none, 'none') +call hi('PreProc', s:voidSteel, s:none, 'none') +call hi('Special', s:voidSteel, s:none, 'none') +call hi('SpecialKey', s:voidSteel, s:none, 'none') +call hi('SpellBad', s:voidRed2, s:none, 'italic,undercurl') +call hi('SpellCap', s:voidSteel, s:none, 'italic,undercurl') +call hi('SpellLocal', s:voidSteel, s:none, 'undercurl') +call hi('Statement', s:voidSteel, s:none, 'none') +call hi('StorageClass', s:voidSteel, s:none, 'none') +call hi('String', s:voidSteel, s:none, 'none') +call hi('Tag', s:voidSteel, s:none, 'none') +call hi('Title', s:none, s:none, 'bold') +call hi('Todo', s:voidGray3, s:none, 'inverse,bold') +call hi('Type', s:none, s:none, 'none') +call hi('Underlined', s:none, s:none, 'underline') +call hi('WarningMsg', s:voidSteel, s:voidRed, 'none') + +" Diff Mode +if &diff + call hi('DiffAdd', s:voidBlack, s:voidGreen, 'none') + call hi('DiffChange', s:voidBlack, s:voidGold, 'none') + call hi('DiffDelete', s:voidRed2, s:voidRed, 'none') + call hi('DiffText', s:voidGray1, s:voidBlue, 'none') +else + call hi('DiffAdd', s:voidGreen, s:none, 'none') + call hi('DiffChange', s:voidGold, s:none, 'none') + call hi('DiffDelete', s:voidRed2, s:none, 'none') + call hi('DiffText', s:voidSteel, s:voidBlue, 'none') +endif + +" ------------ +" Languages +" ------------ + +" C +call hi('cConstant', s:voidSteel, s:none, 'none') +call hi('cFormat', s:voidSteel, s:none, 'none') +call hi('cMulti', s:voidSteel, s:none, 'none') +call hi('cNumbers', s:voidSteel, s:none, 'none') +call hi('cOperator', s:voidSteel, s:none, 'none') +call hi('cSpecial', s:voidSteel, s:none, 'none') +call hi('cSpecialCharacter', s:voidSteel, s:none, 'none') +call hi('cStatement', s:voidSteel, s:none, 'none') +call hi('cStorageClass', s:voidSteel, s:none, 'none') +call hi('cString', s:voidSteel, s:none, 'none') +call hi('cStructure', s:voidSteel, s:none, 'none') +call hi('cType', s:voidSteel, s:none, 'none') + +" C++ +call hi('cppConstant', s:voidSteel, s:none, 'none') +call hi('cppFormat', s:voidSteel, s:none, 'none') +call hi('cppMulti', s:voidSteel, s:none, 'none') +call hi('cppNumbers', s:voidSteel, s:none, 'none') +call hi('cppOperator', s:voidSteel, s:none, 'none') +call hi('cppSpecial', s:voidSteel, s:none, 'none') +call hi('cppSpecialCharacter', s:voidSteel, s:none, 'none') +call hi('cppStatement', s:voidSteel, s:none, 'none') +call hi('cppStorageClass', s:voidSteel, s:none, 'none') +call hi('cppString', s:voidSteel, s:none, 'none') +call hi('cppStructure', s:voidSteel, s:none, 'none') +call hi('cppType', s:voidSteel, s:none, 'none') + +" CSS +call hi('cssAttr', s:voidSteel, s:none, 'none') +call hi('cssAttrRegion', s:voidSteel, s:none, 'none') +call hi('cssBraces', s:voidSteel, s:none, 'none') +call hi('cssBrowserPrefix', s:voidSteel, s:none, 'none') +call hi('cssClassName', s:voidSteel, s:none, 'none') +call hi('cssClassNameDot', s:voidSteel, s:none, 'none') +call hi('cssClassSelectorDot', s:voidSteel, s:none, 'none') +call hi('cssColor', s:voidSteel, s:none, 'none') +call hi('cssCommonAttr', s:voidSteel, s:none, 'none') +call hi('cssCustomProperty', s:voidSteel, s:none, 'none') +call hi('cssDefinition', s:voidSteel, s:none, 'none') +call hi('cssFunction', s:voidSteel, s:none, 'none') +call hi('cssFunctionName', s:voidSteel, s:none, 'none') +call hi('cssIdentifier', s:voidSteel, s:none, 'none') +call hi('cssImportant', s:voidSteel, s:none, 'none') +call hi('cssInclude', s:voidSteel, s:none, 'none') +call hi('cssMedia', s:voidSteel, s:none, 'none') +call hi('cssMediaBlock', s:voidSteel, s:none, 'none') +call hi('cssProp', s:voidSteel, s:none, 'none') +call hi('cssGeneratedContentProp', s:voidSteel, s:none, 'none') +call hi('cssTextProp', s:voidSteel, s:none, 'none') +call hi('cssAnimationProp', s:voidSteel, s:none, 'none') +call hi('cssUIProp', s:voidSteel, s:none, 'none') +call hi('cssTransformProp', s:voidSteel, s:none, 'none') +call hi('cssTransitionProp', s:voidSteel, s:none, 'none') +call hi('cssPrintProp', s:voidSteel, s:none, 'none') +call hi('cssPositioningProp', s:voidSteel, s:none, 'none') +call hi('cssBoxProp', s:voidSteel, s:none, 'none') +call hi('cssFontDescriptorProp', s:voidSteel, s:none, 'none') +call hi('cssFlexibleBoxProp', s:voidSteel, s:none, 'none') +call hi('cssBorderOutlineProp', s:voidSteel, s:none, 'none') +call hi('cssBackgroundProp', s:voidSteel, s:none, 'none') +call hi('cssMarginProp', s:voidSteel, s:none, 'none') +call hi('cssListProp', s:voidSteel, s:none, 'none') +call hi('cssTableProp', s:voidSteel, s:none, 'none') +call hi('cssFontProp', s:voidSteel, s:none, 'none') +call hi('cssPaddingProp', s:voidSteel, s:none, 'none') +call hi('cssDimensionProp', s:voidSteel, s:none, 'none') +call hi('cssRenderProp', s:voidSteel, s:none, 'none') +call hi('cssColorProp', s:voidSteel, s:none, 'none') +call hi('cssGeneratedContentProp', s:voidSteel, s:none, 'none') +call hi('cssPropDefinition', s:voidSteel, s:none, 'none') +call hi('cssPseudoClass', s:voidSteel, s:none, 'none') +call hi('cssPseudoClassId', s:voidSteel, s:none, 'none') +call hi('cssPseudoClassLang', s:voidSteel, s:none, 'none') +call hi('cssSelectorOperator', s:voidSteel, s:none, 'none') +call hi('cssTagName', s:voidSteel, s:none, 'none') +call hi('cssURL', s:voidSteel, s:none, 'none') +call hi('cssUnitDecorators', s:voidSteel, s:none, 'none') +call hi('cssUnits', s:voidSteel, s:none, 'none') +call hi('cssValueLength', s:voidSteel, s:none, 'none') +call hi('cssValueNumber', s:voidSteel, s:none, 'none') +call hi('cssValueKeyword', s:voidSteel, s:none, 'none') +call hi('cssVendor', s:voidSteel, s:none, 'none') + +" HTML +call hi('htmlArg', s:voidSteel, s:none, 'none') +call hi('htmlEndTag', s:voidSteel, s:none, 'none') +call hi('htmlSpecialChar', s:voidSteel, s:none, 'none') +call hi('htmlSpecialTagName', s:voidSteel, s:none, 'none') +call hi('htmlTag', s:voidSteel, s:none, 'none') +call hi('htmlTagName', s:voidSteel, s:none, 'none') + +" JavaScript +call hi('javaScript', s:voidSteel, s:none, 'none') +call hi('javaScriptFunction', s:voidSteel, s:none, 'none') +call hi('javaScriptIdentifier', s:voidSteel, s:none, 'none') +call hi('javaScriptMember', s:voidSteel, s:none, 'none') +call hi('javaScriptNull', s:voidSteel, s:none, 'none') +call hi('javaScriptNumber', s:voidSteel, s:none, 'none') +call hi('javaScriptNumber', s:voidSteel, s:none, 'none') +call hi('javaScriptParens', s:voidSteel, s:none, 'none') +call hi('javaScriptSpecial', s:voidSteel, s:none, 'none') +call hi('javaScriptStringS', s:voidSteel, s:none, 'none') +call hi('javascriptArrayMethod', s:voidSteel, s:none, 'none') +call hi('javascriptArrayStaticMethod', s:voidSteel, s:none, 'none') +call hi('javascriptArrowFunc', s:voidSteel, s:none, 'none') +call hi('javascriptAsyncFuncKeyword', s:voidSteel, s:none, 'none') +call hi('javascriptAwaitFuncKeyword', s:voidSteel, s:none, 'none') +call hi('javascriptBraces', s:voidSteel, s:none, 'none') +call hi('javascriptBrackets', s:voidSteel, s:none, 'none') +call hi('javascriptCacheMethod', s:voidSteel, s:none, 'none') +call hi('javascriptClassExtends', s:voidSteel, s:none, 'none') +call hi('javascriptClassKeyword', s:voidSteel, s:none, 'none') +call hi('javascriptClassName', s:voidSteel, s:none, 'none') +call hi('javascriptClassSuperName', s:voidSteel, s:none, 'none') +call hi('javascriptDOMElemAttrs', s:voidSteel, s:none, 'none') +call hi('javascriptDOMEventMethod', s:voidSteel, s:none, 'none') +call hi('javascriptDOMNodeMethod', s:voidSteel, s:none, 'none') +call hi('javascriptDOMStorageMethod', s:voidSteel, s:none, 'none') +call hi('javascriptDateMethod', s:voidSteel, s:none, 'none') +call hi('javascriptDefault', s:voidSteel, s:none, 'none') +call hi('javascriptDocNamedParamType', s:voidGray4, s:none, 'none') +call hi('javascriptDocNotation', s:voidGray4, s:none, 'none') +call hi('javascriptDocParamName', s:voidGray4, s:none, 'none') +call hi('javascriptDocParamType', s:voidGray4, s:none, 'none') +call hi('javascriptDocTags', s:voidGray4, s:none, 'none') +call hi('javascriptEndColons', s:voidSteel, s:none, 'none') +call hi('javascriptExport', s:voidSteel, s:none, 'none') +call hi('javascriptHeadersMethod', s:voidSteel, s:none, 'none') +call hi('javascriptIdentifierName', s:voidSteel, s:none, 'none') +call hi('javascriptImport', s:voidSteel, s:none, 'none') +call hi('javascriptLabel', s:voidSteel, s:none, 'none') +call hi('javascriptLogicSymbols', s:voidSteel, s:none, 'none') +call hi('javascriptMathStaticMethod', s:voidSteel, s:none, 'none') +call hi('javascriptObjectLabel', s:voidSteel, s:none, 'none') +call hi('javascriptOperator', s:voidSteel, s:none, 'none') +call hi('javascriptPropertyName', s:voidSteel, s:none, 'none') +call hi('javascriptStringMethod', s:voidSteel, s:none, 'none') +call hi('javascriptVariable', s:voidSteel, s:none, 'none') +call hi('javascriptYield', s:voidSteel, s:none, 'none') +call hi('jsArrowFunction', s:voidSteel, s:none, 'none') +call hi('jsClassDefinition', s:voidSteel, s:none, 'none') +call hi('jsClassKeyword', s:voidSteel, s:none, 'none') +call hi('jsDecorator', s:voidSteel, s:none, 'none') +call hi('jsDestructuringBlock', s:voidSteel, s:none, 'none') +call hi('jsExportDefault', s:voidSteel, s:none, 'none') +call hi('jsExtendsKeyword', s:voidSteel, s:none, 'none') +call hi('jsFuncArgs', s:voidSteel, s:none, 'none') +call hi('jsFuncCall', s:voidSteel, s:none, 'none') +call hi('jsFunction', s:voidSteel, s:none, 'none') +call hi('jsGlobalObjects', s:voidSteel, s:none, 'none') +call hi('jsModuleKeyword', s:voidSteel, s:none, 'none') +call hi('jsNull', s:voidSteel, s:none, 'none') +call hi('jsObjectBraces', s:voidSteel, s:none, 'none') +call hi('jsObjectKey', s:voidSteel, s:none, 'none') +call hi('jsObjectStringKey', s:voidSteel, s:none, 'none') +call hi('jsRegexpString', s:voidSteel, s:none, 'none') +call hi('jsReturn', s:voidSteel, s:none, 'none') +call hi('jsSpecial', s:voidSteel, s:none, 'none') +call hi('jsSuper', s:voidSteel, s:none, 'none') +call hi('jsTemplateBraces', s:voidSteel, s:none, 'none') +call hi('jsTemplateString', s:voidSteel, s:none, 'none') +call hi('jsThis', s:voidSteel, s:none, 'none') +call hi('jsVariableDef', s:voidSteel, s:none, 'none') + +" JSX +call hi('jsxAttrib', s:voidSteel, s:none, 'none') +call hi('jsxAttributeBraces', s:voidSteel, s:none, 'none') +call hi('jsxCloseString', s:voidSteel, s:none, 'none') +call hi('jsxCloseTag', s:voidSteel, s:none, 'none') +call hi('jsxString', s:voidSteel, s:none, 'none') +call hi('jsxTag', s:voidSteel, s:none, 'none') +call hi('jsxTagName', s:voidSteel, s:none, 'none') + +" Ruby +call hi('rubyBlockParameter', s:voidSteel, s:none, 'none') +call hi('rubyClass', s:voidSteel, s:none, 'none') +call hi('rubyClassVariable', s:voidSteel, s:none, 'none') +call hi('rubyConstant', s:voidSteel, s:none, 'none') +call hi('rubyControl', s:voidSteel, s:none, 'none') +call hi('rubyEscape', s:voidSteel, s:none, 'none') +call hi('rubyException', s:voidSteel, s:none, 'none') +call hi('rubyFunction', s:voidSteel, s:none, 'none') +call hi('rubyGlobalVariable', s:voidSteel, s:none, 'none') +call hi('rubyInclude', s:voidSteel, s:none, 'none') +call hi('rubyInstanceVariable', s:voidSteel, s:none, 'none') +call hi('rubyInterpolationDelimiter', s:none, s:none, 'none') +call hi('rubyOperator', s:voidSteel, s:none, 'none') +call hi('rubyPseudoVariable', s:voidSteel, s:none, 'none') +call hi('rubyRegexp', s:voidSteel, s:none, 'none') +call hi('rubyRegexpDelimiter', s:voidSteel, s:none, 'none') +call hi('rubyStringDelimiter', s:voidSteel, s:none, 'none') +call hi('rubySymbol', s:voidSteel, s:none, 'none') + +" Ruby (Embedded) +call hi('erubyComment', s:voidGray3, s:none, 'none') +call hi('erubyDelimiter', s:none, s:none, 'none') +call hi('erubyRailsMethod', s:voidSteel, s:none, 'none') + +" Ruby on Rails +call hi('rubyRailsARAssociationMethod', s:voidSteel, s:none, 'none') +call hi('rubyRailsARMethod', s:voidSteel, s:none, 'none') +call hi('rubyRailsMethod', s:voidSteel, s:none, 'none') +call hi('rubyRailsRenderMethod', s:voidSteel, s:none, 'none') +call hi('rubyRailsUserClass', s:voidSteel, s:none, 'none') + +" XML +call hi('xmlAttrib', s:voidSteel, s:none, 'none') +call hi('xmlEndTag', s:voidSteel, s:none, 'none') +call hi('xmlTag', s:voidSteel, s:none, 'none') +call hi('xmlTagName', s:voidSteel, s:none, 'none') + +" YAML +call hi('yamlAlias', s:voidSteel, s:none, 'none') +call hi('yamlAnchor', s:voidSteel, s:none, 'none') +call hi('yamlDocumentHeader', s:voidSteel, s:none, 'none') +call hi('yamlKey', s:voidSteel, s:none, 'none') + + + +" ------------ +" Plugins +" ------------ + +" todo.txt +call hi('TodoContext', s:voidSteel, s:none, 'none') +call hi('TodoDate', s:voidSteel, s:none, 'none') +call hi('TodoDone', s:voidGray3, s:none, 'none') +call hi('TodoPriorityA', s:voidSteel, s:none, 'none') +call hi('TodoPriorityB', s:voidSteel, s:none, 'none') +call hi('TodoPriorityC', s:voidSteel, s:none, 'none') +call hi('TodoProject', s:voidSteel, s:none, 'none') + +" Buftabline +call hi('BufTabLineActive', s:voidSteel, s:voidGray2, 'none') +call hi('BufTabLineCurrent', s:voidBlack, s:voidGray4, 'none') +call hi('BufTabLineFill', s:voidBlack, s:voidBlack, 'none') +call hi('BufTabLineHidden', s:voidGray3, s:voidBlack2, 'none') + diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/fogbell_light.vim b/nvim/plugged/awesome-vim-colorschemes/colors/fogbell_light.vim new file mode 100644 index 00000000..836626f4 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/fogbell_light.vim @@ -0,0 +1,373 @@ +" +" +" ┌─┐┌─┐┌─┐┌┐ ┌─┐┬ ┬ +" ├┤ │ ││ ┬├┴┐├┤ │ │ +" └ └─┘└─┘└─┘└─┘┴─┘┴─┘ +" +" +" by Jared Gorski +" https://github.com/jaredgorski/fogbell + +scriptencoding utf-8 + +set background=light +hi clear + +if exists("syntax_on") + syntax reset +endif + +let g:colors_name="fogbell_light" + +" ========================== +" Highlighting Function +" ========================== +" >> (inspired by https://github.com/tomasiser/vim-code-dark and https://github.com/chriskempson/base16-vim) +fun! hi(group, fg, bg, attr) + if !empty(a:fg) + exec "hi " . a:group . " guifg=" . a:fg.gui . " ctermfg=" . a:fg.cterm256 + endif + if !empty(a:bg) + exec "hi " . a:group . " guibg=" . a:bg.gui . " ctermbg=" . a:bg.cterm256 + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif +endfun + +" ========================== +" Color Variables +" ========================== +let s:voidBlack = {'gui': '#121212', 'cterm256': '233'} +let s:voidBlack2 = {'gui': '#262626', 'cterm256': '235'} +let s:voidGray1 = {'gui': '#3E3D32', 'cterm256': '237'} +let s:voidGray2 = {'gui': '#49483E', 'cterm256': '239'} +let s:voidGray3 = {'gui': '#6B6B6B', 'cterm256': '242'} +let s:voidGray4 = {'gui': '#B0B0B0', 'cterm256': '249'} +let s:voidSteel = {'gui': '#D0D0D0', 'cterm256': '252'} +let s:voidBlue = {'gui': '#699B9B', 'cterm256': '109'} +let s:voidGreen = {'gui': '#569F7A', 'cterm256': '72'} +let s:voidGold = {'gui': '#8E700B', 'cterm256': '136'} +let s:voidRed = {'gui': '#821A1A', 'cterm256': '1'} +let s:voidRed2 = {'gui': '#FF0000', 'cterm256': '196'} +let s:none = {'gui': 'NONE', 'cterm256': 'NONE'} + +" ========================== +" Definitions +" ========================== +" hi(GROUP, FOREGROUND, BACKGROUND, ATTRIBUTE) + +" Editor +call hi('ColorColumn', s:none, s:voidGray1, 'none') +call hi('Cursor', s:voidSteel, s:voidBlack2, 'none') +call hi('CursorColumn', s:none, s:voidGray1, 'none') +call hi('CursorLine', s:none, s:voidGray1, 'none') +call hi('CursorLineNr', s:voidBlack, s:voidGray1, 'none') +call hi('Directory', s:voidBlack, s:none, 'none') +call hi('FoldColumn', s:none, s:voidBlack2, 'none') +call hi('Folded', s:voidGray3, s:none, 'none') +call hi('IncSearch', s:voidSteel, s:voidGold, 'none') +call hi('LineNr', s:voidGray3, s:voidBlack2, 'none') +call hi('MatchParen', s:voidBlack, s:voidGray4, 'none') +call hi('Normal', s:voidBlack, s:voidSteel, 'none') +call hi('Pmenu', s:voidBlack, s:voidGray4, 'none') +call hi('PmenuSel', s:voidSteel, s:voidGray2, 'none') +call hi('Search', s:voidSteel, s:voidGold, 'none') +call hi('SignColumn', s:none, s:voidBlack2, 'none') +call hi('StatusLine', s:voidSteel, s:voidBlack, 'none') +call hi('StatusLineNC', s:voidGray3, s:voidBlack2, 'none') +call hi('VertSplit', s:voidBlack, s:voidGray3, 'none') +call hi('Visual', s:none, s:voidGray2, 'none') + +" General +call hi('Boolean', s:voidBlack, s:none, 'none') +call hi('Character', s:voidBlack, s:none, 'none') +call hi('Comment', s:voidGray3, s:none, 'none') +call hi('Conditional', s:voidBlack, s:none, 'none') +call hi('Constant', s:voidBlack, s:none, 'none') +call hi('Define', s:voidBlack, s:none, 'none') +call hi('DiffAdd', s:voidSteel, s:voidGreen, 'none') +call hi('DiffChange', s:voidSteel, s:voidGold, 'none') +call hi('DiffDelete', s:voidBlack, s:voidRed, 'none') +call hi('DiffText', s:voidGray1, s:voidBlue, 'none') +call hi('ErrorMsg', s:voidBlack, s:voidRed, 'none') +call hi('Float', s:voidBlack, s:none, 'none') +call hi('Function', s:voidBlack, s:none, 'none') +call hi('Identifier', s:voidBlack, s:none, 'none') +call hi('Keyword', s:voidBlack, s:none, 'none') +call hi('Label', s:voidBlack, s:none, 'none') +call hi('NonText', s:voidGray1, s:none, 'none') +call hi('Number', s:voidBlack, s:none, 'none') +call hi('Operator', s:voidBlack, s:none, 'none') +call hi('PreProc', s:voidBlack, s:none, 'none') +call hi('Special', s:voidBlack, s:none, 'none') +call hi('SpecialKey', s:voidBlack, s:none, 'none') +call hi('SpellBad', s:voidRed2, s:none, 'italic,undercurl') +call hi('SpellCap', s:voidBlack, s:none, 'italic,undercurl') +call hi('SpellLocal', s:voidBlack, s:none, 'undercurl') +call hi('Statement', s:voidBlack, s:none, 'none') +call hi('StorageClass', s:voidBlack, s:none, 'none') +call hi('String', s:voidBlack, s:none, 'none') +call hi('Tag', s:voidBlack, s:none, 'none') +call hi('Title', s:none, s:none, 'bold') +call hi('Todo', s:voidGray3, s:none, 'inverse,bold') +call hi('Type', s:none, s:none, 'none') +call hi('Underlined', s:none, s:none, 'underline') +call hi('WarningMsg', s:voidBlack, s:voidRed, 'none') + +" Diff Mode +if &diff + call hi('DiffAdd', s:voidSteel, s:voidGreen, 'none') + call hi('DiffChange', s:voidSteel, s:voidGold, 'none') + call hi('DiffDelete', s:voidRed2, s:voidRed, 'none') + call hi('DiffText', s:voidGray1, s:voidBlue, 'none') +else + call hi('DiffAdd', s:voidGreen, s:none, 'none') + call hi('DiffChange', s:voidGold, s:none, 'none') + call hi('DiffDelete', s:voidRed2, s:none, 'none') + call hi('DiffText', s:voidBlack, s:voidBlue, 'none') +endif + +" ------------ +" Languages +" ------------ + +" C +call hi('cConstant', s:voidBlack, s:none, 'none') +call hi('cFormat', s:voidBlack, s:none, 'none') +call hi('cMulti', s:voidBlack, s:none, 'none') +call hi('cNumbers', s:voidBlack, s:none, 'none') +call hi('cOperator', s:voidBlack, s:none, 'none') +call hi('cSpecial', s:voidBlack, s:none, 'none') +call hi('cSpecialCharacter', s:voidBlack, s:none, 'none') +call hi('cStatement', s:voidBlack, s:none, 'none') +call hi('cStorageClass', s:voidBlack, s:none, 'none') +call hi('cString', s:voidBlack, s:none, 'none') +call hi('cStructure', s:voidBlack, s:none, 'none') +call hi('cType', s:voidBlack, s:none, 'none') + +" C++ +call hi('cppConstant', s:voidBlack, s:none, 'none') +call hi('cppFormat', s:voidBlack, s:none, 'none') +call hi('cppMulti', s:voidBlack, s:none, 'none') +call hi('cppNumbers', s:voidBlack, s:none, 'none') +call hi('cppOperator', s:voidBlack, s:none, 'none') +call hi('cppSpecial', s:voidBlack, s:none, 'none') +call hi('cppSpecialCharacter', s:voidBlack, s:none, 'none') +call hi('cppStatement', s:voidBlack, s:none, 'none') +call hi('cppStorageClass', s:voidBlack, s:none, 'none') +call hi('cppString', s:voidBlack, s:none, 'none') +call hi('cppStructure', s:voidBlack, s:none, 'none') +call hi('cppType', s:voidBlack, s:none, 'none') + +" CSS +call hi('cssAttr', s:voidBlack, s:none, 'none') +call hi('cssAttrRegion', s:voidBlack, s:none, 'none') +call hi('cssBraces', s:voidBlack, s:none, 'none') +call hi('cssBrowserPrefix', s:voidBlack, s:none, 'none') +call hi('cssClassName', s:voidBlack, s:none, 'none') +call hi('cssClassNameDot', s:voidBlack, s:none, 'none') +call hi('cssClassSelectorDot', s:voidBlack, s:none, 'none') +call hi('cssColor', s:voidBlack, s:none, 'none') +call hi('cssCommonAttr', s:voidBlack, s:none, 'none') +call hi('cssCustomProperty', s:voidBlack, s:none, 'none') +call hi('cssDefinition', s:voidBlack, s:none, 'none') +call hi('cssFunction', s:voidBlack, s:none, 'none') +call hi('cssFunctionName', s:voidBlack, s:none, 'none') +call hi('cssIdentifier', s:voidBlack, s:none, 'none') +call hi('cssImportant', s:voidBlack, s:none, 'none') +call hi('cssInclude', s:voidBlack, s:none, 'none') +call hi('cssMedia', s:voidBlack, s:none, 'none') +call hi('cssMediaBlock', s:voidBlack, s:none, 'none') +call hi('cssProp', s:voidBlack, s:none, 'none') +call hi('cssGeneratedContentProp', s:voidBlack, s:none, 'none') +call hi('cssTextProp', s:voidBlack, s:none, 'none') +call hi('cssAnimationProp', s:voidBlack, s:none, 'none') +call hi('cssUIProp', s:voidBlack, s:none, 'none') +call hi('cssTransformProp', s:voidBlack, s:none, 'none') +call hi('cssTransitionProp', s:voidBlack, s:none, 'none') +call hi('cssPrintProp', s:voidBlack, s:none, 'none') +call hi('cssPositioningProp', s:voidBlack, s:none, 'none') +call hi('cssBoxProp', s:voidBlack, s:none, 'none') +call hi('cssFontDescriptorProp', s:voidBlack, s:none, 'none') +call hi('cssFlexibleBoxProp', s:voidBlack, s:none, 'none') +call hi('cssBorderOutlineProp', s:voidBlack, s:none, 'none') +call hi('cssBackgroundProp', s:voidBlack, s:none, 'none') +call hi('cssMarginProp', s:voidBlack, s:none, 'none') +call hi('cssListProp', s:voidBlack, s:none, 'none') +call hi('cssTableProp', s:voidBlack, s:none, 'none') +call hi('cssFontProp', s:voidBlack, s:none, 'none') +call hi('cssPaddingProp', s:voidBlack, s:none, 'none') +call hi('cssDimensionProp', s:voidBlack, s:none, 'none') +call hi('cssRenderProp', s:voidBlack, s:none, 'none') +call hi('cssColorProp', s:voidBlack, s:none, 'none') +call hi('cssGeneratedContentProp', s:voidBlack, s:none, 'none') +call hi('cssPropDefinition', s:voidBlack, s:none, 'none') +call hi('cssPseudoClass', s:voidBlack, s:none, 'none') +call hi('cssPseudoClassId', s:voidBlack, s:none, 'none') +call hi('cssPseudoClassLang', s:voidBlack, s:none, 'none') +call hi('cssSelectorOperator', s:voidBlack, s:none, 'none') +call hi('cssTagName', s:voidBlack, s:none, 'none') +call hi('cssURL', s:voidBlack, s:none, 'none') +call hi('cssUnitDecorators', s:voidBlack, s:none, 'none') +call hi('cssUnits', s:voidBlack, s:none, 'none') +call hi('cssValueLength', s:voidBlack, s:none, 'none') +call hi('cssValueNumber', s:voidBlack, s:none, 'none') +call hi('cssValueKeyword', s:voidBlack, s:none, 'none') +call hi('cssVendor', s:voidBlack, s:none, 'none') + +" HTML +call hi('htmlArg', s:voidBlack, s:none, 'none') +call hi('htmlEndTag', s:voidBlack, s:none, 'none') +call hi('htmlSpecialChar', s:voidBlack, s:none, 'none') +call hi('htmlSpecialTagName', s:voidBlack, s:none, 'none') +call hi('htmlTag', s:voidBlack, s:none, 'none') +call hi('htmlTagName', s:voidBlack, s:none, 'none') + +" JavaScript +call hi('javaScript', s:voidBlack, s:none, 'none') +call hi('javaScriptFunction', s:voidBlack, s:none, 'none') +call hi('javaScriptIdentifier', s:voidBlack, s:none, 'none') +call hi('javaScriptMember', s:voidBlack, s:none, 'none') +call hi('javaScriptNull', s:voidBlack, s:none, 'none') +call hi('javaScriptNumber', s:voidBlack, s:none, 'none') +call hi('javaScriptNumber', s:voidBlack, s:none, 'none') +call hi('javaScriptParens', s:voidBlack, s:none, 'none') +call hi('javaScriptSpecial', s:voidBlack, s:none, 'none') +call hi('javaScriptStringS', s:voidBlack, s:none, 'none') +call hi('javascriptArrayMethod', s:voidBlack, s:none, 'none') +call hi('javascriptArrayStaticMethod', s:voidBlack, s:none, 'none') +call hi('javascriptArrowFunc', s:voidBlack, s:none, 'none') +call hi('javascriptAsyncFuncKeyword', s:voidBlack, s:none, 'none') +call hi('javascriptAwaitFuncKeyword', s:voidBlack, s:none, 'none') +call hi('javascriptBraces', s:voidBlack, s:none, 'none') +call hi('javascriptBrackets', s:voidBlack, s:none, 'none') +call hi('javascriptCacheMethod', s:voidBlack, s:none, 'none') +call hi('javascriptClassExtends', s:voidBlack, s:none, 'none') +call hi('javascriptClassKeyword', s:voidBlack, s:none, 'none') +call hi('javascriptClassName', s:voidBlack, s:none, 'none') +call hi('javascriptClassSuperName', s:voidBlack, s:none, 'none') +call hi('javascriptDOMElemAttrs', s:voidBlack, s:none, 'none') +call hi('javascriptDOMEventMethod', s:voidBlack, s:none, 'none') +call hi('javascriptDOMNodeMethod', s:voidBlack, s:none, 'none') +call hi('javascriptDOMStorageMethod', s:voidBlack, s:none, 'none') +call hi('javascriptDateMethod', s:voidBlack, s:none, 'none') +call hi('javascriptDefault', s:voidBlack, s:none, 'none') +call hi('javascriptDocNamedParamType', s:voidGray4, s:none, 'none') +call hi('javascriptDocNotation', s:voidGray4, s:none, 'none') +call hi('javascriptDocParamName', s:voidGray4, s:none, 'none') +call hi('javascriptDocParamType', s:voidGray4, s:none, 'none') +call hi('javascriptDocTags', s:voidGray4, s:none, 'none') +call hi('javascriptEndColons', s:voidBlack, s:none, 'none') +call hi('javascriptExport', s:voidBlack, s:none, 'none') +call hi('javascriptHeadersMethod', s:voidBlack, s:none, 'none') +call hi('javascriptIdentifierName', s:voidBlack, s:none, 'none') +call hi('javascriptImport', s:voidBlack, s:none, 'none') +call hi('javascriptLabel', s:voidBlack, s:none, 'none') +call hi('javascriptLogicSymbols', s:voidBlack, s:none, 'none') +call hi('javascriptMathStaticMethod', s:voidBlack, s:none, 'none') +call hi('javascriptObjectLabel', s:voidBlack, s:none, 'none') +call hi('javascriptOperator', s:voidBlack, s:none, 'none') +call hi('javascriptPropertyName', s:voidBlack, s:none, 'none') +call hi('javascriptStringMethod', s:voidBlack, s:none, 'none') +call hi('javascriptVariable', s:voidBlack, s:none, 'none') +call hi('javascriptYield', s:voidBlack, s:none, 'none') +call hi('jsArrowFunction', s:voidBlack, s:none, 'none') +call hi('jsClassDefinition', s:voidBlack, s:none, 'none') +call hi('jsClassKeyword', s:voidBlack, s:none, 'none') +call hi('jsDecorator', s:voidBlack, s:none, 'none') +call hi('jsDestructuringBlock', s:voidBlack, s:none, 'none') +call hi('jsExportDefault', s:voidBlack, s:none, 'none') +call hi('jsExtendsKeyword', s:voidBlack, s:none, 'none') +call hi('jsFuncArgs', s:voidBlack, s:none, 'none') +call hi('jsFuncCall', s:voidBlack, s:none, 'none') +call hi('jsFunction', s:voidBlack, s:none, 'none') +call hi('jsGlobalObjects', s:voidBlack, s:none, 'none') +call hi('jsModuleKeyword', s:voidBlack, s:none, 'none') +call hi('jsNull', s:voidBlack, s:none, 'none') +call hi('jsObjectBraces', s:voidBlack, s:none, 'none') +call hi('jsObjectKey', s:voidBlack, s:none, 'none') +call hi('jsObjectStringKey', s:voidBlack, s:none, 'none') +call hi('jsRegexpString', s:voidBlack, s:none, 'none') +call hi('jsReturn', s:voidBlack, s:none, 'none') +call hi('jsSpecial', s:voidBlack, s:none, 'none') +call hi('jsSuper', s:voidBlack, s:none, 'none') +call hi('jsTemplateBraces', s:voidBlack, s:none, 'none') +call hi('jsTemplateString', s:voidBlack, s:none, 'none') +call hi('jsThis', s:voidBlack, s:none, 'none') +call hi('jsVariableDef', s:voidBlack, s:none, 'none') + +" JSX +call hi('jsxAttrib', s:voidBlack, s:none, 'none') +call hi('jsxAttributeBraces', s:voidBlack, s:none, 'none') +call hi('jsxCloseString', s:voidBlack, s:none, 'none') +call hi('jsxCloseTag', s:voidBlack, s:none, 'none') +call hi('jsxString', s:voidBlack, s:none, 'none') +call hi('jsxTag', s:voidBlack, s:none, 'none') +call hi('jsxTagName', s:voidBlack, s:none, 'none') + +" Ruby +call hi('rubyBlockParameter', s:voidBlack, s:none, 'none') +call hi('rubyClass', s:voidBlack, s:none, 'none') +call hi('rubyClassVariable', s:voidBlack, s:none, 'none') +call hi('rubyConstant', s:voidBlack, s:none, 'none') +call hi('rubyControl', s:voidBlack, s:none, 'none') +call hi('rubyEscape', s:voidBlack, s:none, 'none') +call hi('rubyException', s:voidBlack, s:none, 'none') +call hi('rubyFunction', s:voidBlack, s:none, 'none') +call hi('rubyGlobalVariable', s:voidBlack, s:none, 'none') +call hi('rubyInclude', s:voidBlack, s:none, 'none') +call hi('rubyInstanceVariable', s:voidBlack, s:none, 'none') +call hi('rubyInterpolationDelimiter', s:none, s:none, 'none') +call hi('rubyOperator', s:voidBlack, s:none, 'none') +call hi('rubyPseudoVariable', s:voidBlack, s:none, 'none') +call hi('rubyRegexp', s:voidBlack, s:none, 'none') +call hi('rubyRegexpDelimiter', s:voidBlack, s:none, 'none') +call hi('rubyStringDelimiter', s:voidBlack, s:none, 'none') +call hi('rubySymbol', s:voidBlack, s:none, 'none') + +" Ruby (Embedded) +call hi('erubyComment', s:voidGray3, s:none, 'none') +call hi('erubyDelimiter', s:none, s:none, 'none') +call hi('erubyRailsMethod', s:voidBlack, s:none, 'none') + +" Ruby on Rails +call hi('rubyRailsARAssociationMethod', s:voidBlack, s:none, 'none') +call hi('rubyRailsARMethod', s:voidBlack, s:none, 'none') +call hi('rubyRailsMethod', s:voidBlack, s:none, 'none') +call hi('rubyRailsRenderMethod', s:voidBlack, s:none, 'none') +call hi('rubyRailsUserClass', s:voidBlack, s:none, 'none') + +" XML +call hi('xmlAttrib', s:voidBlack, s:none, 'none') +call hi('xmlEndTag', s:voidBlack, s:none, 'none') +call hi('xmlTag', s:voidBlack, s:none, 'none') +call hi('xmlTagName', s:voidBlack, s:none, 'none') + +" YAML +call hi('yamlAlias', s:voidBlack, s:none, 'none') +call hi('yamlAnchor', s:voidBlack, s:none, 'none') +call hi('yamlDocumentHeader', s:voidBlack, s:none, 'none') +call hi('yamlKey', s:voidBlack, s:none, 'none') + + + +" ------------ +" Plugins +" ------------ + +" todo.txt +call hi('TodoContext', s:voidBlack, s:none, 'none') +call hi('TodoDate', s:voidBlack, s:none, 'none') +call hi('TodoDone', s:voidGray3, s:none, 'none') +call hi('TodoPriorityA', s:voidBlack, s:none, 'none') +call hi('TodoPriorityB', s:voidBlack, s:none, 'none') +call hi('TodoPriorityC', s:voidBlack, s:none, 'none') +call hi('TodoProject', s:voidBlack, s:none, 'none') + +" Buftabline +call hi('BufTabLineActive', s:voidBlack, s:voidGray3, 'none') +call hi('BufTabLineCurrent', s:voidBlack, s:voidGray4, 'none') +call hi('BufTabLineFill', s:voidBlack, s:voidSteel, 'none') +call hi('BufTabLineHidden', s:voidGray3, s:voidBlack2, 'none') + diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/fogbell_lite.vim b/nvim/plugged/awesome-vim-colorschemes/colors/fogbell_lite.vim new file mode 100644 index 00000000..112067a7 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/fogbell_lite.vim @@ -0,0 +1,373 @@ +" +" +" ┌─┐┌─┐┌─┐┌┐ ┌─┐┬ ┬ +" ├┤ │ ││ ┬├┴┐├┤ │ │ +" └ └─┘└─┘└─┘└─┘┴─┘┴─┘ +" +" +" by Jared Gorski +" https://github.com/jaredgorski/fogbell + +scriptencoding utf-8 + +set background=dark +hi clear + +if exists("syntax_on") + syntax reset +endif + +let g:colors_name="fogbell_lite" + +" ========================== +" Highlighting Function +" ========================== +" >> (inspired by https://github.com/tomasiser/vim-code-dark and https://github.com/chriskempson/base16-vim) +fun! hi(group, fg, bg, attr) + if !empty(a:fg) + exec "hi " . a:group . " guifg=" . a:fg.gui . " ctermfg=" . a:fg.cterm256 + endif + if !empty(a:bg) + exec "hi " . a:group . " guibg=" . a:bg.gui . " ctermbg=" . a:bg.cterm256 + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif +endfun + +" ========================== +" Color Variables +" ========================== +let s:voidBlack = {'gui': '#1C1C1C', 'cterm256': '234'} +let s:voidBlack2 = {'gui': '#262626', 'cterm256': '235'} +let s:voidGray1 = {'gui': '#3E3D32', 'cterm256': '237'} +let s:voidGray2 = {'gui': '#49483E', 'cterm256': '239'} +let s:voidGray3 = {'gui': '#6B6B6B', 'cterm256': '242'} +let s:voidGray4 = {'gui': '#B0B0B0', 'cterm256': '249'} +let s:voidSteel = {'gui': '#D0D0D0', 'cterm256': '252'} +let s:voidBlue = {'gui': '#699B9B', 'cterm256': '109'} +let s:voidGreen = {'gui': '#569F7A', 'cterm256': '72'} +let s:voidGold = {'gui': '#8E700B', 'cterm256': '136'} +let s:voidRed = {'gui': '#821A1A', 'cterm256': '1'} +let s:voidRed2 = {'gui': '#FF0000', 'cterm256': '196'} +let s:none = {'gui': 'NONE', 'cterm256': 'NONE'} + +" ========================== +" Definitions +" ========================== +" hi(GROUP, FOREGROUND, BACKGROUND, ATTRIBUTE) + +" Editor +call hi('ColorColumn', s:none, s:voidGray1, 'none') +call hi('Cursor', s:voidBlack, s:voidSteel, 'none') +call hi('CursorColumn', s:none, s:voidGray1, 'none') +call hi('CursorLine', s:none, s:voidGray1, 'none') +call hi('CursorLineNr', s:voidSteel, s:voidGray1, 'none') +call hi('Directory', s:voidSteel, s:voidBlack, 'none') +call hi('FoldColumn', s:none, s:voidBlack2, 'none') +call hi('Folded', s:voidGray3, s:none, 'none') +call hi('IncSearch', s:voidBlack, s:voidGold, 'none') +call hi('LineNr', s:voidGray3, s:voidBlack2, 'none') +call hi('MatchParen', s:voidSteel, s:voidGray3, 'none') +call hi('Normal', s:voidSteel, s:voidBlack, 'none') +call hi('Pmenu', s:none, s:voidBlack2, 'none') +call hi('PmenuSel', s:none, s:voidGray2, 'none') +call hi('Search', s:voidBlack, s:voidGold, 'none') +call hi('SignColumn', s:none, s:voidBlack2, 'none') +call hi('StatusLine', s:voidBlack, s:voidSteel, 'none') +call hi('StatusLineNC', s:voidGray3, s:voidBlack2, 'none') +call hi('VertSplit', s:voidBlack, s:voidGray3, 'none') +call hi('Visual', s:none, s:voidGray2, 'none') + +" General +call hi('Boolean', s:voidSteel, s:none, 'none') +call hi('Character', s:voidSteel, s:none, 'none') +call hi('Comment', s:voidGray3, s:none, 'none') +call hi('Conditional', s:voidSteel, s:none, 'none') +call hi('Constant', s:voidSteel, s:none, 'none') +call hi('Define', s:voidSteel, s:none, 'none') +call hi('DiffAdd', s:voidBlack, s:voidGreen, 'none') +call hi('DiffChange', s:voidBlack, s:voidGold, 'none') +call hi('DiffDelete', s:voidSteel, s:voidRed, 'none') +call hi('DiffText', s:voidGray1, s:voidBlue, 'none') +call hi('ErrorMsg', s:voidSteel, s:voidRed, 'none') +call hi('Float', s:voidSteel, s:none, 'none') +call hi('Function', s:voidSteel, s:none, 'none') +call hi('Identifier', s:voidSteel, s:none, 'none') +call hi('Keyword', s:voidSteel, s:none, 'none') +call hi('Label', s:voidSteel, s:none, 'none') +call hi('NonText', s:voidGray3, s:none, 'none') +call hi('Number', s:voidSteel, s:none, 'none') +call hi('Operator', s:voidSteel, s:none, 'none') +call hi('PreProc', s:voidSteel, s:none, 'none') +call hi('Special', s:voidSteel, s:none, 'none') +call hi('SpecialKey', s:voidSteel, s:none, 'none') +call hi('SpellBad', s:voidRed2, s:none, 'italic,undercurl') +call hi('SpellCap', s:voidSteel, s:none, 'italic,undercurl') +call hi('SpellLocal', s:voidSteel, s:none, 'undercurl') +call hi('Statement', s:voidSteel, s:none, 'none') +call hi('StorageClass', s:voidSteel, s:none, 'none') +call hi('String', s:voidSteel, s:none, 'none') +call hi('Tag', s:voidSteel, s:none, 'none') +call hi('Title', s:none, s:none, 'bold') +call hi('Todo', s:voidGray3, s:none, 'inverse,bold') +call hi('Type', s:none, s:none, 'none') +call hi('Underlined', s:none, s:none, 'underline') +call hi('WarningMsg', s:voidSteel, s:voidRed, 'none') + +" Diff Mode +if &diff + call hi('DiffAdd', s:voidBlack, s:voidGreen, 'none') + call hi('DiffChange', s:voidBlack, s:voidGold, 'none') + call hi('DiffDelete', s:voidRed2, s:voidRed, 'none') + call hi('DiffText', s:voidGray1, s:voidBlue, 'none') +else + call hi('DiffAdd', s:voidGreen, s:none, 'none') + call hi('DiffChange', s:voidGold, s:none, 'none') + call hi('DiffDelete', s:voidRed2, s:none, 'none') + call hi('DiffText', s:voidSteel, s:voidBlue, 'none') +endif + +" ------------ +" Languages +" ------------ + +" C +call hi('cConstant', s:voidSteel, s:none, 'none') +call hi('cFormat', s:voidSteel, s:none, 'none') +call hi('cMulti', s:voidSteel, s:none, 'none') +call hi('cNumbers', s:voidSteel, s:none, 'none') +call hi('cOperator', s:voidSteel, s:none, 'none') +call hi('cSpecial', s:voidSteel, s:none, 'none') +call hi('cSpecialCharacter', s:voidSteel, s:none, 'none') +call hi('cStatement', s:voidSteel, s:none, 'none') +call hi('cStorageClass', s:voidSteel, s:none, 'none') +call hi('cString', s:voidSteel, s:none, 'none') +call hi('cStructure', s:voidSteel, s:none, 'none') +call hi('cType', s:voidSteel, s:none, 'none') + +" C++ +call hi('cppConstant', s:voidSteel, s:none, 'none') +call hi('cppFormat', s:voidSteel, s:none, 'none') +call hi('cppMulti', s:voidSteel, s:none, 'none') +call hi('cppNumbers', s:voidSteel, s:none, 'none') +call hi('cppOperator', s:voidSteel, s:none, 'none') +call hi('cppSpecial', s:voidSteel, s:none, 'none') +call hi('cppSpecialCharacter', s:voidSteel, s:none, 'none') +call hi('cppStatement', s:voidSteel, s:none, 'none') +call hi('cppStorageClass', s:voidSteel, s:none, 'none') +call hi('cppString', s:voidSteel, s:none, 'none') +call hi('cppStructure', s:voidSteel, s:none, 'none') +call hi('cppType', s:voidSteel, s:none, 'none') + +" CSS +call hi('cssAttr', s:voidSteel, s:none, 'none') +call hi('cssAttrRegion', s:voidSteel, s:none, 'none') +call hi('cssBraces', s:voidSteel, s:none, 'none') +call hi('cssBrowserPrefix', s:voidSteel, s:none, 'none') +call hi('cssClassName', s:voidSteel, s:none, 'none') +call hi('cssClassNameDot', s:voidSteel, s:none, 'none') +call hi('cssClassSelectorDot', s:voidSteel, s:none, 'none') +call hi('cssColor', s:voidSteel, s:none, 'none') +call hi('cssCommonAttr', s:voidSteel, s:none, 'none') +call hi('cssCustomProperty', s:voidSteel, s:none, 'none') +call hi('cssDefinition', s:voidSteel, s:none, 'none') +call hi('cssFunction', s:voidSteel, s:none, 'none') +call hi('cssFunctionName', s:voidSteel, s:none, 'none') +call hi('cssIdentifier', s:voidSteel, s:none, 'none') +call hi('cssImportant', s:voidSteel, s:none, 'none') +call hi('cssInclude', s:voidSteel, s:none, 'none') +call hi('cssMedia', s:voidSteel, s:none, 'none') +call hi('cssMediaBlock', s:voidSteel, s:none, 'none') +call hi('cssProp', s:voidSteel, s:none, 'none') +call hi('cssGeneratedContentProp', s:voidSteel, s:none, 'none') +call hi('cssTextProp', s:voidSteel, s:none, 'none') +call hi('cssAnimationProp', s:voidSteel, s:none, 'none') +call hi('cssUIProp', s:voidSteel, s:none, 'none') +call hi('cssTransformProp', s:voidSteel, s:none, 'none') +call hi('cssTransitionProp', s:voidSteel, s:none, 'none') +call hi('cssPrintProp', s:voidSteel, s:none, 'none') +call hi('cssPositioningProp', s:voidSteel, s:none, 'none') +call hi('cssBoxProp', s:voidSteel, s:none, 'none') +call hi('cssFontDescriptorProp', s:voidSteel, s:none, 'none') +call hi('cssFlexibleBoxProp', s:voidSteel, s:none, 'none') +call hi('cssBorderOutlineProp', s:voidSteel, s:none, 'none') +call hi('cssBackgroundProp', s:voidSteel, s:none, 'none') +call hi('cssMarginProp', s:voidSteel, s:none, 'none') +call hi('cssListProp', s:voidSteel, s:none, 'none') +call hi('cssTableProp', s:voidSteel, s:none, 'none') +call hi('cssFontProp', s:voidSteel, s:none, 'none') +call hi('cssPaddingProp', s:voidSteel, s:none, 'none') +call hi('cssDimensionProp', s:voidSteel, s:none, 'none') +call hi('cssRenderProp', s:voidSteel, s:none, 'none') +call hi('cssColorProp', s:voidSteel, s:none, 'none') +call hi('cssGeneratedContentProp', s:voidSteel, s:none, 'none') +call hi('cssPropDefinition', s:voidSteel, s:none, 'none') +call hi('cssPseudoClass', s:voidSteel, s:none, 'none') +call hi('cssPseudoClassId', s:voidSteel, s:none, 'none') +call hi('cssPseudoClassLang', s:voidSteel, s:none, 'none') +call hi('cssSelectorOperator', s:voidSteel, s:none, 'none') +call hi('cssTagName', s:voidSteel, s:none, 'none') +call hi('cssURL', s:voidSteel, s:none, 'none') +call hi('cssUnitDecorators', s:voidSteel, s:none, 'none') +call hi('cssUnits', s:voidSteel, s:none, 'none') +call hi('cssValueLength', s:voidSteel, s:none, 'none') +call hi('cssValueNumber', s:voidSteel, s:none, 'none') +call hi('cssValueKeyword', s:voidSteel, s:none, 'none') +call hi('cssVendor', s:voidSteel, s:none, 'none') + +" HTML +call hi('htmlArg', s:voidSteel, s:none, 'none') +call hi('htmlEndTag', s:voidSteel, s:none, 'none') +call hi('htmlSpecialChar', s:voidSteel, s:none, 'none') +call hi('htmlSpecialTagName', s:voidSteel, s:none, 'none') +call hi('htmlTag', s:voidSteel, s:none, 'none') +call hi('htmlTagName', s:voidSteel, s:none, 'none') + +" JavaScript +call hi('javaScript', s:voidSteel, s:none, 'none') +call hi('javaScriptFunction', s:voidSteel, s:none, 'none') +call hi('javaScriptIdentifier', s:voidSteel, s:none, 'none') +call hi('javaScriptMember', s:voidSteel, s:none, 'none') +call hi('javaScriptNull', s:voidSteel, s:none, 'none') +call hi('javaScriptNumber', s:voidSteel, s:none, 'none') +call hi('javaScriptNumber', s:voidSteel, s:none, 'none') +call hi('javaScriptParens', s:voidSteel, s:none, 'none') +call hi('javaScriptSpecial', s:voidSteel, s:none, 'none') +call hi('javaScriptStringS', s:voidSteel, s:none, 'none') +call hi('javascriptArrayMethod', s:voidSteel, s:none, 'none') +call hi('javascriptArrayStaticMethod', s:voidSteel, s:none, 'none') +call hi('javascriptArrowFunc', s:voidSteel, s:none, 'none') +call hi('javascriptAsyncFuncKeyword', s:voidSteel, s:none, 'none') +call hi('javascriptAwaitFuncKeyword', s:voidSteel, s:none, 'none') +call hi('javascriptBraces', s:voidSteel, s:none, 'none') +call hi('javascriptBrackets', s:voidSteel, s:none, 'none') +call hi('javascriptCacheMethod', s:voidSteel, s:none, 'none') +call hi('javascriptClassExtends', s:voidSteel, s:none, 'none') +call hi('javascriptClassKeyword', s:voidSteel, s:none, 'none') +call hi('javascriptClassName', s:voidSteel, s:none, 'none') +call hi('javascriptClassSuperName', s:voidSteel, s:none, 'none') +call hi('javascriptDOMElemAttrs', s:voidSteel, s:none, 'none') +call hi('javascriptDOMEventMethod', s:voidSteel, s:none, 'none') +call hi('javascriptDOMNodeMethod', s:voidSteel, s:none, 'none') +call hi('javascriptDOMStorageMethod', s:voidSteel, s:none, 'none') +call hi('javascriptDateMethod', s:voidSteel, s:none, 'none') +call hi('javascriptDefault', s:voidSteel, s:none, 'none') +call hi('javascriptDocNamedParamType', s:voidGray4, s:none, 'none') +call hi('javascriptDocNotation', s:voidGray4, s:none, 'none') +call hi('javascriptDocParamName', s:voidGray4, s:none, 'none') +call hi('javascriptDocParamType', s:voidGray4, s:none, 'none') +call hi('javascriptDocTags', s:voidGray4, s:none, 'none') +call hi('javascriptEndColons', s:voidSteel, s:none, 'none') +call hi('javascriptExport', s:voidSteel, s:none, 'none') +call hi('javascriptHeadersMethod', s:voidSteel, s:none, 'none') +call hi('javascriptIdentifierName', s:voidSteel, s:none, 'none') +call hi('javascriptImport', s:voidSteel, s:none, 'none') +call hi('javascriptLabel', s:voidSteel, s:none, 'none') +call hi('javascriptLogicSymbols', s:voidSteel, s:none, 'none') +call hi('javascriptMathStaticMethod', s:voidSteel, s:none, 'none') +call hi('javascriptObjectLabel', s:voidSteel, s:none, 'none') +call hi('javascriptOperator', s:voidSteel, s:none, 'none') +call hi('javascriptPropertyName', s:voidSteel, s:none, 'none') +call hi('javascriptStringMethod', s:voidSteel, s:none, 'none') +call hi('javascriptVariable', s:voidSteel, s:none, 'none') +call hi('javascriptYield', s:voidSteel, s:none, 'none') +call hi('jsArrowFunction', s:voidSteel, s:none, 'none') +call hi('jsClassDefinition', s:voidSteel, s:none, 'none') +call hi('jsClassKeyword', s:voidSteel, s:none, 'none') +call hi('jsDecorator', s:voidSteel, s:none, 'none') +call hi('jsDestructuringBlock', s:voidSteel, s:none, 'none') +call hi('jsExportDefault', s:voidSteel, s:none, 'none') +call hi('jsExtendsKeyword', s:voidSteel, s:none, 'none') +call hi('jsFuncArgs', s:voidSteel, s:none, 'none') +call hi('jsFuncCall', s:voidSteel, s:none, 'none') +call hi('jsFunction', s:voidSteel, s:none, 'none') +call hi('jsGlobalObjects', s:voidSteel, s:none, 'none') +call hi('jsModuleKeyword', s:voidSteel, s:none, 'none') +call hi('jsNull', s:voidSteel, s:none, 'none') +call hi('jsObjectBraces', s:voidSteel, s:none, 'none') +call hi('jsObjectKey', s:voidSteel, s:none, 'none') +call hi('jsObjectStringKey', s:voidSteel, s:none, 'none') +call hi('jsRegexpString', s:voidSteel, s:none, 'none') +call hi('jsReturn', s:voidSteel, s:none, 'none') +call hi('jsSpecial', s:voidSteel, s:none, 'none') +call hi('jsSuper', s:voidSteel, s:none, 'none') +call hi('jsTemplateBraces', s:voidSteel, s:none, 'none') +call hi('jsTemplateString', s:voidSteel, s:none, 'none') +call hi('jsThis', s:voidSteel, s:none, 'none') +call hi('jsVariableDef', s:voidSteel, s:none, 'none') + +" JSX +call hi('jsxAttrib', s:voidSteel, s:none, 'none') +call hi('jsxAttributeBraces', s:voidSteel, s:none, 'none') +call hi('jsxCloseString', s:voidSteel, s:none, 'none') +call hi('jsxCloseTag', s:voidSteel, s:none, 'none') +call hi('jsxString', s:voidSteel, s:none, 'none') +call hi('jsxTag', s:voidSteel, s:none, 'none') +call hi('jsxTagName', s:voidSteel, s:none, 'none') + +" Ruby +call hi('rubyBlockParameter', s:voidSteel, s:none, 'none') +call hi('rubyClass', s:voidSteel, s:none, 'none') +call hi('rubyClassVariable', s:voidSteel, s:none, 'none') +call hi('rubyConstant', s:voidSteel, s:none, 'none') +call hi('rubyControl', s:voidSteel, s:none, 'none') +call hi('rubyEscape', s:voidSteel, s:none, 'none') +call hi('rubyException', s:voidSteel, s:none, 'none') +call hi('rubyFunction', s:voidSteel, s:none, 'none') +call hi('rubyGlobalVariable', s:voidSteel, s:none, 'none') +call hi('rubyInclude', s:voidSteel, s:none, 'none') +call hi('rubyInstanceVariable', s:voidSteel, s:none, 'none') +call hi('rubyInterpolationDelimiter', s:none, s:none, 'none') +call hi('rubyOperator', s:voidSteel, s:none, 'none') +call hi('rubyPseudoVariable', s:voidSteel, s:none, 'none') +call hi('rubyRegexp', s:voidSteel, s:none, 'none') +call hi('rubyRegexpDelimiter', s:voidSteel, s:none, 'none') +call hi('rubyStringDelimiter', s:voidSteel, s:none, 'none') +call hi('rubySymbol', s:voidSteel, s:none, 'none') + +" Ruby (Embedded) +call hi('erubyComment', s:voidGray3, s:none, 'none') +call hi('erubyDelimiter', s:none, s:none, 'none') +call hi('erubyRailsMethod', s:voidSteel, s:none, 'none') + +" Ruby on Rails +call hi('rubyRailsARAssociationMethod', s:voidSteel, s:none, 'none') +call hi('rubyRailsARMethod', s:voidSteel, s:none, 'none') +call hi('rubyRailsMethod', s:voidSteel, s:none, 'none') +call hi('rubyRailsRenderMethod', s:voidSteel, s:none, 'none') +call hi('rubyRailsUserClass', s:voidSteel, s:none, 'none') + +" XML +call hi('xmlAttrib', s:voidSteel, s:none, 'none') +call hi('xmlEndTag', s:voidSteel, s:none, 'none') +call hi('xmlTag', s:voidSteel, s:none, 'none') +call hi('xmlTagName', s:voidSteel, s:none, 'none') + +" YAML +call hi('yamlAlias', s:voidSteel, s:none, 'none') +call hi('yamlAnchor', s:voidSteel, s:none, 'none') +call hi('yamlDocumentHeader', s:voidSteel, s:none, 'none') +call hi('yamlKey', s:voidSteel, s:none, 'none') + + + +" ------------ +" Plugins +" ------------ + +" todo.txt +call hi('TodoContext', s:voidSteel, s:none, 'none') +call hi('TodoDate', s:voidSteel, s:none, 'none') +call hi('TodoDone', s:voidGray3, s:none, 'none') +call hi('TodoPriorityA', s:voidSteel, s:none, 'none') +call hi('TodoPriorityB', s:voidSteel, s:none, 'none') +call hi('TodoPriorityC', s:voidSteel, s:none, 'none') +call hi('TodoProject', s:voidSteel, s:none, 'none') + +" Buftabline +call hi('BufTabLineActive', s:voidSteel, s:voidGray2, 'none') +call hi('BufTabLineCurrent', s:voidBlack, s:voidGray4, 'none') +call hi('BufTabLineFill', s:voidBlack, s:voidBlack, 'none') +call hi('BufTabLineHidden', s:voidGray3, s:voidBlack2, 'none') + diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/github.vim b/nvim/plugged/awesome-vim-colorschemes/colors/github.vim new file mode 100644 index 00000000..824d1ec1 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/github.vim @@ -0,0 +1,127 @@ +" Vim color file -- with 256 colour support! +" +" Author: Anthony Carapetis +" Contributors: Lucas Tadeu +" +" Note: Based on github's syntax highlighting theme +" Used Brian Mock's darkspectrum as a starting point/template +" Thanks to Ryan Heath for an easy list of some of the colours: +" http://rpheath.com/posts/356-github-theme-for-syntax-gem + +set background=light + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let colors_name = "github" + +" {{{ General colors +hi Normal ctermfg=0 ctermbg=255 guifg=#000000 guibg=#F8F8FF +hi Cursor ctermfg=239 ctermbg=15 guifg=#F8F8FF guibg=#444454 +hi Visual ctermfg=15 ctermbg=61 guifg=#FFFFFF guibg=#3465a3 +hi VisualNOS ctermfg=15 ctermbg=24 guifg=#FFFFFF guibg=#204a87 +hi Search ctermfg=236 ctermbg=228 guifg=#000000 guibg=#FFFF8C cterm=bold gui=bold +hi Folded ctermfg=8 ctermbg=15 guifg=#808080 guibg=#ECECEC gui=bold cterm=bold +hi Title ctermfg=167 guifg=#ef5939 +hi StatusLine ctermfg=238 ctermbg=250 guifg=#404040 guibg=#bbbbbb gui=bold cterm=bold +hi StatusLineNC ctermfg=238 ctermbg=252 guifg=#404040 guibg=#d4d4d4 gui=italic cterm=italic +hi VertSplit ctermfg=250 ctermbg=250 guifg=#bbbbbb guibg=#bbbbbb gui=none cterm=none +hi LineNr ctermfg=246 ctermbg=15 guifg=#959595 guibg=#ECECEC gui=bold cterm=bold +hi SpecialKey ctermfg=6 guifg=#177F80 gui=italic cterm=italic +hi WarningMsg ctermfg=167 guifg=#ef5939 +hi ErrorMsg ctermbg=15 ctermfg=196 guibg=#f8f8ff guifg=#ff1100 gui=undercurl cterm=undercurl +hi ColorColumn ctermbg=254 guibg=#e4e4e4 +" }}} + +" {{{ Vim => 7.0 specific colors +if version >= 700 + hi CursorLine ctermbg=253 guibg=#D8D8DD + hi MatchParen ctermfg=0 ctermbg=252 guifg=#000000 guibg=#cdcdfd + hi Pmenu ctermfg=15 ctermbg=8 guifg=#ffffff guibg=#808080 gui=bold cterm=bold + hi PmenuSel ctermfg=0 ctermbg=252 guifg=#000000 guibg=#cdcdfd gui=italic cterm=italic + hi PmenuSbar ctermfg=238 ctermbg=0 guifg=#444444 guibg=#000000 + hi PmenuThumb ctermfg=248 ctermbg=248 guifg=#aaaaaa guibg=#aaaaaa +endif +" }}} + +" {{{ Diff highlighting +hi DiffAdd ctermfg=233 ctermbg=194 guifg=#003300 guibg=#DDFFDD gui=none cterm=none +hi DiffChange ctermbg=255 guibg=#ececec gui=none cterm=none +hi DiffText ctermfg=233 ctermbg=189 guifg=#000033 guibg=#DDDDFF gui=none cterm=none +hi DiffDelete ctermfg=252 ctermbg=224 guifg=#DDCCCC guibg=#FFDDDD gui=none cterm=none +" }}} + +" {{{ Syntax highlighting +hi Ignore ctermfg=8 guifg=#808080 +hi Identifier ctermfg=31 guifg=#0086B3 +hi PreProc ctermfg=247 guifg=#A0A0A0 gui=bold cterm=bold +hi Comment ctermfg=246 guifg=#999988 +hi Constant ctermfg=6 guifg=#177F80 gui=none cterm=none +hi String ctermfg=161 guifg=#D81745 +hi Function ctermfg=88 guifg=#990000 gui=bold cterm=bold +hi Statement ctermfg=0 guifg=#000000 gui=bold cterm=bold +hi Type ctermfg=60 guifg=#445588 gui=bold cterm=bold +hi Number ctermfg=30 guifg=#1C9898 +hi Todo ctermfg=15 ctermbg=88 guifg=#FFFFFF guibg=#990000 gui=bold cterm=bold +hi Special ctermfg=28 guifg=#159828 gui=bold cterm=bold +hi Todo ctermbg=15 ctermfg=196 guibg=#f8f8ff guifg=#ff1100 gui=underline cterm=underline +hi Label ctermfg=0 guifg=#000000 gui=bold cterm=bold +hi StorageClass ctermfg=0 guifg=#000000 gui=bold cterm=bold +hi Structure ctermfg=0 guifg=#000000 gui=bold cterm=bold +hi TypeDef ctermfg=0 guifg=#000000 gui=bold cterm=bold + +" {{{ Links +hi! link FoldColumn Folded +hi! link CursorColumn CursorLine +hi! link NonText LineNr +" }}} + +" {{{ Aliases +hi link cppSTL Function +hi link cppSTLType Type +hi link Character Number +hi link htmlTag htmlEndTag +hi link htmlLink Underlined +hi link pythonFunction Identifier +hi link Question Type +hi link CursorIM Cursor +hi link VisualNOS Visual +hi link xmlTag Identifier +hi link xmlTagName Identifier +hi link shDeref Identifier +hi link shVariable Function +hi link rubySharpBang Special +hi link perlSharpBang Special +hi link schemeFunc Statement +" }}} + +" {{{ Tabs +hi TabLine ctermfg=238 ctermbg=188 guifg=#404040 guibg=#dddddd gui=none +hi TabLineFill ctermfg=238 ctermbg=188 guifg=#404040 guibg=#dddddd gui=none +hi TabLineSel ctermfg=238 guifg=#404040 gui=bold +" }}} + +" {{{ Spelling +if has("spell") + hi spellBad guisp=#fcaf3e + hi spellCap guisp=#73d216 + hi spellRare guisp=#fcaf3e + hi spellLocal guisp=#729fcf +endif +" }}} + +" {{{ Airline +hi airlineN1 ctermfg=188 ctermbg=0 guifg=#dddddd guibg=#000000 gui=none cterm=none +hi airlineN2 ctermfg=188 ctermbg=238 guifg=#dddddd guibg=#404040 gui=none cterm=none +hi airlineN3 ctermfg=0 ctermbg=188 guifg=#000000 guibg=#dddddd gui=none cterm=none +hi airlineInsert1 ctermfg=188 ctermbg=26 guifg=#dddddd guibg=#005cc5 gui=none cterm=none +hi airlineInsert2 ctermfg=188 ctermbg=17 guifg=#dddddd guibg=#032f62 gui=none cterm=none +hi airlineVisual1 ctermfg=188 ctermbg=91 guifg=#dddddd guibg=#6f42c1 gui=none cterm=none +hi airlineVisual2 ctermfg=188 ctermbg=237 guifg=#dddddd guibg=#45267d gui=none cterm=none +hi airlineReplace1 ctermfg=188 ctermbg=167 guifg=#dddddd guibg=#d73a49 gui=none cterm=none +hi airlineReplace2 ctermfg=188 ctermbg=124 guifg=#dddddd guibg=#b31d28 gui=none cterm=none +" }}} diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/gotham.vim b/nvim/plugged/awesome-vim-colorschemes/colors/gotham.vim new file mode 100644 index 00000000..9c941a44 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/gotham.vim @@ -0,0 +1,279 @@ +" _____ _____ _____ _ _ ___ ___ ___ +" | __ \ _ |_ _| | | | / _ \ | \/ | +" | | \/ | | | | | | |_| |/ /_\ \| . . | +" | | __| | | | | | | _ || _ || |\/| | +" | |_\ \ \_/ / | | | | | || | | || | | | +" \____/\___/ \_/ \_| |_/\_| |_/\_| |_/ +" +" URL: https://github.com/whatyouhide/vim-gotham +" Aurhor: Andrea Leopardi +" Version: 1.0.0 +" License: MIT + + +" Bootstrap =================================================================== + +hi clear +if exists('syntax_on') | syntax reset | endif +set background=dark +let g:colors_name = 'gotham' + + +" Helper functions ============================================================= + +" Execute the 'highlight' command with a List of arguments. +function! s:Highlight(args) + exec 'highlight ' . join(a:args, ' ') +endfunction + +function! s:AddGroundValues(accumulator, ground, color) + let new_list = a:accumulator + for [where, value] in items(a:color) + call add(new_list, where . a:ground . '=' . value) + endfor + + return new_list +endfunction + +function! s:Col(group, fg_name, ...) + " ... = optional bg_name + + let pieces = [a:group] + + if a:fg_name !=# '' + let pieces = s:AddGroundValues(pieces, 'fg', s:colors[a:fg_name]) + endif + + if a:0 > 0 && a:1 !=# '' + let pieces = s:AddGroundValues(pieces, 'bg', s:colors[a:1]) + endif + + call s:Clear(a:group) + call s:Highlight(pieces) +endfunction + +function! s:Attr(group, attr) + let l:attrs = [a:group, 'term=' . a:attr, 'cterm=' . a:attr, 'gui=' . a:attr] + call s:Highlight(l:attrs) +endfunction + +function! s:Clear(group) + exec 'highlight clear ' . a:group +endfunction + + +" Colors ====================================================================== + +" Let's store all the colors in a dictionary. +let s:colors = {} + +" Base colors. +let s:colors.base0 = { 'gui': '#0c1014', 'cterm': 0 } +let s:colors.base1 = { 'gui': '#11151c', 'cterm': 8 } +let s:colors.base2 = { 'gui': '#091f2e', 'cterm': 10 } +let s:colors.base3 = { 'gui': '#0a3749', 'cterm': 12 } +let s:colors.base4 = { 'gui': '#1e6479', 'cterm': 11 } +let s:colors.base5 = { 'gui': '#599cab', 'cterm': 14 } +let s:colors.base6 = { 'gui': '#99d1ce', 'cterm': 7 } +let s:colors.base7 = { 'gui': '#d3ebe9', 'cterm': 15 } + +" Other colors. +let s:colors.red = { 'gui': '#c23127', 'cterm': 1 } +let s:colors.orange = { 'gui': '#d26937', 'cterm': 9 } +let s:colors.yellow = { 'gui': '#edb443', 'cterm': 3 } +let s:colors.magenta = { 'gui': '#888ca6', 'cterm': 13 } +let s:colors.violet = { 'gui': '#4e5166', 'cterm': 5 } +let s:colors.blue = { 'gui': '#195466', 'cterm': 4 } +let s:colors.cyan = { 'gui': '#33859E', 'cterm': 6 } +let s:colors.green = { 'gui': '#2aa889', 'cterm': 2 } + +" Neovim :terminal colors. +let g:terminal_color_0 = get(s:colors.base0, 'gui') +let g:terminal_color_8 = g:terminal_color_0 +let g:terminal_color_1 = get(s:colors.red, 'gui') +let g:terminal_color_9 = g:terminal_color_1 +let g:terminal_color_2 = get(s:colors.green, 'gui') +let g:terminal_color_10 = g:terminal_color_2 +let g:terminal_color_3 = get(s:colors.yellow, 'gui') +let g:terminal_color_11 = g:terminal_color_3 +let g:terminal_color_4 = get(s:colors.blue, 'gui') +let g:terminal_color_12 = g:terminal_color_4 +let g:terminal_color_5 = get(s:colors.violet, 'gui') +let g:terminal_color_13 = g:terminal_color_5 +let g:terminal_color_6 = get(s:colors.cyan, 'gui') +let g:terminal_color_14 = g:terminal_color_6 +let g:terminal_color_7 = get(s:colors.base6, 'gui') +let g:terminal_color_15 = g:terminal_color_7 + + +" Native highlighting ========================================================== + +let s:background = 'base0' +let s:linenr_background = 'base1' + +" Everything starts here. +call s:Col('Normal', 'base6', s:background) + +" Line, cursor and so on. +call s:Col('Cursor', 'base1', 'base6') +call s:Col('CursorLine', '', 'base1') +call s:Col('CursorColumn', '', 'base1') + +" Sign column, line numbers. +call s:Col('LineNr', 'blue', s:linenr_background) +call s:Col('CursorLineNr', 'base5', s:linenr_background) +call s:Col('SignColumn', '', s:linenr_background) +call s:Col('ColorColumn', '', s:linenr_background) + +" Visual selection. +call s:Col('Visual', '', 'base3') + +" Easy-to-guess code elements. +call s:Col('Comment', 'blue') +call s:Col('String', 'green') +call s:Col('Number', 'orange') +call s:Col('Statement', 'base5') +call s:Col('Special', 'orange') +call s:Col('Identifier', 'base5') + +" Constants, Ruby symbols. +call s:Col('Constant', 'magenta') + +" Some HTML tags (, some <h*>s) +call s:Col('Title', 'orange') + +" <a> tags. +call s:Col('Underlined', 'yellow') +call s:Attr('Underlined', 'underline') + +" Types, HTML attributes, Ruby constants (and class names). +call s:Col('Type', 'orange') + +" Stuff like 'require' in Ruby. +call s:Col('PreProc', 'red') + +" Tildes on the bottom of the page. +call s:Col('NonText', 'blue') + +" Concealed stuff. +call s:Col('Conceal', 'cyan', s:background) + +" TODO and similar tags. +call s:Col('Todo', 'magenta', s:background) + +" The column separating vertical splits. +call s:Col('VertSplit', 'blue', s:linenr_background) +call s:Col('StatusLineNC', 'blue', 'base2') + +" Matching parenthesis. +call s:Col('MatchParen', 'base6', 'orange') + +" Special keys, e.g. some of the chars in 'listchars'. See ':h listchars'. +call s:Col('SpecialKey', 'base3') + +" Folds. +call s:Col('Folded', 'base6', 'blue') +call s:Col('FoldColumn', 'base5', 'base3') + +" Searching. +call s:Col('Search', 'base2', 'yellow') +call s:Attr('IncSearch', 'reverse') + +" Popup menu. +call s:Col('Pmenu', 'base6', 'base2') +call s:Col('PmenuSel', 'base7', 'blue') +call s:Col('PmenuSbar', '', 'base2') +call s:Col('PmenuThumb', '', 'blue') + +" Command line stuff. +call s:Col('ErrorMsg', 'red', 'base1') +call s:Col('Error', 'red', 'base1') +call s:Col('ModeMsg', 'blue') +call s:Col('WarningMsg', 'red') + +" Wild menu. +" StatusLine determines the color of the non-active entries in the wild menu. +call s:Col('StatusLine', 'base5', 'base2') +call s:Col('WildMenu', 'base7', 'cyan') + +" The 'Hit ENTER to continue prompt'. +call s:Col('Question', 'green') + +" Tab line. +call s:Col('TabLineSel', 'base7', 'blue') " the selected tab +call s:Col('TabLine', 'base6', 'base2') " the non-selected tabs +call s:Col('TabLineFill', 'base0', 'base0') " the rest of the tab line + +" Spelling. +call s:Col('SpellBad', 'base7', 'red') +call s:Col('SpellCap', 'base7', 'blue') +call s:Col('SpellLocal', 'yellow') +call s:Col('SpellRare', 'base7', 'violet') + +" Diffing. +call s:Col('DiffAdd', 'base7', 'green') +call s:Col('DiffChange', 'base7', 'blue') +call s:Col('DiffDelete', 'base7', 'red') +call s:Col('DiffText', 'base7', 'cyan') +call s:Col('DiffAdded', 'green') +call s:Col('DiffChanged', 'blue') +call s:Col('DiffRemoved', 'red') +call s:Col('DiffSubname', 'blue') + +" Directories (e.g. netrw). +call s:Col('Directory', 'cyan') + + +" Programming languages and filetypes ========================================== + +" Ruby. +call s:Col('rubyDefine', 'blue') +call s:Col('rubyStringDelimiter', 'green') + +" HTML (and often Markdown). +call s:Col('htmlArg', 'blue') +call s:Col('htmlItalic', 'magenta') +call s:Attr('htmlItalic', 'italic') +call s:Col('htmlBold', 'cyan', '') +call s:Attr('htmlBold', 'bold') +call s:Col('htmlBoldItalic', 'cyan', '') +call s:Attr('htmlBoldItalic', 'bold,italic') + +" Python +call s:Col('pythonStatement', 'blue') + + +" Plugin ======================================================================= + +" GitGutter +call s:Col('GitGutterAdd', 'green', s:linenr_background) +call s:Col('GitGutterChange', 'cyan', s:linenr_background) +call s:Col('GitGutterDelete', 'orange', s:linenr_background) +call s:Col('GitGutterChangeDelete', 'magenta', s:linenr_background) + +" CtrlP +call s:Col('CtrlPNoEntries', 'base7', 'orange') " no entries +call s:Col('CtrlPMatch', 'green') " matching part +call s:Col('CtrlPPrtBase', 'blue') " '>>>' prompt +call s:Col('CtrlPPrtText', 'cyan') " text in the prompt +call s:Col('CtrlPPtrCursor', 'base7') " cursor in the prompt + +" unite.vim +call s:Col('UniteGrep', 'base7', 'green') +let g:unite_source_grep_search_word_highlight = 'UniteGrep' + +" ale https://github.com/w0rp/ale +call s:Col('ALEWarningSign', 'yellow', s:linenr_background) +call s:Col('ALEErrorSign', 'red', s:linenr_background) + +" neomake https://github.com/neomake/neomake +call s:Col('NeomakeWarningSign', 'yellow', s:linenr_background) +call s:Col('NeomakeErrorSign', 'red', s:linenr_background) +call s:Col('NeomakeWarning', 'yellow') +call s:Col('NeomakeError', 'red') + +" Cleanup ===================================================================== + +unlet s:colors +unlet s:background +unlet s:linenr_background diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/gotham256.vim b/nvim/plugged/awesome-vim-colorschemes/colors/gotham256.vim new file mode 100644 index 00000000..1c4de4fb --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/gotham256.vim @@ -0,0 +1,269 @@ +" _____ _____ _____ _ _ ___ ___ ___ +" | __ \ _ |_ _| | | | / _ \ | \/ | +" | | \/ | | | | | | |_| |/ /_\ \| . . | +" | | __| | | | | | | _ || _ || |\/| | -256 +" | |_\ \ \_/ / | | | | | || | | || | | | +" \____/\___/ \_/ \_| |_/\_| |_/\_| |_/ +" +" URL: https://github.com/whatyouhide/vim-gotham +" Aurhor: Andrea Leopardi <an.leopardi@gmail.com> +" Version: ϡ +" License: MIT + + +" Bootstrap =================================================================== + +hi clear +if exists('syntax_on') | syntax reset | endif +set background=dark +let g:colors_name = 'gotham256' + +if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256 + finish +endif + +" Helper functions ============================================================= + +" Execute the 'highlight' command with a List of arguments. +function! s:Highlight(args) + exec 'highlight ' . join(a:args, ' ') +endfunction + +function! s:AddGroundValues(accumulator, ground, color) + let new_list = a:accumulator + for [where, value] in items(a:color) + call add(new_list, where . a:ground . '=' . value) + endfor + + return new_list +endfunction + +function! s:Col(group, fg_name, ...) + " ... = optional bg_name + + let pieces = [a:group] + + if a:fg_name !=# '' + let pieces = s:AddGroundValues(pieces, 'fg', s:colors[a:fg_name]) + endif + + if a:0 > 0 && a:1 !=# '' + let pieces = s:AddGroundValues(pieces, 'bg', s:colors[a:1]) + endif + + call s:Clear(a:group) + call s:Highlight(pieces) +endfunction + +function! s:Attr(group, attr) + let l:attrs = [a:group, 'term=' . a:attr, 'cterm=' . a:attr, 'gui=' . a:attr] + call s:Highlight(l:attrs) +endfunction + +function! s:Clear(group) + exec 'highlight clear ' . a:group +endfunction + + +" Colors ====================================================================== + +" Let's store all the colors in a dictionary. +let s:colors = {} + +" Base colors. +let s:colors.base0 = { 'gui': '#0c1014', 'cterm': 232 } +let s:colors.base1 = { 'gui': '#11151c', 'cterm': 233 } +let s:colors.base2 = { 'gui': '#091f2e', 'cterm': 17 } +let s:colors.base3 = { 'gui': '#0a3749', 'cterm': 18 } +let s:colors.base4 = { 'gui': '#1e6479', 'cterm': 31 } +let s:colors.base5 = { 'gui': '#599cab', 'cterm': 81 } +let s:colors.base6 = { 'gui': '#99d1ce', 'cterm': 122 } +let s:colors.base7 = { 'gui': '#d3ebe9', 'cterm': 194 } + +" Other colors. +let s:colors.red = { 'gui': '#c23127', 'cterm': 124 } +let s:colors.orange = { 'gui': '#d26937', 'cterm': 166 } +let s:colors.yellow = { 'gui': '#edb443', 'cterm': 214 } +let s:colors.magenta = { 'gui': '#888ca6', 'cterm': 67 } +let s:colors.violet = { 'gui': '#4e5166', 'cterm': 60 } +let s:colors.blue = { 'gui': '#195466', 'cterm': 24 } +let s:colors.cyan = { 'gui': '#33859E', 'cterm': 44 } +let s:colors.green = { 'gui': '#2aa889', 'cterm': 78 } + +" Neovim :terminal colors. +let g:terminal_color_0 = get(s:colors.base0, 'gui') +let g:terminal_color_8 = g:terminal_color_0 +let g:terminal_color_1 = get(s:colors.red, 'gui') +let g:terminal_color_9 = g:terminal_color_1 +let g:terminal_color_2 = get(s:colors.green, 'gui') +let g:terminal_color_10 = g:terminal_color_2 +let g:terminal_color_3 = get(s:colors.yellow, 'gui') +let g:terminal_color_11 = g:terminal_color_3 +let g:terminal_color_4 = get(s:colors.blue, 'gui') +let g:terminal_color_12 = g:terminal_color_4 +let g:terminal_color_5 = get(s:colors.violet, 'gui') +let g:terminal_color_13 = g:terminal_color_5 +let g:terminal_color_6 = get(s:colors.cyan, 'gui') +let g:terminal_color_14 = g:terminal_color_6 +let g:terminal_color_7 = get(s:colors.base6, 'gui') +let g:terminal_color_15 = g:terminal_color_7 + + +" Native highlighting ========================================================== + +let s:background = 'base0' +let s:linenr_background = 'base1' + +" Everything starts here. +call s:Col('Normal', 'base6', s:background) + +" Line, cursor and so on. +call s:Col('Cursor', 'base1', 'base6') +call s:Col('CursorLine', '', 'base1') +call s:Col('CursorColumn', '', 'base1') + +" Sign column, line numbers. +call s:Col('LineNr', 'blue', s:linenr_background) +call s:Col('CursorLineNr', 'base5', s:linenr_background) +call s:Col('SignColumn', '', s:linenr_background) +call s:Col('ColorColumn', '', s:linenr_background) + +" Visual selection. +call s:Col('Visual', '', 'base3') + +" Easy-to-guess code elements. +call s:Col('Comment', 'blue') +call s:Col('String', 'green') +call s:Col('Number', 'orange') +call s:Col('Statement', 'base5') +call s:Col('Special', 'orange') +call s:Col('Identifier', 'base5') + +" Constants, Ruby symbols. +call s:Col('Constant', 'magenta') + +" Some HTML tags (<title>, some <h*>s) +call s:Col('Title', 'orange') + +" <a> tags. +call s:Col('Underlined', 'yellow') +call s:Attr('Underlined', 'underline') + +" Types, HTML attributes, Ruby constants (and class names). +call s:Col('Type', 'orange') + +" Stuff like 'require' in Ruby. +call s:Col('PreProc', 'red') + +" Tildes on the bottom of the page. +call s:Col('NonText', 'blue') + +" Concealed stuff. +call s:Col('Conceal', 'cyan', s:background) + +" TODO and similar tags. +call s:Col('Todo', 'magenta', s:background) + +" The column separating vertical splits. +call s:Col('VertSplit', 'base2', s:linenr_background) +call s:Col('StatusLineNC', 'blue', 'base2') + +" Matching parenthesis. +call s:Col('MatchParen', 'base6', 'orange') + +" Special keys, e.g. some of the chars in 'listchars'. See ':h listchars'. +call s:Col('SpecialKey', 'base3') + +" Folds. +call s:Col('Folded', 'base6', 'blue') +call s:Col('FoldColumn', 'base5', 'base3') + +" Searching. +call s:Col('Search', 'base2', 'yellow') +call s:Attr('IncSearch', 'reverse') + +" Popup menu. +call s:Col('Pmenu', 'base6', 'base2') +call s:Col('PmenuSel', 'base7', 'blue') +call s:Col('PmenuSbar', '', 'base2') +call s:Col('PmenuThumb', '', 'blue') + +" Command line stuff. +call s:Col('ErrorMsg', 'red', 'base1') +call s:Col('Error', 'red', 'base1') +call s:Col('ModeMsg', 'blue') +call s:Col('WarningMsg', 'red') + +" Wild menu. +" StatusLine determines the color of the non-active entries in the wild menu. +call s:Col('StatusLine', 'base5', 'base2') +call s:Col('WildMenu', 'base7', 'cyan') + +" The 'Hit ENTER to continue prompt'. +call s:Col('Question', 'green') + +" Tab line. +call s:Col('TabLineSel', 'base7', 'blue') " the selected tab +call s:Col('TabLine', 'base6', 'base2') " the non-selected tabs +call s:Col('TabLineFill', 'base0', 'base0') " the rest of the tab line + +" Spelling. +call s:Col('SpellBad', 'base7', 'red') +call s:Col('SpellCap', 'base7', 'blue') +call s:Col('SpellLocal', 'yellow') +call s:Col('SpellRare', 'base7', 'violet') + +" Diffing. +call s:Col('DiffAdd', 'base7', 'green') +call s:Col('DiffChange', 'base7', 'blue') +call s:Col('DiffDelete', 'base7', 'red') +call s:Col('DiffText', 'base7', 'cyan') +call s:Col('DiffAdded', 'green') +call s:Col('DiffChanged', 'blue') +call s:Col('DiffRemoved', 'red') +call s:Col('DiffSubname', 'blue') + +" Directories (e.g. netrw). +call s:Col('Directory', 'cyan') + + +" Programming languages and filetypes ========================================== + +" Ruby. +call s:Col('rubyDefine', 'blue') +call s:Col('rubyStringDelimiter', 'green') + +" HTML (and often Markdown). +call s:Col('htmlArg', 'blue') +call s:Col('htmlItalic', 'magenta') +call s:Col('htmlBold', 'cyan', '') + +" Python +call s:Col('pythonStatement', 'blue') + + +" Plugin ======================================================================= + +" GitGutter +call s:Col('GitGutterAdd', 'green', s:linenr_background) +call s:Col('GitGutterChange', 'cyan', s:linenr_background) +call s:Col('GitGutterDelete', 'orange', s:linenr_background) +call s:Col('GitGutterChangeDelete', 'magenta', s:linenr_background) + +" CtrlP +call s:Col('CtrlPNoEntries', 'base7', 'orange') " no entries +call s:Col('CtrlPMatch', 'green') " matching part +call s:Col('CtrlPPrtBase', 'blue') " '>>>' prompt +call s:Col('CtrlPPrtText', 'cyan') " text in the prompt +call s:Col('CtrlPPtrCursor', 'base7') " cursor in the prompt + +" unite.vim +call s:Col('UniteGrep', 'base7', 'green') +let g:unite_source_grep_search_word_highlight = 'UniteGrep' + + +" Cleanup ===================================================================== + +unlet s:colors +unlet s:background +unlet s:linenr_background diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/gruvbox.vim b/nvim/plugged/awesome-vim-colorschemes/colors/gruvbox.vim new file mode 100644 index 00000000..66246fba --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/gruvbox.vim @@ -0,0 +1,1418 @@ +" ----------------------------------------------------------------------------- +" File: gruvbox.vim +" Description: Retro groove color scheme for Vim +" Author: morhetz <morhetz@gmail.com> +" Source: https://github.com/morhetz/gruvbox +" Last Modified: 12 Aug 2017 +" ----------------------------------------------------------------------------- + +" Supporting code ------------------------------------------------------------- +" Initialisation: {{{ + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name='gruvbox' + +if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256 + finish +endif + +" }}} +" Global Settings: {{{ + +if !exists('g:gruvbox_bold') + let g:gruvbox_bold=1 +endif +if !exists('g:gruvbox_italic') + if has('gui_running') || $TERM_ITALICS == 'true' + let g:gruvbox_italic=1 + else + let g:gruvbox_italic=0 + endif +endif +if !exists('g:gruvbox_undercurl') + let g:gruvbox_undercurl=1 +endif +if !exists('g:gruvbox_underline') + let g:gruvbox_underline=1 +endif +if !exists('g:gruvbox_inverse') + let g:gruvbox_inverse=1 +endif + +if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1 + let g:gruvbox_guisp_fallback='NONE' +endif + +if !exists('g:gruvbox_improved_strings') + let g:gruvbox_improved_strings=0 +endif + +if !exists('g:gruvbox_improved_warnings') + let g:gruvbox_improved_warnings=0 +endif + +if !exists('g:gruvbox_termcolors') + let g:gruvbox_termcolors=256 +endif + +if !exists('g:gruvbox_invert_indent_guides') + let g:gruvbox_invert_indent_guides=0 +endif + +if exists('g:gruvbox_contrast') + echo 'g:gruvbox_contrast is deprecated; use g:gruvbox_contrast_light and g:gruvbox_contrast_dark instead' +endif + +if !exists('g:gruvbox_contrast_dark') + let g:gruvbox_contrast_dark='medium' +endif + +if !exists('g:gruvbox_contrast_light') + let g:gruvbox_contrast_light='medium' +endif + +let s:is_dark=(&background == 'dark') + +" }}} +" Palette: {{{ + +" setup palette dictionary +let s:gb = {} + +" fill it with absolute colors +let s:gb.dark0_hard = ['#1d2021', 234] " 29-32-33 +let s:gb.dark0 = ['#282828', 235] " 40-40-40 +let s:gb.dark0_soft = ['#32302f', 236] " 50-48-47 +let s:gb.dark1 = ['#3c3836', 237] " 60-56-54 +let s:gb.dark2 = ['#504945', 239] " 80-73-69 +let s:gb.dark3 = ['#665c54', 241] " 102-92-84 +let s:gb.dark4 = ['#7c6f64', 243] " 124-111-100 +let s:gb.dark4_256 = ['#7c6f64', 243] " 124-111-100 + +let s:gb.gray_245 = ['#928374', 245] " 146-131-116 +let s:gb.gray_244 = ['#928374', 244] " 146-131-116 + +let s:gb.light0_hard = ['#f9f5d7', 230] " 249-245-215 +let s:gb.light0 = ['#fbf1c7', 229] " 253-244-193 +let s:gb.light0_soft = ['#f2e5bc', 228] " 242-229-188 +let s:gb.light1 = ['#ebdbb2', 223] " 235-219-178 +let s:gb.light2 = ['#d5c4a1', 250] " 213-196-161 +let s:gb.light3 = ['#bdae93', 248] " 189-174-147 +let s:gb.light4 = ['#a89984', 246] " 168-153-132 +let s:gb.light4_256 = ['#a89984', 246] " 168-153-132 + +let s:gb.bright_red = ['#fb4934', 167] " 251-73-52 +let s:gb.bright_green = ['#b8bb26', 142] " 184-187-38 +let s:gb.bright_yellow = ['#fabd2f', 214] " 250-189-47 +let s:gb.bright_blue = ['#83a598', 109] " 131-165-152 +let s:gb.bright_purple = ['#d3869b', 175] " 211-134-155 +let s:gb.bright_aqua = ['#8ec07c', 108] " 142-192-124 +let s:gb.bright_orange = ['#fe8019', 208] " 254-128-25 + +let s:gb.neutral_red = ['#cc241d', 124] " 204-36-29 +let s:gb.neutral_green = ['#98971a', 106] " 152-151-26 +let s:gb.neutral_yellow = ['#d79921', 172] " 215-153-33 +let s:gb.neutral_blue = ['#458588', 66] " 69-133-136 +let s:gb.neutral_purple = ['#b16286', 132] " 177-98-134 +let s:gb.neutral_aqua = ['#689d6a', 72] " 104-157-106 +let s:gb.neutral_orange = ['#d65d0e', 166] " 214-93-14 + +let s:gb.faded_red = ['#9d0006', 88] " 157-0-6 +let s:gb.faded_green = ['#79740e', 100] " 121-116-14 +let s:gb.faded_yellow = ['#b57614', 136] " 181-118-20 +let s:gb.faded_blue = ['#076678', 24] " 7-102-120 +let s:gb.faded_purple = ['#8f3f71', 96] " 143-63-113 +let s:gb.faded_aqua = ['#427b58', 66] " 66-123-88 +let s:gb.faded_orange = ['#af3a03', 130] " 175-58-3 + +" }}} +" Setup Emphasis: {{{ + +let s:bold = 'bold,' +if g:gruvbox_bold == 0 + let s:bold = '' +endif + +let s:italic = 'italic,' +if g:gruvbox_italic == 0 + let s:italic = '' +endif + +let s:underline = 'underline,' +if g:gruvbox_underline == 0 + let s:underline = '' +endif + +let s:undercurl = 'undercurl,' +if g:gruvbox_undercurl == 0 + let s:undercurl = '' +endif + +let s:inverse = 'inverse,' +if g:gruvbox_inverse == 0 + let s:inverse = '' +endif + +" }}} +" Setup Colors: {{{ + +let s:vim_bg = ['bg', 'bg'] +let s:vim_fg = ['fg', 'fg'] +let s:none = ['NONE', 'NONE'] + +" determine relative colors +if s:is_dark + let s:bg0 = s:gb.dark0 + if g:gruvbox_contrast_dark == 'soft' + let s:bg0 = s:gb.dark0_soft + elseif g:gruvbox_contrast_dark == 'hard' + let s:bg0 = s:gb.dark0_hard + endif + + let s:bg1 = s:gb.dark1 + let s:bg2 = s:gb.dark2 + let s:bg3 = s:gb.dark3 + let s:bg4 = s:gb.dark4 + + let s:gray = s:gb.gray_245 + + let s:fg0 = s:gb.light0 + let s:fg1 = s:gb.light1 + let s:fg2 = s:gb.light2 + let s:fg3 = s:gb.light3 + let s:fg4 = s:gb.light4 + + let s:fg4_256 = s:gb.light4_256 + + let s:red = s:gb.bright_red + let s:green = s:gb.bright_green + let s:yellow = s:gb.bright_yellow + let s:blue = s:gb.bright_blue + let s:purple = s:gb.bright_purple + let s:aqua = s:gb.bright_aqua + let s:orange = s:gb.bright_orange +else + let s:bg0 = s:gb.light0 + if g:gruvbox_contrast_light == 'soft' + let s:bg0 = s:gb.light0_soft + elseif g:gruvbox_contrast_light == 'hard' + let s:bg0 = s:gb.light0_hard + endif + + let s:bg1 = s:gb.light1 + let s:bg2 = s:gb.light2 + let s:bg3 = s:gb.light3 + let s:bg4 = s:gb.light4 + + let s:gray = s:gb.gray_244 + + let s:fg0 = s:gb.dark0 + let s:fg1 = s:gb.dark1 + let s:fg2 = s:gb.dark2 + let s:fg3 = s:gb.dark3 + let s:fg4 = s:gb.dark4 + + let s:fg4_256 = s:gb.dark4_256 + + let s:red = s:gb.faded_red + let s:green = s:gb.faded_green + let s:yellow = s:gb.faded_yellow + let s:blue = s:gb.faded_blue + let s:purple = s:gb.faded_purple + let s:aqua = s:gb.faded_aqua + let s:orange = s:gb.faded_orange +endif + +" reset to 16 colors fallback +if g:gruvbox_termcolors == 16 + let s:bg0[1] = 0 + let s:fg4[1] = 7 + let s:gray[1] = 8 + let s:red[1] = 9 + let s:green[1] = 10 + let s:yellow[1] = 11 + let s:blue[1] = 12 + let s:purple[1] = 13 + let s:aqua[1] = 14 + let s:fg1[1] = 15 +endif + +" save current relative colors back to palette dictionary +let s:gb.bg0 = s:bg0 +let s:gb.bg1 = s:bg1 +let s:gb.bg2 = s:bg2 +let s:gb.bg3 = s:bg3 +let s:gb.bg4 = s:bg4 + +let s:gb.gray = s:gray + +let s:gb.fg0 = s:fg0 +let s:gb.fg1 = s:fg1 +let s:gb.fg2 = s:fg2 +let s:gb.fg3 = s:fg3 +let s:gb.fg4 = s:fg4 + +let s:gb.fg4_256 = s:fg4_256 + +let s:gb.red = s:red +let s:gb.green = s:green +let s:gb.yellow = s:yellow +let s:gb.blue = s:blue +let s:gb.purple = s:purple +let s:gb.aqua = s:aqua +let s:gb.orange = s:orange + +" }}} +" Setup Terminal Colors For Neovim: {{{ + +if has('nvim') + let g:terminal_color_0 = s:bg0[0] + let g:terminal_color_8 = s:gray[0] + + let g:terminal_color_1 = s:gb.neutral_red[0] + let g:terminal_color_9 = s:red[0] + + let g:terminal_color_2 = s:gb.neutral_green[0] + let g:terminal_color_10 = s:green[0] + + let g:terminal_color_3 = s:gb.neutral_yellow[0] + let g:terminal_color_11 = s:yellow[0] + + let g:terminal_color_4 = s:gb.neutral_blue[0] + let g:terminal_color_12 = s:blue[0] + + let g:terminal_color_5 = s:gb.neutral_purple[0] + let g:terminal_color_13 = s:purple[0] + + let g:terminal_color_6 = s:gb.neutral_aqua[0] + let g:terminal_color_14 = s:aqua[0] + + let g:terminal_color_7 = s:fg4[0] + let g:terminal_color_15 = s:fg1[0] +endif + +" }}} +" Overload Setting: {{{ + +let s:hls_cursor = s:orange +if exists('g:gruvbox_hls_cursor') + let s:hls_cursor = get(s:gb, g:gruvbox_hls_cursor) +endif + +let s:number_column = s:none +if exists('g:gruvbox_number_column') + let s:number_column = get(s:gb, g:gruvbox_number_column) +endif + +let s:sign_column = s:bg1 + +if exists('g:gitgutter_override_sign_column_highlight') && + \ g:gitgutter_override_sign_column_highlight == 1 + let s:sign_column = s:number_column +else + let g:gitgutter_override_sign_column_highlight = 0 + + if exists('g:gruvbox_sign_column') + let s:sign_column = get(s:gb, g:gruvbox_sign_column) + endif +endif + +let s:color_column = s:bg1 +if exists('g:gruvbox_color_column') + let s:color_column = get(s:gb, g:gruvbox_color_column) +endif + +let s:vert_split = s:bg0 +if exists('g:gruvbox_vert_split') + let s:vert_split = get(s:gb, g:gruvbox_vert_split) +endif + +let s:invert_signs = '' +if exists('g:gruvbox_invert_signs') + if g:gruvbox_invert_signs == 1 + let s:invert_signs = s:inverse + endif +endif + +let s:invert_selection = s:inverse +if exists('g:gruvbox_invert_selection') + if g:gruvbox_invert_selection == 0 + let s:invert_selection = '' + endif +endif + +let s:invert_tabline = '' +if exists('g:gruvbox_invert_tabline') + if g:gruvbox_invert_tabline == 1 + let s:invert_tabline = s:inverse + endif +endif + +let s:italicize_comments = s:italic +if exists('g:gruvbox_italicize_comments') + if g:gruvbox_italicize_comments == 0 + let s:italicize_comments = '' + endif +endif + +let s:italicize_strings = '' +if exists('g:gruvbox_italicize_strings') + if g:gruvbox_italicize_strings == 1 + let s:italicize_strings = s:italic + endif +endif + +" }}} +" Highlighting Function: {{{ + +function! s:HL(group, fg, ...) + " Arguments: group, guifg, guibg, gui, guisp + + " foreground + let fg = a:fg + + " background + if a:0 >= 1 + let bg = a:1 + else + let bg = s:none + endif + + " emphasis + if a:0 >= 2 && strlen(a:2) + let emstr = a:2 + else + let emstr = 'NONE,' + endif + + " special fallback + if a:0 >= 3 + if g:gruvbox_guisp_fallback != 'NONE' + let fg = a:3 + endif + + " bg fallback mode should invert higlighting + if g:gruvbox_guisp_fallback == 'bg' + let emstr .= 'inverse,' + endif + endif + + let histring = [ 'hi', a:group, + \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], + \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], + \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] + \ ] + + " special + if a:0 >= 3 + call add(histring, 'guisp=' . a:3[0]) + endif + + execute join(histring, ' ') +endfunction + +" }}} +" Gruvbox Hi Groups: {{{ + +" memoize common hi groups +call s:HL('GruvboxFg0', s:fg0) +call s:HL('GruvboxFg1', s:fg1) +call s:HL('GruvboxFg2', s:fg2) +call s:HL('GruvboxFg3', s:fg3) +call s:HL('GruvboxFg4', s:fg4) +call s:HL('GruvboxGray', s:gray) +call s:HL('GruvboxBg0', s:bg0) +call s:HL('GruvboxBg1', s:bg1) +call s:HL('GruvboxBg2', s:bg2) +call s:HL('GruvboxBg3', s:bg3) +call s:HL('GruvboxBg4', s:bg4) + +call s:HL('GruvboxRed', s:red) +call s:HL('GruvboxRedBold', s:red, s:none, s:bold) +call s:HL('GruvboxGreen', s:green) +call s:HL('GruvboxGreenBold', s:green, s:none, s:bold) +call s:HL('GruvboxYellow', s:yellow) +call s:HL('GruvboxYellowBold', s:yellow, s:none, s:bold) +call s:HL('GruvboxBlue', s:blue) +call s:HL('GruvboxBlueBold', s:blue, s:none, s:bold) +call s:HL('GruvboxPurple', s:purple) +call s:HL('GruvboxPurpleBold', s:purple, s:none, s:bold) +call s:HL('GruvboxAqua', s:aqua) +call s:HL('GruvboxAquaBold', s:aqua, s:none, s:bold) +call s:HL('GruvboxOrange', s:orange) +call s:HL('GruvboxOrangeBold', s:orange, s:none, s:bold) + +call s:HL('GruvboxRedSign', s:red, s:sign_column, s:invert_signs) +call s:HL('GruvboxGreenSign', s:green, s:sign_column, s:invert_signs) +call s:HL('GruvboxYellowSign', s:yellow, s:sign_column, s:invert_signs) +call s:HL('GruvboxBlueSign', s:blue, s:sign_column, s:invert_signs) +call s:HL('GruvboxPurpleSign', s:purple, s:sign_column, s:invert_signs) +call s:HL('GruvboxAquaSign', s:aqua, s:sign_column, s:invert_signs) +call s:HL('GruvboxOrangeSign', s:orange, s:sign_column, s:invert_signs) + +" }}} + +" Vanilla colorscheme --------------------------------------------------------- +" General UI: {{{ + +" Normal text +call s:HL('Normal', s:fg1, s:bg0) + +" Correct background (see issue #7): +" --- Problem with changing between dark and light on 256 color terminal +" --- https://github.com/morhetz/gruvbox/issues/7 +if s:is_dark + set background=dark +else + set background=light +endif + +if version >= 700 + " Screen line that the cursor is + call s:HL('CursorLine', s:none, s:bg1) + " Screen column that the cursor is + hi! link CursorColumn CursorLine + + " Tab pages line filler + call s:HL('TabLineFill', s:bg4, s:bg1, s:invert_tabline) + " Active tab page label + call s:HL('TabLineSel', s:green, s:bg1, s:invert_tabline) + " Not active tab page label + hi! link TabLine TabLineFill + + " Match paired bracket under the cursor + call s:HL('MatchParen', s:none, s:bg3, s:bold) +endif + +if version >= 703 + " Highlighted screen columns + call s:HL('ColorColumn', s:none, s:color_column) + + " Concealed element: \lambda → λ + call s:HL('Conceal', s:blue, s:none) + + " Line number of CursorLine + call s:HL('CursorLineNr', s:yellow, s:bg1) +endif + +hi! link NonText GruvboxBg2 +hi! link SpecialKey GruvboxBg2 + +call s:HL('Visual', s:none, s:bg3, s:invert_selection) +hi! link VisualNOS Visual + +call s:HL('Search', s:yellow, s:bg0, s:inverse) +call s:HL('IncSearch', s:hls_cursor, s:bg0, s:inverse) + +call s:HL('Underlined', s:blue, s:none, s:underline) + +call s:HL('StatusLine', s:bg2, s:fg1, s:inverse) +call s:HL('StatusLineNC', s:bg1, s:fg4, s:inverse) + +" The column separating vertically split windows +call s:HL('VertSplit', s:bg3, s:vert_split) + +" Current match in wildmenu completion +call s:HL('WildMenu', s:blue, s:bg2, s:bold) + +" Directory names, special names in listing +hi! link Directory GruvboxGreenBold + +" Titles for output from :set all, :autocmd, etc. +hi! link Title GruvboxGreenBold + +" Error messages on the command line +call s:HL('ErrorMsg', s:bg0, s:red, s:bold) +" More prompt: -- More -- +hi! link MoreMsg GruvboxYellowBold +" Current mode message: -- INSERT -- +hi! link ModeMsg GruvboxYellowBold +" 'Press enter' prompt and yes/no questions +hi! link Question GruvboxOrangeBold +" Warning messages +hi! link WarningMsg GruvboxRedBold + +" }}} +" Gutter: {{{ + +" Line number for :number and :# commands +call s:HL('LineNr', s:bg4, s:number_column) + +" Column where signs are displayed +call s:HL('SignColumn', s:none, s:sign_column) + +" Line used for closed folds +call s:HL('Folded', s:gray, s:bg1, s:italic) +" Column where folds are displayed +call s:HL('FoldColumn', s:gray, s:bg1) + +" }}} +" Cursor: {{{ + +" Character under cursor +call s:HL('Cursor', s:none, s:none, s:inverse) +" Visual mode cursor, selection +hi! link vCursor Cursor +" Input moder cursor +hi! link iCursor Cursor +" Language mapping cursor +hi! link lCursor Cursor + +" }}} +" Syntax Highlighting: {{{ + +if g:gruvbox_improved_strings == 0 + hi! link Special GruvboxOrange +else + call s:HL('Special', s:orange, s:bg1, s:italicize_strings) +endif + +call s:HL('Comment', s:gray, s:none, s:italicize_comments) +call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) + +" Generic statement +hi! link Statement GruvboxRed +" if, then, else, endif, swicth, etc. +hi! link Conditional GruvboxRed +" for, do, while, etc. +hi! link Repeat GruvboxRed +" case, default, etc. +hi! link Label GruvboxRed +" try, catch, throw +hi! link Exception GruvboxRed +" sizeof, "+", "*", etc. +hi! link Operator Normal +" Any other keyword +hi! link Keyword GruvboxRed + +" Variable name +hi! link Identifier GruvboxBlue +" Function name +hi! link Function GruvboxGreenBold + +" Generic preprocessor +hi! link PreProc GruvboxAqua +" Preprocessor #include +hi! link Include GruvboxAqua +" Preprocessor #define +hi! link Define GruvboxAqua +" Same as Define +hi! link Macro GruvboxAqua +" Preprocessor #if, #else, #endif, etc. +hi! link PreCondit GruvboxAqua + +" Generic constant +hi! link Constant GruvboxPurple +" Character constant: 'c', '/n' +hi! link Character GruvboxPurple +" String constant: "this is a string" +if g:gruvbox_improved_strings == 0 + call s:HL('String', s:green, s:none, s:italicize_strings) +else + call s:HL('String', s:fg1, s:bg1, s:italicize_strings) +endif +" Boolean constant: TRUE, false +hi! link Boolean GruvboxPurple +" Number constant: 234, 0xff +hi! link Number GruvboxPurple +" Floating point constant: 2.3e10 +hi! link Float GruvboxPurple + +" Generic type +hi! link Type GruvboxYellow +" static, register, volatile, etc +hi! link StorageClass GruvboxOrange +" struct, union, enum, etc. +hi! link Structure GruvboxAqua +" typedef +hi! link Typedef GruvboxYellow + +" }}} +" Completion Menu: {{{ + +if version >= 700 + " Popup menu: normal item + call s:HL('Pmenu', s:fg1, s:bg2) + " Popup menu: selected item + call s:HL('PmenuSel', s:bg2, s:blue, s:bold) + " Popup menu: scrollbar + call s:HL('PmenuSbar', s:none, s:bg2) + " Popup menu: scrollbar thumb + call s:HL('PmenuThumb', s:none, s:bg4) +endif + +" }}} +" Diffs: {{{ + +call s:HL('DiffDelete', s:red, s:bg0, s:inverse) +call s:HL('DiffAdd', s:green, s:bg0, s:inverse) +"call s:HL('DiffChange', s:bg0, s:blue) +"call s:HL('DiffText', s:bg0, s:yellow) + +" Alternative setting +call s:HL('DiffChange', s:aqua, s:bg0, s:inverse) +call s:HL('DiffText', s:yellow, s:bg0, s:inverse) + +" }}} +" Spelling: {{{ + +if has("spell") + " Not capitalised word, or compile warnings + if g:gruvbox_improved_warnings == 0 + call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) + else + call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) + endif + " Not recognized word + call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) + " Wrong spelling for selected region + call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) + " Rare word + call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) +endif + +" }}} + +" Plugin specific ------------------------------------------------------------- +" EasyMotion: {{{ + +hi! link EasyMotionTarget Search +hi! link EasyMotionShade Comment + +" }}} +" Sneak: {{{ + +hi! link Sneak Search +hi! link SneakLabel Search + +" }}} +" Indent Guides: {{{ + +if !exists('g:indent_guides_auto_colors') + let g:indent_guides_auto_colors = 0 +endif + +if g:indent_guides_auto_colors == 0 + if g:gruvbox_invert_indent_guides == 0 + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) + else + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) + endif +endif + +" }}} +" IndentLine: {{{ + +if !exists('g:indentLine_color_term') + let g:indentLine_color_term = s:bg2[1] +endif +if !exists('g:indentLine_color_gui') + let g:indentLine_color_gui = s:bg2[0] +endif + +" }}} +" Rainbow Parentheses: {{{ + +if !exists('g:rbpt_colorpairs') + let g:rbpt_colorpairs = + \ [ + \ ['blue', '#458588'], ['magenta', '#b16286'], + \ ['red', '#cc241d'], ['166', '#d65d0e'] + \ ] +endif + +let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] +let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] + +if !exists('g:rainbow_conf') + let g:rainbow_conf = {} +endif +if !has_key(g:rainbow_conf, 'guifgs') + let g:rainbow_conf['guifgs'] = g:rainbow_guifgs +endif +if !has_key(g:rainbow_conf, 'ctermfgs') + let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs +endif + +let g:niji_dark_colours = g:rbpt_colorpairs +let g:niji_light_colours = g:rbpt_colorpairs + +"}}} +" GitGutter: {{{ + +hi! link GitGutterAdd GruvboxGreenSign +hi! link GitGutterChange GruvboxAquaSign +hi! link GitGutterDelete GruvboxRedSign +hi! link GitGutterChangeDelete GruvboxAquaSign + +" }}} +" GitCommit: "{{{ + +hi! link gitcommitSelectedFile GruvboxGreen +hi! link gitcommitDiscardedFile GruvboxRed + +" }}} +" Signify: {{{ + +hi! link SignifySignAdd GruvboxGreenSign +hi! link SignifySignChange GruvboxAquaSign +hi! link SignifySignDelete GruvboxRedSign + +" }}} +" Syntastic: {{{ + +call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) +call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) + +hi! link SyntasticErrorSign GruvboxRedSign +hi! link SyntasticWarningSign GruvboxYellowSign + +" }}} +" Signature: {{{ +hi! link SignatureMarkText GruvboxBlueSign +hi! link SignatureMarkerText GruvboxPurpleSign + +" }}} +" ShowMarks: {{{ + +hi! link ShowMarksHLl GruvboxBlueSign +hi! link ShowMarksHLu GruvboxBlueSign +hi! link ShowMarksHLo GruvboxBlueSign +hi! link ShowMarksHLm GruvboxBlueSign + +" }}} +" CtrlP: {{{ + +hi! link CtrlPMatch GruvboxYellow +hi! link CtrlPNoEntries GruvboxRed +hi! link CtrlPPrtBase GruvboxBg2 +hi! link CtrlPPrtCursor GruvboxBlue +hi! link CtrlPLinePre GruvboxBg2 + +call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold) +call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold) +call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold) + +" }}} +" Startify: {{{ + +hi! link StartifyBracket GruvboxFg3 +hi! link StartifyFile GruvboxFg1 +hi! link StartifyNumber GruvboxBlue +hi! link StartifyPath GruvboxGray +hi! link StartifySlash GruvboxGray +hi! link StartifySection GruvboxYellow +hi! link StartifySpecial GruvboxBg2 +hi! link StartifyHeader GruvboxOrange +hi! link StartifyFooter GruvboxBg2 + +" }}} +" Vimshell: {{{ + +let g:vimshell_escape_colors = [ + \ s:bg4[0], s:red[0], s:green[0], s:yellow[0], + \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0], + \ s:bg0[0], s:red[0], s:green[0], s:orange[0], + \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0] + \ ] + +" }}} +" BufTabLine: {{{ + +call s:HL('BufTabLineCurrent', s:bg0, s:fg4) +call s:HL('BufTabLineActive', s:fg4, s:bg2) +call s:HL('BufTabLineHidden', s:bg4, s:bg1) +call s:HL('BufTabLineFill', s:bg0, s:bg0) + +" }}} +" Asynchronous Lint Engine: {{{ + +call s:HL('ALEError', s:none, s:none, s:undercurl, s:red) +call s:HL('ALEWarning', s:none, s:none, s:undercurl, s:yellow) +call s:HL('ALEInfo', s:none, s:none, s:undercurl, s:blue) + +hi! link ALEErrorSign GruvboxRedSign +hi! link ALEWarningSign GruvboxYellowSign +hi! link ALEInfoSign GruvboxBlueSign + +" }}} +" Dirvish: {{{ + +hi! link DirvishPathTail GruvboxAqua +hi! link DirvishArg GruvboxYellow + +" }}} +" Netrw: {{{ + +hi! link netrwDir GruvboxAqua +hi! link netrwClassify GruvboxAqua +hi! link netrwLink GruvboxGray +hi! link netrwSymLink GruvboxFg1 +hi! link netrwExe GruvboxYellow +hi! link netrwComment GruvboxGray +hi! link netrwList GruvboxBlue +hi! link netrwHelpCmd GruvboxAqua +hi! link netrwCmdSep GruvboxFg3 +hi! link netrwVersion GruvboxGreen + +" }}} +" NERDTree: {{{ + +hi! link NERDTreeDir GruvboxAqua +hi! link NERDTreeDirSlash GruvboxAqua + +hi! link NERDTreeOpenable GruvboxOrange +hi! link NERDTreeClosable GruvboxOrange + +hi! link NERDTreeFile GruvboxFg1 +hi! link NERDTreeExecFile GruvboxYellow + +hi! link NERDTreeUp GruvboxGray +hi! link NERDTreeCWD GruvboxGreen +hi! link NERDTreeHelp GruvboxFg1 + +hi! link NERDTreeToggleOn GruvboxGreen +hi! link NERDTreeToggleOff GruvboxRed + +" }}} +" Vim Multiple Cursors: {{{ + +call s:HL('multiple_cursors_cursor', s:none, s:none, s:inverse) +call s:HL('multiple_cursors_visual', s:none, s:bg2) + +" }}} +" coc.nvim: {{{ + +hi! link CocErrorSign GruvboxRedSign +hi! link CocWarningSign GruvboxOrangeSign +hi! link CocInfoSign GruvboxYellowSign +hi! link CocHintSign GruvboxBlueSign +hi! link CocErrorFloat GruvboxRed +hi! link CocWarningFloat GruvboxOrange +hi! link CocInfoFloat GruvboxYellow +hi! link CocHintFloat GruvboxBlue +hi! link CocDiagnosticsError GruvboxRed +hi! link CocDiagnosticsWarning GruvboxOrange +hi! link CocDiagnosticsInfo GruvboxYellow +hi! link CocDiagnosticsHint GruvboxBlue + +hi! link CocSelectedText GruvboxRed +hi! link CocCodeLens GruvboxGray + +call s:HL('CocErrorHighlight', s:none, s:none, s:undercurl, s:red) +call s:HL('CocWarningHighlight', s:none, s:none, s:undercurl, s:orange) +call s:HL('CocInfoHighlight', s:none, s:none, s:undercurl, s:yellow) +call s:HL('CocHintHighlight', s:none, s:none, s:undercurl, s:blue) + +" }}} + +" Filetype specific ----------------------------------------------------------- +" Diff: {{{ + +hi! link diffAdded GruvboxGreen +hi! link diffRemoved GruvboxRed +hi! link diffChanged GruvboxAqua + +hi! link diffFile GruvboxOrange +hi! link diffNewFile GruvboxYellow + +hi! link diffLine GruvboxBlue + +" }}} +" Html: {{{ + +hi! link htmlTag GruvboxBlue +hi! link htmlEndTag GruvboxBlue + +hi! link htmlTagName GruvboxAquaBold +hi! link htmlArg GruvboxAqua + +hi! link htmlScriptTag GruvboxPurple +hi! link htmlTagN GruvboxFg1 +hi! link htmlSpecialTagName GruvboxAquaBold + +call s:HL('htmlLink', s:fg4, s:none, s:underline) + +hi! link htmlSpecialChar GruvboxOrange + +call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) +call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) +call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) + +call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) +call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) +call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) + +" }}} +" Xml: {{{ + +hi! link xmlTag GruvboxBlue +hi! link xmlEndTag GruvboxBlue +hi! link xmlTagName GruvboxBlue +hi! link xmlEqual GruvboxBlue +hi! link docbkKeyword GruvboxAquaBold + +hi! link xmlDocTypeDecl GruvboxGray +hi! link xmlDocTypeKeyword GruvboxPurple +hi! link xmlCdataStart GruvboxGray +hi! link xmlCdataCdata GruvboxPurple +hi! link dtdFunction GruvboxGray +hi! link dtdTagName GruvboxPurple + +hi! link xmlAttrib GruvboxAqua +hi! link xmlProcessingDelim GruvboxGray +hi! link dtdParamEntityPunct GruvboxGray +hi! link dtdParamEntityDPunct GruvboxGray +hi! link xmlAttribPunct GruvboxGray + +hi! link xmlEntity GruvboxOrange +hi! link xmlEntityPunct GruvboxOrange +" }}} +" Vim: {{{ + +call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) + +hi! link vimNotation GruvboxOrange +hi! link vimBracket GruvboxOrange +hi! link vimMapModKey GruvboxOrange +hi! link vimFuncSID GruvboxFg3 +hi! link vimSetSep GruvboxFg3 +hi! link vimSep GruvboxFg3 +hi! link vimContinue GruvboxFg3 + +" }}} +" Clojure: {{{ + +hi! link clojureKeyword GruvboxBlue +hi! link clojureCond GruvboxOrange +hi! link clojureSpecial GruvboxOrange +hi! link clojureDefine GruvboxOrange + +hi! link clojureFunc GruvboxYellow +hi! link clojureRepeat GruvboxYellow +hi! link clojureCharacter GruvboxAqua +hi! link clojureStringEscape GruvboxAqua +hi! link clojureException GruvboxRed + +hi! link clojureRegexp GruvboxAqua +hi! link clojureRegexpEscape GruvboxAqua +call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) +hi! link clojureRegexpMod clojureRegexpCharClass +hi! link clojureRegexpQuantifier clojureRegexpCharClass + +hi! link clojureParen GruvboxFg3 +hi! link clojureAnonArg GruvboxYellow +hi! link clojureVariable GruvboxBlue +hi! link clojureMacro GruvboxOrange + +hi! link clojureMeta GruvboxYellow +hi! link clojureDeref GruvboxYellow +hi! link clojureQuote GruvboxYellow +hi! link clojureUnquote GruvboxYellow + +" }}} +" C: {{{ + +hi! link cOperator GruvboxPurple +hi! link cStructure GruvboxOrange + +" }}} +" Python: {{{ + +hi! link pythonBuiltin GruvboxOrange +hi! link pythonBuiltinObj GruvboxOrange +hi! link pythonBuiltinFunc GruvboxOrange +hi! link pythonFunction GruvboxAqua +hi! link pythonDecorator GruvboxRed +hi! link pythonInclude GruvboxBlue +hi! link pythonImport GruvboxBlue +hi! link pythonRun GruvboxBlue +hi! link pythonCoding GruvboxBlue +hi! link pythonOperator GruvboxRed +hi! link pythonException GruvboxRed +hi! link pythonExceptions GruvboxPurple +hi! link pythonBoolean GruvboxPurple +hi! link pythonDot GruvboxFg3 +hi! link pythonConditional GruvboxRed +hi! link pythonRepeat GruvboxRed +hi! link pythonDottedName GruvboxGreenBold + +" }}} +" CSS: {{{ + +hi! link cssBraces GruvboxBlue +hi! link cssFunctionName GruvboxYellow +hi! link cssIdentifier GruvboxOrange +hi! link cssClassName GruvboxGreen +hi! link cssColor GruvboxBlue +hi! link cssSelectorOp GruvboxBlue +hi! link cssSelectorOp2 GruvboxBlue +hi! link cssImportant GruvboxGreen +hi! link cssVendor GruvboxFg1 + +hi! link cssTextProp GruvboxAqua +hi! link cssAnimationProp GruvboxAqua +hi! link cssUIProp GruvboxYellow +hi! link cssTransformProp GruvboxAqua +hi! link cssTransitionProp GruvboxAqua +hi! link cssPrintProp GruvboxAqua +hi! link cssPositioningProp GruvboxYellow +hi! link cssBoxProp GruvboxAqua +hi! link cssFontDescriptorProp GruvboxAqua +hi! link cssFlexibleBoxProp GruvboxAqua +hi! link cssBorderOutlineProp GruvboxAqua +hi! link cssBackgroundProp GruvboxAqua +hi! link cssMarginProp GruvboxAqua +hi! link cssListProp GruvboxAqua +hi! link cssTableProp GruvboxAqua +hi! link cssFontProp GruvboxAqua +hi! link cssPaddingProp GruvboxAqua +hi! link cssDimensionProp GruvboxAqua +hi! link cssRenderProp GruvboxAqua +hi! link cssColorProp GruvboxAqua +hi! link cssGeneratedContentProp GruvboxAqua + +" }}} +" JavaScript: {{{ + +hi! link javaScriptBraces GruvboxFg1 +hi! link javaScriptFunction GruvboxAqua +hi! link javaScriptIdentifier GruvboxRed +hi! link javaScriptMember GruvboxBlue +hi! link javaScriptNumber GruvboxPurple +hi! link javaScriptNull GruvboxPurple +hi! link javaScriptParens GruvboxFg3 + +" }}} +" YAJS: {{{ + +hi! link javascriptImport GruvboxAqua +hi! link javascriptExport GruvboxAqua +hi! link javascriptClassKeyword GruvboxAqua +hi! link javascriptClassExtends GruvboxAqua +hi! link javascriptDefault GruvboxAqua + +hi! link javascriptClassName GruvboxYellow +hi! link javascriptClassSuperName GruvboxYellow +hi! link javascriptGlobal GruvboxYellow + +hi! link javascriptEndColons GruvboxFg1 +hi! link javascriptFuncArg GruvboxFg1 +hi! link javascriptGlobalMethod GruvboxFg1 +hi! link javascriptNodeGlobal GruvboxFg1 +hi! link javascriptBOMWindowProp GruvboxFg1 +hi! link javascriptArrayMethod GruvboxFg1 +hi! link javascriptArrayStaticMethod GruvboxFg1 +hi! link javascriptCacheMethod GruvboxFg1 +hi! link javascriptDateMethod GruvboxFg1 +hi! link javascriptMathStaticMethod GruvboxFg1 + +" hi! link javascriptProp GruvboxFg1 +hi! link javascriptURLUtilsProp GruvboxFg1 +hi! link javascriptBOMNavigatorProp GruvboxFg1 +hi! link javascriptDOMDocMethod GruvboxFg1 +hi! link javascriptDOMDocProp GruvboxFg1 +hi! link javascriptBOMLocationMethod GruvboxFg1 +hi! link javascriptBOMWindowMethod GruvboxFg1 +hi! link javascriptStringMethod GruvboxFg1 + +hi! link javascriptVariable GruvboxOrange +" hi! link javascriptVariable GruvboxRed +" hi! link javascriptIdentifier GruvboxOrange +" hi! link javascriptClassSuper GruvboxOrange +hi! link javascriptIdentifier GruvboxOrange +hi! link javascriptClassSuper GruvboxOrange + +" hi! link javascriptFuncKeyword GruvboxOrange +" hi! link javascriptAsyncFunc GruvboxOrange +hi! link javascriptFuncKeyword GruvboxAqua +hi! link javascriptAsyncFunc GruvboxAqua +hi! link javascriptClassStatic GruvboxOrange + +hi! link javascriptOperator GruvboxRed +hi! link javascriptForOperator GruvboxRed +hi! link javascriptYield GruvboxRed +hi! link javascriptExceptions GruvboxRed +hi! link javascriptMessage GruvboxRed + +hi! link javascriptTemplateSB GruvboxAqua +hi! link javascriptTemplateSubstitution GruvboxFg1 + +" hi! link javascriptLabel GruvboxBlue +" hi! link javascriptObjectLabel GruvboxBlue +" hi! link javascriptPropertyName GruvboxBlue +hi! link javascriptLabel GruvboxFg1 +hi! link javascriptObjectLabel GruvboxFg1 +hi! link javascriptPropertyName GruvboxFg1 + +hi! link javascriptLogicSymbols GruvboxFg1 +hi! link javascriptArrowFunc GruvboxYellow + +hi! link javascriptDocParamName GruvboxFg4 +hi! link javascriptDocTags GruvboxFg4 +hi! link javascriptDocNotation GruvboxFg4 +hi! link javascriptDocParamType GruvboxFg4 +hi! link javascriptDocNamedParamType GruvboxFg4 + +hi! link javascriptBrackets GruvboxFg1 +hi! link javascriptDOMElemAttrs GruvboxFg1 +hi! link javascriptDOMEventMethod GruvboxFg1 +hi! link javascriptDOMNodeMethod GruvboxFg1 +hi! link javascriptDOMStorageMethod GruvboxFg1 +hi! link javascriptHeadersMethod GruvboxFg1 + +hi! link javascriptAsyncFuncKeyword GruvboxRed +hi! link javascriptAwaitFuncKeyword GruvboxRed + +" }}} +" PanglossJS: {{{ + +hi! link jsClassKeyword GruvboxAqua +hi! link jsExtendsKeyword GruvboxAqua +hi! link jsExportDefault GruvboxAqua +hi! link jsTemplateBraces GruvboxAqua +hi! link jsGlobalNodeObjects GruvboxFg1 +hi! link jsGlobalObjects GruvboxFg1 +hi! link jsFunction GruvboxAqua +hi! link jsFuncParens GruvboxFg3 +hi! link jsParens GruvboxFg3 +hi! link jsNull GruvboxPurple +hi! link jsUndefined GruvboxPurple +hi! link jsClassDefinition GruvboxYellow + +" }}} +" TypeScript: {{{ + +hi! link typeScriptReserved GruvboxAqua +hi! link typeScriptLabel GruvboxAqua +hi! link typeScriptFuncKeyword GruvboxAqua +hi! link typeScriptIdentifier GruvboxOrange +hi! link typeScriptBraces GruvboxFg1 +hi! link typeScriptEndColons GruvboxFg1 +hi! link typeScriptDOMObjects GruvboxFg1 +hi! link typeScriptAjaxMethods GruvboxFg1 +hi! link typeScriptLogicSymbols GruvboxFg1 +hi! link typeScriptDocSeeTag Comment +hi! link typeScriptDocParam Comment +hi! link typeScriptDocTags vimCommentTitle +hi! link typeScriptGlobalObjects GruvboxFg1 +hi! link typeScriptParens GruvboxFg3 +hi! link typeScriptOpSymbols GruvboxFg3 +hi! link typeScriptHtmlElemProperties GruvboxFg1 +hi! link typeScriptNull GruvboxPurple +hi! link typeScriptInterpolationDelimiter GruvboxAqua + +" }}} +" PureScript: {{{ + +hi! link purescriptModuleKeyword GruvboxAqua +hi! link purescriptModuleName GruvboxFg1 +hi! link purescriptWhere GruvboxAqua +hi! link purescriptDelimiter GruvboxFg4 +hi! link purescriptType GruvboxFg1 +hi! link purescriptImportKeyword GruvboxAqua +hi! link purescriptHidingKeyword GruvboxAqua +hi! link purescriptAsKeyword GruvboxAqua +hi! link purescriptStructure GruvboxAqua +hi! link purescriptOperator GruvboxBlue + +hi! link purescriptTypeVar GruvboxFg1 +hi! link purescriptConstructor GruvboxFg1 +hi! link purescriptFunction GruvboxFg1 +hi! link purescriptConditional GruvboxOrange +hi! link purescriptBacktick GruvboxOrange + +" }}} +" CoffeeScript: {{{ + +hi! link coffeeExtendedOp GruvboxFg3 +hi! link coffeeSpecialOp GruvboxFg3 +hi! link coffeeCurly GruvboxOrange +hi! link coffeeParen GruvboxFg3 +hi! link coffeeBracket GruvboxOrange + +" }}} +" Ruby: {{{ + +hi! link rubyStringDelimiter GruvboxGreen +hi! link rubyInterpolationDelimiter GruvboxAqua + +" }}} +" ObjectiveC: {{{ + +hi! link objcTypeModifier GruvboxRed +hi! link objcDirective GruvboxBlue + +" }}} +" Go: {{{ + +hi! link goDirective GruvboxAqua +hi! link goConstants GruvboxPurple +hi! link goDeclaration GruvboxRed +hi! link goDeclType GruvboxBlue +hi! link goBuiltins GruvboxOrange + +" }}} +" Lua: {{{ + +hi! link luaIn GruvboxRed +hi! link luaFunction GruvboxAqua +hi! link luaTable GruvboxOrange + +" }}} +" MoonScript: {{{ + +hi! link moonSpecialOp GruvboxFg3 +hi! link moonExtendedOp GruvboxFg3 +hi! link moonFunction GruvboxFg3 +hi! link moonObject GruvboxYellow + +" }}} +" Java: {{{ + +hi! link javaAnnotation GruvboxBlue +hi! link javaDocTags GruvboxAqua +hi! link javaCommentTitle vimCommentTitle +hi! link javaParen GruvboxFg3 +hi! link javaParen1 GruvboxFg3 +hi! link javaParen2 GruvboxFg3 +hi! link javaParen3 GruvboxFg3 +hi! link javaParen4 GruvboxFg3 +hi! link javaParen5 GruvboxFg3 +hi! link javaOperator GruvboxOrange + +hi! link javaVarArg GruvboxGreen + +" }}} +" Elixir: {{{ + +hi! link elixirDocString Comment + +hi! link elixirStringDelimiter GruvboxGreen +hi! link elixirInterpolationDelimiter GruvboxAqua + +hi! link elixirModuleDeclaration GruvboxYellow + +" }}} +" Scala: {{{ + +" NB: scala vim syntax file is kinda horrible +hi! link scalaNameDefinition GruvboxFg1 +hi! link scalaCaseFollowing GruvboxFg1 +hi! link scalaCapitalWord GruvboxFg1 +hi! link scalaTypeExtension GruvboxFg1 + +hi! link scalaKeyword GruvboxRed +hi! link scalaKeywordModifier GruvboxRed + +hi! link scalaSpecial GruvboxAqua +hi! link scalaOperator GruvboxFg1 + +hi! link scalaTypeDeclaration GruvboxYellow +hi! link scalaTypeTypePostDeclaration GruvboxYellow + +hi! link scalaInstanceDeclaration GruvboxFg1 +hi! link scalaInterpolation GruvboxAqua + +" }}} +" Markdown: {{{ + +call s:HL('markdownItalic', s:fg3, s:none, s:italic) + +hi! link markdownH1 GruvboxGreenBold +hi! link markdownH2 GruvboxGreenBold +hi! link markdownH3 GruvboxYellowBold +hi! link markdownH4 GruvboxYellowBold +hi! link markdownH5 GruvboxYellow +hi! link markdownH6 GruvboxYellow + +hi! link markdownCode GruvboxAqua +hi! link markdownCodeBlock GruvboxAqua +hi! link markdownCodeDelimiter GruvboxAqua + +hi! link markdownBlockquote GruvboxGray +hi! link markdownListMarker GruvboxGray +hi! link markdownOrderedListMarker GruvboxGray +hi! link markdownRule GruvboxGray +hi! link markdownHeadingRule GruvboxGray + +hi! link markdownUrlDelimiter GruvboxFg3 +hi! link markdownLinkDelimiter GruvboxFg3 +hi! link markdownLinkTextDelimiter GruvboxFg3 + +hi! link markdownHeadingDelimiter GruvboxOrange +hi! link markdownUrl GruvboxPurple +hi! link markdownUrlTitleDelimiter GruvboxGreen + +call s:HL('markdownLinkText', s:gray, s:none, s:underline) +hi! link markdownIdDeclaration markdownLinkText + +" }}} +" Haskell: {{{ + +" hi! link haskellType GruvboxYellow +" hi! link haskellOperators GruvboxOrange +" hi! link haskellConditional GruvboxAqua +" hi! link haskellLet GruvboxOrange +" +hi! link haskellType GruvboxFg1 +hi! link haskellIdentifier GruvboxFg1 +hi! link haskellSeparator GruvboxFg1 +hi! link haskellDelimiter GruvboxFg4 +hi! link haskellOperators GruvboxBlue +" +hi! link haskellBacktick GruvboxOrange +hi! link haskellStatement GruvboxOrange +hi! link haskellConditional GruvboxOrange + +hi! link haskellLet GruvboxAqua +hi! link haskellDefault GruvboxAqua +hi! link haskellWhere GruvboxAqua +hi! link haskellBottom GruvboxAqua +hi! link haskellBlockKeywords GruvboxAqua +hi! link haskellImportKeywords GruvboxAqua +hi! link haskellDeclKeyword GruvboxAqua +hi! link haskellDeriving GruvboxAqua +hi! link haskellAssocType GruvboxAqua + +hi! link haskellNumber GruvboxPurple +hi! link haskellPragma GruvboxPurple + +hi! link haskellString GruvboxGreen +hi! link haskellChar GruvboxGreen + +" }}} +" Json: {{{ + +hi! link jsonKeyword GruvboxGreen +hi! link jsonQuote GruvboxGreen +hi! link jsonBraces GruvboxFg1 +hi! link jsonString GruvboxFg1 + +" }}} + + +" Functions ------------------------------------------------------------------- +" Search Highlighting Cursor {{{ + +function! GruvboxHlsShowCursor() + call s:HL('Cursor', s:bg0, s:hls_cursor) +endfunction + +function! GruvboxHlsHideCursor() + call s:HL('Cursor', s:none, s:none, s:inverse) +endfunction + +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/happy_hacking.vim b/nvim/plugged/awesome-vim-colorschemes/colors/happy_hacking.vim new file mode 100644 index 00000000..045a03a2 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/happy_hacking.vim @@ -0,0 +1,390 @@ +" # Happy Hacking +" +" Happy Hacking is a color scheme heavily inspired by Autumn +" (https://github.com/yorickpeterse/autumn.vim). The main differences between +" the two themes are various small tweaks to the colors, an easier to maintain +" codebase and a much wider range of supported languages. On top of that +" various inconsistencies that were present in Autumn have been resolved. +" +" As with any Vim color scheme the overall look and feel heavily depends on how +" accurate a syntax highlighter for a language is. For example, the Ruby syntax +" highlighter is fairly accurate and allows you to customize a lot whereas for +" example C has a more generic highlighting setup. At worst this will result in +" a bit more heavy use of red as it's one of the base colors of this theme. +" +" Author: Yorick Peterse +" License: MIT +" Website: https://github.com/yorickpeterse/happy_hacking.vim +" + +set background=dark +set t_Co=256 + +hi clear + +if exists("syntax_on") + syntax reset +end + +let colors_name = "happy_hacking" + +" ============================================================================ +" GUI Colors +" +" This section defines all the colors to use when running Vim as a GUI (Gvim, +" Macvim, etc). These colors are *not* used when Vim is run in a terminal. + +let s:white = "#F3F2CC" +let s:black1 = "#000000" +let s:black2 = "#202020" +let s:yellow = "#FAD566" +let s:blue = "#81A2C7" +let s:green = "#8daf67" +let s:turqoise = "#B3EBBF" +let s:orange = "#fcb280" +let s:pink = "#F77EBD" +let s:red = "#F05E48" +let s:gray1 = "#292929" +let s:gray2 = "#525252" +let s:gray3 = "#6c6c6c" +let s:gray4 = "#7c7c7c" +let s:gray5 = "#aaaaaa" +let s:gray6 = "#393939" + +" ============================================================================ +" Terminal Colors +" +" This section defines all the colors that are used when Vim is run inside a +" terminal instead of a GUI. + +let s:t_white = "230" +let s:t_black1 = "16" +let s:t_black2 = "16" +let s:t_yellow = "221" +let s:t_blue = "103" +let s:t_green = "107" +let s:t_turqoise = "157" +let s:t_orange = "179" +let s:t_pink = "211" +let s:t_gold = "186" +let s:t_red = "203" +let s:t_gray1 = "235" +let s:t_gray2 = "59" +let s:t_gray3 = "59" +let s:t_gray4 = "102" +let s:t_gray5 = "145" +let s:t_gray6 = "237" + +" ============================================================================ +" Color Functions + +" Function for creating a highlight group with a GUI/Terminal foreground and +" background. No font styling is applied. +function! s:Color(group, fg, bg, t_fg, t_bg, ...) + if empty(a:0) + let style = "NONE" + else + let style = a:1 + end + + exe "hi " . a:group . " guifg=" . a:fg . " guibg=" . a:bg + \ . " ctermfg=" . a:t_fg + \ . " ctermbg=" . a:t_bg + \ . " gui=" . style + \ . " cterm=" . style +endfunction + +" ============================================================================ +" General Syntax Elements +" +" Definitions for generic syntax elements such as strings and numbers. + +call s:Color("Pmenu", s:white, s:black2, s:t_white, s:t_black2) +call s:Color("PmenuSel", s:white, s:gray2, s:t_white, s:t_gray2) +call s:Color("Cursor", "NONE", s:gray2, "NONE", s:t_gray2) +call s:Color("CursorLine", "NONE", s:gray2, "NONE", s:t_gray2) +call s:Color("Normal", s:white, s:gray1, s:t_white, s:t_gray1) +call s:Color("Search", s:yellow, "NONE", s:t_yellow, "NONE", "bold") +call s:Color("Title", s:white, "NONE", s:t_white, "NONE", "bold") + +call s:Color("LineNr", s:gray4, "NONE", s:t_gray4, "NONE") +call s:Color("StatusLine", s:white, s:gray6, s:t_white, s:t_gray6) +call s:Color("StatusLineNC", s:gray4, s:gray6, s:t_gray4, s:t_gray6) +call s:Color("StatusLineMarker", s:yellow, s:gray6, s:t_yellow, s:t_gray6, "bold") +call s:Color("VertSplit", s:gray3, "NONE", s:t_gray3, "NONE") +call s:Color("ColorColumn", "NONE", s:gray6, "NONE", s:t_gray6) + +call s:Color("Folded", s:gray4, "NONE", s:t_gray4, "NONE") +call s:Color("FoldColumn", s:gray3, s:gray1, s:t_gray3, s:t_gray1) +call s:Color("ErrorMsg", s:red, "NONE", s:t_red, "NONE", "bold") +call s:Color("WarningMsg", s:yellow, "NONE", s:t_yellow, "NONE", "bold") +call s:Color("Question", s:white, "NONE", s:t_white, "NONE") + +call s:Color("SpecialKey", s:white, s:gray2, s:t_white, s:t_gray2) +call s:Color("Directory", s:blue, "NONE", s:t_blue, "NONE") + +call s:Color("Comment", s:gray4, "NONE", s:t_gray4, "NONE") +call s:Color("Todo", s:gray5, "NONE", s:t_gray5, "NONE") +call s:Color("String", s:green, "NONE", s:t_green, "NONE") +call s:Color("Keyword", s:red, "NONE", s:t_red, "NONE") +call s:Color("Number", s:turqoise, "NONE", s:t_turqoise, "NONE") +call s:Color("Regexp", s:orange, "NONE", s:t_orange, "NONE") +call s:Color("Macro", s:orange, "NONE", s:t_orange, "NONE") +call s:Color("Function", s:yellow, "NONE", s:t_yellow, "NONE") +call s:Color("Notice", s:yellow, "NONE", s:t_yellow, "NONE") + +call s:Color("MatchParen", "NONE", "NONE", "NONE", "NONE", "bold") +call s:Color("Conceal", "NONE", "NONE", "NONE", "NONE", "NONE") + +hi! link Identifier Normal +hi! link Constant Normal +hi! link Operator Normal +hi! link Type Keyword +hi! link Statement Keyword +hi! link PmenuThumb PmenuSel +hi! link Visual Cursor +hi! link SignColumn FoldColumn +hi! link Error ErrorMsg +hi! link NonText LineNr +hi! link PreProc Normal +hi! link Special Normal +hi! link Boolean Keyword +hi! link StorageClass Keyword +hi! link MoreMsg Normal +hi! link Character String +hi! link Label Special +hi! link PreCondit Macro + +hi! NonText guifg=bg + +" ============================================================================ +" Specific Languages +" +" Language specific settings that would otherwise be too generic. These +" definitions are sorted in alphabetical order. + +" Coffeescript +hi! link coffeeRegex Regexp +hi! link coffeeSpecialIdent Directory + +" CSS +hi! link cssIdentifier Title +hi! link cssClassName Directory +hi! link cssMedia Notice +hi! link cssColor Number +hi! link cssTagName Normal +hi! link cssImportant Notice + +" CtrlP +hi! link CtrlPBufferHid Todo +hi! link CtrlPBufferPath Todo + +call s:Color("CtrlPMode1", s:white, s:gray1, s:t_white, s:t_gray1, "bold") + +" D +hi! link dDebug Notice +hi! link dOperator Operator +hi! link dStorageClass Keyword +hi! link dAnnotation Directory +hi! link dAttribute dAnnotation + +" Diffs +hi! link diffFile WarningMsg +hi! link diffLine Number +hi! link diffAdded String +hi! link diffRemoved Keyword + +hi! link DiffChange Notice +hi! link DiffAdd diffAdded +hi! link DiffDelete diffRemoved +hi! link DiffText diffLine + +" Dot (GraphViz) +hi! link dotKeyChar Normal + +" Git commits +hi! link gitCommitSummary String +hi! link gitCommitOverflow ErrorMsg + +" HAML +hi! link hamlId Title +hi! link hamlClass Directory +hi! link htmlArg Normal +hi! link hamlDocType Comment + +" HTML +hi! link htmlLink Directory +hi! link htmlSpecialTagName htmlTag +hi! link htmlTagName htmlTag +hi! link htmlScriptTag htmlTag + +" Inko +call s:Color("inkoCommentBold", s:gray4, "NONE", s:t_gray4, "NONE", "bold") +call s:Color("inkoCommentItalic", s:gray4, "NONE", s:t_gray4, "NONE", "italic") +call s:Color("inkoCommentTitle", s:gray4, "NONE", s:t_gray4, "NONE", "bold") +call s:Color("inkoCommentInlineUrl", s:turqoise, "NONE", s:t_turqoise, "NONE") +call s:Color("inkoInstanceVariable", s:blue, "NONE", s:t_blue, "NONE") +call s:Color("inkoKeywordArgument", s:orange, "NONE", s:t_orange, "NONE") + +" Javascript +hi! link javaScriptBraces Normal +hi! link javaScriptMember Normal +hi! link javaScriptIdentifier Keyword +hi! link javaScriptFunction Keyword +hi! link JavaScriptNumber Number + +" Java +hi! link javaCommentTitle javaComment +hi! link javaDocTags Todo +hi! link javaDocParam Todo +hi! link javaStorageClass Keyword +hi! link javaAnnotation Directory +hi! link javaExternal Keyword + +" JSON +hi! link jsonKeyword String + +" Less +hi! link lessClass cssClassName + +" Make +hi! link makeTarget Function + +" Markdown +hi! link markdownCodeBlock Todo +hi! link markdownCode markdownCodeBlock +hi! link markdownListMarker Keyword +hi! link markdownOrderedListMarker Keyword + +" NERDTree +hi! link NERDTreeRO Notice +hi! link NERDTreeCWD Title +hi! link NERDTreeLink Number +hi! link NERDTreeDir Directory +hi! link NERDTreeOpenable NERDTreeDir +hi! link NERDTreeClosable NERDTreeDir +hi! NERDTreeFile guibg=NONE + +" Perl +hi! link podCommand Comment +hi! link podCmdText Todo +hi! link podVerbatimLine Todo +hi! link perlStatementInclude Statement +hi! link perlStatementPackage Statement +hi! link perlPackageDecl Normal + +" Ragel +hi! link rlAugmentOps Operator + +" Ruby +hi! link rubySymbol Regexp +hi! link rubyConstant Constant +hi! link rubyInstanceVariable Directory +hi! link rubyClassVariable rubyInstancevariable +hi! link rubyClass Keyword +hi! link rubyModule rubyClass +hi! link rubyFunction Function +hi! link rubyDefine Keyword +hi! link rubyRegexp Regexp +hi! link rubyRegexpSpecial Regexp +hi! link rubyRegexpCharClass Normal +hi! link rubyRegexpQuantifier Normal +hi! link rubyAttribute Identifier +hi! link rubyMacro Identifier + +" Rust +hi! link rustFuncCall Identifier +hi! link rustCommentBlockDoc Comment +hi! link rustCommentLineDoc Comment + +" SASS +hi! link sassClass cssClassName +hi! link sassId cssIdentifier +hi! link sassInclude cssMedia + +" Shell +hi! link shFunctionKey Keyword +hi! link shTestOpr Operator +hi! link bashStatement Normal + +" SQL +hi! link sqlKeyword Keyword + +" TypeScript +hi! link typescriptBraces Normal +hi! link typescriptEndColons Normal +hi! link typescriptFunction Function +hi! link typescriptFuncKeyword Keyword +hi! link typescriptLogicSymbols Operator +hi! link typescriptIdentifier Keyword +hi! link typescriptExceptions Keyword + +" Vimscript +hi! link vimGroup Constant +hi! link vimHiGroup Constant +hi! link VimIsCommand Constant +hi! link VimCommentTitle Todo + +" YAML +hi! link yamlPlainScalar String + +" YARD +hi! link yardType Todo +hi! link yardTypeList Todo +hi! link yardComment Comment + +" XML +hi! link xmlTagName Normal +hi! link xmlTag Normal +hi! link xmlAttrib Normal + +" Neomake +hi! link NeomakeWarningSign WarningMsg +hi! link NeomakeErrorSign Error +hi! link NeomakeWarning WarningMsg + +" Wild menu completion +hi! link WildMenu PmenuSel + +" Vim tabline +hi! link TabLine StatusLine +hi! link TabLineFill StatusLine + +call s:Color("TabLineSel", s:white, s:gray2, s:t_white, s:t_gray2, "bold") + +" Line numbers +call s:Color("CursorLineNR", s:yellow, "NONE", s:t_yellow, "NONE", "bold") + +" Neovim terminal colors +let g:terminal_color_0 = s:black1 +let g:terminal_color_1 = s:red +let g:terminal_color_2 = s:green +let g:terminal_color_3 = s:yellow +let g:terminal_color_4 = s:blue +let g:terminal_color_5 = s:pink +let g:terminal_color_6 = s:turqoise +let g:terminal_color_7 = s:white +let g:terminal_color_8 = s:black1 +let g:terminal_color_9 = s:red +let g:terminal_color_10 = s:green +let g:terminal_color_11 = s:yellow +let g:terminal_color_12 = s:blue +let g:terminal_color_13 = s:pink +let g:terminal_color_14 = s:turqoise +let g:terminal_color_15 = s:white + +" Spell checking +call s:Color("SpellBad", s:red, "NONE", s:t_red, "NONE", "underline") + +" Vimwiki +hi! link VimWikiCode markdownCode + +" ALE +hi! link ALEWarningSign WarningMsg +hi! link ALEErrorSign Error +hi! link ALEWarning WarningMsg +hi! link ALEError Error + +" Fugitive +call s:Color("FugitiveblameHash", s:yellow, "NONE", s:t_yellow, "NONE") +call s:Color("FugitiveblameTime", s:turqoise, "NONE", s:t_turqoise, "NONE") diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/hybrid.vim b/nvim/plugged/awesome-vim-colorschemes/colors/hybrid.vim new file mode 100644 index 00000000..21f020a5 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/hybrid.vim @@ -0,0 +1,453 @@ +" File: hybrid.vim +" Maintainer: Andrew Wong (w0ng) +" URL: https://github.com/w0ng/vim-hybrid +" Modified: 27 Jan 2013 07:33 AM AEST +" License: MIT + +" Description:"{{{ +" ---------------------------------------------------------------------------- +" The default RGB colour palette is taken from Tomorrow-Night.vim: +" https://github.com/chriskempson/vim-tomorrow-theme +" +" The reduced RGB colour palette is taken from Codecademy's online editor: +" https://www.codecademy.com/learn +" +" The syntax highlighting scheme is taken from jellybeans.vim: +" https://github.com/nanotech/jellybeans.vim +" +" The is code taken from solarized.vim: +" https://github.com/altercation/vim-colors-solarized + +"}}} +" Requirements And Recommendations:"{{{ +" ---------------------------------------------------------------------------- +" Requirements +" - gVim 7.3+ on Linux, Mac and Windows. +" - Vim 7.3+ on Linux and Mac, using a terminal that supports 256 colours. +" +" Due to the limited 256 palette, colours in Vim and gVim will still be slightly +" different. +" +" In order to have Vim use the same colours as gVim (the way this colour scheme +" is intended), it is recommended that you define the basic 16 colours in your +" terminal. +" +" For Linux users (rxvt-unicode, xterm): +" +" 1. Add the default palette to ~/.Xresources: +" +" https://gist.github.com/3278077 +" +" or alternatively, add the reduced contrast palette to ~/.Xresources: +" +" https://gist.github.com/w0ng/16e33902508b4a0350ae +" +" 2. Add to ~/.vimrc: +" +" let g:hybrid_custom_term_colors = 1 +" let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette. +" colorscheme hybrid +" +" For OSX users (iTerm): +" +" 1. Import the default colour preset into iTerm: +" +" https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid.itermcolors +" +" or alternatively, import the reduced contrast color preset into iTerm: +" +" https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid-reduced-contrast.itermcolors +" +" 2. Add to ~/.vimrc: +" +" let g:hybrid_custom_term_colors = 1 +" let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette. +" colorscheme hybrid + +"}}} +" Initialisation:"{{{ +" ---------------------------------------------------------------------------- + +hi clear + +if exists("syntax_on") + syntax reset +endif + +let s:style = &background + +let g:colors_name = "hybrid" + +"}}} +" GUI And Cterm Palettes:"{{{ +" ---------------------------------------------------------------------------- + +let s:palette = {'gui' : {} , 'cterm' : {}} + +if exists("g:hybrid_reduced_contrast") && g:hybrid_reduced_contrast == 1 + let s:gui_background = "#232c31" + let s:gui_selection = "#425059" + let s:gui_line = "#2d3c46" + let s:gui_comment = "#6c7a80" +else + let s:gui_background = "#1d1f21" + let s:gui_selection = "#373b41" + let s:gui_line = "#282a2e" + let s:gui_comment = "#707880" +endif + +let s:palette.gui.background = { 'dark' : s:gui_background , 'light' : "#e4e4e4" } +let s:palette.gui.foreground = { 'dark' : "#c5c8c6" , 'light' : "#000000" } +let s:palette.gui.selection = { 'dark' : s:gui_selection , 'light' : "#bcbcbc" } +let s:palette.gui.line = { 'dark' : s:gui_line , 'light' : "#d0d0d0" } +let s:palette.gui.comment = { 'dark' : s:gui_comment , 'light' : "#5f5f5f" } +let s:palette.gui.red = { 'dark' : "#cc6666" , 'light' : "#5f0000" } +let s:palette.gui.orange = { 'dark' : "#de935f" , 'light' : "#875f00" } +let s:palette.gui.yellow = { 'dark' : "#f0c674" , 'light' : "#5f5f00" } +let s:palette.gui.green = { 'dark' : "#b5bd68" , 'light' : "#005f00" } +let s:palette.gui.aqua = { 'dark' : "#8abeb7" , 'light' : "#005f5f" } +let s:palette.gui.blue = { 'dark' : "#81a2be" , 'light' : "#00005f" } +let s:palette.gui.purple = { 'dark' : "#b294bb" , 'light' : "#5f005f" } +let s:palette.gui.window = { 'dark' : "#303030" , 'light' : "#9e9e9e" } +let s:palette.gui.darkcolumn = { 'dark' : "#1c1c1c" , 'light' : "#808080" } +let s:palette.gui.addbg = { 'dark' : "#5F875F" , 'light' : "#d7ffd7" } +let s:palette.gui.addfg = { 'dark' : "#d7ffaf" , 'light' : "#005f00" } +let s:palette.gui.changebg = { 'dark' : "#5F5F87" , 'light' : "#d7d7ff" } +let s:palette.gui.changefg = { 'dark' : "#d7d7ff" , 'light' : "#5f005f" } +let s:palette.gui.delbg = { 'dark' : "#cc6666" , 'light' : "#ffd7d7" } +let s:palette.gui.darkblue = { 'dark' : "#00005f" , 'light' : "#d7ffd7" } +let s:palette.gui.darkcyan = { 'dark' : "#005f5f" , 'light' : "#005f00" } +let s:palette.gui.darkred = { 'dark' : "#5f0000" , 'light' : "#d7d7ff" } +let s:palette.gui.darkpurple = { 'dark' : "#5f005f" , 'light' : "#5f005f" } + +if exists("g:hybrid_custom_term_colors") && g:hybrid_custom_term_colors == 1 + let s:cterm_foreground = "15" " White + let s:cterm_selection = "8" " DarkGrey + let s:cterm_line = "0" " Black + let s:cterm_comment = "7" " LightGrey + let s:cterm_red = "9" " LightRed + let s:cterm_orange = "3" " DarkYellow + let s:cterm_yellow = "11" " LightYellow + let s:cterm_green = "10" " LightGreen + let s:cterm_aqua = "14" " LightCyan + let s:cterm_blue = "12" " LightBlue + let s:cterm_purple = "13" " LightMagenta + let s:cterm_delbg = "9" " LightRed +else + let s:cterm_foreground = "250" + let s:cterm_selection = "237" + let s:cterm_line = "235" + let s:cterm_comment = "243" + let s:cterm_red = "167" + let s:cterm_orange = "173" + let s:cterm_yellow = "221" + let s:cterm_green = "143" + let s:cterm_aqua = "109" + let s:cterm_blue = "110" + let s:cterm_purple = "139" + let s:cterm_delbg = "167" +endif + +let s:palette.cterm.background = { 'dark' : "234" , 'light' : "254" } +let s:palette.cterm.foreground = { 'dark' : s:cterm_foreground , 'light' : "16" } +let s:palette.cterm.window = { 'dark' : "236" , 'light' : "247" } +let s:palette.cterm.selection = { 'dark' : s:cterm_selection , 'light' : "250" } +let s:palette.cterm.line = { 'dark' : s:cterm_line , 'light' : "252" } +let s:palette.cterm.comment = { 'dark' : s:cterm_comment , 'light' : "59" } +let s:palette.cterm.red = { 'dark' : s:cterm_red , 'light' : "52" } +let s:palette.cterm.orange = { 'dark' : s:cterm_orange , 'light' : "94" } +let s:palette.cterm.yellow = { 'dark' : s:cterm_yellow , 'light' : "58" } +let s:palette.cterm.green = { 'dark' : s:cterm_green , 'light' : "22" } +let s:palette.cterm.aqua = { 'dark' : s:cterm_aqua , 'light' : "23" } +let s:palette.cterm.blue = { 'dark' : s:cterm_blue , 'light' : "17" } +let s:palette.cterm.purple = { 'dark' : s:cterm_purple , 'light' : "53" } +let s:palette.cterm.darkcolumn = { 'dark' : "234" , 'light' : "244" } +let s:palette.cterm.addbg = { 'dark' : "65" , 'light' : "194" } +let s:palette.cterm.addfg = { 'dark' : "193" , 'light' : "22" } +let s:palette.cterm.changebg = { 'dark' : "60" , 'light' : "189" } +let s:palette.cterm.changefg = { 'dark' : "189" , 'light' : "53" } +let s:palette.cterm.delbg = { 'dark' : s:cterm_delbg , 'light' : "224" } +let s:palette.cterm.darkblue = { 'dark' : "17" , 'light' : "194" } +let s:palette.cterm.darkcyan = { 'dark' : "24" , 'light' : "22" } +let s:palette.cterm.darkred = { 'dark' : "52" , 'light' : "189" } +let s:palette.cterm.darkpurple = { 'dark' : "53" , 'light' : "53" } + +"}}} +" Formatting Options:"{{{ +" ---------------------------------------------------------------------------- +let s:none = "NONE" +let s:t_none = "NONE" +let s:n = "NONE" +let s:c = ",undercurl" +let s:r = ",reverse" +let s:s = ",standout" +let s:b = ",bold" +let s:u = ",underline" +let s:i = ",italic" + +"}}} +" Highlighting Primitives:"{{{ +" ---------------------------------------------------------------------------- +function! s:build_prim(hi_elem, field) + " Given a:hi_elem = bg, a:field = comment + let l:vname = "s:" . a:hi_elem . "_" . a:field " s:bg_comment + let l:gui_assign = "gui".a:hi_elem."=".s:palette.gui[a:field][s:style] " guibg=... + let l:cterm_assign = "cterm".a:hi_elem."=".s:palette.cterm[a:field][s:style] " ctermbg=... + exe "let " . l:vname . " = ' " . l:gui_assign . " " . l:cterm_assign . "'" +endfunction + +let s:bg_none = ' guibg=NONE ctermbg=NONE' +call s:build_prim('bg', 'foreground') +call s:build_prim('bg', 'background') +call s:build_prim('bg', 'selection') +call s:build_prim('bg', 'line') +call s:build_prim('bg', 'comment') +call s:build_prim('bg', 'red') +call s:build_prim('bg', 'orange') +call s:build_prim('bg', 'yellow') +call s:build_prim('bg', 'green') +call s:build_prim('bg', 'aqua') +call s:build_prim('bg', 'blue') +call s:build_prim('bg', 'purple') +call s:build_prim('bg', 'window') +call s:build_prim('bg', 'darkcolumn') +call s:build_prim('bg', 'addbg') +call s:build_prim('bg', 'addfg') +call s:build_prim('bg', 'changebg') +call s:build_prim('bg', 'changefg') +call s:build_prim('bg', 'delbg') +call s:build_prim('bg', 'darkblue') +call s:build_prim('bg', 'darkcyan') +call s:build_prim('bg', 'darkred') +call s:build_prim('bg', 'darkpurple') + +let s:fg_none = ' guifg=NONE ctermfg=NONE' +call s:build_prim('fg', 'foreground') +call s:build_prim('fg', 'background') +call s:build_prim('fg', 'selection') +call s:build_prim('fg', 'line') +call s:build_prim('fg', 'comment') +call s:build_prim('fg', 'red') +call s:build_prim('fg', 'orange') +call s:build_prim('fg', 'yellow') +call s:build_prim('fg', 'green') +call s:build_prim('fg', 'aqua') +call s:build_prim('fg', 'blue') +call s:build_prim('fg', 'purple') +call s:build_prim('fg', 'window') +call s:build_prim('fg', 'darkcolumn') +call s:build_prim('fg', 'addbg') +call s:build_prim('fg', 'addfg') +call s:build_prim('fg', 'changebg') +call s:build_prim('fg', 'changefg') +call s:build_prim('fg', 'darkblue') +call s:build_prim('fg', 'darkcyan') +call s:build_prim('fg', 'darkred') +call s:build_prim('fg', 'darkpurple') + +exe "let s:fmt_none = ' gui=NONE". " cterm=NONE". " term=NONE" ."'" +exe "let s:fmt_bold = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'" +exe "let s:fmt_bldi = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'" +exe "let s:fmt_undr = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'" +exe "let s:fmt_undb = ' gui=NONE".s:u.s:b. " cterm=NONE".s:u.s:b. " term=NONE".s:u.s:b."'" +exe "let s:fmt_undi = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'" +exe "let s:fmt_curl = ' gui=NONE".s:c. " cterm=NONE".s:c. " term=NONE".s:c ."'" +exe "let s:fmt_ital = ' gui=NONE".s:i. " cterm=NONE".s:i. " term=NONE".s:i ."'" +exe "let s:fmt_stnd = ' gui=NONE".s:s. " cterm=NONE".s:s. " term=NONE".s:s ."'" +exe "let s:fmt_revr = ' gui=NONE".s:r. " cterm=NONE".s:r. " term=NONE".s:r ."'" +exe "let s:fmt_revb = ' gui=NONE".s:r.s:b. " cterm=NONE".s:r.s:b. " term=NONE".s:r.s:b."'" + +exe "let s:sp_none = ' guisp=". s:none ."'" +exe "let s:sp_foreground = ' guisp=". s:palette.gui.foreground[s:style] ."'" +exe "let s:sp_background = ' guisp=". s:palette.gui.background[s:style] ."'" +exe "let s:sp_selection = ' guisp=". s:palette.gui.selection[s:style] ."'" +exe "let s:sp_line = ' guisp=". s:palette.gui.line[s:style] ."'" +exe "let s:sp_comment = ' guisp=". s:palette.gui.comment[s:style] ."'" +exe "let s:sp_red = ' guisp=". s:palette.gui.red[s:style] ."'" +exe "let s:sp_orange = ' guisp=". s:palette.gui.orange[s:style] ."'" +exe "let s:sp_yellow = ' guisp=". s:palette.gui.yellow[s:style] ."'" +exe "let s:sp_green = ' guisp=". s:palette.gui.green[s:style] ."'" +exe "let s:sp_aqua = ' guisp=". s:palette.gui.aqua[s:style] ."'" +exe "let s:sp_blue = ' guisp=". s:palette.gui.blue[s:style] ."'" +exe "let s:sp_purple = ' guisp=". s:palette.gui.purple[s:style] ."'" +exe "let s:sp_window = ' guisp=". s:palette.gui.window[s:style] ."'" +exe "let s:sp_addbg = ' guisp=". s:palette.gui.addbg[s:style] ."'" +exe "let s:sp_addfg = ' guisp=". s:palette.gui.addfg[s:style] ."'" +exe "let s:sp_changebg = ' guisp=". s:palette.gui.changebg[s:style] ."'" +exe "let s:sp_changefg = ' guisp=". s:palette.gui.changefg[s:style] ."'" +exe "let s:sp_darkblue = ' guisp=". s:palette.gui.darkblue[s:style] ."'" +exe "let s:sp_darkcyan = ' guisp=". s:palette.gui.darkcyan[s:style] ."'" +exe "let s:sp_darkred = ' guisp=". s:palette.gui.darkred[s:style] ."'" +exe "let s:sp_darkpurple = ' guisp=". s:palette.gui.darkpurple[s:style] ."'" + +"}}} +" Vim Highlighting: (see :help highlight-groups)"{{{ +" ---------------------------------------------------------------------------- +exe "hi! ColorColumn" .s:fg_none .s:bg_line .s:fmt_none +" Conceal" +" Cursor" +" CursorIM" +exe "hi! CursorColumn" .s:fg_none .s:bg_line .s:fmt_none +exe "hi! CursorLine" .s:fg_none .s:bg_line .s:fmt_none +exe "hi! Directory" .s:fg_blue .s:bg_none .s:fmt_none +exe "hi! DiffAdd" .s:fg_addfg .s:bg_addbg .s:fmt_none +exe "hi! DiffChange" .s:fg_changefg .s:bg_changebg .s:fmt_none +exe "hi! DiffDelete" .s:fg_background .s:bg_delbg .s:fmt_none +exe "hi! DiffText" .s:fg_background .s:bg_blue .s:fmt_none +exe "hi! ErrorMsg" .s:fg_background .s:bg_red .s:fmt_stnd +exe "hi! VertSplit" .s:fg_window .s:bg_none .s:fmt_none +exe "hi! Folded" .s:fg_comment .s:bg_darkcolumn .s:fmt_none +exe "hi! FoldColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none +exe "hi! SignColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none +" Incsearch" +exe "hi! LineNr" .s:fg_selection .s:bg_none .s:fmt_none +exe "hi! CursorLineNr" .s:fg_yellow .s:bg_none .s:fmt_none +exe "hi! MatchParen" .s:fg_background .s:bg_changebg .s:fmt_none +exe "hi! ModeMsg" .s:fg_green .s:bg_none .s:fmt_none +exe "hi! MoreMsg" .s:fg_green .s:bg_none .s:fmt_none +exe "hi! NonText" .s:fg_selection .s:bg_none .s:fmt_none +exe "hi! Pmenu" .s:fg_foreground .s:bg_selection .s:fmt_none +exe "hi! PmenuSel" .s:fg_foreground .s:bg_selection .s:fmt_revr +" PmenuSbar" +" PmenuThumb" +exe "hi! Question" .s:fg_green .s:bg_none .s:fmt_none +exe "hi! Search" .s:fg_background .s:bg_yellow .s:fmt_none +exe "hi! SpecialKey" .s:fg_selection .s:bg_none .s:fmt_none +exe "hi! SpellCap" .s:fg_blue .s:bg_darkblue .s:fmt_undr +exe "hi! SpellLocal" .s:fg_aqua .s:bg_darkcyan .s:fmt_undr +exe "hi! SpellBad" .s:fg_red .s:bg_darkred .s:fmt_undr +exe "hi! SpellRare" .s:fg_purple .s:bg_darkpurple .s:fmt_undr +exe "hi! StatusLine" .s:fg_comment .s:bg_background .s:fmt_revr +exe "hi! StatusLineNC" .s:fg_window .s:bg_comment .s:fmt_revr +exe "hi! TabLine" .s:fg_foreground .s:bg_darkcolumn .s:fmt_revr +" TabLineFill" +" TabLineSel" +exe "hi! Title" .s:fg_yellow .s:bg_none .s:fmt_none +exe "hi! Visual" .s:fg_none .s:bg_selection .s:fmt_none +" VisualNos" +exe "hi! WarningMsg" .s:fg_red .s:bg_none .s:fmt_none +" FIXME LongLineWarning to use variables instead of hardcoding +hi LongLineWarning guifg=NONE guibg=#371F1C gui=underline ctermfg=NONE ctermbg=NONE cterm=underline +" WildMenu" + +" Use defined custom background colour for terminal Vim. +if !has('gui_running') && exists("g:hybrid_custom_term_colors") && g:hybrid_custom_term_colors == 1 + let s:bg_normal = s:bg_none +else + let s:bg_normal = s:bg_background +endif +exe "hi! Normal" .s:fg_foreground .s:bg_normal .s:fmt_none + +"}}} +" Generic Syntax Highlighting: (see :help group-name)"{{{ +" ---------------------------------------------------------------------------- +exe "hi! Comment" .s:fg_comment .s:bg_none .s:fmt_none + +exe "hi! Constant" .s:fg_red .s:bg_none .s:fmt_none +exe "hi! String" .s:fg_green .s:bg_none .s:fmt_none +" Character" +" Number" +" Boolean" +" Float" + +exe "hi! Identifier" .s:fg_purple .s:bg_none .s:fmt_none +exe "hi! Function" .s:fg_yellow .s:bg_none .s:fmt_none + +exe "hi! Statement" .s:fg_blue .s:bg_none .s:fmt_none +" Conditional" +" Repeat" +" Label" +exe "hi! Operator" .s:fg_aqua .s:bg_none .s:fmt_none +" Keyword" +" Exception" + +exe "hi! PreProc" .s:fg_aqua .s:bg_none .s:fmt_none +" Include" +" Define" +" Macro" +" PreCondit" + +exe "hi! Type" .s:fg_orange .s:bg_none .s:fmt_none +" StorageClass" +exe "hi! Structure" .s:fg_aqua .s:bg_none .s:fmt_none +" Typedef" + +exe "hi! Special" .s:fg_green .s:bg_none .s:fmt_none +" SpecialChar" +" Tag" +" Delimiter" +" SpecialComment" +" Debug" +" +exe "hi! Underlined" .s:fg_blue .s:bg_none .s:fmt_none + +exe "hi! Ignore" .s:fg_none .s:bg_none .s:fmt_none + +exe "hi! Error" .s:fg_red .s:bg_darkred .s:fmt_undr + +exe "hi! Todo" .s:fg_addfg .s:bg_none .s:fmt_none + +" Quickfix window highlighting +exe "hi! qfLineNr" .s:fg_yellow .s:bg_none .s:fmt_none +" qfFileName" +" qfLineNr" +" qfError" + +"}}} +" Diff Syntax Highlighting:"{{{ +" ---------------------------------------------------------------------------- +" Diff +" diffOldFile +" diffNewFile +" diffFile +" diffOnly +" diffIdentical +" diffDiffer +" diffBDiffer +" diffIsA +" diffNoEOL +" diffCommon +hi! link diffRemoved Constant +" diffChanged +hi! link diffAdded Special +" diffLine +" diffSubname +" diffComment + +"}}} +" +" This is needed for some reason: {{{ + +let &background = s:style + +" }}} +" Legal:"{{{ +" ---------------------------------------------------------------------------- +" Copyright (c) 2011 Ethan Schoonover +" Copyright (c) 2009-2012 NanoTech +" Copyright (c) 2012 w0ng +" +" Permission is hereby granted, free of charge, to any per‐ +" son obtaining a copy of this software and associated doc‐ +" umentation files (the “Software”), to deal in the Soft‐ +" ware without restriction, including without limitation +" the rights to use, copy, modify, merge, publish, distrib‐ +" ute, sublicense, and/or sell copies of the Software, and +" to permit persons to whom the Software is furnished to do +" so, subject to the following conditions: +" +" The above copyright notice and this permission notice +" shall be included in all copies or substantial portions +" of the Software. +" +" THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY +" KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +" THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICU‐ +" LAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CON‐ +" TRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON‐ +" NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +" THE SOFTWARE. + +" }}} diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/hybrid_material.vim b/nvim/plugged/awesome-vim-colorschemes/colors/hybrid_material.vim new file mode 100644 index 00000000..83a03359 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/hybrid_material.vim @@ -0,0 +1,470 @@ +" File: hybrid_material.vim +" Maintainer: Kristijan Husak (kristijanhusak) +" URL: https://github.com/kristijanhusak/vim-hybrid-material +" BASED ON: https://github.com/w0ng/vim-hybrid +" Modified: 16 Apr 2016 +" License: MIT + +" Description:"{{{ +" ---------------------------------------------------------------------------- +" +" The default RGB colour palette is taken from Tomorrow-Night.vim: +" https://github.com/chriskempson/vim-tomorrow-theme +" +" The reduced RGB colour palette is taken from Codecademy's online editor: +" https://www.codecademy.com/learn +" +" The syntax highlighting scheme is taken from jellybeans.vim: +" https://github.com/nanotech/jellybeans.vim +" +" The is code taken from solarized.vim: +" https://github.com/altercation/vim-colors-solarized + +"}}} +" Requirements And Recommendations:"{{{ +" ---------------------------------------------------------------------------- +" Requirements +" - gVim 7.3+ on Linux, Mac and Windows. +" - Vim 7.3+ on Linux and Mac, using a terminal that supports 256 colours. +" +" Due to the limited 256 palette, colours in Vim and gVim will still be slightly +" different. +" +" In order to have Vim use the same colours as gVim (the way this colour scheme +" is intended), it is recommended that you define the basic 16 colours in your +" terminal. +" +" For Linux users (rxvt-unicode, xterm): +" +" 1. Add the default palette to ~/.Xresources: +" +" https://gist.github.com/3278077 +" +" or alternatively, add the reduced contrast palette to ~/.Xresources: +" +" https://gist.github.com/w0ng/16e33902508b4a0350ae +" +" 2. Add to ~/.vimrc: +" +" let g:hybrid_custom_term_colors = 1 +" let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette. +" colorscheme hybrid +" +" For OSX users (iTerm): +" +" 1. Import the default colour preset into iTerm: +" +" https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid.itermcolors +" +" or alternatively, import the reduced contrast color preset into iTerm: +" +" https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid-reduced-contrast.itermcolors +" +" 2. Add to ~/.vimrc: +" +" let g:hybrid_custom_term_colors = 1 +" let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette. +" colorscheme hybrid + +"}}} +" Initialisation:"{{{ +" ---------------------------------------------------------------------------- + +hi clear + +if exists("syntax_on") + syntax reset +endif + +let s:style = &background + +let g:colors_name = "hybrid_material" + +"}}} +" GUI And Cterm Palettes:"{{{ +" ---------------------------------------------------------------------------- + +let s:palette = {'gui' : {} , 'cterm' : {}} + +let s:gui_background = "#263238" +let s:gui_selection = "#455A64" +let s:gui_line = "#212D32" +let s:gui_comment = "#707880" + +let s:palette.gui.background = { 'dark' : s:gui_background , 'light' : "#e4e4e4" } +let s:palette.gui.foreground = { 'dark' : "#c5c8c6" , 'light' : "#000000" } +let s:palette.gui.selection = { 'dark' : s:gui_selection , 'light' : "#bcbcbc" } +let s:palette.gui.line = { 'dark' : s:gui_line , 'light' : "#d0d0d0" } +let s:palette.gui.comment = { 'dark' : s:gui_comment , 'light' : "#5f5f5f" } +let s:palette.gui.red = { 'dark' : "#cc6666" , 'light' : "#5f0000" } +let s:palette.gui.orange = { 'dark' : "#de935f" , 'light' : "#875f00" } +let s:palette.gui.yellow = { 'dark' : "#f0c674" , 'light' : "#5f5f00" } +let s:palette.gui.green = { 'dark' : "#b5bd68" , 'light' : "#005f00" } +let s:palette.gui.aqua = { 'dark' : "#8abeb7" , 'light' : "#005f5f" } +let s:palette.gui.blue = { 'dark' : "#81a2be" , 'light' : "#00005f" } +let s:palette.gui.purple = { 'dark' : "#b294bb" , 'light' : "#5f005f" } +let s:palette.gui.window = { 'dark' : s:gui_selection , 'light' : "#9e9e9e" } +let s:palette.gui.darkcolumn = { 'dark' : "#1c1c1c" , 'light' : "#808080" } +let s:palette.gui.addbg = { 'dark' : "#5F875F" , 'light' : "#d7ffd7" } +let s:palette.gui.addfg = { 'dark' : "#d7ffaf" , 'light' : "#005f00" } +let s:palette.gui.changebg = { 'dark' : "#5F5F87" , 'light' : "#d7d7ff" } +let s:palette.gui.changefg = { 'dark' : "#d7d7ff" , 'light' : "#5f005f" } +let s:palette.gui.delbg = { 'dark' : "#cc6666" , 'light' : "#ffd7d7" } +let s:palette.gui.darkblue = { 'dark' : "#00005f" , 'light' : "#d7ffd7" } +let s:palette.gui.darkcyan = { 'dark' : "#005f5f" , 'light' : "#005f00" } +let s:palette.gui.darkred = { 'dark' : "#5f0000" , 'light' : "#d7d7ff" } +let s:palette.gui.darkpurple = { 'dark' : "#5f005f" , 'light' : "#5f005f" } + +if exists("g:hybrid_custom_term_colors") && g:hybrid_custom_term_colors == 1 + let s:cterm_foreground = "15" " White + let s:cterm_selection = "8" " DarkGrey + let s:cterm_line = "0" " Black + let s:cterm_comment = "7" " LightGrey + let s:cterm_red = "9" " LightRed + let s:cterm_orange = "3" " DarkYellow + let s:cterm_yellow = "11" " LightYellow + let s:cterm_green = "10" " LightGreen + let s:cterm_aqua = "14" " LightCyan + let s:cterm_blue = "12" " LightBlue + let s:cterm_purple = "13" " LightMagenta + let s:cterm_delbg = "9" " LightRed +else + let s:cterm_foreground = "250" + let s:cterm_selection = "237" + let s:cterm_line = "235" + let s:cterm_comment = "243" + let s:cterm_red = "167" + let s:cterm_orange = "173" + let s:cterm_yellow = "221" + let s:cterm_green = "143" + let s:cterm_aqua = "109" + let s:cterm_blue = "110" + let s:cterm_purple = "139" + let s:cterm_delbg = "167" +endif + +let s:palette.cterm.background = { 'dark' : "234" , 'light' : "254" } +let s:palette.cterm.foreground = { 'dark' : s:cterm_foreground , 'light' : "16" } +let s:palette.cterm.window = { 'dark' : "236" , 'light' : "247" } +let s:palette.cterm.selection = { 'dark' : s:cterm_selection , 'light' : "250" } +let s:palette.cterm.line = { 'dark' : s:cterm_line , 'light' : "252" } +let s:palette.cterm.comment = { 'dark' : s:cterm_comment , 'light' : "59" } +let s:palette.cterm.red = { 'dark' : s:cterm_red , 'light' : "52" } +let s:palette.cterm.orange = { 'dark' : s:cterm_orange , 'light' : "94" } +let s:palette.cterm.yellow = { 'dark' : s:cterm_yellow , 'light' : "58" } +let s:palette.cterm.green = { 'dark' : s:cterm_green , 'light' : "22" } +let s:palette.cterm.aqua = { 'dark' : s:cterm_aqua , 'light' : "23" } +let s:palette.cterm.blue = { 'dark' : s:cterm_blue , 'light' : "17" } +let s:palette.cterm.purple = { 'dark' : s:cterm_purple , 'light' : "53" } +let s:palette.cterm.darkcolumn = { 'dark' : "234" , 'light' : "244" } +let s:palette.cterm.addbg = { 'dark' : "65" , 'light' : "194" } +let s:palette.cterm.addfg = { 'dark' : "193" , 'light' : "22" } +let s:palette.cterm.changebg = { 'dark' : "60" , 'light' : "189" } +let s:palette.cterm.changefg = { 'dark' : "189" , 'light' : "53" } +let s:palette.cterm.delbg = { 'dark' : s:cterm_delbg , 'light' : "224" } +let s:palette.cterm.darkblue = { 'dark' : "17" , 'light' : "194" } +let s:palette.cterm.darkcyan = { 'dark' : "24" , 'light' : "22" } +let s:palette.cterm.darkred = { 'dark' : "52" , 'light' : "189" } +let s:palette.cterm.darkpurple = { 'dark' : "53" , 'light' : "53" } + +"}}} +" Formatting Options:"{{{ +" ---------------------------------------------------------------------------- +let s:none = "NONE" +let s:t_none = "NONE" +let s:n = "NONE" +let s:c = ",undercurl" +let s:r = ",reverse" +let s:s = ",standout" +let s:b = ",bold" +let s:u = ",underline" +let s:i = ",italic" + +"}}} +" Highlighting Primitives:"{{{ +" ---------------------------------------------------------------------------- +function! s:build_prim(hi_elem, field) + " Given a:hi_elem = bg, a:field = comment + let l:vname = "s:" . a:hi_elem . "_" . a:field " s:bg_comment + let l:gui_assign = "gui".a:hi_elem."=".s:palette.gui[a:field][s:style] " guibg=... + let l:cterm_assign = "cterm".a:hi_elem."=".s:palette.cterm[a:field][s:style] " ctermbg=... + exe "let " . l:vname . " = ' " . l:gui_assign . " " . l:cterm_assign . "'" +endfunction + +let s:bg_none = ' guibg=NONE ctermbg=NONE' +call s:build_prim('bg', 'foreground') +call s:build_prim('bg', 'background') +call s:build_prim('bg', 'selection') +call s:build_prim('bg', 'line') +call s:build_prim('bg', 'comment') +call s:build_prim('bg', 'red') +call s:build_prim('bg', 'orange') +call s:build_prim('bg', 'yellow') +call s:build_prim('bg', 'green') +call s:build_prim('bg', 'aqua') +call s:build_prim('bg', 'blue') +call s:build_prim('bg', 'purple') +call s:build_prim('bg', 'window') +call s:build_prim('bg', 'darkcolumn') +call s:build_prim('bg', 'addbg') +call s:build_prim('bg', 'addfg') +call s:build_prim('bg', 'changebg') +call s:build_prim('bg', 'changefg') +call s:build_prim('bg', 'delbg') +call s:build_prim('bg', 'darkblue') +call s:build_prim('bg', 'darkcyan') +call s:build_prim('bg', 'darkred') +call s:build_prim('bg', 'darkpurple') + +let s:fg_none = ' guifg=NONE ctermfg=NONE' +call s:build_prim('fg', 'foreground') +call s:build_prim('fg', 'background') +call s:build_prim('fg', 'selection') +call s:build_prim('fg', 'line') +call s:build_prim('fg', 'comment') +call s:build_prim('fg', 'red') +call s:build_prim('fg', 'orange') +call s:build_prim('fg', 'yellow') +call s:build_prim('fg', 'green') +call s:build_prim('fg', 'aqua') +call s:build_prim('fg', 'blue') +call s:build_prim('fg', 'purple') +call s:build_prim('fg', 'window') +call s:build_prim('fg', 'darkcolumn') +call s:build_prim('fg', 'addbg') +call s:build_prim('fg', 'addfg') +call s:build_prim('fg', 'changebg') +call s:build_prim('fg', 'changefg') +call s:build_prim('fg', 'darkblue') +call s:build_prim('fg', 'darkcyan') +call s:build_prim('fg', 'darkred') +call s:build_prim('fg', 'darkpurple') + +exe "let s:fmt_none = ' gui=NONE". " cterm=NONE". " term=NONE" ."'" +exe "let s:fmt_bold = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'" +exe "let s:fmt_bldi = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'" +exe "let s:fmt_undr = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'" +exe "let s:fmt_undb = ' gui=NONE".s:u.s:b. " cterm=NONE".s:u.s:b. " term=NONE".s:u.s:b."'" +exe "let s:fmt_undi = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'" +exe "let s:fmt_curl = ' gui=NONE".s:c. " cterm=NONE".s:c. " term=NONE".s:c ."'" +exe "let s:fmt_ital = ' gui=NONE".s:i. " cterm=NONE".s:i. " term=NONE".s:i ."'" +exe "let s:fmt_stnd = ' gui=NONE".s:s. " cterm=NONE".s:s. " term=NONE".s:s ."'" +exe "let s:fmt_revr = ' gui=NONE".s:r. " cterm=NONE".s:r. " term=NONE".s:r ."'" +exe "let s:fmt_revb = ' gui=NONE".s:r.s:b. " cterm=NONE".s:r.s:b. " term=NONE".s:r.s:b."'" + +exe "let s:sp_none = ' guisp=". s:none ."'" +exe "let s:sp_foreground = ' guisp=". s:palette.gui.foreground[s:style] ."'" +exe "let s:sp_background = ' guisp=". s:palette.gui.background[s:style] ."'" +exe "let s:sp_selection = ' guisp=". s:palette.gui.selection[s:style] ."'" +exe "let s:sp_line = ' guisp=". s:palette.gui.line[s:style] ."'" +exe "let s:sp_comment = ' guisp=". s:palette.gui.comment[s:style] ."'" +exe "let s:sp_red = ' guisp=". s:palette.gui.red[s:style] ."'" +exe "let s:sp_orange = ' guisp=". s:palette.gui.orange[s:style] ."'" +exe "let s:sp_yellow = ' guisp=". s:palette.gui.yellow[s:style] ."'" +exe "let s:sp_green = ' guisp=". s:palette.gui.green[s:style] ."'" +exe "let s:sp_aqua = ' guisp=". s:palette.gui.aqua[s:style] ."'" +exe "let s:sp_blue = ' guisp=". s:palette.gui.blue[s:style] ."'" +exe "let s:sp_purple = ' guisp=". s:palette.gui.purple[s:style] ."'" +exe "let s:sp_window = ' guisp=". s:palette.gui.window[s:style] ."'" +exe "let s:sp_addbg = ' guisp=". s:palette.gui.addbg[s:style] ."'" +exe "let s:sp_addfg = ' guisp=". s:palette.gui.addfg[s:style] ."'" +exe "let s:sp_changebg = ' guisp=". s:palette.gui.changebg[s:style] ."'" +exe "let s:sp_changefg = ' guisp=". s:palette.gui.changefg[s:style] ."'" +exe "let s:sp_darkblue = ' guisp=". s:palette.gui.darkblue[s:style] ."'" +exe "let s:sp_darkcyan = ' guisp=". s:palette.gui.darkcyan[s:style] ."'" +exe "let s:sp_darkred = ' guisp=". s:palette.gui.darkred[s:style] ."'" +exe "let s:sp_darkpurple = ' guisp=". s:palette.gui.darkpurple[s:style] ."'" + + +" Set bold font depending on options +if exists("g:enable_bold_font") && g:enable_bold_font == 1 + let s:fg_bold = s:fmt_bold +else + let s:fg_bold = s:fmt_none +endif + +" Set italic font depending on options +if exists("g:enable_italic_font") && g:enable_italic_font == 1 + let s:fg_italic = s:fmt_ital +else + let s:fg_italic = s:fmt_none +endif + +"}}} +" Vim Highlighting: (see :help highlight-groups)"{{{ +" ---------------------------------------------------------------------------- +exe "hi! ColorColumn" .s:fg_none .s:bg_line .s:fmt_none +exe "hi! Conceal" .s:fg_orange .s:bg_none .s:fmt_none +" Cursor" +" CursorIM" +exe "hi! CursorColumn" .s:fg_none .s:bg_line .s:fmt_none +exe "hi! CursorLine" .s:fg_none .s:bg_line .s:fmt_none +exe "hi! Directory" .s:fg_blue .s:bg_none .s:fmt_none +exe "hi! DiffAdd" .s:fg_addfg .s:bg_addbg .s:fmt_none +exe "hi! DiffChange" .s:fg_changefg .s:bg_changebg .s:fmt_none +exe "hi! DiffDelete" .s:fg_background .s:bg_delbg .s:fmt_none +exe "hi! DiffText" .s:fg_background .s:bg_blue .s:fmt_none +exe "hi! ErrorMsg" .s:fg_background .s:bg_red .s:fmt_stnd +exe "hi! VertSplit" .s:fg_window .s:bg_none .s:fmt_none +exe "hi! Folded" .s:fg_comment .s:bg_darkcolumn .s:fmt_none +exe "hi! FoldColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none +exe "hi! SignColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none +" Incsearch" +exe "hi! LineNr" .s:fg_selection .s:bg_none .s:fmt_none +exe "hi! CursorLineNr" .s:fg_yellow .s:bg_none .s:fg_bold +exe "hi! MatchParen" .s:fg_aqua .s:bg_changebg .s:fg_bold +exe "hi! ModeMsg" .s:fg_green .s:bg_none .s:fmt_none +exe "hi! MoreMsg" .s:fg_green .s:bg_none .s:fmt_none +exe "hi! NonText" .s:fg_selection .s:bg_none .s:fmt_none +exe "hi! Pmenu" .s:fg_foreground .s:bg_selection .s:fmt_none +exe "hi! PmenuSel" .s:fg_foreground .s:bg_selection .s:fmt_revr +" PmenuSbar" +" PmenuThumb" +exe "hi! Question" .s:fg_green .s:bg_none .s:fmt_none +exe "hi! Search" .s:fg_background .s:bg_yellow .s:fmt_none +exe "hi! SpecialKey" .s:fg_selection .s:bg_none .s:fmt_none +exe "hi! SpellCap" .s:fg_blue .s:bg_none .s:fmt_undr +exe "hi! SpellLocal" .s:fg_aqua .s:bg_none .s:fmt_undr +exe "hi! SpellBad" .s:fg_red .s:bg_none .s:fmt_undr +exe "hi! SpellRare" .s:fg_purple .s:bg_none .s:fmt_undr +exe "hi! StatusLine" .s:fg_foreground .s:bg_selection .s:fg_bold +exe "hi! StatusLineNC" .s:fg_window .s:bg_comment .s:fmt_none +exe "hi! TabLine" .s:fg_foreground .s:bg_darkcolumn .s:fmt_revr +" TabLineFill" +" TabLineSel" +exe "hi! Title" .s:fg_yellow .s:bg_none .s:fmt_none +exe "hi! Visual" .s:fg_none .s:bg_selection .s:fmt_none +" VisualNos" +exe "hi! WarningMsg" .s:fg_red .s:bg_none .s:fmt_none +" FIXME LongLineWarning to use variables instead of hardcoding +hi LongLineWarning guifg=NONE guibg=#371F1C gui=underline ctermfg=NONE ctermbg=NONE cterm=underline +" WildMenu" + +" Use defined custom background colour for terminal Vim. +if !has('gui_running') && exists("g:hybrid_custom_term_colors") && g:hybrid_custom_term_colors == 1 + let s:bg_normal = s:bg_none +else + let s:bg_normal = s:bg_background +endif + +let s:normal_bg = s:bg_normal + +if get(g:, 'hybrid_transparent_background', 0) == 1 + let s:normal_bg = s:bg_none +endif + +exe "hi! Normal" .s:fg_foreground .s:normal_bg .s:fmt_none + +"}}} +" Generic Syntax Highlighting: (see :help group-name)"{{{ +" ---------------------------------------------------------------------------- +exe "hi! Comment" .s:fg_comment .s:bg_none .s:fg_italic + +exe "hi! Constant" .s:fg_purple .s:bg_none .s:fmt_none +exe "hi! String" .s:fg_green .s:bg_none .s:fmt_none +" Character" +" Number" +" Boolean" +" Float" + +exe "hi! Identifier" .s:fg_red .s:bg_none .s:fmt_none +exe "hi! Function" .s:fg_yellow .s:bg_none .s:fg_bold + +exe "hi! Statement" .s:fg_blue .s:bg_none .s:fg_bold +" Conditional" +" Repeat" +" Label" +exe "hi! Operator" .s:fg_aqua .s:bg_none .s:fmt_none +" Keyword" +" Exception" + +exe "hi! PreProc" .s:fg_aqua .s:bg_none .s:fg_bold +" Include" +" Define" +" Macro" +" PreCondit" + +exe "hi! Type" .s:fg_orange .s:bg_none .s:fg_bold +" StorageClass" +exe "hi! Structure" .s:fg_aqua .s:bg_none .s:fmt_none +" Typedef" + +exe "hi! Special" .s:fg_red .s:bg_none .s:fmt_none +" SpecialChar" +" Tag" +" Delimiter" +" SpecialComment" +" Debug" +" +exe "hi! Underlined" .s:fg_blue .s:bg_none .s:fmt_none + +exe "hi! Ignore" .s:fg_none .s:bg_none .s:fmt_none + +exe "hi! Error" .s:fg_red .s:bg_none .s:fmt_none + +exe "hi! Todo" .s:fg_addfg .s:bg_none .s:fg_bold + +" Quickfix window highlighting +exe "hi! qfLineNr" .s:fg_yellow .s:bg_none .s:fmt_none +" qfFileName" +" qfLineNr" +" qfError" + +"}}} +" Diff Syntax Highlighting:"{{{ +" ---------------------------------------------------------------------------- +" Diff +" diffOldFile +" diffNewFile +" diffFile +" diffOnly +" diffIdentical +" diffDiffer +" diffBDiffer +" diffIsA +" diffNoEOL +" diffCommon +hi! link diffRemoved Special +" diffChanged +hi! link diffAdded String +" diffLine +" diffSubname +" diffComment + +"}}} +" +" This is needed for some reason: {{{ + +let &background = s:style + +" }}} +" Legal:"{{{ +" ---------------------------------------------------------------------------- +" Copyright (c) 2011 Ethan Schoonover +" Copyright (c) 2009-2012 NanoTech +" Copyright (c) 2012 w0ng +" +" Permission is hereby granted, free of charge, to any per‐ +" son obtaining a copy of this software and associated doc‐ +" umentation files (the “Software”), to deal in the Soft‐ +" ware without restriction, including without limitation +" the rights to use, copy, modify, merge, publish, distrib‐ +" ute, sublicense, and/or sell copies of the Software, and +" to permit persons to whom the Software is furnished to do +" so, subject to the following conditions: +" +" The above copyright notice and this permission notice +" shall be included in all copies or substantial portions +" of the Software. +" +" THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY +" KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +" THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICU‐ +" LAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CON‐ +" TRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON‐ +" NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +" THE SOFTWARE. + +" }}} diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/hybrid_reverse.vim b/nvim/plugged/awesome-vim-colorschemes/colors/hybrid_reverse.vim new file mode 100644 index 00000000..9b79f005 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/hybrid_reverse.vim @@ -0,0 +1,469 @@ +" File: hybrid_reverse.vim +" Maintainer: Kristijan Husak (kristijanhusak) +" URL: https://github.com/kristijanhusak/vim-hybrid-material +" BASED ON: https://github.com/w0ng/vim-hybrid +" Modified: 16 Apr 2016 +" License: MIT + +" Description:"{{{ +" ---------------------------------------------------------------------------- +" The default RGB colour palette is taken from Tomorrow-Night.vim: +" https://github.com/chriskempson/vim-tomorrow-theme +" +" The reduced RGB colour palette is taken from Codecademy's online editor: +" https://www.codecademy.com/learn +" +" The syntax highlighting scheme is taken from jellybeans.vim: +" https://github.com/nanotech/jellybeans.vim +" +" The is code taken from solarized.vim: +" https://github.com/altercation/vim-colors-solarized + +"}}} +" Requirements And Recommendations:"{{{ +" ---------------------------------------------------------------------------- +" Requirements +" - gVim 7.3+ on Linux, Mac and Windows. +" - Vim 7.3+ on Linux and Mac, using a terminal that supports 256 colours. +" +" Due to the limited 256 palette, colours in Vim and gVim will still be slightly +" different. +" +" In order to have Vim use the same colours as gVim (the way this colour scheme +" is intended), it is recommended that you define the basic 16 colours in your +" terminal. +" +" For Linux users (rxvt-unicode, xterm): +" +" 1. Add the default palette to ~/.Xresources: +" +" https://gist.github.com/3278077 +" +" or alternatively, add the reduced contrast palette to ~/.Xresources: +" +" https://gist.github.com/w0ng/16e33902508b4a0350ae +" +" 2. Add to ~/.vimrc: +" +" let g:hybrid_custom_term_colors = 1 +" let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette. +" colorscheme hybrid +" +" For OSX users (iTerm): +" +" 1. Import the default colour preset into iTerm: +" +" https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid.itermcolors +" +" or alternatively, import the reduced contrast color preset into iTerm: +" +" https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid-reduced-contrast.itermcolors +" +" 2. Add to ~/.vimrc: +" +" let g:hybrid_custom_term_colors = 1 +" let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette. +" colorscheme hybrid + +"}}} +" Initialisation:"{{{ +" ---------------------------------------------------------------------------- + +hi clear + +if exists("syntax_on") + syntax reset +endif + +let s:style = &background + +let g:colors_name = "hybrid_reverse" + +"}}} +" GUI And Cterm Palettes:"{{{ +" ---------------------------------------------------------------------------- + +let s:palette = {'gui' : {} , 'cterm' : {}} + +let s:gui_background = "#1d1f21" +let s:gui_selection = "#373b41" +let s:gui_line = "#282a2e" +let s:gui_comment = "#707880" + +let s:palette.gui.background = { 'dark' : s:gui_background , 'light' : "#e4e4e4" } +let s:palette.gui.foreground = { 'dark' : "#c5c8c6" , 'light' : "#000000" } +let s:palette.gui.selection = { 'dark' : s:gui_selection , 'light' : "#bcbcbc" } +let s:palette.gui.line = { 'dark' : s:gui_line , 'light' : "#d0d0d0" } +let s:palette.gui.comment = { 'dark' : s:gui_comment , 'light' : "#5f5f5f" } +let s:palette.gui.red = { 'dark' : "#cc6666" , 'light' : "#5f0000" } +let s:palette.gui.orange = { 'dark' : "#de935f" , 'light' : "#875f00" } +let s:palette.gui.yellow = { 'dark' : "#f0c674" , 'light' : "#5f5f00" } +let s:palette.gui.green = { 'dark' : "#b5bd68" , 'light' : "#005f00" } +let s:palette.gui.aqua = { 'dark' : "#8abeb7" , 'light' : "#005f5f" } +let s:palette.gui.blue = { 'dark' : "#81a2be" , 'light' : "#00005f" } +let s:palette.gui.purple = { 'dark' : "#b294bb" , 'light' : "#5f005f" } +let s:palette.gui.window = { 'dark' : "#303030" , 'light' : "#9e9e9e" } +let s:palette.gui.darkcolumn = { 'dark' : "#1c1c1c" , 'light' : "#808080" } +let s:palette.gui.addbg = { 'dark' : "#5F875F" , 'light' : "#d7ffd7" } +let s:palette.gui.addfg = { 'dark' : "#d7ffaf" , 'light' : "#005f00" } +let s:palette.gui.changebg = { 'dark' : "#5F5F87" , 'light' : "#d7d7ff" } +let s:palette.gui.changefg = { 'dark' : "#d7d7ff" , 'light' : "#5f005f" } +let s:palette.gui.delbg = { 'dark' : "#cc6666" , 'light' : "#ffd7d7" } +let s:palette.gui.darkblue = { 'dark' : "#00005f" , 'light' : "#d7ffd7" } +let s:palette.gui.darkcyan = { 'dark' : "#005f5f" , 'light' : "#005f00" } +let s:palette.gui.darkred = { 'dark' : "#5f0000" , 'light' : "#d7d7ff" } +let s:palette.gui.darkpurple = { 'dark' : "#5f005f" , 'light' : "#5f005f" } + +if exists("g:hybrid_custom_term_colors") && g:hybrid_custom_term_colors == 1 + let s:cterm_foreground = "15" " White + let s:cterm_selection = "8" " DarkGrey + let s:cterm_line = "0" " Black + let s:cterm_comment = "7" " LightGrey + let s:cterm_red = "9" " LightRed + let s:cterm_orange = "3" " DarkYellow + let s:cterm_yellow = "11" " LightYellow + let s:cterm_green = "10" " LightGreen + let s:cterm_aqua = "14" " LightCyan + let s:cterm_blue = "12" " LightBlue + let s:cterm_purple = "13" " LightMagenta + let s:cterm_delbg = "9" " LightRed +else + let s:cterm_foreground = "250" + let s:cterm_selection = "237" + let s:cterm_line = "235" + let s:cterm_comment = "243" + let s:cterm_red = "167" + let s:cterm_orange = "173" + let s:cterm_yellow = "221" + let s:cterm_green = "143" + let s:cterm_aqua = "109" + let s:cterm_blue = "110" + let s:cterm_purple = "139" + let s:cterm_delbg = "167" +endif + +let s:palette.cterm.background = { 'dark' : "234" , 'light' : "254" } +let s:palette.cterm.foreground = { 'dark' : s:cterm_foreground , 'light' : "16" } +let s:palette.cterm.window = { 'dark' : "236" , 'light' : "247" } +let s:palette.cterm.selection = { 'dark' : s:cterm_selection , 'light' : "250" } +let s:palette.cterm.line = { 'dark' : s:cterm_line , 'light' : "252" } +let s:palette.cterm.comment = { 'dark' : s:cterm_comment , 'light' : "59" } +let s:palette.cterm.red = { 'dark' : s:cterm_red , 'light' : "52" } +let s:palette.cterm.orange = { 'dark' : s:cterm_orange , 'light' : "94" } +let s:palette.cterm.yellow = { 'dark' : s:cterm_yellow , 'light' : "58" } +let s:palette.cterm.green = { 'dark' : s:cterm_green , 'light' : "22" } +let s:palette.cterm.aqua = { 'dark' : s:cterm_aqua , 'light' : "23" } +let s:palette.cterm.blue = { 'dark' : s:cterm_blue , 'light' : "17" } +let s:palette.cterm.purple = { 'dark' : s:cterm_purple , 'light' : "53" } +let s:palette.cterm.darkcolumn = { 'dark' : "234" , 'light' : "244" } +let s:palette.cterm.addbg = { 'dark' : "65" , 'light' : "194" } +let s:palette.cterm.addfg = { 'dark' : "193" , 'light' : "22" } +let s:palette.cterm.changebg = { 'dark' : "60" , 'light' : "189" } +let s:palette.cterm.changefg = { 'dark' : "189" , 'light' : "53" } +let s:palette.cterm.delbg = { 'dark' : s:cterm_delbg , 'light' : "224" } +let s:palette.cterm.darkblue = { 'dark' : "17" , 'light' : "194" } +let s:palette.cterm.darkcyan = { 'dark' : "24" , 'light' : "22" } +let s:palette.cterm.darkred = { 'dark' : "52" , 'light' : "189" } +let s:palette.cterm.darkpurple = { 'dark' : "53" , 'light' : "53" } + +"}}} +" Formatting Options:"{{{ +" ---------------------------------------------------------------------------- +let s:none = "NONE" +let s:t_none = "NONE" +let s:n = "NONE" +let s:c = ",undercurl" +let s:r = ",reverse" +let s:s = ",standout" +let s:b = ",bold" +let s:u = ",underline" +let s:i = ",italic" + +"}}} +" Highlighting Primitives:"{{{ +" ---------------------------------------------------------------------------- +function! s:build_prim(hi_elem, field) + " Given a:hi_elem = bg, a:field = comment + let l:vname = "s:" . a:hi_elem . "_" . a:field " s:bg_comment + let l:gui_assign = "gui".a:hi_elem."=".s:palette.gui[a:field][s:style] " guibg=... + let l:cterm_assign = "cterm".a:hi_elem."=".s:palette.cterm[a:field][s:style] " ctermbg=... + exe "let " . l:vname . " = ' " . l:gui_assign . " " . l:cterm_assign . "'" +endfunction + +let s:bg_none = ' guibg=NONE ctermbg=NONE' +call s:build_prim('bg', 'foreground') +call s:build_prim('bg', 'background') +call s:build_prim('bg', 'selection') +call s:build_prim('bg', 'line') +call s:build_prim('bg', 'comment') +call s:build_prim('bg', 'red') +call s:build_prim('bg', 'orange') +call s:build_prim('bg', 'yellow') +call s:build_prim('bg', 'green') +call s:build_prim('bg', 'aqua') +call s:build_prim('bg', 'blue') +call s:build_prim('bg', 'purple') +call s:build_prim('bg', 'window') +call s:build_prim('bg', 'darkcolumn') +call s:build_prim('bg', 'addbg') +call s:build_prim('bg', 'addfg') +call s:build_prim('bg', 'changebg') +call s:build_prim('bg', 'changefg') +call s:build_prim('bg', 'delbg') +call s:build_prim('bg', 'darkblue') +call s:build_prim('bg', 'darkcyan') +call s:build_prim('bg', 'darkred') +call s:build_prim('bg', 'darkpurple') + +let s:fg_none = ' guifg=NONE ctermfg=NONE' +call s:build_prim('fg', 'foreground') +call s:build_prim('fg', 'background') +call s:build_prim('fg', 'selection') +call s:build_prim('fg', 'line') +call s:build_prim('fg', 'comment') +call s:build_prim('fg', 'red') +call s:build_prim('fg', 'orange') +call s:build_prim('fg', 'yellow') +call s:build_prim('fg', 'green') +call s:build_prim('fg', 'aqua') +call s:build_prim('fg', 'blue') +call s:build_prim('fg', 'purple') +call s:build_prim('fg', 'window') +call s:build_prim('fg', 'darkcolumn') +call s:build_prim('fg', 'addbg') +call s:build_prim('fg', 'addfg') +call s:build_prim('fg', 'changebg') +call s:build_prim('fg', 'changefg') +call s:build_prim('fg', 'darkblue') +call s:build_prim('fg', 'darkcyan') +call s:build_prim('fg', 'darkred') +call s:build_prim('fg', 'darkpurple') + +exe "let s:fmt_none = ' gui=NONE". " cterm=NONE". " term=NONE" ."'" +exe "let s:fmt_bold = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'" +exe "let s:fmt_bldi = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'" +exe "let s:fmt_undr = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'" +exe "let s:fmt_undb = ' gui=NONE".s:u.s:b. " cterm=NONE".s:u.s:b. " term=NONE".s:u.s:b."'" +exe "let s:fmt_undi = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'" +exe "let s:fmt_curl = ' gui=NONE".s:c. " cterm=NONE".s:c. " term=NONE".s:c ."'" +exe "let s:fmt_ital = ' gui=NONE".s:i. " cterm=NONE".s:i. " term=NONE".s:i ."'" +exe "let s:fmt_stnd = ' gui=NONE".s:s. " cterm=NONE".s:s. " term=NONE".s:s ."'" +exe "let s:fmt_revr = ' gui=NONE".s:r. " cterm=NONE".s:r. " term=NONE".s:r ."'" +exe "let s:fmt_revb = ' gui=NONE".s:r.s:b. " cterm=NONE".s:r.s:b. " term=NONE".s:r.s:b."'" + +exe "let s:sp_none = ' guisp=". s:none ."'" +exe "let s:sp_foreground = ' guisp=". s:palette.gui.foreground[s:style] ."'" +exe "let s:sp_background = ' guisp=". s:palette.gui.background[s:style] ."'" +exe "let s:sp_selection = ' guisp=". s:palette.gui.selection[s:style] ."'" +exe "let s:sp_line = ' guisp=". s:palette.gui.line[s:style] ."'" +exe "let s:sp_comment = ' guisp=". s:palette.gui.comment[s:style] ."'" +exe "let s:sp_red = ' guisp=". s:palette.gui.red[s:style] ."'" +exe "let s:sp_orange = ' guisp=". s:palette.gui.orange[s:style] ."'" +exe "let s:sp_yellow = ' guisp=". s:palette.gui.yellow[s:style] ."'" +exe "let s:sp_green = ' guisp=". s:palette.gui.green[s:style] ."'" +exe "let s:sp_aqua = ' guisp=". s:palette.gui.aqua[s:style] ."'" +exe "let s:sp_blue = ' guisp=". s:palette.gui.blue[s:style] ."'" +exe "let s:sp_purple = ' guisp=". s:palette.gui.purple[s:style] ."'" +exe "let s:sp_window = ' guisp=". s:palette.gui.window[s:style] ."'" +exe "let s:sp_addbg = ' guisp=". s:palette.gui.addbg[s:style] ."'" +exe "let s:sp_addfg = ' guisp=". s:palette.gui.addfg[s:style] ."'" +exe "let s:sp_changebg = ' guisp=". s:palette.gui.changebg[s:style] ."'" +exe "let s:sp_changefg = ' guisp=". s:palette.gui.changefg[s:style] ."'" +exe "let s:sp_darkblue = ' guisp=". s:palette.gui.darkblue[s:style] ."'" +exe "let s:sp_darkcyan = ' guisp=". s:palette.gui.darkcyan[s:style] ."'" +exe "let s:sp_darkred = ' guisp=". s:palette.gui.darkred[s:style] ."'" +exe "let s:sp_darkpurple = ' guisp=". s:palette.gui.darkpurple[s:style] ."'" + + +" Set bold font depending on options +if exists("g:enable_bold_font") && g:enable_bold_font == 1 + let s:fg_bold = s:fmt_bold +else + let s:fg_bold = s:fmt_none +endif + +" Set italic font depending on options +if exists("g:enable_italic_font") && g:enable_italic_font == 1 + let s:fg_italic = s:fmt_ital +else + let s:fg_italic = s:fmt_none +endif + +"}}} +" Vim Highlighting: (see :help highlight-groups)"{{{ +" ---------------------------------------------------------------------------- +exe "hi! ColorColumn" .s:fg_none .s:bg_line .s:fmt_none +" Conceal" +" Cursor" +" CursorIM" +exe "hi! CursorColumn" .s:fg_none .s:bg_line .s:fmt_none +exe "hi! CursorLine" .s:fg_none .s:bg_line .s:fmt_none +exe "hi! Directory" .s:fg_blue .s:bg_none .s:fmt_none +exe "hi! DiffAdd" .s:fg_addfg .s:bg_addbg .s:fmt_none +exe "hi! DiffChange" .s:fg_changefg .s:bg_changebg .s:fmt_none +exe "hi! DiffDelete" .s:fg_background .s:bg_delbg .s:fmt_none +exe "hi! DiffText" .s:fg_background .s:bg_blue .s:fmt_none +exe "hi! ErrorMsg" .s:fg_background .s:bg_red .s:fmt_stnd +exe "hi! VertSplit" .s:fg_window .s:bg_none .s:fmt_none +exe "hi! Folded" .s:fg_comment .s:bg_darkcolumn .s:fmt_none +exe "hi! FoldColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none +exe "hi! SignColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none +" Incsearch" +exe "hi! LineNr" .s:fg_selection .s:bg_none .s:fmt_none +exe "hi! CursorLineNr" .s:fg_yellow .s:bg_none .s:fg_bold +exe "hi! MatchParen" .s:fg_aqua .s:bg_changebg .s:fg_bold +exe "hi! ModeMsg" .s:fg_green .s:bg_none .s:fmt_none +exe "hi! MoreMsg" .s:fg_green .s:bg_none .s:fmt_none +exe "hi! NonText" .s:fg_selection .s:bg_none .s:fmt_none +exe "hi! Pmenu" .s:fg_foreground .s:bg_selection .s:fmt_none +exe "hi! PmenuSel" .s:fg_foreground .s:bg_selection .s:fmt_revr +" PmenuSbar" +" PmenuThumb" +exe "hi! Question" .s:fg_green .s:bg_none .s:fmt_none +exe "hi! Search" .s:fg_background .s:bg_yellow .s:fmt_none +exe "hi! SpecialKey" .s:fg_selection .s:bg_none .s:fmt_none +exe "hi! SpellCap" .s:fg_blue .s:bg_none .s:fmt_undr +exe "hi! SpellLocal" .s:fg_aqua .s:bg_none .s:fmt_undr +exe "hi! SpellBad" .s:fg_red .s:bg_none .s:fmt_undr +exe "hi! SpellRare" .s:fg_purple .s:bg_none .s:fmt_undr +exe "hi! StatusLine" .s:fg_comment .s:bg_background .s:fmt_revr +exe "hi! StatusLineNC" .s:fg_window .s:bg_comment .s:fmt_revr +exe "hi! TabLine" .s:fg_foreground .s:bg_darkcolumn .s:fmt_revr +" TabLineFill" +" TabLineSel" +exe "hi! Title" .s:fg_yellow .s:bg_none .s:fmt_none +exe "hi! Visual" .s:fg_none .s:bg_selection .s:fmt_none +" VisualNos" +exe "hi! WarningMsg" .s:fg_red .s:bg_none .s:fmt_none +" FIXME LongLineWarning to use variables instead of hardcoding +hi LongLineWarning guifg=NONE guibg=#371F1C gui=underline ctermfg=NONE ctermbg=NONE cterm=underline +" WildMenu" + +" Use defined custom background colour for terminal Vim. +if !has('gui_running') && exists("g:hybrid_custom_term_colors") && g:hybrid_custom_term_colors == 1 + let s:bg_normal = s:bg_none +else + let s:bg_normal = s:bg_background +endif + +let s:normal_bg = s:bg_normal + +if get(g:, 'hybrid_transparent_background', 0) == 1 + let s:normal_bg = s:bg_none +endif + +exe "hi! Normal" .s:fg_foreground .s:normal_bg .s:fmt_none + +"}}} +" Generic Syntax Highlighting: (see :help group-name)"{{{ +" ---------------------------------------------------------------------------- +exe "hi! Comment" .s:fg_comment .s:bg_none .s:fg_italic + +exe "hi! Constant" .s:fg_purple .s:bg_none .s:fmt_none +exe "hi! String" .s:fg_green .s:bg_none .s:fmt_none +" Character" +" Number" +" Boolean" +" Float" + +exe "hi! Identifier" .s:fg_red .s:bg_none .s:fmt_none +exe "hi! Function" .s:fg_yellow .s:bg_none .s:fg_bold + +exe "hi! Statement" .s:fg_blue .s:bg_none .s:fg_bold +" Conditional" +" Repeat" +" Label" +exe "hi! Operator" .s:fg_aqua .s:bg_none .s:fmt_none +" Keyword" +" Exception" + +exe "hi! PreProc" .s:fg_aqua .s:bg_none .s:fg_bold +" Include" +" Define" +" Macro" +" PreCondit" + +exe "hi! Type" .s:fg_orange .s:bg_none .s:fg_bold +" StorageClass" +exe "hi! Structure" .s:fg_aqua .s:bg_none .s:fmt_none +" Typedef" + +exe "hi! Special" .s:fg_red .s:bg_none .s:fmt_none +" SpecialChar" +" Tag" +" Delimiter" +" SpecialComment" +" Debug" +" +exe "hi! Underlined" .s:fg_blue .s:bg_none .s:fmt_none + +exe "hi! Ignore" .s:fg_none .s:bg_none .s:fmt_none + +exe "hi! Error" .s:fg_red .s:bg_none .s:fmt_none + +exe "hi! Todo" .s:fg_addfg .s:bg_none .s:fg_bold + +" Quickfix window highlighting +exe "hi! qfLineNr" .s:fg_yellow .s:bg_none .s:fmt_none +" qfFileName" +" qfLineNr" +" qfError" + +"}}} +" Diff Syntax Highlighting:"{{{ +" ---------------------------------------------------------------------------- +" Diff +" diffOldFile +" diffNewFile +" diffFile +" diffOnly +" diffIdentical +" diffDiffer +" diffBDiffer +" diffIsA +" diffNoEOL +" diffCommon +hi! link diffRemoved Special +" diffChanged +hi! link diffAdded String +" diffLine +" diffSubname +" diffComment + +"}}} +" +" This is needed for some reason: {{{ + +let &background = s:style + +" }}} +" Legal:"{{{ +" ---------------------------------------------------------------------------- +" Copyright (c) 2011 Ethan Schoonover +" Copyright (c) 2009-2012 NanoTech +" Copyright (c) 2012 w0ng +" +" Permission is hereby granted, free of charge, to any per‐ +" son obtaining a copy of this software and associated doc‐ +" umentation files (the “Software”), to deal in the Soft‐ +" ware without restriction, including without limitation +" the rights to use, copy, modify, merge, publish, distrib‐ +" ute, sublicense, and/or sell copies of the Software, and +" to permit persons to whom the Software is furnished to do +" so, subject to the following conditions: +" +" The above copyright notice and this permission notice +" shall be included in all copies or substantial portions +" of the Software. +" +" THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY +" KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +" THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICU‐ +" LAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CON‐ +" TRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON‐ +" NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +" THE SOFTWARE. + +" }}} diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/iceberg.vim b/nvim/plugged/awesome-vim-colorschemes/colors/iceberg.vim new file mode 100644 index 00000000..10e63943 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/iceberg.vim @@ -0,0 +1,453 @@ +" _________________________________________ +" \_ _/ ____| ____| ___ \ ____| ___ \ ___/ +" | | |____| ____| ___ < ____| __ / |__ \ +" /___\_____|_____|_____/_____|_| \_\_____/ +" +" File: iceberg.vim +" Maintainer: cocopon <cocopon@me.com> +" Modified: 2021-12-28 09:50+0900 +" License: MIT + + +if !has('gui_running') && &t_Co < 256 + finish +endif + +hi clear +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = 'iceberg' + +if &background == 'light' + hi Normal ctermbg=254 ctermfg=237 guibg=#e8e9ec guifg=#33374c + hi ColorColumn cterm=NONE ctermbg=253 ctermfg=NONE guibg=#dcdfe7 guifg=NONE + hi CursorColumn cterm=NONE ctermbg=253 ctermfg=NONE guibg=#dcdfe7 guifg=NONE + hi CursorLine cterm=NONE ctermbg=253 ctermfg=NONE guibg=#dcdfe7 guifg=NONE + hi Comment ctermfg=244 guifg=#8389a3 + hi Conceal ctermbg=254 ctermfg=244 guibg=#e8e9ec guifg=#8389a3 + hi Constant ctermfg=97 guifg=#7759b4 + hi Cursor ctermbg=237 ctermfg=254 guibg=#33374c guifg=#e8e9ec + hi CursorLineNr cterm=NONE ctermbg=251 ctermfg=237 guibg=#cad0de guifg=#576a9e + hi Delimiter ctermfg=237 guifg=#33374c + hi DiffAdd ctermbg=79 ctermfg=23 guibg=#d4dbd1 guifg=#475946 + hi DiffChange ctermbg=116 ctermfg=24 guibg=#ced9e1 guifg=#375570 + hi DiffDelete cterm=NONE ctermbg=181 ctermfg=89 gui=NONE guibg=#e3d2da guifg=#70415e + hi DiffText cterm=NONE ctermbg=73 ctermfg=24 gui=NONE guibg=#acc5d3 guifg=#33374c + hi Directory ctermfg=31 guifg=#3f83a6 + hi Error ctermbg=254 ctermfg=125 guibg=#e8e9ec guifg=#cc517a + hi ErrorMsg ctermbg=254 ctermfg=125 guibg=#e8e9ec guifg=#cc517a + hi WarningMsg ctermbg=254 ctermfg=125 guibg=#e8e9ec guifg=#cc517a + hi EndOfBuffer ctermfg=251 guifg=#cbcfda + hi NonText ctermfg=251 guifg=#cbcfda + hi Whitespace ctermfg=251 guifg=#cbcfda + hi Folded ctermbg=253 ctermfg=243 guibg=#dcdfe7 guifg=#788098 + hi FoldColumn ctermbg=253 ctermfg=248 guibg=#dcdfe7 guifg=#9fa7bd + hi Function ctermfg=25 guifg=#2d539e + hi Identifier cterm=NONE ctermfg=31 guifg=#3f83a6 + hi Ignore ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE + hi Include ctermfg=25 guifg=#2d539e + hi IncSearch cterm=reverse ctermfg=NONE gui=reverse guifg=NONE term=reverse + hi LineNr ctermbg=253 ctermfg=248 guibg=#dcdfe7 guifg=#9fa7bd + hi MatchParen ctermbg=250 ctermfg=0 guibg=#bec0c9 guifg=#33374c + hi ModeMsg ctermfg=244 guifg=#8389a3 + hi MoreMsg ctermfg=64 guifg=#668e3d + hi Operator ctermfg=25 guifg=#2d539e + hi Pmenu ctermbg=251 ctermfg=237 guibg=#cad0de guifg=#33374c + hi PmenuSbar ctermbg=251 ctermfg=NONE guibg=#cad0de guifg=NONE + hi PmenuSel ctermbg=248 ctermfg=235 guibg=#a7b2cd guifg=#33374c + hi PmenuThumb ctermbg=237 ctermfg=NONE guibg=#33374c guifg=NONE + hi PreProc ctermfg=64 guifg=#668e3d + hi Question ctermfg=64 guifg=#668e3d + hi QuickFixLine ctermbg=251 ctermfg=237 guibg=#c9cdd7 guifg=#33374c + hi Search ctermbg=180 ctermfg=94 guibg=#eac6ad guifg=#85512c + hi SignColumn ctermbg=253 ctermfg=248 guibg=#dcdfe7 guifg=#9fa7bd + hi Special ctermfg=64 guifg=#668e3d + hi SpecialKey ctermfg=248 guifg=#a5b0d3 + hi SpellBad ctermbg=181 ctermfg=237 gui=undercurl guifg=NONE guisp=#cc517a + hi SpellCap ctermbg=117 ctermfg=237 gui=undercurl guifg=NONE guisp=#2d539e + hi SpellLocal ctermbg=116 ctermfg=237 gui=undercurl guifg=NONE guisp=#3f83a6 + hi SpellRare ctermbg=110 ctermfg=237 gui=undercurl guifg=NONE guisp=#7759b4 + hi Statement ctermfg=25 gui=NONE guifg=#2d539e + hi StatusLine cterm=reverse ctermbg=252 ctermfg=243 gui=reverse guibg=#e8e9ec guifg=#757ca3 term=reverse + hi StatusLineTerm cterm=reverse ctermbg=252 ctermfg=243 gui=reverse guibg=#e8e9ec guifg=#757ca3 term=reverse + hi StatusLineNC cterm=reverse ctermbg=244 ctermfg=251 gui=reverse guibg=#8b98b6 guifg=#cad0de + hi StatusLineTermNC cterm=reverse ctermbg=244 ctermfg=251 gui=reverse guibg=#8b98b6 guifg=#cad0de + hi StorageClass ctermfg=25 guifg=#2d539e + hi String ctermfg=31 guifg=#3f83a6 + hi Structure ctermfg=25 guifg=#2d539e + hi TabLine cterm=NONE ctermbg=251 ctermfg=244 gui=NONE guibg=#cad0de guifg=#8b98b6 + hi TabLineFill cterm=reverse ctermbg=244 ctermfg=251 gui=reverse guibg=#8b98b6 guifg=#cad0de + hi TabLineSel cterm=NONE ctermbg=254 ctermfg=237 gui=NONE guibg=#e8e9ec guifg=#606374 + hi TermCursorNC ctermbg=244 ctermfg=254 guibg=#8389a3 guifg=#e8e9ec + hi Title ctermfg=130 gui=NONE guifg=#c57339 + hi Todo ctermbg=254 ctermfg=64 guibg=#d4dbd1 guifg=#668e3d + hi Type ctermfg=25 gui=NONE guifg=#2d539e + hi Underlined cterm=underline ctermfg=25 gui=underline guifg=#2d539e term=underline + hi VertSplit cterm=NONE ctermbg=251 ctermfg=251 gui=NONE guibg=#cad0de guifg=#cad0de + hi Visual ctermbg=251 ctermfg=NONE guibg=#c9cdd7 guifg=NONE + hi VisualNOS ctermbg=251 ctermfg=NONE guibg=#c9cdd7 guifg=NONE + hi WildMenu ctermbg=235 ctermfg=252 guibg=#32364c guifg=#e8e9ec + hi icebergNormalFg ctermfg=237 guifg=#33374c + hi diffAdded ctermfg=64 guifg=#668e3d + hi diffRemoved ctermfg=125 guifg=#cc517a + hi ALEErrorSign ctermbg=253 ctermfg=125 guibg=#dcdfe7 guifg=#cc517a + hi ALEWarningSign ctermbg=253 ctermfg=130 guibg=#dcdfe7 guifg=#c57339 + hi ALEVirtualTextError ctermfg=125 guifg=#cc517a + hi ALEVirtualTextWarning ctermfg=130 guifg=#c57339 + hi CtrlPMode1 ctermbg=247 ctermfg=252 guibg=#9fa6c0 guifg=#e8e9ec + hi EasyMotionShade ctermfg=250 guifg=#bbbecd + hi EasyMotionTarget ctermfg=64 guifg=#668e3d + hi EasyMotionTarget2First ctermfg=130 guifg=#c57339 + hi EasyMotionTarget2Second ctermfg=130 guifg=#c57339 + hi GitGutterAdd ctermbg=253 ctermfg=64 guibg=#dcdfe7 guifg=#668e3d + hi GitGutterChange ctermbg=253 ctermfg=31 guibg=#dcdfe7 guifg=#3f83a6 + hi GitGutterChangeDelete ctermbg=253 ctermfg=31 guibg=#dcdfe7 guifg=#3f83a6 + hi GitGutterDelete ctermbg=253 ctermfg=125 guibg=#dcdfe7 guifg=#cc517a + hi gitmessengerEndOfBuffer ctermbg=253 ctermfg=248 guibg=#dcdfe7 guifg=#9fa7bd + hi gitmessengerPopupNormal ctermbg=253 ctermfg=237 guibg=#dcdfe7 guifg=#33374c + hi Sneak ctermbg=97 ctermfg=254 guibg=#7759b4 guifg=#e8e9ec + hi SneakScope ctermbg=251 ctermfg=244 guibg=#c9cdd7 guifg=#8389a3 + hi SyntasticErrorSign ctermbg=253 ctermfg=125 guibg=#dcdfe7 guifg=#cc517a + hi SyntasticStyleErrorSign ctermbg=253 ctermfg=125 guibg=#dcdfe7 guifg=#cc517a + hi SyntasticStyleWarningSign ctermbg=253 ctermfg=130 guibg=#dcdfe7 guifg=#c57339 + hi SyntasticWarningSign ctermbg=253 ctermfg=130 guibg=#dcdfe7 guifg=#c57339 + hi TSFunction ctermfg=237 guifg=#505695 + hi TSFunctionBuiltin ctermfg=237 guifg=#505695 + hi TSFunctionMacro ctermfg=237 guifg=#505695 + hi TSMethod ctermfg=237 guifg=#505695 + hi TSURI cterm=underline ctermfg=31 gui=underline guifg=#3f83a6 term=underline + hi ZenSpace ctermbg=125 guibg=#cc517a + hi DiagnosticUnderlineInfo cterm=underline ctermfg=31 gui=underline guisp=#3f83a6 term=underline + hi DiagnosticInfo ctermfg=31 guifg=#3f83a6 + hi DiagnosticSignInfo ctermbg=253 ctermfg=31 guibg=#dcdfe7 guifg=#3f83a6 + hi DiagnosticUnderlineHint cterm=underline ctermfg=244 gui=underline guisp=#8389a3 term=underline + hi DiagnosticHint ctermfg=244 guifg=#8389a3 + hi DiagnosticSignHint ctermbg=253 ctermfg=244 guibg=#dcdfe7 guifg=#8389a3 + hi DiagnosticUnderlineWarn cterm=underline ctermfg=130 gui=underline guisp=#c57339 term=underline + hi DiagnosticWarn ctermfg=130 guifg=#c57339 + hi DiagnosticSignWarn ctermbg=253 ctermfg=130 guibg=#dcdfe7 guifg=#c57339 + hi DiagnosticUnderlineError cterm=underline ctermfg=125 gui=underline guisp=#cc517a term=underline + hi DiagnosticError ctermfg=125 guifg=#cc517a + hi DiagnosticSignError ctermbg=253 ctermfg=125 guibg=#dcdfe7 guifg=#cc517a + hi DiagnosticFloatingHint ctermbg=251 ctermfg=237 guibg=#cad0de guifg=#33374c + hi icebergALAccentRed ctermfg=125 guifg=#cc517a + + if has('nvim') + let g:terminal_color_0 = '#dcdfe7' + let g:terminal_color_1 = '#cc517a' + let g:terminal_color_2 = '#668e3d' + let g:terminal_color_3 = '#c57339' + let g:terminal_color_4 = '#2d539e' + let g:terminal_color_5 = '#7759b4' + let g:terminal_color_6 = '#3f83a6' + let g:terminal_color_7 = '#33374c' + let g:terminal_color_8 = '#8389a3' + let g:terminal_color_9 = '#cc3768' + let g:terminal_color_10 = '#598030' + let g:terminal_color_11 = '#b6662d' + let g:terminal_color_12 = '#22478e' + let g:terminal_color_13 = '#6845ad' + let g:terminal_color_14 = '#327698' + let g:terminal_color_15 = '#262a3f' + else + let g:terminal_ansi_colors = ['#dcdfe7', '#cc517a', '#668e3d', '#c57339', '#2d539e', '#7759b4', '#3f83a6', '#33374c', '#8389a3', '#cc3768', '#598030', '#b6662d', '#22478e', '#6845ad', '#327698', '#262a3f'] + endif +else + hi Normal ctermbg=234 ctermfg=252 guibg=#161821 guifg=#c6c8d1 + hi ColorColumn cterm=NONE ctermbg=235 ctermfg=NONE guibg=#1e2132 guifg=NONE + hi CursorColumn cterm=NONE ctermbg=235 ctermfg=NONE guibg=#1e2132 guifg=NONE + hi CursorLine cterm=NONE ctermbg=235 ctermfg=NONE guibg=#1e2132 guifg=NONE + hi Comment ctermfg=242 guifg=#6b7089 + hi Conceal ctermbg=234 ctermfg=242 guibg=#161821 guifg=#6b7089 + hi Constant ctermfg=140 guifg=#a093c7 + hi Cursor ctermbg=252 ctermfg=234 guibg=#c6c8d1 guifg=#161821 + hi CursorLineNr cterm=NONE ctermbg=237 ctermfg=253 guibg=#2a3158 guifg=#cdd1e6 + hi Delimiter ctermfg=252 guifg=#c6c8d1 + hi DiffAdd ctermbg=29 ctermfg=158 guibg=#45493e guifg=#c0c5b9 + hi DiffChange ctermbg=23 ctermfg=159 guibg=#384851 guifg=#b3c3cc + hi DiffDelete cterm=NONE ctermbg=95 ctermfg=224 gui=NONE guibg=#53343b guifg=#ceb0b6 + hi DiffText cterm=NONE ctermbg=30 ctermfg=195 gui=NONE guibg=#5b7881 guifg=#c6c8d1 + hi Directory ctermfg=109 guifg=#89b8c2 + hi Error ctermbg=234 ctermfg=203 guibg=#161821 guifg=#e27878 + hi ErrorMsg ctermbg=234 ctermfg=203 guibg=#161821 guifg=#e27878 + hi WarningMsg ctermbg=234 ctermfg=203 guibg=#161821 guifg=#e27878 + hi EndOfBuffer ctermfg=236 guifg=#242940 + hi NonText ctermfg=236 guifg=#242940 + hi Whitespace ctermfg=236 guifg=#242940 + hi Folded ctermbg=235 ctermfg=245 guibg=#1e2132 guifg=#686f9a + hi FoldColumn ctermbg=235 ctermfg=239 guibg=#1e2132 guifg=#444b71 + hi Function ctermfg=110 guifg=#84a0c6 + hi Identifier cterm=NONE ctermfg=109 guifg=#89b8c2 + hi Ignore ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE + hi Include ctermfg=110 guifg=#84a0c6 + hi IncSearch cterm=reverse ctermfg=NONE gui=reverse guifg=NONE term=reverse + hi LineNr ctermbg=235 ctermfg=239 guibg=#1e2132 guifg=#444b71 + hi MatchParen ctermbg=237 ctermfg=255 guibg=#3e445e guifg=#ffffff + hi ModeMsg ctermfg=242 guifg=#6b7089 + hi MoreMsg ctermfg=150 guifg=#b4be82 + hi Operator ctermfg=110 guifg=#84a0c6 + hi Pmenu ctermbg=236 ctermfg=251 guibg=#3d425b guifg=#c6c8d1 + hi PmenuSbar ctermbg=236 ctermfg=NONE guibg=#3d425b guifg=NONE + hi PmenuSel ctermbg=240 ctermfg=255 guibg=#5b6389 guifg=#eff0f4 + hi PmenuThumb ctermbg=251 ctermfg=NONE guibg=#c6c8d1 guifg=NONE + hi PreProc ctermfg=150 guifg=#b4be82 + hi Question ctermfg=150 guifg=#b4be82 + hi QuickFixLine ctermbg=236 ctermfg=252 guibg=#272c42 guifg=#c6c8d1 + hi Search ctermbg=216 ctermfg=234 guibg=#e4aa80 guifg=#392313 + hi SignColumn ctermbg=235 ctermfg=239 guibg=#1e2132 guifg=#444b71 + hi Special ctermfg=150 guifg=#b4be82 + hi SpecialKey ctermfg=240 guifg=#515e97 + hi SpellBad ctermbg=95 ctermfg=252 gui=undercurl guifg=NONE guisp=#e27878 + hi SpellCap ctermbg=24 ctermfg=252 gui=undercurl guifg=NONE guisp=#84a0c6 + hi SpellLocal ctermbg=23 ctermfg=252 gui=undercurl guifg=NONE guisp=#89b8c2 + hi SpellRare ctermbg=97 ctermfg=252 gui=undercurl guifg=NONE guisp=#a093c7 + hi Statement ctermfg=110 gui=NONE guifg=#84a0c6 + hi StatusLine cterm=reverse ctermbg=234 ctermfg=245 gui=reverse guibg=#17171b guifg=#818596 term=reverse + hi StatusLineTerm cterm=reverse ctermbg=234 ctermfg=245 gui=reverse guibg=#17171b guifg=#818596 term=reverse + hi StatusLineNC cterm=reverse ctermbg=238 ctermfg=233 gui=reverse guibg=#3e445e guifg=#0f1117 + hi StatusLineTermNC cterm=reverse ctermbg=238 ctermfg=233 gui=reverse guibg=#3e445e guifg=#0f1117 + hi StorageClass ctermfg=110 guifg=#84a0c6 + hi String ctermfg=109 guifg=#89b8c2 + hi Structure ctermfg=110 guifg=#84a0c6 + hi TabLine cterm=NONE ctermbg=233 ctermfg=238 gui=NONE guibg=#0f1117 guifg=#3e445e + hi TabLineFill cterm=reverse ctermbg=238 ctermfg=233 gui=reverse guibg=#3e445e guifg=#0f1117 + hi TabLineSel cterm=NONE ctermbg=234 ctermfg=252 gui=NONE guibg=#161821 guifg=#9a9ca5 + hi TermCursorNC ctermbg=242 ctermfg=234 guibg=#6b7089 guifg=#161821 + hi Title ctermfg=216 gui=NONE guifg=#e2a478 + hi Todo ctermbg=234 ctermfg=150 guibg=#45493e guifg=#b4be82 + hi Type ctermfg=110 gui=NONE guifg=#84a0c6 + hi Underlined cterm=underline ctermfg=110 gui=underline guifg=#84a0c6 term=underline + hi VertSplit cterm=NONE ctermbg=233 ctermfg=233 gui=NONE guibg=#0f1117 guifg=#0f1117 + hi Visual ctermbg=236 ctermfg=NONE guibg=#272c42 guifg=NONE + hi VisualNOS ctermbg=236 ctermfg=NONE guibg=#272c42 guifg=NONE + hi WildMenu ctermbg=255 ctermfg=234 guibg=#d4d5db guifg=#17171b + hi icebergNormalFg ctermfg=252 guifg=#c6c8d1 + hi diffAdded ctermfg=150 guifg=#b4be82 + hi diffRemoved ctermfg=203 guifg=#e27878 + hi ALEErrorSign ctermbg=235 ctermfg=203 guibg=#1e2132 guifg=#e27878 + hi ALEWarningSign ctermbg=235 ctermfg=216 guibg=#1e2132 guifg=#e2a478 + hi ALEVirtualTextError ctermfg=203 guifg=#e27878 + hi ALEVirtualTextWarning ctermfg=216 guifg=#e2a478 + hi CtrlPMode1 ctermbg=236 ctermfg=242 guibg=#2e313f guifg=#6b7089 + hi EasyMotionShade ctermfg=239 guifg=#3d425b + hi EasyMotionTarget ctermfg=150 guifg=#b4be82 + hi EasyMotionTarget2First ctermfg=216 guifg=#e2a478 + hi EasyMotionTarget2Second ctermfg=216 guifg=#e2a478 + hi GitGutterAdd ctermbg=235 ctermfg=150 guibg=#1e2132 guifg=#b4be82 + hi GitGutterChange ctermbg=235 ctermfg=109 guibg=#1e2132 guifg=#89b8c2 + hi GitGutterChangeDelete ctermbg=235 ctermfg=109 guibg=#1e2132 guifg=#89b8c2 + hi GitGutterDelete ctermbg=235 ctermfg=203 guibg=#1e2132 guifg=#e27878 + hi gitmessengerEndOfBuffer ctermbg=235 ctermfg=239 guibg=#1e2132 guifg=#444b71 + hi gitmessengerPopupNormal ctermbg=235 ctermfg=252 guibg=#1e2132 guifg=#c6c8d1 + hi Sneak ctermbg=140 ctermfg=234 guibg=#a093c7 guifg=#161821 + hi SneakScope ctermbg=236 ctermfg=242 guibg=#272c42 guifg=#6b7089 + hi SyntasticErrorSign ctermbg=235 ctermfg=203 guibg=#1e2132 guifg=#e27878 + hi SyntasticStyleErrorSign ctermbg=235 ctermfg=203 guibg=#1e2132 guifg=#e27878 + hi SyntasticStyleWarningSign ctermbg=235 ctermfg=216 guibg=#1e2132 guifg=#e2a478 + hi SyntasticWarningSign ctermbg=235 ctermfg=216 guibg=#1e2132 guifg=#e2a478 + hi TSFunction ctermfg=252 guifg=#a3adcb + hi TSFunctionBuiltin ctermfg=252 guifg=#a3adcb + hi TSFunctionMacro ctermfg=252 guifg=#a3adcb + hi TSMethod ctermfg=252 guifg=#a3adcb + hi TSURI cterm=underline ctermfg=109 gui=underline guifg=#89b8c2 term=underline + hi ZenSpace ctermbg=203 guibg=#e27878 + hi DiagnosticUnderlineInfo cterm=underline ctermfg=109 gui=underline guisp=#89b8c2 term=underline + hi DiagnosticInfo ctermfg=109 guifg=#89b8c2 + hi DiagnosticSignInfo ctermbg=235 ctermfg=109 guibg=#1e2132 guifg=#89b8c2 + hi DiagnosticUnderlineHint cterm=underline ctermfg=242 gui=underline guisp=#6b7089 term=underline + hi DiagnosticHint ctermfg=242 guifg=#6b7089 + hi DiagnosticSignHint ctermbg=235 ctermfg=242 guibg=#1e2132 guifg=#6b7089 + hi DiagnosticUnderlineWarn cterm=underline ctermfg=216 gui=underline guisp=#e2a478 term=underline + hi DiagnosticWarn ctermfg=216 guifg=#e2a478 + hi DiagnosticSignWarn ctermbg=235 ctermfg=216 guibg=#1e2132 guifg=#e2a478 + hi DiagnosticUnderlineError cterm=underline ctermfg=203 gui=underline guisp=#e27878 term=underline + hi DiagnosticError ctermfg=203 guifg=#e27878 + hi DiagnosticSignError ctermbg=235 ctermfg=203 guibg=#1e2132 guifg=#e27878 + hi DiagnosticFloatingHint ctermbg=236 ctermfg=251 guibg=#3d425b guifg=#c6c8d1 + hi icebergALAccentRed ctermfg=203 guifg=#e27878 + + if has('nvim') + let g:terminal_color_0 = '#1e2132' + let g:terminal_color_1 = '#e27878' + let g:terminal_color_2 = '#b4be82' + let g:terminal_color_3 = '#e2a478' + let g:terminal_color_4 = '#84a0c6' + let g:terminal_color_5 = '#a093c7' + let g:terminal_color_6 = '#89b8c2' + let g:terminal_color_7 = '#c6c8d1' + let g:terminal_color_8 = '#6b7089' + let g:terminal_color_9 = '#e98989' + let g:terminal_color_10 = '#c0ca8e' + let g:terminal_color_11 = '#e9b189' + let g:terminal_color_12 = '#91acd1' + let g:terminal_color_13 = '#ada0d3' + let g:terminal_color_14 = '#95c4ce' + let g:terminal_color_15 = '#d2d4de' + else + let g:terminal_ansi_colors = ['#1e2132', '#e27878', '#b4be82', '#e2a478', '#84a0c6', '#a093c7', '#89b8c2', '#c6c8d1', '#6b7089', '#e98989', '#c0ca8e', '#e9b189', '#91acd1', '#ada0d3', '#95c4ce', '#d2d4de'] + endif +endif + +hi! link TermCursor Cursor +hi! link ToolbarButton TabLineSel +hi! link ToolbarLine TabLineFill +hi! link cssBraces Delimiter +hi! link cssClassName Special +hi! link cssClassNameDot icebergNormalFg +hi! link cssPseudoClassId Special +hi! link cssTagName Statement +hi! link helpHyperTextJump Constant +hi! link htmlArg Constant +hi! link htmlEndTag Statement +hi! link htmlTag Statement +hi! link jsonQuote icebergNormalFg +hi! link phpVarSelector Identifier +hi! link pythonFunction Title +hi! link rubyDefine Statement +hi! link rubyFunction Title +hi! link rubyInterpolationDelimiter String +hi! link rubySharpBang Comment +hi! link rubyStringDelimiter String +hi! link rustFuncCall icebergNormalFg +hi! link rustFuncName Title +hi! link rustType Constant +hi! link sassClass Special +hi! link shFunction icebergNormalFg +hi! link vimContinue Comment +hi! link vimFuncSID vimFunction +hi! link vimFuncVar icebergNormalFg +hi! link vimFunction Title +hi! link vimGroup Statement +hi! link vimHiGroup Statement +hi! link vimHiTerm Identifier +hi! link vimMapModKey Special +hi! link vimOption Identifier +hi! link vimVar icebergNormalFg +hi! link xmlAttrib Constant +hi! link xmlAttribPunct Statement +hi! link xmlEndTag Statement +hi! link xmlNamespace Statement +hi! link xmlTag Statement +hi! link xmlTagName Statement +hi! link yamlKeyValueDelimiter Delimiter +hi! link CtrlPPrtCursor Cursor +hi! link CtrlPMatch Title +hi! link CtrlPMode2 StatusLine +hi! link deniteMatched icebergNormalFg +hi! link deniteMatchedChar Title +hi! link elixirBlockDefinition Statement +hi! link elixirDefine Statement +hi! link elixirDocSigilDelimiter String +hi! link elixirDocTest String +hi! link elixirExUnitMacro Statement +hi! link elixirExceptionDefine Statement +hi! link elixirFunctionDeclaration Title +hi! link elixirKeyword Statement +hi! link elixirModuleDeclaration icebergNormalFg +hi! link elixirModuleDefine Statement +hi! link elixirPrivateDefine Statement +hi! link elixirStringDelimiter String +hi! link jsFlowMaybe icebergNormalFg +hi! link jsFlowObject icebergNormalFg +hi! link jsFlowType PreProc +hi! link graphqlName icebergNormalFg +hi! link graphqlOperator icebergNormalFg +hi! link gitmessengerHash Comment +hi! link gitmessengerHeader Statement +hi! link gitmessengerHistory Constant +hi! link jsArrowFunction Operator +hi! link jsClassDefinition icebergNormalFg +hi! link jsClassFuncName Title +hi! link jsExport Statement +hi! link jsFuncName Title +hi! link jsFutureKeys Statement +hi! link jsFuncCall icebergNormalFg +hi! link jsGlobalObjects Statement +hi! link jsModuleKeywords Statement +hi! link jsModuleOperators Statement +hi! link jsNull Constant +hi! link jsObjectFuncName Title +hi! link jsObjectKey Identifier +hi! link jsSuper Statement +hi! link jsTemplateBraces Special +hi! link jsUndefined Constant +hi! link markdownBold Special +hi! link markdownCode String +hi! link markdownCodeDelimiter String +hi! link markdownHeadingDelimiter Comment +hi! link markdownRule Comment +hi! link ngxDirective Statement +hi! link plug1 icebergNormalFg +hi! link plug2 Identifier +hi! link plugDash Comment +hi! link plugMessage Special +hi! link SignifySignAdd GitGutterAdd +hi! link SignifySignChange GitGutterChange +hi! link SignifySignChangeDelete GitGutterChangeDelete +hi! link SignifySignDelete GitGutterDelete +hi! link SignifySignDeleteFirstLine SignifySignDelete +hi! link StartifyBracket Comment +hi! link StartifyFile Identifier +hi! link StartifyFooter Constant +hi! link StartifyHeader Constant +hi! link StartifyNumber Special +hi! link StartifyPath Comment +hi! link StartifySection Statement +hi! link StartifySlash Comment +hi! link StartifySpecial icebergNormalFg +hi! link svssBraces Delimiter +hi! link swiftIdentifier icebergNormalFg +hi! link TSAttribute Special +hi! link TSBoolean Constant +hi! link TSCharacter Constant +hi! link TSComment Comment +hi! link TSConstructor icebergNormalFg +hi! link TSConditional Statement +hi! link TSConstant Constant +hi! link TSConstBuiltin Constant +hi! link TSConstMacro Constant +hi! link TSError Error +hi! link TSException Statement +hi! link TSField icebergNormalFg +hi! link TSFloat Constant +hi! link TSInclude Statement +hi! link TSKeyword Statement +hi! link TSKeywordFunction Function +hi! link TSLabel Special +hi! link TSNamespace Statement +hi! link TSNumber Constant +hi! link TSOperator icebergNormalFg +hi! link TSParameter icebergNormalFg +hi! link TSParameterReference icebergNormalFg +hi! link TSProperty TSField +hi! link TSPunctDelimiter icebergNormalFg +hi! link TSPunctBracket icebergNormalFg +hi! link TSPunctSpecial Special +hi! link TSRepeat Statement +hi! link TSString String +hi! link TSStringRegex String +hi! link TSStringEscape Special +hi! link TSTag htmlTagName +hi! link TSTagDelimiter htmlTagName +hi! link TSText icebergNormalFg +hi! link TSTitle Title +hi! link TSType Type +hi! link TSTypeBuiltin Type +hi! link TSVariable icebergNormalFg +hi! link TSVariableBuiltin Statement +hi! link typescriptAjaxMethods icebergNormalFg +hi! link typescriptBraces icebergNormalFg +hi! link typescriptEndColons icebergNormalFg +hi! link typescriptFuncKeyword Statement +hi! link typescriptGlobalObjects Statement +hi! link typescriptHtmlElemProperties icebergNormalFg +hi! link typescriptIdentifier Statement +hi! link typescriptMessage icebergNormalFg +hi! link typescriptNull Constant +hi! link typescriptParens icebergNormalFg + +if !has('nvim') + hi! link SpecialKey Whitespace +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/jellybeans.vim b/nvim/plugged/awesome-vim-colorschemes/colors/jellybeans.vim new file mode 100644 index 00000000..3b9bfb61 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/jellybeans.vim @@ -0,0 +1,733 @@ +" Vim color file +" +" " __ _ _ _ " +" " \ \ ___| | |_ _| |__ ___ __ _ _ __ ___ " +" " \ \/ _ \ | | | | | _ \ / _ \/ _ | _ \/ __| " +" " /\_/ / __/ | | |_| | |_| | __/ |_| | | | \__ \ " +" " \___/ \___|_|_|\__ |____/ \___|\____|_| |_|___/ " +" " \___/ " +" +" "A colorful, dark color scheme for Vim." +" +" File: jellybeans.vim +" URL: github.com/nanotech/jellybeans.vim +" Scripts URL: vim.org/scripts/script.php?script_id=2555 +" Maintainer: NanoTech (nanotech.nanotechcorp.net) +" Version: 1.7 +" Last Change: June 21st, 2019 +" License: MIT +" Contributors: Andrew Wong (w0ng) +" Benjamin R. Haskell (benizi) +" Brian Marshall (bmars) +" Daniel Herbert (pocketninja) +" David Liang <bmdavll at gmail dot com> +" Filipe Silva (ninrod) +" Henry So, Jr. <henryso@panix.com> +" Ihor Kalnytskyi (ikalnytskyi) +" Joe Doherty (docapotamus) +" Karl Litterfeldt (Litterfeldt) +" Keith Pitt (keithpitt) +" Mike Schreifels (schreifels) +" Philipp Rustemeier (12foo) +" Rafael Bicalho (rbika) +" Rich Healey (richo) +" Siwen Yu (yusiwen) +" Tim Willis (willist) +" Tom McLaughlin (tmcoma) +" +" Copyright (c) 2009-2019 NanoTech +" +" Permission is hereby granted, free of charge, to any per‐ +" son obtaining a copy of this software and associated doc‐ +" umentation files (the “Software”), to deal in the Soft‐ +" ware without restriction, including without limitation +" the rights to use, copy, modify, merge, publish, distrib‐ +" ute, sublicense, and/or sell copies of the Software, and +" to permit persons to whom the Software is furnished to do +" so, subject to the following conditions: +" +" The above copyright notice and this permission notice +" shall be included in all copies or substantial portions +" of the Software. +" +" THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY +" KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +" THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICU‐ +" LAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CON‐ +" TRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON‐ +" NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +" THE SOFTWARE. + +set background=dark + +hi clear + +if exists("syntax_on") + syntax reset +endif + +let colors_name = "jellybeans" + +if has("gui_running") || (has('termguicolors') && &termguicolors) + let s:true_color = 1 +else + let s:true_color = 0 +endif + +if s:true_color || &t_Co >= 88 + let s:low_color = 0 +else + let s:low_color = 1 +endif + +" Configuration Variables: +" - g:jellybeans_overrides (default = {}) +" - g:jellybeans_use_lowcolor_black (default = 0) +" - g:jellybeans_use_gui_italics (default = 1) +" - g:jellybeans_use_term_italics (default = 0) + +let s:background_color = "151515" + +if exists("g:jellybeans_overrides") + let s:overrides = g:jellybeans_overrides +else + let s:overrides = {} +endif + +" Backwards compatibility +if exists("g:jellybeans_background_color") + \ || exists("g:jellybeans_background_color_256") + \ || exists("g:jellybeans_use_term_background_color") + + let s:overrides = deepcopy(s:overrides) + + if !has_key(s:overrides, "background") + let s:overrides["background"] = {} + endif + + if exists("g:jellybeans_background_color") + let s:overrides["background"]["guibg"] = g:jellybeans_background_color + endif + + if exists("g:jellybeans_background_color_256") + let s:overrides["background"]["256ctermbg"] = g:jellybeans_background_color_256 + endif + + if exists("g:jellybeans_use_term_background_color") + \ && g:jellybeans_use_term_background_color + let s:overrides["background"]["ctermbg"] = "NONE" + let s:overrides["background"]["256ctermbg"] = "NONE" + endif +endif + +if exists("g:jellybeans_use_lowcolor_black") && g:jellybeans_use_lowcolor_black + let s:termBlack = "Black" +else + let s:termBlack = "Grey" +endif + +" When `termguicolors` is set, Vim[^1] ignores `hi Normal guibg=NONE` +" after Normal's `guibg` is already set to a color. See: +" +" - https://github.com/vim/vim/issues/981 +" - https://github.com/nanotech/jellybeans.vim/issues/64 +" +" To work around this, ensure we don't set the default background +" color before an override changes it to `NONE` by ensuring that the +" background color isn't set to a value different from its override. +" +" [^1]: Tested on 8.0.567. Does not apply to Neovim. +" +if has_key(s:overrides, "background") && has_key(s:overrides["background"], "guibg") + let s:background_color = s:overrides["background"]["guibg"] +endif + +" Color approximation functions by Henry So, Jr. and David Liang {{{ +" Added to jellybeans.vim by Daniel Herbert + +if &t_Co == 88 + + " returns an approximate grey index for the given grey level + fun! s:grey_number(x) + if a:x < 23 + return 0 + elseif a:x < 69 + return 1 + elseif a:x < 103 + return 2 + elseif a:x < 127 + return 3 + elseif a:x < 150 + return 4 + elseif a:x < 173 + return 5 + elseif a:x < 196 + return 6 + elseif a:x < 219 + return 7 + elseif a:x < 243 + return 8 + else + return 9 + endif + endfun + + " returns the actual grey level represented by the grey index + fun! s:grey_level(n) + if a:n == 0 + return 0 + elseif a:n == 1 + return 46 + elseif a:n == 2 + return 92 + elseif a:n == 3 + return 115 + elseif a:n == 4 + return 139 + elseif a:n == 5 + return 162 + elseif a:n == 6 + return 185 + elseif a:n == 7 + return 208 + elseif a:n == 8 + return 231 + else + return 255 + endif + endfun + + " returns the palette index for the given grey index + fun! s:grey_color(n) + if a:n == 0 + return 16 + elseif a:n == 9 + return 79 + else + return 79 + a:n + endif + endfun + + " returns an approximate color index for the given color level + fun! s:rgb_number(x) + if a:x < 69 + return 0 + elseif a:x < 172 + return 1 + elseif a:x < 230 + return 2 + else + return 3 + endif + endfun + + " returns the actual color level for the given color index + fun! s:rgb_level(n) + if a:n == 0 + return 0 + elseif a:n == 1 + return 139 + elseif a:n == 2 + return 205 + else + return 255 + endif + endfun + + " returns the palette index for the given R/G/B color indices + fun! s:rgb_color(x, y, z) + return 16 + (a:x * 16) + (a:y * 4) + a:z + endfun + +else " assuming &t_Co == 256 + + " returns an approximate grey index for the given grey level + fun! s:grey_number(x) + if a:x < 14 + return 0 + else + let l:n = (a:x - 8) / 10 + let l:m = (a:x - 8) % 10 + if l:m < 5 + return l:n + else + return l:n + 1 + endif + endif + endfun + + " returns the actual grey level represented by the grey index + fun! s:grey_level(n) + if a:n == 0 + return 0 + else + return 8 + (a:n * 10) + endif + endfun + + " returns the palette index for the given grey index + fun! s:grey_color(n) + if a:n == 0 + return 16 + elseif a:n == 25 + return 231 + else + return 231 + a:n + endif + endfun + + " returns an approximate color index for the given color level + fun! s:rgb_number(x) + if a:x < 75 + return 0 + else + let l:n = (a:x - 55) / 40 + let l:m = (a:x - 55) % 40 + if l:m < 20 + return l:n + else + return l:n + 1 + endif + endif + endfun + + " returns the actual color level for the given color index + fun! s:rgb_level(n) + if a:n == 0 + return 0 + else + return 55 + (a:n * 40) + endif + endfun + + " returns the palette index for the given R/G/B color indices + fun! s:rgb_color(x, y, z) + return 16 + (a:x * 36) + (a:y * 6) + a:z + endfun + +endif + +" returns the palette index to approximate the given R/G/B color levels +fun! s:color(r, g, b) + " map greys directly (see xterm's 256colres.pl) + if &t_Co == 256 && a:r == a:g && a:g == a:b && a:r > 3 && a:r < 243 + return (a:r - 8) / 10 + 232 + endif + + " get the closest grey + let l:gx = s:grey_number(a:r) + let l:gy = s:grey_number(a:g) + let l:gz = s:grey_number(a:b) + + " get the closest color + let l:x = s:rgb_number(a:r) + let l:y = s:rgb_number(a:g) + let l:z = s:rgb_number(a:b) + + if l:gx == l:gy && l:gy == l:gz + " there are two possibilities + let l:dgr = s:grey_level(l:gx) - a:r + let l:dgg = s:grey_level(l:gy) - a:g + let l:dgb = s:grey_level(l:gz) - a:b + let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) + let l:dr = s:rgb_level(l:gx) - a:r + let l:dg = s:rgb_level(l:gy) - a:g + let l:db = s:rgb_level(l:gz) - a:b + let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) + if l:dgrey < l:drgb + " use the grey + return s:grey_color(l:gx) + else + " use the color + return s:rgb_color(l:x, l:y, l:z) + endif + else + " only one possibility + return s:rgb_color(l:x, l:y, l:z) + endif +endfun + +fun! s:is_empty_or_none(str) + return empty(a:str) || a:str ==? "NONE" +endfun + +" returns the palette index to approximate the 'rrggbb' hex string +fun! s:rgb(rgb) + if s:is_empty_or_none(a:rgb) + return "NONE" + endif + let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 + let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 + let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 + return s:color(l:r, l:g, l:b) +endfun + +fun! s:prefix_highlight_value_with(prefix, color) + if s:is_empty_or_none(a:color) + return "NONE" + else + return a:prefix . a:color + endif +endfun + +fun! s:remove_italic_attr(attr) + let l:attr = join(filter(split(a:attr, ","), "v:val !=? 'italic'"), ",") + if empty(l:attr) + let l:attr = "NONE" + endif + return l:attr +endfun + +" sets the highlighting for the given group +fun! s:X(group, fg, bg, attr, lcfg, lcbg) + if s:low_color + let l:cmd = "hi ".a:group. + \ " ctermfg=".s:prefix_highlight_value_with("", a:lcfg). + \ " ctermbg=".s:prefix_highlight_value_with("", a:lcbg) + else + let l:cmd = "hi ".a:group. + \ " guifg=".s:prefix_highlight_value_with("#", a:fg). + \ " guibg=".s:prefix_highlight_value_with("#", a:bg) + if !s:true_color + let l:cmd = l:cmd. + \ " ctermfg=".s:rgb(a:fg). + \ " ctermbg=".s:rgb(a:bg) + endif + endif + + let l:attr = s:prefix_highlight_value_with("", a:attr) + + if exists("g:jellybeans_use_term_italics") && g:jellybeans_use_term_italics + let l:cterm_attr = l:attr + else + let l:cterm_attr = s:remove_italic_attr(l:attr) + endif + + if !exists("g:jellybeans_use_gui_italics") || g:jellybeans_use_gui_italics + let l:gui_attr = l:attr + else + let l:gui_attr = s:remove_italic_attr(l:attr) + endif + + let l:cmd = l:cmd." gui=".l:gui_attr." cterm=".l:cterm_attr + exec l:cmd +endfun +" }}} + +call s:X("Normal","e8e8d3",s:background_color,"","White","") +set background=dark + +call s:X("CursorLine","","1c1c1c","","",s:termBlack) +call s:X("CursorColumn","","1c1c1c","","",s:termBlack) + +" Some of Terminal.app's default themes have a cursor color +" too close to Jellybeans' preferred MatchParen background +" color to be easily distinguishable. Other terminals tend +" to use a brighter cursor color. +" +" Use a more distinct color in Terminal.app, and also in +" low-color terminals if the preferred background color is +" not available. +if !has('gui_running') && $TERM_PROGRAM == "Apple_Terminal" + let s:matchParenGuiFg = "dd0093" + let s:matchParenGuiBg = "000000" +else + let s:matchParenGuiFg = "ffffff" + let s:matchParenGuiBg = "556779" +endif +if s:termBlack != "Black" + let s:matchParenTermFg = "Magenta" + let s:matchParenTermBg = "" +else + let s:matchParenTermFg = "" + let s:matchParenTermBg = s:termBlack +endif +call s:X("MatchParen",s:matchParenGuiFg,s:matchParenGuiBg,"bold", +\ s:matchParenTermFg,s:matchParenTermBg) + +call s:X("TabLine","000000","b0b8c0","italic","",s:termBlack) +call s:X("TabLineFill","9098a0","","","",s:termBlack) +call s:X("TabLineSel","000000","f0f0f0","italic,bold",s:termBlack,"White") + +" Auto-completion +call s:X("Pmenu","ffffff","606060","","White",s:termBlack) +call s:X("PmenuSel","101010","eeeeee","",s:termBlack,"White") + +call s:X("Visual","","404040","","",s:termBlack) +call s:X("Cursor",s:background_color,"b0d0f0","","","") + +call s:X("LineNr","605958",s:background_color,"NONE",s:termBlack,"") +call s:X("CursorLineNr","ccc5c4","","NONE","White","") +call s:X("Comment","888888","","italic","Grey","") +call s:X("Todo","c7c7c7","","bold","White",s:termBlack) + +call s:X("StatusLine","000000","dddddd","italic","","White") +call s:X("StatusLineNC","ffffff","403c41","italic","White","Black") +call s:X("VertSplit","777777","403c41","",s:termBlack,s:termBlack) +call s:X("WildMenu","f0a0c0","302028","","Magenta","") + +call s:X("Folded","a0a8b0","384048","italic",s:termBlack,"") +call s:X("FoldColumn","535D66","1f1f1f","","",s:termBlack) +call s:X("SignColumn","777777","333333","","",s:termBlack) +call s:X("ColorColumn","","000000","","",s:termBlack) + +call s:X("Title","70b950","","bold","Green","") + +call s:X("Constant","cf6a4c","","","Red","") +call s:X("Special","799d6a","","","Green","") +call s:X("Delimiter","668799","","","Grey","") + +call s:X("String","99ad6a","","","Green","") +call s:X("StringDelimiter","556633","","","DarkGreen","") + +call s:X("Identifier","c6b6ee","","","LightCyan","") +call s:X("Structure","8fbfdc","","","LightCyan","") +call s:X("Function","fad07a","","","Yellow","") +call s:X("Statement","8197bf","","","DarkBlue","") +call s:X("PreProc","8fbfdc","","","LightBlue","") + +hi! link Operator Structure +hi! link Conceal Operator + +call s:X("Type","ffb964","","","Yellow","") +call s:X("NonText","606060",s:background_color,"",s:termBlack,"") + +call s:X("SpecialKey","444444","1c1c1c","",s:termBlack,"") + +call s:X("Search","f0a0c0","302028","underline","Magenta","") + +call s:X("Directory","dad085","","","Yellow","") +call s:X("ErrorMsg","","902020","","","DarkRed") +hi! link Error ErrorMsg +hi! link MoreMsg Special +call s:X("Question","65C254","","","Green","") + + +" Spell Checking + +call s:X("SpellBad","","902020","underline","","DarkRed") +call s:X("SpellCap","","0000df","underline","","Blue") +call s:X("SpellRare","","540063","underline","","DarkMagenta") +call s:X("SpellLocal","","2D7067","underline","","Green") + +" Diff + +hi! link diffRemoved Constant +hi! link diffAdded String + +" VimDiff + +call s:X("DiffAdd","D2EBBE","437019","","White","DarkGreen") +call s:X("DiffDelete","40000A","700009","","DarkRed","DarkRed") +call s:X("DiffChange","","2B5B77","","White","DarkBlue") +call s:X("DiffText","8fbfdc","000000","reverse","Yellow","") + +" PHP + +hi! link phpFunctions Function +call s:X("StorageClass","c59f6f","","","Red","") +hi! link phpSuperglobal Identifier +hi! link phpQuoteSingle StringDelimiter +hi! link phpQuoteDouble StringDelimiter +hi! link phpBoolean Constant +hi! link phpNull Constant +hi! link phpArrayPair Operator +hi! link phpOperator Normal +hi! link phpRelation Normal +hi! link phpVarSelector Identifier + +" Python + +hi! link pythonOperator Statement + +" Ruby + +hi! link rubySharpBang Comment +call s:X("rubyClass","447799","","","DarkBlue","") +call s:X("rubyIdentifier","c6b6fe","","","Cyan","") +hi! link rubyConstant Type +hi! link rubyFunction Function + +call s:X("rubyInstanceVariable","c6b6fe","","","Cyan","") +call s:X("rubySymbol","7697d6","","","Blue","") +hi! link rubyGlobalVariable rubyInstanceVariable +hi! link rubyModule rubyClass +call s:X("rubyControl","7597c6","","","Blue","") + +hi! link rubyString String +hi! link rubyStringDelimiter StringDelimiter +hi! link rubyInterpolationDelimiter Identifier + +call s:X("rubyRegexpDelimiter","540063","","","Magenta","") +call s:X("rubyRegexp","dd0093","","","DarkMagenta","") +call s:X("rubyRegexpSpecial","a40073","","","Magenta","") + +call s:X("rubyPredefinedIdentifier","de5577","","","Red","") + +" Erlang + +hi! link erlangAtom rubySymbol +hi! link erlangBIF rubyPredefinedIdentifier +hi! link erlangFunction rubyPredefinedIdentifier +hi! link erlangDirective Statement +hi! link erlangNode Identifier + +" Elixir + +hi! link elixirAtom rubySymbol + + +" JavaScript + +hi! link javaScriptValue Constant +hi! link javaScriptRegexpString rubyRegexp +hi! link javaScriptTemplateVar StringDelim +hi! link javaScriptTemplateDelim Identifier +hi! link javaScriptTemplateString String + +" CoffeeScript + +hi! link coffeeRegExp javaScriptRegexpString + +" Lua + +hi! link luaOperator Conditional + +" C + +hi! link cFormat Identifier +hi! link cOperator Constant + +" Objective-C/Cocoa + +hi! link objcClass Type +hi! link cocoaClass objcClass +hi! link objcSubclass objcClass +hi! link objcSuperclass objcClass +hi! link objcDirective rubyClass +hi! link objcStatement Constant +hi! link cocoaFunction Function +hi! link objcMethodName Identifier +hi! link objcMethodArg Normal +hi! link objcMessageName Identifier + +" Vimscript + +hi! link vimOper Normal + +" HTML + +hi! link htmlTag Statement +hi! link htmlEndTag htmlTag +hi! link htmlTagName htmlTag + +" XML + +hi! link xmlTag Statement +hi! link xmlEndTag xmlTag +hi! link xmlTagName xmlTag +hi! link xmlEqual xmlTag +hi! link xmlEntity Special +hi! link xmlEntityPunct xmlEntity +hi! link xmlDocTypeDecl PreProc +hi! link xmlDocTypeKeyword PreProc +hi! link xmlProcessingDelim xmlAttrib + +" Debugger.vim + +call s:X("DbgCurrent","DEEBFE","345FA8","","White","DarkBlue") +call s:X("DbgBreakPt","","4F0037","","","DarkMagenta") + +" vim-indent-guides + +if !exists("g:indent_guides_auto_colors") + let g:indent_guides_auto_colors = 0 +endif +call s:X("IndentGuidesOdd","","232323","","","") +call s:X("IndentGuidesEven","","1b1b1b","","","") + +" Plugins, etc. + +hi! link TagListFileName Directory +call s:X("PreciseJumpTarget","B9ED67","405026","","White","Green") + +" Manual overrides for 256-color terminals. Dark colors auto-map badly. +if !s:low_color + hi StatusLineNC ctermbg=235 + hi Folded ctermbg=236 + hi DiffText ctermfg=81 + hi DbgBreakPt ctermbg=53 + hi IndentGuidesOdd ctermbg=235 + hi IndentGuidesEven ctermbg=234 +endif + +if !empty("s:overrides") + fun! s:current_attr(group) + let l:synid = synIDtrans(hlID(a:group)) + let l:attrs = [] + for l:attr in ["bold", "italic", "reverse", "standout", "underline", "undercurl"] + if synIDattr(l:synid, l:attr, "gui") == 1 + call add(l:attrs, l:attr) + endif + endfor + return join(l:attrs, ",") + endfun + fun! s:current_color(group, what, mode) + let l:color = synIDattr(synIDtrans(hlID(a:group)), a:what, a:mode) + if l:color == -1 + return "" + else + return substitute(l:color, "^#", "", "") + endif + endfun + fun! s:load_color_def(group, def) + call s:X(a:group, get(a:def, "guifg", s:current_color(a:group, "fg", "gui")), + \ get(a:def, "guibg", s:current_color(a:group, "bg", "gui")), + \ get(a:def, "attr", s:current_attr(a:group)), + \ get(a:def, "ctermfg", s:current_color(a:group, "fg", "cterm")), + \ get(a:def, "ctermbg", s:current_color(a:group, "bg", "cterm"))) + if !s:low_color + for l:prop in ["ctermfg", "ctermbg"] + let l:override_key = "256".l:prop + if has_key(a:def, l:override_key) + exec "hi ".a:group." ".l:prop."=".a:def[l:override_key] + endif + endfor + endif + endfun + fun! s:load_colors(defs) + for [l:group, l:def] in items(a:defs) + if l:group == "background" + call s:load_color_def("LineNr", l:def) + call s:load_color_def("NonText", l:def) + call s:load_color_def("Normal", l:def) + else + call s:load_color_def(l:group, l:def) + endif + unlet l:group + unlet l:def + endfor + endfun + call s:load_colors(s:overrides) + delf s:load_colors + delf s:load_color_def + delf s:current_color + delf s:current_attr +endif + +" delete functions {{{ +delf s:X +delf s:remove_italic_attr +delf s:prefix_highlight_value_with +delf s:rgb +delf s:is_empty_or_none +delf s:color +delf s:rgb_color +delf s:rgb_level +delf s:rgb_number +delf s:grey_color +delf s:grey_level +delf s:grey_number +" }}} diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/lightning.vim b/nvim/plugged/awesome-vim-colorschemes/colors/lightning.vim new file mode 100644 index 00000000..ca6fcaa4 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/lightning.vim @@ -0,0 +1,243 @@ +" 'lightning.vim' -- Vim color scheme. +" Maintainer: Stefan Wimmer (wimstefan@gmail.com) +" A light colorscheme based on 'apprentice' +" by Romain Lafourcade (romainlafourcade@gmail.com) + + +hi clear +if exists('syntax_on') + syntax reset +endif + +set background=light + +let colors_name = 'lightning' + +if ($TERM =~ '256' || &t_Co >= 256) || has('gui_running') + hi Normal ctermbg=231 ctermfg=234 guibg=#ffffff guifg=#1c1c1c cterm=NONE gui=NONE + + hi Comment ctermbg=NONE ctermfg=244 guibg=NONE guifg=#808080 cterm=NONE gui=NONE + hi Conceal ctermbg=NONE ctermfg=250 guibg=NONE guifg=#bcbcbc cterm=NONE gui=NONE + hi Constant ctermbg=NONE ctermfg=208 guibg=NONE guifg=#ff8700 cterm=NONE gui=NONE + hi Error ctermbg=160 ctermfg=255 guibg=#d70000 guifg=#ffffff cterm=bold gui=bold + hi Identifier ctermbg=NONE ctermfg=20 guibg=NONE guifg=#0000d7 cterm=NONE gui=NONE + hi Ignore ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=NONE gui=NONE + hi PreProc ctermbg=NONE ctermfg=30 guibg=NONE guifg=#008787 cterm=NONE gui=NONE + hi Special ctermbg=NONE ctermfg=35 guibg=NONE guifg=#00af5f cterm=NONE gui=NONE + hi Statement ctermbg=NONE ctermfg=69 guibg=NONE guifg=#5f87ff cterm=NONE gui=NONE + hi String ctermbg=NONE ctermfg=24 guibg=NONE guifg=#005f87 cterm=NONE gui=NONE + hi Todo ctermbg=228 ctermfg=234 guibg=#ffff87 guifg=#1c1c1c cterm=bold gui=bold + hi Type ctermbg=NONE ctermfg=90 guibg=NONE guifg=#870087 cterm=NONE gui=NONE + hi Underlined ctermbg=NONE ctermfg=39 guibg=NONE guifg=#00afff cterm=underline gui=underline + + hi LineNr ctermbg=251 ctermfg=234 guibg=#c6c6c6 guifg=#1c1c1c cterm=NONE gui=NONE + hi NonText ctermbg=NONE ctermfg=244 guibg=NONE guifg=#808080 cterm=NONE gui=NONE + + hi ErrorMsg ctermbg=217 ctermfg=235 guibg=#ffafaf guifg=#262626 cterm=NONE gui=NONE + hi ModeMsg ctermbg=157 ctermfg=235 guibg=#afffaf guifg=#262626 cterm=NONE gui=NONE + hi MoreMsg ctermbg=NONE ctermfg=36 guibg=NONE guifg=#00af87 cterm=NONE gui=NONE + hi Question ctermbg=NONE ctermfg=124 guibg=NONE guifg=#af0000 cterm=NONE gui=NONE + hi WarningMsg ctermbg=NONE ctermfg=160 guibg=NONE guifg=#d70000 cterm=NONE gui=NONE + + hi Pmenu ctermbg=251 ctermfg=235 guibg=#c6c6c6 guifg=#262626 cterm=NONE gui=NONE + hi PmenuSbar ctermbg=244 ctermfg=NONE guibg=#808080 guifg=NONE cterm=NONE gui=NONE + hi PmenuSel ctermbg=195 ctermfg=235 guibg=#d7ffff guifg=#262626 cterm=NONE gui=NONE + hi PmenuThumb ctermbg=66 ctermfg=87 guibg=#5f8787 guifg=#5fffff cterm=NONE gui=NONE + + hi Cursor ctermbg=250 ctermfg=NONE guibg=#bcbcbc guifg=NONE cterm=NONE gui=NONE + hi CursorColumn ctermbg=254 ctermfg=NONE guibg=#e4e4e4 guifg=NONE cterm=NONE gui=NONE + hi CursorLine ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=underline gui=underline + hi CursorLineNr ctermbg=254 ctermfg=73 guibg=#e4e4e4 guifg=#5fafaf cterm=NONE gui=NONE + + hi TabLineSel ctermbg=153 ctermfg=238 guibg=#afd7ff guifg=#444444 cterm=NONE gui=NONE + hi TabLineFill ctermbg=254 ctermfg=254 guibg=#e4e4e4 guifg=#e4e4e4 cterm=NONE gui=NONE + hi TabLine ctermbg=231 ctermfg=153 guibg=#ffffff guifg=#afd7ff cterm=NONE gui=NONE + hi TabNumSel ctermbg=1 ctermfg=231 guibg=#af0000 guifg=#ffffff cterm=bold gui=bold + hi TabNum ctermbg=254 ctermfg=1 guibg=#e4e4e4 guifg=#d70000 cterm=NONE gui=NONE + + hi WinNumSel ctermbg=153 ctermfg=160 guibg=#afd7ff guifg=#d70000 cterm=bold gui=bold + hi WinNum ctermbg=231 ctermfg=153 guibg=#ffffff guifg=#afd7ff cterm=NONE gui=NONE + + hi StatusLine ctermbg=231 ctermfg=232 guibg=#ffffff guifg=#000000 cterm=inverse gui=inverse + hi StatusLineNC ctermbg=244 ctermfg=231 guibg=#808080 guifg=#ffffff cterm=NONE gui=NONE + + hi helpLeadBlank ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=NONE gui=NONE + hi helpNormal ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=NONE gui=NONE + + hi Visual ctermbg=111 ctermfg=235 guibg=#87afff guifg=#262626 cterm=NONE gui=NONE + hi VisualNOS ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=underline gui=underline + + hi FoldColumn ctermbg=251 ctermfg=235 guibg=#c6c6c6 guifg=#262626 cterm=NONE gui=NONE + hi Folded ctermbg=251 ctermfg=235 guibg=#c6c6c6 guifg=#262626 cterm=NONE gui=NONE + + hi VertSplit ctermbg=238 ctermfg=238 guibg=#444444 guifg=#444444 cterm=NONE gui=NONE + hi WildMenu ctermbg=111 ctermfg=235 guibg=#87afff guifg=#262626 cterm=NONE gui=NONE + + hi Function ctermbg=NONE ctermfg=33 guibg=NONE guifg=#0087ff cterm=NONE gui=NONE + hi SpecialKey ctermbg=NONE ctermfg=244 guibg=NONE guifg=#808080 cterm=NONE gui=NONE + hi Title ctermbg=NONE ctermfg=22 guibg=NONE guifg=#005f00 cterm=NONE gui=NONE + + hi DiffAdd ctermbg=157 ctermfg=235 guibg=#afffaf guifg=#262626 cterm=NONE gui=NONE + hi DiffChange ctermbg=189 ctermfg=235 guibg=#d7d7ff guifg=#262626 cterm=NONE gui=NONE + hi DiffDelete ctermbg=217 ctermfg=235 guibg=#ffafaf guifg=#262626 cterm=NONE gui=NONE + hi DiffText ctermbg=147 ctermfg=235 guibg=#afafff guifg=#262626 cterm=NONE gui=NONE + + hi IncSearch ctermbg=217 ctermfg=235 guibg=#ffafaf guifg=#262626 cterm=NONE gui=NONE + hi Search ctermbg=229 ctermfg=235 guibg=#ffffaf guifg=#262626 cterm=NONE gui=NONE + + hi Directory ctermbg=NONE ctermfg=73 guibg=NONE guifg=#5fafaf cterm=NONE gui=NONE + hi MatchParen ctermbg=NONE ctermfg=166 guibg=NONE guifg=#d75f00 cterm=NONE gui=NONE + + hi SpellBad ctermbg=NONE ctermfg=160 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#cc2929 + hi SpellCap ctermbg=NONE ctermfg=73 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#5fafaf + hi SpellLocal ctermbg=NONE ctermfg=35 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#34b31b + hi SpellRare ctermbg=NONE ctermfg=208 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#ff8700 + + hi ColorColumn ctermbg=254 ctermfg=NONE guibg=#e4e4e4 guifg=NONE cterm=NONE gui=NONE + hi signColumn ctermbg=251 ctermfg=235 guibg=#c6c6c6 guifg=#262626 cterm=NONE gui=NONE +elseif &t_Co == 8 || $TERM !~# '^linux' || &t_Co == 16 + set t_Co=16 + + hi Normal ctermbg=NONE ctermfg=15 cterm=NONE + hi Comment ctermbg=NONE ctermfg=8 cterm=NONE + hi Constant ctermbg=NONE ctermfg=9 cterm=NONE + hi Function ctermbg=NONE ctermfg=12 cterm=NONE + hi Identifier ctermbg=NONE ctermfg=4 cterm=NONE + hi PreProc ctermbg=NONE ctermfg=6 cterm=NONE + hi Special ctermbg=NONE ctermfg=2 cterm=NONE + hi Statement ctermbg=NONE ctermfg=14 cterm=NONE + hi String ctermbg=NONE ctermfg=10 cterm=NONE + hi Todo ctermbg=NONE ctermfg=NONE cterm=reverse + hi Type ctermbg=NONE ctermfg=13 cterm=NONE + + hi Error ctermbg=NONE ctermfg=1 cterm=reverse + hi Ignore ctermbg=NONE ctermfg=NONE cterm=NONE + hi Underlined ctermbg=NONE ctermfg=6 cterm=underline + + hi LineNr ctermbg=0 ctermfg=7 cterm=NONE + hi NonText ctermbg=NONE ctermfg=8 cterm=NONE + + hi Pmenu ctermbg=8 ctermfg=15 cterm=NONE + hi PmenuSbar ctermbg=7 ctermfg=NONE cterm=NONE + hi PmenuSel ctermbg=6 ctermfg=0 cterm=NONE + hi PmenuThumb ctermbg=6 ctermfg=NONE cterm=NONE + + hi ErrorMsg ctermbg=1 ctermfg=0 cterm=NONE + hi ModeMsg ctermbg=2 ctermfg=0 cterm=NONE + hi MoreMsg ctermbg=NONE ctermfg=6 cterm=NONE + hi Question ctermbg=NONE ctermfg=10 cterm=NONE + hi WarningMsg ctermbg=NONE ctermfg=1 cterm=NONE + + hi TabLine ctermbg=7 ctermfg=8 cterm=NONE + hi TabLineFill ctermbg=7 ctermfg=7 cterm=NONE + hi TabLineSel ctermbg=8 ctermfg=7 cterm=NONE + hi TabNumSel ctermbg=1 ctermfg=7 cterm=bold + hi TabNum ctermbg=15 ctermfg=1 cterm=NONE + + hi WinNumSel ctermbg=8 ctermfg=1 cterm=bold + hi WinNum ctermbg=7 ctermfg=1 cterm=NONE + + + hi Cursor ctermbg=NONE ctermfg=NONE cterm=NONE + hi CursorColumn ctermbg=8 ctermfg=NONE cterm=NONE + hi CursorLine ctermbg=NONE ctermfg=NONE cterm=bold + hi CursorLineNr ctermbg=0 ctermfg=14 cterm=NONE + + hi helpLeadBlank ctermbg=NONE ctermfg=NONE cterm=NONE + hi helpNormal ctermbg=NONE ctermfg=NONE cterm=NONE + + hi StatusLine ctermbg=7 ctermfg=0 cterm=NONE + hi StatusLineNC ctermbg=NONE ctermfg=0 cterm=NONE + + hi Visual ctermbg=7 ctermfg=0 cterm=NONE + hi VisualNOS ctermbg=NONE ctermfg=NONE cterm=underline + + hi FoldColumn ctermbg=15 ctermfg=0 cterm=NONE + hi Folded ctermbg=15 ctermfg=0 cterm=NONE + + hi VertSplit ctermbg=8 ctermfg=8 cterm=NONE + hi WildMenu ctermbg=7 ctermfg=0 cterm=NONE + + hi SpecialKey ctermbg=NONE ctermfg=8 cterm=NONE + hi Title ctermbg=NONE ctermfg=15 cterm=NONE + + hi DiffAdd ctermbg=10 ctermfg=0 cterm=NONE + hi DiffChange ctermbg=14 ctermfg=0 cterm=NONE + hi DiffDelete ctermbg=9 ctermfg=7 cterm=NONE + hi DiffText ctermbg=11 ctermfg=0 cterm=NONE + + hi IncSearch ctermbg=1 ctermfg=0 cterm=NONE + hi Search ctermbg=3 ctermfg=0 cterm=NONE + + hi Directory ctermbg=NONE ctermfg=14 cterm=NONE + + hi SpellBad ctermbg=NONE ctermfg=1 cterm=undercurl + hi SpellCap ctermbg=NONE ctermfg=3 cterm=undercurl + hi SpellLocal ctermbg=NONE ctermfg=2 cterm=undercurl + hi SpellRare ctermbg=NONE ctermfg=5 cterm=undercurl + + hi ColorColumn ctermbg=15 ctermfg=NONE cterm=NONE + hi SignColumn ctermbg=0 ctermfg=8 cterm=NONE +endif + +hi link Boolean Constant +hi link Character Constant +hi link Conceal Normal +hi link Conditional Statement +hi link Debug Special +hi link Define PreProc +hi link Delimiter Special +hi link Exception Statement +hi link Float Number +hi link HelpCommand Statement +hi link HelpExample Statement +hi link Include PreProc +hi link Keyword Statement +hi link Label Statement +hi link Macro PreProc +hi link Number Constant +hi link Operator Statement +hi link PreCondit PreProc +hi link Repeat Statement +hi link SpecialChar Special +hi link SpecialComment Special +hi link StorageClass Type +hi link Structure Type +hi link Tag Special +hi link Typedef Type + +hi link htmlEndTag htmlTagName +hi link htmlLink Function +hi link htmlSpecialTagName htmlTagName +hi link htmlTag htmlTagName + +hi link diffBDiffer WarningMsg +hi link diffCommon WarningMsg +hi link diffDiffer DiffText +hi link diffIdentical WarningMsg +hi link diffIsA WarningMsg +hi link diffNoEOL WarningMsg +hi link diffOnly WarningMsg +hi link diffRemoved DiffDelete +hi link diffAdded DiffAdd + +if $NVIM_TUI_ENABLE_TRUE_COLOR == 1 + let g:terminal_foreground = "#303030" + let g:terminal_background = "#EEEEEE" + let g:terminal_color_0 = "#080808" + let g:terminal_color_8 = "#585858" + let g:terminal_color_1 = "#CC2929" + let g:terminal_color_9 = "#B30000" + let g:terminal_color_2 = "#34B31B" + let g:terminal_color_10 = "#338033" + let g:terminal_color_3 = "#E27E00" + let g:terminal_color_11 = "#F27F0C" + let g:terminal_color_4 = "#175CE6" + let g:terminal_color_12 = "#003BB3" + let g:terminal_color_5 = "#CC00CC" + let g:terminal_color_13 = "#80195E" + let g:terminal_color_6 = "#26BFBF" + let g:terminal_color_14 = "#0F9999" + let g:terminal_color_7 = "#FAFAFA" + let g:terminal_color_15 = "#E4E4E4" +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/lucid.vim b/nvim/plugged/awesome-vim-colorschemes/colors/lucid.vim new file mode 100644 index 00000000..13c1a64f --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/lucid.vim @@ -0,0 +1,399 @@ +" Vim color scheme Lucid +" ---------------------------------------------------------------------- +" +" Repository: https://github.com/cseelus/vim-colors-lucid +" Author: Chris Seelus (@cseelus) +" +" BLACK +" :let _rock_dark = '#0b0a0b' +" :let _rock = '#121114' +" :let _rock_medium = '#242228' +" non saturated grays +" :let _rock_dark = '#131313' +" :let _rock = '#191919' +" :let _rock_medium = '#363636' +" :let _gray_dark = '#535557' +" :let _gray = '#767b86' +" :let _gray_medium = '#cec5ce' +" :let _gray_light = '#d2d3d3' +" :let _cloud = '#e6e7e7' +" less saturated grays +" :let _rock_dark = '#19171c' +" :let _rock = '#1f1d24' +" saturated grays +" :let _rock_dark = '#221b23' +" :let _rock = '#27242e' +" very saturated grays +:let _rock_dark = '#0f0c14' +:let _rock = '#181320' +" normal grays +" -------------------------- +:let _rock_medium = '#36323d' +:let _gray_dark = '#534d5e' +:let _gray = '#847d91' +:let _gray_medium = '#beb8cc' +:let _gray_light = '#d2c3ef' +:let _cloud = '#e4e0ed' +" colors +" -------------------------- +:let _turquoise = '#3fc997' +:let _fluoric = '#d0ffc3' +:let _cyan = '#99feff' +:let _steel = '#83a8d1' +:let _powder = '#8fc7db' +:let _purple = '#7470ce' +:let _sky = '#b3e4eb' +:let _pink = '#db0088' +:let _sap = '#fde9a2' + +" Light/inverted colors (darkrock-cloud, rock-lightgrey switched) +if &background == "light" + :let _rock_dark = '#f3f4f4' + :let _rock = '#dfe0e0' + :let _gray_dark = '#a9aeb3' + :let _gray = '#82868a' + :let _gray_medium = '#bcbfc0' + :let _gray_light = '#2c2d2e' + :let _cloud = '#101010' + " -------------------------- + :let _turquoise = '#34b56e' + :let _fluoric = '#71984f' + :let _cyan = '#34b9b9' + :let _steel = '#1b009a' + :let _powder = '#3b7e9a' + :let _sky = '#2e8f9f' + :let _pink = '#c6006a' + :let _sap = '#fde9a2' +endif + + +set background=dark +highlight clear + +if exists("syntax_on") + syntax reset +endif + +set t_Co=256 +let colors_name = "lucid" +let colorgroup = {} + + +" Interface +" ---------------------------------------------------------------------- +let colorgroup['Normal'] = {"GUIFG": _cloud, "GUIBG": _rock_dark} +" ------------------------ +let colorgroup['Darker'] = {"GUIFG": _gray, "GUIBG": _rock_dark} +let colorgroup['ColorColumn'] = {"GUIFG": _rock_dark, "GUIBG": _pink} +let colorgroup['Conceal'] = {"GUIFG": _sap, "GUI": "bold"} +" let colorgroup['Cursor'] = {"GUIFG": _rock_dark, "GUIBG": _turquoise} +let colorgroup['CursorLine'] = {"GUIFG": _cloud, "GUIBG": _rock} +let colorgroup['CursorLineNr'] = {"GUIFG": _gray_dark, "GUIBG": _rock_dark} +let colorgroup['Directory'] = {"GUIFG": _fluoric, "GUIBG": _rock_dark} +let colorgroup['Error'] = {"GUIFG": _rock_dark, "GUIBG": _pink} +let colorgroup['ErrorMsg'] = {"GUIFG": _rock_dark, "GUIBG": _pink} +let colorgroup['FoldColumn'] = { "GUIBG": _rock_dark} +let colorgroup['Folded'] = {"GUIFG": _cloud, "GUIBG": _rock} +let colorgroup['LineNr'] = {"GUIFG": _gray_dark, "GUIBG": _rock_dark} +if &background == "light" + let colorgroup['LineNr'] = {"GUIFG": _gray_medium, "GUIBG": _rock_dark} +endif +let colorgroup['MatchParen'] = {"GUIFG": _rock_dark, "GUIBG": _pink} +let colorgroup['ModeMsg'] = {"GUIFG": _rock_dark, "GUIBG": _turquoise} +let colorgroup['Pmenu'] = {"GUIFG": _cloud, "GUIBG": _rock_medium} +let colorgroup['PmenuSel'] = {"GUIFG": _rock_dark, "GUIBG": _turquoise} +let colorgroup['PmenuSbar'] = { "GUIBG": _rock_dark} +let colorgroup['Search'] = { "GUIBG": _gray_dark, "GUI": "underline"} +let colorgroup['SignColumn'] = { "GUIBG": _rock_dark} +let colorgroup['StatusLine'] = {"GUIFG": _gray, "GUIBG": _rock} +let colorgroup['StatusLineNC'] = {"GUIFG": _gray_dark, "GUIBG": _rock} +let colorgroup['Title'] = {"GUIFG": _pink, "GUI": "bold"} +let colorgroup['Todo'] = {"GUIFG": _rock_dark, "GUIBG": _powder} +let colorgroup['VertSplit'] = {"GUIFG": _rock, "GUIBG": _rock} +let colorgroup['Visual'] = {"GUIFG": _rock_dark, "GUIBG": _sap} +if &background == "light" + let colorgroup['Visual'] = {"GUIFG": _cloud, "GUIBG": _sap} +endif +let colorgroup['WarningMsg'] = {"GUIFG": _rock_dark, "GUIBG": _steel} + + +" Syntax +" ---------------------------------------------------------------------- +let colorgroup['Access'] = {"GUIFG": _purple, "GUI": "bold"} +let colorgroup['Comment'] = {"GUIFG": _gray, "GUI": "italic"} +let colorgroup['Class'] = {"GUIFG": _pink, "GUI": "italic"} +let colorgroup['Conditional'] = {"GUIFG": _cyan} +let colorgroup['Constant'] = {"GUIFG": _turquoise, "GUI": "bold"} +let colorgroup['Delimiter'] = {"GUIFG": _pink} +let colorgroup['Function'] = {"GUIFG": _steel} +let colorgroup['Identifier'] = {"GUIFG": _sky} +let colorgroup['Module'] = {"GUIFG": _pink, "GUI": "underline"} +let colorgroup['NonText'] = {"GUIFG": _gray_dark} +let colorgroup['Number'] = {"GUIFG": _turquoise} +let colorgroup['PreProc'] = {"GUIFG": _pink} +let colorgroup['Statement'] = {"GUIFG": _turquoise} +let colorgroup['Special'] = {"GUIFG": _pink} +let colorgroup['SpecialKey'] = {"GUIFG": _gray_light} +let colorgroup['String'] = {"GUIFG": _fluoric} +let colorgroup['StorageClass'] = {"GUIFG": _cloud, "GUI": "bold"} +let colorgroup['Structure'] = {"GUIFG": _gray_medium} +let colorgroup['Symbol'] = {"GUIFG": _sky} +let colorgroup['Type'] = {"GUIFG": _steel} +let colorgroup['Underlined'] = {"GUIFG": _turquoise, "GUI": "underline"} +let colorgroup['Userdef'] = {"GUIFG": _sap} +" ------------------------ +hi link Boolean Number +hi link Character Function +hi link ErrorMsg Error +hi link Debug Special +hi link Define PreProc +hi link Exception PreProc +hi link Float Number +hi link Include Function +hi link Label Statement +hi link Macro PreProc +hi link Operator PreProc +hi link PreCondit PreProc +hi link Repeat Statement +hi link SpecialChar Special +hi link SpecialComment Special +hi link Typedef Type +hi link Tag Special + + +" Plugins +" ---------------------------------------------------------------------- + +" CtrlP +hi link CtrlPMatch Function + +" Git commit +hi link gitcommitBranch Constant +hi link gitcommitSelectedFile Statement +hi link gitcommitDiscardedFile Structure +hi link gitcommitUntrackedFile Structure +hi link gitcommitSummary String + +" GitGutter +hi link GitGutterAdd Darker +hi link GitGutterChange Darker +hi link GitGutterDelete Darker +hi link GitGutterChangeDelete Darker + +" NERDtree +hi link NerdTreeCWD Statement +hi link NerdTreeHelpKey Function +hi link NerdTreeHelpTitle Statement +hi link NerdTreeOpenable Statement +hi link NerdTreeClosable Statement +hi link NerdTreeDir Normal +hi link NerdTreeDirSlash Statement + +" PlainTasks (.todo) +hi link ptCompleteTask Number +hi link ptContext Type +hi link ptSection Title +hi link ptTask Normal + +" Startify +hi link StartifyNumber Statement +hi link StartifyBracket Statement +hi link StartifySection Title +hi link StartifyPath Comment +hi link StartifySlash Comment +hi link StartifyFile StorageClass + + +" Language +" ---------------------------------------------------------------------- + +" Apache +hi link apacheDeclaration PreProc + +" CoffeeScript +hi link coffeeExtendedOp Function +hi link coffeeObject Statement +hi link coffeeObjAssign Function +hi link coffeeParen Function + +" CSS +hi link cssAttr String +hi link cssClass Type +hi link cssProp Identifier +hi link cssSelectorOp Identifier + +" HAML +hi link hamlTag Function + +" HTML +" hi link htmlArg Symbol +" hi link htmlTag Constant +hi link htmlTagName Constant +" hi link htmlEndTag Function + +" JavaScript +hi link javascriptFuncArg Function +hi link javascriptFuncComma Function +hi link javascriptFuncDef Statement +hi link javascriptFuncKeyword Statement +hi link javascriptOpSymbols Type +hi link javascriptParens Function +hi link javascriptEndcolons Function + +" Javascript (pangloss/vim-javascript) +hi link jsBraces Delimiter +hi link jsClassDefinition Constant +hi link jsClassKeyword PreProc +hi link jsExtendsKeyword Function +hi link jsFuncCall Function +hi link jsModuleKeyword Identifier +hi link jsNull Identifier +hi link jsObjectKey Identifier +hi link jsStorageClass Structure +hi link jsTemplateBraces PreProc + +" JSON +hi link jsonKeyword Function + +" LaTeX +hi link texInputFile PreProc +hi link texDocType Constant +hi link texDocTypeArgs Function +hi link texInputFile Symbol +hi link texInputFileOpt String +hi link texMathMatcher Statement +hi link texMathSymbol Symbol +hi link texMathZoneA Symbol +hi link texMathZoneAS Symbol +hi link texSection Title +hi link texStatement Function +hi link texTypeSize Symbol +hi link texTypeStyle Symbol +" hi link texSpecialChar Userdef + +" Markdown +hi link mkdBlockquote Symbol +hi link mkdCode Identifier +hi link mkdIndentCode Identifier +" hi link mkdLink Normal + +" MatchTagAlways +hi link MatchTag Identifier + +" PHP +hi link phpParent Normal +hi link phpRegion Comment +hi link phpVarSelector Identifier + +" Ruby +hi link rubyAccess Access +hi link rubyCallback Function +hi link rubyClass Class +hi link rubyControl Statement +hi link rubyConstant Constant +hi link rubyEntity Function +hi link rubyFunction StorageClass +hi link rubyInclude Include +hi link rubyInterpolation Include +hi link rubyMacro Function +hi link rubyModule Module +" hi link RubyPseudoVariable Type +hi link rubyStringDelimiter rubyString +hi link rubySymbol Symbol + +" SASS +hi link sassClassChar Type +" " hi link sassExtend Symbol +" " hi link sassMixing Symbol +hi link sassIdChar Identifier +" hi link sassVariable Function + +" Slim +" hi link slimDocType Function +" hi link slimDocTypeKeyword Statement +hi link rubyKeyword PreProc +" hi link slimRubyChar PreProc +" hi link slimRubyOutputChar PreProc +" hi link slimText Normal + +" VimL +hi link vimCmdSep Function + +" YAML +hi link yamlBlockMappingKey Function +hi link yamlDocumentStart Comment + +" XML +hi link xmlEndTag Function + + +" Expand colorgroups +" ---------------------------------------------------------------------- + +let s:colors = {} +" http://choorucode.com/2011/07/29/vim-chart-of-color-names/ +let valid_cterm_colors = + \ [ + \ 'Black', 'DarkBlue', 'DarkGreen', 'DarkCyan', + \ 'DarkRed', 'DarkMagenta', 'Brown', 'DarkYellow', + \ 'LightGray', 'LightGrey', 'Gray', 'Grey', + \ 'DarkGray', 'DarkGrey', 'Blue', 'LightBlue', + \ 'Green', 'LightGreen', 'Cyan', 'LightCyan', + \ 'Red', 'LightRed', 'Magenta', 'LightMagenta', + \ 'Yellow', 'LightYellow', 'White', + \ ] +for key in keys(colorgroup) + let s:colors = colorgroup[key] + if has_key(s:colors, 'TERM') + let term = s:colors['TERM'] + else + let term = 'NONE' + endif + if has_key(s:colors, 'GUI') + let gui = s:colors['GUI'] + else + let gui='NONE' + endif + if has_key(s:colors, 'GUIFG') + let guifg = s:colors['GUIFG'] + else + let guifg='NONE' + endif + if has_key(s:colors, 'GUIBG') + let guibg = s:colors['GUIBG'] + else + let guibg='NONE' + endif + if has_key(s:colors, 'CTERM') + let cterm = s:colors['CTERM'] + else + let cterm=gui + endif + if has_key(s:colors, 'CTERMFG') + let ctermfg = s:colors['CTERMFG'] + else + if index(valid_cterm_colors, guifg) != -1 + let ctermfg=guifg + else + let ctermfg='Blue' + endif + endif + if has_key(s:colors, 'CTERMBG') + let ctermbg = s:colors['CTERMBG'] + else + if index(valid_cterm_colors, guibg) != -1 + let ctermbg=guibg + else + let ctermbg='NONE' + endif + endif + if has_key(s:colors, 'GUISP') + let guisp = s:colors['GUISP'] + else + let guisp='NONE' + endif + + if key =~ '^\k*$' + execute "hi ".key." term=".term." cterm=".cterm." gui=".gui." ctermfg=".ctermfg." guifg=".guifg." ctermbg=".ctermbg." guibg=".guibg." guisp=".guisp + endif +endfor diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/lucius.vim b/nvim/plugged/awesome-vim-colorschemes/colors/lucius.vim new file mode 100644 index 00000000..350d7db8 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/lucius.vim @@ -0,0 +1,805 @@ +" ============================================================================ +" Name: Lucius vim color scheme +" Author: Jonathan Filip <jfilip1024@gmail.com> +" Version: 8.1.7 +" ---------------------------------------------------------------------------- +" +" Light and dark color scheme for GUI and 256 color terminal. +" +" There are several options available to customize the color scheme to your +" own tastes. This is particularly useful when you have to work in different +" environments at different times (home, work, day, night, etc). +" +" The GUI and 256 color terminal versions of this color scheme are identical. +" +" You can set up the color scheme by manually setting the options you want or +" by choosing one of the presets defined. These presets are loaded after you +" first source the color scheme file and are all commands that start with +" 'Lucius'. +" +" I have also started to create color schemes for different applications. I +" have been using them for PuTTY, iTerm2, and Visual Studio, but will keep +" adding more as I go along. You can find the files for these on Github: +" +" https://github.com/jonathanfilip/lucius +" +" You can also clone the following repository if you use Pathogen or something +" similar. It holds the vim color scheme in a 'colors' directory: +" +" https://github.com/jonathanfilip/vim-lucius +" +" +" +" Presets: +" +" There are several presets available that will set all the options for you. +" There are screenshots of each preset below: +" +" * LuciusDark (dark default): http://i.imgur.com/LsZbF.png +" * LuciusDarkHighContrast: http://i.imgur.com/e70i9.png +" * LuciusDarkLowContrast: http://i.imgur.com/Hmw8s.png +" * LuciusBlack: http://i.imgur.com/iD4ri.png +" * LuciusBlackHighContrast: http://i.imgur.com/lHvTJ.png +" * LuciusBlackLowContrast: http://i.imgur.com/oZLkg.png +" +" * LuciusLight (light default): http://i.imgur.com/soYD8.png +" * LuciusLightLowContrast: http://i.imgur.com/95I86.png +" * LuciusWhite: http://i.imgur.com/wDzkz.png +" * LuciusWhiteLowContrast: http://i.imgur.com/jlUf4.png +" +" To use the presets, you just need to set the color scheme first. In your +" vimrc, you can just do this: +" +" colorscheme lucius +" LuciusBlack +" +" You can still just set the background variable and then set the color +" scheme. This will default to LuciusDark for 'dark' and LuciusLight for +" 'light'. +" +" +" Options: +" +" The presets available cover most of the options. You can, however, customize +" things by setting the following variables yourself: +" +" g:lucius_style (default: 'dark') +" +" Set this option to either 'light' or 'dark' for your desired color scheme. +" It has the same effect as setting the background. +" +" g:lucius_contrast (default: 'normal') +" +" This option determines the contrast to use for text/ui elements. It can be +" set to 'low', 'normal', or 'high'. At this time there is no 'high' for the +" light scheme. +" +" g:lucius_contrast_bg (default: 'normal') +" +" Setting this option makes the background a higher contrast. Current settings +" are 'normal' and 'high'. +" +" g:lucius_use_bold (default: 1) +" +" Setting this will cause the color scheme to use bold fonts for some items. +" +" g:lucius_use_underline (default: 1) +" +" Setting this will cause the color scheme to use underlined fonts for some +" items. +" +" g:lucius_no_term_bg (default: 0) +" +" Setting this will cause the color scheme to not set a background color in +" the terminal (useful for transparency or terminals with different background +" colors). +" +" License: +" +" Copyright (c) 2015 Jonathan Filip +" +" Permission is hereby granted, free of charge, to any person obtaining a copy +" of this software and associated documentation files (the "Software"), to deal +" in the Software without restriction, including without limitation the rights +" to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +" copies of the Software, and to permit persons to whom the Software is +" furnished to do so, subject to the following conditions: +" +" The above copyright notice and this permission notice shall be included in +" all copies or substantial portions of the Software. +" +" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +" THE SOFTWARE. +" +" ============================================================================ + + + +" ============================================================================ +" Options: +" ============================================================================ + +unlet! g:colors_name +hi clear +if exists("syntax_on") + syntax reset +endif + +if exists("g:lucius_style") + let s:style = g:lucius_style +else + let s:style = &background +endif + +if exists("g:lucius_contrast") + let s:contrast = g:lucius_contrast +else + let s:contrast = "normal" +endif + +if exists("g:lucius_contrast_bg") + let s:contrast_bg = g:lucius_contrast_bg +else + let s:contrast_bg = "normal" +endif + +if exists("g:lucius_use_bold") + let s:use_bold = g:lucius_use_bold +else + let s:use_bold = 1 +endif + +if exists("g:lucius_use_underline") + let s:use_underline = g:lucius_use_underline +else + let s:use_underline = 1 +endif + +if exists("g:lucius_no_term_bg") + let s:no_term_bg = g:lucius_no_term_bg +else + let s:no_term_bg = 0 +endif + + +" ============================================================================ +" Color Map: +" ============================================================================ + +let s:color_map = { + \ 'bg': 'bg', 'fg': 'fg', 'NONE': 'NONE', + \ '#000000': '16', '#00005f': '17', '#000087': '18', '#0000af': '19', + \ '#0000d7': '20', '#0000ff': '21', '#005f00': '22', '#005f5f': '23', + \ '#005f87': '24', '#005faf': '25', '#005fd7': '26', '#005fff': '27', + \ '#008700': '28', '#00875f': '29', '#008787': '30', '#0087af': '31', + \ '#0087d7': '32', '#0087ff': '33', '#00af00': '34', '#00af5f': '35', + \ '#00af87': '36', '#00afaf': '37', '#00afd7': '38', '#00afff': '39', + \ '#00d700': '40', '#00d75f': '41', '#00d787': '42', '#00d7af': '43', + \ '#00d7d7': '44', '#00d7ff': '45', '#00ff00': '46', '#00ff5f': '47', + \ '#00ff87': '48', '#00ffaf': '49', '#00ffd7': '50', '#00ffff': '51', + \ '#5f0000': '52', '#5f005f': '53', '#5f0087': '54', '#5f00af': '55', + \ '#5f00d7': '56', '#5f00ff': '57', '#5f5f00': '58', '#5f5f5f': '59', + \ '#5f5f87': '60', '#5f5faf': '61', '#5f5fd7': '62', '#5f5fff': '63', + \ '#5f8700': '64', '#5f875f': '65', '#5f8787': '66', '#5f87af': '67', + \ '#5f87d7': '68', '#5f87ff': '69', '#5faf00': '70', '#5faf5f': '71', + \ '#5faf87': '72', '#5fafaf': '73', '#5fafd7': '74', '#5fafff': '75', + \ '#5fd700': '76', '#5fd75f': '77', '#5fd787': '78', '#5fd7af': '79', + \ '#5fd7d7': '80', '#5fd7ff': '81', '#5fff00': '82', '#5fff5f': '83', + \ '#5fff87': '84', '#5fffaf': '85', '#5fffd7': '86', '#5fffff': '87', + \ '#870000': '88', '#87005f': '89', '#870087': '90', '#8700af': '91', + \ '#8700d7': '92', '#8700ff': '93', '#875f00': '94', '#875f5f': '95', + \ '#875f87': '96', '#875faf': '97', '#875fd7': '98', '#875fff': '99', + \ '#878700': '100', '#87875f': '101', '#878787': '102', '#8787af': '103', + \ '#8787d7': '104', '#8787ff': '105', '#87af00': '106', '#87af5f': '107', + \ '#87af87': '108', '#87afaf': '109', '#87afd7': '110', '#87afff': '111', + \ '#87d700': '112', '#87d75f': '113', '#87d787': '114', '#87d7af': '115', + \ '#87d7d7': '116', '#87d7ff': '117', '#87ff00': '118', '#87ff5f': '119', + \ '#87ff87': '120', '#87ffaf': '121', '#87ffd7': '122', '#87ffff': '123', + \ '#af0000': '124', '#af005f': '125', '#af0087': '126', '#af00af': '127', + \ '#af00d7': '128', '#af00ff': '129', '#af5f00': '130', '#af5f5f': '131', + \ '#af5f87': '132', '#af5faf': '133', '#af5fd7': '134', '#af5fff': '135', + \ '#af8700': '136', '#af875f': '137', '#af8787': '138', '#af87af': '139', + \ '#af87d7': '140', '#af87ff': '141', '#afaf00': '142', '#afaf5f': '143', + \ '#afaf87': '144', '#afafaf': '145', '#afafd7': '146', '#afafff': '147', + \ '#afd700': '148', '#afd75f': '149', '#afd787': '150', '#afd7af': '151', + \ '#afd7d7': '152', '#afd7ff': '153', '#afff00': '154', '#afff5f': '155', + \ '#afff87': '156', '#afffaf': '157', '#afffd7': '158', '#afffff': '159', + \ '#d70000': '160', '#d7005f': '161', '#d70087': '162', '#d700af': '163', + \ '#d700d7': '164', '#d700ff': '165', '#d75f00': '166', '#d75f5f': '167', + \ '#d75f87': '168', '#d75faf': '169', '#d75fd7': '170', '#d75fff': '171', + \ '#d78700': '172', '#d7875f': '173', '#d78787': '174', '#d787af': '175', + \ '#d787d7': '176', '#d787ff': '177', '#d7af00': '178', '#d7af5f': '179', + \ '#d7af87': '180', '#d7afaf': '181', '#d7afd7': '182', '#d7afff': '183', + \ '#d7d700': '184', '#d7d75f': '185', '#d7d787': '186', '#d7d7af': '187', + \ '#d7d7d7': '188', '#d7d7ff': '189', '#d7ff00': '190', '#d7ff5f': '191', + \ '#d7ff87': '192', '#d7ffaf': '193', '#d7ffd7': '194', '#d7ffff': '195', + \ '#ff0000': '196', '#ff005f': '197', '#ff0087': '198', '#ff00af': '199', + \ '#ff00d7': '200', '#ff00ff': '201', '#ff5f00': '202', '#ff5f5f': '203', + \ '#ff5f87': '204', '#ff5faf': '205', '#ff5fd7': '206', '#ff5fff': '207', + \ '#ff8700': '208', '#ff875f': '209', '#ff8787': '210', '#ff87af': '211', + \ '#ff87d7': '212', '#ff87ff': '213', '#ffaf00': '214', '#ffaf5f': '215', + \ '#ffaf87': '216', '#ffafaf': '217', '#ffafd7': '218', '#ffafff': '219', + \ '#ffd700': '220', '#ffd75f': '221', '#ffd787': '222', '#ffd7af': '223', + \ '#ffd7d7': '224', '#ffd7ff': '225', '#ffff00': '226', '#ffff5f': '227', + \ '#ffff87': '228', '#ffffaf': '229', '#ffffd7': '230', '#ffffff': '231', + \ '#080808': '232', '#121212': '233', '#1c1c1c': '234', '#262626': '235', + \ '#303030': '236', '#3a3a3a': '237', '#444444': '238', '#4e4e4e': '239', + \ '#585858': '240', '#626262': '241', '#6c6c6c': '242', '#767676': '243', + \ '#808080': '244', '#8a8a8a': '245', '#949494': '246', '#9e9e9e': '247', + \ '#a8a8a8': '248', '#b2b2b2': '249', '#bcbcbc': '250', '#c6c6c6': '251', + \ '#d0d0d0': '252', '#dadada': '253', '#e4e4e4': '254', '#eeeeee': '255', + \ } + + +" ============================================================================ +" Functions: +" ============================================================================ + +function! s:AddCterm(name) + exec "let l:gfg = synIDattr(synIDtrans(hlID('" . a:name . + \ "')), 'fg', 'gui')" + exec "let l:gbg = synIDattr(synIDtrans(hlID('" . a:name . + \ "')), 'bg', 'gui')" + let l:gfg = l:gfg == "" ? "NONE" : l:gfg + let l:gbg = l:gbg == "" ? "NONE" : l:gbg + exec "hi " . a:name . " ctermfg=" . s:color_map[l:gfg] . + \ " ctermbg=" . s:color_map[l:gbg] +endfunction + +function! s:AddSpCterm(name) + exec "let l:gsp = synIDattr(synIDtrans(hlID('" . a:name . + \ "')), 'sp', 'gui')" + let l:gsp = l:gsp == "" ? "NONE" : l:gsp + exec "hi " . a:name . " ctermfg=" . s:color_map[l:gsp] +endfunction + + +" ============================================================================ +" Text Groups: +" ============================================================================ + +let s:normal_items = [ + \ "ColorColumn", "Comment", "Conceal", "Constant", "Cursor", "CursorColumn", + \ "CursorIM", "CursorLine", "CursorLineNr", "DiffAdd", "DiffChange", + \ "DiffDelete", "Directory", "Error", "ErrorMsg", "Identifier", + \ "IncSearch", "LineNr", "MatchParen", "ModeMsg", "MoreMsg", + \ "NonText", "Pmenu", "PmenuSbar", "PmenuSel", + \ "PmenuThumb", "PreProc", "Question", "Search", "SignColumn", + \ "Special", "SpecialKey", "Statement", "StatusLineNC", "TabLine", + \ "TabLineFill", "Todo", "Type", "VertSplit", "Visual", + \ "WarningMsg", "WildMenu", + \ ] + +let s:bold_items = [ + \ "DiffText", "FoldColumn", "Folded", "StatusLine", "TabLineSel", + \ "Title", "CursorLineNr", + \ ] + +let s:underline_items = [ + \ "Underlined", "VisualNOS" + \ ] + +let s:undercurl_items = [ + \ "SpellBad", "SpellCap", "SpellLocal", "SpellRare" + \ ] + + +" ============================================================================ +" Color Definitions: +" ============================================================================ + +" ---------------------------------------------------------------------------- +" 'Normal' Colors: +" ---------------------------------------------------------------------------- + +hi clear Normal +hi Normal gui=none cterm=none term=none + +if s:style == "light" + if s:contrast == "high" + hi Normal guifg=#000000 + elseif s:contrast == "low" + hi Normal guifg=#626262 + else + hi Normal guifg=#444444 + endif +else + if s:contrast == "high" + hi Normal guifg=#eeeeee + elseif s:contrast == "low" + hi Normal guifg=#bcbcbc + else + hi Normal guifg=#d7d7d7 + endif +endif + +if s:style == "light" + if s:contrast_bg == "high" + hi Normal guibg=#ffffff + else + hi Normal guibg=#eeeeee + endif +else + if s:contrast_bg == "high" + hi Normal guibg=#121212 + else + hi Normal guibg=#303030 + endif +endif + +call s:AddCterm("Normal") + + +" ---------------------------------------------------------------------------- +" Extra setup +" ---------------------------------------------------------------------------- + +exec "set background=" . s:style + +" Clear default settings +for s:item in s:normal_items + s:bold_items + s:underline_items + s:undercurl_items + exec "hi " . s:item . " guifg=NONE guibg=NONE gui=none" + \ . " ctermfg=NONE ctermbg=NONE cterm=none term=none" +endfor + +let g:colors_name="lucius" + + +" ---------------------------------------------------------------------------- +" Text Markup: +" ---------------------------------------------------------------------------- + +if s:style == "light" + hi NonText guifg=#afafd7 + hi SpecialKey guifg=#afd7af + if s:contrast == "low" + hi Comment guifg=#9e9e9e + hi Conceal guifg=#9e9e9e + hi Constant guifg=#d78700 + hi Directory guifg=#00af87 + hi Identifier guifg=#00af00 + hi PreProc guifg=#00afaf + hi Special guifg=#af00af + hi Statement guifg=#0087d7 + hi Title guifg=#0087d7 + hi Type guifg=#0087af + else + hi Comment guifg=#808080 + hi Conceal guifg=#808080 + hi Constant guifg=#af5f00 + hi Directory guifg=#00875f + hi Identifier guifg=#008700 + hi PreProc guifg=#008787 + hi Special guifg=#870087 + hi Statement guifg=#005faf + hi Title guifg=#005faf + hi Type guifg=#005f87 + endif +else + hi NonText guifg=#5f5f87 + hi SpecialKey guifg=#5f875f + if s:contrast == "low" + hi Comment guifg=#6c6c6c + hi Conceal guifg=#6c6c6c + hi Constant guifg=#afaf87 + hi Directory guifg=#87af87 + hi Identifier guifg=#87af5f + hi PreProc guifg=#5faf87 + hi Special guifg=#af87af + hi Statement guifg=#5fafd7 + hi Title guifg=#00afd7 + hi Type guifg=#5fafaf + elseif s:contrast == "high" + hi Comment guifg=#8a8a8a + hi Conceal guifg=#8a8a8a + hi Constant guifg=#ffffd7 + hi Directory guifg=#d7ffd7 + hi Identifier guifg=#d7ffaf + hi PreProc guifg=#afffd7 + hi Special guifg=#ffd7ff + hi Statement guifg=#afffff + hi Title guifg=#87d7ff + hi Type guifg=#afffff + else + hi Comment guifg=#808080 + hi Conceal guifg=#808080 + hi Constant guifg=#d7d7af + hi Directory guifg=#afd7af + hi Identifier guifg=#afd787 + hi PreProc guifg=#87d7af + hi Special guifg=#d7afd7 + hi Statement guifg=#87d7ff + hi Title guifg=#5fafd7 + hi Type guifg=#87d7d7 + endif +endif + + +" ---------------------------------------------------------------------------- +" Highlighting: +" ---------------------------------------------------------------------------- + +hi Cursor guifg=bg +hi CursorColumn guifg=NONE +hi CursorIM guifg=bg +hi CursorLine guifg=NONE +hi Visual guifg=NONE +hi VisualNOS guifg=fg guibg=NONE +if s:style == "light" + hi CursorColumn guibg=#dadada + hi CursorLine guibg=#dadada + hi IncSearch guifg=fg guibg=#5fd7d7 + hi MatchParen guifg=NONE guibg=#5fd7d7 + hi Search guifg=fg guibg=#ffaf00 + hi Visual guibg=#afd7ff + if s:contrast == "low" + hi Cursor guibg=#87afd7 + hi CursorIM guibg=#87afd7 + hi Error guifg=#d70000 guibg=#ffd7d7 + hi Todo guifg=#af8700 guibg=#ffffaf + else + hi Cursor guibg=#5f87af + hi CursorIM guibg=#5f87af + hi Error guifg=#af0000 guibg=#d7afaf + hi Todo guifg=#875f00 guibg=#ffffaf + endif +else + hi CursorColumn guibg=#444444 + hi CursorLine guibg=#444444 + hi IncSearch guifg=bg + hi MatchParen guifg=fg guibg=#87af00 + hi Search guifg=bg + hi Visual guibg=#005f87 + if s:contrast == "low" + hi Cursor guibg=#5f87af + hi CursorIM guibg=#5f87af + hi Error guifg=#d75f5f guibg=#870000 + hi IncSearch guibg=#00afaf + hi Search guibg=#d78700 + hi Todo guifg=#afaf00 guibg=#5f5f00 + elseif s:contrast == "high" + hi Cursor guibg=#afd7ff + hi CursorIM guibg=#afd7ff + hi Error guifg=#ffafaf guibg=#af0000 + hi IncSearch guibg=#87ffff + hi Search guibg=#ffaf5f + hi Todo guifg=#ffff87 guibg=#87875f + else + hi Cursor guibg=#87afd7 + hi CursorIM guibg=#87afd7 + hi Error guifg=#ff8787 guibg=#870000 + hi IncSearch guibg=#5fd7d7 + hi Search guibg=#d78700 + hi Todo guifg=#d7d75f guibg=#5f5f00 + endif +endif + + +" ---------------------------------------------------------------------------- +" Messages: +" ---------------------------------------------------------------------------- + +hi Question guifg=fg +if s:style == "light" + if s:contrast == "low" + hi ErrorMsg guifg=#d70000 + hi ModeMsg guifg=#0087ff + hi MoreMsg guifg=#0087ff + hi WarningMsg guifg=#d78700 + else + hi ErrorMsg guifg=#af0000 + hi ModeMsg guifg=#005faf + hi MoreMsg guifg=#005faf + hi WarningMsg guifg=#af5f00 + endif +else + if s:contrast == "low" + hi ErrorMsg guifg=#d75f5f + hi ModeMsg guifg=#87afaf + hi MoreMsg guifg=#87afaf + hi WarningMsg guifg=#af875f + elseif s:contrast == "high" + hi ErrorMsg guifg=#ff8787 + hi ModeMsg guifg=#afffff + hi MoreMsg guifg=#afffff + hi WarningMsg guifg=#ffaf87 + else + hi ErrorMsg guifg=#ff5f5f + hi ModeMsg guifg=#afd7d7 + hi MoreMsg guifg=#afd7d7 + hi WarningMsg guifg=#d7875f + endif +endif + + +" ---------------------------------------------------------------------------- +" UI: +" ---------------------------------------------------------------------------- + +hi ColorColumn guifg=NONE +hi Pmenu guifg=bg +hi PmenuSel guifg=fg +hi PmenuThumb guifg=fg +hi StatusLine guifg=bg +hi TabLine guifg=bg +hi TabLineSel guifg=fg +hi WildMenu guifg=fg +if s:style == "light" + hi ColorColumn guibg=#e4e4e4 + hi CursorLineNr guifg=#626262 guibg=#dadada + hi FoldColumn guibg=#bcbcbc + hi Folded guibg=#bcbcbc + hi LineNr guifg=#9e9e9e guibg=#dadada + hi PmenuSel guibg=#afd7ff + hi SignColumn guibg=#d0d0d0 + hi StatusLineNC guifg=#dadada + hi TabLineFill guifg=#dadada + hi VertSplit guifg=#e4e4e4 + hi WildMenu guibg=#afd7ff + if s:contrast == "low" + hi FoldColumn guifg=#808080 + hi Folded guifg=#808080 + hi Pmenu guibg=#9e9e9e + hi PmenuSbar guifg=#9e9e9e guibg=#626262 + hi PmenuThumb guibg=#9e9e9e + hi SignColumn guifg=#808080 + hi StatusLine guibg=#9e9e9e + hi StatusLineNC guibg=#9e9e9e + hi TabLine guibg=#9e9e9e + hi TabLineFill guibg=#9e9e9e + hi TabLineSel guibg=#afd7ff + hi VertSplit guibg=#9e9e9e + else + hi FoldColumn guifg=#626262 + hi Folded guifg=#626262 + hi Pmenu guibg=#808080 + hi PmenuSbar guifg=#808080 guibg=#444444 + hi PmenuThumb guibg=#9e9e9e + hi SignColumn guifg=#626262 + hi StatusLine guibg=#808080 + hi StatusLineNC guibg=#808080 + hi TabLine guibg=#808080 + hi TabLineFill guibg=#808080 + hi TabLineSel guibg=#afd7ff + hi VertSplit guibg=#808080 + endif +else + hi ColorColumn guibg=#3a3a3a + hi CursorLineNr guifg=#9e9e9e guibg=#444444 + hi FoldColumn guibg=#4e4e4e + hi Folded guibg=#4e4e4e + hi LineNr guifg=#626262 guibg=#444444 + hi PmenuSel guibg=#005f87 + hi SignColumn guibg=#4e4e4e + hi StatusLineNC guifg=#4e4e4e + hi TabLineFill guifg=#4e4e4e + hi VertSplit guifg=#626262 + hi WildMenu guibg=#005f87 + if s:contrast == "low" + hi FoldColumn guifg=#a8a8a8 + hi Folded guifg=#a8a8a8 + hi Pmenu guibg=#8a8a8a + hi PmenuSbar guifg=#8a8a8a guibg=#bcbcbc + hi PmenuThumb guibg=#585858 + hi SignColumn guifg=#8a8a8a + hi StatusLine guibg=#8a8a8a + hi StatusLineNC guibg=#8a8a8a + hi TabLine guibg=#8a8a8a + hi TabLineFill guibg=#8a8a8a + hi TabLineSel guibg=#005f87 + hi VertSplit guibg=#8a8a8a + elseif s:contrast == "high" + hi FoldColumn guifg=#c6c6c6 + hi Folded guifg=#c6c6c6 + hi Pmenu guibg=#bcbcbc + hi PmenuSbar guifg=#bcbcbc guibg=#dadada + hi PmenuThumb guibg=#8a8a8a + hi SignColumn guifg=#bcbcbc + hi StatusLine guibg=#bcbcbc + hi StatusLineNC guibg=#bcbcbc + hi TabLine guibg=#bcbcbc + hi TabLineFill guibg=#bcbcbc + hi TabLineSel guibg=#0087af + hi VertSplit guibg=#bcbcbc + else + hi FoldColumn guifg=#bcbcbc + hi Folded guifg=#bcbcbc + hi Pmenu guibg=#b2b2b2 + hi PmenuSbar guifg=#b2b2b2 guibg=#d0d0d0 + hi PmenuThumb guibg=#808080 + hi SignColumn guifg=#b2b2b2 + hi StatusLine guibg=#b2b2b2 + hi StatusLineNC guibg=#b2b2b2 + hi TabLine guibg=#b2b2b2 + hi TabLineFill guibg=#b2b2b2 + hi TabLineSel guibg=#005f87 + hi VertSplit guibg=#b2b2b2 + endif +endif + + +" ---------------------------------------------------------------------------- +" Diff: +" ---------------------------------------------------------------------------- + +hi DiffAdd guifg=fg +hi DiffChange guifg=fg +hi DiffDelete guifg=fg + +if s:style == "light" + hi DiffAdd guibg=#afd7af + hi DiffChange guibg=#d7d7af + hi DiffDelete guibg=#d7afaf + hi DiffText guibg=#d7d7af + if s:contrast == "low" + hi DiffText guifg=#ff8700 + else + hi DiffText guifg=#d75f00 + endif +else + hi DiffAdd guibg=#5f875f + hi DiffChange guibg=#87875f + hi DiffDelete guibg=#875f5f + hi DiffText guibg=#87875f + if s:contrast == "low" + hi DiffText guifg=#d7d75f + else + hi DiffText guifg=#ffff87 + endif +endif + + +" ---------------------------------------------------------------------------- +" Spelling: +" ---------------------------------------------------------------------------- + +if s:style == "light" + hi SpellBad guisp=#d70000 + hi SpellCap guisp=#00afd7 + hi SpellLocal guisp=#d7af00 + hi SpellRare guisp=#5faf00 +else + hi SpellBad guisp=#ff5f5f + hi SpellCap guisp=#5fafd7 + hi SpellLocal guisp=#d7af5f + hi SpellRare guisp=#5faf5f +endif + + +" ---------------------------------------------------------------------------- +" Miscellaneous: +" ---------------------------------------------------------------------------- + +hi Ignore guifg=bg +hi Underlined guifg=fg + + +" ============================================================================ +" Text Emphasis: +" ============================================================================ + +if s:use_bold == 1 + for s:item in s:bold_items + exec "hi " . s:item . " gui=bold cterm=bold term=none" + endfor +endif + +if s:use_underline == 1 + for s:item in s:underline_items + exec "hi " . s:item . " gui=underline cterm=underline term=none" + endfor + for s:item in s:undercurl_items + exec "hi " . s:item . " cterm=underline" + endfor +endif + +for s:item in s:undercurl_items + exec "hi " . s:item . " gui=undercurl term=none" +endfor + + +" ============================================================================ +" Cterm Colors: +" ============================================================================ + +for s:item in s:normal_items + s:bold_items + s:underline_items + call s:AddCterm(s:item) +endfor + +for s:item in s:undercurl_items + call s:AddSpCterm(s:item) +endfor + +if s:no_term_bg == 1 + hi Normal ctermbg=NONE +endif + + +" ============================================================================ +" Alternative Bold Definitions: +" ============================================================================ + +let s:alternative_bold_items = ["Identifier", "PreProc", "Statement", + \ "Special", "Constant", "Type"] + +for s:item in s:alternative_bold_items + exec "let s:temp_gui_fg = synIDattr(synIDtrans(hlID('" . s:item . + \ "')), 'fg', 'gui')" + exec "let s:temp_cterm_fg = synIDattr(synIDtrans(hlID('" . s:item . + \ "')), 'fg', 'cterm')" + exec "hi B" . s:item . " guifg=" . s:temp_gui_fg . " ctermfg=" . + \ s:temp_cterm_fg . " gui=bold cterm=bold term=none" +endfor + + +" ============================================================================ +" Plugin Specific Colors: +" ============================================================================ + +" Tagbar: +hi link TagbarAccessPublic Constant +hi link TagbarAccessProtected Type +hi link TagbarAccessPrivate PreProc + +" Vimwiki: +hi link VimwikiHeader1 BIdentifier +hi link VimwikiHeader2 BPreProc +hi link VimwikiHeader3 BStatement +hi link VimwikiHeader4 BSpecial +hi link VimwikiHeader5 BConstant +hi link VimwikiHeader6 BType + +" CoC: +hi link CocErrorSign ErrorMsg +hi link CocErrorFloat Pmenu +hi link CocWarningSign WarningMsg +hi link CocWarningFloat Pmenu +hi link CocInfoSign MoreMsg +hi link CocInfoFloat Pmenu +hi link CocHintFloat Directory +hi link CocHintFloat Pmenu + +" ============================================================================ +" Preset Commands: +" ============================================================================ + +function! SetLucius(style, contrast, contrast_bg) + let g:lucius_style = a:style + let g:lucius_contrast = a:contrast + let g:lucius_contrast_bg = a:contrast_bg +endfunction + +command! LuciusLight call SetLucius("light", "normal", "normal") + \ | colorscheme lucius +command! LuciusLightLowContrast call SetLucius("light", "low", "normal") + \ | colorscheme lucius +command! LuciusLightHighContrast call SetLucius("light", "high", "normal") + \ | colorscheme lucius + +command! LuciusWhite call SetLucius("light", "normal", "high") + \ | colorscheme lucius +command! LuciusWhiteLowContrast call SetLucius("light", "low", "high") + \ | colorscheme lucius +command! LuciusWhiteHighContrast call SetLucius("light", "high", "high") + \ | colorscheme lucius + +command! LuciusDark call SetLucius("dark", "normal", "normal") + \ | colorscheme lucius +command! LuciusDarkLowContrast call SetLucius("dark", "low", "normal") + \ | colorscheme lucius +command! LuciusDarkHighContrast call SetLucius("dark", "high", "normal") + \ | colorscheme lucius + +command! LuciusBlack call SetLucius("dark", "normal", "high") + \ | colorscheme lucius +command! LuciusBlackLowContrast call SetLucius("dark", "low", "high") + \ | colorscheme lucius +command! LuciusBlackHighContrast call SetLucius("dark", "high", "high") + \ | colorscheme lucius + +" vim: tw=78 diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/materialbox.vim b/nvim/plugged/awesome-vim-colorschemes/colors/materialbox.vim new file mode 100644 index 00000000..c69c4c57 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/materialbox.vim @@ -0,0 +1,1214 @@ +" ----------------------------------------------------------------------------- +" File: materialbox.vim +" Description: Material color scheme using gruvbox as a skel +" Author: mkarmona <mkarmona@gmail.com> +" Source: https://github.com/mkarmona/materialbox +" Last Modified: 22 Oct 2015 +" ----------------------------------------------------------------------------- + +" Supporting code ------------------------------------------------------------- +" Initialisation: {{{ + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name='materialbox' + +if !has('gui_running') && &t_Co != 256 + finish +endif + +" }}} +" Global Settings: {{{ + +if !exists('g:materialbox_bold') + let g:materialbox_bold=1 +endif +if !exists('g:materialbox_italic') + if has('gui_running') || $TERM_ITALICS == 'true' + let g:materialbox_italic=1 + else + let g:materialbox_italic=0 + endif +endif +if !exists('g:materialbox_undercurl') + let g:materialbox_undercurl=1 +endif +if !exists('g:materialbox_underline') + let g:materialbox_underline=1 +endif +if !exists('g:materialbox_inverse') + let g:materialbox_inverse=1 +endif + +if !exists('g:materialbox_guisp_fallback') || index(['fg', 'bg'], g:materialbox_guisp_fallback) == -1 + let g:materialbox_guisp_fallback='NONE' +endif + +if !exists('g:materialbox_improved_strings') + let g:materialbox_improved_strings=0 +endif + +if !exists('g:materialbox_improved_warnings') + let g:materialbox_improved_warnings=0 +endif + +if !exists('g:materialbox_termcolors') + let g:materialbox_termcolors=256 +endif + +if !exists('g:materialbox_invert_indent_guides') + let g:materialbox_invert_indent_guides=0 +endif + +if exists('g:materialbox_contrast') + echo 'g:materialbox_contrast is deprecated; use g:materialbox_contrast_light and g:materialbox_contrast_dark instead' +endif + +if !exists('g:materialbox_contrast_dark') + let g:materialbox_contrast_dark='medium' +endif + +if !exists('g:materialbox_contrast_light') + let g:materialbox_contrast_light='medium' +endif + +let s:is_dark=(&background == 'dark') + +" }}} +" Palette: {{{ + +" setup palette dictionary +let s:gb = {} + +" fill it with absolute colors +let s:gb.dark0_hard = ['#1d272b', 234] " 29-32-33 +let s:gb.dark0 = ['#263238', 235] " 40-40-40 +let s:gb.dark0_soft = ['#2f3d45', 236] " 50-48-47 +let s:gb.dark1 = ['#37474F', 237] " 60-56-54 +let s:gb.dark2 = ['#455a64', 239] " 80-73-69 +let s:gb.dark3 = ['#546e7a', 241] " 102-92-84 +let s:gb.dark4 = ['#607d8b', 243] " 124-111-100 +let s:gb.dark4_256 = ['#607d8b', 243] " 124-111-100 + +"let s:gb.gray_245 = ['#B0BEC5', 245] " 146-131-116 dark +let s:gb.gray_245 = ['#90A4AE', 245] " 146-131-116 dark +"let s:gb.gray_244 = ['#455a64', 244] " 146-131-116 light +let s:gb.gray_244 = ['#546E7A', 244] " 146-131-116 light + +let s:gb.light0_hard = ['#fafdff', 230] " 249-245-215 dark +let s:gb.light0 = ['#eceff1', 229] " 253-244-193 +let s:gb.light0_soft = ['#e1e4e6', 228] " 242-229-188 +let s:gb.light1 = ['#cfd8dc', 223] " 235-219-178 +let s:gb.light2 = ['#b0bec5', 250] " 213-196-161 +let s:gb.light3 = ['#90a4ae', 248] " 189-174-147 +let s:gb.light4 = ['#78909c', 246] " 168-153-132 +let s:gb.light4_256 = ['#78909c', 246] " 168-153-132 + +let s:gb.bright_red = ['#e57373', 167] " 251-73-52 +let s:gb.bright_green = ['#81c784', 142] " 184-187-38 +let s:gb.bright_yellow = ['#FFF176', 214] " 250-189-47 +let s:gb.bright_blue = ['#64b5f6', 109] " 131-165-152 +let s:gb.bright_purple = ['#CE93D8', 175] " 211-134-155 +let s:gb.bright_aqua = ['#C5CAE9', 108] " 142-192-124 +let s:gb.bright_orange = ['#ffb74d', 208] " 254-128-25 + +let s:gb.neutral_red = ['#e53935', 124] " 204-36-29 +let s:gb.neutral_green = ['#43a047', 106] " 152-151-26 +let s:gb.neutral_yellow = ['#FDD835', 172] " 215-153-33 +let s:gb.neutral_blue = ['#1e88e5', 66] " 69-133-136 +let s:gb.neutral_purple = ['#8e24aa', 132] " 177-98-134 +let s:gb.neutral_aqua = ['#3949AB', 72] " 104-157-106 +let s:gb.neutral_orange = ['#fb8c00', 166] " 214-93-14 + +let s:gb.faded_red = ['#c62828', 88] " 157-0-6 light +let s:gb.faded_green = ['#2e7d32', 100] " 121-116-14 +"let s:gb.faded_yellow = ['#F57F17', 136] " 181-118-20 +let s:gb.faded_yellow = ['#FFA000', 136] " 181-118-20 +let s:gb.faded_blue = ['#1565c0', 24] " 7-102-120 +let s:gb.faded_purple = ['#6a1b9a', 96] " 143-63-113 +let s:gb.faded_aqua = ['#303F9F', 66] " 66-123-88 +let s:gb.faded_orange = ['#E65100', 130] " 175-58-3 + +" }}} +" Setup Emphasis: {{{ + +let s:bold = 'bold,' +if g:materialbox_bold == 0 + let s:bold = '' +endif + +let s:italic = 'italic,' +if g:materialbox_italic == 0 + let s:italic = '' +endif + +let s:underline = 'underline,' +if g:materialbox_underline == 0 + let s:underline = '' +endif + +let s:undercurl = 'undercurl,' +if g:materialbox_undercurl == 0 + let s:undercurl = '' +endif + +let s:inverse = 'inverse,' +if g:materialbox_inverse == 0 + let s:inverse = '' +endif + +" }}} +" Setup Colors: {{{ + +let s:vim_bg = ['bg', 'bg'] +let s:vim_fg = ['fg', 'fg'] +let s:none = ['NONE', 'NONE'] + +" determine relative colors +if s:is_dark + let s:bg0 = s:gb.dark0 + if g:materialbox_contrast_dark == 'soft' + let s:bg0 = s:gb.dark0_soft + elseif g:materialbox_contrast_dark == 'hard' + let s:bg0 = s:gb.dark0_hard + endif + + let s:bg1 = s:gb.dark1 + let s:bg2 = s:gb.dark2 + let s:bg3 = s:gb.dark3 + let s:bg4 = s:gb.dark4 + + let s:gray = s:gb.gray_245 + + let s:fg0 = s:gb.light0 + let s:fg1 = s:gb.light1 + let s:fg2 = s:gb.light2 + let s:fg3 = s:gb.light3 + let s:fg4 = s:gb.light4 + + let s:fg4_256 = s:gb.light4_256 + + let s:red = s:gb.bright_red + let s:green = s:gb.bright_green + let s:yellow = s:gb.bright_yellow + let s:blue = s:gb.bright_blue + let s:purple = s:gb.bright_purple + let s:aqua = s:gb.bright_aqua + let s:orange = s:gb.bright_orange +else + let s:bg0 = s:gb.light0 + if g:materialbox_contrast_light == 'soft' + let s:bg0 = s:gb.light0_soft + elseif g:materialbox_contrast_light == 'hard' + let s:bg0 = s:gb.light0_hard + endif + + let s:bg1 = s:gb.light1 + let s:bg2 = s:gb.light2 + let s:bg3 = s:gb.light3 + let s:bg4 = s:gb.light4 + + let s:gray = s:gb.gray_244 + + let s:fg0 = s:gb.dark0 + let s:fg1 = s:gb.dark1 + let s:fg2 = s:gb.dark2 + let s:fg3 = s:gb.dark3 + let s:fg4 = s:gb.dark4 + + let s:fg4_256 = s:gb.dark4_256 + + let s:red = s:gb.faded_red + let s:green = s:gb.faded_green + let s:yellow = s:gb.faded_yellow + let s:blue = s:gb.faded_blue + let s:purple = s:gb.faded_purple + let s:aqua = s:gb.faded_aqua + let s:orange = s:gb.faded_orange +endif + +" reset to 16 colors fallback +if g:materialbox_termcolors == 16 + let s:bg0[1] = 0 + let s:fg4[1] = 7 + let s:gray[1] = 8 + let s:red[1] = 9 + let s:green[1] = 10 + let s:yellow[1] = 11 + let s:blue[1] = 12 + let s:purple[1] = 13 + let s:aqua[1] = 14 + let s:fg1[1] = 15 +endif + +" save current relative colors back to palette dictionary +let s:gb.bg0 = s:bg0 +let s:gb.bg1 = s:bg1 +let s:gb.bg2 = s:bg2 +let s:gb.bg3 = s:bg3 +let s:gb.bg4 = s:bg4 + +let s:gb.gray = s:gray + +let s:gb.fg0 = s:fg0 +let s:gb.fg1 = s:fg1 +let s:gb.fg2 = s:fg2 +let s:gb.fg3 = s:fg3 +let s:gb.fg4 = s:fg4 + +let s:gb.fg4_256 = s:fg4_256 + +let s:gb.red = s:red +let s:gb.green = s:green +let s:gb.yellow = s:yellow +let s:gb.blue = s:blue +let s:gb.purple = s:purple +let s:gb.aqua = s:aqua +let s:gb.orange = s:orange + +" }}} + +" Overload Setting: {{{ + +let s:hls_cursor = s:orange +if exists('g:materialbox_hls_cursor') + let s:hls_cursor = get(s:gb, g:materialbox_hls_cursor) +endif + +"let s:number_column = s:bg4 +let s:number_column = s:gray +let s:sign_column = s:bg1 + +if exists('g:gitgutter_override_sign_column_highlight') && + \ g:gitgutter_override_sign_column_highlight == 1 + let s:sign_column = s:number_column +else + let g:gitgutter_override_sign_column_highlight = 0 + + if exists('g:materialbox_sign_column') + let s:sign_column = get(s:gb, g:materialbox_sign_column) + endif +endif + +let s:color_column = s:bg1 +if exists('g:materialbox_color_column') + let s:color_column = get(s:gb, g:materialbox_color_column) +endif + +let s:vert_split = s:bg2 +if exists('g:materialbox_vert_split') + let s:vert_split = get(s:gb, g:materialbox_vert_split) +endif + +let s:invert_signs = '' +if exists('g:materialbox_invert_signs') + if g:materialbox_invert_signs == 1 + let s:invert_signs = s:inverse + endif +endif + +let s:invert_selection = s:inverse +if exists('g:materialbox_invert_selection') + if g:materialbox_invert_selection == 0 + let s:invert_selection = '' + endif +endif + +let s:invert_tabline = '' +if exists('g:materialbox_invert_tabline') + if g:materialbox_invert_tabline == 1 + let s:invert_tabline = s:inverse + endif +endif + +let s:italicize_comments = s:italic +if exists('g:materialbox_italicize_comments') + if g:materialbox_italicize_comments == 0 + let s:italicize_comments = '' + endif +endif + +let s:italicize_strings = '' +if exists('g:materialbox_italicize_strings') + if g:materialbox_italicize_strings == 1 + let s:italicize_strings = s:italic + endif +endif + +" }}} +" Highlighting Function: {{{ + +function! s:HL(group, fg, ...) + " Arguments: group, guifg, guibg, gui, guisp + + " foreground + let fg = a:fg + + " background + if a:0 >= 1 + let bg = a:1 + else + let bg = s:none + endif + + " emphasis + if a:0 >= 2 && strlen(a:2) + let emstr = a:2 + else + let emstr = 'NONE,' + endif + + " special fallback + if a:0 >= 3 + if g:materialbox_guisp_fallback != 'NONE' + let fg = a:3 + endif + + " bg fallback mode should invert higlighting + if g:materialbox_guisp_fallback == 'bg' + let emstr .= 'inverse,' + endif + endif + + let histring = [ 'hi', a:group, + \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], + \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], + \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] + \ ] + + " special + if a:0 >= 3 + call add(histring, 'guisp=' . a:3[0]) + endif + + execute join(histring, ' ') +endfunction + +" }}} +" materialbox Hi Groups: {{{ + +" memoize common hi groups +call s:HL('materialboxFg0', s:fg0) +call s:HL('materialboxFg1', s:fg1) +call s:HL('materialboxFg3', s:fg3) +call s:HL('materialboxFg4', s:fg4) +call s:HL('materialboxGray', s:gray) +call s:HL('materialboxBg2', s:bg2) + +call s:HL('materialboxRed', s:red) +call s:HL('materialboxRedBold', s:red, s:none, s:bold) +call s:HL('materialboxGreen', s:green) +call s:HL('materialboxGreenBold', s:green, s:none, s:bold) +call s:HL('materialboxYellow', s:yellow) +call s:HL('materialboxYellowBold', s:yellow, s:none, s:bold) +call s:HL('materialboxBlue', s:blue) +" call s:HL('materialboxBlueBold', s:blue, s:none, s:bold) +call s:HL('materialboxPurple', s:purple) +" call s:HL('materialboxPurpleBold', s:purple, s:none, s:bold) +call s:HL('materialboxAqua', s:aqua) +call s:HL('materialboxAquaBold', s:aqua, s:none, s:bold) +call s:HL('materialboxOrange', s:orange) +call s:HL('materialboxOrangeBold', s:orange, s:none, s:bold) + +call s:HL('materialboxRedSign', s:red, s:sign_column, s:invert_signs) +call s:HL('materialboxGreenSign', s:green, s:sign_column, s:invert_signs) +call s:HL('materialboxYellowSign', s:yellow, s:sign_column, s:invert_signs) +call s:HL('materialboxBlueSign', s:blue, s:sign_column, s:invert_signs) +call s:HL('materialboxPurpleSign', s:purple, s:sign_column, s:invert_signs) +call s:HL('materialboxAquaSign', s:aqua, s:sign_column, s:invert_signs) + +" }}} + +" Vanilla colorscheme --------------------------------------------------------- +" General UI: {{{ + +" Normal text +call s:HL('Normal', s:fg0, s:bg0) + +" Correct background (see issue #7): +" --- Problem with changing between dark and light on 256 color terminal +" --- https://github.com/morhetz/materialbox/issues/7 +if s:is_dark + set background=dark +else + set background=light +endif + +if version >= 700 + " Screen line that the cursor is + call s:HL('CursorLine', s:none, s:bg1) + " Screen column that the cursor is + hi! link CursorColumn CursorLine + + " Tab pages line filler + call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline) + " Active tab page label + call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline) + " Not active tab page label + hi! link TabLine TabLineFill + + " Match paired bracket under the cursor + call s:HL('MatchParen', s:none, s:bg3, s:bold) +endif + +if version >= 703 + " Highlighted screen columns + call s:HL('ColorColumn', s:none, s:color_column) + + " Concealed element: \lambda → λ + call s:HL('Conceal', s:blue, s:none) + + " Line number of CursorLine + "call s:HL('CursorLineNr', s:yellow, s:bg1) + call s:HL('CursorLineNr', s:fg0, s:bg1) +endif + +hi! link NonText materialboxBg2 +hi! link SpecialKey materialboxBg2 + +call s:HL('Visual', s:none, s:bg3, s:invert_selection) +hi! link VisualNOS Visual + +call s:HL('Search', s:bg0, s:yellow) +call s:HL('IncSearch', s:bg0, s:hls_cursor) + +call s:HL('Underlined', s:blue, s:none, s:underline) + +call s:HL('StatusLine', s:bg4, s:bg0, s:bold . s:inverse) +call s:HL('StatusLineNC', s:bg2, s:fg4, s:bold . s:inverse) + +" The column separating vertically split windows +call s:HL('VertSplit', s:fg4, s:vert_split) + +" Current match in wildmenu completion +call s:HL('WildMenu', s:blue, s:bg2, s:bold) + +" Directory names, special names in listing +hi! link Directory materialboxGreenBold + +" Titles for output from :set all, :autocmd, etc. +hi! link Title materialboxGreenBold + +" Error messages on the command line +call s:HL('ErrorMsg', s:vim_bg, s:red, s:bold) +" More prompt: -- More -- +hi! link MoreMsg materialboxYellowBold +" Current mode message: -- INSERT -- +hi! link ModeMsg materialboxYellowBold +" 'Press enter' prompt and yes/no questions +hi! link Question materialboxOrangeBold +" Warning messages +hi! link WarningMsg materialboxRedBold + +" }}} +" Gutter: {{{ + +" Line number for :number and :# commands +call s:HL('LineNr', s:number_column) + +" Column where signs are displayed +call s:HL('SignColumn', s:none, s:sign_column) + +" Line used for closed folds +call s:HL('Folded', s:gray, s:bg1, s:italic) +" Column where folds are displayed +call s:HL('FoldColumn', s:gray, s:bg1) + +" }}} +" Cursor: {{{ + +" Character under cursor +call s:HL('Cursor', s:none, s:none, s:inverse) +" Visual mode cursor, selection +hi! link vCursor Cursor +" Input moder cursor +hi! link iCursor Cursor +" Language mapping cursor +hi! link lCursor Cursor + +" }}} +" Syntax Highlighting: {{{ + +if g:materialbox_improved_strings == 0 + hi! link Special materialboxOrange +else + call s:HL('Special', s:bg1, s:orange, s:italic) +endif + +call s:HL('Comment', s:gray, s:none, s:italicize_comments) +call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) + +" Generic statement +hi! link Statement materialboxRed +" if, then, else, endif, swicth, etc. +hi! link Conditional materialboxRed +" for, do, while, etc. +hi! link Repeat materialboxRed +" case, default, etc. +hi! link Label materialboxRed +" try, catch, throw +hi! link Exception materialboxRed +" sizeof, "+", "*", etc. +hi! link Operator Normal +" Any other keyword +hi! link Keyword materialboxRed + +" Variable name +hi! link Identifier materialboxBlue +" Function name +hi! link Function materialboxGreenBold + +" Generic preprocessor +hi! link PreProc materialboxAqua +" Preprocessor #include +hi! link Include materialboxAqua +" Preprocessor #define +hi! link Define materialboxAqua +" Same as Define +hi! link Macro materialboxAqua +" Preprocessor #if, #else, #endif, etc. +hi! link PreCondit materialboxAqua + +" Generic constant +hi! link Constant materialboxPurple +" Character constant: 'c', '/n' +hi! link Character materialboxPurple +" String constant: "this is a string" +if g:materialbox_improved_strings == 0 + call s:HL('String', s:green, s:none, s:italicize_strings) +else + call s:HL('String', s:bg1, s:fg1, s:italicize_strings) +endif +" Boolean constant: TRUE, false +hi! link Boolean materialboxPurple +" Number constant: 234, 0xff +hi! link Number materialboxPurple +" Floating point constant: 2.3e10 +hi! link Float materialboxPurple + +" Generic type +hi! link Type materialboxYellow +" static, register, volatile, etc +hi! link StorageClass materialboxOrange +" struct, union, enum, etc. +hi! link Structure materialboxAqua +" typedef +hi! link Typedef materialboxYellow + +" }}} +" Completion Menu: {{{ + +if version >= 700 + " Popup menu: normal item + call s:HL('Pmenu', s:fg1, s:bg2) + " Popup menu: selected item + call s:HL('PmenuSel', s:bg2, s:blue, s:bold) + " Popup menu: scrollbar + call s:HL('PmenuSbar', s:none, s:bg2) + " Popup menu: scrollbar thumb + call s:HL('PmenuThumb', s:none, s:bg4) +endif + +" }}} +" Diffs: {{{ + +call s:HL('DiffDelete', s:red, s:bg0, s:inverse) +call s:HL('DiffAdd', s:green, s:bg0, s:inverse) +"call s:HL('DiffChange', s:bg0, s:blue) +"call s:HL('DiffText', s:bg0, s:yellow) + +" Alternative setting +call s:HL('DiffChange', s:aqua, s:bg0, s:inverse) +call s:HL('DiffText', s:yellow, s:bg0, s:inverse) + +" }}} +" Spelling: {{{ + +if has("spell") + " Not capitalised word, or compile warnings + if g:materialbox_improved_warnings == 0 + call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) + else + call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) + endif + " Not recognized word + call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) + " Wrong spelling for selected region + call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) + " Rare word + call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) +endif + +" }}} + +" Plugin specific ------------------------------------------------------------- +" EasyMotion: {{{ + +hi! link EasyMotionTarget Search +hi! link EasyMotionShade Comment + +" }}} +" Sneak: {{{ + +hi! link SneakPluginTarget Search +hi! link SneakStreakTarget Search +call s:HL('SneakStreakMask', s:yellow, s:yellow) +hi! link SneakStreakStatusLine Search + +" }}} +" Indent Guides: {{{ + +if !exists('g:indent_guides_auto_colors') + let g:indent_guides_auto_colors = 0 +endif + +if g:indent_guides_auto_colors == 0 + if g:materialbox_invert_indent_guides == 0 + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) + else + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) + endif +endif + +" }}} +" IndentLine: {{{ + +if !exists('g:indentLine_color_term') + let g:indentLine_color_term = s:bg2[1] +endif +if !exists('g:indentLine_color_gui') + let g:indentLine_color_gui = s:bg2[0] +endif + +" }}} +" Rainbow Parentheses: {{{ + +if !exists('g:rbpt_colorpairs') + let g:rbpt_colorpairs = + \ [ + \ ['blue', '#458588'], ['magenta', '#b16286'], + \ ['red', '#cc241d'], ['166', '#d65d0e'] + \ ] +endif + +let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] +let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] + +if !exists('g:rainbow_conf') + let g:rainbow_conf = {} +endif +if !has_key(g:rainbow_conf, 'guifgs') + let g:rainbow_conf['guifgs'] = g:rainbow_guifgs +endif +if !has_key(g:rainbow_conf, 'ctermfgs') + let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs +endif + +let g:niji_dark_colours = g:rbpt_colorpairs +let g:niji_light_colours = g:rbpt_colorpairs + +"}}} +" GitGutter: {{{ + +hi! link GitGutterAdd materialboxGreenSign +hi! link GitGutterChange materialboxAquaSign +hi! link GitGutterDelete materialboxRedSign +hi! link GitGutterChangeDelete materialboxAquaSign + +" }}} +" GitCommit: "{{{ + +hi! link gitcommitSelectedFile materialboxGreen +hi! link gitcommitDiscardedFile materialboxRed + +" }}} +" Signify: {{{ + +hi! link SignifySignAdd materialboxGreenSign +hi! link SignifySignChange materialboxAquaSign +hi! link SignifySignDelete materialboxRedSign + +" }}} +" Syntastic: {{{ + +call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) +call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) + +hi! link SyntasticErrorSign materialboxRedSign +hi! link SyntasticWarningSign materialboxYellowSign + +" }}} +" Signature: {{{ + +hi! link SignatureMarkerText materialboxPurpleSign +hi! link SignatureMarkText materialboxBlueSign + +let g:SignatureMarkerTextHL='"SignatureMarkerText"' +let g:SignatureMarkTextHL='"SignatureMarkText"' + +" }}} +" ShowMarks: {{{ + +hi! link ShowMarksHLl materialboxBlueSign +hi! link ShowMarksHLu materialboxBlueSign +hi! link ShowMarksHLo materialboxBlueSign +hi! link ShowMarksHLm materialboxBlueSign + +" }}} +" CtrlP: {{{ + +hi! link CtrlPMatch materialboxYellow +hi! link CtrlPNoEntries materialboxRed +hi! link CtrlPPrtBase materialboxBg2 +hi! link CtrlPPrtCursor materialboxBlue +hi! link CtrlPLinePre materialboxBg2 + +call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold) +call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold) +call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold) + +" }}} +" Startify: {{{ + +hi! link StartifyBracket materialboxFg3 +hi! link StartifyFile materialboxFg0 +hi! link StartifyNumber materialboxBlue +hi! link StartifyPath materialboxGray +hi! link StartifySlash materialboxGray +hi! link StartifySection materialboxYellow +hi! link StartifySpecial materialboxBg2 +hi! link StartifyHeader materialboxOrange +hi! link StartifyFooter materialboxBg2 + +" }}} +" Vimshell: {{{ + +let g:vimshell_escape_colors = [ + \ s:bg4[0], s:red[0], s:green[0], s:yellow[0], + \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0], + \ s:bg0[0], s:red[0], s:green[0], s:orange[0], + \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0] + \ ] + +" }}} + +" Filetype specific ----------------------------------------------------------- +" Diff: {{{ + +hi! link diffAdded materialboxGreen +hi! link diffRemoved materialboxRed +hi! link diffChanged materialboxAqua + +hi! link diffFile materialboxOrange +hi! link diffNewFile materialboxYellow + +hi! link diffLine materialboxBlue + +" }}} +" Html: {{{ + +hi! link htmlTag materialboxBlue +hi! link htmlEndTag materialboxBlue + +hi! link htmlTagName materialboxAquaBold +hi! link htmlArg materialboxAqua + +hi! link htmlScriptTag materialboxPurple +hi! link htmlTagN materialboxFg1 +hi! link htmlSpecialTagName materialboxAquaBold + +call s:HL('htmlLink', s:fg4, s:none, s:underline) + +hi! link htmlSpecialChar materialboxOrange + +call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) +call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) +call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) + +call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) +call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) +call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) + +" }}} +" Xml: {{{ + +hi! link xmlTag materialboxBlue +hi! link xmlEndTag materialboxBlue +hi! link xmlTagName materialboxBlue +hi! link xmlEqual materialboxBlue +hi! link docbkKeyword materialboxAquaBold + +hi! link xmlDocTypeDecl materialboxGray +hi! link xmlDocTypeKeyword materialboxPurple +hi! link xmlCdataStart materialboxGray +hi! link xmlCdataCdata materialboxPurple +hi! link dtdFunction materialboxGray +hi! link dtdTagName materialboxPurple + +hi! link xmlAttrib materialboxAqua +hi! link xmlProcessingDelim materialboxGray +hi! link dtdParamEntityPunct materialboxGray +hi! link dtdParamEntityDPunct materialboxGray +hi! link xmlAttribPunct materialboxGray + +hi! link xmlEntity materialboxOrange +hi! link xmlEntityPunct materialboxOrange +" }}} +" Vim: {{{ + +call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) + +hi! link vimNotation materialboxOrange +hi! link vimBracket materialboxOrange +hi! link vimMapModKey materialboxOrange +hi! link vimFuncSID materialboxFg3 +hi! link vimSetSep materialboxFg3 +hi! link vimSep materialboxFg3 +hi! link vimContinue materialboxFg3 + +" }}} +" Clojure: {{{ + +hi! link clojureKeyword materialboxBlue +hi! link clojureCond materialboxOrange +hi! link clojureSpecial materialboxOrange +hi! link clojureDefine materialboxOrange + +hi! link clojureFunc materialboxYellow +hi! link clojureRepeat materialboxYellow +hi! link clojureCharacter materialboxAqua +hi! link clojureStringEscape materialboxAqua +hi! link clojureException materialboxRed + +hi! link clojureRegexp materialboxAqua +hi! link clojureRegexpEscape materialboxAqua +call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) +hi! link clojureRegexpMod clojureRegexpCharClass +hi! link clojureRegexpQuantifier clojureRegexpCharClass + +hi! link clojureParen materialboxFg3 +hi! link clojureAnonArg materialboxYellow +hi! link clojureVariable materialboxBlue +hi! link clojureMacro materialboxOrange + +hi! link clojureMeta materialboxYellow +hi! link clojureDeref materialboxYellow +hi! link clojureQuote materialboxYellow +hi! link clojureUnquote materialboxYellow + +" }}} +" C: {{{ + +hi! link cOperator materialboxPurple +hi! link cStructure materialboxOrange + +" }}} +" Python: {{{ + +hi! link pythonBuiltin materialboxOrange +hi! link pythonBuiltinObj materialboxOrange +hi! link pythonBuiltinFunc materialboxOrange +hi! link pythonFunction materialboxAqua +hi! link pythonDecorator materialboxRed +hi! link pythonInclude materialboxBlue +hi! link pythonImport materialboxBlue +hi! link pythonRun materialboxBlue +hi! link pythonCoding materialboxBlue +hi! link pythonOperator materialboxRed +hi! link pythonExceptions materialboxPurple +hi! link pythonBoolean materialboxPurple +hi! link pythonDot materialboxFg3 + +" }}} +" CSS: {{{ + +hi! link cssBraces materialboxBlue +hi! link cssFunctionName materialboxYellow +hi! link cssIdentifier materialboxOrange +hi! link cssClassName materialboxGreen +hi! link cssColor materialboxBlue +hi! link cssSelectorOp materialboxBlue +hi! link cssSelectorOp2 materialboxBlue +hi! link cssImportant materialboxGreen +hi! link cssVendor materialboxFg1 + +hi! link cssTextProp materialboxAqua +hi! link cssAnimationProp materialboxAqua +hi! link cssUIProp materialboxYellow +hi! link cssTransformProp materialboxAqua +hi! link cssTransitionProp materialboxAqua +hi! link cssPrintProp materialboxAqua +hi! link cssPositioningProp materialboxYellow +hi! link cssBoxProp materialboxAqua +hi! link cssFontDescriptorProp materialboxAqua +hi! link cssFlexibleBoxProp materialboxAqua +hi! link cssBorderOutlineProp materialboxAqua +hi! link cssBackgroundProp materialboxAqua +hi! link cssMarginProp materialboxAqua +hi! link cssListProp materialboxAqua +hi! link cssTableProp materialboxAqua +hi! link cssFontProp materialboxAqua +hi! link cssPaddingProp materialboxAqua +hi! link cssDimensionProp materialboxAqua +hi! link cssRenderProp materialboxAqua +hi! link cssColorProp materialboxAqua +hi! link cssGeneratedContentProp materialboxAqua + +" }}} +" JavaScript: {{{ + +hi! link javaScriptBraces materialboxFg1 +hi! link javaScriptFunction materialboxAqua +hi! link javaScriptIdentifier materialboxRed +hi! link javaScriptMember materialboxBlue +hi! link javaScriptNumber materialboxPurple +hi! link javaScriptNull materialboxPurple +hi! link javaScriptParens materialboxFg3 + +" }}} +" YAJS: {{{ + +hi! link javascriptImport materialboxAqua +hi! link javascriptExport materialboxAqua +hi! link javascriptClassKeyword materialboxAqua +hi! link javascriptClassExtends materialboxAqua +hi! link javascriptDefault materialboxAqua + +hi! link javascriptClassName materialboxYellow +hi! link javascriptClassSuperName materialboxYellow +hi! link javascriptGlobal materialboxYellow + +hi! link javascriptEndColons materialboxFg1 +hi! link javascriptFuncArg materialboxFg1 +hi! link javascriptGlobalMethod materialboxFg1 +hi! link javascriptNodeGlobal materialboxFg1 + +" hi! link javascriptVariable materialboxOrange +hi! link javascriptVariable materialboxRed +" hi! link javascriptIdentifier materialboxOrange +" hi! link javascriptClassSuper materialboxOrange +hi! link javascriptIdentifier materialboxOrange +hi! link javascriptClassSuper materialboxOrange + +" hi! link javascriptFuncKeyword materialboxOrange +" hi! link javascriptAsyncFunc materialboxOrange +hi! link javascriptFuncKeyword materialboxAqua +hi! link javascriptAsyncFunc materialboxAqua +hi! link javascriptClassStatic materialboxOrange + +hi! link javascriptOperator materialboxRed +hi! link javascriptForOperator materialboxRed +hi! link javascriptYield materialboxRed +hi! link javascriptExceptions materialboxRed +hi! link javascriptMessage materialboxRed + +hi! link javascriptTemplateSB materialboxAqua +hi! link javascriptTemplateSubstitution materialboxFg1 + +" hi! link javascriptLabel materialboxBlue +" hi! link javascriptObjectLabel materialboxBlue +" hi! link javascriptPropertyName materialboxBlue +hi! link javascriptLabel materialboxFg1 +hi! link javascriptObjectLabel materialboxFg1 +hi! link javascriptPropertyName materialboxFg1 + +hi! link javascriptLogicSymbols materialboxFg1 +hi! link javascriptArrowFunc materialboxFg1 + +hi! link javascriptDocParamName materialboxFg4 +hi! link javascriptDocTags materialboxFg4 +hi! link javascriptDocNotation materialboxFg4 +hi! link javascriptDocParamType materialboxFg4 +hi! link javascriptDocNamedParamType materialboxFg4 + +" }}} +" CoffeeScript: {{{ + +hi! link coffeeExtendedOp materialboxFg3 +hi! link coffeeSpecialOp materialboxFg3 +hi! link coffeeCurly materialboxOrange +hi! link coffeeParen materialboxFg3 +hi! link coffeeBracket materialboxOrange + +" }}} +" Ruby: {{{ + +hi! link rubyStringDelimiter materialboxGreen +hi! link rubyInterpolationDelimiter materialboxAqua + +" }}} +" ObjectiveC: {{{ + +hi! link objcTypeModifier materialboxRed +hi! link objcDirective materialboxBlue + +" }}} +" Go: {{{ + +hi! link goDirective materialboxAqua +hi! link goConstants materialboxPurple +hi! link goDeclaration materialboxRed +hi! link goDeclType materialboxBlue +hi! link goBuiltins materialboxOrange + +" }}} +" Lua: {{{ + +hi! link luaIn materialboxRed +hi! link luaFunction materialboxAqua +hi! link luaTable materialboxOrange + +" }}} +" MoonScript: {{{ + +hi! link moonSpecialOp materialboxFg3 +hi! link moonExtendedOp materialboxFg3 +hi! link moonFunction materialboxFg3 +hi! link moonObject materialboxYellow + +" }}} +" Java: {{{ + +hi! link javaAnnotation materialboxBlue +hi! link javaDocTags materialboxAqua +hi! link javaCommentTitle vimCommentTitle +hi! link javaParen materialboxFg3 +hi! link javaParen1 materialboxFg3 +hi! link javaParen2 materialboxFg3 +hi! link javaParen3 materialboxFg3 +hi! link javaParen4 materialboxFg3 +hi! link javaParen5 materialboxFg3 +hi! link javaOperator materialboxOrange + +hi! link javaVarArg materialboxGreen + +" }}} +" Elixir: {{{ + +hi! link elixirDocString Comment + +hi! link elixirStringDelimiter materialboxGreen +hi! link elixirInterpolationDelimiter materialboxAqua + +" }}} +" Scala: {{{ + +" NB: scala vim syntax file is kinda horrible +hi! link scalaNameDefinition materialboxFg1 +hi! link scalaCaseFollowing materialboxFg1 +hi! link scalaCapitalWord materialboxFg1 +hi! link scalaTypeExtension materialboxFg1 + +hi! link scalaKeyword materialboxRed +hi! link scalaKeywordModifier materialboxRed + +hi! link scalaSpecial materialboxAqua +hi! link scalaOperator materialboxFg1 + +hi! link scalaTypeDeclaration materialboxYellow +hi! link scalaTypeTypePostDeclaration materialboxYellow + +hi! link scalaInstanceDeclaration materialboxFg1 +hi! link scalaInterpolation materialboxAqua + +" }}} +" Markdown: {{{ + +call s:HL('markdownItalic', s:fg3, s:none, s:italic) + +hi! link markdownH1 materialboxGreenBold +hi! link markdownH2 materialboxGreenBold +hi! link markdownH3 materialboxYellowBold +hi! link markdownH4 materialboxYellowBold +hi! link markdownH5 materialboxYellow +hi! link markdownH6 materialboxYellow + +hi! link markdownCode materialboxAqua +hi! link markdownCodeBlock materialboxAqua +hi! link markdownCodeDelimiter materialboxAqua + +hi! link markdownBlockquote materialboxGray +hi! link markdownListMarker materialboxGray +hi! link markdownOrderedListMarker materialboxGray +hi! link markdownRule materialboxGray +hi! link markdownHeadingRule materialboxGray + +hi! link markdownUrlDelimiter materialboxFg3 +hi! link markdownLinkDelimiter materialboxFg3 +hi! link markdownLinkTextDelimiter materialboxFg3 + +hi! link markdownHeadingDelimiter materialboxOrange +hi! link markdownUrl materialboxPurple +hi! link markdownUrlTitleDelimiter materialboxGreen + +call s:HL('markdownLinkText', s:gray, s:none, s:underline) +hi! link markdownIdDeclaration markdownLinkText + +" }}} +" Haskell: {{{ + +" hi! link haskellType materialboxYellow +" hi! link haskellOperators materialboxOrange +" hi! link haskellConditional materialboxAqua +" hi! link haskellLet materialboxOrange +" +hi! link haskellType materialboxFg1 +hi! link haskellIdentifier materialboxFg1 +hi! link haskellSeparator materialboxFg1 +hi! link haskellDelimiter materialboxFg4 +hi! link haskellOperators materialboxBlue +" +hi! link haskellBacktick materialboxOrange +hi! link haskellStatement materialboxOrange +hi! link haskellConditional materialboxOrange + +hi! link haskellLet materialboxAqua +hi! link haskellDefault materialboxAqua +hi! link haskellWhere materialboxAqua +hi! link haskellBottom materialboxAqua +hi! link haskellBlockKeywords materialboxAqua +hi! link haskellImportKeywords materialboxAqua +hi! link haskellDeclKeyword materialboxAqua +hi! link haskellDeriving materialboxAqua +hi! link haskellAssocType materialboxAqua + +hi! link haskellNumber materialboxPurple +hi! link haskellPragma materialboxPurple + +hi! link haskellString materialboxGreen +hi! link haskellChar materialboxGreen + +" }}} +" Json: {{{ + +hi! link jsonKeyword materialboxGreen +hi! link jsonQuote materialboxGreen +hi! link jsonBraces materialboxFg1 +hi! link jsonString materialboxFg1 + +" }}} + + +" Functions ------------------------------------------------------------------- +" Search Highlighting Cursor {{{ + +function! MaterialboxHlsShowCursor() + call s:HL('Cursor', s:bg0, s:hls_cursor) +endfunction + +function! MaterialboxHlsHideCursor() + call s:HL('Cursor', s:none, s:none, s:inverse) +endfunction + +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/meta5.vim b/nvim/plugged/awesome-vim-colorschemes/colors/meta5.vim new file mode 100644 index 00000000..3692f160 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/meta5.vim @@ -0,0 +1,94 @@ +" Author: 'Christopher MCA' +" Site: https:/github.com/christophermca/meta5 +" Version: 0.15.1 + +"Note: a TRON inspired theme + +highlight clear + +if exists("syntax_on") + syntax reset +endif + +set background=dark +let colors_name = "meta5" + +" Vim >= 7.0 specific colors +if version >= 700 + hi CursorLine guibg=#262626 gui=NONE ctermbg=234 cterm=NONE + hi CursorColumn guifg=#ffffff guibg=#303030 ctermbg=238 + hi iCursor guifg=#000000 guibg=#d0d0d0 ctermfg=0 ctermbg=252 + hi Incsearch guifg=#ff00ff guibg=NONE gui=underline ctermfg=201 ctermbg=NONE cterm=underline + hi MatchParen guifg=#ffaf00 guibg=NONE gui=bold ctermfg=214 ctermbg=NONE cterm=bold + hi Pmenu guifg=#eeeeee guibg=#444444 ctermfg=255 ctermbg=238 + hi PmenuSel guifg=#000000 guibg=#df8700 ctermfg=0 ctermbg=172 + hi Search guifg=#ff00ff guibg=NONE gui=underline ctermfg=201 ctermbg=NONE cterm=underline +endif + +" General colors +hi Cursor guifg=#000000 guibg=#d0d0d0 ctermfg=0 ctermbg=252 +hi CursorLineNr guifg=#ffff00 guibg=NONE ctermfg=11 ctermbg=NONE +hi ColorColumn guibg=#000080 ctermbg=4 +hi Directory guifg=#00ffff guibg=NONE ctermfg=14 ctermbg=NONE +hi ErrorMsg guifg=#ffffff guibg=#ff0000 gui=NONE ctermfg=15 ctermbg=9 cterm=NONE +hi Error guifg=#ffffff guibg=#ff0000 gui=underline ctermfg=15 ctermbg=9 cterm=underline +hi Folded guifg=#005f5f guibg=#080808 ctermfg=23 ctermbg=0 +hi LineNr guifg=#808080 guibg=NONE ctermfg=244 ctermbg=NONE +hi NonText guifg=#5f5fff ctermfg=63 +hi Normal guifg=#bcbcbc guibg=#1c1c1c ctermfg=250 ctermbg=233 +hi SpecialKey guifg=#808080 ctermfg=244 guibg=NONE ctermbg=NONE +hi StatusLine guifg=#005f5f guibg=#080808 gui=underline ctermfg=23 ctermbg=232 cterm=underline term=underline +hi StatusLineNC guifg=#585858 guibg=#080808 ctermfg=240 ctermbg=232 +hi Title guifg=#df8700 ctermfg=172 +hi VertSplit guifg=#444444 guibg=#585858 ctermfg=238 ctermbg=240 +hi Visual guifg=#afffff guibg=#4e4e4e gui=bold ctermfg=159 ctermbg=239 cterm=bold +hi WarningMsg guifg=#afffff ctermfg=159 + +" Syntax highlighting +hi Boolean guifg=#87ff5f gui=bold ctermfg=119 cterm=bold +hi Character guifg=#0087ff ctermfg=33 +hi Comment guifg=#808080 ctermfg=244 +hi Constant guifg=#af5fff ctermfg=195 +hi Conditional guifg=#5fdfff ctermfg=81 +hi Define guifg=#ff8700 ctermfg=208 +hi Exception guifg=#afdfff gui=bold ctermfg=153 cterm=bold +hi Function guifg=#df8700 ctermfg=172 +hi Identifier guifg=#00afff ctermfg=39 +hi Keyword guifg=#dfffff guibg=NONE gui=bold ctermfg=195 ctermbg=NONE cterm=bold +hi Label guifg=#5f87ff ctermfg=69 +hi Number guifg=#5fdf5f ctermfg=77 +hi Repeat guifg=#afdfff gui=bold ctermfg=153 cterm=bold +hi Statement guifg=#5fdfff gui=NONE ctermfg=81 +hi String guifg=#0087df ctermfg=32 +hi Structure guifg=#01dfdf ctermfg=44 +hi StorageClass guifg=#87ff5f ctermfg=119 +hi Special guifg=#5fdf5f gui=bold ctermfg=77 cterm=bold +hi Todo guifg=#00ffff guibg=#606060 gui=bold ctermfg=6 ctermbg=239 cterm=bold +hi Type guifg=#87dfff gui=NONE ctermfg=117 +hi Typedef guifg=#87dfff gui=bold ctermfg=117 cterm=bold +hi Operator guifg=#8787ff ctermfg=105 +hi PreCondit guifg=#005faf ctermfg=25 +hi PreProc guifg=#00afff ctermfg=39 + +"Diff +hi DiffAdd guifg=#00ff00 guibg=#005f00 cterm=NONE ctermfg=46 ctermbg=22 gui=NONE +hi DiffChange cterm=NONE ctermfg=NONE ctermbg=NONE gui=NONE guifg=NONE guibg=NONE +hi DiffDelete guifg=#df0000 guibg=#5f0000 cterm=NONE ctermfg=9 ctermbg=52 gui=NONE +hi DiffText guifg=#00ff00 guibg=#4e4e4e cterm=underline ctermfg=10 ctermbg=239 gui=underline + +"Spell +if has("spell") + hi SpellBad cterm=NONE ctermfg=9 ctermbg=52 gui=NONE guifg=#df0000 guibg=#5f0000 + hi SpellCap cterm=NONE ctermfg=46 ctermbg=22 gui=NONE guifg=#00ff00 guibg=#005f00 + hi SpellLocal cterm=NONE ctermfg=NONE ctermbg=20 gui=NONE guifg=NONE guibg=#0000df + hi SpellRare guifg=#bcbcbc guibg=#1c1c1c ctermfg=250 ctermbg=233 +endif + +" LANGUAGE OVERRIDES + +" Coffeescript +hi coffeeEmbed guifg=#87ffaf ctermfg=121 + +hi link coffeeSemicolonError NONE +hi link coffeeSpaceError NONE +hi link coffeeReservedError NONE diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/minimalist.vim b/nvim/plugged/awesome-vim-colorschemes/colors/minimalist.vim new file mode 100644 index 00000000..f7e25ee3 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/minimalist.vim @@ -0,0 +1,227 @@ +" Minimalist - A Material Color Scheme Darker +" +" Author: Diki Ananta <diki1aap@gmail.com> +" Repository: https://github.com/dikiaap/minimalist +" Version: 1.6 +" License: MIT + +set background=dark +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif +set t_Co=256 +let g:colors_name = "minimalist" + +""""""""""""""""""""""" +" General +""""""""""""""""""""""" +hi ColorColumn ctermfg=NONE ctermbg=233 cterm=NONE guifg=NONE guibg=#121212 gui=NONE +hi Cursor ctermfg=234 ctermbg=255 cterm=NONE guifg=#1C1C1C guibg=#EEEEEE gui=NONE +hi CursorColumn ctermfg=NONE ctermbg=233 cterm=NONE guifg=NONE guibg=#121212 gui=NONE +hi CursorLine ctermfg=NONE ctermbg=233 cterm=NONE guifg=NONE guibg=#121212 gui=NONE +hi CursorLineNr ctermfg=59 ctermbg=233 cterm=NONE guifg=#5F5F5F guibg=#121212 gui=NONE +hi DiffAdd ctermfg=255 ctermbg=64 cterm=bold guifg=#EEEEEE guibg=#5F8700 gui=bold +hi DiffChange ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi DiffDelete ctermfg=167 ctermbg=NONE cterm=NONE guifg=#D75F5F guibg=NONE gui=NONE +hi DiffText ctermfg=255 ctermbg=24 cterm=bold guifg=#EEEEEE guibg=#005F87 gui=bold +hi Directory ctermfg=179 ctermbg=NONE cterm=NONE guifg=#D7AF5F guibg=NONE gui=NONE +hi ErrorMsg ctermfg=255 ctermbg=167 cterm=NONE guifg=#EEEEEE guibg=#D75F5F gui=NONE +hi FoldColumn ctermfg=117 ctermbg=239 cterm=NONE guifg=#87D7FF guibg=#4E4E4E gui=NONE +hi Folded ctermfg=242 ctermbg=234 cterm=NONE guifg=#666666 guibg=#1C1C1C gui=NONE +hi IncSearch ctermfg=234 ctermbg=75 cterm=NONE guifg=#1C1C1C guibg=#5FAFFF gui=NONE +hi LineNr ctermfg=59 ctermbg=234 cterm=NONE guifg=#5F5F5F guibg=#1C1C1C gui=NONE +hi MatchParen ctermfg=NONE ctermbg=NONE cterm=underline guifg=NONE guibg=NONE gui=underline +hi MoreMsg ctermfg=150 ctermbg=NONE cterm=NONE guifg=#AFD787 guibg=NONE gui=NONE +hi NonText ctermfg=234 ctermbg=234 cterm=NONE guifg=#1C1C1C guibg=#1C1C1C gui=NONE +hi Normal ctermfg=255 ctermbg=234 cterm=NONE guifg=#EEEEEE guibg=#1C1C1C gui=NONE +hi Pmenu ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi PmenuSel ctermfg=NONE ctermbg=59 cterm=NONE guifg=NONE guibg=#5F5F5F gui=NONE +hi Question ctermfg=150 ctermbg=NONE cterm=NONE guifg=#AFD787 guibg=NONE gui=bold +hi Search ctermfg=NONE ctermbg=NONE cterm=underline guifg=NONE guibg=NONE gui=underline +hi SignColumn ctermfg=NONE ctermbg=237 cterm=NONE guifg=NONE guibg=#3A3A3A gui=NONE +hi StatusLine ctermfg=255 ctermbg=239 cterm=bold guifg=#EEEEEE guibg=#4E4E4E gui=bold +hi StatusLineNC ctermfg=255 ctermbg=239 cterm=NONE guifg=#EEEEEE guibg=#4E4E4E gui=NONE +hi Title ctermfg=255 ctermbg=NONE cterm=NONE guifg=#EEEEEE guibg=NONE gui=NONE +hi Underlined ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi VertSplit ctermfg=239 ctermbg=239 cterm=NONE guifg=#4E4E4E guibg=#4E4E4E gui=NONE +hi Visual ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#303030 gui=NONE +hi WarningMsg ctermfg=255 ctermbg=167 cterm=NONE guifg=#EEEEEE guibg=#D75F5F gui=NONE +hi WildMenu ctermfg=234 ctermbg=215 cterm=NONE guifg=#1C1C1C guibg=#FFAF5F gui=NONE +hi NERDTreeUp ctermfg=167 ctermbg=NONE cterm=NONE guifg=#D75F5F guibg=NONE gui=NONE +hi NERDTreeDir ctermfg=251 ctermbg=NONE cterm=bold guifg=#C6C6C6 guibg=NONE gui=bold +hi NERDTreeDirSlash ctermfg=251 ctermbg=NONE cterm=NONE guifg=#C6C6C6 guibg=NONE gui=NONE +hi NERDTreeFile ctermfg=241 ctermbg=NONE cterm=NONE guifg=#606060 guibg=NONE gui=NONE +hi NERDTreeCWD ctermfg=167 ctermbg=NONE cterm=NONE guifg=#D75F5F guibg=NONE gui=NONE +hi NERDTreeOpenable ctermfg=167 ctermbg=NONE cterm=NONE guifg=#D75F5F guibg=NONE gui=NONE +hi NERDTreeClosable ctermfg=167 ctermbg=NONE cterm=NONE guifg=#D75F5F guibg=NONE gui=NONE + +""""""""""""""""""""""" +" Syntax Highlighting +""""""""""""""""""""""" +hi Boolean ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE +hi Character ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi Comment ctermfg=240 ctermbg=NONE cterm=NONE guifg=#585858 guibg=NONE gui=NONE +hi Conditional ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi Constant ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi Define ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi Error ctermfg=255 ctermbg=167 cterm=NONE guifg=#EEEEEE guibg=#D75F5F gui=NONE +hi Float ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi Function ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi Identifier ctermfg=255 ctermbg=NONE cterm=NONE guifg=#EEEEEE guibg=NONE gui=italic +hi Keyword ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi Label ctermfg=186 ctermbg=NONE cterm=NONE guifg=#D7D787 guibg=NONE gui=NONE +hi Number ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE +hi Operator ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi PreCondit ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi PreProc ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi Repeat ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi Special ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi SpecialComment ctermfg=242 ctermbg=NONE cterm=NONE guifg=#666666 guibg=NONE gui=NONE +hi SpecialKey ctermfg=59 ctermbg=237 cterm=NONE guifg=#5F5F5F guibg=#3A3A3A gui=NONE +hi SpellBad ctermfg=255 ctermbg=167 cterm=NONE guifg=#EEEEEE guibg=#D75F5F gui=undercurl +hi SpellCap ctermfg=255 ctermbg=74 cterm=NONE guifg=#EEEEEE guibg=#5FAFD7 gui=undercurl +hi SpellRare ctermfg=255 ctermbg=140 cterm=NONE guifg=#EEEEEE guibg=#AF87D7 gui=undercurl +hi SpellLocal ctermfg=255 ctermbg=14 cterm=NONE guifg=#EEEEEE guibg=#5FB3B3 gui=undercurl +hi Statement ctermfg=167 ctermbg=NONE cterm=NONE guifg=#D75F5F guibg=NONE gui=NONE +hi StorageClass ctermfg=215 ctermbg=NONE cterm=NONE guifg=#FFAF5F guibg=NONE gui=italic +hi String ctermfg=150 ctermbg=NONE cterm=NONE guifg=#AFD787 guibg=NONE gui=NONE +hi Structure ctermfg=215 ctermbg=NONE cterm=NONE guifg=#FFAF5F guibg=NONE gui=NONE +hi Tag ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi Todo ctermfg=74 ctermbg=234 cterm=inverse guifg=#5FAFD7 guibg=#1C1C1C gui=inverse,bold +hi Type ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE + +""""""""""""""""""""""" +" Supports +""""""""""""""""""""""" +hi cInclude ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE " C++ +hi cOperator ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi cppStatement ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi cssAttr ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE " CSS/CSS3 +hi cssAttrComma ctermfg=231 ctermbg=NONE cterm=NONE guifg=#EEEEEE guibg=NONE gui=NONE +hi cssBoxProp ctermfg=152 ctermbg=NONE cterm=NONE guifg=#AFD7D7 guibg=NONE gui=NONE +hi cssBraces ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi cssClassName ctermfg=215 ctermbg=NONE cterm=NONE guifg=#FFAF5F guibg=NONE gui=NONE +hi cssColor ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi cssCommonAttr ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi cssFontAttr ctermfg=150 ctermbg=NONE cterm=NONE guifg=#AFD787 guibg=NONE gui=NONE +hi cssFunctionName ctermfg=75 ctermbg=NONE cterm=NONE guifg=#5FAFFF guibg=NONE gui=NONE +hi cssNoise ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi cssProp ctermfg=152 ctermbg=NONE cterm=NONE guifg=#AFD7D7 guibg=NONE gui=NONE +hi cssPseudoClass ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi cssPseudoClassId ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi cssTagName ctermfg=167 ctermbg=NONE cterm=NONE guifg=#D75F5F guibg=NONE gui=NONE +hi cssUIAttr ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE +hi cssUnitDecorators ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE +hi cssURL ctermfg=255 ctermbg=NONE cterm=NONE guifg=#EEEEEE guibg=NONE gui=italic +hi cssValueLength ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE +hi cssValueNumber ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE +hi cssVendor ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi htmlArg ctermfg=215 ctermbg=NONE cterm=NONE guifg=#FFAF5F guibg=NONE gui=NONE " HTML/HTML5 +hi htmlEndTag ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi htmlScriptTag ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi htmlSpecialChar ctermfg=215 ctermbg=NONE cterm=NONE guifg=#FFAF5F guibg=NONE gui=NONE +hi htmlSpecialTagName ctermfg=167 ctermbg=NONE cterm=NONE guifg=#D75F5F guibg=NONE gui=NONE +hi htmlTag ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi htmlTagName ctermfg=167 ctermbg=NONE cterm=NONE guifg=#D75F5F guibg=NONE gui=NONE +hi javaScriptBoolean ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE " JavaScript +hi javaScriptBraces ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi javaScriptConditional ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi javaScriptException ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi javaScriptFunction ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=italic +hi javaScriptGlobal ctermfg=255 ctermbg=NONE cterm=NONE guifg=#EEEEEE guibg=NONE gui=NONE +hi javaScriptIdentifier ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi javaScriptLabel ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi javaScriptMessage ctermfg=255 ctermbg=NONE cterm=NONE guifg=#EEEEEE guibg=NONE gui=NONE +hi javaScriptNull ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE +hi javaScriptNumber ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE +hi javaScriptOperator ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi javaScriptParens ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi javaScriptRegexpString ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi javaScriptRepeat ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi javaScriptSpecial ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi javaScriptStatement ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi markdownCode ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE " Markdown +hi markdownCodeBlock ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi markdownCodeDelimiter ctermfg=247 ctermbg=NONE cterm=NONE guifg=#9E9E9E guibg=NONE gui=NONE +hi markdownError ctermfg=167 ctermbg=NONE cterm=NONE guifg=#D75F5F guibg=NONE gui=NONE +hi markdownHeadingDelimiter ctermfg=150 ctermbg=NONE cterm=NONE guifg=#AFD787 guibg=NONE gui=NONE +hi markdownUrl ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE +hi phpBoolean ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE " PHP +hi phpClass ctermfg=215 ctermbg=NONE cterm=NONE guifg=#FFAF5F guibg=NONE gui=NONE +hi phpClassDelimiter ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi phpClassExtends ctermfg=150 ctermbg=NONE cterm=NONE guifg=#AFD787 guibg=NONE gui=NONE +hi phpClassImplements ctermfg=150 ctermbg=NONE cterm=NONE guifg=#AFD787 guibg=NONE gui=NONE +hi phpCommentStar ctermfg=240 ctermbg=NONE cterm=NONE guifg=#585858 guibg=NONE gui=NONE +hi phpCommentTitle ctermfg=240 ctermbg=NONE cterm=NONE guifg=#585858 guibg=NONE gui=NONE +hi phpDocComment ctermfg=240 ctermbg=NONE cterm=NONE guifg=#585858 guibg=NONE gui=NONE +hi phpDocIdentifier ctermfg=240 ctermbg=NONE cterm=NONE guifg=#585858 guibg=NONE gui=NONE +hi phpDocParam ctermfg=240 ctermbg=NONE cterm=NONE guifg=#585858 guibg=NONE gui=NONE +hi phpDocTags ctermfg=242 ctermbg=NONE cterm=NONE guifg=#666666 guibg=NONE gui=NONE +hi phpFunction ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi phpFunctions ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi phpIdentifier ctermfg=255 ctermbg=NONE cterm=NONE guifg=#EEEEEE guibg=NONE gui=NONE +hi phpInclude ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi phpKeyword ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi phpMethod ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi phpNumber ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE +hi phpOperator ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi phpParent ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi phpMemberSelector ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi phpMethodsVar ctermfg=255 ctermbg=NONE cterm=NONE guifg=#EEEEEE guibg=NONE gui=NONE +hi phpStaticClasses ctermfg=215 ctermbg=NONE cterm=NONE guifg=#FFAF5F guibg=NONE gui=NONE +hi phpStringDouble ctermfg=150 ctermbg=NONE cterm=NONE guifg=#AFD787 guibg=NONE gui=NONE +hi phpStringDelimiter ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi phpStringSingle ctermfg=150 ctermbg=NONE cterm=NONE guifg=#AFD787 guibg=NONE gui=NONE +hi phpSuperglobals ctermfg=255 ctermbg=NONE cterm=NONE guifg=#EEEEEE guibg=NONE gui=NONE +hi phpType ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi phpUseClass ctermfg=215 ctermbg=NONE cterm=NONE guifg=#FFAF5F guibg=NONE gui=NONE +hi phpVarSelector ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi pythonConditional ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE " Python +hi pythonDecorator ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi pythonException ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi pythonFunction ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi pythonInclude ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi pythonNumber ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE +hi pythonOperator ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi pythonRepeat ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi pythonStatement ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi pythonTodo ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi rubyBlockParameter ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE " Ruby +hi rubyClass ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi rubyClassVariable ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi rubyConstant ctermfg=215 ctermbg=NONE cterm=NONE guifg=#FFAF5F guibg=NONE gui=italic +hi rubyControl ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi rubyException ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi rubyFunction ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi rubyInclude ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi rubyInstanceVariable ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi rubyInterpolationDelimiter ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi rubyOperator ctermfg=140 ctermbg=NONE cterm=NONE guifg=#AF87D7 guibg=NONE gui=NONE +hi rubyPseudoVariable ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE +hi rubyRegexp ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi rubyRegexpDelimiter ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi rubyStringDelimiter ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi rubySymbol ctermfg=150 ctermbg=NONE cterm=NONE guifg=#AFD787 guibg=NONE gui=NONE +hi sassClass ctermfg=215 ctermbg=NONE cterm=NONE guifg=#FFAF5F guibg=NONE gui=NONE " Sass +hi sassClassChar ctermfg=215 ctermbg=NONE cterm=NONE guifg=#FFAF5F guibg=NONE gui=NONE +hi sassFunction ctermfg=255 ctermbg=NONE cterm=NONE guifg=#EEEEEE guibg=NONE gui=NONE +hi sassInclude ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi sassVariable ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE +hi shFunction ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE " Shell +hi shOperator ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi shStatement ctermfg=74 ctermbg=NONE cterm=NONE guifg=#5FAFD7 guibg=NONE gui=NONE +hi shTestOpr ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi shVariable ctermfg=255 ctermbg=NONE cterm=NONE guifg=#EEEEEE guibg=NONE gui=NONE +hi xmlAttrib ctermfg=167 ctermbg=NONE cterm=NONE guifg=#D75F5F guibg=NONE gui=NONE " XML +hi xmlCdataStart ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi xmlCdataCdata ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi xmlEndTag ctermfg=167 ctermbg=NONE cterm=NONE guifg=#D75F5F guibg=NONE gui=NONE +hi xmlEntity ctermfg=173 ctermbg=NONE cterm=NONE guifg=#D7875F guibg=NONE gui=NONE +hi xmlEntityPunct ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi xmlEqual ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi xmlProcessingDelim ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi xmlTag ctermfg=117 ctermbg=NONE cterm=NONE guifg=#87D7FF guibg=NONE gui=NONE +hi xmlTagName ctermfg=167 ctermbg=NONE cterm=NONE guifg=#D75F5F guibg=NONE gui=NONE diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/molokai.vim b/nvim/plugged/awesome-vim-colorschemes/colors/molokai.vim new file mode 100644 index 00000000..6d970539 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/molokai.vim @@ -0,0 +1,276 @@ +" Vim color file +" +" Author: Tomas Restrepo <tomas@winterdom.com> +" https://github.com/tomasr/molokai +" +" Note: Based on the Monokai theme for TextMate +" by Wimer Hazenberg and its darker variant +" by Hamish Stuart Macpherson +" + +hi clear + +if version > 580 + " no guarantees for version 5.8 and below, but this makes it stop + " complaining + hi clear + if exists("syntax_on") + syntax reset + endif +endif +let g:colors_name="molokai" + +if exists("g:molokai_original") + let s:molokai_original = g:molokai_original +else + let s:molokai_original = 0 +endif + + +hi Boolean guifg=#AE81FF +hi Character guifg=#E6DB74 +hi Number guifg=#AE81FF +hi String guifg=#E6DB74 +hi Conditional guifg=#F92672 gui=bold +hi Constant guifg=#AE81FF gui=bold +hi Cursor guifg=#000000 guibg=#F8F8F0 +hi iCursor guifg=#000000 guibg=#F8F8F0 +hi Debug guifg=#BCA3A3 gui=bold +hi Define guifg=#66D9EF +hi Delimiter guifg=#8F8F8F +hi DiffAdd guibg=#13354A +hi DiffChange guifg=#89807D guibg=#4C4745 +hi DiffDelete guifg=#960050 guibg=#1E0010 +hi DiffText guibg=#4C4745 gui=italic,bold + +hi Directory guifg=#A6E22E gui=bold +hi Error guifg=#E6DB74 guibg=#1E0010 +hi ErrorMsg guifg=#F92672 guibg=#232526 gui=bold +hi Exception guifg=#A6E22E gui=bold +hi Float guifg=#AE81FF +hi FoldColumn guifg=#465457 guibg=#000000 +hi Folded guifg=#465457 guibg=#000000 +hi Function guifg=#A6E22E +hi Identifier guifg=#FD971F +hi Ignore guifg=#808080 guibg=bg +hi IncSearch guifg=#C4BE89 guibg=#000000 + +hi Keyword guifg=#F92672 gui=bold +hi Label guifg=#E6DB74 gui=none +hi Macro guifg=#C4BE89 gui=italic +hi SpecialKey guifg=#66D9EF gui=italic + +hi MatchParen guifg=#000000 guibg=#FD971F gui=bold +hi ModeMsg guifg=#E6DB74 +hi MoreMsg guifg=#E6DB74 +hi Operator guifg=#F92672 + +" complete menu +hi Pmenu guifg=#66D9EF guibg=#000000 +hi PmenuSel guibg=#808080 +hi PmenuSbar guibg=#080808 +hi PmenuThumb guifg=#66D9EF + +hi PreCondit guifg=#A6E22E gui=bold +hi PreProc guifg=#A6E22E +hi Question guifg=#66D9EF +hi Repeat guifg=#F92672 gui=bold +hi Search guifg=#000000 guibg=#FFE792 +" marks +hi SignColumn guifg=#A6E22E guibg=#232526 +hi SpecialChar guifg=#F92672 gui=bold +hi SpecialComment guifg=#7E8E91 gui=bold +hi Special guifg=#66D9EF guibg=bg gui=italic +if has("spell") + hi SpellBad guisp=#FF0000 gui=undercurl + hi SpellCap guisp=#7070F0 gui=undercurl + hi SpellLocal guisp=#70F0F0 gui=undercurl + hi SpellRare guisp=#FFFFFF gui=undercurl +endif +hi Statement guifg=#F92672 gui=bold +hi StatusLine guifg=#455354 guibg=fg +hi StatusLineNC guifg=#808080 guibg=#080808 +hi StorageClass guifg=#FD971F gui=italic +hi Structure guifg=#66D9EF +hi Tag guifg=#F92672 gui=italic +hi Title guifg=#ef5939 +hi Todo guifg=#FFFFFF guibg=bg gui=bold + +hi Typedef guifg=#66D9EF +hi Type guifg=#66D9EF gui=none +hi Underlined guifg=#808080 gui=underline + +hi VertSplit guifg=#808080 guibg=#080808 gui=bold +hi VisualNOS guibg=#403D3D +hi Visual guibg=#403D3D +hi WarningMsg guifg=#FFFFFF guibg=#333333 gui=bold +hi WildMenu guifg=#66D9EF guibg=#000000 + +hi TabLineFill guifg=#1B1D1E guibg=#1B1D1E +hi TabLine guibg=#1B1D1E guifg=#808080 gui=none + +if s:molokai_original == 1 + hi Normal guifg=#F8F8F2 guibg=#272822 + hi Comment guifg=#75715E + hi CursorLine guibg=#3E3D32 + hi CursorLineNr guifg=#FD971F gui=none + hi CursorColumn guibg=#3E3D32 + hi ColorColumn guibg=#3B3A32 + hi LineNr guifg=#BCBCBC guibg=#3B3A32 + hi NonText guifg=#75715E + hi SpecialKey guifg=#75715E +else + hi Normal guifg=#F8F8F2 guibg=#1B1D1E + hi Comment guifg=#7E8E91 + hi CursorLine guibg=#293739 + hi CursorLineNr guifg=#FD971F gui=none + hi CursorColumn guibg=#293739 + hi ColorColumn guibg=#232526 + hi LineNr guifg=#465457 guibg=#232526 + hi NonText guifg=#465457 + hi SpecialKey guifg=#465457 +end + +" +" Support for 256-color terminal +" +if &t_Co > 255 + if s:molokai_original == 1 + hi Normal ctermbg=234 + hi CursorLine ctermbg=235 cterm=none + hi CursorLineNr ctermfg=208 cterm=none + else + hi Normal ctermfg=252 ctermbg=233 + hi CursorLine ctermbg=234 cterm=none + hi CursorLineNr ctermfg=208 cterm=none + endif + hi Boolean ctermfg=135 + hi Character ctermfg=144 + hi Number ctermfg=135 + hi String ctermfg=144 + hi Conditional ctermfg=161 cterm=bold + hi Constant ctermfg=135 cterm=bold + hi Cursor ctermfg=16 ctermbg=253 + hi Debug ctermfg=225 cterm=bold + hi Define ctermfg=81 + hi Delimiter ctermfg=241 + + hi DiffAdd ctermbg=24 + hi DiffChange ctermfg=181 ctermbg=239 + hi DiffDelete ctermfg=162 ctermbg=53 + hi DiffText ctermbg=102 cterm=bold + + hi Directory ctermfg=118 cterm=bold + hi Error ctermfg=219 ctermbg=89 + hi ErrorMsg ctermfg=199 ctermbg=16 cterm=bold + hi Exception ctermfg=118 cterm=bold + hi Float ctermfg=135 + hi FoldColumn ctermfg=67 ctermbg=16 + hi Folded ctermfg=67 ctermbg=16 + hi Function ctermfg=118 + hi Identifier ctermfg=208 cterm=none + hi Ignore ctermfg=244 ctermbg=232 + hi IncSearch ctermfg=193 ctermbg=16 + + hi keyword ctermfg=161 cterm=bold + hi Label ctermfg=229 cterm=none + hi Macro ctermfg=193 + hi SpecialKey ctermfg=81 + + hi MatchParen ctermfg=233 ctermbg=208 cterm=bold + hi ModeMsg ctermfg=229 + hi MoreMsg ctermfg=229 + hi Operator ctermfg=161 + + " complete menu + hi Pmenu ctermfg=81 ctermbg=16 + hi PmenuSel ctermfg=255 ctermbg=242 + hi PmenuSbar ctermbg=232 + hi PmenuThumb ctermfg=81 + + hi PreCondit ctermfg=118 cterm=bold + hi PreProc ctermfg=118 + hi Question ctermfg=81 + hi Repeat ctermfg=161 cterm=bold + hi Search ctermfg=0 ctermbg=222 cterm=NONE + + " marks column + hi SignColumn ctermfg=118 ctermbg=235 + hi SpecialChar ctermfg=161 cterm=bold + hi SpecialComment ctermfg=245 cterm=bold + hi Special ctermfg=81 + if has("spell") + hi SpellBad ctermbg=52 + hi SpellCap ctermbg=17 + hi SpellLocal ctermbg=17 + hi SpellRare ctermfg=none ctermbg=none cterm=reverse + endif + hi Statement ctermfg=161 cterm=bold + hi StatusLine ctermfg=238 ctermbg=253 + hi StatusLineNC ctermfg=244 ctermbg=232 + hi StorageClass ctermfg=208 + hi Structure ctermfg=81 + hi Tag ctermfg=161 + hi Title ctermfg=166 + hi Todo ctermfg=231 ctermbg=232 cterm=bold + + hi Typedef ctermfg=81 + hi Type ctermfg=81 cterm=none + hi Underlined ctermfg=244 cterm=underline + + hi VertSplit ctermfg=244 ctermbg=232 cterm=bold + hi VisualNOS ctermbg=238 + hi Visual ctermbg=235 + hi WarningMsg ctermfg=231 ctermbg=238 cterm=bold + hi WildMenu ctermfg=81 ctermbg=16 + + hi Comment ctermfg=59 + hi CursorColumn ctermbg=236 + hi ColorColumn ctermbg=236 + hi LineNr ctermfg=250 ctermbg=236 + hi NonText ctermfg=59 + + hi SpecialKey ctermfg=59 + + if exists("g:rehash256") && g:rehash256 == 1 + hi Normal ctermfg=252 ctermbg=234 + hi CursorLine ctermbg=236 cterm=none + hi CursorLineNr ctermfg=208 cterm=none + + hi Boolean ctermfg=141 + hi Character ctermfg=222 + hi Number ctermfg=141 + hi String ctermfg=222 + hi Conditional ctermfg=197 cterm=bold + hi Constant ctermfg=141 cterm=bold + + hi DiffDelete ctermfg=125 ctermbg=233 + + hi Directory ctermfg=154 cterm=bold + hi Error ctermfg=222 ctermbg=233 + hi Exception ctermfg=154 cterm=bold + hi Float ctermfg=141 + hi Function ctermfg=154 + hi Identifier ctermfg=208 + + hi Keyword ctermfg=197 cterm=bold + hi Operator ctermfg=197 + hi PreCondit ctermfg=154 cterm=bold + hi PreProc ctermfg=154 + hi Repeat ctermfg=197 cterm=bold + + hi Statement ctermfg=197 cterm=bold + hi Tag ctermfg=197 + hi Title ctermfg=203 + hi Visual ctermbg=238 + + hi Comment ctermfg=244 + hi LineNr ctermfg=239 ctermbg=235 + hi NonText ctermfg=239 + hi SpecialKey ctermfg=239 + endif +end + +" Must be at the end, because of ctermbg=234 bug. +" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ +set background=dark diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/molokayo.vim b/nvim/plugged/awesome-vim-colorschemes/colors/molokayo.vim new file mode 100644 index 00000000..b3d86527 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/molokayo.vim @@ -0,0 +1,92 @@ +let g:molokai_original = 1 + +runtime colors/molokai.vim + +let g:colors_name="molokayo" + +if !exists("g:molokayo#high_contrast#comments") + let g:molokayo#high_contrast#comments = 0 +endif +if !exists("g:molokayo#focus_variant") + let g:molokayo#focus_variant = 0 +endif + +hi! Normal guibg=#202020 guifg=#ffffff ctermbg=234 ctermfg=15 +if g:molokayo#focus_variant == 1 + hi! NonText guibg=bg guifg=#303030 ctermbg=bg ctermfg=233 +else + hi! link NonText Delimiter +endif +hi! link EndOfBuffer NonText +hi! Ignore guibg=bg guifg=#303030 ctermbg=bg ctermbg=233 +hi! Special guibg=bg guifg=#66d0ef ctermbg=bg ctermfg=81 gui=italic cterm=italic +hi! Conceal guifg=#f92672 guibg=bg cterm=bold ctermfg=198 ctermbg=bg +hi! Search guifg=#000000 guibg=#ffcc00 gui=bold cterm=bold ctermfg=0 ctermbg=220 +hi! Identifier guifg=#ffb700 ctermfg=214 +hi! link Directory SpecialChar +hi! PreProc guibg=bg guifg=#2ee252 ctermbg=bg ctermfg=41 +hi! PreCondit guibg=bg guifg=#2ee252 ctermbg=bg ctermfg=41 +hi! Title guibg=bg guifg=#ef7511 ctermbg=bg ctermfg=208 +hi! ColorColumn guibg=#1e1e1e ctermbg=233 +hi! Error guibg=#990023 guifg=#ffca00 ctermbg=160 ctermfg=214 +hi! TabLineFill guibg=#202020 guifg=#141414 ctermbg=234 ctermfg=233 +hi! TabLineSel guibg=#141414 guifg=#ffb700 ctermbg=233 ctermfg=214 cterm=bold gui=bold +hi! TabLine guibg=#141414 guifg=#404040 ctermbg=233 ctermfg=238 + +if g:molokayo#high_contrast#comments == 1 + hi! Comment guibg=bg guifg=#A6A185 ctermbg=bg ctermfg=248 +endif + +" Folds: +if g:molokayo#focus_variant == 1 + hi! FoldColumn guibg=bg guifg=#303030 ctermbg=236 ctermfg=238 +else + hi! FoldColumn guibg=#282828 guifg=#505050 ctermbg=236 ctermfg=244 +endif +hi! Folded guibg=#252525 guifg=#808080 ctermbg=235 ctermfg=244 + +" Cursor: +hi! Cursor guibg=#f92672 guifg=#ffffff gui=bold cterm=bold ctermbg=197 ctermfg=15 +hi! CursorInsert guibg=#0077ff guifg=#ffffff ctermbg=39 ctermfg=15 +hi! CursorVisual guibg=#2077ff guifg=#ffffff ctermbg=38 ctermfg=15 +hi! CursorReplace guibg=#ff2000 guifg=#ffffff ctermbg=196 ctermfg=15 +set guicursor= + \a:block-blinkon0, + \i:blinkwait200-blinkoff150-blinkon200-CursorInsert, + \r:CursorReplace, + \v:CursorVisual, + \c:ver30-blinkon300-CursorInsert +" Split: +hi! VertSplit guibg=#151515 guifg=#151515 ctermbg=233 ctermfg=233 +" Statuline: +hi! StatusLine guibg=#151515 guifg=#ffffff gui=None cterm=None ctermbg=233 ctermfg=15 +hi! StatusLineNC guibg=#252525 guifg=#808080 gui=None cterm=None ctermbg=235 ctermfg=244 +hi! Wildmenu guibg=#f92672 guifg=#ffffff gui=bold cterm=bold ctermbg=199 ctermfg=15 +hi! SLSpecial guibg=#151515 guifg=#66d0ef ctermbg=233 ctermfg=81 +hi! SLDelim guibg=#151515 guifg=#808080 ctermbg=233 ctermfg=244 +hi! SLNumber guibg=#151515 guifg=#ae81ff ctermbg=233 ctermfg=141 +hi! SLDirectory guibg=#151515 guifg=#f92672 gui=bold cterm=bold ctermbg=233 ctermfg=197 +hi! SLIdentifier guibg=#151515 guifg=#ffb700 gui=bold cterm=bold ctermbg=233i ctermfg=214 +hi! SLCharacter guibg=#151515 guifg=#e6db74 ctermbg=233 ctermfg=227 +hi! SLConstant guibg=#151515 guifg=#ae81ff ctermbg=233 ctermfg=141 +hi! SLType guibg=#151515 guifg=#66d9ae gui=bold cterm=bold ctermbg=233 ctermfg=81 +hi! SLFunction guibg=#151515 guifg=#a6e2e2 ctermbg=233 ctermfg=153 +hi! SLSpellBad guibg=#151515 gui=undercurl guisp=#ff0000 cterm=underline ctermbg=233 +hi! SLVCS guibg=#151515 guifg=#ff5000 gui=italic cterm=italic ctermbg=233 ctermfg=202 +" Completion: +hi! link PMenu SLDelim +hi! link PMenuSel WildMenu + +" vim-buftabline support +hi! link BufTabLineFill StatusLine +hi! link BufTabLineCurrent SLIdentifier +hi! link BufTabLineActive SLCharacter +hi! link BufTabLineHidden SLType + +" ctrlp support +hi! link CtrlPMatch Search +hi! link CtrlPLinePre Operator +hi! link CtrlPPrtCursor Cursor +hi! link CtrlPMode1 SLType +hi! link CtrlPMode2 SLSpecial +hi! link CtrlPStats SLFunction diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/mountaineer-grey.vim b/nvim/plugged/awesome-vim-colorschemes/colors/mountaineer-grey.vim new file mode 100644 index 00000000..e51a0c4b --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/mountaineer-grey.vim @@ -0,0 +1,420 @@ +" ----------------------------------------------------------------------------- +" Name: Mountaineer Grey +" Description: A Darn and Adventurous Vim Colorscheme +" Author: nuaNce <r3yan.chaudhry@zohomail.com> +" Website: https://github.com/co1ncidence/mountaineer.vim +" License: BSD 3-Clause License +" ----------------------------------------------------------------------------- +" +" GUI color definitions +let s:gui00 = "232323" +let g:base16_gui00 = "232323" + +let s:gui01 = "303030" +let g:base16_gui01 = "303030" + +let s:gui02 = "3d3d3d" +let g:base16_gui02 = "3d3d3d" + +let s:gui03 = "545454" +let g:base16_gui03 = "545454" + +let s:gui04 = "b6b6b6" +let g:base16_gui04 = "b6b6b6" + +let s:gui05 = "c0c0c0" +let g:base16_gui05 = "c0c0c0" + +let s:gui06 = "e7e7e7" +let g:base16_gui06 = "e7e7e7" + +let s:gui07 = "ffffff" +let g:base16_gui07 = "ffffff" +" red +let s:gui08 = "C49EA0" +let g:base16_gui08 = "C49EA0" +" orange +let s:gui09 = "C49EA0" +let g:base16_gui09 = "C49EA0" +" yellow +let s:gui0A = "C4C19E" +let g:base16_gui0A = "C4C19E" +" green +let s:gui0B = "9EC49F" +let g:base16_gui0B = "9EC49F" +" cyan +let s:gui0C = "9ec3c4" +let g:base16_gui0C = "9ec3c4" +" blue +let s:gui0D = "A39EC4" +let g:base16_gui0D = "A39EC4" +" magenta +let s:gui0E = "C49EC4" +let g:base16_gui0E = "C49EC4" +" dark red +let s:gui0F = "AC8A8C" +let g:base16_gui0F = "AC8A8C" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#232323" + let g:terminal_color_1 = "#C49EA0" + let g:terminal_color_2 = "#9EC49F" + let g:terminal_color_3 = "#C4C19E" + let g:terminal_color_4 = "#A39EC4" + let g:terminal_color_5 = "#C49EC4" + let g:terminal_color_6 = "#9ec3c4" + let g:terminal_color_7 = "#e7e7e7" + let g:terminal_color_8 = "#676767" + let g:terminal_color_9 = "#C49EA0" + let g:terminal_color_10 = "#9EC49F" + let g:terminal_color_11 = "#C4C19E" + let g:terminal_color_12 = "#A39EC4" + let g:terminal_color_13 = "#C49EC4" + let g:terminal_color_14 = "#9ec3c4" + let g:terminal_color_15 = "#f0f0f0" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#232323", + \ "#C49EA0", + \ "#9EC49F", + \ "#C4C19E", + \ "#A39EC4", + \ "#C49EC4", + \ "#9ec3c4", + \ "#e7e7e7", + \ "#676767", + \ "#C49EA0", + \ "#9EC49F", + \ "#C4C19E", + \ "#A39EC4", + \ "#C49EC4", + \ "#9ec3c4", + \ "#f0f0f0", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "mountaineer-grey" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + if a:guifg != "" + exec "hi " . a:group . " guifg=#" . a:guifg + endif + if a:guibg != "" + exec "hi " . a:group . " guibg=#" . a:guibg + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + exec "hi " . a:group . " guisp=#" . l:guisp + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui00, "", s:cterm00, "", "", "") +call <sid>hi("LineNr", s:gui02, s:gui00, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui00, s:cterm04, s:cterm01, "", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/mountaineer-light.vim b/nvim/plugged/awesome-vim-colorschemes/colors/mountaineer-light.vim new file mode 100644 index 00000000..5de4f990 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/mountaineer-light.vim @@ -0,0 +1,420 @@ +" ----------------------------------------------------------------------------- +" Name: Mountaineer Light +" Description: A Darn and Adventurous Vim Colorscheme +" Author: nuaNce <r3yan.chaudhry@zohomail.com> +" Website: https://github.com/co1ncidence/mountaineer.vim +" License: BSD 3-Clause License +" ----------------------------------------------------------------------------- +" +" GUI color definitions +let s:gui00 = "f0f0f0" +let g:base16_gui00 = "f0f0f0" + +let s:gui01 = "e7e7e7" +let g:base16_gui01 = "e7e7e7" + +let s:gui02 = "d9d9d9" +let g:base16_gui02 = "d9d9d9" + +let s:gui03 = "c3c3c3" +let g:base16_gui03 = "c3c3c3" + +let s:gui04 = "a2a2a2" +let g:base16_gui04 = "a2a2a2" + +let s:gui05 = "545454" +let g:base16_gui05 = "545454" + +let s:gui06 = "4c4c4c" +let g:base16_gui06 = "4c4c4c" + +let s:gui07 = "363636" +let g:base16_gui07 = "363636" +" red +let s:gui08 = "786162" +let g:base16_gui08 = "786162" +" orange +let s:gui09 = "786162" +let g:base16_gui09 = "786162" +" yellow +let s:gui0A = "787661" +let g:base16_gui0A = "787661" +" green +let s:gui0B = "617878" +let g:base16_gui0B = "617878" +" cyan +let s:gui0C = "617878" +let g:base16_gui0C = "617878" +" blue +let s:gui0D = "646178" +let g:base16_gui0D = "646178" +" magenta +let s:gui0E = "786178" +let g:base16_gui0E = "786178" +" dark red +let s:gui0F = "786162" +let g:base16_gui0F = "786162" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#363636" + let g:terminal_color_1 = "#786162" + let g:terminal_color_2 = "#617878" + let g:terminal_color_3 = "#787661" + let g:terminal_color_4 = "#646178" + let g:terminal_color_5 = "#786178" + let g:terminal_color_6 = "#617878" + let g:terminal_color_7 = "#e7e7e7" + let g:terminal_color_8 = "#676767" + let g:terminal_color_9 = "#786162" + let g:terminal_color_10 = "#617878" + let g:terminal_color_11 = "#787661" + let g:terminal_color_12 = "#646178" + let g:terminal_color_13 = "#786178" + let g:terminal_color_14 = "#617878" + let g:terminal_color_15 = "#f0f0f0" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#363636", + \ "#786162", + \ "#617878", + \ "#787661", + \ "#646178", + \ "#786178", + \ "#617878", + \ "#e7e7e7", + \ "#676767", + \ "#786162", + \ "#617878", + \ "#787661", + \ "#646178", + \ "#786178", + \ "#617878", + \ "#f0f0f0", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "mountaineer-light" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + if a:guifg != "" + exec "hi " . a:group . " guifg=#" . a:guifg + endif + if a:guibg != "" + exec "hi " . a:group . " guibg=#" . a:guibg + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + exec "hi " . a:group . " guisp=#" . l:guisp + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui00, "", s:cterm00, "", "", "") +call <sid>hi("LineNr", s:gui02, s:gui00, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui00, s:cterm04, s:cterm01, "", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/mountaineer.vim b/nvim/plugged/awesome-vim-colorschemes/colors/mountaineer.vim new file mode 100644 index 00000000..0415aa19 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/mountaineer.vim @@ -0,0 +1,420 @@ +" ----------------------------------------------------------------------------- +" Name: Mountaineer +" Description: A Darn and Adventurous Vim Colorscheme +" Author: nuaNce <r3yan.chaudhry@zohomail.com> +" Website: https://github.com/co1ncidence/mountaineer.vim +" License: BSD 3-Clause License +" ----------------------------------------------------------------------------- +" +" GUI color definitions +let s:gui00 = "050505" +let g:base16_gui00 = "050505" + +let s:gui01 = "0f0f0f" +let g:base16_gui01 = "0f0f0f" + +let s:gui02 = "191919" +let g:base16_gui02 = "191919" + +let s:gui03 = "4c4c4c" +let g:base16_gui03 = "4c4c4c" + +let s:gui04 = "ac8a8c" +let g:base16_gui04 = "ac8a8c" + +let s:gui05 = "f0f0f0" +let g:base16_gui05 = "f0f0f0" + +let s:gui06 = "e7e7e7" +let g:base16_gui06 = "e7e7e7" + +let s:gui07 = "f0f0f0" +let g:base16_gui07 = "f0f0f0" +" red +let s:gui08 = "AC8A8C" +let g:base16_gui08 = "AC8A8C" +" orange +let s:gui09 = "AC8A8C" +let g:base16_gui09 = "AC8A8C" +" yellow +let s:gui0A = "ACA98A" +let g:base16_gui0A = "ACA98A" +" green +let s:gui0B = "8AAC8B" +let g:base16_gui0B = "8AAC8B" +" cyan +let s:gui0C = "8AABAC" +let g:base16_gui0C = "8AABAC" +" blue +let s:gui0D = "8F8AAC" +let g:base16_gui0D = "8F8AAC" +" magenta +let s:gui0E = "AC8AAC" +let g:base16_gui0E = "AC8AAC" +" dark red +let s:gui0F = "AC8A8C" +let g:base16_gui0F = "AC8A8C" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#050505" + let g:terminal_color_1 = "#AC8A8C" + let g:terminal_color_2 = "#8AAC8B" + let g:terminal_color_3 = "#ACA98A" + let g:terminal_color_4 = "#8F8AAC" + let g:terminal_color_5 = "#AC8AAC" + let g:terminal_color_6 = "#8AABAC" + let g:terminal_color_7 = "#e7e7e7" + let g:terminal_color_8 = "#676767" + let g:terminal_color_9 = "#AC8A8C" + let g:terminal_color_10 = "#8AAC8B" + let g:terminal_color_11 = "#ACA98A" + let g:terminal_color_12 = "#8F8AAC" + let g:terminal_color_13 = "#AC8AAC" + let g:terminal_color_14 = "#8AABAC" + let g:terminal_color_15 = "#f0f0f0" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#050505", + \ "#AC8A8C", + \ "#8AAC8B", + \ "#ACA98A", + \ "#8F8AAC", + \ "#AC8AAC", + \ "#8AABAC", + \ "#e7e7e7", + \ "#676767", + \ "#AC8A8C", + \ "#8AAC8B", + \ "#ACA98A", + \ "#8F8AAC", + \ "#AC8AAC", + \ "#8AABAC", + \ "#f0f0f0", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "mountaineer" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + if a:guifg != "" + exec "hi " . a:group . " guifg=#" . a:guifg + endif + if a:guibg != "" + exec "hi " . a:group . " guibg=#" . a:guibg + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + exec "hi " . a:group . " guisp=#" . l:guisp + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui00, "", s:cterm00, "", "", "") +call <sid>hi("LineNr", s:gui02, s:gui00, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui00, s:cterm04, s:cterm01, "", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/nord.vim b/nvim/plugged/awesome-vim-colorschemes/colors/nord.vim new file mode 100644 index 00000000..068dcb45 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/nord.vim @@ -0,0 +1,863 @@ +" Copyright (C) 2016-present Arctic Ice Studio <development@arcticicestudio.com> +" Copyright (C) 2016-present Sven Greb <development@svengreb.de> + +" Project: Nord Vim +" Repository: https://github.com/arcticicestudio/nord-vim +" License: MIT + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name = "nord" +let s:nord_vim_version="0.18.0" +set background=dark + +let s:nord0_gui = "#2E3440" +let s:nord1_gui = "#3B4252" +let s:nord2_gui = "#434C5E" +let s:nord3_gui = "#4C566A" +let s:nord3_gui_bright = "#616E88" +let s:nord4_gui = "#D8DEE9" +let s:nord5_gui = "#E5E9F0" +let s:nord6_gui = "#ECEFF4" +let s:nord7_gui = "#8FBCBB" +let s:nord8_gui = "#88C0D0" +let s:nord9_gui = "#81A1C1" +let s:nord10_gui = "#5E81AC" +let s:nord11_gui = "#BF616A" +let s:nord12_gui = "#D08770" +let s:nord13_gui = "#EBCB8B" +let s:nord14_gui = "#A3BE8C" +let s:nord15_gui = "#B48EAD" + +let s:nord1_term = "0" +let s:nord3_term = "8" +let s:nord5_term = "7" +let s:nord6_term = "15" +let s:nord7_term = "14" +let s:nord8_term = "6" +let s:nord9_term = "4" +let s:nord10_term = "12" +let s:nord11_term = "1" +let s:nord12_term = "11" +let s:nord13_term = "3" +let s:nord14_term = "2" +let s:nord15_term = "5" + +let s:nord3_gui_brightened = [ + \ s:nord3_gui, + \ "#4e586d", + \ "#505b70", + \ "#525d73", + \ "#556076", + \ "#576279", + \ "#59647c", + \ "#5b677f", + \ "#5d6982", + \ "#5f6c85", + \ "#616e88", + \ "#63718b", + \ "#66738e", + \ "#687591", + \ "#6a7894", + \ "#6d7a96", + \ "#6f7d98", + \ "#72809a", + \ "#75829c", + \ "#78859e", + \ "#7b88a1", +\ ] + +if !exists("g:nord_bold") + let g:nord_bold = 1 +endif + +let s:bold = "bold," +if g:nord_bold == 0 + let s:bold = "" +endif + +if !exists("g:nord_italic") + if has("gui_running") || $TERM_ITALICS == "true" + let g:nord_italic = 1 + else + let g:nord_italic = 0 + endif +endif + +let s:italic = "italic," +if g:nord_italic == 0 + let s:italic = "" +endif + +let s:underline = "underline," +if ! get(g:, "nord_underline", 1) + let s:underline = "NONE," +endif + +let s:italicize_comments = "" +if exists("g:nord_italic_comments") + if g:nord_italic_comments == 1 + let s:italicize_comments = s:italic + endif +endif + +if !exists('g:nord_uniform_status_lines') + let g:nord_uniform_status_lines = 0 +endif + +function! s:logWarning(msg) + echohl WarningMsg + echomsg 'nord: warning: ' . a:msg + echohl None +endfunction + +if exists("g:nord_comment_brightness") + call s:logWarning('Variable g:nord_comment_brightness has been deprecated and will be removed in version 1.0.0!' . + \' The comment color brightness has been increased by 10% by default.' . + \' Please see https://github.com/arcticicestudio/nord-vim/issues/145 for more details.') + let g:nord_comment_brightness = 10 +endif + +if !exists("g:nord_uniform_diff_background") + let g:nord_uniform_diff_background = 0 +endif + +if !exists("g:nord_cursor_line_number_background") + let g:nord_cursor_line_number_background = 0 +endif + +if !exists("g:nord_bold_vertical_split_line") + let g:nord_bold_vertical_split_line = 0 +endif + +function! s:hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + if a:guifg != "" + exec "hi " . a:group . " guifg=" . a:guifg + endif + if a:guibg != "" + exec "hi " . a:group . " guibg=" . a:guibg + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . substitute(a:attr, "undercurl", s:underline, "") + endif + if a:guisp != "" + exec "hi " . a:group . " guisp=" . a:guisp + endif +endfunction + +"+---------------+ +"+ UI Components + +"+---------------+ +"+--- Attributes ---+ +call s:hi("Bold", "", "", "", "", s:bold, "") +call s:hi("Italic", "", "", "", "", s:italic, "") +call s:hi("Underline", "", "", "", "", s:underline, "") + +"+--- Editor ---+ +call s:hi("ColorColumn", "", s:nord1_gui, "NONE", s:nord1_term, "", "") +call s:hi("Cursor", s:nord0_gui, s:nord4_gui, "", "NONE", "", "") +call s:hi("CursorLine", "", s:nord1_gui, "NONE", s:nord1_term, "NONE", "") +call s:hi("Error", s:nord4_gui, s:nord11_gui, "", s:nord11_term, "", "") +call s:hi("iCursor", s:nord0_gui, s:nord4_gui, "", "NONE", "", "") +call s:hi("LineNr", s:nord3_gui, "NONE", s:nord3_term, "NONE", "", "") +call s:hi("MatchParen", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "", "") +call s:hi("NonText", s:nord2_gui, "", s:nord3_term, "", "", "") +call s:hi("Normal", s:nord4_gui, s:nord0_gui, "NONE", "NONE", "", "") +call s:hi("Pmenu", s:nord4_gui, s:nord2_gui, "NONE", s:nord1_term, "NONE", "") +call s:hi("PmenuSbar", s:nord4_gui, s:nord2_gui, "NONE", s:nord1_term, "", "") +call s:hi("PmenuSel", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "", "") +call s:hi("PmenuThumb", s:nord8_gui, s:nord3_gui, "NONE", s:nord3_term, "", "") +call s:hi("SpecialKey", s:nord3_gui, "", s:nord3_term, "", "", "") +call s:hi("SpellBad", s:nord11_gui, s:nord0_gui, s:nord11_term, "NONE", "undercurl", s:nord11_gui) +call s:hi("SpellCap", s:nord13_gui, s:nord0_gui, s:nord13_term, "NONE", "undercurl", s:nord13_gui) +call s:hi("SpellLocal", s:nord5_gui, s:nord0_gui, s:nord5_term, "NONE", "undercurl", s:nord5_gui) +call s:hi("SpellRare", s:nord6_gui, s:nord0_gui, s:nord6_term, "NONE", "undercurl", s:nord6_gui) +call s:hi("Visual", "", s:nord2_gui, "", s:nord1_term, "", "") +call s:hi("VisualNOS", "", s:nord2_gui, "", s:nord1_term, "", "") +"+- Neovim Support -+ +call s:hi("healthError", s:nord11_gui, s:nord1_gui, s:nord11_term, s:nord1_term, "", "") +call s:hi("healthSuccess", s:nord14_gui, s:nord1_gui, s:nord14_term, s:nord1_term, "", "") +call s:hi("healthWarning", s:nord13_gui, s:nord1_gui, s:nord13_term, s:nord1_term, "", "") +call s:hi("TermCursorNC", "", s:nord1_gui, "", s:nord1_term, "", "") + +"+- Vim 8 Terminal Colors -+ +if has('terminal') + let g:terminal_ansi_colors = [s:nord1_gui, s:nord11_gui, s:nord14_gui, s:nord13_gui, s:nord9_gui, s:nord15_gui, s:nord8_gui, s:nord5_gui, s:nord3_gui, s:nord11_gui, s:nord14_gui, s:nord13_gui, s:nord9_gui, s:nord15_gui, s:nord7_gui, s:nord6_gui] +endif + +"+- Neovim Terminal Colors -+ +if has('nvim') + let g:terminal_color_0 = s:nord1_gui + let g:terminal_color_1 = s:nord11_gui + let g:terminal_color_2 = s:nord14_gui + let g:terminal_color_3 = s:nord13_gui + let g:terminal_color_4 = s:nord9_gui + let g:terminal_color_5 = s:nord15_gui + let g:terminal_color_6 = s:nord8_gui + let g:terminal_color_7 = s:nord5_gui + let g:terminal_color_8 = s:nord3_gui + let g:terminal_color_9 = s:nord11_gui + let g:terminal_color_10 = s:nord14_gui + let g:terminal_color_11 = s:nord13_gui + let g:terminal_color_12 = s:nord9_gui + let g:terminal_color_13 = s:nord15_gui + let g:terminal_color_14 = s:nord7_gui + let g:terminal_color_15 = s:nord6_gui +endif + +"+- Neovim Diagnostics API -+ +call s:hi("DiagnosticWarn", s:nord13_gui, "", s:nord13_term, "", "", "") +call s:hi("DiagnosticError" , s:nord11_gui, "", s:nord11_term, "", "", "") +call s:hi("DiagnosticInfo" , s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("DiagnosticHint" , s:nord10_gui, "", s:nord10_term, "", "", "") +call s:hi("DiagnosticUnderlineWarn" , s:nord13_gui, "", s:nord13_term, "", "undercurl", "") +call s:hi("DiagnosticUnderlineError" , s:nord11_gui, "", s:nord11_term, "", "undercurl", "") +call s:hi("DiagnosticUnderlineInfo" , s:nord8_gui, "", s:nord8_term, "", "undercurl", "") +call s:hi("DiagnosticUnderlineHint" , s:nord10_gui, "", s:nord10_term, "", "undercurl", "") + +"+- Neovim DocumentHighlight -+ +call s:hi("LspReferenceText", "", s:nord3_gui, "", s:nord3_term, "", "") +call s:hi("LspReferenceRead", "", s:nord3_gui, "", s:nord3_term, "", "") +call s:hi("LspReferenceWrite", "", s:nord3_gui, "", s:nord3_term, "", "") + +"+--- Gutter ---+ +call s:hi("CursorColumn", "", s:nord1_gui, "NONE", s:nord1_term, "", "") +if g:nord_cursor_line_number_background == 0 + call s:hi("CursorLineNr", s:nord4_gui, "", "NONE", "", "NONE", "") +else + call s:hi("CursorLineNr", s:nord4_gui, s:nord1_gui, "NONE", s:nord1_term, "NONE", "") +endif +call s:hi("Folded", s:nord3_gui, s:nord1_gui, s:nord3_term, s:nord1_term, s:bold, "") +call s:hi("FoldColumn", s:nord3_gui, s:nord0_gui, s:nord3_term, "NONE", "", "") +call s:hi("SignColumn", s:nord1_gui, s:nord0_gui, s:nord1_term, "NONE", "", "") + +"+--- Navigation ---+ +call s:hi("Directory", s:nord8_gui, "", s:nord8_term, "NONE", "", "") + +"+--- Prompt/Status ---+ +call s:hi("EndOfBuffer", s:nord1_gui, "", s:nord1_term, "NONE", "", "") +call s:hi("ErrorMsg", s:nord4_gui, s:nord11_gui, "NONE", s:nord11_term, "", "") +call s:hi("ModeMsg", s:nord4_gui, "", "", "", "", "") +call s:hi("MoreMsg", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("Question", s:nord4_gui, "", "NONE", "", "", "") +if g:nord_uniform_status_lines == 0 + call s:hi("StatusLine", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "NONE", "") + call s:hi("StatusLineNC", s:nord4_gui, s:nord1_gui, "NONE", s:nord1_term, "NONE", "") + call s:hi("StatusLineTerm", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "NONE", "") + call s:hi("StatusLineTermNC", s:nord4_gui, s:nord1_gui, "NONE", s:nord1_term, "NONE", "") +else + call s:hi("StatusLine", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "NONE", "") + call s:hi("StatusLineNC", s:nord4_gui, s:nord3_gui, "NONE", s:nord3_term, "NONE", "") + call s:hi("StatusLineTerm", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "NONE", "") + call s:hi("StatusLineTermNC", s:nord4_gui, s:nord3_gui, "NONE", s:nord3_term, "NONE", "") +endif +call s:hi("WarningMsg", s:nord0_gui, s:nord13_gui, s:nord1_term, s:nord13_term, "", "") +call s:hi("WildMenu", s:nord8_gui, s:nord1_gui, s:nord8_term, s:nord1_term, "", "") + +"+--- Search ---+ +call s:hi("IncSearch", s:nord6_gui, s:nord10_gui, s:nord6_term, s:nord10_term, s:underline, "") +call s:hi("Search", s:nord1_gui, s:nord8_gui, s:nord1_term, s:nord8_term, "NONE", "") + +"+--- Tabs ---+ +call s:hi("TabLine", s:nord4_gui, s:nord1_gui, "NONE", s:nord1_term, "NONE", "") +call s:hi("TabLineFill", s:nord4_gui, s:nord1_gui, "NONE", s:nord1_term, "NONE", "") +call s:hi("TabLineSel", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "NONE", "") + +"+--- Window ---+ +call s:hi("Title", s:nord4_gui, "", "NONE", "", "NONE", "") + +if g:nord_bold_vertical_split_line == 0 + call s:hi("VertSplit", s:nord2_gui, s:nord0_gui, s:nord3_term, "NONE", "NONE", "") +else + call s:hi("VertSplit", s:nord2_gui, s:nord1_gui, s:nord3_term, s:nord1_term, "NONE", "") +endif + +"+----------------------+ +"+ Language Base Groups + +"+----------------------+ +call s:hi("Boolean", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Character", s:nord14_gui, "", s:nord14_term, "", "", "") +call s:hi("Comment", s:nord3_gui_bright, "", s:nord3_term, "", s:italicize_comments, "") +call s:hi("Conceal", "", "NONE", "", "NONE", "", "") +call s:hi("Conditional", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Constant", s:nord4_gui, "", "NONE", "", "", "") +call s:hi("Decorator", s:nord12_gui, "", s:nord12_term, "", "", "") +call s:hi("Define", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Delimiter", s:nord6_gui, "", s:nord6_term, "", "", "") +call s:hi("Exception", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Float", s:nord15_gui, "", s:nord15_term, "", "", "") +call s:hi("Function", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("Identifier", s:nord4_gui, "", "NONE", "", "NONE", "") +call s:hi("Include", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Keyword", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Label", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Number", s:nord15_gui, "", s:nord15_term, "", "", "") +call s:hi("Operator", s:nord9_gui, "", s:nord9_term, "", "NONE", "") +call s:hi("PreProc", s:nord9_gui, "", s:nord9_term, "", "NONE", "") +call s:hi("Repeat", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Special", s:nord4_gui, "", "NONE", "", "", "") +call s:hi("SpecialChar", s:nord13_gui, "", s:nord13_term, "", "", "") +call s:hi("SpecialComment", s:nord8_gui, "", s:nord8_term, "", s:italicize_comments, "") +call s:hi("Statement", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("StorageClass", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("String", s:nord14_gui, "", s:nord14_term, "", "", "") +call s:hi("Structure", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Tag", s:nord4_gui, "", "", "", "", "") +call s:hi("Todo", s:nord13_gui, "NONE", s:nord13_term, "NONE", "", "") +call s:hi("Type", s:nord9_gui, "", s:nord9_term, "", "NONE", "") +call s:hi("Typedef", s:nord9_gui, "", s:nord9_term, "", "", "") +hi! link Annotation Decorator +hi! link Macro Define +hi! link PreCondit PreProc +hi! link Variable Identifier + +"+-----------+ +"+ Languages + +"+-----------+ +call s:hi("asciidocAttributeEntry", s:nord10_gui, "", s:nord10_term, "", "", "") +call s:hi("asciidocAttributeList", s:nord10_gui, "", s:nord10_term, "", "", "") +call s:hi("asciidocAttributeRef", s:nord10_gui, "", s:nord10_term, "", "", "") +call s:hi("asciidocHLabel", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("asciidocListingBlock", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("asciidocMacroAttributes", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("asciidocOneLineTitle", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("asciidocPassthroughBlock", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("asciidocQuotedMonospaced", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("asciidocTriplePlusPassthrough", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link asciidocAdmonition Keyword +hi! link asciidocAttributeRef markdownH1 +hi! link asciidocBackslash Keyword +hi! link asciidocMacro Keyword +hi! link asciidocQuotedBold Bold +hi! link asciidocQuotedEmphasized Italic +hi! link asciidocQuotedMonospaced2 asciidocQuotedMonospaced +hi! link asciidocQuotedUnconstrainedBold asciidocQuotedBold +hi! link asciidocQuotedUnconstrainedEmphasized asciidocQuotedEmphasized +hi! link asciidocURL markdownLinkText + +call s:hi("awkCharClass", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("awkPatterns", s:nord9_gui, "", s:nord9_term, "", s:bold, "") +hi! link awkArrayElement Identifier +hi! link awkBoolLogic Keyword +hi! link awkBrktRegExp SpecialChar +hi! link awkComma Delimiter +hi! link awkExpression Keyword +hi! link awkFieldVars Identifier +hi! link awkLineSkip Keyword +hi! link awkOperator Operator +hi! link awkRegExp SpecialChar +hi! link awkSearch Keyword +hi! link awkSemicolon Delimiter +hi! link awkSpecialCharacter SpecialChar +hi! link awkSpecialPrintf SpecialChar +hi! link awkVariables Identifier + +call s:hi("cIncluded", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link cOperator Operator +hi! link cPreCondit PreCondit + +call s:hi("cmakeGeneratorExpression", s:nord10_gui, "", s:nord10_term, "", "", "") + +hi! link csPreCondit PreCondit +hi! link csType Type +hi! link csXmlTag SpecialComment + +call s:hi("cssAttributeSelector", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("cssDefinition", s:nord7_gui, "", s:nord7_term, "", "NONE", "") +call s:hi("cssIdentifier", s:nord7_gui, "", s:nord7_term, "", s:underline, "") +call s:hi("cssStringQ", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link cssAttr Keyword +hi! link cssBraces Delimiter +hi! link cssClassName cssDefinition +hi! link cssColor Number +hi! link cssProp cssDefinition +hi! link cssPseudoClass cssDefinition +hi! link cssPseudoClassId cssPseudoClass +hi! link cssVendor Keyword + +call s:hi("dosiniHeader", s:nord8_gui, "", s:nord8_term, "", "", "") +hi! link dosiniLabel Type + +call s:hi("dtBooleanKey", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("dtExecKey", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("dtLocaleKey", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("dtNumericKey", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("dtTypeKey", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link dtDelim Delimiter +hi! link dtLocaleValue Keyword +hi! link dtTypeValue Keyword + +if g:nord_uniform_diff_background == 0 + call s:hi("DiffAdd", s:nord14_gui, s:nord0_gui, s:nord14_term, "NONE", "inverse", "") + call s:hi("DiffChange", s:nord13_gui, s:nord0_gui, s:nord13_term, "NONE", "inverse", "") + call s:hi("DiffDelete", s:nord11_gui, s:nord0_gui, s:nord11_term, "NONE", "inverse", "") + call s:hi("DiffText", s:nord9_gui, s:nord0_gui, s:nord9_term, "NONE", "inverse", "") +else + call s:hi("DiffAdd", s:nord14_gui, s:nord1_gui, s:nord14_term, s:nord1_term, "", "") + call s:hi("DiffChange", s:nord13_gui, s:nord1_gui, s:nord13_term, s:nord1_term, "", "") + call s:hi("DiffDelete", s:nord11_gui, s:nord1_gui, s:nord11_term, s:nord1_term, "", "") + call s:hi("DiffText", s:nord9_gui, s:nord1_gui, s:nord9_term, s:nord1_term, "", "") +endif +" Legacy groups for official git.vim and diff.vim syntax +hi! link diffAdded DiffAdd +hi! link diffChanged DiffChange +hi! link diffRemoved DiffDelete + +call s:hi("gitconfigVariable", s:nord7_gui, "", s:nord7_term, "", "", "") + +call s:hi("goBuiltins", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link goConstants Keyword + +call s:hi("helpBar", s:nord3_gui, "", s:nord3_term, "", "", "") +call s:hi("helpHyperTextJump", s:nord8_gui, "", s:nord8_term, "", s:underline, "") + +call s:hi("htmlArg", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("htmlLink", s:nord4_gui, "", "", "", "NONE", "NONE") +hi! link htmlBold Bold +hi! link htmlEndTag htmlTag +hi! link htmlItalic Italic +hi! link htmlH1 markdownH1 +hi! link htmlH2 markdownH1 +hi! link htmlH3 markdownH1 +hi! link htmlH4 markdownH1 +hi! link htmlH5 markdownH1 +hi! link htmlH6 markdownH1 +hi! link htmlSpecialChar SpecialChar +hi! link htmlTag Keyword +hi! link htmlTagN htmlTag + +call s:hi("javaDocTags", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link javaCommentTitle Comment +hi! link javaScriptBraces Delimiter +hi! link javaScriptIdentifier Keyword +hi! link javaScriptNumber Number + +call s:hi("jsonKeyword", s:nord7_gui, "", s:nord7_term, "", "", "") + +call s:hi("lessClass", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link lessAmpersand Keyword +hi! link lessCssAttribute Delimiter +hi! link lessFunction Function +hi! link cssSelectorOp Keyword + +hi! link lispAtomBarSymbol SpecialChar +hi! link lispAtomList SpecialChar +hi! link lispAtomMark Keyword +hi! link lispBarSymbol SpecialChar +hi! link lispFunc Function + +hi! link luaFunc Function + +call s:hi("markdownBlockquote", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("markdownCode", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("markdownCodeDelimiter", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("markdownFootnote", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("markdownId", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("markdownIdDeclaration", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("markdownH1", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("markdownLinkText", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("markdownUrl", s:nord4_gui, "", "NONE", "", "NONE", "") +hi! link markdownBold Bold +hi! link markdownBoldDelimiter Keyword +hi! link markdownFootnoteDefinition markdownFootnote +hi! link markdownH2 markdownH1 +hi! link markdownH3 markdownH1 +hi! link markdownH4 markdownH1 +hi! link markdownH5 markdownH1 +hi! link markdownH6 markdownH1 +hi! link markdownIdDelimiter Keyword +hi! link markdownItalic Italic +hi! link markdownItalicDelimiter Keyword +hi! link markdownLinkDelimiter Keyword +hi! link markdownLinkTextDelimiter Keyword +hi! link markdownListMarker Keyword +hi! link markdownRule Keyword +hi! link markdownHeadingDelimiter Keyword + +call s:hi("perlPackageDecl", s:nord7_gui, "", s:nord7_term, "", "", "") + +call s:hi("phpClasses", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("phpDocTags", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link phpDocCustomTags phpDocTags +hi! link phpMemberSelector Keyword + +call s:hi("podCmdText", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("podVerbatimLine", s:nord4_gui, "", "NONE", "", "", "") +hi! link podFormat Keyword + +hi! link pythonBuiltin Type +hi! link pythonEscape SpecialChar + +call s:hi("rubyConstant", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("rubySymbol", s:nord6_gui, "", s:nord6_term, "", s:bold, "") +hi! link rubyAttribute Identifier +hi! link rubyBlockParameterList Operator +hi! link rubyInterpolationDelimiter Keyword +hi! link rubyKeywordAsMethod Function +hi! link rubyLocalVariableOrMethod Function +hi! link rubyPseudoVariable Keyword +hi! link rubyRegexp SpecialChar + +call s:hi("rustAttribute", s:nord10_gui, "", s:nord10_term, "", "", "") +call s:hi("rustEnum", s:nord7_gui, "", s:nord7_term, "", s:bold, "") +call s:hi("rustMacro", s:nord8_gui, "", s:nord8_term, "", s:bold, "") +call s:hi("rustModPath", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("rustPanic", s:nord9_gui, "", s:nord9_term, "", s:bold, "") +call s:hi("rustTrait", s:nord7_gui, "", s:nord7_term, "", s:italic, "") +hi! link rustCommentLineDoc Comment +hi! link rustDerive rustAttribute +hi! link rustEnumVariant rustEnum +hi! link rustEscape SpecialChar +hi! link rustQuestionMark Keyword + +call s:hi("sassClass", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("sassId", s:nord7_gui, "", s:nord7_term, "", s:underline, "") +hi! link sassAmpersand Keyword +hi! link sassClassChar Delimiter +hi! link sassControl Keyword +hi! link sassControlLine Keyword +hi! link sassExtend Keyword +hi! link sassFor Keyword +hi! link sassFunctionDecl Keyword +hi! link sassFunctionName Function +hi! link sassidChar sassId +hi! link sassInclude SpecialChar +hi! link sassMixinName Function +hi! link sassMixing SpecialChar +hi! link sassReturn Keyword + +hi! link shCmdParenRegion Delimiter +hi! link shCmdSubRegion Delimiter +hi! link shDerefSimple Identifier +hi! link shDerefVar Identifier + +hi! link sqlKeyword Keyword +hi! link sqlSpecial Keyword + +call s:hi("vimAugroup", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("vimMapRhs", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("vimNotation", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link vimFunc Function +hi! link vimFunction Function +hi! link vimUserFunc Function + +call s:hi("xmlAttrib", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("xmlCdataStart", s:nord3_gui_bright, "", s:nord3_term, "", s:bold, "") +call s:hi("xmlNamespace", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link xmlAttribPunct Delimiter +hi! link xmlCdata Comment +hi! link xmlCdataCdata xmlCdataStart +hi! link xmlCdataEnd xmlCdataStart +hi! link xmlEndTag xmlTagName +hi! link xmlProcessingDelim Keyword +hi! link xmlTagName Keyword + +call s:hi("yamlBlockMappingKey", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link yamlBool Keyword +hi! link yamlDocumentStart Keyword + +"+----------------+ +"+ Plugin Support + +"+----------------+ +"+--- UI ---+ +" ALE +" > w0rp/ale +call s:hi("ALEWarningSign", s:nord13_gui, "", s:nord13_term, "", "", "") +call s:hi("ALEErrorSign" , s:nord11_gui, "", s:nord11_term, "", "", "") +call s:hi("ALEWarning" , s:nord13_gui, "", s:nord13_term, "", "undercurl", "") +call s:hi("ALEError" , s:nord11_gui, "", s:nord11_term, "", "undercurl", "") + +" Coc +" > neoclide/coc +call s:hi("CocWarningHighlight" , s:nord13_gui, "", s:nord13_term, "", "undercurl", "") +call s:hi("CocErrorHighlight" , s:nord11_gui, "", s:nord11_term, "", "undercurl", "") +call s:hi("CocWarningSign", s:nord13_gui, "", s:nord13_term, "", "", "") +call s:hi("CocErrorSign" , s:nord11_gui, "", s:nord11_term, "", "", "") +call s:hi("CocInfoSign" , s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("CocHintSign" , s:nord10_gui, "", s:nord10_term, "", "", "") + +" Neovim LSP +" > neovim/nvim-lspconfig +call s:hi("LspCodeLens", s:nord3_gui_bright, "", s:nord3_term, "", "", "") +if has("nvim-0.5") + call s:hi("LspDiagnosticsDefaultWarning", s:nord13_gui, "", s:nord13_term, "", "", "") + call s:hi("LspDiagnosticsDefaultError" , s:nord11_gui, "", s:nord11_term, "", "", "") + call s:hi("LspDiagnosticsDefaultInformation" , s:nord8_gui, "", s:nord8_term, "", "", "") + call s:hi("LspDiagnosticsDefaultHint" , s:nord10_gui, "", s:nord10_term, "", "", "") + call s:hi("LspDiagnosticsUnderlineWarning" , s:nord13_gui, "", s:nord13_term, "", "undercurl", "") + call s:hi("LspDiagnosticsUnderlineError" , s:nord11_gui, "", s:nord11_term, "", "undercurl", "") + call s:hi("LspDiagnosticsUnderlineInformation" , s:nord8_gui, "", s:nord8_term, "", "undercurl", "") + call s:hi("LspDiagnosticsUnderlineHint" , s:nord10_gui, "", s:nord10_term, "", "undercurl", "") +endif + +" GitGutter +" > airblade/vim-gitgutter +call s:hi("GitGutterAdd", s:nord14_gui, "", s:nord14_term, "", "", "") +call s:hi("GitGutterChange", s:nord13_gui, "", s:nord13_term, "", "", "") +call s:hi("GitGutterChangeDelete", s:nord11_gui, "", s:nord11_term, "", "", "") +call s:hi("GitGutterDelete", s:nord11_gui, "", s:nord11_term, "", "", "") + +" Signify +" > mhinz/vim-signify +call s:hi("SignifySignAdd", s:nord14_gui, "", s:nord14_term, "", "", "") +call s:hi("SignifySignChange", s:nord13_gui, "", s:nord13_term, "", "", "") +call s:hi("SignifySignChangeDelete", s:nord11_gui, "", s:nord11_term, "", "", "") +call s:hi("SignifySignDelete", s:nord11_gui, "", s:nord11_term, "", "", "") + +" fugitive.vim +" > tpope/vim-fugitive +call s:hi("gitcommitDiscardedFile", s:nord11_gui, "", s:nord11_term, "", "", "") +call s:hi("gitcommitUntrackedFile", s:nord11_gui, "", s:nord11_term, "", "", "") +call s:hi("gitcommitSelectedFile", s:nord14_gui, "", s:nord14_term, "", "", "") + +" davidhalter/jedi-vim +call s:hi("jediFunction", s:nord4_gui, s:nord3_gui, "", s:nord3_term, "", "") +call s:hi("jediFat", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, s:underline.s:bold, "") + +" NERDTree +" > scrooloose/nerdtree +call s:hi("NERDTreeExecFile", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link NERDTreeDirSlash Keyword +hi! link NERDTreeHelp Comment + +" CtrlP +" > ctrlpvim/ctrlp.vim +hi! link CtrlPMatch Keyword +hi! link CtrlPBufferHid Normal + +" vim-clap +" > liuchengxu/vim-clap +call s:hi("ClapDir", s:nord4_gui, "", "", "", "", "") +call s:hi("ClapDisplay", s:nord4_gui, s:nord1_gui, "", s:nord1_term, "", "") +call s:hi("ClapFile", s:nord4_gui, "", "", "NONE", "", "") +call s:hi("ClapMatches", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("ClapNoMatchesFound", s:nord13_gui, "", s:nord13_term, "", "", "") +call s:hi("ClapSelected", s:nord7_gui, "", s:nord7_term, "", s:bold, "") +call s:hi("ClapSelectedSign", s:nord9_gui, "", s:nord9_term, "", "", "") + +let s:clap_matches = [ + \ [s:nord8_gui, s:nord8_term] , + \ [s:nord9_gui, s:nord9_term] , + \ [s:nord10_gui, s:nord10_term] , + \ ] +for s:nord_clap_match_i in range(1,12) + let clap_match_color = s:clap_matches[s:nord_clap_match_i % len(s:clap_matches) - 1] + call s:hi("ClapMatches" . s:nord_clap_match_i, clap_match_color[0], "", clap_match_color[1], "", "", "") + call s:hi("ClapFuzzyMatches" . s:nord_clap_match_i, clap_match_color[0], "", clap_match_color[1], "", "", "") +endfor +unlet s:nord_clap_match_i + +hi! link ClapCurrentSelection PmenuSel +hi! link ClapCurrentSelectionSign ClapSelectedSign +hi! link ClapInput Pmenu +hi! link ClapPreview Pmenu +hi! link ClapProviderAbout ClapDisplay +hi! link ClapProviderColon Type +hi! link ClapProviderId Type + +" vim-indent-guides +" > nathanaelkane/vim-indent-guides +call s:hi("IndentGuidesEven", "", s:nord1_gui, "", s:nord1_term, "", "") +call s:hi("IndentGuidesOdd", "", s:nord2_gui, "", s:nord3_term, "", "") + +" vim-plug +" > junegunn/vim-plug +call s:hi("plugDeleted", s:nord11_gui, "", "", s:nord11_term, "", "") + +" vim-signature +" > kshenoy/vim-signature +call s:hi("SignatureMarkText", s:nord8_gui, "", s:nord8_term, "", "", "") + +" vim-startify +" > mhinz/vim-startify +call s:hi("StartifyFile", s:nord6_gui, "", s:nord6_term, "", "", "") +call s:hi("StartifyFooter", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("StartifyHeader", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("StartifyNumber", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("StartifyPath", s:nord8_gui, "", s:nord8_term, "", "", "") +hi! link StartifyBracket Delimiter +hi! link StartifySlash Normal +hi! link StartifySpecial Comment + +"+--- Languages ---+ +" Haskell +" > neovimhaskell/haskell-vim +call s:hi("haskellPreProc", s:nord10_gui, "", s:nord10_term, "", "", "") +call s:hi("haskellType", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link haskellPragma haskellPreProc + +" JavaScript +" > pangloss/vim-javascript +call s:hi("jsGlobalNodeObjects", s:nord8_gui, "", s:nord8_term, "", s:italic, "") +hi! link jsBrackets Delimiter +hi! link jsFuncCall Function +hi! link jsFuncParens Delimiter +hi! link jsThis Keyword +hi! link jsNoise Delimiter +hi! link jsPrototype Keyword +hi! link jsRegexpString SpecialChar + +" Pandoc +" > vim-pandoc/vim-pandoc-syntax +call s:hi("pandocDefinitionBlockTerm", s:nord7_gui, "", s:nord7_term, "", s:italic, "") +call s:hi("pandocTableDelims", s:nord3_gui, "", s:nord3_term, "", "", "") +hi! link pandocAtxHeader markdownH1 +hi! link pandocBlockQuote markdownBlockquote +hi! link pandocCiteAnchor Operator +hi! link pandocCiteKey pandocReferenceLabel +hi! link pandocDefinitionBlockMark Operator +hi! link pandocEmphasis markdownItalic +hi! link pandocFootnoteID pandocReferenceLabel +hi! link pandocFootnoteIDHead markdownLinkDelimiter +hi! link pandocFootnoteIDTail pandocFootnoteIDHead +hi! link pandocGridTableDelims pandocTableDelims +hi! link pandocGridTableHeader pandocTableDelims +hi! link pandocOperator Operator +hi! link pandocPipeTableDelims pandocTableDelims +hi! link pandocReferenceDefinition pandocReferenceLabel +hi! link pandocReferenceLabel markdownLinkText +hi! link pandocReferenceURL markdownUrl +hi! link pandocSimpleTableHeader pandocAtxHeader +hi! link pandocStrong markdownBold +hi! link pandocTableHeaderWord pandocAtxHeader +hi! link pandocUListItemBullet Operator + +" tree-sitter +" > nvim-treesitter/nvim-treesitter +if has("nvim") + hi! link TSAnnotation Annotation + hi! link TSConstBuiltin Constant + hi! link TSConstructor Function + hi! link TSEmphasis Italic + hi! link TSFuncBuiltin Function + hi! link TSFuncMacro Function + hi! link TSStringRegex SpecialChar + hi! link TSStrong Bold + hi! link TSStructure Structure + hi! link TSTagDelimiter TSTag + hi! link TSUnderline Underline + hi! link TSVariable Variable + hi! link TSVariableBuiltin Keyword +endif + +" TypeScript +" > HerringtonDarkholme/yats.vim +call s:hi("typescriptBOMWindowMethod", s:nord8_gui, "", s:nord8_term, "", s:italic, "") +call s:hi("typescriptClassName", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("typescriptDecorator", s:nord12_gui, "", s:nord12_term, "", "", "") +call s:hi("typescriptInterfaceName", s:nord7_gui, "", s:nord7_term, "", s:bold, "") +call s:hi("typescriptRegexpString", s:nord13_gui, "", s:nord13_term, "", "", "") +" TypeScript JSX + call s:hi("tsxAttrib", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link typescriptOperator Operator +hi! link typescriptBinaryOp Operator +hi! link typescriptAssign Operator +hi! link typescriptMember Identifier +hi! link typescriptDOMStorageMethod Identifier +hi! link typescriptArrowFuncArg Identifier +hi! link typescriptGlobal typescriptClassName +hi! link typescriptBOMWindowProp Function +hi! link typescriptArrowFuncDef Function +hi! link typescriptAliasDeclaration Function +hi! link typescriptPredefinedType Type +hi! link typescriptTypeReference typescriptClassName +hi! link typescriptTypeAnnotation Structure +hi! link typescriptDocNamedParamType SpecialComment +hi! link typescriptDocNotation Keyword +hi! link typescriptDocTags Keyword +hi! link typescriptImport Keyword +hi! link typescriptExport Keyword +hi! link typescriptTry Keyword +hi! link typescriptVariable Keyword +hi! link typescriptBraces Normal +hi! link typescriptObjectLabel Normal +hi! link typescriptCall Normal +hi! link typescriptClassHeritage typescriptClassName +hi! link typescriptFuncTypeArrow Structure +hi! link typescriptMemberOptionality Structure +hi! link typescriptNodeGlobal typescriptGlobal +hi! link typescriptTypeBrackets Structure +hi! link tsxEqual Operator +hi! link tsxIntrinsicTagName htmlTag +hi! link tsxTagName tsxIntrinsicTagName + +" Markdown +" > plasticboy/vim-markdown +call s:hi("mkdCode", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("mkdFootnote", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("mkdRule", s:nord10_gui, "", s:nord10_term, "", "", "") +call s:hi("mkdLineBreak", s:nord9_gui, "", s:nord9_term, "", "", "") +hi! link mkdBold Bold +hi! link mkdItalic Italic +hi! link mkdString Keyword +hi! link mkdCodeStart mkdCode +hi! link mkdCodeEnd mkdCode +hi! link mkdBlockquote Comment +hi! link mkdListItem Keyword +hi! link mkdListItemLine Normal +hi! link mkdFootnotes mkdFootnote +hi! link mkdLink markdownLinkText +hi! link mkdURL markdownUrl +hi! link mkdInlineURL mkdURL +hi! link mkdID Identifier +hi! link mkdLinkDef mkdLink +hi! link mkdLinkDefTarget mkdURL +hi! link mkdLinkTitle mkdInlineURL +hi! link mkdDelimiter Keyword + +" PHP +" > StanAngeloff/php.vim +call s:hi("phpClass", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("phpClassImplements", s:nord7_gui, "", s:nord7_term, "", s:bold, "") +hi! link phpClassExtends phpClass +hi! link phpFunction Function +hi! link phpMethod Function +hi! link phpUseClass phpClass + +" Vimwiki +" > vimwiki/vimwiki +if !exists("g:vimwiki_hl_headers") || g:vimwiki_hl_headers == 0 + for s:i in range(1,6) + call s:hi("VimwikiHeader".s:i, s:nord8_gui, "", s:nord8_term, "", s:bold, "") + endfor +else + let s:vimwiki_hcolor_guifg = [s:nord7_gui, s:nord8_gui, s:nord9_gui, s:nord10_gui, s:nord14_gui, s:nord15_gui] + let s:vimwiki_hcolor_ctermfg = [s:nord7_term, s:nord8_term, s:nord9_term, s:nord10_term, s:nord14_term, s:nord15_term] + for s:i in range(1,6) + call s:hi("VimwikiHeader".s:i, s:vimwiki_hcolor_guifg[s:i-1] , "", s:vimwiki_hcolor_ctermfg[s:i-1], "", s:bold, "") + endfor +endif + +call s:hi("VimwikiLink", s:nord8_gui, "", s:nord8_term, "", s:underline, "") +hi! link VimwikiHeaderChar markdownHeadingDelimiter +hi! link VimwikiHR Keyword +hi! link VimwikiList markdownListMarker + +" YAML +" > stephpy/vim-yaml +call s:hi("yamlKey", s:nord7_gui, "", s:nord7_term, "", "", "") + +"+------------+ +"+ Public API + +"+------------+ +"+--- Functions ---+ + +function! NordPalette() abort + let ret = {} + for color in range(16) + execute 'let ret["nord'.color.'"] = s:nord'.color.'_gui' + endfor + let ret["nord3_bright"] = s:nord3_gui_bright + return ret +endfunction diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/oceanic_material.vim b/nvim/plugged/awesome-vim-colorschemes/colors/oceanic_material.vim new file mode 100644 index 00000000..3db0347b --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/oceanic_material.vim @@ -0,0 +1,1170 @@ +" =============================================================== +" Theme: Oceanice_Material +" Author: Glepnir +" License: MIT +" Source: http://github.com/hardcoreplayers/oceanic_material +" =============================================================== + +" Initialization: {{{ +" +hi clear + +if exists("syntax_on") + syntax reset +endif + +set background=dark + +let g:colors_name = "oceanic_material" +let s:oceanic_material_version = '0.2.2' + +if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256 + finish +endif + +let s:oceanic_material_transparent_background = get(g:,'oceanic_material_transparent_background',0) + +let s:oceanic_material_background = get(g:,'oceanic_material_background','ocean') + +let s:oceanic_material_allow_bold = get(g:,'oceanic_material_allow_bold', 0) + +let s:oceanic_material_allow_italic = get(g:,'oceanic_material_allow_italic',0) + +let s:oceanic_material_allow_underline = get(g:,'oceanic_material_allow_underline',0) + +let s:oceanic_material_allow_reverse = get(g:,'oceanic_material_allow_reverse',0) + +let s:oceanic_material_allow_undercurl = get(g:,'oceanic_material_allow_undercurl',0) + +let s:bold = '' +if s:oceanic_material_allow_bold == 1 + let s:bold = ' cterm=bold gui=bold ' +endif + +let s:italic = '' +if s:oceanic_material_allow_italic == 1 + let s:italic = ' cterm=italic gui=italic ' +endif + +let s:underline = '' +if s:oceanic_material_allow_underline == 1 + let s:underline = ' cterm=underline gui=underline ' +endif + +let s:reverse = '' +if s:oceanic_material_allow_reverse == 1 + let s:reverse = ' cterm=reverse gui=reverse ' +endif + +let s:undercurl = '' +if s:oceanic_material_allow_undercurl == 1 + let s:undercurl = ' cterm=undercurl gui=undercurl ' +endif + +let s:background = { + \'medium': ['#282C34', '235'], + \'ocean' : ['#1b2b34', '235'], + \'deep': ['#212121', 'NONE'], + \'darker': ['#1d1f21', '234'], + \} + +let s:colors = { + \ 'bg0': s:background[s:oceanic_material_background], + \ 'bg1': ['#343d46', '237'], + \ 'bg2': ['#282828', '235'], + \ 'bg3': ['#3c3836', '237'], + \ 'bg4': ['#3c3836', '237'], + \ 'bg5': ['#504945', '239'], + \ 'fg0': ['#d4be98', '223'], + \ 'fg1': ['#ddc7a1', '223'], + \ 'fg3': ['#4f5b66', '17'], + \ 'red': ['#EC5f67', '203'], + \ 'magenta': ['#d16d9e', '205'], + \ 'orange': ['#e78a4e', '208'], + \ 'yellow': ['#d8a657', '214'], + \ 'green': ['#a7c777', '111'], + \ 'aqua': ['#62b3b2', '73'], + \ 'blue': ['#6699cc', '68'], + \ 'purple': ['#c594c5', '176'], + \ 'black': ['#000000', '0'], + \ 'bg_red': ['#ea6962', '167'], + \ 'grey0': ['#7c6f64', '243'], + \ 'grey1': ['#928374', '245'], + \ 'grey2': ['#a89984', '246'], + \ 'operator_base05': ['#c0c5ce', '251'], + \ 'none': ['NONE', 'NONE'] + \ } + +function! g:OceanicMaterialPalette() + return copy(s:colors) +endfunction + +function! g:OceanicMaterial() + echo s:oceanic_material_version +endfunction + +function! s:create_color_variables() abort + for key in keys(s:colors) + let palette = get(s:colors,key) + let {'s:fg_' . key} = ' guifg='.palette[0].' ctermfg='.palette[1].' ' + let {'s:bg_' . key} = ' guibg='.palette[0].' ctermbg='.palette[1]. ' ' + endfor + let s:sp_red = ' guisp='.s:colors.red[0] . ' ' + let s:sp_blue = ' guisp='.s:colors.blue[0] . ' ' + let s:sp_aqua = ' guisp='.s:colors.aqua[0] . ' ' + let s:sp_yellow = ' guisp='.s:colors.yellow[0] . ' ' + let s:sp_purple = ' guisp='.s:colors.purple[0] . ' ' +endfunction + +function! s:set_color_variables() abort + call s:create_color_variables() + let s:terminal = { + \ 'black': s:colors.bg0, + \ 'red': s:colors.red, + \ 'yellow': s:colors.yellow, + \ 'green': s:colors.green, + \ 'cyan': s:colors.aqua, + \ 'blue': s:colors.blue, + \ 'purple': s:colors.purple, + \ 'white': s:colors.fg0, + \ 'light_grey': s:colors.bg5, + \ 'dark_grey': s:colors.grey0, + \ } + let g:terminal_color_0 = s:terminal.black[0] + let g:terminal_color_1 = s:terminal.red[0] + let g:terminal_color_2 = s:terminal.green[0] + let g:terminal_color_3 = s:terminal.yellow[0] + let g:terminal_color_4 = s:terminal.blue[0] + let g:terminal_color_5 = s:terminal.purple[0] + let g:terminal_color_6 = s:terminal.cyan[0] + let g:terminal_color_7 = s:terminal.light_grey[0] + let g:terminal_color_8 = s:terminal.dark_grey[0] + let g:terminal_color_9 = s:terminal.red[0] + let g:terminal_color_10 = s:terminal.green[0] + let g:terminal_color_11 = s:terminal.yellow[0] + let g:terminal_color_12 = s:terminal.blue[0] + let g:terminal_color_13 = s:terminal.purple[0] + let g:terminal_color_14 = s:terminal.cyan[0] + let g:terminal_color_15 = s:terminal.white[0] +endfunction + +" Oceanic Material Transparent BackGround +function! s:apply_syntax_highlightings() + if s:oceanic_material_transparent_background + exec 'hi Normal' . s:fg_fg0 . s:bg_none + exec 'hi Terminal' . s:fg_fg0 . s:bg_none + exec 'hi FoldColumn' . s:fg_grey0 . s:bg_none + exec 'hi SignColumn' . s:fg_fg0 . s:bg_none + exec 'hi ToolbarLine' . s:fg_fg0 . s:bg_none + exec 'hi VertSplit' . s:fg_black . s:bg_none . 'gui=NONE cterm=NONE' + else + exec 'hi Normal' . s:fg_fg0 . s:bg_bg0 + exec 'hi Terminal' . s:fg_fg0 . s:bg_bg0 + exec 'hi ToolbarLine' . s:fg_fg1 . s:bg_bg3 + exec 'hi SignColumn' . s:fg_fg0 . s:bg_bg0 + exec 'hi FoldColumn' . s:fg_grey0 . s:bg_bg2 + exec 'hi VertSplit' . s:fg_bg0 . s:bg_black + endif + exec 'hi Folded' . s:fg_grey1 . s:bg_bg2 + exec 'hi EndOfBuffer' . s:fg_bg0 . s:bg_none + exec 'hi IncSearch'. s:fg_bg1 . s:bg_orange .' cterm=NONE gui=NONE ' + exec 'hi Search'. s:fg_bg0 . s:bg_green + exec 'hi ColorColumn'. s:fg_none . s:bg_bg1 + exec 'hi Conceal'. s:fg_grey1 . s:bg_none + exec 'hi Cursor'. s:fg_none . s:bg_none . s:reverse + exec 'hi vCursor'. s:fg_none . s:bg_none . s:reverse + exec 'hi iCursor'. s:fg_none . s:bg_none . s:reverse + exec 'hi lCursor'. s:fg_none . s:bg_none . s:reverse + exec 'hi CursorIM'. s:fg_none . s:bg_none . s:reverse + exec 'hi CursorColumn'. s:fg_none. s:fg_bg1 + exec 'hi CursorLine'. s:fg_none . s:bg_bg1 + exec 'hi LineNr'. s:fg_grey0 + exec 'hi CursorLineNr'. s:fg_fg1 + exec 'hi DiffAdd'. s:fg_black . s:bg_green + exec 'hi DiffChange'. s:fg_black. s:bg_yellow + exec 'hi DiffDelete'. s:fg_black. s:bg_red + exec 'hi DiffText'. s:fg_black . s:bg_fg0 + exec 'hi Directory'. s:fg_bg5. s:bg_none + exec 'hi ErrorMsg'. s:fg_red. s:bg_none. s:bold . s:underline + exec 'hi WarningMsg'. s:fg_yellow. s:bg_none. s:bold + exec 'hi ModeMsg'. s:fg_fg0. s:bg_none. s:bold + exec 'hi MoreMsg'. s:fg_yellow. s:bg_none. s:bold + exec 'hi MatchParen'. s:fg_none. s:bg_bg4 + exec 'hi NonText'. s:fg_bg5 + exec 'hi Whitespace'. s:fg_bg5 + exec 'hi SpecialKey'. s:fg_bg5 + exec 'hi Pmenu'. s:fg_fg1. s:bg_bg1 + exec 'hi PmenuSbar'. s:fg_none. s:bg_fg3 + exec 'hi PmenuSel'. s:fg_bg3. s:bg_blue + exec 'hi PmenuThumb'. s:fg_none. s:bg_operator_base05 + exec 'hi WildMenu'. s:fg_bg3. s:bg_green + exec 'hi Question'. s:fg_yellow + exec 'hi NormalFloat' .s:fg_fg1 . s:bg_bg3 + " Tabline + exec 'hi TabLineFill' . ' gui=NONE cterm=NONE' + " Statusline + exec 'hi StatusLine'. s:fg_fg1. s:bg_none .'gui=NONE' + exec 'hi StatusLineNC'. s:fg_grey1 . s:bg_none .'cterm=NONE gui=NONE' + " spell + exec 'hi SpellBad'. s:fg_red. s:bg_none. s:undercurl. s:sp_red + exec 'hi SpellCap'. s:fg_blue. s:bg_none. s:undercurl. s:sp_blue + exec 'hi SpellLocal'. s:fg_aqua. s:bg_none. s:undercurl. s:sp_aqua + exec 'hi SpellRare'. s:fg_purple. s:bg_none. s:undercurl. s:sp_purple + + exec 'hi Visual'. s:fg_black . s:bg_operator_base05 .s:reverse + exec 'hi VisualNOS'. s:fg_black . s:bg_operator_base05 . s:reverse + + exec 'hi QuickFixLine'. s:fg_purple. s:bold + exec 'hi Debug'. s:fg_orange + exec 'hi debugPC'. s:fg_bg0. s:bg_green + exec 'hi debugBreakpoint'. s:fg_bg0. s:bg_red + exec 'hi ToolbarButton'. s:fg_bg0. s:bg_grey2 + + " Syntax + exec 'hi Boolean'. s:fg_orange + exec 'hi Number'. s:fg_purple + exec 'hi Float'. s:fg_purple + exec 'hi PreProc'. s:fg_purple. s:italic + exec 'hi PreCondit'. s:fg_purple. s:italic + exec 'hi Include'. s:fg_purple. s:italic + exec 'hi Define'. s:fg_purple. s:italic + exec 'hi Conditional'. s:fg_purple . s:italic + exec 'hi Repeat'. s:fg_purple + exec 'hi Keyword'. s:fg_red. s:italic + exec 'hi Typedef'. s:fg_red. s:italic + exec 'hi Exception'. s:fg_red. s:italic + exec 'hi Statement'. s:fg_red. s:italic + exec 'hi Error'. s:fg_red . s:bg_none + exec 'hi StorageClass'. s:fg_orange + exec 'hi Tag'. s:fg_orange + exec 'hi Label'. s:fg_orange + exec 'hi Structure'. s:fg_orange + exec 'hi Operator'. s:fg_operator_base05 + exec 'hi Title'. s:fg_orange. s:bold + exec 'hi Special'. s:fg_yellow + exec 'hi SpecialChar'. s:fg_yellow + exec 'hi Type'. s:fg_yellow + exec 'hi Function'. s:fg_magenta. s:bold + exec 'hi String'. s:fg_green + exec 'hi Character'. s:fg_green + exec 'hi Constant'. s:fg_aqua + exec 'hi Macro'. s:fg_aqua + exec 'hi Identifier'. s:fg_blue + + " Comment + exec 'hi Comment'. s:fg_grey1. s:italic + exec 'hi SpecialComment'. s:fg_grey1. s:italic + exec 'hi Todo'. s:fg_purple. s:italic + + exec 'hi Delimiter'. s:fg_fg0 + exec 'hi Ignore'. s:fg_grey1 + exec 'hi Underlined'. s:fg_none. s:underline + + " Markdown Filetype: + "=============================================================== + exec 'hi markdownH1'. s:fg_red. s:bold + exec 'hi markdownH2'. s:fg_orange. s:bold + exec 'hi markdownH3'. s:fg_yellow. s:bold + exec 'hi markdownH4'. s:fg_green. s:bold + exec 'hi markdownH5'. s:fg_blue. s:bold + exec 'hi markdownH6'. s:fg_purple. s:bold + exec 'hi markdownUrl'. s:fg_blue. s:underline + exec 'hi markdownItalic'. s:fg_none. s:italic + exec 'hi markdownBold'. s:fg_none. s:bold + exec 'hi markdownItalicDelimiter'. s:fg_grey1. s:italic + exec 'hi markdownCode' .s:fg_green + exec 'hi markdownCodeBlock' .s:fg_aqua + exec 'hi markdownCodeDelimiter' .s:fg_aqua + exec 'hi markdownBlockquote'.s:fg_grey1 + exec 'hi markdownListMarker'. s:fg_red + exec 'hi markdownOrderedListMarker'. s:fg_red + exec 'hi markdownRule'. s:fg_purple + exec 'hi markdownHeadingRule'. s:fg_grey1 + exec 'hi markdownUrlDelimiter'. s:fg_grey1 + exec 'hi markdownLinkDelimiter'. s:fg_grey1 + exec 'hi markdownLinkTextDelimiter'. s:fg_grey1 + exec 'hi markdownHeadingDelimiter'. s:fg_grey1 + exec 'hi markdownLinkText'. s:fg_purple + exec 'hi markdownUrlTitleDelimiter'. s:fg_green + exec 'hi markdownIdDeclaration'. s:fg_purple + exec 'hi markdownBoldDelimiter'. s:fg_grey1 + exec 'hi markdownId'. s:fg_yellow + "=============================================================== + " Latex: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX + "=============================================================== + exec 'hi texStatement'.s:fg_green + exec 'hi texOnlyMath'.s:fg_grey1 + exec 'hi texDefName'.s:fg_yellow + exec 'hi texNewCmd'.s:fg_orange + exec 'hi texCmdName'.s:fg_blue + exec 'hi texBeginEnd'.s:fg_red + exec 'hi texBeginEndName'.s:fg_blue + exec 'hi texDocType'.s:fg_purple + exec 'hi texDocTypeArgs'.s:fg_orange + "=============================================================== + " Javascript: + " https://github.com/pangloss/vim-javascript + exec 'hi jsThis' . s:fg_purple + exec 'hi jsUndefined' . s:fg_aqua + exec 'hi jsNull' . s:fg_aqua + exec 'hi jsNan' . s:fg_aqua + exec 'hi jsSuper' . s:fg_purple + exec 'hi jsPrototype' . s:fg_purple + exec 'hi jsFunction' . s:fg_red . s:italic + exec 'hi jsGlobalNodeObjects' . s:fg_purple . s:italic + exec 'hi jsGlobalObjects' . s:fg_yellow + exec 'hi jsArrowFunction' . s:fg_purple + exec 'hi jsArrowFuncArgs' . s:fg_blue + exec 'hi jsFuncArgs' . s:fg_blue + exec 'hi jsObjectProp' . s:fg_aqua + exec 'hi jsVariableDef' . s:fg_blue + exec 'hi jsObjectKey' . s:fg_aqua + exec 'hi jsParen' . s:fg_blue + exec 'hi jsParenIfElse' . s:fg_blue + exec 'hi jsParenRepeat' . s:fg_blue + exec 'hi jsParenSwitch' . s:fg_blue + exec 'hi jsParenCatch' . s:fg_blue + exec 'hi jsBracket' . s:fg_blue + exec 'hi jsBlockLabel' . s:fg_aqua + exec 'hi jsFunctionKey' . s:fg_green . s:bold + exec 'hi jsClassDefinition' . s:fg_yellow + exec 'hi jsDot' . s:fg_grey1 + exec 'hi jsDestructuringBlock' . s:fg_blue + exec 'hi jsSpreadExpression' . s:fg_purple + exec 'hi jsSpreadOperator' . s:fg_green + exec 'hi jsModuleKeyword' . s:fg_yellow + exec 'hi jsObjectValue' . s:fg_blue + exec 'hi jsTemplateExpression' . s:fg_yellow + exec 'hi jsTemplateBraces' . s:fg_yellow + exec 'hi jsClassMethodType'. s:fg_orange + " yajs: https://github.com/othree/yajs.vim + exec 'hi javascriptEndColons' . s:fg_fg0 + exec 'hi javascriptOpSymbol' . s:fg_orange + exec 'hi javascriptOpSymbols' . s:fg_orange + exec 'hi javascriptIdentifierName' . s:fg_blue + exec 'hi javascriptVariable' . s:fg_orange + exec 'hi javascriptObjectLabel' . s:fg_aqua + exec 'hi javascriptObjectLabelColon' . s:fg_grey1 + exec 'hi javascriptPropertyNameString' . s:fg_aqua + exec 'hi javascriptFuncArg' . s:fg_blue + exec 'hi javascriptIdentifier' . s:fg_purple + exec 'hi javascriptArrowFunc' . s:fg_purple + exec 'hi javascriptTemplate' . s:fg_yellow + exec 'hi javascriptTemplateSubstitution' . s:fg_yellow + exec 'hi javascriptTemplateSB' . s:fg_yellow + exec 'hi javascriptNodeGlobal' . s:fg_purple . s:italic + exec 'hi javascriptDocTags' . s:fg_purple . s:italic + exec 'hi javascriptDocNotation' . s:fg_purple + exec 'hi javascriptClassSuper' . s:fg_purple + exec 'hi javascriptClassName' . s:fg_yellow + exec 'hi javascriptClassSuperName' . s:fg_yellow + exec 'hi javascriptBrackets' . s:fg_fg0 + exec 'hi javascriptBraces' . s:fg_fg0 + exec 'hi javascriptLabel' . s:fg_purple + exec 'hi javascriptDotNotation' . s:fg_grey1 + exec 'hi javascriptGlobalArrayDot' . s:fg_grey1 + exec 'hi javascriptGlobalBigIntDot' . s:fg_grey1 + exec 'hi javascriptGlobalDateDot' . s:fg_grey1 + exec 'hi javascriptGlobalJSONDot' . s:fg_grey1 + exec 'hi javascriptGlobalMathDot' . s:fg_grey1 + exec 'hi javascriptGlobalNumberDot' . s:fg_grey1 + exec 'hi javascriptGlobalObjectDot' . s:fg_grey1 + exec 'hi javascriptGlobalPromiseDot' . s:fg_grey1 + exec 'hi javascriptGlobalRegExpDot' . s:fg_grey1 + exec 'hi javascriptGlobalStringDot' . s:fg_grey1 + exec 'hi javascriptGlobalSymbolDot' . s:fg_grey1 + exec 'hi javascriptGlobalURLDot' . s:fg_grey1 + exec 'hi javascriptMethod' . s:fg_green . s:bold + exec 'hi javascriptMethodName' . s:fg_green . s:bold + exec 'hi javascriptObjectMethodName' . s:fg_green . s:bold + exec 'hi javascriptGlobalMethod' . s:fg_green . s:bold + exec 'hi javascriptDOMStorageMethod' . s:fg_green . s:bold + exec 'hi javascriptFileMethod' . s:fg_green . s:bold + exec 'hi javascriptFileReaderMethod' . s:fg_green . s:bold + exec 'hi javascriptFileListMethod' . s:fg_green . s:bold + exec 'hi javascriptBlobMethod' . s:fg_green . s:bold + exec 'hi javascriptURLStaticMethod' . s:fg_green . s:bold + exec 'hi javascriptNumberStaticMethod' . s:fg_green . s:bold + exec 'hi javascriptNumberMethod' . s:fg_green . s:bold + exec 'hi javascriptDOMNodeMethod' . s:fg_green . s:bold + exec 'hi javascriptES6BigIntStaticMethod' . s:fg_green . s:bold + exec 'hi javascriptBOMWindowMethod' . s:fg_green . s:bold + exec 'hi javascriptHeadersMethod' . s:fg_green . s:bold + exec 'hi javascriptRequestMethod' . s:fg_green . s:bold + exec 'hi javascriptResponseMethod' . s:fg_green . s:bold + exec 'hi javascriptES6SetMethod' . s:fg_green . s:bold + exec 'hi javascriptReflectMethod' . s:fg_green . s:bold + exec 'hi javascriptPaymentMethod' . s:fg_green . s:bold + exec 'hi javascriptPaymentResponseMethod' . s:fg_green . s:bold + exec 'hi javascriptTypedArrayStaticMethod' . s:fg_green . s:bold + exec 'hi javascriptGeolocationMethod' . s:fg_green . s:bold + exec 'hi javascriptES6MapMethod' . s:fg_green . s:bold + exec 'hi javascriptServiceWorkerMethod' . s:fg_green . s:bold + exec 'hi javascriptCacheMethod' . s:fg_green . s:bold + exec 'hi javascriptFunctionMethod' . s:fg_green . s:bold + exec 'hi javascriptXHRMethod' . s:fg_green . s:bold + exec 'hi javascriptBOMNavigatorMethod' . s:fg_green . s:bold + exec 'hi javascriptServiceWorkerMethod' . s:fg_green . s:bold + exec 'hi javascriptDOMEventTargetMethod' . s:fg_green . s:bold + exec 'hi javascriptDOMEventMethod' . s:fg_green . s:bold + exec 'hi javascriptIntlMethod' . s:fg_green . s:bold + exec 'hi javascriptDOMDocMethod' . s:fg_green . s:bold + exec 'hi javascriptStringStaticMethod' . s:fg_green . s:bold + exec 'hi javascriptStringMethod' . s:fg_green . s:bold + exec 'hi javascriptSymbolStaticMethod' . s:fg_green . s:bold + exec 'hi javascriptRegExpMethod' . s:fg_green . s:bold + exec 'hi javascriptObjectStaticMethod' . s:fg_green . s:bold + exec 'hi javascriptObjectMethod' . s:fg_green . s:bold + exec 'hi javascriptBOMLocationMethod' . s:fg_green . s:bold + exec 'hi javascriptJSONStaticMethod' . s:fg_green . s:bold + exec 'hi javascriptGeneratorMethod' . s:fg_green . s:bold + exec 'hi javascriptEncodingMethod' . s:fg_green . s:bold + exec 'hi javascriptPromiseStaticMethod' . s:fg_green . s:bold + exec 'hi javascriptPromiseMethod' . s:fg_green . s:bold + exec 'hi javascriptBOMHistoryMethod' . s:fg_green . s:bold + exec 'hi javascriptDOMFormMethod' . s:fg_green . s:bold + exec 'hi javascriptClipboardMethod' . s:fg_green . s:bold + exec 'hi javascriptTypedArrayStaticMethod' . s:fg_green . s:bold + exec 'hi javascriptBroadcastMethod' . s:fg_green . s:bold + exec 'hi javascriptDateStaticMethod' . s:fg_green . s:bold + exec 'hi javascriptDateMethod' . s:fg_green . s:bold + exec 'hi javascriptConsoleMethod' . s:fg_green . s:bold + exec 'hi javascriptArrayStaticMethod' . s:fg_green . s:bold + exec 'hi javascriptArrayMethod' . s:fg_green . s:bold + exec 'hi javascriptMathStaticMethod' . s:fg_green . s:bold + exec 'hi javascriptSubtleCryptoMethod' . s:fg_green . s:bold + exec 'hi javascriptCryptoMethod' . s:fg_green . s:bold + exec 'hi javascriptProp' . s:fg_aqua + exec 'hi javascriptBOMWindowProp' . s:fg_aqua + exec 'hi javascriptDOMStorageProp' . s:fg_aqua + exec 'hi javascriptFileReaderProp' . s:fg_aqua + exec 'hi javascriptURLUtilsProp' . s:fg_aqua + exec 'hi javascriptNumberStaticProp' . s:fg_aqua + exec 'hi javascriptDOMNodeProp' . s:fg_aqua + exec 'hi javascriptRequestProp' . s:fg_aqua + exec 'hi javascriptResponseProp' . s:fg_aqua + exec 'hi javascriptES6SetProp' . s:fg_aqua + exec 'hi javascriptPaymentProp' . s:fg_aqua + exec 'hi javascriptPaymentResponseProp' . s:fg_aqua + exec 'hi javascriptPaymentAddressProp' . s:fg_aqua + exec 'hi javascriptPaymentShippingOptionProp' . s:fg_aqua + exec 'hi javascriptTypedArrayStaticProp' . s:fg_aqua + exec 'hi javascriptServiceWorkerProp' . s:fg_aqua + exec 'hi javascriptES6MapProp' . s:fg_aqua + exec 'hi javascriptRegExpStaticProp' . s:fg_aqua + exec 'hi javascriptRegExpProp' . s:fg_aqua + exec 'hi javascriptXHRProp' . s:fg_aqua + exec 'hi javascriptBOMNavigatorProp' . s:fg_green . s:bold + exec 'hi javascriptDOMEventProp' . s:fg_aqua + exec 'hi javascriptBOMNetworkProp' . s:fg_aqua + exec 'hi javascriptDOMDocProp' . s:fg_aqua + exec 'hi javascriptSymbolStaticProp' . s:fg_aqua + exec 'hi javascriptSymbolProp' . s:fg_aqua + exec 'hi javascriptBOMLocationProp' . s:fg_aqua + exec 'hi javascriptEncodingProp' . s:fg_aqua + exec 'hi javascriptCryptoProp' . s:fg_aqua + exec 'hi javascriptBOMHistoryProp' . s:fg_aqua + exec 'hi javascriptDOMFormProp' . s:fg_aqua + exec 'hi javascriptDataViewProp' . s:fg_aqua + exec 'hi javascriptBroadcastProp' . s:fg_aqua + exec 'hi javascriptMathStaticProp' . s:fg_aqua + "=============================================================== + " JavaScript React: + " vim-jsx-pretty: https://github.com/maxmellon/vim-jsx-pretty + "=============================================================== + exec 'hi jsxTagName' . s:fg_orange . s:italic + exec 'hi jsxTag' . s:fg_purple . s:bold + exec 'hi jsxOpenPunct' . s:fg_green + exec 'hi jsxClosePunct' . s:fg_blue + exec 'hi jsxEscapeJs' . s:fg_blue + exec 'hi jsxAttrib' . s:fg_yellow + exec 'hi jsxCloseTag' . s:fg_aqua . s:bold + exec 'hi jsxComponentName' . s:fg_blue . 'gui=bold' + "=============================================================== + " TypeScript: + " vim-typescript: https://github.com/leafgarland/typescript-vim {{{ + "=============================================================== + exec 'hi typescriptSource' . s:fg_purple . s:italic + exec 'hi typescriptMessage' . s:fg_yellow + exec 'hi typescriptGlobalObjects' . s:fg_aqua + exec 'hi typescriptInterpolation' . s:fg_yellow + exec 'hi typescriptInterpolationDelimiter' . s:fg_yellow + exec 'hi typescriptBraces' . s:fg_fg0 + exec 'hi typescriptParens' . s:fg_fg0 + "=============================================================== + " Typescript: + " yats: https:github.com/HerringtonDarkholme/yats.vim + " But now builtin neovim vim + "=============================================================== + exec 'hi typescriptMethodAccessor' . s:fg_orange . s:italic + exec 'hi typescriptVariable' . s:fg_orange + exec 'hi typescriptVariableDeclaration' . s:fg_aqua + exec 'hi typescriptTypeReference' . s:fg_yellow + exec 'hi typescriptBraces' . s:fg_fg0 + exec 'hi typescriptBoolean' .s:fg_orange + exec 'hi typescriptCase' .s:fg_purple + exec 'hi typescriptRepeat' .s:fg_purple + exec 'hi typescriptEnumKeyword' . s:fg_red . s:italic + exec 'hi typescriptEnum' . s:fg_yellow + exec 'hi typescriptIdentifierName' . s:fg_aqua + exec 'hi typescriptProp' . s:fg_aqua + exec 'hi typescriptCall' . s:fg_aqua + exec 'hi typescriptConditional' . s:fg_purple + exec 'hi typescriptInterfaceName' . s:fg_yellow + exec 'hi typescriptEndColons' . s:fg_fg0 + exec 'hi typescriptMember' . s:fg_aqua + exec 'hi typescriptMemberOptionality' . s:fg_orange + exec 'hi typescriptObjectLabel' . s:fg_aqua + exec 'hi typescriptArrowFunc' . s:fg_purple + exec 'hi typescriptAbstract' . s:fg_orange + exec 'hi typescriptObjectColon' . s:fg_grey1 + exec 'hi typescriptTypeAnnotation' . s:fg_grey1 + exec 'hi typescriptAssign' . s:fg_operator_base05 + exec 'hi typescriptBinaryOp' . s:fg_operator_base05 + exec 'hi typescriptUnaryOp' . s:fg_orange + exec 'hi typescriptFuncComma' . s:fg_fg0 + exec 'hi typescriptClassName' . s:fg_yellow + exec 'hi typescriptClassHeritage' . s:fg_yellow + exec 'hi typescriptInterfaceHeritage' . s:fg_yellow + exec 'hi typescriptIdentifier' . s:fg_purple + exec 'hi typescriptGlobal' . s:fg_purple + exec 'hi typescriptOperator' . s:fg_red . s:italic + exec 'hi typescriptNodeGlobal' . s:fg_purple . s:italic + exec 'hi typescriptExport' . s:fg_purple . s:italic + exec 'hi typescriptDefaultParam' . s:fg_orange + exec 'hi typescriptImport' . s:fg_red . s:italic + exec 'hi typescriptTypeParameter' . s:fg_yellow + exec 'hi typescriptReadonlyModifier' . s:fg_orange + exec 'hi typescriptAccessibilityModifier' . s:fg_orange + exec 'hi typescriptAmbientDeclaration' . s:fg_red . s:italic + exec 'hi typescriptTemplateSubstitution' . s:fg_yellow + exec 'hi typescriptTemplateSB' . s:fg_yellow + exec 'hi typescriptExceptions' . s:fg_yellow + exec 'hi typescriptCastKeyword' . s:fg_red . s:italic + exec 'hi typescriptOptionalMark' . s:fg_orange + exec 'hi typescriptNull' . s:fg_aqua + exec 'hi typescriptMappedIn' . s:fg_red . s:italic + exec 'hi typescriptFuncTypeArrow' . s:fg_purple + exec 'hi typescriptTernaryOp' . s:fg_orange + exec 'hi typescriptParenExp' . s:fg_blue + exec 'hi typescriptIndexExpr' . s:fg_blue + exec 'hi typescriptDotNotation' . s:fg_grey1 + exec 'hi typescriptGlobalNumberDot' . s:fg_grey1 + exec 'hi typescriptGlobalStringDot' . s:fg_grey1 + exec 'hi typescriptGlobalArrayDot' . s:fg_grey1 + exec 'hi typescriptGlobalObjectDot' . s:fg_grey1 + exec 'hi typescriptGlobalSymbolDot' . s:fg_grey1 + exec 'hi typescriptGlobalMathDot' . s:fg_grey1 + exec 'hi typescriptGlobalDateDot' . s:fg_grey1 + exec 'hi typescriptGlobalJSONDot' . s:fg_grey1 + exec 'hi typescriptGlobalRegExpDot' . s:fg_grey1 + exec 'hi typescriptGlobalPromiseDot' . s:fg_grey1 + exec 'hi typescriptGlobalURLDot' . s:fg_grey1 + exec 'hi typescriptGlobalMethod' . s:fg_green . s:bold + exec 'hi typescriptDOMStorageMethod' . s:fg_green . s:bold + exec 'hi typescriptFileMethod' . s:fg_green . s:bold + exec 'hi typescriptFileReaderMethod' . s:fg_green . s:bold + exec 'hi typescriptFileListMethod' . s:fg_green . s:bold + exec 'hi typescriptBlobMethod' . s:fg_green . s:bold + exec 'hi typescriptURLStaticMethod' . s:fg_green . s:bold + exec 'hi typescriptNumberStaticMethod' . s:fg_green . s:bold + exec 'hi typescriptNumberMethod' . s:fg_green . s:bold + exec 'hi typescriptDOMNodeMethod' . s:fg_green . s:bold + exec 'hi typescriptPaymentMethod' . s:fg_green . s:bold + exec 'hi typescriptPaymentResponseMethod' . s:fg_green . s:bold + exec 'hi typescriptHeadersMethod' . s:fg_green . s:bold + exec 'hi typescriptRequestMethod' . s:fg_green . s:bold + exec 'hi typescriptResponseMethod' . s:fg_green . s:bold + exec 'hi typescriptES6SetMethod' . s:fg_green . s:bold + exec 'hi typescriptReflectMethod' . s:fg_green . s:bold + exec 'hi typescriptBOMWindowMethod' . s:fg_green . s:bold + exec 'hi typescriptGeolocationMethod' . s:fg_green . s:bold + exec 'hi typescriptServiceWorkerMethod' . s:fg_green . s:bold + exec 'hi typescriptCacheMethod' . s:fg_green . s:bold + exec 'hi typescriptES6MapMethod' . s:fg_green . s:bold + exec 'hi typescriptFunctionMethod' . s:fg_green . s:bold + exec 'hi typescriptFuncName' . s:fg_magenta + exec 'hi typescriptFuncKeyword' . s:fg_blue + exec 'hi typescriptRegExpMethod' . s:fg_green . s:bold + exec 'hi typescriptXHRMethod' . s:fg_green . s:bold + exec 'hi typescriptBOMNavigatorMethod' . s:fg_green . s:bold + exec 'hi typescriptServiceWorkerMethod' . s:fg_green . s:bold + exec 'hi typescriptIntlMethod' . s:fg_green . s:bold + exec 'hi typescriptDOMEventTargetMethod' . s:fg_green . s:bold + exec 'hi typescriptDOMEventMethod' . s:fg_green . s:bold + exec 'hi typescriptDOMDocMethod' . s:fg_green . s:bold + exec 'hi typescriptStringStaticMethod' . s:fg_green . s:bold + exec 'hi typescriptStringMethod' . s:fg_green . s:bold + exec 'hi typescriptSymbolStaticMethod' . s:fg_green . s:bold + exec 'hi typescriptObjectStaticMethod' . s:fg_green . s:bold + exec 'hi typescriptObjectMethod' . s:fg_green . s:bold + exec 'hi typescriptJSONStaticMethod' . s:fg_green . s:bold + exec 'hi typescriptEncodingMethod' . s:fg_green . s:bold + exec 'hi typescriptBOMLocationMethod' . s:fg_green . s:bold + exec 'hi typescriptPromiseStaticMethod' . s:fg_green . s:bold + exec 'hi typescriptPromiseMethod' . s:fg_green . s:bold + exec 'hi typescriptSubtleCryptoMethod' . s:fg_green . s:bold + exec 'hi typescriptCryptoMethod' . s:fg_green . s:bold + exec 'hi typescriptBOMHistoryMethod' . s:fg_green . s:bold + exec 'hi typescriptDOMFormMethod' . s:fg_green . s:bold + exec 'hi typescriptConsoleMethod' . s:fg_green . s:bold + exec 'hi typescriptDateStaticMethod' . s:fg_green . s:bold + exec 'hi typescriptDateMethod' . s:fg_green . s:bold + exec 'hi typescriptArrayStaticMethod' . s:fg_green . s:bold + exec 'hi typescriptArrayMethod' . s:fg_green . s:bold + exec 'hi typescriptMathStaticMethod' . s:fg_green . s:bold + exec 'hi typescriptStringProperty' . s:fg_aqua + exec 'hi typescriptDOMStorageProp' . s:fg_aqua + exec 'hi typescriptFileReaderProp' . s:fg_aqua + exec 'hi typescriptURLUtilsProp' . s:fg_aqua + exec 'hi typescriptNumberStaticProp' . s:fg_aqua + exec 'hi typescriptDOMNodeProp' . s:fg_aqua + exec 'hi typescriptBOMWindowProp' . s:fg_aqua + exec 'hi typescriptRequestProp' . s:fg_aqua + exec 'hi typescriptResponseProp' . s:fg_aqua + exec 'hi typescriptPaymentProp' . s:fg_aqua + exec 'hi typescriptPaymentResponseProp' . s:fg_aqua + exec 'hi typescriptPaymentAddressProp' . s:fg_aqua + exec 'hi typescriptPaymentShippingOptionProp' . s:fg_aqua + exec 'hi typescriptES6SetProp' . s:fg_aqua + exec 'hi typescriptServiceWorkerProp' . s:fg_aqua + exec 'hi typescriptES6MapProp' . s:fg_aqua + exec 'hi typescriptRegExpStaticProp' . s:fg_aqua + exec 'hi typescriptRegExpProp' . s:fg_aqua + exec 'hi typescriptBOMNavigatorProp' . s:fg_green . s:bold + exec 'hi typescriptXHRProp' . s:fg_aqua + exec 'hi typescriptDOMEventProp' . s:fg_aqua + exec 'hi typescriptDOMDocProp' . s:fg_aqua + exec 'hi typescriptBOMNetworkProp' . s:fg_aqua + exec 'hi typescriptSymbolStaticProp' . s:fg_aqua + exec 'hi typescriptEncodingProp' . s:fg_aqua + exec 'hi typescriptBOMLocationProp' . s:fg_aqua + exec 'hi typescriptCryptoProp' . s:fg_aqua + exec 'hi typescriptDOMFormProp' . s:fg_aqua + exec 'hi typescriptBOMHistoryProp' . s:fg_aqua + exec 'hi typescriptMathStaticProp' . s:fg_aqua + "=============================================================== + " Dart: + " dart-lang: https://github.com/dart-lang/dart-vim-plugin + "=============================================================== + exec 'hi dartCoreClasses' . s:fg_aqua + exec 'hi dartTypeName' . s:fg_aqua + exec 'hi dartInterpolation' . s:fg_blue + exec 'hi dartTypeDef' . s:fg_red . s:italic + exec 'hi dartClassDecl' . s:fg_red . s:italic + exec 'hi dartLibrary' . s:fg_purple . s:italic + exec 'hi dartMetadata' . s:fg_blue + "=============================================================== + " CoffeeScript: + " vim-coffee-script: https://github.com/kchmck/vim-coffee-script + "=============================================================== + exec 'hi coffeeExtendedOp' . s:fg_orange + exec 'hi coffeeSpecialOp' . s:fg_fg0 + exec 'hi coffeeDotAccess' . s:fg_grey1 + exec 'hi coffeeCurly' . s:fg_fg0 + exec 'hi coffeeParen' . s:fg_fg0 + exec 'hi coffeeBracket' . s:fg_fg0 + exec 'hi coffeeParens' . s:fg_blue + exec 'hi coffeeBrackets' . s:fg_blue + exec 'hi coffeeCurlies' . s:fg_blue + exec 'hi coffeeOperator' . s:fg_red . s:italic + exec 'hi coffeeStatement' . s:fg_orange + exec 'hi coffeeSpecialIdent' . s:fg_purple + exec 'hi coffeeObject' . s:fg_purple + exec 'hi coffeeObjAssign' . s:fg_aqua + "=============================================================== + " vim-lsp-cxx-highlight https://github.com/jackguo380/vim-lsp-cxx-highlight {{{ + "=============================================================== + exec 'hi LspCxxHlSkippedRegion' . s:fg_grey1 + exec 'hi LspCxxHlSkippedRegionBeginEnd' . s:fg_purple . s:italic + exec 'hi LspCxxHlGroupEnumConstant' . s:fg_aqua + exec 'hi LspCxxHlGroupNamespace' . s:fg_purple + exec 'hi LspCxxHlGroupMemberVariable' . s:fg_aqua + "=============================================================== + " ObjectiveC + "=============================================================== + exec 'hi objcModuleImport' . s:fg_purple . s:italic + exec 'hi objcException' . s:fg_red . s:italic + exec 'hi objcProtocolList' . s:fg_aqua + exec 'hi objcObjDef' . s:fg_purple . s:italic + exec 'hi objcDirective' . s:fg_red . s:italic + exec 'hi objcPropertyAttribute' . s:fg_orange + exec 'hi objcHiddenArgument' . s:fg_aqua + "=============================================================== + " Python: + "=============================================================== + exec 'hi pythonBuiltin' . s:fg_yellow + exec 'hi pythonExceptions' . s:fg_purple + exec 'hi pythonDecoratorName' . s:fg_blue + "=============================================================== + " python-syntax: https://github.com/vim-python/python-syntax + "=============================================================== + exec 'hi pythonExClass' . s:fg_purple + exec 'hi pythonBuiltinType' . s:fg_yellow + exec 'hi pythonBuiltinObj' . s:fg_blue + exec 'hi pythonDottedName' . s:fg_purple . s:italic + exec 'hi pythonBuiltinFunc' . s:fg_green . s:bold + exec 'hi pythonFunction' . s:fg_aqua . s:bold + exec 'hi pythonDecorator' . s:fg_orange + exec 'hi pythonInclude'. s:fg_purple. s:italic + exec 'hi pythonImport'. s:fg_purple. s:italic + exec 'hi pythonRun' . s:fg_blue + exec 'hi pythonCoding' . s:fg_grey1 + exec 'hi pythonOperator' . s:fg_orange + exec 'hi pythonConditional' . s:fg_red . s:italic + exec 'hi pythonRepeat' . s:fg_red . s:italic + exec 'hi pythonException' . s:fg_red . s:italic + exec 'hi pythonNone' . s:fg_aqua + exec 'hi pythonDot' . s:fg_grey1 + "=============================================================== + " semshi: https://github.com/numirias/semshi + "=============================================================== + exec 'hi semshiUnresolved' . s:fg_yellow. s:undercurl + exec 'hi semshiImported' . s:fg_purple + exec 'hi semshiParameter' . s:fg_blue + exec 'hi semshiParameterUnused' . s:fg_grey1 + exec 'hi semshiSelf' . s:fg_purple . s:italic + exec 'hi semshiGlobal' . s:fg_yellow + exec 'hi semshiBuiltin' . s:fg_yellow + exec 'hi semshiAttribute' . s:fg_aqua + exec 'hi semshiLocal' . s:fg_red + exec 'hi semshiFree' . s:fg_red + hi link semshiSelected CocHighlightText + exec 'hi semshiErrorSign' . s:fg_red + exec 'hi semshiErrorChar' . s:fg_red + "=============================================================== + " Kotlin: + " kotlin-vim: https://github.com/udalov/kotlin-vim + "=============================================================== + exec 'hi ktSimpleInterpolation' . s:fg_yellow + exec 'hi ktComplexInterpolation' . s:fg_yellow + exec 'hi ktComplexInterpolationBrace' . s:fg_yellow + exec 'hi ktStructure' . s:fg_red . s:italic + exec 'hi ktKeyword' . s:fg_aqua + "=============================================================== + " Scala: + " builtin: https://github.com/derekwyatt/vim-scala + "=============================================================== + exec 'hi scalaNameDefinition' . s:fg_aqua + exec 'hi scalaInterpolationBoundary' . s:fg_yellow + exec 'hi scalaInterpolation' . s:fg_blue + exec 'hi scalaTypeOperator' . s:fg_orange + exec 'hi scalaOperator' . s:fg_orange + exec 'hi scalaKeywordModifier' . s:fg_orange + "=============================================================== + " Go: + "=============================================================== + exec 'hi goDirective' . s:fg_purple . s:italic + exec 'hi goConstants' . s:fg_aqua + exec 'hi goTypeDecl' . s:fg_purple . s:italic + exec 'hi goDeclType' . s:fg_orange . s:italic + exec 'hi goFunctionCall' . s:fg_yellow . s:bold + exec 'hi goSpaceError'. s:fg_grey1. s:bg_red + exec 'hi goVarArgs' . s:fg_blue + exec 'hi goBuiltins' . s:fg_purple + exec 'hi goPredefinedIdentifiers' . s:fg_orange + exec 'hi goVar' . s:fg_orange + exec 'hi goField' . s:fg_aqua + exec 'hi goDeclaration' . s:fg_blue + exec 'hi goConst' . s:fg_orange + exec 'hi goParamName' . s:fg_aqua + "=============================================================== + " Rust: + " builtin: https://github.com/rust-lang/rust.vim + "=============================================================== + exec 'hi rustStructure' . s:fg_orange + exec 'hi rustIdentifier' . s:fg_purple + exec 'hi rustModPath' . s:fg_orange + exec 'hi rustModPathSep' . s:fg_grey1 + exec 'hi rustSelf' . s:fg_blue + exec 'hi rustSuper' . s:fg_blue + exec 'hi rustDeriveTrait' . s:fg_purple . s:italic + exec 'hi rustEnumVariant' . s:fg_purple + exec 'hi rustMacroVariable' . s:fg_blue + exec 'hi rustAssert' . s:fg_aqua + exec 'hi rustPanic' . s:fg_aqua + exec 'hi rustPubScopeCrate' . s:fg_purple . s:italic + "=============================================================== + " Swift: + " swift.vim: https://github.com/keith/swift.vim + "=============================================================== + exec 'hi swiftInterpolatedWrapper' . s:fg_yellow + exec 'hi swiftInterpolatedString' . s:fg_blue + exec 'hi swiftProperty' . s:fg_aqua + exec 'hi swiftTypeDeclaration' . s:fg_orange + exec 'hi swiftClosureArgument' . s:fg_purple + "=============================================================== + " PHP: + " php.vim: https://github.com/StanAngeloff/php.vim + "=============================================================== + exec 'hi phpParent' . s:fg_fg0 + exec 'hi phpNowDoc' . s:fg_green + exec 'hi phpFunction' . s:fg_green . s:bold + exec 'hi phpMethod' . s:fg_green . s:bold + exec 'hi phpClass' . s:fg_orange + exec 'hi phpSuperglobals' . s:fg_purple + "=============================================================== + " Ruby: + " builtin: https://github.com/vim-ruby/vim-ruby + "=============================================================== + exec 'hi rubyKeywordAsMethod' . s:fg_green . s:bold + exec 'hi rubyInterpolation' . s:fg_yellow + exec 'hi rubyInterpolationDelimiter' . s:fg_yellow + exec 'hi rubyStringDelimiter' . s:fg_green + exec 'hi rubyBlockParameterList' . s:fg_blue + exec 'hi rubyDefine' . s:fg_red . s:italic + exec 'hi rubyModuleName' . s:fg_purple + exec 'hi rubyAccess' . s:fg_orange + exec 'hi rubyAttribute' . s:fg_yellow + exec 'hi rubyMacro' . s:fg_red . s:italic + "=============================================================== + " Haskell: + " haskell-vim: https://github.com/neovimhaskell/haskell-vim + "=============================================================== + exec 'hi haskellBrackets' . s:fg_blue + exec 'hi haskellIdentifier' . s:fg_yellow + exec 'hi haskellAssocType' . s:fg_aqua + exec 'hi haskellQuotedType' . s:fg_aqua + exec 'hi haskellType' . s:fg_aqua + exec 'hi haskellDeclKeyword' . s:fg_red . s:italic + exec 'hi haskellWhere' . s:fg_red . s:italic + exec 'hi haskellDeriving' . s:fg_purple . s:italic + exec 'hi haskellForeignKeywords' . s:fg_purple . s:italic + "=============================================================== + " Perl: + " builtin: https://github.com/vim-perl/vim-perl + "=============================================================== + exec 'hi perlStatementPackage' . s:fg_purple . s:italic + exec 'hi perlStatementInclude' . s:fg_purple . s:italic + exec 'hi perlStatementStorage' . s:fg_orange + exec 'hi perlStatementList' . s:fg_orange + exec 'hi perlMatchStartEnd' . s:fg_orange + exec 'hi perlVarSimpleMemberName' . s:fg_aqua + exec 'hi perlVarSimpleMember' . s:fg_fg0 + exec 'hi perlMethod' . s:fg_green . s:bold + exec 'hi podVerbatimLine' . s:fg_green + exec 'hi podCmdText' . s:fg_yellow + "=============================================================== + " OCaml: + " builtin: https://github.com/rgrinberg/vim-ocaml + "=============================================================== + exec 'hi ocamlArrow' . s:fg_orange + exec 'hi ocamlEqual' . s:fg_orange + exec 'hi ocamlOperator' . s:fg_orange + exec 'hi ocamlKeyChar' . s:fg_orange + exec 'hi ocamlModPath' . s:fg_green + exec 'hi ocamlFullMod' . s:fg_green + exec 'hi ocamlModule' . s:fg_purple + exec 'hi ocamlConstructor' . s:fg_aqua + exec 'hi ocamlFuncWith' . s:fg_yellow + exec 'hi ocamlWith' . s:fg_yellow + exec 'hi ocamlModParam' . s:fg_fg0 + exec 'hi ocamlModParam1' . s:fg_fg0 + exec 'hi ocamlAnyVar' . s:fg_blue + exec 'hi ocamlPpxEncl' . s:fg_orange + exec 'hi ocamlPpxIdentifier' . s:fg_blue + exec 'hi ocamlSigEncl' . s:fg_orange + exec 'hi ocamlStructEncl' . s:fg_aqua + exec 'hi ocamlModParam1' . s:fg_blue + "=============================================================== + " Erlang: + " builtin: https://github.com/vim-erlang/vim-erlang-runtime + "=============================================================== + exec 'hi erlangAtom' . s:fg_aqua + exec 'hi erlangLocalFuncRef' . s:fg_green . s:bold + exec 'hi erlangLocalFuncCall' . s:fg_green . s:bold + exec 'hi erlangGlobalFuncRef' . s:fg_green . s:bold + exec 'hi erlangGlobalFuncCall' . s:fg_green . s:bold + exec 'hi erlangAttribute' . s:fg_purple . s:italic + exec 'hi erlangPipe' . s:fg_orange + "=============================================================== + " Elixir: + " vim-elixir: https://github.com/elixir-editors/vim-elixir + "=============================================================== + exec 'hi elixirStringDelimiter' . s:fg_green + exec 'hi elixirKeyword' . s:fg_orange + exec 'hi elixirInterpolation' . s:fg_yellow + exec 'hi elixirInterpolationDelimiter' . s:fg_yellow + exec 'hi elixirSelf' . s:fg_purple + exec 'hi elixirPseudoVariable' . s:fg_purple + exec 'hi elixirModuleDefine' . s:fg_purple . s:italic + exec 'hi elixirBlockDefinition' . s:fg_red . s:italic + exec 'hi elixirDefine' . s:fg_red . s:italic + exec 'hi elixirPrivateDefine' . s:fg_red . s:italic + exec 'hi elixirGuard' . s:fg_red . s:italic + exec 'hi elixirPrivateGuard' . s:fg_red . s:italic + exec 'hi elixirProtocolDefine' . s:fg_red . s:italic + exec 'hi elixirImplDefine' . s:fg_red . s:italic + exec 'hi elixirRecordDefine' . s:fg_red . s:italic + exec 'hi elixirPrivateRecordDefine' . s:fg_red . s:italic + exec 'hi elixirMacroDefine' . s:fg_red . s:italic + exec 'hi elixirPrivateMacroDefine' . s:fg_red . s:italic + exec 'hi elixirDelegateDefine' . s:fg_red . s:italic + exec 'hi elixirOverridableDefine' . s:fg_red . s:italic + exec 'hi elixirExceptionDefine' . s:fg_red . s:italic + exec 'hi elixirCallbackDefine' . s:fg_red . s:italic + exec 'hi elixirStructDefine' . s:fg_red . s:italic + exec 'hi elixirExUnitMacro' . s:fg_red . s:italic + "=============================================================== + " Clojure: + " builtin: https://github.com/guns/vim-clojure-static + "=============================================================== + exec 'hi clojureMacro' . s:fg_purple . s:italic + exec 'hi clojureFunc' . s:fg_aqua . s:bold + exec 'hi clojureConstant' . s:fg_yellow + exec 'hi clojureSpecial' . s:fg_red . s:italic + exec 'hi clojureDefine' . s:fg_red . s:italic + exec 'hi clojureKeyword' . s:fg_orange + exec 'hi clojureVariable' . s:fg_blue + exec 'hi clojureMeta' . s:fg_yellow + exec 'hi clojureDeref' . s:fg_yellow + "=============================================================== + " Matlab: + "=============================================================== + exec 'hi matlabSemicolon' . s:fg_fg0 + exec 'hi matlabFunction' . s:fg_red . s:italic + exec 'hi matlabImplicit' . s:fg_green . s:bold + exec 'hi matlabDelimiter' . s:fg_fg0 + exec 'hi matlabOperator' . s:fg_green . s:bold + exec 'hi matlabArithmeticOperator' . s:fg_orange + exec 'hi matlabArithmeticOperator' . s:fg_orange + exec 'hi matlabRelationalOperator' . s:fg_orange + exec 'hi matlabRelationalOperator' . s:fg_orange + exec 'hi matlabLogicalOperator' . s:fg_orange + "=============================================================== + " VimL: + "=============================================================== + exec 'hi vimCommentTitle'. s:fg_grey1. s:bold + exec 'hi vimLet' . s:fg_orange + exec 'hi vimVar' . s:fg_aqua + exec 'hi vimFunction' . s:fg_magenta . s:bold + exec 'hi vimIsCommand' . s:fg_fg0 + exec 'hi vimUserFunc' . s:fg_yellow . s:bold + exec 'hi vimFuncName' . s:fg_yellow . s:bold + "=============================================================== + " Makefile: + "=============================================================== + exec 'hi makeIdent' . s:fg_aqua + exec 'hi makeSpecTarget' . s:fg_yellow + exec 'hi makeTarget' . s:fg_blue + exec 'hi makeCommands' . s:fg_orange + "=============================================================== + " Json: + "=============================================================== + exec 'hi jsonKeyword' . s:fg_orange + exec 'hi jsonQuote' . s:fg_grey1 + exec 'hi jsonBraces' . s:fg_fg0 + "=============================================================== + " Yaml: + "=============================================================== + exec 'hi yamlKey' . s:fg_orange + exec 'hi yamlConstant' . s:fg_purple + "=============================================================== + " Toml: + "=============================================================== + exec 'hi tomlTable'. s:fg_purple. s:bold + exec 'hi tomlKey' . s:fg_orange + exec 'hi tomlBoolean' . s:fg_aqua + exec 'hi tomlTableArray'. s:fg_purple. s:bold + "=============================================================== + " Diff: + "=============================================================== + exec 'hi diffAdded' . s:fg_green + exec 'hi diffRemoved' . s:fg_red + exec 'hi diffChanged' . s:fg_blue + exec 'hi diffOldFile' . s:fg_yellow + exec 'hi diffNewFile' . s:fg_orange + exec 'hi diffFile' . s:fg_aqua + exec 'hi diffLine' . s:fg_grey1 + exec 'hi diffIndexLine' . s:fg_purple + "=============================================================== + " Git Commit: + "=============================================================== + exec 'hi gitcommitSummary' . s:fg_red + exec 'hi gitcommitUntracked' . s:fg_grey1 + exec 'hi gitcommitDiscarded' . s:fg_grey1 + exec 'hi gitcommitSelected' . s:fg_grey1 + exec 'hi gitcommitUnmerged' . s:fg_grey1 + exec 'hi gitcommitOnBranch' . s:fg_grey1 + exec 'hi gitcommitArrow' . s:fg_grey1 + exec 'hi gitcommitFile' . s:fg_green + "=============================================================== + " neoclide/coc.nvim + "=============================================================== + exec 'hi CocHoverRange'. s:fg_none. s:bold . s:underline + exec 'hi CocHintHighlight'. s:fg_none. s:undercurl. s:sp_aqua .s:underline + exec 'hi CocErrorFloat'. s:fg_red. s:bg_bg3 + exec 'hi CocWarningFloat'. s:fg_yellow. s:bg_bg3 + exec 'hi CocInfoFloat'. s:fg_blue. s:bg_bg3 + exec 'hi CocHintFloat'. s:fg_aqua. s:bg_bg3 + exec 'hi CocHighlightText'. s:bg_fg3 + exec 'hi CocErrorSign' . s:fg_red + exec 'hi CocWarningSign' . s:fg_yellow + exec 'hi CocInfoSign' . s:fg_blue + exec 'hi CocHintSign' . s:fg_aqua + exec 'hi CocErrorHighlight' . s:fg_none . s:undercurl . s:sp_red . s:underline + exec 'hi CocWarningHighlight' . s:fg_none . s:undercurl . s:sp_yellow.s:underline + exec 'hi CocInfoHighlight' . s:fg_none . s:undercurl . s:sp_blue + exec 'hi CocWarningVirtualText' . s:fg_grey1 + exec 'hi CocErrorVirtualText' . s:fg_grey1 + exec 'hi CocInfoVirtualText' . s:fg_grey1 + exec 'hi CocHintVirtualText' . s:fg_grey1 + exec 'hi CocCodeLens' . s:fg_grey1 + exec 'hi HighlightedyankRegion'. s:fg_none. s:reverse + exec 'hi CocGitAddedSign' . s:fg_green + exec 'hi CocGitChangeRemovedSign' . s:fg_purple + exec 'hi CocGitChangedSign' . s:fg_blue + exec 'hi CocGitRemovedSign' . s:fg_red + exec 'hi CocGitTopRemovedSign' . s:fg_red + "coc-explorer + exec 'hi CocExplorerBufferRoot' . s:fg_orange + exec 'hi CocExplorerBufferExpandIcon'. s:fg_aqua + exec 'hi CocExplorerBufferBufnr' . s:fg_purple + exec 'hi CocExplorerBufferModified'. s:fg_red + exec 'hi CocExplorerBufferBufname'. s:fg_grey0 + exec 'hi CocExplorerBufferFullpath'. s:fg_grey0 + exec 'hi CocExplorerFileRoot' . s:fg_orange + exec 'hi CocExplorerFileExpandIcon' . s:fg_aqua + exec 'hi CocExplorerFileFullpath' . s:fg_grey0 + exec 'hi CocExplorerFileDirectory' . s:fg_green + exec 'hi CocExplorerFileGitStage' . s:fg_purple + exec 'hi CocExplorerFileGitUnstage' . s:fg_yellow + exec 'hi CocExplorerFileSize' . s:fg_blue + exec 'hi CocExplorerTimeAccessed' . s:fg_aqua + exec 'hi CocExplorerTimeCreated' . s:fg_aqua + exec 'hi CocExplorerTimeModified' . s:fg_aqua + "=============================================================== + " dense-analysis/ale + "=============================================================== + exec 'hi ALEError'. s:fg_none. s:undercurl. s:sp_red + exec 'hi ALEWarning'. s:fg_none. s:undercurl. s:sp_yellow + exec 'hi ALEInfo'. s:fg_none. s:undercurl. s:sp_blue + exec 'hi ALEErrorSign' . s:fg_red + exec 'hi ALEWarningSign' . s:fg_yellow + exec 'hi ALEInfoSign' . s:fg_blue + exec 'hi ALEVirtualTextError' . s:fg_grey1 + exec 'hi ALEVirtualTextWarning' . s:fg_grey1 + exec 'hi ALEVirtualTextInfo' . s:fg_grey1 + exec 'hi ALEVirtualTextStyleError' . s:fg_grey1 + exec 'hi ALEVirtualTextStyleWarning' . s:fg_grey1 + "=============================================================== + " neomake/neomake + "=============================================================== + exec 'hi NeomakeError' . s:fg_none . s:undercurl . s:sp_red + exec 'hi NeomakeErrorSign' . s:fg_red + exec 'hi NeomakeWarning' . s:fg_none . s:undercurl . s:sp_yellow + exec 'hi NeomakeWarningSign' . s:fg_yellow + exec 'hi NeomakeInfo'. s:fg_none. s:undercurl. s:sp_blue + exec 'hi NeomakeInfoSign' . s:fg_blue + exec 'hi NeomakeMessage' . s:fg_aqua + exec 'hi NeomakeMessageSign' . s:fg_aqua + exec 'hi NeomakeVirtualtextError' . s:fg_grey1 + exec 'hi NeomakeVirtualtextWarning' . s:fg_grey1 + exec 'hi NeomakeVirtualtextInfo' . s:fg_grey1 + exec 'hi NeomakeVirtualtextMessag' . s:fg_grey1 + "=============================================================== + " Shougo/denite.nvim + "=============================================================== + exec 'hi deniteMatchedChar'. s:fg_green. s:bold + exec 'hi deniteMatchedRange'. s:fg_green. s:bold.s:underline + exec 'hi deniteInput'. s:fg_green. s:bg_bg4. s:bold + exec 'hi deniteStatusLineNumber'. s:fg_purple. s:bg_bg4 + exec 'hi deniteStatusLinePath'. s:fg_fg0. s:bg_bg4 + exec 'hi deniteSelectedLin' . s:fg_green + "=============================================================== + " liuchengxu/vista.vim + "=============================================================== + exec 'hi VistaBracket' . s:fg_grey1 + exec 'hi VistaChildrenNr' . s:fg_orange + exec 'hi VistaKind' . s:fg_purple + exec 'hi VistaScope' . s:fg_red + exec 'hi VistaScopeKind' . s:fg_blue + exec 'hi VistaTag' . s:fg_green . s:bold + exec 'hi VistaPrefix' . s:fg_grey1 + exec 'hi VistaColon' . s:fg_green + exec 'hi VistaIcon' . s:fg_yellow + exec 'hi VistaLineNr' . s:fg_fg0 + "=============================================================== + " airblade/vim-gitgutter + "=============================================================== + exec 'hi GitGutterAdd' . s:fg_green . s:bold + exec 'hi GitGutterChange' . s:fg_blue . s:bold + exec 'hi GitGutterDelete' . s:fg_red . s:bold + exec 'hi GitGutterChangeDelete' . s:fg_purple .s:bold + "=============================================================== + " mhinz/vim-signify + "=============================================================== + exec 'hi SignifySignAdd' . s:fg_green + exec 'hi SignifySignChange' . s:fg_blue + exec 'hi SignifySignDelete' . s:fg_red + exec 'hi SignifySignChangeDelete' . s:fg_purple + "=============================================================== + " scrooloose/nerdtree + "=============================================================== + exec 'hi NERDTreeDir' . s:fg_green + exec 'hi NERDTreeDirSlash' . s:fg_aqua + exec 'hi NERDTreeOpenable' . s:fg_orange + exec 'hi NERDTreeClosable' . s:fg_orange + exec 'hi NERDTreeFile' . s:fg_fg0 + exec 'hi NERDTreeExecFile' . s:fg_yellow + exec 'hi NERDTreeUp' . s:fg_grey1 + exec 'hi NERDTreeCWD' . s:fg_aqua + exec 'hi NERDTreeToggleOn' . s:fg_green + exec 'hi NERDTreeToggleOff' . s:fg_red + exec 'hi NERDTreeFlags' . s:fg_orange + exec 'hi NERDTreeLinkFile' . s:fg_grey1 + exec 'hi NERDTreeLinkTarget' . s:fg_green + "=============================================================== + " easymotion/vim-easymotion + "=============================================================== + exec 'hi EasyMotionTarget'. s:fg_bg0 . s:bg_green + exec 'hi EasyMotionShade' . s:fg_grey1 + "=============================================================== + " mhinz/vim-startify + "=============================================================== + exec 'hi StartifyBracket' . s:fg_grey1 + exec 'hi StartifyFile' . s:fg_fg0 + exec 'hi StartifyNumber' . s:fg_red + exec 'hi StartifyPath' . s:fg_green + exec 'hi StartifySlash' . s:fg_green + exec 'hi StartifySection' . s:fg_blue + exec 'hi StartifyHeader' . s:fg_orange + exec 'hi StartifySpecial' . s:fg_grey1 + exec 'hi StartifyFooter' . s:fg_grey1 + "=============================================================== + " liuchengxu/vim-which-key + "=============================================================== + exec 'hi WhichKey' . s:fg_red + exec 'hi WhichKeySeperator' . s:fg_green + exec 'hi WhichKeyGroup' . s:fg_yellow + exec 'hi WhichKeyDesc' . s:fg_blue + "=============================================================== + "kristijanhusak/vim-dadbod-ui + "=============================================================== + exec 'hi dbui_tables' . s:fg_blue + "=============================================================== + "Shougo/defx.nvim + "=============================================================== + exec 'hi DefxIconsParentDirectory' . s:fg_orange + exec 'hi Defx_filename_directory' . s:fg_blue + exec 'hi Defx_filename_root' . s:fg_red + "=============================================================== + "hardcoreplayers/dashboard-nvim + "=============================================================== + exec 'hi DashboardShortCut' . s:fg_red . s:bold + exec 'hi DashboardFooter' . s:fg_purple .s:bold + exec 'hi DashboardHeader' . s:fg_blue .s:bold + "=============================================================== + " voldkiss/vim-floaterm + "=============================================================== + exec 'hi Floaterm' .s:fg_none . s:bg_bg0 + exec 'hi FloatermBorder' .s:fg_blue . s:bg_none + +endfunction + +command! -nargs=0 OceanicMaterial :call g:OceanicMaterial() + +call s:set_color_variables() +call s:apply_syntax_highlightings() + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker fmr={{{,}}}: diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/one-dark.vim b/nvim/plugged/awesome-vim-colorschemes/colors/one-dark.vim new file mode 100644 index 00000000..85c8f018 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/one-dark.vim @@ -0,0 +1,30 @@ +" =============================================================== +" one-dark +" +" URL: +" Author: Ramzi Akremi +" License: MIT +" Last Change: 2017/01/26 18:57 +" =============================================================== + +set background=dark +hi clear +if exists("syntax_on") + syntax reset +endif +let g:colors_name="one-dark" + +hi Bold gui=bold cterm=bold +hi ColorColumn guibg=#2c323c ctermbg=236 gui=NONE cterm=NONE +hi Conceal gui=NONE cterm=NONE +hi Cursor guibg=#528bff ctermbg=69 gui=NONE cterm=NONE +hi CursorColumn guibg=#2c323c ctermbg=236 gui=NONE cterm=NONE +hi CursorLine guibg=#2c323c ctermbg=236 gui=NONE cterm=NONE +hi Directory guifg=#61afef ctermfg=75 gui=NONE cterm=NONE +hi Normal guifg=#abb2bf ctermfg=249 guibg=#282c34 ctermbg=236 gui=NONE cterm=NONE + + +" =================================== +" Generated by Estilo 1.3.3 +" https://github.com/jacoborus/estilo +" =================================== diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/one.vim b/nvim/plugged/awesome-vim-colorschemes/colors/one.vim new file mode 100644 index 00000000..54747c3b --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/one.vim @@ -0,0 +1,883 @@ +" Name: one vim colorscheme +" Author: Ramzi Akremi +" License: MIT +" Version: 1.1.1-pre + +" Global setup =============================================================={{{ + +if exists("*<SID>X") + delf <SID>X + delf <SID>XAPI + delf <SID>rgb + delf <SID>color + delf <SID>rgb_color + delf <SID>rgb_level + delf <SID>rgb_number + delf <SID>grey_color + delf <SID>grey_level + delf <SID>grey_number +endif + +hi clear +syntax reset +if exists('g:colors_name') + unlet g:colors_name +endif +let g:colors_name = 'one' + +if !exists('g:one_allow_italics') + let g:one_allow_italics = 0 +endif + +let s:italic = '' +if g:one_allow_italics == 1 + let s:italic = 'italic' +endif + +if has('gui_running') || has('termguicolors') || &t_Co == 88 || &t_Co == 256 + " functions + " returns an approximate grey index for the given grey level + + " Utility functions -------------------------------------------------------{{{ + fun <SID>grey_number(x) + if &t_Co == 88 + if a:x < 23 + return 0 + elseif a:x < 69 + return 1 + elseif a:x < 103 + return 2 + elseif a:x < 127 + return 3 + elseif a:x < 150 + return 4 + elseif a:x < 173 + return 5 + elseif a:x < 196 + return 6 + elseif a:x < 219 + return 7 + elseif a:x < 243 + return 8 + else + return 9 + endif + else + if a:x < 14 + return 0 + else + let l:n = (a:x - 8) / 10 + let l:m = (a:x - 8) % 10 + if l:m < 5 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " returns the actual grey level represented by the grey index + fun <SID>grey_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 46 + elseif a:n == 2 + return 92 + elseif a:n == 3 + return 115 + elseif a:n == 4 + return 139 + elseif a:n == 5 + return 162 + elseif a:n == 6 + return 185 + elseif a:n == 7 + return 208 + elseif a:n == 8 + return 231 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 8 + (a:n * 10) + endif + endif + endfun + + " returns the palette index for the given grey index + fun <SID>grey_color(n) + if &t_Co == 88 + if a:n == 0 + return 16 + elseif a:n == 9 + return 79 + else + return 79 + a:n + endif + else + if a:n == 0 + return 16 + elseif a:n == 25 + return 231 + else + return 231 + a:n + endif + endif + endfun + + " returns an approximate color index for the given color level + fun <SID>rgb_number(x) + if &t_Co == 88 + if a:x < 69 + return 0 + elseif a:x < 172 + return 1 + elseif a:x < 230 + return 2 + else + return 3 + endif + else + if a:x < 75 + return 0 + else + let l:n = (a:x - 55) / 40 + let l:m = (a:x - 55) % 40 + if l:m < 20 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " returns the actual color level for the given color index + fun <SID>rgb_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 139 + elseif a:n == 2 + return 205 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 55 + (a:n * 40) + endif + endif + endfun + + " returns the palette index for the given R/G/B color indices + fun <SID>rgb_color(x, y, z) + if &t_Co == 88 + return 16 + (a:x * 16) + (a:y * 4) + a:z + else + return 16 + (a:x * 36) + (a:y * 6) + a:z + endif + endfun + + " returns the palette index to approximate the given R/G/B color levels + fun <SID>color(r, g, b) + " get the closest grey + let l:gx = <SID>grey_number(a:r) + let l:gy = <SID>grey_number(a:g) + let l:gz = <SID>grey_number(a:b) + + " get the closest color + let l:x = <SID>rgb_number(a:r) + let l:y = <SID>rgb_number(a:g) + let l:z = <SID>rgb_number(a:b) + + if l:gx == l:gy && l:gy == l:gz + " there are two possibilities + let l:dgr = <SID>grey_level(l:gx) - a:r + let l:dgg = <SID>grey_level(l:gy) - a:g + let l:dgb = <SID>grey_level(l:gz) - a:b + let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) + let l:dr = <SID>rgb_level(l:gx) - a:r + let l:dg = <SID>rgb_level(l:gy) - a:g + let l:db = <SID>rgb_level(l:gz) - a:b + let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) + if l:dgrey < l:drgb + " use the grey + return <SID>grey_color(l:gx) + else + " use the color + return <SID>rgb_color(l:x, l:y, l:z) + endif + else + " only one possibility + return <SID>rgb_color(l:x, l:y, l:z) + endif + endfun + + " returns the palette index to approximate the 'rrggbb' hex string + fun <SID>rgb(rgb) + let l:r = ('0x' . strpart(a:rgb, 0, 2)) + 0 + let l:g = ('0x' . strpart(a:rgb, 2, 2)) + 0 + let l:b = ('0x' . strpart(a:rgb, 4, 2)) + 0 + + return <SID>color(l:r, l:g, l:b) + endfun + + " sets the highlighting for the given group + fun <SID>XAPI(group, fg, bg, attr) + let l:attr = a:attr + if g:one_allow_italics == 0 && l:attr ==? 'italic' + let l:attr= 'none' + endif + + let l:bg = "" + let l:fg = "" + let l:decoration = "" + + if a:bg != '' + let l:bg = " guibg=#" . a:bg . " ctermbg=" . <SID>rgb(a:bg) + endif + + if a:fg != '' + let l:fg = " guifg=#" . a:fg . " ctermfg=" . <SID>rgb(a:fg) + endif + + if a:attr != '' + let l:decoration = " gui=" . l:attr . " cterm=" . l:attr + endif + + let l:exec = l:fg . l:bg . l:decoration + + if l:exec != '' + exec "hi " . a:group . l:exec + endif + + endfun + + " Highlight function + " the original one is borrowed from mhartington/oceanic-next + function! <SID>X(group, fg, bg, attr, ...) + let l:attrsp = get(a:, 1, "") + " fg, bg, attr, attrsp + if !empty(a:fg) + exec "hi " . a:group . " guifg=" . a:fg[0] + exec "hi " . a:group . " ctermfg=" . a:fg[1] + endif + if !empty(a:bg) + exec "hi " . a:group . " guibg=" . a:bg[0] + exec "hi " . a:group . " ctermbg=" . a:bg[1] + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr + exec "hi " . a:group . " cterm=" . a:attr + endif + if !empty(l:attrsp) + exec "hi " . a:group . " guisp=" . l:attrsp[0] + endif + endfunction + + " }}} + + + " Color definition --------------------------------------------------------{{{ + let s:dark = 0 + if &background ==# 'dark' + let s:dark = 1 + let s:mono_1 = ['#abb2bf', '145'] + let s:mono_2 = ['#828997', '102'] + let s:mono_3 = ['#5c6370', '59'] + let s:mono_4 = ['#4b5263', '59'] + + let s:hue_1 = ['#56b6c2', '73'] " cyan + let s:hue_2 = ['#61afef', '75'] " blue + let s:hue_3 = ['#c678dd', '176'] " purple + let s:hue_4 = ['#98c379', '114'] " green + + let s:hue_5 = ['#e06c75', '168'] " red 1 + let s:hue_5_2 = ['#be5046', '130'] " red 2 + + let s:hue_6 = ['#d19a66', '173'] " orange 1 + let s:hue_6_2 = ['#e5c07b', '180'] " orange 2 + + let s:syntax_bg = ['#282c34', '16'] + let s:syntax_gutter = ['#636d83', '60'] + let s:syntax_cursor = ['#2c323c', '16'] + + let s:syntax_accent = ['#528bff', '69'] + + let s:vertsplit = ['#181a1f', '233'] + let s:special_grey = ['#3b4048', '16'] + let s:visual_grey = ['#3e4452', '17'] + let s:pmenu = ['#333841', '16'] + else + let s:mono_1 = ['#494b53', '23'] + let s:mono_2 = ['#696c77', '60'] + let s:mono_3 = ['#a0a1a7', '145'] + let s:mono_4 = ['#c2c2c3', '250'] + + let s:hue_1 = ['#0184bc', '31'] " cyan + let s:hue_2 = ['#4078f2', '33'] " blue + let s:hue_3 = ['#a626a4', '127'] " purple + let s:hue_4 = ['#50a14f', '71'] " green + + let s:hue_5 = ['#e45649', '166'] " red 1 + let s:hue_5_2 = ['#ca1243', '160'] " red 2 + + let s:hue_6 = ['#986801', '94'] " orange 1 + let s:hue_6_2 = ['#c18401', '136'] " orange 2 + + let s:syntax_bg = ['#fafafa', '255'] + let s:syntax_gutter = ['#9e9e9e', '247'] + let s:syntax_cursor = ['#f0f0f0', '254'] + + let s:syntax_accent = ['#526fff', '63'] + let s:syntax_accent_2 = ['#0083be', '31'] + + let s:vertsplit = ['#e7e9e1', '188'] + let s:special_grey = ['#d3d3d3', '251'] + let s:visual_grey = ['#d0d0d0', '251'] + let s:pmenu = ['#dfdfdf', '253'] + endif + + let s:syntax_fg = s:mono_1 + let s:syntax_fold_bg = s:mono_3 + + " }}} + + " Vim editor color --------------------------------------------------------{{{ + call <sid>X('Normal', s:syntax_fg, s:syntax_bg, '') + call <sid>X('bold', '', '', 'bold') + call <sid>X('ColorColumn', '', s:syntax_cursor, '') + call <sid>X('Conceal', s:mono_4, s:syntax_bg, '') + call <sid>X('Cursor', '', s:syntax_accent, '') + call <sid>X('CursorIM', '', '', '') + call <sid>X('CursorColumn', '', s:syntax_cursor, '') + call <sid>X('CursorLine', '', s:syntax_cursor, 'none') + call <sid>X('Directory', s:hue_2, '', '') + call <sid>X('ErrorMsg', s:hue_5, s:syntax_bg, 'none') + call <sid>X('VertSplit', s:syntax_cursor, s:syntax_cursor, 'none') + call <sid>X('Folded', s:syntax_fg, s:syntax_bg, 'none') + call <sid>X('FoldColumn', s:mono_3, s:syntax_cursor, '') + call <sid>X('IncSearch', s:hue_6, '', '') + call <sid>X('LineNr', s:mono_4, '', '') + call <sid>X('CursorLineNr', s:syntax_fg, s:syntax_cursor, 'none') + call <sid>X('MatchParen', s:hue_5, s:syntax_cursor, 'underline,bold') + call <sid>X('Italic', '', '', s:italic) + call <sid>X('ModeMsg', s:syntax_fg, '', '') + call <sid>X('MoreMsg', s:syntax_fg, '', '') + call <sid>X('NonText', s:mono_3, '', 'none') + call <sid>X('PMenu', '', s:pmenu, '') + call <sid>X('PMenuSel', '', s:mono_4, '') + call <sid>X('PMenuSbar', '', s:syntax_bg, '') + call <sid>X('PMenuThumb', '', s:mono_1, '') + call <sid>X('Question', s:hue_2, '', '') + call <sid>X('Search', s:syntax_bg, s:hue_6_2, '') + call <sid>X('SpecialKey', s:special_grey, '', 'none') + call <sid>X('Whitespace', s:special_grey, '', 'none') + call <sid>X('StatusLine', s:syntax_fg, s:syntax_cursor, 'none') + call <sid>X('StatusLineNC', s:mono_3, '', '') + call <sid>X('TabLine', s:mono_2, s:visual_grey, 'none') + call <sid>X('TabLineFill', s:mono_3, s:visual_grey, 'none') + call <sid>X('TabLineSel', s:syntax_bg, s:hue_2, '') + call <sid>X('Title', s:syntax_fg, '', 'bold') + call <sid>X('Visual', '', s:visual_grey, '') + call <sid>X('VisualNOS', '', s:visual_grey, '') + call <sid>X('WarningMsg', s:hue_5, '', '') + call <sid>X('TooLong', s:hue_5, '', '') + call <sid>X('WildMenu', s:syntax_fg, s:mono_3, '') + call <sid>X('SignColumn', '', s:syntax_bg, '') + call <sid>X('Special', s:hue_2, '', '') + " }}} + + " Vim Help highlighting ---------------------------------------------------{{{ + call <sid>X('helpCommand', s:hue_6_2, '', '') + call <sid>X('helpExample', s:hue_6_2, '', '') + call <sid>X('helpHeader', s:mono_1, '', 'bold') + call <sid>X('helpSectionDelim', s:mono_3, '', '') + " }}} + + " Standard syntax highlighting --------------------------------------------{{{ + call <sid>X('Comment', s:mono_3, '', s:italic) + call <sid>X('Constant', s:hue_4, '', '') + call <sid>X('String', s:hue_4, '', '') + call <sid>X('Character', s:hue_4, '', '') + call <sid>X('Number', s:hue_6, '', '') + call <sid>X('Boolean', s:hue_6, '', '') + call <sid>X('Float', s:hue_6, '', '') + call <sid>X('Identifier', s:hue_5, '', 'none') + call <sid>X('Function', s:hue_2, '', '') + call <sid>X('Statement', s:hue_3, '', 'none') + call <sid>X('Conditional', s:hue_3, '', '') + call <sid>X('Repeat', s:hue_3, '', '') + call <sid>X('Label', s:hue_3, '', '') + call <sid>X('Operator', s:syntax_accent, '', 'none') + call <sid>X('Keyword', s:hue_5, '', '') + call <sid>X('Exception', s:hue_3, '', '') + call <sid>X('PreProc', s:hue_6_2, '', '') + call <sid>X('Include', s:hue_2, '', '') + call <sid>X('Define', s:hue_3, '', 'none') + call <sid>X('Macro', s:hue_3, '', '') + call <sid>X('PreCondit', s:hue_6_2, '', '') + call <sid>X('Type', s:hue_6_2, '', 'none') + call <sid>X('StorageClass', s:hue_6_2, '', '') + call <sid>X('Structure', s:hue_6_2, '', '') + call <sid>X('Typedef', s:hue_6_2, '', '') + call <sid>X('Special', s:hue_2, '', '') + call <sid>X('SpecialChar', '', '', '') + call <sid>X('Tag', '', '', '') + call <sid>X('Delimiter', '', '', '') + call <sid>X('SpecialComment', '', '', '') + call <sid>X('Debug', '', '', '') + call <sid>X('Underlined', '', '', 'underline') + call <sid>X('Ignore', '', '', '') + call <sid>X('Error', s:hue_5, s:syntax_bg, 'bold') + call <sid>X('Todo', s:hue_3, s:syntax_bg, '') + " }}} + + " Diff highlighting -------------------------------------------------------{{{ + call <sid>X('DiffAdd', s:hue_4, s:visual_grey, '') + call <sid>X('DiffChange', s:hue_6, s:visual_grey, '') + call <sid>X('DiffDelete', s:hue_5, s:visual_grey, '') + call <sid>X('DiffText', s:hue_2, s:visual_grey, '') + call <sid>X('DiffAdded', s:hue_4, s:visual_grey, '') + call <sid>X('DiffFile', s:hue_5, s:visual_grey, '') + call <sid>X('DiffNewFile', s:hue_4, s:visual_grey, '') + call <sid>X('DiffLine', s:hue_2, s:visual_grey, '') + call <sid>X('DiffRemoved', s:hue_5, s:visual_grey, '') + " }}} + + " Asciidoc highlighting ---------------------------------------------------{{{ + call <sid>X('asciidocListingBlock', s:mono_2, '', '') + " }}} + + " C/C++ highlighting ------------------------------------------------------{{{ + call <sid>X('cInclude', s:hue_3, '', '') + call <sid>X('cPreCondit', s:hue_3, '', '') + call <sid>X('cPreConditMatch', s:hue_3, '', '') + + call <sid>X('cType', s:hue_3, '', '') + call <sid>X('cStorageClass', s:hue_3, '', '') + call <sid>X('cStructure', s:hue_3, '', '') + call <sid>X('cOperator', s:hue_3, '', '') + call <sid>X('cStatement', s:hue_3, '', '') + call <sid>X('cTODO', s:hue_3, '', '') + call <sid>X('cConstant', s:hue_6, '', '') + call <sid>X('cSpecial', s:hue_1, '', '') + call <sid>X('cSpecialCharacter', s:hue_1, '', '') + call <sid>X('cString', s:hue_4, '', '') + + call <sid>X('cppType', s:hue_3, '', '') + call <sid>X('cppStorageClass', s:hue_3, '', '') + call <sid>X('cppStructure', s:hue_3, '', '') + call <sid>X('cppModifier', s:hue_3, '', '') + call <sid>X('cppOperator', s:hue_3, '', '') + call <sid>X('cppAccess', s:hue_3, '', '') + call <sid>X('cppStatement', s:hue_3, '', '') + call <sid>X('cppConstant', s:hue_5, '', '') + call <sid>X('cCppString', s:hue_4, '', '') + " }}} + + " Cucumber highlighting ---------------------------------------------------{{{ + call <sid>X('cucumberGiven', s:hue_2, '', '') + call <sid>X('cucumberWhen', s:hue_2, '', '') + call <sid>X('cucumberWhenAnd', s:hue_2, '', '') + call <sid>X('cucumberThen', s:hue_2, '', '') + call <sid>X('cucumberThenAnd', s:hue_2, '', '') + call <sid>X('cucumberUnparsed', s:hue_6, '', '') + call <sid>X('cucumberFeature', s:hue_5, '', 'bold') + call <sid>X('cucumberBackground', s:hue_3, '', 'bold') + call <sid>X('cucumberScenario', s:hue_3, '', 'bold') + call <sid>X('cucumberScenarioOutline', s:hue_3, '', 'bold') + call <sid>X('cucumberTags', s:mono_3, '', 'bold') + call <sid>X('cucumberDelimiter', s:mono_3, '', 'bold') + " }}} + + " CSS/Sass highlighting ---------------------------------------------------{{{ + call <sid>X('cssAttrComma', s:hue_3, '', '') + call <sid>X('cssAttributeSelector', s:hue_4, '', '') + call <sid>X('cssBraces', s:mono_2, '', '') + call <sid>X('cssClassName', s:hue_6, '', '') + call <sid>X('cssClassNameDot', s:hue_6, '', '') + call <sid>X('cssDefinition', s:hue_3, '', '') + call <sid>X('cssFontAttr', s:hue_6, '', '') + call <sid>X('cssFontDescriptor', s:hue_3, '', '') + call <sid>X('cssFunctionName', s:hue_2, '', '') + call <sid>X('cssIdentifier', s:hue_2, '', '') + call <sid>X('cssImportant', s:hue_3, '', '') + call <sid>X('cssInclude', s:mono_1, '', '') + call <sid>X('cssIncludeKeyword', s:hue_3, '', '') + call <sid>X('cssMediaType', s:hue_6, '', '') + call <sid>X('cssProp', s:hue_1, '', '') + call <sid>X('cssPseudoClassId', s:hue_6, '', '') + call <sid>X('cssSelectorOp', s:hue_3, '', '') + call <sid>X('cssSelectorOp2', s:hue_3, '', '') + call <sid>X('cssStringQ', s:hue_4, '', '') + call <sid>X('cssStringQQ', s:hue_4, '', '') + call <sid>X('cssTagName', s:hue_5, '', '') + call <sid>X('cssAttr', s:hue_6, '', '') + + call <sid>X('sassAmpersand', s:hue_5, '', '') + call <sid>X('sassClass', s:hue_6_2, '', '') + call <sid>X('sassControl', s:hue_3, '', '') + call <sid>X('sassExtend', s:hue_3, '', '') + call <sid>X('sassFor', s:mono_1, '', '') + call <sid>X('sassProperty', s:hue_1, '', '') + call <sid>X('sassFunction', s:hue_1, '', '') + call <sid>X('sassId', s:hue_2, '', '') + call <sid>X('sassInclude', s:hue_3, '', '') + call <sid>X('sassMedia', s:hue_3, '', '') + call <sid>X('sassMediaOperators', s:mono_1, '', '') + call <sid>X('sassMixin', s:hue_3, '', '') + call <sid>X('sassMixinName', s:hue_2, '', '') + call <sid>X('sassMixing', s:hue_3, '', '') + + call <sid>X('scssSelectorName', s:hue_6_2, '', '') + " }}} + + " Elixir highlighting------------------------------------------------------{{{ + hi link elixirModuleDefine Define + call <sid>X('elixirAlias', s:hue_6_2, '', '') + call <sid>X('elixirAtom', s:hue_1, '', '') + call <sid>X('elixirBlockDefinition', s:hue_3, '', '') + call <sid>X('elixirModuleDeclaration', s:hue_6, '', '') + call <sid>X('elixirInclude', s:hue_5, '', '') + call <sid>X('elixirOperator', s:hue_6, '', '') + " }}} + + " Git and git related plugins highlighting --------------------------------{{{ + call <sid>X('gitcommitComment', s:mono_3, '', '') + call <sid>X('gitcommitUnmerged', s:hue_4, '', '') + call <sid>X('gitcommitOnBranch', '', '', '') + call <sid>X('gitcommitBranch', s:hue_3, '', '') + call <sid>X('gitcommitDiscardedType', s:hue_5, '', '') + call <sid>X('gitcommitSelectedType', s:hue_4, '', '') + call <sid>X('gitcommitHeader', '', '', '') + call <sid>X('gitcommitUntrackedFile', s:hue_1, '', '') + call <sid>X('gitcommitDiscardedFile', s:hue_5, '', '') + call <sid>X('gitcommitSelectedFile', s:hue_4, '', '') + call <sid>X('gitcommitUnmergedFile', s:hue_6_2, '', '') + call <sid>X('gitcommitFile', '', '', '') + hi link gitcommitNoBranch gitcommitBranch + hi link gitcommitUntracked gitcommitComment + hi link gitcommitDiscarded gitcommitComment + hi link gitcommitSelected gitcommitComment + hi link gitcommitDiscardedArrow gitcommitDiscardedFile + hi link gitcommitSelectedArrow gitcommitSelectedFile + hi link gitcommitUnmergedArrow gitcommitUnmergedFile + + call <sid>X('SignifySignAdd', s:hue_4, '', '') + call <sid>X('SignifySignChange', s:hue_6_2, '', '') + call <sid>X('SignifySignDelete', s:hue_5, '', '') + hi link GitGutterAdd SignifySignAdd + hi link GitGutterChange SignifySignChange + hi link GitGutterDelete SignifySignDelete + call <sid>X('diffAdded', s:hue_4, '', '') + call <sid>X('diffRemoved', s:hue_5, '', '') + " }}} + + " Go highlighting ---------------------------------------------------------{{{ + call <sid>X('goDeclaration', s:hue_3, '', '') + call <sid>X('goField', s:hue_5, '', '') + call <sid>X('goMethod', s:hue_1, '', '') + call <sid>X('goType', s:hue_3, '', '') + call <sid>X('goUnsignedInts', s:hue_1, '', '') + " }}} + + " Haskell highlighting ----------------------------------------------------{{{ + call <sid>X('haskellDeclKeyword', s:hue_2, '', '') + call <sid>X('haskellType', s:hue_4, '', '') + call <sid>X('haskellWhere', s:hue_5, '', '') + call <sid>X('haskellImportKeywords', s:hue_2, '', '') + call <sid>X('haskellOperators', s:hue_5, '', '') + call <sid>X('haskellDelimiter', s:hue_2, '', '') + call <sid>X('haskellIdentifier', s:hue_6, '', '') + call <sid>X('haskellKeyword', s:hue_5, '', '') + call <sid>X('haskellNumber', s:hue_1, '', '') + call <sid>X('haskellString', s:hue_1, '', '') + "}}} + + " HTML highlighting -------------------------------------------------------{{{ + call <sid>X('htmlArg', s:hue_6, '', '') + call <sid>X('htmlTagName', s:hue_5, '', '') + call <sid>X('htmlTagN', s:hue_5, '', '') + call <sid>X('htmlSpecialTagName', s:hue_5, '', '') + call <sid>X('htmlTag', s:mono_2, '', '') + call <sid>X('htmlEndTag', s:mono_2, '', '') + + call <sid>X('MatchTag', s:hue_5, s:syntax_cursor, 'underline,bold') + " }}} + + " JavaScript highlighting -------------------------------------------------{{{ + call <sid>X('coffeeString', s:hue_4, '', '') + + call <sid>X('javaScriptBraces', s:mono_2, '', '') + call <sid>X('javaScriptFunction', s:hue_3, '', '') + call <sid>X('javaScriptIdentifier', s:hue_3, '', '') + call <sid>X('javaScriptNull', s:hue_6, '', '') + call <sid>X('javaScriptNumber', s:hue_6, '', '') + call <sid>X('javaScriptRequire', s:hue_1, '', '') + call <sid>X('javaScriptReserved', s:hue_3, '', '') + " https://github.com/pangloss/vim-javascript + call <sid>X('jsArrowFunction', s:hue_3, '', '') + call <sid>X('jsBraces', s:mono_2, '', '') + call <sid>X('jsClassBraces', s:mono_2, '', '') + call <sid>X('jsClassKeywords', s:hue_3, '', '') + call <sid>X('jsDocParam', s:hue_2, '', '') + call <sid>X('jsDocTags', s:hue_3, '', '') + call <sid>X('jsFuncBraces', s:mono_2, '', '') + call <sid>X('jsFuncCall', s:hue_2, '', '') + call <sid>X('jsFuncParens', s:mono_2, '', '') + call <sid>X('jsFunction', s:hue_3, '', '') + call <sid>X('jsGlobalObjects', s:hue_6_2, '', '') + call <sid>X('jsModuleWords', s:hue_3, '', '') + call <sid>X('jsModules', s:hue_3, '', '') + call <sid>X('jsNoise', s:mono_2, '', '') + call <sid>X('jsNull', s:hue_6, '', '') + call <sid>X('jsOperator', s:hue_3, '', '') + call <sid>X('jsParens', s:mono_2, '', '') + call <sid>X('jsStorageClass', s:hue_3, '', '') + call <sid>X('jsTemplateBraces', s:hue_5_2, '', '') + call <sid>X('jsTemplateVar', s:hue_4, '', '') + call <sid>X('jsThis', s:hue_5, '', '') + call <sid>X('jsUndefined', s:hue_6, '', '') + call <sid>X('jsObjectValue', s:hue_2, '', '') + call <sid>X('jsObjectKey', s:hue_1, '', '') + call <sid>X('jsReturn', s:hue_3, '', '') + " https://github.com/othree/yajs.vim + call <sid>X('javascriptArrowFunc', s:hue_3, '', '') + call <sid>X('javascriptClassExtends', s:hue_3, '', '') + call <sid>X('javascriptClassKeyword', s:hue_3, '', '') + call <sid>X('javascriptDocNotation', s:hue_3, '', '') + call <sid>X('javascriptDocParamName', s:hue_2, '', '') + call <sid>X('javascriptDocTags', s:hue_3, '', '') + call <sid>X('javascriptEndColons', s:mono_3, '', '') + call <sid>X('javascriptExport', s:hue_3, '', '') + call <sid>X('javascriptFuncArg', s:mono_1, '', '') + call <sid>X('javascriptFuncKeyword', s:hue_3, '', '') + call <sid>X('javascriptIdentifier', s:hue_5, '', '') + call <sid>X('javascriptImport', s:hue_3, '', '') + call <sid>X('javascriptObjectLabel', s:mono_1, '', '') + call <sid>X('javascriptOpSymbol', s:hue_1, '', '') + call <sid>X('javascriptOpSymbols', s:hue_1, '', '') + call <sid>X('javascriptPropertyName', s:hue_4, '', '') + call <sid>X('javascriptTemplateSB', s:hue_5_2, '', '') + call <sid>X('javascriptVariable', s:hue_3, '', '') + " }}} + + " JSON highlighting -------------------------------------------------------{{{ + call <sid>X('jsonCommentError', s:mono_1, '', '' ) + call <sid>X('jsonKeyword', s:hue_5, '', '' ) + call <sid>X('jsonQuote', s:mono_3, '', '' ) + call <sid>X('jsonTrailingCommaError', s:hue_5, '', 'reverse' ) + call <sid>X('jsonMissingCommaError', s:hue_5, '', 'reverse' ) + call <sid>X('jsonNoQuotesError', s:hue_5, '', 'reverse' ) + call <sid>X('jsonNumError', s:hue_5, '', 'reverse' ) + call <sid>X('jsonString', s:hue_4, '', '' ) + call <sid>X('jsonBoolean', s:hue_3, '', '' ) + call <sid>X('jsonNumber', s:hue_6, '', '' ) + call <sid>X('jsonStringSQError', s:hue_5, '', 'reverse' ) + call <sid>X('jsonSemicolonError', s:hue_5, '', 'reverse' ) + " }}} + + " Markdown highlighting ---------------------------------------------------{{{ + call <sid>X('markdownUrl', s:mono_3, '', '') + call <sid>X('markdownBold', s:hue_6, '', 'bold') + call <sid>X('markdownItalic', s:hue_6, '', 'bold') + call <sid>X('markdownCode', s:hue_4, '', '') + call <sid>X('markdownCodeBlock', s:hue_5, '', '') + call <sid>X('markdownCodeDelimiter', s:hue_4, '', '') + call <sid>X('markdownHeadingDelimiter', s:hue_5_2, '', '') + call <sid>X('markdownH1', s:hue_5, '', '') + call <sid>X('markdownH2', s:hue_5, '', '') + call <sid>X('markdownH3', s:hue_5, '', '') + call <sid>X('markdownH3', s:hue_5, '', '') + call <sid>X('markdownH4', s:hue_5, '', '') + call <sid>X('markdownH5', s:hue_5, '', '') + call <sid>X('markdownH6', s:hue_5, '', '') + call <sid>X('markdownListMarker', s:hue_5, '', '') + " }}} + + " Perl highlighting -------------------------------------------------------{{{ + call <sid>X('perlFunction', s:hue_3, '', '') + call <sid>X('perlMethod', s:syntax_fg, '', '') + call <sid>X('perlPackageConst', s:hue_3, '', '') + call <sid>X('perlPOD', s:mono_3, '', '') + call <sid>X('perlSubName', s:syntax_fg, '', '') + call <sid>X('perlSharpBang', s:mono_3, '', '') + call <sid>X('perlSpecialString', s:hue_4, '', '') + call <sid>X('perlVarPlain', s:hue_2, '', '') + call <sid>X('podCommand', s:mono_3, '', '') + + " PHP highlighting --------------------------------------------------------{{{ + call <sid>X('phpClass', s:hue_6_2, '', '') + call <sid>X('phpFunction', s:hue_2, '', '') + call <sid>X('phpFunctions', s:hue_2, '', '') + call <sid>X('phpInclude', s:hue_3, '', '') + call <sid>X('phpKeyword', s:hue_3, '', '') + call <sid>X('phpParent', s:mono_3, '', '') + call <sid>X('phpType', s:hue_3, '', '') + call <sid>X('phpSuperGlobals', s:hue_5, '', '') + " }}} + + " Pug (Formerly Jade) highlighting ----------------------------------------{{{ + call <sid>X('pugAttributesDelimiter', s:hue_6, '', '') + call <sid>X('pugClass', s:hue_6, '', '') + call <sid>X('pugDocType', s:mono_3, '', s:italic) + call <sid>X('pugTag', s:hue_5, '', '') + " }}} + + " PureScript highlighting -------------------------------------------------{{{ + call <sid>X('purescriptKeyword', s:hue_3, '', '') + call <sid>X('purescriptModuleName', s:syntax_fg, '', '') + call <sid>X('purescriptIdentifier', s:syntax_fg, '', '') + call <sid>X('purescriptType', s:hue_6_2, '', '') + call <sid>X('purescriptTypeVar', s:hue_5, '', '') + call <sid>X('purescriptConstructor', s:hue_5, '', '') + call <sid>X('purescriptOperator', s:syntax_fg, '', '') + " }}} + + " Python highlighting -----------------------------------------------------{{{ + call <sid>X('pythonImport', s:hue_3, '', '') + call <sid>X('pythonBuiltin', s:hue_1, '', '') + call <sid>X('pythonStatement', s:hue_3, '', '') + call <sid>X('pythonParam', s:hue_6, '', '') + call <sid>X('pythonEscape', s:hue_5, '', '') + call <sid>X('pythonSelf', s:mono_2, '', s:italic) + call <sid>X('pythonClass', s:hue_2, '', '') + call <sid>X('pythonOperator', s:hue_3, '', '') + call <sid>X('pythonEscape', s:hue_5, '', '') + call <sid>X('pythonFunction', s:hue_2, '', '') + call <sid>X('pythonKeyword', s:hue_2, '', '') + call <sid>X('pythonModule', s:hue_3, '', '') + call <sid>X('pythonStringDelimiter', s:hue_4, '', '') + call <sid>X('pythonSymbol', s:hue_1, '', '') + " }}} + + " Ruby highlighting -------------------------------------------------------{{{ + call <sid>X('rubyBlock', s:hue_3, '', '') + call <sid>X('rubyBlockParameter', s:hue_5, '', '') + call <sid>X('rubyBlockParameterList', s:hue_5, '', '') + call <sid>X('rubyCapitalizedMethod', s:hue_3, '', '') + call <sid>X('rubyClass', s:hue_3, '', '') + call <sid>X('rubyConstant', s:hue_6_2, '', '') + call <sid>X('rubyControl', s:hue_3, '', '') + call <sid>X('rubyDefine', s:hue_3, '', '') + call <sid>X('rubyEscape', s:hue_5, '', '') + call <sid>X('rubyFunction', s:hue_2, '', '') + call <sid>X('rubyGlobalVariable', s:hue_5, '', '') + call <sid>X('rubyInclude', s:hue_2, '', '') + call <sid>X('rubyIncluderubyGlobalVariable', s:hue_5, '', '') + call <sid>X('rubyInstanceVariable', s:hue_5, '', '') + call <sid>X('rubyInterpolation', s:hue_1, '', '') + call <sid>X('rubyInterpolationDelimiter', s:hue_5, '', '') + call <sid>X('rubyKeyword', s:hue_2, '', '') + call <sid>X('rubyModule', s:hue_3, '', '') + call <sid>X('rubyPseudoVariable', s:hue_5, '', '') + call <sid>X('rubyRegexp', s:hue_1, '', '') + call <sid>X('rubyRegexpDelimiter', s:hue_1, '', '') + call <sid>X('rubyStringDelimiter', s:hue_4, '', '') + call <sid>X('rubySymbol', s:hue_1, '', '') + " }}} + + " Spelling highlighting ---------------------------------------------------{{{ + call <sid>X('SpellBad', '', s:syntax_bg, 'undercurl') + call <sid>X('SpellLocal', '', s:syntax_bg, 'undercurl') + call <sid>X('SpellCap', '', s:syntax_bg, 'undercurl') + call <sid>X('SpellRare', '', s:syntax_bg, 'undercurl') + " }}} + + " Vim highlighting --------------------------------------------------------{{{ + call <sid>X('vimCommand', s:hue_3, '', '') + call <sid>X('vimCommentTitle', s:mono_3, '', 'bold') + call <sid>X('vimFunction', s:hue_1, '', '') + call <sid>X('vimFuncName', s:hue_3, '', '') + call <sid>X('vimHighlight', s:hue_2, '', '') + call <sid>X('vimLineComment', s:mono_3, '', s:italic) + call <sid>X('vimParenSep', s:mono_2, '', '') + call <sid>X('vimSep', s:mono_2, '', '') + call <sid>X('vimUserFunc', s:hue_1, '', '') + call <sid>X('vimVar', s:hue_5, '', '') + " }}} + + " XML highlighting --------------------------------------------------------{{{ + call <sid>X('xmlAttrib', s:hue_6_2, '', '') + call <sid>X('xmlEndTag', s:hue_5, '', '') + call <sid>X('xmlTag', s:hue_5, '', '') + call <sid>X('xmlTagName', s:hue_5, '', '') + " }}} + + " ZSH highlighting --------------------------------------------------------{{{ + call <sid>X('zshCommands', s:syntax_fg, '', '') + call <sid>X('zshDeref', s:hue_5, '', '') + call <sid>X('zshShortDeref', s:hue_5, '', '') + call <sid>X('zshFunction', s:hue_1, '', '') + call <sid>X('zshKeyword', s:hue_3, '', '') + call <sid>X('zshSubst', s:hue_5, '', '') + call <sid>X('zshSubstDelim', s:mono_3, '', '') + call <sid>X('zshTypes', s:hue_3, '', '') + call <sid>X('zshVariableDef', s:hue_6, '', '') + " }}} + + " Rust highlighting -------------------------------------------------------{{{ + call <sid>X('rustExternCrate', s:hue_5, '', 'bold') + call <sid>X('rustIdentifier', s:hue_2, '', '') + call <sid>X('rustDeriveTrait', s:hue_4, '', '') + call <sid>X('SpecialComment', s:mono_3, '', '') + call <sid>X('rustCommentLine', s:mono_3, '', '') + call <sid>X('rustCommentLineDoc', s:mono_3, '', '') + call <sid>X('rustCommentLineDocError', s:mono_3, '', '') + call <sid>X('rustCommentBlock', s:mono_3, '', '') + call <sid>X('rustCommentBlockDoc', s:mono_3, '', '') + call <sid>X('rustCommentBlockDocError', s:mono_3, '', '') + " }}} + + " man highlighting --------------------------------------------------------{{{ + hi link manTitle String + call <sid>X('manFooter', s:mono_3, '', '') + " }}} + + " ALE (Asynchronous Lint Engine) highlighting -----------------------------{{{ + call <sid>X('ALEWarningSign', s:hue_6_2, '', '') + call <sid>X('ALEErrorSign', s:hue_5, '', '') + + + " Neovim NERDTree Background fix ------------------------------------------{{{ + call <sid>X('NERDTreeFile', s:syntax_fg, '', '') + " }}} + + " Delete functions =========================================================={{{ + " delf <SID>X + " delf <SID>XAPI + " delf <SID>rgb + " delf <SID>color + " delf <SID>rgb_color + " delf <SID>rgb_level + " delf <SID>rgb_number + " delf <SID>grey_color + " delf <SID>grey_level + " delf <SID>grey_number + " }}} + +endif +"}}} + +" Public API --------------------------------------------------------------{{{ +function! one#highlight(group, fg, bg, attr) + call <sid>XAPI(a:group, a:fg, a:bg, a:attr) +endfunction +"}}} + +if exists('s:dark') && s:dark + set background=dark +endif + +" vim: set fdl=0 fdm=marker: diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/onedark.vim b/nvim/plugged/awesome-vim-colorschemes/colors/onedark.vim new file mode 100644 index 00000000..2c552b8a --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/onedark.vim @@ -0,0 +1,679 @@ +" vim:fdm=marker +" Vim Color File +" Name: onedark.vim +" Maintainer: https://github.com/joshdick/onedark.vim/ +" License: The MIT License (MIT) +" Based On: https://github.com/MaxSt/FlatColor/ + +" Companion statusline plugin and terminal themes are included with onedark.vim: +" * https://github.com/joshdick/onedark.vim#lightlinevim-colorscheme +" * https://github.com/joshdick/onedark.vim#vim-airline-theme +" * https://github.com/joshdick/onedark.vim/tree/main/term + +" Color Reference {{{ + +" The following colors were measured inside Atom using its built-in inspector. + +" +---------------------------------------------+ +" | Color Name | RGB | Hex | +" |--------------+--------------------+---------| +" | Black | rgb(40, 44, 52) | #282c34 | +" |--------------+--------------------+---------| +" | White | rgb(171, 178, 191) | #abb2bf | +" |--------------+--------------------+---------| +" | Light Red | rgb(224, 108, 117) | #e06c75 | +" |--------------+--------------------+---------| +" | Dark Red | rgb(190, 80, 70) | #be5046 | +" |--------------+--------------------+---------| +" | Green | rgb(152, 195, 121) | #98c379 | +" |--------------+--------------------+---------| +" | Light Yellow | rgb(229, 192, 123) | #e5c07b | +" |--------------+--------------------+---------| +" | Dark Yellow | rgb(209, 154, 102) | #d19a66 | +" |--------------+--------------------+---------| +" | Blue | rgb(97, 175, 239) | #61afef | +" |--------------+--------------------+---------| +" | Magenta | rgb(198, 120, 221) | #c678dd | +" |--------------+--------------------+---------| +" | Cyan | rgb(86, 182, 194) | #56b6c2 | +" |--------------+--------------------+---------| +" | Gutter Grey | rgb(76, 82, 99) | #4b5263 | +" |--------------+--------------------+---------| +" | Comment Grey | rgb(92, 99, 112) | #5c6370 | +" +---------------------------------------------+ + +" }}} + +" Initialization {{{ + +highlight clear + +if exists("syntax_on") + syntax reset +endif + +set t_Co=256 + +let g:colors_name="onedark" + +" Set to "256" for 256-color terminals, or +" set to "16" to use your terminal emulator's native colors +" (a 16-color palette for this color scheme is available; see +" < https://github.com/joshdick/onedark.vim/blob/main/README.md > +" for more information.) +if !exists("g:onedark_termcolors") + let g:onedark_termcolors = 256 +endif + +" Not all terminals support italics properly. If yours does, opt-in. +if !exists("g:onedark_terminal_italics") + let g:onedark_terminal_italics = 0 +endif + +" This function is based on one from FlatColor: https://github.com/MaxSt/FlatColor/ +" Which in turn was based on one found in hemisu: https://github.com/noahfrederick/vim-hemisu/ +let s:group_colors = {} " Cache of default highlight group settings, for later reference via `onedark#extend_highlight` +function! s:h(group, style, ...) + if (a:0 > 0) " Will be true if we got here from onedark#extend_highlight + let s:highlight = s:group_colors[a:group] + for style_type in ["fg", "bg", "sp"] + if (has_key(a:style, style_type)) + let l:default_style = (has_key(s:highlight, style_type) ? copy(s:highlight[style_type]) : { "cterm16": "NONE", "cterm": "NONE", "gui": "NONE" }) + let s:highlight[style_type] = extend(l:default_style, a:style[style_type]) + endif + endfor + if (has_key(a:style, "gui")) + let s:highlight.gui = a:style.gui + endif + else + let s:highlight = a:style + let s:group_colors[a:group] = s:highlight " Cache default highlight group settings + endif + + if g:onedark_terminal_italics == 0 + if has_key(s:highlight, "cterm") && s:highlight["cterm"] == "italic" + unlet s:highlight.cterm + endif + if has_key(s:highlight, "gui") && s:highlight["gui"] == "italic" + unlet s:highlight.gui + endif + endif + + if g:onedark_termcolors == 16 + let l:ctermfg = (has_key(s:highlight, "fg") ? s:highlight.fg.cterm16 : "NONE") + let l:ctermbg = (has_key(s:highlight, "bg") ? s:highlight.bg.cterm16 : "NONE") + else + let l:ctermfg = (has_key(s:highlight, "fg") ? s:highlight.fg.cterm : "NONE") + let l:ctermbg = (has_key(s:highlight, "bg") ? s:highlight.bg.cterm : "NONE") + endif + + execute "highlight" a:group + \ "guifg=" (has_key(s:highlight, "fg") ? s:highlight.fg.gui : "NONE") + \ "guibg=" (has_key(s:highlight, "bg") ? s:highlight.bg.gui : "NONE") + \ "guisp=" (has_key(s:highlight, "sp") ? s:highlight.sp.gui : "NONE") + \ "gui=" (has_key(s:highlight, "gui") ? s:highlight.gui : "NONE") + \ "ctermfg=" . l:ctermfg + \ "ctermbg=" . l:ctermbg + \ "cterm=" (has_key(s:highlight, "cterm") ? s:highlight.cterm : "NONE") +endfunction + +" public {{{ + +function! onedark#set_highlight(group, style) + call s:h(a:group, a:style) +endfunction + +function! onedark#extend_highlight(group, style) + call s:h(a:group, a:style, 1) +endfunction + +" }}} + +" }}} + +" Color Variables {{{ + +let s:colors = onedark#GetColors() + +let s:red = s:colors.red +let s:dark_red = s:colors.dark_red +let s:green = s:colors.green +let s:yellow = s:colors.yellow +let s:dark_yellow = s:colors.dark_yellow +let s:blue = s:colors.blue +let s:purple = s:colors.purple +let s:cyan = s:colors.cyan +let s:white = s:colors.white +let s:black = s:colors.black +let s:foreground = s:colors.foreground +let s:background = s:colors.background +let s:comment_grey = s:colors.comment_grey +let s:gutter_fg_grey = s:colors.gutter_fg_grey +let s:cursor_grey = s:colors.cursor_grey +let s:visual_grey = s:colors.visual_grey +let s:menu_grey = s:colors.menu_grey +let s:special_grey = s:colors.special_grey +let s:vertsplit = s:colors.vertsplit + +" }}} + +" Terminal Colors {{{ + +let g:terminal_ansi_colors = [ + \ s:black.gui, s:red.gui, s:green.gui, s:yellow.gui, + \ s:blue.gui, s:purple.gui, s:cyan.gui, s:comment_grey.gui, + \ s:visual_grey.gui, s:red.gui, s:green.gui, s:yellow.gui, + \ s:blue.gui, s:purple.gui, s:cyan.gui, s:white.gui +\] + +" }}} + +" Syntax Groups (descriptions and ordering from `:h w18`) {{{ + +call s:h("Comment", { "fg": s:comment_grey, "gui": "italic", "cterm": "italic" }) " any comment +call s:h("Constant", { "fg": s:cyan }) " any constant +call s:h("String", { "fg": s:green }) " a string constant: "this is a string" +call s:h("Character", { "fg": s:green }) " a character constant: 'c', '\n' +call s:h("Number", { "fg": s:dark_yellow }) " a number constant: 234, 0xff +call s:h("Boolean", { "fg": s:dark_yellow }) " a boolean constant: TRUE, false +call s:h("Float", { "fg": s:dark_yellow }) " a floating point constant: 2.3e10 +call s:h("Identifier", { "fg": s:red }) " any variable name +call s:h("Function", { "fg": s:blue }) " function name (also: methods for classes) +call s:h("Statement", { "fg": s:purple }) " any statement +call s:h("Conditional", { "fg": s:purple }) " if, then, else, endif, switch, etc. +call s:h("Repeat", { "fg": s:purple }) " for, do, while, etc. +call s:h("Label", { "fg": s:purple }) " case, default, etc. +call s:h("Operator", { "fg": s:purple }) " sizeof", "+", "*", etc. +call s:h("Keyword", { "fg": s:red }) " any other keyword +call s:h("Exception", { "fg": s:purple }) " try, catch, throw +call s:h("PreProc", { "fg": s:yellow }) " generic Preprocessor +call s:h("Include", { "fg": s:blue }) " preprocessor #include +call s:h("Define", { "fg": s:purple }) " preprocessor #define +call s:h("Macro", { "fg": s:purple }) " same as Define +call s:h("PreCondit", { "fg": s:yellow }) " preprocessor #if, #else, #endif, etc. +call s:h("Type", { "fg": s:yellow }) " int, long, char, etc. +call s:h("StorageClass", { "fg": s:yellow }) " static, register, volatile, etc. +call s:h("Structure", { "fg": s:yellow }) " struct, union, enum, etc. +call s:h("Typedef", { "fg": s:yellow }) " A typedef +call s:h("Special", { "fg": s:blue }) " any special symbol +call s:h("SpecialChar", { "fg": s:dark_yellow }) " special character in a constant +call s:h("Tag", {}) " you can use CTRL-] on this +call s:h("Delimiter", {}) " character that needs attention +call s:h("SpecialComment", { "fg": s:comment_grey }) " special things inside a comment +call s:h("Debug", {}) " debugging statements +call s:h("Underlined", { "gui": "underline", "cterm": "underline" }) " text that stands out, HTML links +call s:h("Ignore", {}) " left blank, hidden +call s:h("Error", { "fg": s:red }) " any erroneous construct +call s:h("Todo", { "fg": s:purple }) " anything that needs extra attention; mostly the keywords TODO FIXME and XXX + +" }}} + +" Highlighting Groups (descriptions and ordering from `:h highlight-groups`) {{{ +call s:h("ColorColumn", { "bg": s:cursor_grey }) " used for the columns set with 'colorcolumn' +call s:h("Conceal", {}) " placeholder characters substituted for concealed text (see 'conceallevel') +call s:h("Cursor", { "fg": s:black, "bg": s:blue }) " the character under the cursor +call s:h("CursorIM", {}) " like Cursor, but used when in IME mode +call s:h("CursorColumn", { "bg": s:cursor_grey }) " the screen column that the cursor is in when 'cursorcolumn' is set +if &diff + " Don't change the background color in diff mode + call s:h("CursorLine", { "gui": "underline" }) " the screen line that the cursor is in when 'cursorline' is set +else + call s:h("CursorLine", { "bg": s:cursor_grey }) " the screen line that the cursor is in when 'cursorline' is set +endif +call s:h("Directory", { "fg": s:blue }) " directory names (and other special names in listings) +call s:h("DiffAdd", { "bg": s:green, "fg": s:black }) " diff mode: Added line +call s:h("DiffChange", { "fg": s:yellow, "gui": "underline", "cterm": "underline" }) " diff mode: Changed line +call s:h("DiffDelete", { "bg": s:red, "fg": s:black }) " diff mode: Deleted line +call s:h("DiffText", { "bg": s:yellow, "fg": s:black }) " diff mode: Changed text within a changed line +if get(g:, 'onedark_hide_endofbuffer', 0) + " If enabled, will style end-of-buffer filler lines (~) to appear to be hidden. + call s:h("EndOfBuffer", { "fg": s:black }) " filler lines (~) after the last line in the buffer +endif +call s:h("ErrorMsg", { "fg": s:red }) " error messages on the command line +call s:h("VertSplit", { "fg": s:vertsplit }) " the column separating vertically split windows +call s:h("Folded", { "fg": s:comment_grey }) " line used for closed folds +call s:h("FoldColumn", {}) " 'foldcolumn' +call s:h("SignColumn", {}) " column where signs are displayed +call s:h("IncSearch", { "fg": s:yellow, "bg": s:comment_grey }) " 'incsearch' highlighting; also used for the text replaced with ":s///c" +call s:h("LineNr", { "fg": s:gutter_fg_grey }) " Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set. +call s:h("CursorLineNr", {}) " Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. +call s:h("MatchParen", { "fg": s:blue, "gui": "underline", "cterm": "underline" }) " The character under the cursor or just before it, if it is a paired bracket, and its match. +call s:h("ModeMsg", {}) " 'showmode' message (e.g., "-- INSERT --") +call s:h("MoreMsg", {}) " more-prompt +call s:h("NonText", { "fg": s:special_grey }) " '~' and '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line). +call s:h("Normal", { "fg": s:foreground, "bg": s:background }) " normal text +call s:h("Pmenu", { "fg": s:white, "bg": s:menu_grey }) " Popup menu: normal item. +call s:h("PmenuSel", { "fg": s:cursor_grey, "bg": s:blue }) " Popup menu: selected item. +call s:h("PmenuSbar", { "bg": s:cursor_grey }) " Popup menu: scrollbar. +call s:h("PmenuThumb", { "bg": s:white }) " Popup menu: Thumb of the scrollbar. +call s:h("Question", { "fg": s:purple }) " hit-enter prompt and yes/no questions +call s:h("QuickFixLine", { "fg": s:black, "bg": s:yellow }) " Current quickfix item in the quickfix window. +call s:h("Search", { "fg": s:black, "bg": s:yellow }) " Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out. +call s:h("SpecialKey", { "fg": s:special_grey }) " 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. +call s:h("SpellBad", { "fg": s:red, "gui": "underline", "cterm": "underline" }) " Word that is not recognized by the spellchecker. This will be combined with the highlighting used otherwise. +call s:h("SpellCap", { "fg": s:dark_yellow }) " Word that should start with a capital. This will be combined with the highlighting used otherwise. +call s:h("SpellLocal", { "fg": s:dark_yellow }) " Word that is recognized by the spellchecker as one that is used in another region. This will be combined with the highlighting used otherwise. +call s:h("SpellRare", { "fg": s:dark_yellow }) " Word that is recognized by the spellchecker as one that is hardly ever used. spell This will be combined with the highlighting used otherwise. +call s:h("StatusLine", { "fg": s:white, "bg": s:cursor_grey }) " status line of current window +call s:h("StatusLineNC", { "fg": s:comment_grey }) " status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window. +call s:h("StatusLineTerm", { "fg": s:white, "bg": s:cursor_grey }) " status line of current :terminal window +call s:h("StatusLineTermNC", { "fg": s:comment_grey }) " status line of non-current :terminal window +call s:h("TabLine", { "fg": s:comment_grey }) " tab pages line, not active tab page label +call s:h("TabLineFill", {}) " tab pages line, where there are no labels +call s:h("TabLineSel", { "fg": s:white }) " tab pages line, active tab page label +call s:h("Terminal", { "fg": s:white, "bg": s:black }) " terminal window (see terminal-size-color) +call s:h("Title", { "fg": s:green }) " titles for output from ":set all", ":autocmd" etc. +call s:h("Visual", { "bg": s:visual_grey }) " Visual mode selection +call s:h("VisualNOS", { "bg": s:visual_grey }) " Visual mode selection when vim is "Not Owning the Selection". Only X11 Gui's gui-x11 and xterm-clipboard supports this. +call s:h("WarningMsg", { "fg": s:yellow }) " warning messages +call s:h("WildMenu", { "fg": s:black, "bg": s:blue }) " current match in 'wildmenu' completion + +" }}} + +" Termdebug highlighting for Vim 8.1+ {{{ + +" See `:h hl-debugPC` and `:h hl-debugBreakpoint`. +call s:h("debugPC", { "bg": s:special_grey }) " the current position +call s:h("debugBreakpoint", { "fg": s:black, "bg": s:red }) " a breakpoint + +" }}} + +" Language-Specific Highlighting {{{ + +" CSS +call s:h("cssAttrComma", { "fg": s:purple }) +call s:h("cssAttributeSelector", { "fg": s:green }) +call s:h("cssBraces", { "fg": s:white }) +call s:h("cssClassName", { "fg": s:dark_yellow }) +call s:h("cssClassNameDot", { "fg": s:dark_yellow }) +call s:h("cssDefinition", { "fg": s:purple }) +call s:h("cssFontAttr", { "fg": s:dark_yellow }) +call s:h("cssFontDescriptor", { "fg": s:purple }) +call s:h("cssFunctionName", { "fg": s:blue }) +call s:h("cssIdentifier", { "fg": s:blue }) +call s:h("cssImportant", { "fg": s:purple }) +call s:h("cssInclude", { "fg": s:white }) +call s:h("cssIncludeKeyword", { "fg": s:purple }) +call s:h("cssMediaType", { "fg": s:dark_yellow }) +call s:h("cssProp", { "fg": s:white }) +call s:h("cssPseudoClassId", { "fg": s:dark_yellow }) +call s:h("cssSelectorOp", { "fg": s:purple }) +call s:h("cssSelectorOp2", { "fg": s:purple }) +call s:h("cssTagName", { "fg": s:red }) + +" Fish Shell +call s:h("fishKeyword", { "fg": s:purple }) +call s:h("fishConditional", { "fg": s:purple }) + +" Go +call s:h("goDeclaration", { "fg": s:purple }) +call s:h("goBuiltins", { "fg": s:cyan }) +call s:h("goFunctionCall", { "fg": s:blue }) +call s:h("goVarDefs", { "fg": s:red }) +call s:h("goVarAssign", { "fg": s:red }) +call s:h("goVar", { "fg": s:purple }) +call s:h("goConst", { "fg": s:purple }) +call s:h("goType", { "fg": s:yellow }) +call s:h("goTypeName", { "fg": s:yellow }) +call s:h("goDeclType", { "fg": s:cyan }) +call s:h("goTypeDecl", { "fg": s:purple }) + +" HTML (keep consistent with Markdown, below) +call s:h("htmlArg", { "fg": s:dark_yellow }) +call s:h("htmlBold", { "fg": s:dark_yellow, "gui": "bold", "cterm": "bold" }) +call s:h("htmlEndTag", { "fg": s:white }) +call s:h("htmlH1", { "fg": s:red }) +call s:h("htmlH2", { "fg": s:red }) +call s:h("htmlH3", { "fg": s:red }) +call s:h("htmlH4", { "fg": s:red }) +call s:h("htmlH5", { "fg": s:red }) +call s:h("htmlH6", { "fg": s:red }) +call s:h("htmlItalic", { "fg": s:purple, "gui": "italic", "cterm": "italic" }) +call s:h("htmlLink", { "fg": s:cyan, "gui": "underline", "cterm": "underline" }) +call s:h("htmlSpecialChar", { "fg": s:dark_yellow }) +call s:h("htmlSpecialTagName", { "fg": s:red }) +call s:h("htmlTag", { "fg": s:white }) +call s:h("htmlTagN", { "fg": s:red }) +call s:h("htmlTagName", { "fg": s:red }) +call s:h("htmlTitle", { "fg": s:white }) + +" JavaScript +call s:h("javaScriptBraces", { "fg": s:white }) +call s:h("javaScriptFunction", { "fg": s:purple }) +call s:h("javaScriptIdentifier", { "fg": s:purple }) +call s:h("javaScriptNull", { "fg": s:dark_yellow }) +call s:h("javaScriptNumber", { "fg": s:dark_yellow }) +call s:h("javaScriptRequire", { "fg": s:cyan }) +call s:h("javaScriptReserved", { "fg": s:purple }) +" https://github.com/pangloss/vim-javascript +call s:h("jsArrowFunction", { "fg": s:purple }) +call s:h("jsClassKeyword", { "fg": s:purple }) +call s:h("jsClassMethodType", { "fg": s:purple }) +call s:h("jsDocParam", { "fg": s:blue }) +call s:h("jsDocTags", { "fg": s:purple }) +call s:h("jsExport", { "fg": s:purple }) +call s:h("jsExportDefault", { "fg": s:purple }) +call s:h("jsExtendsKeyword", { "fg": s:purple }) +call s:h("jsFrom", { "fg": s:purple }) +call s:h("jsFuncCall", { "fg": s:blue }) +call s:h("jsFunction", { "fg": s:purple }) +call s:h("jsGenerator", { "fg": s:yellow }) +call s:h("jsGlobalObjects", { "fg": s:yellow }) +call s:h("jsImport", { "fg": s:purple }) +call s:h("jsModuleAs", { "fg": s:purple }) +call s:h("jsModuleWords", { "fg": s:purple }) +call s:h("jsModules", { "fg": s:purple }) +call s:h("jsNull", { "fg": s:dark_yellow }) +call s:h("jsOperator", { "fg": s:purple }) +call s:h("jsStorageClass", { "fg": s:purple }) +call s:h("jsSuper", { "fg": s:red }) +call s:h("jsTemplateBraces", { "fg": s:dark_red }) +call s:h("jsTemplateVar", { "fg": s:green }) +call s:h("jsThis", { "fg": s:red }) +call s:h("jsUndefined", { "fg": s:dark_yellow }) +" https://github.com/othree/yajs.vim +call s:h("javascriptArrowFunc", { "fg": s:purple }) +call s:h("javascriptClassExtends", { "fg": s:purple }) +call s:h("javascriptClassKeyword", { "fg": s:purple }) +call s:h("javascriptDocNotation", { "fg": s:purple }) +call s:h("javascriptDocParamName", { "fg": s:blue }) +call s:h("javascriptDocTags", { "fg": s:purple }) +call s:h("javascriptEndColons", { "fg": s:white }) +call s:h("javascriptExport", { "fg": s:purple }) +call s:h("javascriptFuncArg", { "fg": s:white }) +call s:h("javascriptFuncKeyword", { "fg": s:purple }) +call s:h("javascriptIdentifier", { "fg": s:red }) +call s:h("javascriptImport", { "fg": s:purple }) +call s:h("javascriptMethodName", { "fg": s:white }) +call s:h("javascriptObjectLabel", { "fg": s:white }) +call s:h("javascriptOpSymbol", { "fg": s:cyan }) +call s:h("javascriptOpSymbols", { "fg": s:cyan }) +call s:h("javascriptPropertyName", { "fg": s:green }) +call s:h("javascriptTemplateSB", { "fg": s:dark_red }) +call s:h("javascriptVariable", { "fg": s:purple }) + +" JSON +call s:h("jsonCommentError", { "fg": s:white }) +call s:h("jsonKeyword", { "fg": s:red }) +call s:h("jsonBoolean", { "fg": s:dark_yellow }) +call s:h("jsonNumber", { "fg": s:dark_yellow }) +call s:h("jsonQuote", { "fg": s:white }) +call s:h("jsonMissingCommaError", { "fg": s:red, "gui": "reverse" }) +call s:h("jsonNoQuotesError", { "fg": s:red, "gui": "reverse" }) +call s:h("jsonNumError", { "fg": s:red, "gui": "reverse" }) +call s:h("jsonString", { "fg": s:green }) +call s:h("jsonStringSQError", { "fg": s:red, "gui": "reverse" }) +call s:h("jsonSemicolonError", { "fg": s:red, "gui": "reverse" }) + +" LESS +call s:h("lessVariable", { "fg": s:purple }) +call s:h("lessAmpersandChar", { "fg": s:white }) +call s:h("lessClass", { "fg": s:dark_yellow }) + +" Markdown (keep consistent with HTML, above) +call s:h("markdownBlockquote", { "fg": s:comment_grey }) +call s:h("markdownBold", { "fg": s:dark_yellow, "gui": "bold", "cterm": "bold" }) +call s:h("markdownCode", { "fg": s:green }) +call s:h("markdownCodeBlock", { "fg": s:green }) +call s:h("markdownCodeDelimiter", { "fg": s:green }) +call s:h("markdownH1", { "fg": s:red }) +call s:h("markdownH2", { "fg": s:red }) +call s:h("markdownH3", { "fg": s:red }) +call s:h("markdownH4", { "fg": s:red }) +call s:h("markdownH5", { "fg": s:red }) +call s:h("markdownH6", { "fg": s:red }) +call s:h("markdownHeadingDelimiter", { "fg": s:red }) +call s:h("markdownHeadingRule", { "fg": s:comment_grey }) +call s:h("markdownId", { "fg": s:purple }) +call s:h("markdownIdDeclaration", { "fg": s:blue }) +call s:h("markdownIdDelimiter", { "fg": s:purple }) +call s:h("markdownItalic", { "fg": s:purple, "gui": "italic", "cterm": "italic" }) +call s:h("markdownLinkDelimiter", { "fg": s:purple }) +call s:h("markdownLinkText", { "fg": s:blue }) +call s:h("markdownListMarker", { "fg": s:red }) +call s:h("markdownOrderedListMarker", { "fg": s:red }) +call s:h("markdownRule", { "fg": s:comment_grey }) +call s:h("markdownUrl", { "fg": s:cyan, "gui": "underline", "cterm": "underline" }) + +" Perl +call s:h("perlFiledescRead", { "fg": s:green }) +call s:h("perlFunction", { "fg": s:purple }) +call s:h("perlMatchStartEnd",{ "fg": s:blue }) +call s:h("perlMethod", { "fg": s:purple }) +call s:h("perlPOD", { "fg": s:comment_grey }) +call s:h("perlSharpBang", { "fg": s:comment_grey }) +call s:h("perlSpecialString",{ "fg": s:dark_yellow }) +call s:h("perlStatementFiledesc", { "fg": s:red }) +call s:h("perlStatementFlow",{ "fg": s:red }) +call s:h("perlStatementInclude", { "fg": s:purple }) +call s:h("perlStatementScalar",{ "fg": s:purple }) +call s:h("perlStatementStorage", { "fg": s:purple }) +call s:h("perlSubName",{ "fg": s:yellow }) +call s:h("perlVarPlain",{ "fg": s:blue }) + +" PHP +call s:h("phpVarSelector", { "fg": s:red }) +call s:h("phpOperator", { "fg": s:white }) +call s:h("phpParent", { "fg": s:white }) +call s:h("phpMemberSelector", { "fg": s:white }) +call s:h("phpType", { "fg": s:purple }) +call s:h("phpKeyword", { "fg": s:purple }) +call s:h("phpClass", { "fg": s:yellow }) +call s:h("phpUseClass", { "fg": s:white }) +call s:h("phpUseAlias", { "fg": s:white }) +call s:h("phpInclude", { "fg": s:purple }) +call s:h("phpClassExtends", { "fg": s:green }) +call s:h("phpDocTags", { "fg": s:white }) +call s:h("phpFunction", { "fg": s:blue }) +call s:h("phpFunctions", { "fg": s:cyan }) +call s:h("phpMethodsVar", { "fg": s:dark_yellow }) +call s:h("phpMagicConstants", { "fg": s:dark_yellow }) +call s:h("phpSuperglobals", { "fg": s:red }) +call s:h("phpConstants", { "fg": s:dark_yellow }) + +" Ruby +call s:h("rubyBlockParameter", { "fg": s:red}) +call s:h("rubyBlockParameterList", { "fg": s:red }) +call s:h("rubyClass", { "fg": s:purple}) +call s:h("rubyConstant", { "fg": s:yellow}) +call s:h("rubyControl", { "fg": s:purple }) +call s:h("rubyEscape", { "fg": s:red}) +call s:h("rubyFunction", { "fg": s:blue}) +call s:h("rubyGlobalVariable", { "fg": s:red}) +call s:h("rubyInclude", { "fg": s:blue}) +call s:h("rubyIncluderubyGlobalVariable", { "fg": s:red}) +call s:h("rubyInstanceVariable", { "fg": s:red}) +call s:h("rubyInterpolation", { "fg": s:cyan }) +call s:h("rubyInterpolationDelimiter", { "fg": s:red }) +call s:h("rubyInterpolationDelimiter", { "fg": s:red}) +call s:h("rubyRegexp", { "fg": s:cyan}) +call s:h("rubyRegexpDelimiter", { "fg": s:cyan}) +call s:h("rubyStringDelimiter", { "fg": s:green}) +call s:h("rubySymbol", { "fg": s:cyan}) + +" Sass +" https://github.com/tpope/vim-haml +call s:h("sassAmpersand", { "fg": s:red }) +call s:h("sassClass", { "fg": s:dark_yellow }) +call s:h("sassControl", { "fg": s:purple }) +call s:h("sassExtend", { "fg": s:purple }) +call s:h("sassFor", { "fg": s:white }) +call s:h("sassFunction", { "fg": s:cyan }) +call s:h("sassId", { "fg": s:blue }) +call s:h("sassInclude", { "fg": s:purple }) +call s:h("sassMedia", { "fg": s:purple }) +call s:h("sassMediaOperators", { "fg": s:white }) +call s:h("sassMixin", { "fg": s:purple }) +call s:h("sassMixinName", { "fg": s:blue }) +call s:h("sassMixing", { "fg": s:purple }) +call s:h("sassVariable", { "fg": s:purple }) +" https://github.com/cakebaker/scss-syntax.vim +call s:h("scssExtend", { "fg": s:purple }) +call s:h("scssImport", { "fg": s:purple }) +call s:h("scssInclude", { "fg": s:purple }) +call s:h("scssMixin", { "fg": s:purple }) +call s:h("scssSelectorName", { "fg": s:dark_yellow }) +call s:h("scssVariable", { "fg": s:purple }) + +" TeX +call s:h("texStatement", { "fg": s:purple }) +call s:h("texSubscripts", { "fg": s:dark_yellow }) +call s:h("texSuperscripts", { "fg": s:dark_yellow }) +call s:h("texTodo", { "fg": s:dark_red }) +call s:h("texBeginEnd", { "fg": s:purple }) +call s:h("texBeginEndName", { "fg": s:blue }) +call s:h("texMathMatcher", { "fg": s:blue }) +call s:h("texMathDelim", { "fg": s:blue }) +call s:h("texDelimiter", { "fg": s:dark_yellow }) +call s:h("texSpecialChar", { "fg": s:dark_yellow }) +call s:h("texCite", { "fg": s:blue }) +call s:h("texRefZone", { "fg": s:blue }) + +" TypeScript +call s:h("typescriptReserved", { "fg": s:purple }) +call s:h("typescriptEndColons", { "fg": s:white }) +call s:h("typescriptBraces", { "fg": s:white }) + +" XML +call s:h("xmlAttrib", { "fg": s:dark_yellow }) +call s:h("xmlEndTag", { "fg": s:red }) +call s:h("xmlTag", { "fg": s:red }) +call s:h("xmlTagName", { "fg": s:red }) + +" }}} + +" Plugin Highlighting {{{ + +" airblade/vim-gitgutter +call s:h("GitGutterAdd", { "fg": s:green }) +call s:h("GitGutterChange", { "fg": s:yellow }) +call s:h("GitGutterDelete", { "fg": s:red }) + +" dense-analysis/ale +call s:h("ALEError", { "fg": s:red, "gui": "underline", "cterm": "underline" }) +call s:h("ALEWarning", { "fg": s:yellow, "gui": "underline", "cterm": "underline"}) +call s:h("ALEInfo", { "gui": "underline", "cterm": "underline"}) + +" easymotion/vim-easymotion +call s:h("EasyMotionTarget", { "fg": s:red, "gui": "bold", "cterm": "bold" }) +call s:h("EasyMotionTarget2First", { "fg": s:yellow, "gui": "bold", "cterm": "bold" }) +call s:h("EasyMotionTarget2Second", { "fg": s:dark_yellow, "gui": "bold", "cterm": "bold" }) +call s:h("EasyMotionShade", { "fg": s:comment_grey }) + +" lewis6991/gitsigns.nvim +hi link GitSignsAdd GitGutterAdd +hi link GitSignsChange GitGutterChange +hi link GitSignsDelete GitGutterDelete + +" mhinz/vim-signify +hi link SignifySignAdd GitGutterAdd +hi link SignifySignChange GitGutterChange +hi link SignifySignDelete GitGutterDelete + +" neoclide/coc.nvim +call s:h("CocErrorSign", { "fg": s:red }) +call s:h("CocWarningSign", { "fg": s:yellow }) +call s:h("CocInfoSign", { "fg": s:blue }) +call s:h("CocHintSign", { "fg": s:cyan }) + +" neomake/neomake +call s:h("NeomakeErrorSign", { "fg": s:red }) +call s:h("NeomakeWarningSign", { "fg": s:yellow }) +call s:h("NeomakeInfoSign", { "fg": s:blue }) + +" plasticboy/vim-markdown (keep consistent with Markdown, above) +call s:h("mkdDelimiter", { "fg": s:purple }) +call s:h("mkdHeading", { "fg": s:red }) +call s:h("mkdLink", { "fg": s:blue }) +call s:h("mkdURL", { "fg": s:cyan, "gui": "underline", "cterm": "underline" }) + +" prabirshrestha/vim-lsp +call s:h("LspError", { "fg": s:red }) +call s:h("LspWarning", { "fg": s:yellow }) +call s:h("LspInformation", { "fg": s:blue }) +call s:h("LspHint", { "fg": s:cyan }) + +" tpope/vim-fugitive +call s:h("diffAdded", { "fg": s:green }) +call s:h("diffRemoved", { "fg": s:red }) + +" }}} + +" Git Highlighting {{{ + +call s:h("gitcommitComment", { "fg": s:comment_grey }) +call s:h("gitcommitUnmerged", { "fg": s:green }) +call s:h("gitcommitOnBranch", {}) +call s:h("gitcommitBranch", { "fg": s:purple }) +call s:h("gitcommitDiscardedType", { "fg": s:red }) +call s:h("gitcommitSelectedType", { "fg": s:green }) +call s:h("gitcommitHeader", {}) +call s:h("gitcommitUntrackedFile", { "fg": s:cyan }) +call s:h("gitcommitDiscardedFile", { "fg": s:red }) +call s:h("gitcommitSelectedFile", { "fg": s:green }) +call s:h("gitcommitUnmergedFile", { "fg": s:yellow }) +call s:h("gitcommitFile", {}) +call s:h("gitcommitSummary", { "fg": s:white }) +call s:h("gitcommitOverflow", { "fg": s:red }) +hi link gitcommitNoBranch gitcommitBranch +hi link gitcommitUntracked gitcommitComment +hi link gitcommitDiscarded gitcommitComment +hi link gitcommitSelected gitcommitComment +hi link gitcommitDiscardedArrow gitcommitDiscardedFile +hi link gitcommitSelectedArrow gitcommitSelectedFile +hi link gitcommitUnmergedArrow gitcommitUnmergedFile + +" }}} + +" Neovim-Specific Highlighting {{{ + +if has("nvim") + " Neovim terminal colors {{{ + let g:terminal_color_0 = s:black.gui + let g:terminal_color_1 = s:red.gui + let g:terminal_color_2 = s:green.gui + let g:terminal_color_3 = s:yellow.gui + let g:terminal_color_4 = s:blue.gui + let g:terminal_color_5 = s:purple.gui + let g:terminal_color_6 = s:cyan.gui + let g:terminal_color_7 = s:white.gui + let g:terminal_color_8 = s:visual_grey.gui + let g:terminal_color_9 = s:dark_red.gui + let g:terminal_color_10 = s:green.gui " No dark version + let g:terminal_color_11 = s:dark_yellow.gui + let g:terminal_color_12 = s:blue.gui " No dark version + let g:terminal_color_13 = s:purple.gui " No dark version + let g:terminal_color_14 = s:cyan.gui " No dark version + let g:terminal_color_15 = s:comment_grey.gui + let g:terminal_color_background = s:background.gui + let g:terminal_color_foreground = s:foreground.gui + " }}} + + " Neovim Diagnostics {{{ + call s:h("DiagnosticError", { "fg": s:red }) + call s:h("DiagnosticWarn", { "fg": s:yellow }) + call s:h("DiagnosticInfo", { "fg": s:blue }) + call s:h("DiagnosticHint", { "fg": s:cyan }) + call s:h("DiagnosticUnderlineError", { "fg": s:red, "gui": "underline", "cterm": "underline" }) + call s:h("DiagnosticUnderlineWarn", { "fg": s:yellow, "gui": "underline", "cterm": "underline" }) + call s:h("DiagnosticUnderlineInfo", { "fg": s:blue, "gui": "underline", "cterm": "underline" }) + call s:h("DiagnosticUnderlineHint", { "fg": s:cyan, "gui": "underline", "cterm": "underline" }) + " }}} + + " Neovim LSP (for versions < 0.5.1) {{{ + hi link LspDiagnosticsDefaultError DiagnosticError + hi link LspDiagnosticsDefaultWarning DiagnosticWarn + hi link LspDiagnosticsDefaultInformation DiagnosticInfo + hi link LspDiagnosticsDefaultHint DiagnosticHint + hi link LspDiagnosticsUnderlineError DiagnosticUnderlineError + hi link LspDiagnosticsUnderlineWarning DiagnosticUnderlineWarn + hi link LspDiagnosticsUnderlineInformation DiagnosticUnderlineInfo + hi link LspDiagnosticsUnderlineHint DiagnosticUnderlineHint + " }}} +endif + +" }}} + +" Must appear at the end of the file to work around this oddity: +" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ +set background=dark diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/onehalfdark.vim b/nvim/plugged/awesome-vim-colorschemes/colors/onehalfdark.vim new file mode 100644 index 00000000..abbd67f7 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/onehalfdark.vim @@ -0,0 +1,224 @@ +" ============================================================================== +" Name: One Half Dark +" Author: Son A. Pham <sp@sonpham.me> +" Url: https://github.com/sonph/onehalf +" License: The MIT License (MIT) +" +" A dark vim color scheme based on Atom's One. See github.com/sonph/onehalf +" for installation instructions, a light color scheme, versions for other +" editors/terminals, and a matching theme for vim-airline. +" ============================================================================== + +set background=dark +highlight clear +syntax reset + +let g:colors_name="onehalfdark" +let colors_name="onehalfdark" + + +let s:black = { "gui": "#282c34", "cterm": "236" } +let s:red = { "gui": "#e06c75", "cterm": "168" } +let s:green = { "gui": "#98c379", "cterm": "114" } +let s:yellow = { "gui": "#e5c07b", "cterm": "180" } +let s:blue = { "gui": "#61afef", "cterm": "75" } +let s:purple = { "gui": "#c678dd", "cterm": "176" } +let s:cyan = { "gui": "#56b6c2", "cterm": "73" } +let s:white = { "gui": "#dcdfe4", "cterm": "188" } + +let s:fg = s:white +let s:bg = s:black + +let s:comment_fg = { "gui": "#5c6370", "cterm": "241" } +let s:gutter_bg = { "gui": "#282c34", "cterm": "236" } +let s:gutter_fg = { "gui": "#919baa", "cterm": "247" } +let s:non_text = { "gui": "#373C45", "cterm": "239" } + +let s:cursor_line = { "gui": "#313640", "cterm": "237" } +let s:color_col = { "gui": "#313640", "cterm": "237" } + +let s:selection = { "gui": "#474e5d", "cterm": "239" } +let s:vertsplit = { "gui": "#313640", "cterm": "237" } + + +function! s:h(group, fg, bg, attr) + if type(a:fg) == type({}) + exec "hi " . a:group . " guifg=" . a:fg.gui . " ctermfg=" . a:fg.cterm + else + exec "hi " . a:group . " guifg=NONE cterm=NONE" + endif + if type(a:bg) == type({}) + exec "hi " . a:group . " guibg=" . a:bg.gui . " ctermbg=" . a:bg.cterm + else + exec "hi " . a:group . " guibg=NONE ctermbg=NONE" + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + else + exec "hi " . a:group . " gui=NONE cterm=NONE" + endif +endfun + + +" User interface colors { +call s:h("Normal", s:fg, s:bg, "") + +call s:h("Cursor", s:bg, s:blue, "") +call s:h("CursorColumn", "", s:cursor_line, "") +call s:h("CursorLine", "", s:cursor_line, "") + +call s:h("LineNr", s:gutter_fg, s:gutter_bg, "") +call s:h("CursorLineNr", s:fg, "", "") + +call s:h("DiffAdd", s:green, "", "") +call s:h("DiffChange", s:yellow, "", "") +call s:h("DiffDelete", s:red, "", "") +call s:h("DiffText", s:blue, "", "") + +call s:h("IncSearch", s:bg, s:yellow, "") +call s:h("Search", s:bg, s:yellow, "") + +call s:h("ErrorMsg", s:fg, "", "") +call s:h("ModeMsg", s:fg, "", "") +call s:h("MoreMsg", s:fg, "", "") +call s:h("WarningMsg", s:red, "", "") +call s:h("Question", s:purple, "", "") + +call s:h("Pmenu", s:bg, s:fg, "") +call s:h("PmenuSel", s:fg, s:blue, "") +call s:h("PmenuSbar", "", s:selection, "") +call s:h("PmenuThumb", "", s:fg, "") + +call s:h("SpellBad", s:red, "", "") +call s:h("SpellCap", s:yellow, "", "") +call s:h("SpellLocal", s:yellow, "", "") +call s:h("SpellRare", s:yellow, "", "") + +call s:h("StatusLine", s:blue, s:cursor_line, "") +call s:h("StatusLineNC", s:comment_fg, s:cursor_line, "") +call s:h("TabLine", s:comment_fg, s:cursor_line, "") +call s:h("TabLineFill", s:comment_fg, s:cursor_line, "") +call s:h("TabLineSel", s:fg, s:bg, "") + +call s:h("Visual", "", s:selection, "") +call s:h("VisualNOS", "", s:selection, "") + +call s:h("ColorColumn", "", s:color_col, "") +call s:h("Conceal", s:fg, "", "") +call s:h("Directory", s:blue, "", "") +call s:h("VertSplit", s:vertsplit, s:vertsplit, "") +call s:h("Folded", s:fg, "", "") +call s:h("FoldColumn", s:fg, "", "") +call s:h("SignColumn", s:fg, "", "") + +call s:h("MatchParen", s:blue, "", "underline") +call s:h("SpecialKey", s:fg, "", "") +call s:h("Title", s:green, "", "") +call s:h("WildMenu", s:fg, "", "") +" } + + +" Syntax colors { +" Whitespace is defined in Neovim, not Vim. +" See :help hl-Whitespace and :help hl-SpecialKey +call s:h("Whitespace", s:non_text, "", "") +call s:h("NonText", s:non_text, "", "") +call s:h("Comment", s:comment_fg, "", "italic") +call s:h("Constant", s:cyan, "", "") +call s:h("String", s:green, "", "") +call s:h("Character", s:green, "", "") +call s:h("Number", s:yellow, "", "") +call s:h("Boolean", s:yellow, "", "") +call s:h("Float", s:yellow, "", "") + +call s:h("Identifier", s:red, "", "") +call s:h("Function", s:blue, "", "") +call s:h("Statement", s:purple, "", "") + +call s:h("Conditional", s:purple, "", "") +call s:h("Repeat", s:purple, "", "") +call s:h("Label", s:purple, "", "") +call s:h("Operator", s:fg, "", "") +call s:h("Keyword", s:red, "", "") +call s:h("Exception", s:purple, "", "") + +call s:h("PreProc", s:yellow, "", "") +call s:h("Include", s:purple, "", "") +call s:h("Define", s:purple, "", "") +call s:h("Macro", s:purple, "", "") +call s:h("PreCondit", s:yellow, "", "") + +call s:h("Type", s:yellow, "", "") +call s:h("StorageClass", s:yellow, "", "") +call s:h("Structure", s:yellow, "", "") +call s:h("Typedef", s:yellow, "", "") + +call s:h("Special", s:blue, "", "") +call s:h("SpecialChar", s:fg, "", "") +call s:h("Tag", s:fg, "", "") +call s:h("Delimiter", s:fg, "", "") +call s:h("SpecialComment", s:fg, "", "") +call s:h("Debug", s:fg, "", "") +call s:h("Underlined", s:fg, "", "") +call s:h("Ignore", s:fg, "", "") +call s:h("Error", s:red, s:gutter_bg, "") +call s:h("Todo", s:purple, "", "") +" } + + +" Plugins { +" GitGutter +call s:h("GitGutterAdd", s:green, s:gutter_bg, "") +call s:h("GitGutterDelete", s:red, s:gutter_bg, "") +call s:h("GitGutterChange", s:yellow, s:gutter_bg, "") +call s:h("GitGutterChangeDelete", s:red, s:gutter_bg, "") +" Fugitive +call s:h("diffAdded", s:green, "", "") +call s:h("diffRemoved", s:red, "", "") +" } + + +" Git { +call s:h("gitcommitComment", s:comment_fg, "", "") +call s:h("gitcommitUnmerged", s:red, "", "") +call s:h("gitcommitOnBranch", s:fg, "", "") +call s:h("gitcommitBranch", s:purple, "", "") +call s:h("gitcommitDiscardedType", s:red, "", "") +call s:h("gitcommitSelectedType", s:green, "", "") +call s:h("gitcommitHeader", s:fg, "", "") +call s:h("gitcommitUntrackedFile", s:cyan, "", "") +call s:h("gitcommitDiscardedFile", s:red, "", "") +call s:h("gitcommitSelectedFile", s:green, "", "") +call s:h("gitcommitUnmergedFile", s:yellow, "", "") +call s:h("gitcommitFile", s:fg, "", "") +hi link gitcommitNoBranch gitcommitBranch +hi link gitcommitUntracked gitcommitComment +hi link gitcommitDiscarded gitcommitComment +hi link gitcommitSelected gitcommitComment +hi link gitcommitDiscardedArrow gitcommitDiscardedFile +hi link gitcommitSelectedArrow gitcommitSelectedFile +hi link gitcommitUnmergedArrow gitcommitUnmergedFile +" } + +" Fix colors in neovim terminal buffers { + if has('nvim') + let g:terminal_color_0 = s:black.gui + let g:terminal_color_1 = s:red.gui + let g:terminal_color_2 = s:green.gui + let g:terminal_color_3 = s:yellow.gui + let g:terminal_color_4 = s:blue.gui + let g:terminal_color_5 = s:purple.gui + let g:terminal_color_6 = s:cyan.gui + let g:terminal_color_7 = s:white.gui + let g:terminal_color_8 = s:black.gui + let g:terminal_color_9 = s:red.gui + let g:terminal_color_10 = s:green.gui + let g:terminal_color_11 = s:yellow.gui + let g:terminal_color_12 = s:blue.gui + let g:terminal_color_13 = s:purple.gui + let g:terminal_color_14 = s:cyan.gui + let g:terminal_color_15 = s:white.gui + let g:terminal_color_background = s:bg.gui + let g:terminal_color_foreground = s:fg.gui + endif +" } diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/onehalflight.vim b/nvim/plugged/awesome-vim-colorschemes/colors/onehalflight.vim new file mode 100644 index 00000000..288fcd02 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/onehalflight.vim @@ -0,0 +1,224 @@ +" ============================================================================== +" Name: One Half Light +" Author: Son A. Pham <sp@sonpham.me> +" Url: https://github.com/sonph/onehalf +" License: The MIT License (MIT) +" +" A light vim color scheme based on Atom's One. See github.com/sonph/onehalf +" for installation instructions, a dark color scheme, versions for other +" editors/terminals, and a matching theme for vim-airline. +" ============================================================================== + +set background=light +highlight clear +syntax reset + +let g:colors_name="onehalflight" +let colors_name="onehalflight" + + +let s:black = { "gui": "#383a42", "cterm": "237" } +let s:red = { "gui": "#e45649", "cterm": "167" } +let s:green = { "gui": "#50a14f", "cterm": "71" } +let s:yellow = { "gui": "#c18401", "cterm": "136" } +let s:blue = { "gui": "#0184bc", "cterm": "31" } +let s:purple = { "gui": "#a626a4", "cterm": "127" } +let s:cyan = { "gui": "#0997b3", "cterm": "31" } +let s:white = { "gui": "#fafafa", "cterm": "231" } + +let s:fg = s:black +let s:bg = s:white + +let s:comment_fg = { "gui": "#a0a1a7", "cterm": "247" } +let s:gutter_bg = { "gui": "#fafafa", "cterm": "231" } +let s:gutter_fg = { "gui": "#d4d4d4", "cterm": "252" } +let s:non_text = { "gui": "#e5e5e5", "cterm": "252" } + +let s:cursor_line = { "gui": "#f0f0f0", "cterm": "255" } +let s:color_col = { "gui": "#f0f0f0", "cterm": "255" } + +let s:selection = { "gui": "#bfceff", "cterm": "153" } +let s:vertsplit = { "gui": "#f0f0f0", "cterm": "255" } + + +function! s:h(group, fg, bg, attr) + if type(a:fg) == type({}) + exec "hi " . a:group . " guifg=" . a:fg.gui . " ctermfg=" . a:fg.cterm + else + exec "hi " . a:group . " guifg=NONE cterm=NONE" + endif + if type(a:bg) == type({}) + exec "hi " . a:group . " guibg=" . a:bg.gui . " ctermbg=" . a:bg.cterm + else + exec "hi " . a:group . " guibg=NONE ctermbg=NONE" + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + else + exec "hi " . a:group . " gui=NONE cterm=NONE" + endif +endfun + + +" User interface colors { +call s:h("Normal", s:fg, s:bg, "") + +call s:h("Cursor", s:bg, s:blue, "") +call s:h("CursorColumn", "", s:cursor_line, "") +call s:h("CursorLine", "", s:cursor_line, "") + +call s:h("LineNr", s:gutter_fg, s:gutter_bg, "") +call s:h("CursorLineNr", s:fg, "", "") + +call s:h("DiffAdd", s:green, "", "") +call s:h("DiffChange", s:yellow, "", "") +call s:h("DiffDelete", s:red, "", "") +call s:h("DiffText", s:blue, "", "") + +call s:h("IncSearch", s:bg, s:yellow, "") +call s:h("Search", s:bg, s:yellow, "") + +call s:h("ErrorMsg", s:fg, "", "") +call s:h("ModeMsg", s:fg, "", "") +call s:h("MoreMsg", s:fg, "", "") +call s:h("WarningMsg", s:red, "", "") +call s:h("Question", s:purple, "", "") + +call s:h("Pmenu", s:fg, s:cursor_line, "") +call s:h("PmenuSel", s:bg, s:blue, "") +call s:h("PmenuSbar", "", s:cursor_line, "") +call s:h("PmenuThumb", "", s:comment_fg, "") + +call s:h("SpellBad", s:red, "", "") +call s:h("SpellCap", s:yellow, "", "") +call s:h("SpellLocal", s:yellow, "", "") +call s:h("SpellRare", s:yellow, "", "") + +call s:h("StatusLine", s:blue, s:cursor_line, "") +call s:h("StatusLineNC", s:comment_fg, s:cursor_line, "") +call s:h("TabLine", s:comment_fg, s:cursor_line, "") +call s:h("TabLineFill", s:comment_fg, s:cursor_line, "") +call s:h("TabLineSel", s:fg, s:bg, "") + +call s:h("Visual", "", s:selection, "") +call s:h("VisualNOS", "", s:selection, "") + +call s:h("ColorColumn", "", s:color_col, "") +call s:h("Conceal", s:fg, "", "") +call s:h("Directory", s:blue, "", "") +call s:h("VertSplit", s:vertsplit, s:vertsplit, "") +call s:h("Folded", s:fg, "", "") +call s:h("FoldColumn", s:fg, "", "") +call s:h("SignColumn", s:fg, "", "") + +call s:h("MatchParen", s:blue, "", "underline") +call s:h("SpecialKey", s:fg, "", "") +call s:h("Title", s:green, "", "") +call s:h("WildMenu", s:fg, "", "") +" } + + +" Syntax colors { +" Whitespace is defined in Neovim, not Vim. +" See :help hl-Whitespace and :help hl-SpecialKey +call s:h("Whitespace", s:non_text, "", "") +call s:h("NonText", s:non_text, "", "") +call s:h("Comment", s:comment_fg, "", "italic") +call s:h("Constant", s:cyan, "", "") +call s:h("String", s:green, "", "") +call s:h("Character", s:green, "", "") +call s:h("Number", s:yellow, "", "") +call s:h("Boolean", s:yellow, "", "") +call s:h("Float", s:yellow, "", "") + +call s:h("Identifier", s:red, "", "") +call s:h("Function", s:blue, "", "") +call s:h("Statement", s:purple, "", "") + +call s:h("Conditional", s:purple, "", "") +call s:h("Repeat", s:purple, "", "") +call s:h("Label", s:purple, "", "") +call s:h("Operator", s:fg, "", "") +call s:h("Keyword", s:red, "", "") +call s:h("Exception", s:purple, "", "") + +call s:h("PreProc", s:yellow, "", "") +call s:h("Include", s:purple, "", "") +call s:h("Define", s:purple, "", "") +call s:h("Macro", s:purple, "", "") +call s:h("PreCondit", s:yellow, "", "") + +call s:h("Type", s:yellow, "", "") +call s:h("StorageClass", s:yellow, "", "") +call s:h("Structure", s:yellow, "", "") +call s:h("Typedef", s:yellow, "", "") + +call s:h("Special", s:blue, "", "") +call s:h("SpecialChar", s:fg, "", "") +call s:h("Tag", s:fg, "", "") +call s:h("Delimiter", s:fg, "", "") +call s:h("SpecialComment", s:fg, "", "") +call s:h("Debug", s:fg, "", "") +call s:h("Underlined", s:fg, "", "") +call s:h("Ignore", s:fg, "", "") +call s:h("Error", s:red, s:gutter_bg, "") +call s:h("Todo", s:purple, "", "") +" } + + +" Plugins { +" GitGutter +call s:h("GitGutterAdd", s:green, s:gutter_bg, "") +call s:h("GitGutterDelete", s:red, s:gutter_bg, "") +call s:h("GitGutterChange", s:yellow, s:gutter_bg, "") +call s:h("GitGutterChangeDelete", s:red, s:gutter_bg, "") +" Fugitive +call s:h("diffAdded", s:green, "", "") +call s:h("diffRemoved", s:red, "", "") +" } + + +" Git { +call s:h("gitcommitComment", s:comment_fg, "", "") +call s:h("gitcommitUnmerged", s:red, "", "") +call s:h("gitcommitOnBranch", s:fg, "", "") +call s:h("gitcommitBranch", s:purple, "", "") +call s:h("gitcommitDiscardedType", s:red, "", "") +call s:h("gitcommitSelectedType", s:green, "", "") +call s:h("gitcommitHeader", s:fg, "", "") +call s:h("gitcommitUntrackedFile", s:cyan, "", "") +call s:h("gitcommitDiscardedFile", s:red, "", "") +call s:h("gitcommitSelectedFile", s:green, "", "") +call s:h("gitcommitUnmergedFile", s:yellow, "", "") +call s:h("gitcommitFile", s:fg, "", "") +hi link gitcommitNoBranch gitcommitBranch +hi link gitcommitUntracked gitcommitComment +hi link gitcommitDiscarded gitcommitComment +hi link gitcommitSelected gitcommitComment +hi link gitcommitDiscardedArrow gitcommitDiscardedFile +hi link gitcommitSelectedArrow gitcommitSelectedFile +hi link gitcommitUnmergedArrow gitcommitUnmergedFile +" } + +" Fix colors in neovim terminal buffers { + if has('nvim') + let g:terminal_color_0 = s:black.gui + let g:terminal_color_1 = s:red.gui + let g:terminal_color_2 = s:green.gui + let g:terminal_color_3 = s:yellow.gui + let g:terminal_color_4 = s:blue.gui + let g:terminal_color_5 = s:purple.gui + let g:terminal_color_6 = s:cyan.gui + let g:terminal_color_7 = s:white.gui + let g:terminal_color_8 = s:black.gui + let g:terminal_color_9 = s:red.gui + let g:terminal_color_10 = s:green.gui + let g:terminal_color_11 = s:yellow.gui + let g:terminal_color_12 = s:blue.gui + let g:terminal_color_13 = s:purple.gui + let g:terminal_color_14 = s:cyan.gui + let g:terminal_color_15 = s:white.gui + let g:terminal_color_background = s:bg.gui + let g:terminal_color_foreground = s:fg.gui + endif +" } diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/orange-moon.vim b/nvim/plugged/awesome-vim-colorschemes/colors/orange-moon.vim new file mode 100644 index 00000000..ee0194be --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/orange-moon.vim @@ -0,0 +1,385 @@ +" Orange Moon Theme +" after install, remember to `set background=dark` + +" dark theme background +let s:gui00 = "2F343F" +" line number background, file explorer selection +let s:gui01 = "333C47" +" file address background, visual selection +let s:gui02 = "434852" + +" salmon = E9967A +" pink = FBC4C1 +" blue = 5D7EA3 +" sea light blue = 9DB1C7 +" light gold = fcf4ae +" starlight white = F0F8FF + +" maybe used? +" teal = 608DAB + +" unused currently +" sea green 80A78C or B4EEB4 or 8fbc8f +" dark gold (eh) = f7cd4f +" slate = 5F7C99 +" comet = 5673BE + + +" comments, line numbers +let s:gui03 = "9DB1C7" +" active file name +let s:gui04 = "FBC4C1" +" local varaibles, math operators (was pure white) +let s:gui05 = "F0FDFF" +" +" not sure +let s:gui06 = "111111" +" not sure +let s:gui07 = "cccccc" +" let and instance var declations +let s:gui08 = "E9967A" + +" digits, boolean, some CSS (was DAB teal) +let s:gui09 = "5D7EA3" +" func var orange +let s:gui0A = "Fbc4c1" +" strings +let s:gui0B = "fcf4ae" + + +" hex colors (CSS), some commas +let s:gui0C = "FCF4AE" +" class names +let s:gui0D = "FBC4C1" +" if, else, def +let s:gui0E = "5D7EA3" + +let s:gui0F = "608DAB" + + +" There are colors for Neovim's terminal emulator +if has("nvim") + let g:terminal_color_0 = "#333C47" + let g:terminal_color_1 = "#9dd6f4" + let g:terminal_color_2 = "#6E7B87" + let g:terminal_color_3 = "#5F7C99" + let g:terminal_color_4 = "#edd98f" + let g:terminal_color_5 = "#f8f8f2" + let g:terminal_color_6 = "#9dd6f4" + let g:terminal_color_7 = "#f8f8f2" + let g:terminal_color_8 = "#edd98f" + let g:terminal_color_9 = "#608DAB" + let g:terminal_color_10 = "#f8f8f2" + let g:terminal_color_11 = "#9dd6f4" + let g:terminal_color_12 = "#608DAB" + let g:terminal_color_13 = "#5673BE" + let g:terminal_color_14 = "#5673BE" + let g:terminal_color_15 = "#5673BE" + let g:terminal_color_16 ="#333C47" + let g:terminal_color_background="#333C47" + let g:terminal_color_foreground="#eee" +endif + +" Terminal color definitions + +" dark theme background: 25,25,25 +let s:cterm00 = "00" + +" comments, inactive vim window text: 128, 167, 140 +let s:cterm03 = "02" + +" puts, parameters, and method calls: 248,248,242 +let s:cterm05 = "07" + +" light theme background +let s:cterm07 = "15" + +" instance variables, Python defs (and maybe if / elses): 236, 105, 32 +let s:cterm08 = "11" + +" class names, object names, while, end, template variables: 236, 215, 149 +let s:cterm0A = "11" + +" Ruby strings: 161,215,242 +let s:cterm0B = "12" + +" hex colors: 115, 228, 246 +let s:cterm0C = "14" + +" method names in definitions: 247,197,39 +let s:cterm0D = "03" + +" ruby def: 236, 105, 32 +let s:cterm0E = "09" + + +if exists('base16colorspace') && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + " Vim inactive window name background + let s:cterm01 = "08" + + " Light background markdown text color plus + " Vim window borders and active widnow background + let s:cterm02 = "08" + + " Active vim window name (text) + let s:cterm04 = "03" + + " vim borders in light mode" + let s:cterm06 = "00" + + " integer: 115, 228, 246 + let s:cterm09 = "14" + + " backticks in markdown, probably some other stuff + let s:cterm0F = "03" +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "orange-moon" + +" Highlighting function +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr) + if a:guifg != "" + exec "hi " . a:group . " guifg=#" . s:gui(a:guifg) + endif + if a:guibg != "" + exec "hi " . a:group . " guibg=#" . s:gui(a:guibg) + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . s:cterm(a:ctermfg) + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . s:cterm(a:ctermbg) + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif +endfun + +" Return GUI color for light/dark variants +fun s:gui(color) + if &background == "dark" + return a:color + endif + + if a:color == s:gui00 + return s:gui07 + elseif a:color == s:gui01 + return s:gui06 + elseif a:color == s:gui02 + return s:gui05 + elseif a:color == s:gui03 + return s:gui04 + elseif a:color == s:gui04 + return s:gui03 + elseif a:color == s:gui05 + return s:gui02 + elseif a:color == s:gui06 + return s:gui01 + elseif a:color == s:gui07 + return s:gui00 + endif + + return a:color +endfun + +" Return terminal color for light/dark variants +fun s:cterm(color) + if &background == "dark" + return a:color + endif + + if a:color == s:cterm00 + return s:cterm07 + elseif a:color == s:cterm01 + return s:cterm06 + elseif a:color == s:cterm02 + return s:cterm05 + elseif a:color == s:cterm03 + return s:cterm04 + elseif a:color == s:cterm04 + return s:cterm03 + elseif a:color == s:cterm05 + return s:cterm02 + elseif a:color == s:cterm06 + return s:cterm01 + elseif a:color == s:cterm07 + return s:cterm00 + endif + + return a:color +endfun + +" Vim editor colors +call <sid>hi("Bold", "", "", "", "", "bold") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "") +call <sid>hi("FoldColumn", "", s:gui01, "", s:cterm01, "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none") +call <sid>hi("Italic", "", "", "", "", "none") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "") +call <sid>hi("MatchParen", s:gui00, s:gui03, s:cterm00, s:cterm03, "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "") +call <sid>hi("Question", s:gui09, "", s:cterm09, "", "") +call <sid>hi("Search", s:gui03, s:gui0A, s:cterm03, s:cterm0A, "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "") +call <sid>hi("WildMenu", s:gui08, "", s:cterm08, "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "") +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none") +call <sid>hi("CursorLineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "") +call <sid>hi("PMenu", s:gui04, s:gui01, s:cterm04, s:cterm01, "none") +call <sid>hi("PMenuSel", s:gui01, s:gui04, s:cterm01, s:cterm04, "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "") +call <sid>hi("Type", s:gui09, "", s:cterm09, "", "none") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", s:gui00, "", s:cterm00, "undercurl") +call <sid>hi("SpellLocal", "", s:gui00, "", s:cterm00, "undercurl") +call <sid>hi("SpellCap", "", s:gui00, "", s:cterm00, "undercurl") +call <sid>hi("SpellRare", "", s:gui00, "", s:cterm00, "undercurl") + +" Additional diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "") +call <sid>hi("DiffChange", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "") +call <sid>hi("DiffDelete", s:gui08, s:gui00, s:cterm08, s:cterm00, "") +call <sid>hi("DiffText", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "") +call <sid>hi("rubyInterpolation", s:gui0B, "", s:cterm0B, "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "") + +" Git highlighting +call <sid>hi("gitCommitOverflow", s:gui08, "", s:cterm08, "", "") +call <sid>hi("gitCommitSummary", s:gui0B, "", s:cterm0B, "", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "") + +" Remove functions +delf <sid>hi +delf <sid>gui +delf <sid>cterm + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/orbital.vim b/nvim/plugged/awesome-vim-colorschemes/colors/orbital.vim new file mode 100644 index 00000000..1c255764 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/orbital.vim @@ -0,0 +1,241 @@ +" orbital.vim -- Vim color scheme. +" Author: fcpg (n/a) +" Webpage: https://github.com/fcpg +" Description: Dark blue base16 theme for 256-color terminals + +hi clear + +if exists("syntax_on") + syntax reset +endif + +let colors_name = "orbital" + +if &t_Co >= 256 || has("gui_running") + hi Normal ctermbg=16 ctermfg=75 cterm=NONE guibg=#000000 guifg=#5fafff gui=NONE + set background=dark + hi NonText ctermbg=bg ctermfg=20 cterm=NONE guibg=bg guifg=#0000d7 gui=NONE + hi Comment ctermbg=bg ctermfg=59 cterm=NONE guibg=bg guifg=#5f5f5f gui=NONE + hi Constant ctermbg=bg ctermfg=254 cterm=NONE guibg=bg guifg=#e4e4e4 gui=NONE + hi Error ctermbg=20 ctermfg=223 cterm=NONE guibg=#0000d7 guifg=#ffd7af gui=NONE + hi Identifier ctermbg=bg ctermfg=246 cterm=NONE guibg=bg guifg=#949494 gui=NONE + hi Ignore ctermbg=bg ctermfg=25 cterm=NONE guibg=bg guifg=#005faf gui=NONE + hi PreProc ctermbg=bg ctermfg=254 cterm=NONE guibg=bg guifg=#e4e4e4 gui=NONE + hi Special ctermbg=bg ctermfg=180 cterm=NONE guibg=bg guifg=#d7af87 gui=NONE + hi Statement ctermbg=bg ctermfg=32 cterm=NONE guibg=bg guifg=#0087d7 gui=NONE + hi String ctermbg=235 ctermfg=110 cterm=NONE guibg=#262626 guifg=#87afd7 gui=NONE + hi Number ctermbg=bg ctermfg=67 cterm=NONE guibg=bg guifg=#5f87af gui=NONE + hi Todo ctermbg=bg ctermfg=254 cterm=bold guibg=bg guifg=#e4e4e4 gui=bold + hi Type ctermbg=bg ctermfg=223 cterm=NONE guibg=bg guifg=#ffd7af gui=NONE + hi! link Character Constant + hi! link Float Number + hi! link Conditional Statement + hi! link Repeat Statement + hi! link Label Statement + hi! link Keyword Statement + hi! link Exception Statement + hi! link Include PreProc + hi! link Define PreProc + hi! link Macro PreProc + hi! link PreCondit PreProc + hi! link StorageClass Type + hi! link Structure Type + hi! link Typedef Type + hi! link Tag Special + hi! link SpecialChar Special + hi! link SpecialComment Special + hi! link Debug Special + hi Underlined ctermbg=235 ctermfg=137 cterm=NONE guibg=#262626 guifg=#af875f gui=NONE + hi StatusLine ctermbg=bg ctermfg=110 cterm=NONE guibg=bg guifg=#87afd7 gui=NONE + hi StatusLineNC ctermbg=bg ctermfg=235 cterm=NONE guibg=bg guifg=#262626 gui=NONE + hi! link StatusLineTerm StatusLine + hi! link StatusLineTermNC StatusLineNC + hi VertSplit ctermbg=bg ctermfg=235 cterm=NONE guibg=bg guifg=#262626 gui=NONE + hi TabLine ctermbg=bg ctermfg=25 cterm=NONE guibg=bg guifg=#005faf gui=NONE + hi TabLineFill ctermbg=235 ctermfg=254 cterm=NONE guibg=#262626 guifg=#e4e4e4 gui=NONE + hi TabLineSel ctermbg=bg ctermfg=223 cterm=NONE guibg=bg guifg=#ffd7af gui=NONE + hi Title ctermbg=bg ctermfg=223 cterm=NONE guibg=bg guifg=#ffd7af gui=NONE + hi CursorLine ctermbg=235 ctermfg=NONE cterm=NONE guibg=#262626 guifg=NONE gui=NONE + hi LineNr ctermbg=bg ctermfg=25 cterm=NONE guibg=bg guifg=#005faf gui=NONE + hi CursorLineNr ctermbg=bg ctermfg=110 cterm=NONE guibg=bg guifg=#87afd7 gui=NONE + hi qfLineNr ctermbg=bg ctermfg=25 cterm=NONE guibg=bg guifg=#005faf gui=NONE + hi helpLeadBlank ctermbg=bg ctermfg=254 cterm=NONE guibg=bg guifg=#e4e4e4 gui=NONE + hi helpNormal ctermbg=bg ctermfg=254 cterm=NONE guibg=bg guifg=#e4e4e4 gui=NONE + hi Visual ctermbg=110 ctermfg=16 cterm=NONE guibg=#87afd7 guifg=#000000 gui=NONE + hi VisualNOS ctermbg=bg ctermfg=254 cterm=NONE guibg=bg guifg=#e4e4e4 gui=NONE + hi Pmenu ctermbg=235 ctermfg=246 cterm=NONE guibg=#262626 guifg=#949494 gui=NONE + hi PmenuSbar ctermbg=bg ctermfg=254 cterm=NONE guibg=bg guifg=#e4e4e4 gui=NONE + hi PmenuSel ctermbg=235 ctermfg=223 cterm=NONE guibg=#262626 guifg=#ffd7af gui=NONE + hi PmenuThumb ctermbg=bg ctermfg=254 cterm=NONE guibg=bg guifg=#e4e4e4 gui=NONE + hi FoldColumn ctermbg=bg ctermfg=235 cterm=NONE guibg=bg guifg=#262626 gui=NONE + hi Folded ctermbg=bg ctermfg=25 cterm=NONE guibg=bg guifg=#005faf gui=NONE + hi WildMenu ctermbg=bg ctermfg=223 cterm=NONE guibg=bg guifg=#ffd7af gui=NONE + hi SpecialKey ctermbg=bg ctermfg=67 cterm=NONE guibg=bg guifg=#5f87af gui=NONE + hi DiffAdd ctermbg=235 ctermfg=223 cterm=NONE guibg=#262626 guifg=#ffd7af gui=NONE + hi DiffChange ctermbg=235 ctermfg=246 cterm=NONE guibg=#262626 guifg=#949494 gui=NONE + hi DiffDelete ctermbg=bg ctermfg=20 cterm=NONE guibg=bg guifg=#0000d7 gui=NONE + hi DiffText ctermbg=235 ctermfg=110 cterm=NONE guibg=#262626 guifg=#87afd7 gui=NONE + hi IncSearch ctermbg=68 ctermfg=16 cterm=NONE guibg=#5f87d7 guifg=#000000 gui=NONE + hi Search ctermbg=20 ctermfg=250 cterm=NONE guibg=#0000d7 guifg=#bcbcbc gui=NONE + hi Directory ctermbg=bg ctermfg=254 cterm=NONE guibg=bg guifg=#e4e4e4 gui=NONE + hi MatchParen ctermbg=25 ctermfg=223 cterm=bold guibg=#005faf guifg=#ffd7af gui=bold + hi SpellBad ctermbg=NONE ctermfg=20 cterm=NONE guibg=NONE guifg=#0000d7 gui=NONE guisp=#0000d7 + hi SpellCap ctermbg=NONE ctermfg=223 cterm=NONE guibg=NONE guifg=#ffd7af gui=NONE guisp=#ffd7af + hi SpellLocal ctermbg=NONE ctermfg=20 cterm=NONE guibg=NONE guifg=#0000d7 gui=NONE guisp=#0000d7 + hi SpellRare ctermbg=NONE ctermfg=25 cterm=NONE guibg=NONE guifg=#005faf gui=NONE guisp=#005faf + hi ColorColumn ctermbg=bg ctermfg=235 cterm=NONE guibg=bg guifg=#262626 gui=NONE + hi signColumn ctermbg=bg ctermfg=223 cterm=NONE guibg=bg guifg=#ffd7af gui=NONE + hi ErrorMsg ctermbg=20 ctermfg=254 cterm=NONE guibg=#0000d7 guifg=#e4e4e4 gui=NONE + hi ModeMsg ctermbg=bg ctermfg=223 cterm=NONE guibg=bg guifg=#ffd7af gui=NONE + hi MoreMsg ctermbg=bg ctermfg=223 cterm=NONE guibg=bg guifg=#ffd7af gui=NONE + hi Question ctermbg=bg ctermfg=223 cterm=NONE guibg=bg guifg=#ffd7af gui=NONE + hi WarningMsg ctermbg=bg ctermfg=223 cterm=NONE guibg=bg guifg=#ffd7af gui=NONE + hi Cursor ctermbg=68 ctermfg=16 cterm=NONE guibg=#5f87d7 guifg=#000000 gui=NONE + hi CursorColumn ctermbg=235 ctermfg=NONE cterm=NONE guibg=#262626 guifg=NONE gui=NONE + hi Function ctermbg=bg ctermfg=250 cterm=NONE guibg=bg guifg=#bcbcbc gui=NONE + hi Operator ctermbg=bg ctermfg=137 cterm=NONE guibg=bg guifg=#af875f gui=NONE + hi Delimiter ctermbg=bg ctermfg=137 cterm=NONE guibg=bg guifg=#af875f gui=NONE + hi Boolean ctermbg=bg ctermfg=67 cterm=NONE guibg=bg guifg=#5f87af gui=NONE + hi VimIsCommand ctermbg=235 ctermfg=254 cterm=NONE guibg=#262626 guifg=#e4e4e4 gui=NONE + hi VimFunction ctermbg=bg ctermfg=254 cterm=bold guibg=bg guifg=#e4e4e4 gui=bold + hi! link VimFuncKey VimCommand + hi! link VimSubstPat VimString + hi VimSubstRep4 ctermbg=235 ctermfg=25 cterm=NONE guibg=#262626 guifg=#005faf gui=NONE + hi VimMapLhs ctermbg=235 ctermfg=254 cterm=NONE guibg=#262626 guifg=#e4e4e4 gui=NONE + hi javaScriptObjectKey ctermbg=bg ctermfg=110 cterm=NONE guibg=bg guifg=#87afd7 gui=NONE + hi javaScriptFunctionKey ctermbg=235 ctermfg=180 cterm=NONE guibg=#262626 guifg=#d7af87 gui=NONE + hi htmlItalic ctermbg=bg ctermfg=110 cterm=NONE guibg=bg guifg=#87afd7 gui=NONE + hi markdownLinkTextDelimiter ctermbg=bg ctermfg=110 cterm=NONE guibg=bg guifg=#87afd7 gui=NONE + hi markdownLinkDelimiter ctermbg=bg ctermfg=25 cterm=NONE guibg=bg guifg=#005faf gui=NONE + hi markdownUrl ctermbg=bg ctermfg=25 cterm=NONE guibg=bg guifg=#005faf gui=NONE + hi markdownCodeBlock ctermbg=bg ctermfg=137 cterm=NONE guibg=bg guifg=#af875f gui=NONE + hi markdownCode ctermbg=bg ctermfg=137 cterm=NONE guibg=bg guifg=#af875f gui=NONE + hi helpExample ctermbg=bg ctermfg=137 cterm=NONE guibg=bg guifg=#af875f gui=NONE + hi manSectionHeading ctermbg=bg ctermfg=137 cterm=NONE guibg=bg guifg=#af875f gui=NONE + hi manOptionDesc ctermbg=bg ctermfg=223 cterm=NONE guibg=bg guifg=#ffd7af gui=NONE + hi manLongOptionDesc ctermbg=bg ctermfg=110 cterm=NONE guibg=bg guifg=#87afd7 gui=NONE + hi CtrlPNoEntries ctermbg=bg ctermfg=20 cterm=NONE guibg=bg guifg=#0000d7 gui=NONE + hi CtrlPMatch ctermbg=bg ctermfg=223 cterm=NONE guibg=bg guifg=#ffd7af gui=NONE + hi CtrlPLinePre ctermbg=bg ctermfg=25 cterm=NONE guibg=bg guifg=#005faf gui=NONE + hi CtrlPPrtBase ctermbg=bg ctermfg=25 cterm=NONE guibg=bg guifg=#005faf gui=NONE + hi CtrlPPrtText ctermbg=bg ctermfg=254 cterm=NONE guibg=bg guifg=#e4e4e4 gui=NONE + hi CtrlPPtrCursor ctermbg=bg ctermfg=68 cterm=NONE guibg=bg guifg=#5f87d7 gui=NONE + hi CtrlPBufferInd ctermbg=bg ctermfg=223 cterm=NONE guibg=bg guifg=#ffd7af gui=NONE + hi CtrlPBufferVis ctermbg=bg ctermfg=110 cterm=NONE guibg=bg guifg=#87afd7 gui=NONE + hi CtrlPBufferNr ctermbg=bg ctermfg=67 cterm=NONE guibg=bg guifg=#5f87af gui=NONE +elseif &t_Co == 8 || $TERM !~# '^linux' || &t_Co == 16 + set t_Co=16 + hi Normal ctermbg=black ctermfg=blue cterm=NONE + set background=dark + hi NonText ctermbg=bg ctermfg=darkblue cterm=NONE + hi Comment ctermbg=bg ctermfg=grey cterm=NONE + hi Constant ctermbg=bg ctermfg=white cterm=NONE + hi Error ctermbg=darkblue ctermfg=white cterm=NONE + hi Identifier ctermbg=bg ctermfg=grey cterm=NONE + hi Ignore ctermbg=bg ctermfg=darkblue cterm=NONE + hi PreProc ctermbg=bg ctermfg=white cterm=NONE + hi Special ctermbg=bg ctermfg=darkyellow cterm=NONE + hi Statement ctermbg=bg ctermfg=blue cterm=NONE + hi String ctermbg=grey ctermfg=blue cterm=NONE + hi Number ctermbg=bg ctermfg=blue cterm=NONE + hi Todo ctermbg=bg ctermfg=white cterm=bold + hi Type ctermbg=bg ctermfg=white cterm=NONE + hi link Character Constant + hi link Float Number + hi link Conditional Statement + hi link Repeat Statement + hi link Label Statement + hi link Keyword Statement + hi link Exception Statement + hi link Include PreProc + hi link Define PreProc + hi link Macro PreProc + hi link PreCondit PreProc + hi link StorageClass Type + hi link Structure Type + hi link Typedef Type + hi link Tag Special + hi link SpecialChar Special + hi link SpecialComment Special + hi link Debug Special + hi Underlined ctermbg=grey ctermfg=yellow cterm=NONE + hi StatusLine ctermbg=bg ctermfg=blue cterm=NONE + hi StatusLineNC ctermbg=bg ctermfg=grey cterm=NONE + hi link StatusLineTerm StatusLine + hi link StatusLineTermNC StatusLineNC + hi VertSplit ctermbg=bg ctermfg=grey cterm=NONE + hi TabLine ctermbg=bg ctermfg=darkblue cterm=NONE + hi TabLineFill ctermbg=grey ctermfg=white cterm=NONE + hi TabLineSel ctermbg=bg ctermfg=white cterm=NONE + hi Title ctermbg=bg ctermfg=white cterm=NONE + hi CursorLine ctermbg=grey ctermfg=NONE cterm=NONE + hi LineNr ctermbg=bg ctermfg=darkblue cterm=NONE + hi CursorLineNr ctermbg=bg ctermfg=blue cterm=NONE + hi qfLineNr ctermbg=bg ctermfg=darkblue cterm=NONE + hi helpLeadBlank ctermbg=bg ctermfg=white cterm=NONE + hi helpNormal ctermbg=bg ctermfg=white cterm=NONE + hi Visual ctermbg=blue ctermfg=black cterm=NONE + hi VisualNOS ctermbg=bg ctermfg=white cterm=NONE + hi Pmenu ctermbg=grey ctermfg=grey cterm=NONE + hi PmenuSbar ctermbg=bg ctermfg=white cterm=NONE + hi PmenuSel ctermbg=grey ctermfg=white cterm=NONE + hi PmenuThumb ctermbg=bg ctermfg=white cterm=NONE + hi FoldColumn ctermbg=bg ctermfg=grey cterm=NONE + hi Folded ctermbg=bg ctermfg=darkblue cterm=NONE + hi WildMenu ctermbg=bg ctermfg=white cterm=NONE + hi SpecialKey ctermbg=bg ctermfg=blue cterm=NONE + hi DiffAdd ctermbg=grey ctermfg=white cterm=NONE + hi DiffChange ctermbg=grey ctermfg=grey cterm=NONE + hi DiffDelete ctermbg=bg ctermfg=darkblue cterm=NONE + hi DiffText ctermbg=grey ctermfg=blue cterm=NONE + hi IncSearch ctermbg=blue ctermfg=black cterm=NONE + hi Search ctermbg=darkblue ctermfg=grey cterm=NONE + hi Directory ctermbg=bg ctermfg=white cterm=NONE + hi MatchParen ctermbg=darkblue ctermfg=white cterm=bold + hi SpellBad ctermbg=NONE ctermfg=darkblue cterm=NONE + hi SpellCap ctermbg=NONE ctermfg=white cterm=NONE + hi SpellLocal ctermbg=NONE ctermfg=darkblue cterm=NONE + hi SpellRare ctermbg=NONE ctermfg=darkblue cterm=NONE + hi ColorColumn ctermbg=bg ctermfg=grey cterm=NONE + hi signColumn ctermbg=bg ctermfg=white cterm=NONE + hi ErrorMsg ctermbg=darkblue ctermfg=white cterm=NONE + hi ModeMsg ctermbg=bg ctermfg=white cterm=NONE + hi MoreMsg ctermbg=bg ctermfg=white cterm=NONE + hi Question ctermbg=bg ctermfg=white cterm=NONE + hi WarningMsg ctermbg=bg ctermfg=white cterm=NONE + hi Cursor ctermbg=blue ctermfg=black cterm=NONE + hi CursorColumn ctermbg=grey ctermfg=NONE cterm=NONE + hi Function ctermbg=bg ctermfg=grey cterm=NONE + hi Operator ctermbg=bg ctermfg=yellow cterm=NONE + hi Delimiter ctermbg=bg ctermfg=yellow cterm=NONE + hi Boolean ctermbg=bg ctermfg=blue cterm=NONE + hi VimIsCommand ctermbg=grey ctermfg=white cterm=NONE + hi VimFunction ctermbg=bg ctermfg=white cterm=bold + hi link VimFuncKey VimCommand + hi link VimSubstPat VimString + hi VimSubstRep4 ctermbg=grey ctermfg=darkblue cterm=NONE + hi VimMapLhs ctermbg=grey ctermfg=white cterm=NONE + hi javaScriptObjectKey ctermbg=bg ctermfg=blue cterm=NONE + hi javaScriptFunctionKey ctermbg=grey ctermfg=darkyellow cterm=NONE + hi htmlItalic ctermbg=bg ctermfg=blue cterm=NONE + hi markdownLinkTextDelimiter ctermbg=bg ctermfg=blue cterm=NONE + hi markdownLinkDelimiter ctermbg=bg ctermfg=darkblue cterm=NONE + hi markdownUrl ctermbg=bg ctermfg=darkblue cterm=NONE + hi markdownCodeBlock ctermbg=bg ctermfg=yellow cterm=NONE + hi markdownCode ctermbg=bg ctermfg=yellow cterm=NONE + hi helpExample ctermbg=bg ctermfg=yellow cterm=NONE + hi manSectionHeading ctermbg=bg ctermfg=yellow cterm=NONE + hi manOptionDesc ctermbg=bg ctermfg=white cterm=NONE + hi manLongOptionDesc ctermbg=bg ctermfg=blue cterm=NONE + hi CtrlPNoEntries ctermbg=bg ctermfg=darkblue cterm=NONE + hi CtrlPMatch ctermbg=bg ctermfg=white cterm=NONE + hi CtrlPLinePre ctermbg=bg ctermfg=darkblue cterm=NONE + hi CtrlPPrtBase ctermbg=bg ctermfg=darkblue cterm=NONE + hi CtrlPPrtText ctermbg=bg ctermfg=white cterm=NONE + hi CtrlPPtrCursor ctermbg=bg ctermfg=blue cterm=NONE + hi CtrlPBufferInd ctermbg=bg ctermfg=white cterm=NONE + hi CtrlPBufferVis ctermbg=bg ctermfg=blue cterm=NONE + hi CtrlPBufferNr ctermbg=bg ctermfg=blue cterm=NONE +endif + +" Generated with RNB (https://gist.github.com/romainl/5cd2f4ec222805f49eca) diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/paramount.vim b/nvim/plugged/awesome-vim-colorschemes/colors/paramount.vim new file mode 100644 index 00000000..c3e60cc4 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/paramount.vim @@ -0,0 +1,224 @@ +" Name: paramount.vim +" Version: 0.1.0 +" Maintainer: github.com/owickstrom +" License: The MIT License (MIT) +" +" A minimal colorscheme for Vim that only puts emphasis on the paramount. +" +" Based on the pencil and off colorschemes: +" +" https://github.com/reedes/vim-colors-pencil +" https://github.com/reedes/vim-colors-off +" +""" +hi clear + +if exists('syntax on') + syntax reset +endif + +let g:colors_name='paramount' + +let s:black = { "gui": "#000000", "cterm": "232" } +let s:medium_gray = { "gui": "#767676", "cterm": "243" } +let s:white = { "gui": "#F1F1F1", "cterm": "15" } +let s:actual_white = { "gui": "#FFFFFF", "cterm": "231" } +let s:subtle_black = { "gui": "#303030", "cterm": "236" } +let s:light_black = { "gui": "#262626", "cterm": "235" } +let s:lighter_black = { "gui": "#4E4E4E", "cterm": "239" } +let s:light_gray = { "gui": "#A8A8A8", "cterm": "248" } +let s:lighter_gray = { "gui": "#C6C6C6", "cterm": "251" } +let s:lightest_gray = { "gui": "#EEEEEE", "cterm": "255" } +let s:pink = { "gui": "#fb007a", "cterm": "9" } +let s:dark_red = { "gui": "#C30771", "cterm": "1" } +let s:light_red = { "gui": "#E32791", "cterm": "1" } +let s:orange = { "gui": "#D75F5F", "cterm": "167" } +let s:darker_blue = { "gui": "#005F87", "cterm": "18" } +let s:dark_blue = { "gui": "#008EC4", "cterm": "32" } +let s:blue = { "gui": "#20BBFC", "cterm": "12" } +let s:light_blue = { "gui": "#b6d6fd", "cterm": "153" } +let s:dark_cyan = { "gui": "#20A5BA", "cterm": "6" } +let s:light_cyan = { "gui": "#4FB8CC", "cterm": "14" } +let s:dark_green = { "gui": "#10A778", "cterm": "2" } +let s:light_green = { "gui": "#5FD7A7", "cterm": "10" } +let s:dark_purple = { "gui": "#af5fd7", "cterm": "134" } +let s:light_purple = { "gui": "#a790d5", "cterm": "140" } +let s:yellow = { "gui": "#F3E430", "cterm": "11" } +let s:light_yellow = { "gui": "#ffff87", "cterm": "228" } +let s:dark_yellow = { "gui": "#A89C14", "cterm": "3" } + +let s:background = &background + +if &background == "dark" + let s:bg = s:black + let s:bg_subtle = s:lighter_black + let s:bg_very_subtle = s:subtle_black + let s:norm = s:lighter_gray + let s:norm_subtle = s:medium_gray + let s:purple = s:light_purple + let s:cyan = s:light_cyan + let s:green = s:light_green + let s:red = s:light_red + let s:visual = s:light_purple + let s:yellow = s:light_yellow +else + let s:bg = s:actual_white + let s:bg_subtle = s:light_gray + let s:bg_very_subtle = s:lightest_gray + let s:norm = s:light_black + let s:norm_subtle = s:medium_gray + let s:purple = s:dark_purple + let s:cyan = s:dark_cyan + let s:green = s:dark_green + let s:red = s:dark_red + let s:visual = s:dark_purple + let s:yellow = s:dark_yellow +endif + +" https://github.com/noahfrederick/vim-hemisu/ +function! s:h(group, style) + execute "highlight" a:group + \ "guifg=" (has_key(a:style, "fg") ? a:style.fg.gui : "NONE") + \ "guibg=" (has_key(a:style, "bg") ? a:style.bg.gui : "NONE") + \ "guisp=" (has_key(a:style, "sp") ? a:style.sp.gui : "NONE") + \ "gui=" (has_key(a:style, "gui") ? a:style.gui : "NONE") + \ "ctermfg=" (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE") + \ "ctermbg=" (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE") + \ "cterm=" (has_key(a:style, "cterm") ? a:style.cterm : "NONE") +endfunction + +call s:h("Normal", {"bg": s:bg, "fg": s:norm}) + +" restore &background's value in case changing Normal changed &background (:help :hi-normal-cterm) +if &background != s:background + execute "set background=" . s:background +endif + +call s:h("Cursor", {"bg": s:purple, "fg": s:norm }) +call s:h("Comment", {"fg": s:bg_subtle, "gui": "italic"}) + +call s:h("Constant", {"fg": s:purple}) +hi! link Character Constant +hi! link Number Constant +hi! link Boolean Constant +hi! link Float Constant +hi! link String Constant + +"call s:h("Identifier", {"fg": s:dark_blue}) +hi! link Identifier Normal +hi! link Function Identifier + +call s:h("Statement", {"fg": s:norm_subtle}) +hi! link Conditonal Statement +hi! link Repeat Statement +hi! link Label Statement +hi! link Keyword Statement +hi! link Exception Statement + +call s:h("Operator", {"fg": s:norm, "cterm": "bold", "gui": "bold"}) + +call s:h("PreProc", {"fg": s:norm_subtle}) +hi! link Include PreProc +hi! link Define PreProc +hi! link Macro PreProc +hi! link PreCondit PreProc + +call s:h("Type", {"fg": s:norm}) +hi! link StorageClass Type +hi! link Structure Type +hi! link Typedef Type + +call s:h("Special", {"fg": s:norm_subtle, "gui": "italic"}) +hi! link SpecialChar Special +hi! link Tag Special +hi! link Delimiter Special +hi! link SpecialComment Special +hi! link Debug Special + +call s:h("Underlined", {"fg": s:norm, "gui": "underline", "cterm": "underline"}) +call s:h("Ignore", {"fg": s:bg}) +call s:h("Error", {"fg": s:actual_white, "bg": s:red, "cterm": "bold"}) +call s:h("Todo", {"fg": s:purple, "gui": "underline", "cterm": "underline"}) +call s:h("SpecialKey", {"fg": s:light_green}) +call s:h("NonText", {"fg": s:medium_gray}) +call s:h("Directory", {"fg": s:dark_blue}) +call s:h("ErrorMsg", {"fg": s:red}) +call s:h("IncSearch", {"bg": s:yellow, "fg": s:light_black}) +call s:h("Search", {"bg": s:light_green, "fg": s:light_black}) +call s:h("MoreMsg", {"fg": s:medium_gray, "cterm": "bold", "gui": "bold"}) +hi! link ModeMsg MoreMsg +call s:h("LineNr", {"fg": s:bg_subtle}) +call s:h("CursorLineNr", {"fg": s:purple, "bg": s:bg_very_subtle}) +call s:h("Question", {"fg": s:red}) +call s:h("StatusLine", {"bg": s:bg_very_subtle}) +call s:h("StatusLineNC", {"bg": s:bg_very_subtle, "fg": s:medium_gray}) +call s:h("VertSplit", {"bg": s:bg_very_subtle, "fg": s:bg_very_subtle}) +call s:h("Title", {"fg": s:dark_blue}) +call s:h("Visual", {"fg": s:norm, "bg": s:visual}) +call s:h("VisualNOS", {"bg": s:bg_subtle}) +call s:h("WarningMsg", {"fg": s:yellow}) +call s:h("WildMenu", {"fg": s:bg, "bg": s:norm}) +call s:h("Folded", {"fg": s:medium_gray}) +call s:h("FoldColumn", {"fg": s:bg_subtle}) +call s:h("DiffAdd", {"fg": s:green}) +call s:h("DiffDelete", {"fg": s:red}) +call s:h("DiffChange", {"fg": s:dark_yellow}) +call s:h("DiffText", {"fg": s:dark_blue}) +call s:h("SignColumn", {"fg": s:light_green}) + + +if has("gui_running") + call s:h("SpellBad", {"gui": "underline", "sp": s:red}) + call s:h("SpellCap", {"gui": "underline", "sp": s:light_green}) + call s:h("SpellRare", {"gui": "underline", "sp": s:pink}) + call s:h("SpellLocal", {"gui": "underline", "sp": s:dark_green}) +else + call s:h("SpellBad", {"cterm": "underline", "fg": s:red}) + call s:h("SpellCap", {"cterm": "underline", "fg": s:light_green}) + call s:h("SpellRare", {"cterm": "underline", "fg": s:pink}) + call s:h("SpellLocal", {"cterm": "underline", "fg": s:dark_green}) +endif + +call s:h("Pmenu", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("PmenuSel", {"fg": s:norm, "bg": s:purple}) +call s:h("PmenuSbar", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("PmenuThumb", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("TabLine", {"fg": s:norm, "bg": s:bg_very_subtle}) +call s:h("TabLineSel", {"fg": s:purple, "bg": s:bg_subtle, "gui": "bold", "cterm": "bold"}) +call s:h("TabLineFill", {"fg": s:norm, "bg": s:bg_very_subtle}) +call s:h("CursorColumn", {"bg": s:bg_very_subtle}) +call s:h("CursorLine", {"bg": s:bg_very_subtle}) +call s:h("ColorColumn", {"bg": s:bg_subtle}) + +call s:h("MatchParen", {"bg": s:bg_subtle, "fg": s:norm}) +call s:h("qfLineNr", {"fg": s:medium_gray}) + +call s:h("htmlH1", {"bg": s:bg, "fg": s:norm}) +call s:h("htmlH2", {"bg": s:bg, "fg": s:norm}) +call s:h("htmlH3", {"bg": s:bg, "fg": s:norm}) +call s:h("htmlH4", {"bg": s:bg, "fg": s:norm}) +call s:h("htmlH5", {"bg": s:bg, "fg": s:norm}) +call s:h("htmlH6", {"bg": s:bg, "fg": s:norm}) + +" Synatastic +call s:h("SyntasticWarningSign", {"fg": s:yellow}) +call s:h("SyntasticWarning", {"bg": s:yellow, "fg": s:black, "gui": "bold", "cterm": "bold"}) +call s:h("SyntasticErrorSign", {"fg": s:red}) +call s:h("SyntasticError", {"bg": s:red, "fg": s:white, "gui": "bold", "cterm": "bold"}) + +" Neomake +hi link NeomakeWarningSign SyntasticWarningSign +hi link NeomakeErrorSign SyntasticErrorSign + +" ALE +hi link ALEWarningSign SyntasticWarningSign +hi link ALEErrorSign SyntasticErrorSign + +" Signify, git-gutter +hi link SignifySignAdd LineNr +hi link SignifySignDelete LineNr +hi link SignifySignChange LineNr +hi link GitGutterAdd LineNr +hi link GitGutterDelete LineNr +hi link GitGutterChange LineNr +hi link GitGutterChangeDelete LineNr diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/parsec.vim b/nvim/plugged/awesome-vim-colorschemes/colors/parsec.vim new file mode 100644 index 00000000..0d3fc434 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/parsec.vim @@ -0,0 +1,680 @@ +" Terminal settings {{{ +" Terminals that support italics +let s:terms_italic=[ + \"rxvt", + \"gnome-terminal" + \] +" For reference only, terminals are known to be incomptible. +" Terminals that are in neither list need to be tested. +let s:terms_noitalic=[ + \"iTerm.app", + \"Apple_Terminal" + \] +if has("gui_running") + let s:terminal_italic=1 " TODO: could refactor to not require this at all +else + let s:terminal_italic=0 " terminals will be guilty until proven compatible + for term in s:terms_italic + if $TERM_PROGRAM =~ term + let s:terminal_italic=1 + break + endif + endfor +endif + +" }}} + +" Default option values"{{{ +" --------------------------------------------------------------------- +" s:options_list is used to autogenerate a list of all non-default options +" using "call SolarizedOptions()" or with the "Generate .vimrc commands" +" Solarized menu option. See the "Menus" section below for the function itself. +let s:options_list=[ + \'" this block of commands has been autogenerated by solarized.vim and', + \'" includes the current, non-default Solarized option values.', + \'" To use, place these commands in your .vimrc file (replacing any', + \'" existing colorscheme commands). See also ":help solarized"', + \'', + \'" ------------------------------------------------------------------', + \'" Solarized Colorscheme Config', + \'" ------------------------------------------------------------------', + \] +let s:defaults_list=[ + \'" ------------------------------------------------------------------', + \'', + \'" The following items are available options, but do not need to be', + \'" included in your .vimrc as they are currently set to their defaults.', + \'' + \] + +function! s:SetOption(name,default) + if type(a:default) == type(0) + let l:wrap='' + let l:ewrap='' + else + let l:wrap='"' + let l:ewrap='\"' + endif + if !exists("g:solarized_".a:name) || g:solarized_{a:name}==a:default + exe 'let g:solarized_'.a:name.'='.l:wrap.a:default.l:wrap.'"' + exe 'call add(s:defaults_list, "\" let g:solarized_'.a:name.'='.l:ewrap.g:solarized_{a:name}.l:ewrap.'")' + else + exe 'call add(s:options_list, "let g:solarized_'.a:name.'='.l:ewrap.g:solarized_{a:name}.l:ewrap.' \"default value is '.a:default.'")' + endif +endfunction + +call s:SetOption("italic",1) " note that we need to override this later if the terminal doesn't support +call s:SetOption("termcolors",16) + +"}}} + +" Colorscheme initialization "{{{ +" --------------------------------------------------------------------- +highlight clear +if exists("syntax_on") + syntax reset +endif +let colors_name = "parsec" + +"}}} + +" GUI & CSApprox hexadecimal palettes"{{{ +" --------------------------------------------------------------------- +" +" Set both gui and terminal color values in separate conditional statements +" Due to possibility that CSApprox is running (though I suppose we could just +" leave the hex values out entirely in that case and include only cterm colors) +" We also check to see if user has set solarized (force use of the +" neutral gray monotone palette component) + +if has("gui_running") + let s:vmode = "gui" + let s:base03 = "#2d2d2d" + let s:base02 = "#393939" + let s:base01 = "#999999" + let s:base00 = "#cccccc" + let s:base0 = "#ebe4d3" + let s:base1 = "#93a1a1" + let s:base2 = "#eee8d5" + let s:base3 = "#fdf6e3" + let s:yellow = "#fedb78" + let s:orange = "#f99157" + let s:red = "#f2777a" + let s:magenta = "#d567af" + let s:violet = "#cc99cc" + let s:blue = "#99cccc" + let s:cyan = "#d2fdfe" + let s:green = "#99cc99" +elseif &t_Co >= 16 + let s:vmode = "cterm" + let s:base03 = "8" + let s:base02 = "0" + let s:base01 = "10" + let s:base00 = "11" + let s:base0 = "12" + let s:base1 = "14" + let s:base2 = "7" + let s:base3 = "15" + let s:yellow = "3" + let s:orange = "9" + let s:red = "1" + let s:magenta = "5" + let s:violet = "13" + let s:blue = "4" + let s:cyan = "6" + let s:green = "2" +else + echo "This solarized template is not setup to fallback to these colors" +end +"}}} + +" Formatting options and null values for passthrough effect "{{{ +" --------------------------------------------------------------------- +let s:none = "NONE" +let s:none = "NONE" +let s:t_none = "NONE" +let s:n = "NONE" +let s:c = ",undercurl" +let s:r = ",reverse" +let s:s = ",standout" +let s:ou = "" +let s:ob = "" +"}}} + +" Overrides dependent on user specified values and environment "{{{ +" --------------------------------------------------------------------- +let s:back = s:base03 +let s:b = ",bold" +let s:bb = "" +let s:u = ",underline" + +if g:solarized_italic == 0 || s:terminal_italic == 0 + let s:i = "" +else + let s:i = ",italic" +endif +"}}} + +" Highlighting primitives"{{{ +" --------------------------------------------------------------------- + +exe "let s:bg_none = ' ".s:vmode."bg=".s:none ."'" +exe "let s:bg_back = ' ".s:vmode."bg=".s:back ."'" +exe "let s:bg_base03 = ' ".s:vmode."bg=".s:base03 ."'" +exe "let s:bg_base02 = ' ".s:vmode."bg=".s:base02 ."'" +exe "let s:bg_base01 = ' ".s:vmode."bg=".s:base01 ."'" +exe "let s:bg_base00 = ' ".s:vmode."bg=".s:base00 ."'" +exe "let s:bg_base0 = ' ".s:vmode."bg=".s:base0 ."'" +exe "let s:bg_base1 = ' ".s:vmode."bg=".s:base1 ."'" +exe "let s:bg_base2 = ' ".s:vmode."bg=".s:base2 ."'" +exe "let s:bg_base3 = ' ".s:vmode."bg=".s:base3 ."'" +exe "let s:bg_green = ' ".s:vmode."bg=".s:green ."'" +exe "let s:bg_yellow = ' ".s:vmode."bg=".s:yellow ."'" +exe "let s:bg_orange = ' ".s:vmode."bg=".s:orange ."'" +exe "let s:bg_red = ' ".s:vmode."bg=".s:red ."'" +exe "let s:bg_magenta = ' ".s:vmode."bg=".s:magenta."'" +exe "let s:bg_violet = ' ".s:vmode."bg=".s:violet ."'" +exe "let s:bg_blue = ' ".s:vmode."bg=".s:blue ."'" +exe "let s:bg_cyan = ' ".s:vmode."bg=".s:cyan ."'" + +exe "let s:fg_none = ' ".s:vmode."fg=".s:none ."'" +exe "let s:fg_back = ' ".s:vmode."fg=".s:back ."'" +exe "let s:fg_base03 = ' ".s:vmode."fg=".s:base03 ."'" +exe "let s:fg_base02 = ' ".s:vmode."fg=".s:base02 ."'" +exe "let s:fg_base01 = ' ".s:vmode."fg=".s:base01 ."'" +exe "let s:fg_base00 = ' ".s:vmode."fg=".s:base00 ."'" +exe "let s:fg_base0 = ' ".s:vmode."fg=".s:base0 ."'" +exe "let s:fg_base1 = ' ".s:vmode."fg=".s:base1 ."'" +exe "let s:fg_base2 = ' ".s:vmode."fg=".s:base2 ."'" +exe "let s:fg_base3 = ' ".s:vmode."fg=".s:base3 ."'" +exe "let s:fg_green = ' ".s:vmode."fg=".s:green ."'" +exe "let s:fg_yellow = ' ".s:vmode."fg=".s:yellow ."'" +exe "let s:fg_orange = ' ".s:vmode."fg=".s:orange ."'" +exe "let s:fg_red = ' ".s:vmode."fg=".s:red ."'" +exe "let s:fg_magenta = ' ".s:vmode."fg=".s:magenta."'" +exe "let s:fg_violet = ' ".s:vmode."fg=".s:violet ."'" +exe "let s:fg_blue = ' ".s:vmode."fg=".s:blue ."'" +exe "let s:fg_cyan = ' ".s:vmode."fg=".s:cyan ."'" + +exe "let s:fmt_none = ' ".s:vmode."=NONE". " term=NONE". "'" +exe "let s:fmt_bold = ' ".s:vmode."=NONE".s:b. " term=NONE".s:b."'" +exe "let s:fmt_bldi = ' ".s:vmode."=NONE".s:b. " term=NONE".s:b."'" +exe "let s:fmt_undr = ' ".s:vmode."=NONE".s:u. " term=NONE".s:u."'" +exe "let s:fmt_undb = ' ".s:vmode."=NONE".s:u.s:b. " term=NONE".s:u.s:b."'" +exe "let s:fmt_undi = ' ".s:vmode."=NONE".s:u. " term=NONE".s:u."'" +exe "let s:fmt_uopt = ' ".s:vmode."=NONE".s:ou. " term=NONE".s:ou."'" +exe "let s:fmt_curl = ' ".s:vmode."=NONE".s:c. " term=NONE".s:c."'" +exe "let s:fmt_ital = ' ".s:vmode."=NONE".s:i. " term=NONE".s:i."'" +exe "let s:fmt_stnd = ' ".s:vmode."=NONE".s:s. " term=NONE".s:s."'" +exe "let s:fmt_revr = ' ".s:vmode."=NONE".s:r. " term=NONE".s:r."'" +exe "let s:fmt_revb = ' ".s:vmode."=NONE".s:r.s:b. " term=NONE".s:r.s:b."'" +" revbb (reverse bold for bright colors) is only set to actual bold in low +" color terminals (t_co=8, such as OS X Terminal.app) and should only be used +" with colors 8-15. +exe "let s:fmt_revbb = ' ".s:vmode."=NONE".s:r.s:bb. " term=NONE".s:r.s:bb."'" +exe "let s:fmt_revbbu = ' ".s:vmode."=NONE".s:r.s:bb.s:u." term=NONE".s:r.s:bb.s:u."'" + +if has("gui_running") + exe "let s:sp_none = ' guisp=".s:none ."'" + exe "let s:sp_back = ' guisp=".s:back ."'" + exe "let s:sp_base03 = ' guisp=".s:base03 ."'" + exe "let s:sp_base02 = ' guisp=".s:base02 ."'" + exe "let s:sp_base01 = ' guisp=".s:base01 ."'" + exe "let s:sp_base00 = ' guisp=".s:base00 ."'" + exe "let s:sp_base0 = ' guisp=".s:base0 ."'" + exe "let s:sp_base1 = ' guisp=".s:base1 ."'" + exe "let s:sp_base2 = ' guisp=".s:base2 ."'" + exe "let s:sp_base3 = ' guisp=".s:base3 ."'" + exe "let s:sp_green = ' guisp=".s:green ."'" + exe "let s:sp_yellow = ' guisp=".s:yellow ."'" + exe "let s:sp_orange = ' guisp=".s:orange ."'" + exe "let s:sp_red = ' guisp=".s:red ."'" + exe "let s:sp_magenta = ' guisp=".s:magenta."'" + exe "let s:sp_violet = ' guisp=".s:violet ."'" + exe "let s:sp_blue = ' guisp=".s:blue ."'" + exe "let s:sp_cyan = ' guisp=".s:cyan ."'" +else + let s:sp_none = "" + let s:sp_back = "" + let s:sp_base03 = "" + let s:sp_base02 = "" + let s:sp_base01 = "" + let s:sp_base00 = "" + let s:sp_base0 = "" + let s:sp_base1 = "" + let s:sp_base2 = "" + let s:sp_base3 = "" + let s:sp_green = "" + let s:sp_yellow = "" + let s:sp_orange = "" + let s:sp_red = "" + let s:sp_magenta = "" + let s:sp_violet = "" + let s:sp_blue = "" + let s:sp_cyan = "" +endif + +"}}} + +" Basic highlighting"{{{ +" --------------------------------------------------------------------- +" note that link syntax to avoid duplicate configuration doesn't work with the +" exe compiled formats + +exe "hi! Normal" .s:fmt_none .s:fg_base0 .s:bg_back + +exe "hi! Comment" .s:fmt_ital .s:fg_base01 .s:bg_none +" *Comment any comment + +exe "hi! Constant" .s:fmt_none .s:fg_cyan .s:bg_none +" *Constant any constant +" String a string constant: "this is a string" +" Character a character constant: 'c', '\n' +" Number a number constant: 234, 0xff +" Boolean a boolean constant: TRUE, false +" Float a floating point constant: 2.3e10 + +exe "hi! Identifier" .s:fmt_none .s:fg_blue .s:bg_none +" *Identifier any variable name +" Function function name (also: methods for classes) +" +exe "hi! Statement" .s:fmt_none .s:fg_green .s:bg_none +" *Statement any statement +" Conditional if, then, else, endif, switch, etc. +" Repeat for, do, while, etc. +" Label case, default, etc. +" Operator "sizeof", "+", "*", etc. +" Keyword any other keyword +" Exception try, catch, throw + +exe "hi! PreProc" .s:fmt_none .s:fg_orange .s:bg_none +" *PreProc generic Preprocessor +" Include preprocessor #include +" Define preprocessor #define +" Macro same as Define +" PreCondit preprocessor #if, #else, #endif, etc. + +exe "hi! Type" .s:fmt_none .s:fg_yellow .s:bg_none +" *Type int, long, char, etc. +" StorageClass static, register, volatile, etc. +" Structure struct, union, enum, etc. +" Typedef A typedef + +exe "hi! Special" .s:fmt_none .s:fg_red .s:bg_none +" *Special any special symbol +" SpecialChar special character in a constant +" Tag you can use CTRL-] on this +" Delimiter character that needs attention +" SpecialComment special things inside a comment +" Debug debugging statements + +exe "hi! Underlined" .s:fmt_none .s:fg_violet .s:bg_none +" *Underlined text that stands out, HTML links + +exe "hi! Ignore" .s:fmt_none .s:fg_none .s:bg_none +" *Ignore left blank, hidden |hl-Ignore| + +exe "hi! Error" .s:fmt_bold .s:fg_red .s:bg_none +" *Error any erroneous construct + +exe "hi! Todo" .s:fmt_bold .s:fg_magenta.s:bg_none +" *Todo anything that needs extra attention; mostly the +" keywords TODO FIXME and XXX +" +"}}} + +" Extended highlighting "{{{ +" --------------------------------------------------------------------- +exe "hi! SpecialKey" .s:fmt_bold .s:fg_base00 .s:bg_base02 +exe "hi! NonText" .s:fmt_bold .s:fg_base00 .s:bg_none +exe "hi! StatusLine" .s:fmt_none .s:fg_base02 .s:bg_base00 .s:fmt_revbb +exe "hi! StatusLineNC" .s:fmt_none .s:fg_base02 .s:bg_base01 .s:fmt_revbb +exe "hi! Visual" .s:fmt_none .s:fg_base01 .s:bg_base03 .s:fmt_revbb +exe "hi! VisualNOS" .s:fmt_stnd .s:fg_base01 .s:bg_base02 .s:fmt_revbb +exe "hi! Directory" .s:fmt_none .s:fg_blue .s:bg_none +exe "hi! ErrorMsg" .s:fmt_revr .s:fg_red .s:bg_none +exe "hi! IncSearch" .s:fmt_stnd .s:fg_orange .s:bg_none +exe "hi! Search" .s:fmt_revr .s:fg_yellow .s:bg_none +exe "hi! MoreMsg" .s:fmt_none .s:fg_blue .s:bg_none +exe "hi! ModeMsg" .s:fmt_none .s:fg_blue .s:bg_none +exe "hi! LineNr" .s:fmt_none .s:fg_base01 .s:bg_base02 +exe "hi! Question" .s:fmt_bold .s:fg_cyan .s:bg_none +exe "hi! VertSplit" .s:fmt_none .s:fg_base02 .s:bg_base02 +exe "hi! Title" .s:fmt_bold .s:fg_orange .s:bg_none +exe "hi! WarningMsg" .s:fmt_bold .s:fg_red .s:bg_none +exe "hi! WildMenu" .s:fmt_none .s:fg_base2 .s:bg_base02 .s:fmt_revbb +exe "hi! Folded" .s:fmt_undb .s:fg_base0 .s:bg_base02 .s:sp_base03 +exe "hi! FoldColumn" .s:fmt_none .s:fg_base0 .s:bg_base02 +exe "hi! SignColumn" .s:fmt_none .s:bg_base02 +exe "hi! Conceal" .s:fmt_none .s:fg_blue .s:bg_none +exe "hi! SpellBad" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_red +exe "hi! SpellCap" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_violet +exe "hi! SpellRare" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_cyan +exe "hi! SpellLocal" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_yellow +exe "hi! Pmenu" .s:fmt_none .s:fg_base0 .s:bg_base02 .s:fmt_revbb +exe "hi! PmenuSel" .s:fmt_none .s:fg_base01 .s:bg_base2 .s:fmt_revbb +exe "hi! PmenuSbar" .s:fmt_none .s:fg_base2 .s:bg_base0 .s:fmt_revbb +exe "hi! PmenuThumb" .s:fmt_none .s:fg_base0 .s:bg_base03 .s:fmt_revbb +exe "hi! TabLine" .s:fmt_undr .s:fg_base0 .s:bg_base02 .s:sp_base0 +exe "hi! TabLineFill" .s:fmt_undr .s:fg_base0 .s:bg_base02 .s:sp_base0 +exe "hi! TabLineSel" .s:fmt_undr .s:fg_base01 .s:bg_base2 .s:sp_base0 .s:fmt_revbbu +exe "hi! CursorColumn" .s:fmt_none .s:fg_none .s:bg_base02 +exe "hi! CursorLine" .s:fmt_uopt .s:fg_none .s:bg_base02 .s:sp_base1 +exe "hi! ColorColumn" .s:fmt_none .s:fg_none .s:bg_base02 +exe "hi! Cursor" .s:fmt_none .s:fg_base03 .s:bg_base0 +hi! link lCursor Cursor +exe "hi! MatchParen" .s:fmt_bold .s:fg_red .s:bg_base01 + +let s:diff_fmt = s:fmt_none +if has("gui_running") + let s:diff_fmt = s:fmt_bold +endif +exe "hi! DiffAdd" .s:diff_fmt .s:fg_green .s:bg_base02 .s:sp_green +exe "hi! DiffChange" .s:diff_fmt .s:fg_yellow .s:bg_base02 .s:sp_yellow +exe "hi! DiffDelete" .s:diff_fmt .s:fg_red .s:bg_base02 +exe "hi! DiffText" .s:diff_fmt .s:fg_blue .s:bg_base02 .s:sp_blue + +"}}} + +" vim syntax highlighting "{{{ +" --------------------------------------------------------------------- +"exe "hi! vimLineComment" . s:fg_base01 .s:bg_none .s:fmt_ital +"hi! link vimComment Comment +"hi! link vimLineComment Comment +hi! link vimVar Identifier +hi! link vimFunc Function +hi! link vimUserFunc Function +hi! link helpSpecial Special +hi! link vimSet Normal +hi! link vimSetEqual Normal +exe "hi! vimCommentString" .s:fmt_none .s:fg_violet .s:bg_none +exe "hi! vimCommand" .s:fmt_none .s:fg_yellow .s:bg_none +exe "hi! vimCmdSep" .s:fmt_bold .s:fg_blue .s:bg_none +exe "hi! helpExample" .s:fmt_none .s:fg_base1 .s:bg_none +exe "hi! helpOption" .s:fmt_none .s:fg_cyan .s:bg_none +exe "hi! helpNote" .s:fmt_none .s:fg_magenta.s:bg_none +exe "hi! helpVim" .s:fmt_none .s:fg_magenta.s:bg_none +exe "hi! helpHyperTextJump" .s:fmt_undr .s:fg_blue .s:bg_none +exe "hi! helpHyperTextEntry".s:fmt_none .s:fg_green .s:bg_none +exe "hi! vimIsCommand" .s:fmt_none .s:fg_base00 .s:bg_none +exe "hi! vimSynMtchOpt" .s:fmt_none .s:fg_yellow .s:bg_none +exe "hi! vimSynType" .s:fmt_none .s:fg_cyan .s:bg_none +exe "hi! vimHiLink" .s:fmt_none .s:fg_blue .s:bg_none +exe "hi! vimHiGroup" .s:fmt_none .s:fg_blue .s:bg_none +exe "hi! vimGroup" .s:fmt_undb .s:fg_blue .s:bg_none +"}}} + +" diff highlighting "{{{ +" --------------------------------------------------------------------- +hi! link diffAdded Statement +hi! link diffLine Identifier +"}}} + +" git & gitcommit highlighting "{{{ +"git +"exe "hi! gitDateHeader" +"exe "hi! gitIdentityHeader" +"exe "hi! gitIdentityKeyword" +"exe "hi! gitNotesHeader" +"exe "hi! gitReflogHeader" +"exe "hi! gitKeyword" +"exe "hi! gitIdentity" +"exe "hi! gitEmailDelimiter" +"exe "hi! gitEmail" +"exe "hi! gitDate" +"exe "hi! gitMode" +"exe "hi! gitHashAbbrev" +"exe "hi! gitHash" +"exe "hi! gitReflogMiddle" +"exe "hi! gitReference" +"exe "hi! gitStage" +"exe "hi! gitType" +"exe "hi! gitDiffAdded" +"exe "hi! gitDiffRemoved" +"gitcommit +"exe "hi! gitcommitSummary" +exe "hi! gitcommitComment" .s:fmt_ital .s:fg_base01 .s:bg_none +hi! link gitcommitUntracked gitcommitComment +hi! link gitcommitDiscarded gitcommitComment +hi! link gitcommitSelected gitcommitComment +exe "hi! gitcommitUnmerged" .s:fmt_bold .s:fg_green .s:bg_none +exe "hi! gitcommitOnBranch" .s:fmt_bold .s:fg_base01 .s:bg_none +exe "hi! gitcommitBranch" .s:fmt_bold .s:fg_magenta .s:bg_none +hi! link gitcommitNoBranch gitcommitBranch +exe "hi! gitcommitDiscardedType".s:fmt_none .s:fg_red .s:bg_none +exe "hi! gitcommitSelectedType" .s:fmt_none .s:fg_green .s:bg_none +"exe "hi! gitcommitUnmergedType" +"exe "hi! gitcommitType" +"exe "hi! gitcommitNoChanges" +"exe "hi! gitcommitHeader" +exe "hi! gitcommitHeader" .s:fmt_none .s:fg_base01 .s:bg_none +exe "hi! gitcommitUntrackedFile".s:fmt_bold .s:fg_cyan .s:bg_none +exe "hi! gitcommitDiscardedFile".s:fmt_bold .s:fg_red .s:bg_none +exe "hi! gitcommitSelectedFile" .s:fmt_bold .s:fg_green .s:bg_none +exe "hi! gitcommitUnmergedFile" .s:fmt_bold .s:fg_yellow .s:bg_none +exe "hi! gitcommitFile" .s:fmt_bold .s:fg_base0 .s:bg_none +hi! link gitcommitDiscardedArrow gitcommitDiscardedFile +hi! link gitcommitSelectedArrow gitcommitSelectedFile +hi! link gitcommitUnmergedArrow gitcommitUnmergedFile +"exe "hi! gitcommitArrow" +"exe "hi! gitcommitOverflow" +"exe "hi! gitcommitBlank" +" }}} + +" html highlighting "{{{ +" --------------------------------------------------------------------- +exe "hi! htmlTag" .s:fmt_none .s:fg_base01 .s:bg_none +exe "hi! htmlEndTag" .s:fmt_none .s:fg_base01 .s:bg_none +exe "hi! htmlTagN" .s:fmt_bold .s:fg_base1 .s:bg_none +exe "hi! htmlTagName" .s:fmt_bold .s:fg_blue .s:bg_none +exe "hi! htmlSpecialTagName".s:fmt_ital .s:fg_blue .s:bg_none +exe "hi! htmlArg" .s:fmt_none .s:fg_base00 .s:bg_none +exe "hi! javaScript" .s:fmt_none .s:fg_yellow .s:bg_none +"}}} + +" perl highlighting "{{{ +" --------------------------------------------------------------------- +exe "hi! perlHereDoc" . s:fg_base1 .s:bg_back .s:fmt_none +exe "hi! perlVarPlain" . s:fg_yellow .s:bg_back .s:fmt_none +exe "hi! perlStatementFileDesc". s:fg_cyan.s:bg_back.s:fmt_none + +"}}} + +" tex highlighting "{{{ +" --------------------------------------------------------------------- +exe "hi! texStatement" . s:fg_cyan .s:bg_back .s:fmt_none +exe "hi! texMathZoneX" . s:fg_yellow .s:bg_back .s:fmt_none +exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back .s:fmt_none +exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back .s:fmt_none +exe "hi! texRefLabel" . s:fg_yellow .s:bg_back .s:fmt_none +"}}} + +" ruby highlighting "{{{ +" --------------------------------------------------------------------- +exe "hi! rubyDefine" . s:fg_base1 .s:bg_back .s:fmt_bold +"rubyInclude +"rubySharpBang +"rubyAccess +"rubyPredefinedVariable +"rubyBoolean +"rubyClassVariable +"rubyBeginEnd +"rubyRepeatModifier +"hi! link rubyArrayDelimiter Special " [ , , ] +"rubyCurlyBlock { , , } + +"hi! link rubyClass Keyword +"hi! link rubyModule Keyword +"hi! link rubyKeyword Keyword +"hi! link rubyOperator Operator +"hi! link rubyIdentifier Identifier +"hi! link rubyInstanceVariable Identifier +"hi! link rubyGlobalVariable Identifier +"hi! link rubyClassVariable Identifier +"hi! link rubyConstant Type +"}}} + +" haskell syntax highlighting"{{{ +" --------------------------------------------------------------------- +" For use with syntax/haskell.vim : Haskell Syntax File +" http://www.vim.org/scripts/script.php?script_id=3034 +" See also Steffen Siering's github repository: +" http://github.com/urso/dotrc/blob/master/vim/syntax/haskell.vim +" --------------------------------------------------------------------- +" +" Treat True and False specially, see the plugin referenced above +let hs_highlight_boolean=1 +" highlight delims, see the plugin referenced above +let hs_highlight_delimiters=1 + +exe "hi! cPreCondit". s:fg_orange.s:bg_none .s:fmt_none + +exe "hi! VarId" . s:fg_blue .s:bg_none .s:fmt_none +exe "hi! ConId" . s:fg_yellow .s:bg_none .s:fmt_none +exe "hi! hsImport" . s:fg_magenta.s:bg_none .s:fmt_none +exe "hi! hsString" . s:fg_base00 .s:bg_none .s:fmt_none + +exe "hi! hsStructure" . s:fg_cyan .s:bg_none .s:fmt_none +exe "hi! hs_hlFunctionName" . s:fg_blue .s:bg_none +exe "hi! hsStatement" . s:fg_cyan .s:bg_none .s:fmt_none +exe "hi! hsImportLabel" . s:fg_cyan .s:bg_none .s:fmt_none +exe "hi! hs_OpFunctionName" . s:fg_yellow .s:bg_none .s:fmt_none +exe "hi! hs_DeclareFunction" . s:fg_orange .s:bg_none .s:fmt_none +exe "hi! hsVarSym" . s:fg_cyan .s:bg_none .s:fmt_none +exe "hi! hsType" . s:fg_yellow .s:bg_none .s:fmt_none +exe "hi! hsTypedef" . s:fg_cyan .s:bg_none .s:fmt_none +exe "hi! hsModuleName" . s:fg_green .s:bg_none .s:fmt_undr +exe "hi! hsModuleStartLabel" . s:fg_magenta.s:bg_none .s:fmt_none +hi! link hsImportParams Delimiter +hi! link hsDelimTypeExport Delimiter +hi! link hsModuleStartLabel hsStructure +hi! link hsModuleWhereLabel hsModuleStartLabel + +" following is for the haskell-conceal plugin +" the first two items don't have an impact, but better safe +exe "hi! hsNiceOperator" . s:fg_cyan .s:bg_none .s:fmt_none +exe "hi! hsniceoperator" . s:fg_cyan .s:bg_none .s:fmt_none + +"}}} + +" pandoc markdown syntax highlighting "{{{ +" --------------------------------------------------------------------- + +"PandocHiLink pandocNormalBlock +exe "hi! pandocTitleBlock" .s:fg_blue .s:bg_none .s:fmt_none +exe "hi! pandocTitleBlockTitle" .s:fg_blue .s:bg_none .s:fmt_bold +exe "hi! pandocTitleComment" .s:fg_blue .s:bg_none .s:fmt_bold +exe "hi! pandocComment" .s:fg_base01 .s:bg_none .s:fmt_ital +exe "hi! pandocVerbatimBlock" .s:fg_yellow .s:bg_none .s:fmt_none +hi! link pandocVerbatimBlockDeep pandocVerbatimBlock +hi! link pandocCodeBlock pandocVerbatimBlock +hi! link pandocCodeBlockDelim pandocVerbatimBlock +exe "hi! pandocBlockQuote" .s:fg_blue .s:bg_none .s:fmt_none +exe "hi! pandocBlockQuoteLeader1" .s:fg_blue .s:bg_none .s:fmt_none +exe "hi! pandocBlockQuoteLeader2" .s:fg_cyan .s:bg_none .s:fmt_none +exe "hi! pandocBlockQuoteLeader3" .s:fg_yellow .s:bg_none .s:fmt_none +exe "hi! pandocBlockQuoteLeader4" .s:fg_red .s:bg_none .s:fmt_none +exe "hi! pandocBlockQuoteLeader5" .s:fg_base0 .s:bg_none .s:fmt_none +exe "hi! pandocBlockQuoteLeader6" .s:fg_base01 .s:bg_none .s:fmt_none +exe "hi! pandocListMarker" .s:fg_magenta.s:bg_none .s:fmt_none +exe "hi! pandocListReference" .s:fg_magenta.s:bg_none .s:fmt_undr + +" Definitions +" --------------------------------------------------------------------- +let s:fg_pdef = s:fg_violet +exe "hi! pandocDefinitionBlock" .s:fg_pdef .s:bg_none .s:fmt_none +exe "hi! pandocDefinitionTerm" .s:fg_pdef .s:bg_none .s:fmt_stnd +exe "hi! pandocDefinitionIndctr" .s:fg_pdef .s:bg_none .s:fmt_bold +exe "hi! pandocEmphasisDefinition" .s:fg_pdef .s:bg_none .s:fmt_ital +exe "hi! pandocEmphasisNestedDefinition" .s:fg_pdef .s:bg_none .s:fmt_bldi +exe "hi! pandocStrongEmphasisDefinition" .s:fg_pdef .s:bg_none .s:fmt_bold +exe "hi! pandocStrongEmphasisNestedDefinition" .s:fg_pdef.s:bg_none.s:fmt_bldi +exe "hi! pandocStrongEmphasisEmphasisDefinition" .s:fg_pdef.s:bg_none.s:fmt_bldi +exe "hi! pandocStrikeoutDefinition" .s:fg_pdef .s:bg_none .s:fmt_revr +exe "hi! pandocVerbatimInlineDefinition" .s:fg_pdef .s:bg_none .s:fmt_none +exe "hi! pandocSuperscriptDefinition" .s:fg_pdef .s:bg_none .s:fmt_none +exe "hi! pandocSubscriptDefinition" .s:fg_pdef .s:bg_none .s:fmt_none + +" Tables +" --------------------------------------------------------------------- +let s:fg_ptable = s:fg_blue +exe "hi! pandocTable" .s:fg_ptable.s:bg_none .s:fmt_none +exe "hi! pandocTableStructure" .s:fg_ptable.s:bg_none .s:fmt_none +hi! link pandocTableStructureTop pandocTableStructre +hi! link pandocTableStructureEnd pandocTableStructre +exe "hi! pandocTableZebraLight" .s:fg_ptable.s:bg_base03.s:fmt_none +exe "hi! pandocTableZebraDark" .s:fg_ptable.s:bg_base02.s:fmt_none +exe "hi! pandocEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_ital +exe "hi! pandocEmphasisNestedTable" .s:fg_ptable.s:bg_none .s:fmt_bldi +exe "hi! pandocStrongEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_bold +exe "hi! pandocStrongEmphasisNestedTable" .s:fg_ptable.s:bg_none .s:fmt_bldi +exe "hi! pandocStrongEmphasisEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_bldi +exe "hi! pandocStrikeoutTable" .s:fg_ptable.s:bg_none .s:fmt_revr +exe "hi! pandocVerbatimInlineTable" .s:fg_ptable.s:bg_none .s:fmt_none +exe "hi! pandocSuperscriptTable" .s:fg_ptable.s:bg_none .s:fmt_none +exe "hi! pandocSubscriptTable" .s:fg_ptable.s:bg_none .s:fmt_none + +" Headings +" --------------------------------------------------------------------- +let s:fg_phead = s:fg_orange +exe "hi! pandocHeading" .s:fg_phead .s:bg_none.s:fmt_bold +exe "hi! pandocHeadingMarker" .s:fg_yellow.s:bg_none.s:fmt_bold +exe "hi! pandocEmphasisHeading" .s:fg_phead .s:bg_none.s:fmt_bldi +exe "hi! pandocEmphasisNestedHeading" .s:fg_phead .s:bg_none.s:fmt_bldi +exe "hi! pandocStrongEmphasisHeading" .s:fg_phead .s:bg_none.s:fmt_bold +exe "hi! pandocStrongEmphasisNestedHeading" .s:fg_phead .s:bg_none.s:fmt_bldi +exe "hi! pandocStrongEmphasisEmphasisHeading".s:fg_phead .s:bg_none.s:fmt_bldi +exe "hi! pandocStrikeoutHeading" .s:fg_phead .s:bg_none.s:fmt_revr +exe "hi! pandocVerbatimInlineHeading" .s:fg_phead .s:bg_none.s:fmt_bold +exe "hi! pandocSuperscriptHeading" .s:fg_phead .s:bg_none.s:fmt_bold +exe "hi! pandocSubscriptHeading" .s:fg_phead .s:bg_none.s:fmt_bold + +" Links +" --------------------------------------------------------------------- +exe "hi! pandocLinkDelim" .s:fg_base01 .s:bg_none .s:fmt_none +exe "hi! pandocLinkLabel" .s:fg_blue .s:bg_none .s:fmt_undr +exe "hi! pandocLinkText" .s:fg_blue .s:bg_none .s:fmt_undb +exe "hi! pandocLinkURL" .s:fg_base00 .s:bg_none .s:fmt_undr +exe "hi! pandocLinkTitle" .s:fg_base00 .s:bg_none .s:fmt_undi +exe "hi! pandocLinkTitleDelim" .s:fg_base01 .s:bg_none .s:fmt_undi .s:sp_base00 +exe "hi! pandocLinkDefinition" .s:fg_cyan .s:bg_none .s:fmt_undr .s:sp_base00 +exe "hi! pandocLinkDefinitionID" .s:fg_blue .s:bg_none .s:fmt_bold +exe "hi! pandocImageCaption" .s:fg_violet .s:bg_none .s:fmt_undb +exe "hi! pandocFootnoteLink" .s:fg_green .s:bg_none .s:fmt_undr +exe "hi! pandocFootnoteDefLink" .s:fg_green .s:bg_none .s:fmt_bold +exe "hi! pandocFootnoteInline" .s:fg_green .s:bg_none .s:fmt_undb +exe "hi! pandocFootnote" .s:fg_green .s:bg_none .s:fmt_none +exe "hi! pandocCitationDelim" .s:fg_magenta.s:bg_none .s:fmt_none +exe "hi! pandocCitation" .s:fg_magenta.s:bg_none .s:fmt_none +exe "hi! pandocCitationID" .s:fg_magenta.s:bg_none .s:fmt_undr +exe "hi! pandocCitationRef" .s:fg_magenta.s:bg_none .s:fmt_none + +" Main Styles +" --------------------------------------------------------------------- +exe "hi! pandocStyleDelim" .s:fg_base01 .s:bg_none .s:fmt_none +exe "hi! pandocEmphasis" .s:fg_base0 .s:bg_none .s:fmt_ital +exe "hi! pandocEmphasisNested" .s:fg_base0 .s:bg_none .s:fmt_bldi +exe "hi! pandocStrongEmphasis" .s:fg_base0 .s:bg_none .s:fmt_bold +exe "hi! pandocStrongEmphasisNested" .s:fg_base0 .s:bg_none .s:fmt_bldi +exe "hi! pandocStrongEmphasisEmphasis" .s:fg_base0 .s:bg_none .s:fmt_bldi +exe "hi! pandocStrikeout" .s:fg_base01 .s:bg_none .s:fmt_revr +exe "hi! pandocVerbatimInline" .s:fg_yellow .s:bg_none .s:fmt_none +exe "hi! pandocSuperscript" .s:fg_violet .s:bg_none .s:fmt_none +exe "hi! pandocSubscript" .s:fg_violet .s:bg_none .s:fmt_none + +exe "hi! pandocRule" .s:fg_blue .s:bg_none .s:fmt_bold +exe "hi! pandocRuleLine" .s:fg_blue .s:bg_none .s:fmt_bold +exe "hi! pandocEscapePair" .s:fg_red .s:bg_none .s:fmt_bold +exe "hi! pandocCitationRef" .s:fg_magenta.s:bg_none .s:fmt_none +exe "hi! pandocNonBreakingSpace" . s:fg_red .s:bg_none .s:fmt_revr +hi! link pandocEscapedCharacter pandocEscapePair +hi! link pandocLineBreak pandocEscapePair + +" Embedded Code +" --------------------------------------------------------------------- +exe "hi! pandocMetadataDelim" .s:fg_base01 .s:bg_none .s:fmt_none +exe "hi! pandocMetadata" .s:fg_blue .s:bg_none .s:fmt_none +exe "hi! pandocMetadataKey" .s:fg_blue .s:bg_none .s:fmt_none +exe "hi! pandocMetadata" .s:fg_blue .s:bg_none .s:fmt_bold +hi! link pandocMetadataTitle pandocMetadata +" }}} diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/pink-moon.vim b/nvim/plugged/awesome-vim-colorschemes/colors/pink-moon.vim new file mode 100644 index 00000000..0845b034 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/pink-moon.vim @@ -0,0 +1,356 @@ +" Pink Moon Theme + +hi clear + +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = "pink-moon" +set background=dark + +" dark theme background +let s:newmoon = "2a2e38" +" line number background, file explorer selection +let s:halfmoon = "333C47" +" file address background, visual selection +let s:fullmoon = "434852" + +let s:salmon = "D08785" +let s:pink = "FCDBD9" + +let s:deep_sea_blue = "6d7b8b" +let s:teal = "6F98B3" +" let s:sea_blue = 9DB1C7 +let s:shallow_blue = "a6b8cc" + +let s:yellow = "FDF8CE" +let s:starlight = "F0FDFF" + +let s:cliquot = "FFd17f" + +" There are colors for Neovim's terminal emulator +if has("nvim") + let g:terminal_color_0 = "#252932" + let g:terminal_color_1 = "#9dd6f4" + let g:terminal_color_2 = "#6E7B87" + let g:terminal_color_3 = "#5F7C99" + let g:terminal_color_4 = "#edd98f" + let g:terminal_color_5 = "#f8f8f2" + let g:terminal_color_6 = "#9dd6f4" + let g:terminal_color_7 = "#f8f8f2" + let g:terminal_color_8 = "#edd98f" + let g:terminal_color_9 = "#608DAB" + let g:terminal_color_10 = "#f8f8f2" + let g:terminal_color_11 = "#9dd6f4" + let g:terminal_color_12 = "#608DAB" + let g:terminal_color_13 = "#5673BE" + let g:terminal_color_14 = "#5673BE" + let g:terminal_color_15 = "#5673BE" + let g:terminal_color_16 ="#333C47" + let g:terminal_color_background="#333C47" + let g:terminal_color_foreground="#eee" +endif + +" Terminal color definitions + +" dark theme background: 25,25,25 +let s:cterm00 = "00" + +" comments, inactive vim window text: 128, 167, 140 +let s:cterm03 = "02" + +" puts, parameters, and method calls: 248,248,242 +let s:cterm05 = "07" + +" light theme background +let s:cterm07 = "15" + +" instance variables, Python defs (and maybe if / elses): 236, 105, 32 +let s:cterm08 = "11" + +" class names, object names, while, end, template variables: 236, 215, 149 +let s:cterm0A = "11" + +" Ruby strings: 161,215,242 +let s:cterm0B = "12" + +" hex colors: 115, 228, 246 +let s:cterm0C = "14" + +" method names in definitions: 247,197,39 +let s:cterm0D = "03" + +" ruby def: 236, 105, 32 +let s:cterm0E = "09" + + +if exists('base16colorspace') && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + " Vim inactive window name background + let s:cterm01 = "08" + + " Light background markdown text color plus + " Vim window borders and active widnow background + let s:cterm02 = "08" + + " Active vim window name (text) + let s:cterm04 = "03" + + " vim borders in light mode" + let s:cterm06 = "00" + + " integer: 115, 228, 246 + let s:cterm09 = "14" + + " backticks in markdown, probably some other stuff + let s:cterm0F = "03" +endif + + +" Highlighting function +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr) + if a:guifg != "" + exec "hi " . a:group . " guifg=#" . s:gui(a:guifg) + endif + if a:guibg != "" + exec "hi " . a:group . " guibg=#" . s:gui(a:guibg) + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . s:cterm(a:ctermfg) + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . s:cterm(a:ctermbg) + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif +endfun + +" Return GUI color for light/dark variants +fun s:gui(color) + if &background == "dark" + return a:color + endif + + if a:color == s:newmoon + return s:cliquot + elseif a:color == s:halfmoon + return s:shallow_blue + elseif a:color == s:fullmoon + return s:starlight + elseif a:color == s:shallow_blue + return s:pink + elseif a:color == s:pink + return s:shallow_blue + elseif a:color == s:starlight + return s:fullmoon + elseif a:color == s:shallow_blue + return s:halfmoon + elseif a:color == s:cliquot + return s:newmoon + endif + + return a:color +endfun + +" Return terminal color for light/dark variants +fun s:cterm(color) + if &background == "dark" + return a:color + endif + + if a:color == s:cterm00 + return s:cterm07 + elseif a:color == s:cterm01 + return s:cterm06 + elseif a:color == s:cterm02 + return s:cterm05 + elseif a:color == s:cterm03 + return s:cterm04 + elseif a:color == s:cterm04 + return s:cterm03 + elseif a:color == s:cterm05 + return s:cterm02 + elseif a:color == s:cterm06 + return s:cterm01 + elseif a:color == s:cterm07 + return s:cterm00 + endif + + return a:color +endfun + +" Vim editor colors +call <sid>hi("Bold", "", "", "", "", "bold") +call <sid>hi("Debug", s:salmon, "", s:cterm08, "", "") +call <sid>hi("Directory", s:pink, "", s:cterm0D, "", "") +call <sid>hi("ErrorMsg", s:salmon, s:newmoon, s:cterm08, s:cterm00, "") +call <sid>hi("Exception", s:salmon, "", s:cterm08, "", "") +call <sid>hi("FoldColumn", "", s:halfmoon, "", s:cterm01, "") +call <sid>hi("Folded", s:shallow_blue, s:halfmoon, s:cterm03, s:cterm01, "") +call <sid>hi("IncSearch", s:halfmoon, s:teal, s:cterm01, s:cterm09, "none") +call <sid>hi("Italic", "", "", "", "", "none") +call <sid>hi("Macro", s:salmon, "", s:cterm08, "", "") +call <sid>hi("MatchParen", s:newmoon, s:shallow_blue, s:cterm00, s:cterm03, "") +call <sid>hi("ModeMsg", s:yellow, "", s:cterm0B, "", "") +call <sid>hi("MoreMsg", s:yellow, "", s:cterm0B, "", "") +call <sid>hi("Question", s:teal, "", s:cterm09, "", "") +call <sid>hi("Search", s:shallow_blue, s:pink, s:cterm03, s:cterm0A, "") +call <sid>hi("SpecialKey", s:shallow_blue, "", s:cterm03, "", "") +call <sid>hi("TooLong", s:salmon, "", s:cterm08, "", "") +call <sid>hi("Underlined", s:salmon, "", s:cterm08, "", "") +call <sid>hi("Visual", "", s:fullmoon, "", s:cterm02, "") +call <sid>hi("VisualNOS", s:salmon, "", s:cterm08, "", "") +call <sid>hi("WarningMsg", s:salmon, "", s:cterm08, "", "") +call <sid>hi("WildMenu", s:salmon, "", s:cterm08, "", "") +call <sid>hi("Title", s:pink, "", s:cterm0D, "", "none") +call <sid>hi("Conceal", s:pink, s:newmoon, s:cterm0D, s:cterm00, "") +call <sid>hi("Cursor", s:newmoon, s:starlight, s:cterm00, s:cterm05, "") +call <sid>hi("NonText", s:shallow_blue, "", s:cterm03, "", "") +call <sid>hi("Normal", s:starlight, s:newmoon, s:cterm05, s:cterm00, "") +call <sid>hi("LineNr", s:shallow_blue, s:halfmoon, s:cterm03, s:cterm01, "") +call <sid>hi("SignColumn", s:shallow_blue, s:halfmoon, s:cterm03, s:cterm01, "") +call <sid>hi("SpecialKey", s:shallow_blue, "", s:cterm03, "", "") +call <sid>hi("StatusLine", s:pink, s:fullmoon, s:cterm04, s:cterm02, "none") +call <sid>hi("StatusLineNC", s:shallow_blue, s:halfmoon, s:cterm03, s:cterm01, "none") +call <sid>hi("VertSplit", s:fullmoon, s:fullmoon, s:cterm02, s:cterm02, "none") +call <sid>hi("ColorColumn", "", s:halfmoon, "", s:cterm01, "none") +call <sid>hi("CursorColumn", "", s:halfmoon, "", s:cterm01, "none") +call <sid>hi("CursorLine", "", s:halfmoon, "", s:cterm01, "none") +call <sid>hi("CursorLineNr", s:pink, s:fullmoon, s:cterm03, s:cterm01, "") +call <sid>hi("PMenu", s:pink, s:halfmoon, s:cterm04, s:cterm01, "none") +call <sid>hi("PMenuSel", s:halfmoon, s:pink, s:cterm01, s:cterm04, "") +call <sid>hi("TabLine", s:shallow_blue, s:halfmoon, s:cterm03, s:cterm01, "none") +call <sid>hi("TabLineFill", s:shallow_blue, s:halfmoon, s:cterm03, s:cterm01, "none") +call <sid>hi("TabLineSel", s:yellow, s:halfmoon, s:cterm0B, s:cterm01, "none") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:teal, "", s:cterm09, "", "") +call <sid>hi("Character", s:salmon, "", s:cterm08, "", "") +call <sid>hi("Comment", s:deep_sea_blue, "", s:cterm03, "", "") +call <sid>hi("Conditional", s:teal, "", s:cterm0E, "", "") +call <sid>hi("Constant", s:salmon, "", s:cterm09, "", "") +call <sid>hi("Define", s:teal, "", s:cterm0E, "", "none") +call <sid>hi("Delimiter", s:starlight, "", s:cterm0F, "", "") +call <sid>hi("Float", s:teal, "", s:cterm09, "", "") +call <sid>hi("Function", s:pink, "", s:cterm0D, "", "") +call <sid>hi("Identifier", s:salmon, "", s:cterm08, "", "none") +call <sid>hi("Include", s:pink, "", s:cterm0D, "", "") +call <sid>hi("Keyword", s:salmon, "", s:cterm0E, "", "") +call <sid>hi("Label", s:pink, "", s:cterm0A, "", "") +call <sid>hi("Number", s:shallow_blue, "", s:cterm09, "", "") +call <sid>hi("Operator", s:salmon, "", s:cterm05, "", "none") +call <sid>hi("PreProc", s:pink, "", s:cterm0A, "", "") +call <sid>hi("Repeat", s:pink, "", s:cterm0A, "", "") +call <sid>hi("Special", s:cliquot, "", s:cterm0C, "", "") +call <sid>hi("SpecialChar", s:cliquot, "", s:cterm0F, "", "") +call <sid>hi("Statement", s:teal, "", s:cterm08, "", "") +call <sid>hi("StorageClass", s:pink, "", s:cterm0A, "", "") +call <sid>hi("String", s:yellow, "", s:cterm0B, "", "") +call <sid>hi("Structure", s:teal, "", s:cterm0E, "", "") +call <sid>hi("Tag", s:pink, "", s:cterm0A, "", "") +call <sid>hi("Todo", s:pink, s:halfmoon, s:cterm0A, s:cterm01, "") +call <sid>hi("Type", s:teal, "", s:cterm09, "", "none") +call <sid>hi("Typedef", s:pink, "", s:cterm0A, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", s:newmoon, "", s:cterm00, "undercurl") +call <sid>hi("SpellLocal", "", s:newmoon, "", s:cterm00, "undercurl") +call <sid>hi("SpellCap", "", s:newmoon, "", s:cterm00, "undercurl") +call <sid>hi("SpellRare", "", s:newmoon, "", s:cterm00, "undercurl") + +" Additional diff highlighting +call <sid>hi("DiffAdd", s:yellow, s:newmoon, s:cterm0B, s:cterm00, "") +call <sid>hi("DiffChange", s:pink, s:newmoon, s:cterm0D, s:cterm00, "") +call <sid>hi("DiffDelete", s:salmon, s:newmoon, s:cterm08, s:cterm00, "") +call <sid>hi("DiffText", s:pink, s:newmoon, s:cterm0D, s:cterm00, "") +call <sid>hi("DiffAdded", s:yellow, s:newmoon, s:cterm0B, s:cterm00, "") +call <sid>hi("DiffFile", s:salmon, s:newmoon, s:cterm08, s:cterm00, "") +call <sid>hi("DiffNewFile", s:yellow, s:newmoon, s:cterm0B, s:cterm00, "") +call <sid>hi("DiffLine", s:pink, s:newmoon, s:cterm0D, s:cterm00, "") +call <sid>hi("DiffRemoved", s:salmon, s:newmoon, s:cterm08, s:cterm00, "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:pink, "", s:cterm0D, "", "") +call <sid>hi("rubyConstant", s:pink, "", s:cterm0A, "", "") +call <sid>hi("rubyInterpolation", s:pink, "", s:cterm0B, "", "") +call <sid>hi("rubyInterpolationDelimiter", s:teal, "", s:cterm0F, "", "") +call <sid>hi("rubyRegexp", s:yellow, "", s:cterm0C, "", "") +call <sid>hi("rubySymbol", s:salmon, "", s:cterm0B, "", "") +call <sid>hi("rubyStringDelimiter", s:yellow, "", s:cterm0B, "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:starlight, "", s:cterm05, "", "") +call <sid>hi("phpComparison", s:starlight, "", s:cterm05, "", "") +call <sid>hi("phpParent", s:starlight, "", s:cterm05, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:pink, "", s:cterm0A, "", "") +call <sid>hi("htmlItalic", s:teal, "", s:cterm0E, "", "") +call <sid>hi("htmlEndTag", s:starlight, "", s:cterm05, "", "") +call <sid>hi("htmlTag", s:starlight, "", s:cterm05, "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:starlight, "", s:cterm05, "", "") +call <sid>hi("cssClassName", s:salmon, "", s:cterm0E, "", "") +call <sid>hi("cssClassNameDot", s:salmon, "", s:cterm0E, "", "") +call <sid>hi("cssPseudoClassId", s:salmon, "", s:cterm0E, "", "") +call <sid>hi("cssTagName", s:salmon, "", s:cterm0E, "", "") +call <sid>hi("cssColor", s:yellow, "", s:cterm0C, "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:salmon, "", s:cterm08, "", "") +call <sid>hi("sassClassChar", s:teal, "", s:cterm09, "", "") +call <sid>hi("sassInclude", s:teal, "", s:cterm0E, "", "") +call <sid>hi("sassMixing", s:teal, "", s:cterm0E, "", "") +call <sid>hi("sassMixinName", s:pink, "", s:cterm0D, "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:starlight, "", s:cterm05, "", "") +call <sid>hi("javaScriptBraces", s:starlight, "", s:cterm05, "", "") +call <sid>hi("javaScriptNumber", s:teal, "", s:cterm09, "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:teal, "", s:cterm0E, "", "") +call <sid>hi("pythonRepeat", s:teal, "", s:cterm0E, "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:yellow, "", s:cterm0B, "", "") +call <sid>hi("markdownError", s:starlight, s:newmoon, s:cterm05, s:cterm00, "") +call <sid>hi("markdownCodeBlock", s:yellow, "", s:cterm0B, "", "") +call <sid>hi("markdownHeadingDelimiter", s:pink, "", s:cterm0D, "", "") + +" Git highlighting +call <sid>hi("gitCommitOverflow", s:salmon, "", s:cterm08, "", "") +call <sid>hi("gitCommitSummary", s:yellow, "", s:cterm0B, "", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:yellow, s:halfmoon, s:cterm0B, s:cterm01, "") +call <sid>hi("GitGutterChange", s:pink, s:halfmoon, s:cterm0D, s:cterm01, "") +call <sid>hi("GitGutterDelete", s:salmon, s:halfmoon, s:cterm08, s:cterm01, "") +call <sid>hi("GitGutterChangeDelete", s:teal, s:halfmoon, s:cterm0E, s:cterm01, "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:yellow, s:halfmoon, s:cterm0B, s:cterm01, "") +call <sid>hi("SignifySignChange", s:pink, s:halfmoon, s:cterm0D, s:cterm01, "") +call <sid>hi("SignifySignDelete", s:salmon, s:halfmoon, s:cterm08, s:cterm01, "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:pink, "", s:cterm0D, "", "") +call <sid>hi("NERDTreeExecFile", s:starlight, "", s:cterm05, "", "") + +" Remove functions +delf <sid>hi +delf <sid>gui +delf <sid>cterm + +" Remove color variables +unlet s:newmoon s:halfmoon s:fullmoon s:shallow_blue s:pink s:starlight s:cliquot s:salmon s:teal s:yellow +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/purify.vim b/nvim/plugged/awesome-vim-colorschemes/colors/purify.vim new file mode 100644 index 00000000..125f9fcc --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/purify.vim @@ -0,0 +1,654 @@ +" ============================================================================== +" Name: purify +" Author: Kyoz +" Repository: https://github.com/kyoz/purify/ +" License: The MIT License (MIT) +" Copyright: Kyoz (banminkyoz@gmail.com) +" +" Clean and beautiful colorscheme for vim (neovim) +" ============================================================================== + +highlight clear + +if exists('syntax_on') + syntax reset +endif + +set background=dark + +if &term == 'screen' + set t_Co=256 +endif + +let g:colors_name = 'purify' + +" Color Defines {{{ + +let s:colors = purify#get_colors() + +" Main colors +let s:black = s:colors.black +let s:white = s:colors.white +let s:red = s:colors.red +let s:green = s:colors.green +let s:blue = s:colors.blue +let s:yellow = s:colors.yellow +let s:pink = s:colors.pink +let s:salmon = s:colors.salmon +let s:purple = s:colors.purple +let s:dark_yellow = s:colors.dark_yellow + +" Other colors +let s:comment_grey = s:colors.comment_grey +let s:cursor_grey = s:colors.cursor_grey +let s:gutter_grey_fg = s:colors.gutter_grey_fg +let s:blur_grey = s:colors.blur_grey +let s:menu_grey = s:colors.menu_grey +let s:visual_grey = s:colors.visual_grey +let s:visual_black = s:colors.visual_black +let s:none = s:colors.none + +" }}} + +" Styles Defines {{{ + +if !exists('g:purify_bold') + let g:purify_bold = 1 +endif + +if !exists('g:purify_italic') + let g:purify_italic = 1 +endif + +if !exists('g:purify_underline') + let g:purify_underline = 1 +endif + +if !exists('g:purify_undercurl') && g:purify_underline != 0 + let g:purify_undercurl = 1 +endif + +if !exists('g:purify_inverse') + let g:purify_inverse = 1 +endif + +let s:styles = { + \ 'bold': g:purify_bold == 1 ? 'bold' : 0, + \ 'italic': g:purify_italic == 1 ? 'italic' : 0, + \ 'underline': g:purify_underline == 1 ? 'underline' : 0, + \ 'undercurl': g:purify_undercurl == 1 ? 'undercurl' : 0, + \ 'inverse': g:purify_inverse == 1 ? 'inverse' : 0, + \ } + +" }}} + +" Functions {{{ + +function! s:hi(group_name, options) + let l:fg = has_key(a:options, 'fg') ? copy(a:options.fg) : s:none + let l:bg = has_key(a:options, 'bg') ? a:options.bg : s:none + let l:sp = has_key(a:options, 'sp') ? a:options.sp : s:none + let l:style_list = filter(has_key(a:options, 'styles') ? a:options.styles : [], 'type(v:val) == 1') + let l:styles = len(l:style_list) > 0 ? join(l:style_list, ',') : 'NONE' + + if l:sp.gui !=# 'NONE' && l:fg.gui ==# 'NONE' && !has('gui_running') + let l:fg = copy(l:sp) + endif + + execute 'highlight!' a:group_name + \ 'guifg=' l:fg.gui 'ctermfg=' l:fg.cterm + \ 'guibg=' l:bg.gui 'ctermbg=' l:bg.cterm + \ 'gui=' l:styles 'cterm=' l:styles + \ 'guisp=' l:sp.gui +endfunction + +" }}} + +" Syntax Groups (:h w18) {{{ + +call s:hi('Comment', { 'fg': s:comment_grey, 'styles': [s:styles.italic] }) + +call s:hi('Constant', { 'fg': s:yellow }) +call s:hi('String', { 'fg': s:yellow }) +call s:hi('Character', { 'fg': s:pink }) +call s:hi('Number', { 'fg': s:salmon }) +call s:hi('Boolean', { 'fg': s:salmon }) +call s:hi('Float', { 'fg': s:salmon }) + +call s:hi('Identifier', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('Function', { 'fg': s:blue }) + +call s:hi('Statement', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('Conditional', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('Repeat', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('Label', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('Operator', { 'fg': s:pink }) +call s:hi('Keyword', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('Exception', { 'fg': s:pink, 'styles': [s:styles.italic] }) + +call s:hi('PreProc', { 'fg': s:pink }) +call s:hi('Include', { 'fg': s:pink }) +call s:hi('Define', { 'fg': s:pink }) +call s:hi('Macro', { 'fg': s:pink }) +call s:hi('PreCondit', { 'fg': s:pink }) + +call s:hi('Type', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('StorageClass', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('Structure', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('Typedef', { 'fg': s:green, 'styles': [s:styles.italic] }) + + +call s:hi('Special', { 'fg': s:yellow }) +call s:hi('SpecialChar', { 'fg': s:salmon, 'styles': [s:styles.underline] }) +call s:hi('Tag', { 'fg': s:yellow, 'styles': [s:styles.underline] }) +call s:hi('Delimiter', { 'fg': s:pink }) +call s:hi('SpecialComment', { 'fg': s:salmon, 'styles': [s:styles.underline] }) +call s:hi('Debug', { 'fg': s:yellow }) + + +call s:hi('Underlined', { 'fg': s:blue }) +call s:hi('Ignore', {}) +call s:hi('Error', { 'fg': s:white, 'bg': s:red }) +call s:hi('Todo', { 'fg': s:black, 'bg': s:yellow }) + +" }}} + +" Highlighting Groups (:h highlight-groups) {{{ + +call s:hi('ColorColumn', { 'bg': s:cursor_grey }) +call s:hi('Conceal', {}) +call s:hi('Cursor', { 'fg': s:black, 'bg': s:blue }) +call s:hi('CursorIM', {}) +call s:hi('CursorColumn', {}) +call s:hi('CursorLine', { 'styles': [s:styles.underline] }) +call s:hi('Directory', { 'fg': s:blue }) +call s:hi('DiffAdd', { 'fg': s:black, 'bg': s:green }) +call s:hi('DiffChange', { 'fg': s:black, 'bg': s:yellow }) +call s:hi('DiffDelete', { 'fg': s:black, 'bg': s:salmon }) +call s:hi('DiffText', { 'fg': s:yellow, 'bg': s:black }) +call s:hi('ErrorMsg', { 'fg': s:salmon }) +call s:hi('VertSplit', { 'fg': s:pink }) +call s:hi('Folded', { 'fg': s:comment_grey }) +call s:hi('FoldColumn', {}) +call s:hi('SignColumn', {}) +call s:hi('IncSearch', { 'fg': s:yellow, 'bg': s:comment_grey }) +call s:hi('LineNr', { 'fg': s:gutter_grey_fg }) +call s:hi('CursorLineNr', { 'fg': s:yellow }) +call s:hi('MatchParen', { 'fg': s:blue, 'styles': [s:styles.underline] }) +call s:hi('ModeMsg', {}) +call s:hi('MoreMsg', {}) +call s:hi('NonText', { 'fg': s:blur_grey }) +call s:hi('Normal', {}) +call s:hi('Pmenu', { 'bg': s:menu_grey }) +call s:hi('PmenuSel', { 'fg': s:black, 'bg': s:blue }) +call s:hi('PmenuSbar', { 'bg': s:blur_grey }) +call s:hi('PmenuThumb', { 'bg': s:pink }) +call s:hi('Question', { 'fg': s:pink }) +call s:hi('Search', { 'fg': s:blur_grey, 'bg': s:yellow }) +call s:hi('QuickFixLine', { 'fg': s:blur_grey, 'bg': s:blue }) +call s:hi('SpecialKey', { 'fg': s:blur_grey }) +call s:hi('SpellBad', { 'fg': s:salmon, 'styles': [s:styles.underline] }) +call s:hi('SpellCap', { 'fg': s:dark_yellow }) +call s:hi('SpellLocal', { 'fg': s:dark_yellow }) +call s:hi('SpellRare', { 'fg': s:dark_yellow }) +call s:hi('StatusLine', { 'fg': s:white, 'bg': s:cursor_grey }) +call s:hi('StatusLineNC', { 'fg': s:comment_grey }) +call s:hi('TabLine', { 'fg': s:comment_grey }) +call s:hi('TabLineFill', {}) +call s:hi('TabLineSel', { 'fg': s:white }) +call s:hi('Title', { 'fg': s:green }) +call s:hi('Visual', { 'fg': s:visual_black, 'bg': s:visual_grey }) +call s:hi('VisualNOS', { 'bg': s:visual_grey }) +call s:hi('WarningMsg', { 'fg': s:yellow }) +call s:hi('WildMenu', { 'fg': s:black, 'bg': s:blue }) + +" }}} + +" Languages {{{ + +" HTML {{{ + +call s:hi('htmlError', { 'fg': s:salmon }) +call s:hi('htmlString', { 'fg': s:yellow }) +call s:hi('htmlValue', { 'fg': s:yellow }) +call s:hi('htmlEndTag', { 'fg': s:blue }) +call s:hi('htmlTag', { 'fg': s:blue }) +call s:hi('htmlTagN', { 'fg': s:blue }) +call s:hi('htmlTagError', { 'fg': s:salmon }) + +call s:hi('htmlTagName', { 'fg': s:pink }) +call s:hi('htmlSpecialChar', { 'fg': s:salmon }) +call s:hi('htmlSpecialTagName', { 'fg': s:salmon, 'styles': [s:styles.italic] }) +call s:hi('htmlArg', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('htmlEvent', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('htmlEventSQ', { 'fg': s:salmon, 'styles': [s:styles.italic] }) +call s:hi('htmlEventDQ', { 'fg': s:salmon, 'styles': [s:styles.italic] }) + +call s:hi('htmlComment', { 'fg': s:comment_grey }) +call s:hi('htmlCommentError', { 'fg': s:salmon }) + +function! s:overwrite_html_highlight() + call s:hi('javaScript', { 'fg': s:white }) +endfunction + +augroup purify_html + autocmd! + autocmd Filetype html call s:overwrite_html_highlight() +augroup END + +" }}} + +" CSS {{{ + +call s:hi('cssAttrComma', { 'fg': s:pink }) +call s:hi('cssAttributeSelector', { 'fg': s:green }) +call s:hi('cssBraces', { 'fg': s:blue }) +call s:hi('cssComment', { 'fg': s:comment_grey, 'styles': [s:styles.italic] }) +call s:hi('cssClassName', { 'fg': s:yellow, 'styles': [s:styles.italic] }) +call s:hi('cssClassNameDot', { 'fg': s:pink }) +call s:hi('cssDefinition', { 'fg': s:yellow }) +call s:hi('cssFontAttr', { 'fg': s:yellow }) +call s:hi('cssFontDescriptor', { 'fg': s:yellow }) +call s:hi('cssFunctionName', { 'fg': s:blue }) +call s:hi('cssIdentifier', { 'fg': s:blue }) +call s:hi('cssImportant', { 'fg': s:yellow }) +call s:hi('cssInclude', { 'fg': s:white }) +call s:hi('cssIncludeKeyword', { 'fg': s:yellow }) +call s:hi('cssMediaType', { 'fg': s:yellow }) +call s:hi('cssProp', { 'fg': s:white }) +call s:hi('cssPseudoClassId', { 'fg': s:blue }) +call s:hi('cssSelectorOp', { 'fg': s:blue }) +call s:hi('cssSelectorOp2', { 'fg': s:blue }) +call s:hi('cssTagName', { 'fg': s:pink, 'styles': [s:styles.italic] }) + +" }}} + +" SASS {{{ + +call s:hi('sassAmpersand', { 'fg': s:salmon }) +call s:hi('sassClass', { 'fg': s:yellow, 'styles': [s:styles.italic] }) +call s:hi('sassClassChar', { 'fg': s:pink }) +call s:hi('sassControl', { 'fg': s:blue }) +call s:hi('sassFunctionDecl', { 'fg': s:pink }) +call s:hi('sassExtend', { 'fg': s:blue }) +call s:hi('sassFor', { 'fg': s:white }) +call s:hi('sassFunction', { 'fg': s:blue }) +call s:hi('sassId', { 'fg': s:blue }) +call s:hi('sassInclude', { 'fg': s:blue }) +call s:hi('sassMedia', { 'fg': s:blue }) +call s:hi('sassMediaOperators', { 'fg': s:white }) +call s:hi('sassMixin', { 'fg': s:blue }) +call s:hi('sassMixinName', { 'fg': s:blue }) +call s:hi('sassMixing', { 'fg': s:blue }) +call s:hi('sassVariable', { 'fg': s:green }) + +" }}} + +" SCSS {{{ + +call s:hi('scssExtend', { 'fg': s:blue }) +call s:hi('scssImport', { 'fg': s:blue }) +call s:hi('scssInclude', { 'fg': s:blue }) +call s:hi('scssMixin', { 'fg': s:blue }) +call s:hi('scssSelectorName', { 'fg': s:yellow }) +call s:hi('scssVariable', { 'fg': s:green }) + +" }}} + +" LESS {{{ + +call s:hi('lessClass', { 'fg': s:yellow, 'styles': [s:styles.italic] }) +call s:hi('lessClassChar', { 'fg': s:pink }) + +" }}} + +" JSON {{{ + +call s:hi('jsonBraces', { 'fg': s:blue }) +call s:hi('jsonString', { 'fg': s:green }) +call s:hi('jsonNoise', { 'fg': s:pink }) +call s:hi('jsonKeyword', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('jsonKeywordMatch', { 'fg': s:white, 'styles': [s:styles.italic] }) +call s:hi('jsonEscape', { 'fg': s:salmon }) + +call s:hi('jsonStringSQError', { 'fg': s:red }) +call s:hi('jsonSemicolonError', { 'fg': s:red }) +call s:hi('jsonTrailingCommaError', { 'fg': s:red }) +call s:hi('jsonMissingCommaError', { 'fg': s:red }) + +" }}} + +" XML {{{ + +call s:hi('xmlTagName', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('xmlTag', { 'fg': s:blue }) +call s:hi('xmlEndTag', { 'fg': s:pink }) +call s:hi('xmlNamespace', { 'fg': s:blue }) +call s:hi('xmlString', { 'fg': s:yellow }) +call s:hi('xmlAttrib', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('xmlComment', { 'fg': s:comment_grey }) +call s:hi('xmlError', { 'fg': s:red }) +call s:hi('xmlEntity', { 'fg': s:red }) +" TODO: need regex to add syntax for close tag ( </ > ) + +" }}} + +" JAVASCRIPT {{{ + +call s:hi('javaScriptComment', { 'fg': s:comment_grey, 'styles': [s:styles.italic] }) +call s:hi('javaScriptLineComment', { 'fg': s:comment_grey, 'styles': [s:styles.italic] }) +call s:hi('javaScriptCommentTodo', { 'fg': s:black, 'bg': s:yellow }) + +call s:hi('javaScriptSpecial', { 'fg': s:yellow }) +call s:hi('javaScriptStringS', { 'fg': s:yellow }) +call s:hi('javaScriptStringD', { 'fg': s:yellow }) +call s:hi('javaScriptCharacter', { 'fg': s:yellow }) +call s:hi('javaScriptSpecialCharacter', { 'fg': s:yellow }) +call s:hi('javaScriptType', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('javaScriptOperator', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('javaScriptNull', { 'fg': s:salmon }) +call s:hi('javaScriptNumber', { 'fg': s:salmon }) +call s:hi('javaScriptRegexpString', { 'fg': s:yellow }) + +call s:hi('javaScriptStatement', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('javaScriptFunction', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('javaScriptBraces', { 'fg': s:blue }) +call s:hi('javaScriptParens', { 'fg': s:pink }) +call s:hi('javaScriptError', { 'fg': s:white, 'bg': s:red }) +call s:hi('javaScrParenError', { 'fg': s:white, 'bg': s:red }) + +call s:hi('javaScriptException', { 'fg': s:yellow, 'styles': [s:styles.italic] }) +call s:hi('javaScriptGlobal', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('javaScriptMember', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('javaScriptDeprecated', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('javaScriptReserved', { 'fg': s:blue, 'styles': [s:styles.italic] }) + +function! s:overwrite_javascript_highlight() + silent! syn clear javaScriptIdentifier + silent! syn clear javaScriptReserved + call s:hi('javascriptEndColons', { 'fg': s:pink }) + call s:hi('javascriptLogicSymbols', { 'fg': s:salmon }) + call s:hi('javascriptOpSymbols', { 'fg': s:pink }) + call s:hi('javascriptLabel', { 'fg': s:pink, 'styles': [s:styles.italic] }) + call s:hi('javaScriptThis', { 'fg': s:blue, 'styles': [s:styles.italic] }) + call s:hi('javaScriptCustomIdentifier', { 'fg': s:green, 'styles': [s:styles.italic] }) + call s:hi('javaScriptCustomReserved', { 'fg': s:blue, 'styles': [s:styles.italic] }) +endfunction + +augroup purify_javascript + autocmd! + autocmd Filetype javascript call s:overwrite_javascript_highlight() +augroup END + +" }}} + +" TYPESCRIPT {{{ + +" https://github.com/leafgarland/typescript-vim/pull/166 +let g:typescript_ignore_browserwords = 1 + +" https://github.com/leafgarland/typescript-vim +call s:hi('typescriptBrowserObjects', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('typescriptDOMObjects', { 'fg': s:blue, 'styles': [s:styles.italic] }) + +call s:hi('typescriptExceptions', { 'fg': s:yellow, 'styles': [s:styles.italic] }) +call s:hi('typescriptFuncKeyword', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('typescriptReserved', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('typescriptOperator', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('typescriptOpSymbols', { 'fg': s:pink }) +call s:hi('typescriptLogicSymbols', { 'fg': s:salmon }) +call s:hi('typescriptEndColons', { 'fg': s:pink }) + +" }}} + +" PYTHON {{{ + +call s:hi('pythonStatement', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('pythonConditional', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('pythonRepeat', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('pythonOperator', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('pythonException', { 'fg': s:yellow, 'styles': [s:styles.italic] }) +call s:hi('pythonInclude', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('pythonAsync', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('pythonDecorator', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('pythonDecoratorName', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('pythonFunction', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('pythonComment', { 'fg': s:comment_grey, 'styles': [s:styles.italic] }) +call s:hi('pythonTodo', { 'fg': s:blur_grey, 'bg': s:yellow }) +call s:hi('pythonString', { 'fg': s:yellow }) +call s:hi('pythonRawString', { 'fg': s:yellow }) +call s:hi('pythonNumber', { 'fg': s:salmon }) +call s:hi('pythonBuiltin', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('pythonExceptions', { 'fg': s:salmon }) +call s:hi('pythonSpaceError', { 'fg': s:red }) + +function! s:overwrite_python_highlight() + call s:hi('pythonBraces', { 'fg': s:blue }) + call s:hi('pythonParens', { 'fg': s:pink }) + call s:hi('pythonOpSymbols', { 'fg': s:pink }) + call s:hi('pythonEndColons', { 'fg': s:pink }) + call s:hi('pythonLogicSymbols', { 'fg': s:blue }) +endfunction + +augroup purify_python + autocmd! + autocmd Filetype python call s:overwrite_python_highlight() +augroup END + +" }}} + +" GO {{{ + +call s:hi('goDirective', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('goDeclaration', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('goDeclType', { 'fg': s:blue, 'styles': [s:styles.italic] }) + +call s:hi('goStatement', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('goConditional', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('goLabel', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('goRepeat', { 'fg': s:pink, 'styles': [s:styles.italic] }) + +call s:hi('goType', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('goSignedInts', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('goUnsignedInts', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('goFloats', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('goComplexes', { 'fg': s:green, 'styles': [s:styles.italic] }) + +call s:hi('goBuiltins', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('goConstants', { 'fg': s:salmon, 'styles': [s:styles.italic] }) +call s:hi('goCharacter', { 'fg': s:yellow }) + +function! s:overwrite_go_highlight() + call s:hi('goDeclarationOverwrite', { 'fg': s:green, 'styles': [s:styles.italic] }) + call s:hi('goBraces', { 'fg': s:blue }) + call s:hi('goParens', { 'fg': s:pink }) + call s:hi('goOpSymbols', { 'fg': s:pink }) + call s:hi('goEndColons', { 'fg': s:pink }) + call s:hi('goLogicSymbols', { 'fg': s:blue }) +endfunction + +augroup purify_go + autocmd! + autocmd Filetype go call s:overwrite_go_highlight() +augroup END + +" }}} + +" C {{{ + +call s:hi('cStatement', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('cLabel', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('cConditional', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('cRepeat', { 'fg': s:pink, 'styles': [s:styles.italic] }) + +call s:hi('cTodo', { 'fg': s:blur_grey, 'bg': s:yellow }) +call s:hi('cBadContinuation', { 'fg': s:red }) +call s:hi('cSpecial', { 'fg': s:salmon }) + +call s:hi('cFormat', { 'fg': s:yellow }) +call s:hi('cString', { 'fg': s:yellow }) +call s:hi('cCppString', { 'fg': s:yellow }) +call s:hi('cCppSkip', { 'fg': s:yellow }) +call s:hi('cCharacter', { 'fg': s:salmon }) +call s:hi('cSpecialCharacter', { 'fg': s:salmon }) +call s:hi('cSpecialError', { 'fg': s:red }) +call s:hi('cSpaceError', { 'bg': s:red }) + +call s:hi('cComment', { 'fg': s:comment_grey, 'styles': [s:styles.italic] }) +call s:hi('cType', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('cStructure', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('cStorageClass', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('cConstant', { 'fg': s:salmon }) + +call s:hi('cDefine', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('cInclude', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('cIncluded', { 'fg': s:yellow }) + +function! s:overwrite_c_highlight() + call s:hi('cDeclarationOverwrite', { 'fg': s:green, 'styles': [s:styles.italic] }) + call s:hi('cBraces', { 'fg': s:blue }) + call s:hi('cParens', { 'fg': s:pink }) + call s:hi('cOpSymbols', { 'fg': s:pink }) + call s:hi('cEndColons', { 'fg': s:pink }) + call s:hi('cLogicSymbols', { 'fg': s:blue }) +endfunction + +augroup purify_c + autocmd! + autocmd Filetype c call s:overwrite_c_highlight() +augroup END + +" }}} + +" CPP {{{ + +call s:hi('cppStatement', { 'fg': s:pink, 'styles': [s:styles.italic] }) +call s:hi('cppAccess', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('cppModifier', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('cppType', { 'fg': s:green, 'styles': [s:styles.italic] }) +call s:hi('cppExceptions', { 'fg': s:yellow, 'styles': [s:styles.italic] }) +call s:hi('cppOperator', { 'fg': s:salmon, 'styles': [s:styles.italic] }) +call s:hi('cppStructure', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('cppConstant', { 'fg': s:salmon, 'styles': [s:styles.italic] }) +call s:hi('cppStorageClass', { 'fg': s:salmon, 'styles': [s:styles.italic] }) +call s:hi('cppExceptions', { 'fg': s:salmon, 'styles': [s:styles.italic] }) +call s:hi('cppBoolean', { 'fg': s:salmon }) +call s:hi('cppNumber', { 'fg': s:salmon }) +call s:hi('cppMinMax', { 'fg': s:red }) + +function! s:overwrite_cpp_highlight() + call s:hi('cppDeclarationOverwrite', { 'fg': s:green, 'styles': [s:styles.italic] }) + call s:hi('cppBraces', { 'fg': s:blue }) + call s:hi('cppParens', { 'fg': s:pink }) + call s:hi('cppOpSymbols', { 'fg': s:pink }) + call s:hi('cppEndColons', { 'fg': s:pink }) + call s:hi('cppLogicSymbols', { 'fg': s:blue }) +endfunction + +augroup purify_cpp + autocmd! + autocmd Filetype cpp call s:overwrite_cpp_highlight() +augroup END + +" }}} + +" Ruby {{{ + +call s:hi('rubyInclude', { 'fg': s:blue, 'styles': [s:styles.italic] }) +call s:hi('rubyStringDelimiter', { 'fg': s:yellow }) + +function! s:overwrite_ruby_highlight() + call s:hi('rubyBraces', { 'fg': s:blue }) + call s:hi('rubyParens', { 'fg': s:pink }) + call s:hi('rubyOpSymbols', { 'fg': s:pink }) + call s:hi('rubyEndColons', { 'fg': s:pink }) + call s:hi('rubyLogicSymbols', { 'fg': s:blue }) +endfunction + +augroup purify_ruby + autocmd! + autocmd Filetype ruby call s:overwrite_ruby_highlight() +augroup END + +" }}} + +" }}} + +" Frameworks {{{ + +" Reactjs {{{ +" Support for 'MaxMEllon/vim-jsx-pretty' + +call s:hi('jsxTag', { 'fg': s:white }) +call s:hi('jsxTagName', { 'fg': s:pink }) +call s:hi('jsxComponentName', { 'fg': s:salmon }) +call s:hi('jsxOpenPunct', { 'fg': s:blue }) +call s:hi('jsxClosePunct', { 'fg': s:blue }) +call s:hi('jsxCloseString', { 'fg': s:blue }) + +function! s:overwrite_javascriptreact_highlight() + silent! syn clear javaScriptIdentifier + silent! syn clear javaScriptReserved + call s:hi('jsxDeclarationOverwrite', { 'fg': s:green, 'styles': [s:styles.italic] }) + call s:hi('jsxBraces', { 'fg': s:blue }) + call s:hi('jsxParens', { 'fg': s:pink }) + call s:hi('jsxOpSymbols', { 'fg': s:pink }) + call s:hi('jsxEndColons', { 'fg': s:pink }) + call s:hi('jsxLogicSymbols', { 'fg': s:blue }) + call s:hi('jsxCustomIdentifier', { 'fg': s:green, 'styles': [s:styles.italic] }) + call s:hi('jsxCustomReserved', { 'fg': s:blue, 'styles': [s:styles.italic] }) + + " Javascript init (in case you open jsx file only) + call s:hi('javascriptEndColons', { 'fg': s:pink }) + call s:hi('javascriptLogicSymbols', { 'fg': s:salmon }) + call s:hi('javascriptOpSymbols', { 'fg': s:pink }) + call s:hi('javascriptLabel', { 'fg': s:pink, 'styles': [s:styles.italic] }) + call s:hi('javaScriptThis', { 'fg': s:blue, 'styles': [s:styles.italic] }) + call s:hi('javaScriptCustomIdentifier', { 'fg': s:green, 'styles': [s:styles.italic] }) + call s:hi('javaScriptCustomReserved', { 'fg': s:blue, 'styles': [s:styles.italic] }) +endfunction + +augroup purify_jsx + autocmd! + autocmd Filetype javascriptreact call s:overwrite_javascriptreact_highlight() +augroup END + +" }}} + +" }}} + +" Plugins {{{ + +" fzf.vim +" https://github.com/junegunn/fzf/wiki/Color-schemes +let g:fzf_colors = +\ { 'fg': ['fg', 'Normal'], + \ 'bg': ['bg', 'Normal'], + \ 'hl': ['fg', 'String'], + \ 'hl+': ['fg', 'Statement'], + \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], + \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], + \ 'info': ['fg', 'Keyword'], + \ 'border': ['fg', 'Ignore'], + \ 'prompt': ['fg', 'Statement'], + \ 'pointer': ['fg', 'Statement'], + \ 'marker': ['fg', 'Keyword'], + \ 'spinner': ['fg', 'Label'], + \ 'header': ['fg', 'Comment'] } + +" vim-easymotion +call s:hi("EasyMotionTarget", { "fg": s:green }) +call s:hi("EasyMotionTarget2First", { "fg": s:green }) +call s:hi("EasyMotionTarget2Second", { "fg": s:blue }) +call s:hi("EasyMotionShade", { "fg": s:comment_grey }) + +" }}} + +" Try setting background and foreground colors if user using GUI version +if has("gui_running") || exists('g:GuiLoaded') + hi Normal guifg=#FFFFFF + hi Normal guibg=#252834 +endif + +execute 'set background=dark' + diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/pyte.vim b/nvim/plugged/awesome-vim-colorschemes/colors/pyte.vim new file mode 100644 index 00000000..7f173c47 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/pyte.vim @@ -0,0 +1,94 @@ + +set background=light + +hi clear +if exists("syntax_on") + syntax reset +endif + +let colors_name = "pyte" + +if version >= 700 + hi CursorLine guibg=#f6f6f6 + hi CursorColumn guibg=#eaeaea + hi MatchParen guifg=white guibg=#80a090 gui=bold + + "Tabpages + hi TabLine guifg=black guibg=#b0b8c0 gui=italic + hi TabLineFill guifg=#9098a0 + hi TabLineSel guifg=black guibg=#f0f0f0 gui=italic,bold + + "P-Menu (auto-completion) + hi Pmenu guifg=white guibg=#808080 + "PmenuSel + "PmenuSbar + "PmenuThumb +endif +" +" Html-Titles +hi Title guifg=#202020 gui=bold +hi Underlined guifg=#202020 gui=underline + + +hi Cursor guifg=black guibg=#b0b4b8 +hi lCursor guifg=black guibg=white +hi LineNr guifg=#ffffff guibg=#c0d0e0 + +hi Normal guifg=#404850 guibg=#f0f0f0 + +hi StatusLine guifg=white guibg=#8090a0 gui=bold,italic +hi StatusLineNC guifg=#506070 guibg=#a0b0c0 gui=italic +hi VertSplit guifg=#a0b0c0 guibg=#a0b0c0 gui=NONE + +" hi Folded guifg=#708090 guibg=#c0d0e0 +hi Folded guifg=#a0a0a0 guibg=#e8e8e8 gui=italic + +hi NonText guifg=#c0c0c0 guibg=#e0e0e0 +" Kommentare +hi Comment guifg=#a0b0c0 gui=italic + +" Konstanten +hi Constant guifg=#a07040 +hi String guifg=#4070a0 +hi Number guifg=#40a070 +hi Float guifg=#70a040 +"hi Statement guifg=#0070e0 gui=NONE +" Python: def and so on, html: tag-names +hi Statement guifg=#007020 gui=bold + + +" HTML: arguments +hi Type guifg=#e5a00d gui=italic +" Python: Standard exceptions, True&False +hi Structure guifg=#007020 gui=italic +hi Function guifg=#06287e gui=italic + +hi Identifier guifg=#5b3674 gui=italic + +hi Repeat guifg=#7fbf58 gui=bold +hi Conditional guifg=#4c8f2f gui=bold + +" Cheetah: #-Symbol, function-names +hi PreProc guifg=#1060a0 gui=NONE +" Cheetah: def, for and so on, Python: Decorators +hi Define guifg=#1060a0 gui=bold + +hi Error guifg=red guibg=white gui=bold,underline +hi Todo guifg=#a0b0c0 guibg=NONE gui=italic,bold,underline + +" Python: %(...)s - constructs, encoding +hi Special guifg=#70a0d0 gui=italic + +hi Operator guifg=#408010 + +" color of <TAB>s etc... +"hi SpecialKey guifg=#d8a080 guibg=#e8e8e8 gui=italic +hi SpecialKey guifg=#d0b0b0 guibg=#f0f0f0 gui=none + +" Diff +hi DiffChange guifg=NONE guibg=#e0e0e0 gui=italic,bold +hi DiffText guifg=NONE guibg=#f0c8c8 gui=italic,bold +hi DiffAdd guifg=NONE guibg=#c0e0d0 gui=italic,bold +hi DiffDelete guifg=NONE guibg=#f0e0b0 gui=italic,bold + + diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/rakr.vim b/nvim/plugged/awesome-vim-colorschemes/colors/rakr.vim new file mode 100644 index 00000000..501322e2 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/rakr.vim @@ -0,0 +1,624 @@ +" Name: rakr vim colorscheme +" Author: Ramzi Akremi +" License: MIT + +" Global setup {{{ + +hi clear +if exists('syntax_on') + syntax reset +endif +if exists('g:colors_name') + unlet g:colors_name +endif +let g:colors_name = 'rakr' +"}}} +if has('gui_running') || &t_Co == 88 || &t_Co == 256 + " functions {{{ + " returns an approximate grey index for the given grey level + + fun <SID>grey_number(x) + if &t_Co == 88 + if a:x < 23 + return 0 + elseif a:x < 69 + return 1 + elseif a:x < 103 + return 2 + elseif a:x < 127 + return 3 + elseif a:x < 150 + return 4 + elseif a:x < 173 + return 5 + elseif a:x < 196 + return 6 + elseif a:x < 219 + return 7 + elseif a:x < 243 + return 8 + else + return 9 + endif + else + if a:x < 14 + return 0 + else + let l:n = (a:x - 8) / 10 + let l:m = (a:x - 8) % 10 + if l:m < 5 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " returns the actual grey level represented by the grey index + fun <SID>grey_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 46 + elseif a:n == 2 + return 92 + elseif a:n == 3 + return 115 + elseif a:n == 4 + return 139 + elseif a:n == 5 + return 162 + elseif a:n == 6 + return 185 + elseif a:n == 7 + return 208 + elseif a:n == 8 + return 231 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 8 + (a:n * 10) + endif + endif + endfun + + " returns the palette index for the given grey index + fun <SID>grey_color(n) + if &t_Co == 88 + if a:n == 0 + return 16 + elseif a:n == 9 + return 79 + else + return 79 + a:n + endif + else + if a:n == 0 + return 16 + elseif a:n == 25 + return 231 + else + return 231 + a:n + endif + endif + endfun + + " returns an approximate color index for the given color level + fun <SID>rgb_number(x) + if &t_Co == 88 + if a:x < 69 + return 0 + elseif a:x < 172 + return 1 + elseif a:x < 230 + return 2 + else + return 3 + endif + else + if a:x < 75 + return 0 + else + let l:n = (a:x - 55) / 40 + let l:m = (a:x - 55) % 40 + if l:m < 20 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " returns the actual color level for the given color index + fun <SID>rgb_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 139 + elseif a:n == 2 + return 205 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 55 + (a:n * 40) + endif + endif + endfun + + " returns the palette index for the given R/G/B color indices + fun <SID>rgb_color(x, y, z) + if &t_Co == 88 + return 16 + (a:x * 16) + (a:y * 4) + a:z + else + return 16 + (a:x * 36) + (a:y * 6) + a:z + endif + endfun + + " returns the palette index to approximate the given R/G/B color levels + fun <SID>color(r, g, b) + " get the closest grey + let l:gx = <SID>grey_number(a:r) + let l:gy = <SID>grey_number(a:g) + let l:gz = <SID>grey_number(a:b) + + " get the closest color + let l:x = <SID>rgb_number(a:r) + let l:y = <SID>rgb_number(a:g) + let l:z = <SID>rgb_number(a:b) + + if l:gx == l:gy && l:gy == l:gz + " there are two possibilities + let l:dgr = <SID>grey_level(l:gx) - a:r + let l:dgg = <SID>grey_level(l:gy) - a:g + let l:dgb = <SID>grey_level(l:gz) - a:b + let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) + let l:dr = <SID>rgb_level(l:gx) - a:r + let l:dg = <SID>rgb_level(l:gy) - a:g + let l:db = <SID>rgb_level(l:gz) - a:b + let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) + if l:dgrey < l:drgb + " use the grey + return <SID>grey_color(l:gx) + else + " use the color + return <SID>rgb_color(l:x, l:y, l:z) + endif + else + " only one possibility + return <SID>rgb_color(l:x, l:y, l:z) + endif + endfun + + " returns the palette index to approximate the 'rrggbb' hex string + fun <SID>rgb(rgb) + let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 + let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 + let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 + + return <SID>color(l:r, l:g, l:b) + endfun + + " sets the highlighting for the given group + fun <SID>X(group, fg, bg, attr) + if a:fg != "" + exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . <SID>rgb(a:fg) + endif + if a:bg != "" + exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . <SID>rgb(a:bg) + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif + endfun + " }}} + " solarized colors {{{ + let s:basel3 = '002b36' + let s:basel2 = '073642' + let s:basel1 = '586e75' + let s:basel0 = '657b83' + let s:based0 = '839496' + let s:based1 = '93a1a1' + let s:based2 = 'eee8d5' + let s:based3 = 'fdf6e3' + let s:yellowl1 = 'b58900' + let s:orangel1 = 'cb4b16' + let s:redl1 = 'dc322f' + let s:magental1 = 'd33682' + let s:violetl1 = '6c71c4' + let s:bluel1 = '268bd2' + let s:cyanl1 = '2aa198' + let s:greenl1 = '859900' + let s:yellowd1 = 'b58900' + let s:oranged1 = 'cb4b16' + let s:redd1 = 'dc322f' + let s:magentad1 = 'd33682' + let s:violetd1 = '6c71c4' + let s:blued1 = '268bd2' + let s:cyand1 = '2aa198' + let s:greend1 = '859900' + "}}} + " Flat colors {{{ + let s:basel3 = '212f3e' + let s:basel2 = '34495e' + let s:basel1 = '7f8c8d' + let s:basel0 = '95a5a6' + let s:based0 = 'bdc3c7' + let s:based1 = 'C7CBCF' + let s:based2 = 'ecf0f1' + let s:based3 = 'f7f7f7' + let s:cyanl1 = '16a085' + let s:cyand1 = '07c5ac' + let s:greenl1 = '2ecc71' + let s:greend1 = '27ae60' + let s:bluel1 = '3498db' + let s:blued1 = '2980b9' + let s:violetl1 = '8e44ad' + let s:violetd1 = '9b59b6' + let s:yellowl1 = 'fec50a' + let s:yellowd1 = 'FD9809' + let s:orangel1 = 'f39c12' + let s:oranged1 = 'd35400' + let s:magental1 = '7A2B9D' + let s:magentad1 = 'c8438c' + let s:redl1 = 'e74c3c' + let s:redd1 = 'c0392b' + "}}} + " Oceanic Next {{{ + let s:basel3 = '141e23' + let s:basel2 = '343d46' + let s:basel1 = '4f5b66' + let s:basel0 = '65737e' + let s:based0 = 'bdc3c7' + let s:based1 = 'C7CBCF' + let s:based2 = 'ecf0f1' + let s:based3 = 'f7f7f7' + let s:cyanl1 = '16a085' + let s:cyand1 = '07c5ac' + let s:greenl1 = '2ecc71' + let s:greend1 = '27ae60' + let s:bluel1 = '3498db' + let s:blued1 = '2980b9' + let s:violetl1 = '8e44ad' + let s:violetd1 = '9b59b6' + let s:yellowl1 = 'fec50a' + let s:yellowd1 = 'FD9809' + let s:orangel1 = 'f39c12' + let s:oranged1 = 'd35400' + let s:magental1 = '7A2B9D' + let s:magentad1 = 'c8438c' + let s:redl1 = 'e74c3c' + let s:redd1 = 'c0392b' + "}}} + " Flat contrast {{{ + let s:based3 = '141e23' + let s:based2 = '242d36' + let s:based1 = '3f4b56' + let s:based0 = '55636e' + let s:basel0 = '6c7a89' + let s:basel1 = '95a5a6' + let s:basel2 = 'ececec' + let s:basel3 = 'ffffff' + let s:cyand1 = '16a085' + let s:cyanl1 = '07c5ac' + let s:greend1 = '019875' + let s:greenl1 = '2ecc71' + let s:bluel1 = '6bb9f0' + let s:blued1 = '446cb3' + let s:violetd1 = '8e44ad' + let s:violetl1 = '9b59b6' + let s:yellowl1 = 'f5d76e' + let s:yellowd1 = 'f89406' + let s:oranged1 = 'd35400' + let s:orangel1 = 'f39c12' + let s:magentad1 = '913d88' + let s:magental1 = 'c8438c' + let s:redd1 = 'cf000f' + let s:redl1 = 'e74c3c' + let s:pinkd1 = 'db0a5b' + let s:pinkl1 = 'f62459' + "}}} + " Invert colors if background is dark {{{ + if &background ==# 'dark' + let s:temp03 = s:basel3 + let s:temp02 = s:basel2 + let s:temp01 = s:basel1 + let s:temp00 = s:basel0 + let s:basel3 = s:based3 + let s:basel2 = s:based2 + let s:basel1 = s:based1 + let s:basel0 = s:based0 + let s:based0 = s:temp00 + let s:based1 = s:temp01 + let s:based2 = s:temp02 + let s:based3 = s:temp03 + + let s:temp = s:cyanl1 + let s:cyanl1 = s:cyand1 + let s:cyand1 = s:temp + let s:temp = s:greenl1 + let s:greenl1 = s:greend1 + let s:greend1 = s:temp + let s:temp = s:bluel1 + let s:bluel1 = s:blued1 + let s:blued1 = s:temp + let s:temp = s:violetl1 + let s:violetl1 = s:violetd1 + let s:violetd1 = s:temp + let s:temp = s:yellowl1 + let s:yellowl1 = s:yellowd1 + let s:yellowd1 = s:temp + let s:temp = s:orangel1 + let s:orangel1 = s:oranged1 + let s:oranged1 = s:temp + let s:temp = s:redl1 + let s:redl1 = s:redd1 + let s:redd1 = s:temp + let s:temp = s:pinkl1 + let s:pinkl1 = s:pinkd1 + let s:pinkd1 = s:temp + endif + "}}} + " Default Colors {{{ + call <SID>X('Normal', s:based1, s:basel3, 'none') + call <SID>X('Comment', s:basel0, 'none', 'italic') + call <SID>X('Constant', s:redd1, 'none', 'none') + call <SID>X('Identifier', s:blued1, 'none', 'none') + call <SID>X('Function', s:blued1, 'none', 'none') + call <SID>X('Statement', s:greend1, 'none', 'none') + call <SID>X('PreProc', s:oranged1, 'none', 'none') + call <SID>X('Type', s:magental1, 'none', 'none') + call <SID>X('Special', s:redl1, 'none', 'none') + call <SID>X('Underlined', s:violetd1, 'none', 'underline') + call <SID>X('Ignore', 'none', 'none', 'none') + call <SID>X('Error', s:yellowl1, s:redd1, 'bold') + call <SID>X('Todo', s:magentad1, 'none', 'bold') + + call <SID>X('SpecialKey', s:based0, 'none', 'reverse') + call <SID>X('NonText', s:based1, s:basel3, 'none') + + call <SID>X('StatusLine', s:based0, s:basel2, 'none') + call <SID>X('StatusLineNC', s:basel1, s:based2, 'none') + + call <SID>X('Visual', s:bluel1, s:basel3, 'reverse') + call <SID>X('Directory', s:based1, 'none', 'bold') + call <SID>X('ErrorMsg', s:redd1, 'none', 'reverse') + call <SID>X('IncSearch', s:pinkd1, 'none', 'reverse') + call <SID>X('Search', s:yellowd1, 'none', 'reverse') + call <SID>X('ModeMsg', s:bluel1, 'none', 'none') + call <SID>X('MoreMsg', s:bluel1, 'none', 'none') + call <SID>X('LineNr', s:basel0, s:basel2, 'none') + call <SID>X('Question', s:cyanl1, 'none', 'bold') + + call <SID>X('Delimiter', s:redd1, 'none', 'none') + + call <SID>X('Title', s:based3, 'none', 'bold') + call <SID>X('VertSplit', s:basel3, s:basel2, 'none') + call <SID>X('WarningMsg', s:redl1, 'none', 'bold') + call <SID>X('WildMenu', s:based2, s:basel2, 'reverse,bold') + call <SID>X('Folded', s:based0, s:basel2, 'bold') + call <SID>X('FoldColumn', s:based0, s:basel2, 'none') + + call <SID>X('DiffAdd', s:greend1, s:basel2, 'bold') + call <SID>X('DiffChange', s:yellowd1, s:basel2, 'bold') + call <SID>X('DiffDelete', s:redd1, s:basel2, 'bold') + call <SID>X('DiffText', s:blued1, s:basel2, 'bold') + + call <SID>X('SignColumn', s:based0, 'none', 'none') + call <SID>X('Conceal', s:bluel1, 'none', 'none') + call <SID>X('SpellBad', s:redl1, 'none', 'underline') + call <SID>X('SpellCap', s:violetl1, 'none', 'underline') + call <SID>X('SpellRare', s:cyanl1, 'none', 'underline') + call <SID>X('SpellLocal', s:yellowl1, 'none', 'underline') + call <SID>X('PMenu', s:based0, s:basel2, 'none') + call <SID>X('PMenuSel', s:basel1, s:based2, 'none') + call <SID>X('PMenuSbar', s:based2, s:based0, 'none') + call <SID>X('PMenuThumb', s:based0, s:basel2, 'none') + call <SID>X('TabLine', s:based0, s:basel1, 'underline') + call <SID>X('TabLineFill', s:based0, s:basel1, 'underline') + call <SID>X('TabLineSel', s:basel1, s:based2, 'underline') + call <SID>X('CursorLine', 'none', s:basel2, 'none') + call <SID>X('CursorColumn', 'none', s:basel2, 'none') + call <SID>X('Cursor', 'none', s:basel3, 'none') + hi link lCursor Cursor + call <SID>X('CursorLineNr', s:basel2, s:basel0, 'bold') + call <SID>X('MatchParen', s:yellowl1, s:redl1, 'bold') + + " }}} + " CSS/SCSS {{{ + call <SID>X('cssTagName', s:blued1, 'none', 'bold') + call <SID>X('cssAttrComma', s:based1, 'none', 'none') + call <SID>X('cssBraces', s:based0, 'none', 'none') + call <SID>X('cssDimensionProp', s:oranged1, 'none', 'none') + call <SID>X('cssProp', s:oranged1, 'none', 'none') + call <SID>X('cssAttr', s:pinkd1, 'none', 'none') + call <SID>X('cssURL', s:magental1, 'none', 'underline') + call <SID>X('cssColor', s:based1, 'none', 'none') + call <SID>X('cssValueNumber', s:pinkd1, 'none', 'none') + call <SID>X('cssValueLength', s:pinkd1, 'none', 'none') + call <SID>X('cssUnitDecorators', s:based1, 'none', 'none') + call <SID>X('cssPseudoClassId', s:magental1, 'none', 'none') + call <SID>X('cssFunctionName', s:greenl1, 'none', 'none') + call <SID>X('cssProp', s:orangel1, 'none', 'none') + + call <SID>X('sassClass', s:greend1, 'none', 'bold') + call <SID>X('scssAmpersand', s:greenl1, 'none', 'bold') + call <SID>X('scssAttribute', s:based2, 'none', 'none') + call <SID>X('scssDefinition', s:based2, 'none', 'none') + call <SID>X('sassFunction', s:magentad1, 'none', 'none') + call <SID>X('scssFunction', s:magentad1, 'none', 'none') + call <SID>X('sassFunctionName', s:magentad1, 'none', 'none') + call <SID>X('scssFunctionName', s:magentad1, 'none', 'none') + call <SID>X('sassInclude', s:blued1, 'none', 'bold') + call <SID>X('scssInclude', s:blued1, 'none', 'bold') + call <SID>X('sassMixinName', s:greend1, 'none', 'none') + call <SID>X('scssMixinName', s:greend1, 'none', 'none') + call <SID>X('scssMixinParams', s:based2, 'none', 'none') + call <SID>X('scssSelectorName', s:redl1, 'none', 'none') + call <SID>X('scssVariable', s:cyand1, 'none', 'none') + "}}} + " JavaScript (Better with pangloss/vim-javascript plugin) {{{ + call <SID>X('jsStorageClass', s:pinkd1,'none', 'bold') + call <SID>X('jsDocTags', s:basel0, 'none', 'bold') + call <SID>X('jsDocType', s:basel0, 'none', 'none') + call <SID>X('jsDocParam', s:basel0, 'none', 'none') + call <SID>X('jsDocTypeNoParam', s:basel0, 'none', 'none') + call <SID>X('jsFunction', s:pinkd1, 'none', 'bold') + call <SID>X('jsFuncCall', s:based0, 'none', 'bold') + call <SID>X('jsFuncBlock', s:based0, 'none', 'bold') + call <SID>X('jsOperator', s:blued1, 'none', 'none') + call <SID>X('jsFuncName', s:based1, 'none', 'bold') + call <SID>X('jsBraces', s:basel1, 'none', 'none') + call <SID>X('jsFuncBraces', s:basel1, 'none', 'bold') + "}}} + " Elixir {{{ + call <SID>X('elixirArguments', s:blued1, 'none', 'none') + call <SID>X('elixirAtom', s:pinkd1, 'none', 'none') + call <SID>X('elixirAlias', s:based0, 'none', 'none') + call <SID>X('elixirBlockDefinition', s:pinkd1,'none', 'bold') + call <SID>X('elixirComment', s:basel0, 'none', 'italic') + call <SID>X('elixirDefine', s:pinkd1, 'none', 'bold') + call <SID>X('elixirPrivateDefine', s:pinkl1, 'none', 'bold') + call <SID>X('elixirDocString', s:greenl1, 'none', 'none') + call <SID>X('elixirFunctionDeclaration', s:based1, 'none', 'bold') + call <SID>X('elixirInclude', s:greend1, 'none', 'bold') + call <SID>X('elixirId' , s:based1, 'none', 'none') + call <SID>X('elixirOperator', s:blued1, 'none', 'none') + call <SID>X('elixirModuleDefine', s:pinkd1,'none', 'bold') + call <SID>X('elixirString', s:redd1, 'none', 'none') + call <SID>X('elixirStringDelimiter', s:redl1,'none', 'none') + call <SID>X('elixirVariable', s:greend1, 'none', 'none') + + call <SID>X('eelixirDelimiter', s:magentad1, 'none', 'none') + "}}} + " HTML/XML {{{ + call <SID>X('HTMLEndTag', s:basel0, 'none', 'bold') + call <SID>X('HTMLTag', s:basel0, 'none', 'bold') + call <SID>X('HTMLTagN', s:basel0, 'none', 'bold') + call <SID>X('HTMLTagName', s:based0, 'none', 'none') + call <SID>X('xmlTagName', s:based0, 'none', 'none') + call <SID>X('HTMLArg', s:blued1, 'none', 'none') + call <SID>X('HTMLLink', s:based3, 'none', 'underline') + call <SID>X('HTMLString', s:pinkd1, 'none', 'none') + "}}} + " NERDTree {{{ + call <SID>X('NERDTreeCWD', s:bluel1, 'none', 'bold') + call <SID>X('NERDTreeFile', s:based2, 'none', 'none') + call <SID>X('NERDTreeDirSlash', s:orangel1, 'none', 'none') + call <SID>X('NERDTreeGitFlags', s:based2, 'none', 'none') + call <SID>X('NERDTreeGitStatusDirDirty', s:magental1, 'none', 'bold') + call <SID>X('NERDTreeGitStatusModified', s:orangel1, 'none', 'bold') + call <SID>X('NERDTreeGitStatusUntracked', s:based2, 'none', 'bold') + call <SID>X('NERDTreeOpenable', s:bluel1, 'none', 'none') + call <SID>X('NERDTreeClosable', s:bluel1, 'none', 'none') + call <SID>X('NERDTreeHelpTitle', s:based2, 'none', 'bold') + call <SID>X('NERDTreeHelp', s:based2, 'none', 'none') + call <SID>X('NERDTreeHelpCommand', s:blued1, 'none', 'none') + call <SID>X('NERDTreeHelpKey', s:redd1, 'none', 'bold') + call <SID>X('NERDTreeToggleOn', s:greend1, 'none', 'bold') + call <SID>X('NERDTreeToggleOff', s:redd1, ' none', 'bold') + +" NERDTress File highlighting +"function! NERDTreeHighlightFile(extension, fg, bg, guifg, guibg) + "exec 'autocmd FileType nerdtree highlight ' . a:extension .' ctermbg='. a:bg .' ctermfg='. a:fg .' guibg=#'. a:guibg .' guifg=#'. a:guifg + "exec 'autocmd FileType nerdtree syn match ' . a:extension .' #^\s\+.*'. a:extension .'$#' +"endfunction + +"call NERDTreeHighlightFile('jade', 'green', 'none', s:greenl1, 'none') +"call NERDTreeHighlightFile('md', 'blue', 'none', s:bluel1, 'none') +"call NERDTreeHighlightFile('markdown', 'blue', 'none', s:bluel1, 'none') +"call NERDTreeHighlightFile('config', 'yellow', 'none', s:yellowl1, 'none') +"call NERDTreeHighlightFile('conf', 'yellow', 'none', s:yellowl1, 'none') +"call NERDTreeHighlightFile('json', 'green', 'none', s:magental1, 'none') +"call NERDTreeHighlightFile('yml', 'green', 'none', s:magental1, 'none') +"call NERDTreeHighlightFile('xml', 'green', 'none', s:magental1, 'none') +"call NERDTreeHighlightFile('html', 'green', 'none', s:greenl1, 'none') +"call NERDTreeHighlightFile('css', 'cyan', 'none', s:cyand1, 'none') +"call NERDTreeHighlightFile('sass', 'cyan', 'none', s:cyanl1, 'none') +"call NERDTreeHighlightFile('scss', 'cyan', 'none', s:cyanl1, 'none') +"call NERDTreeHighlightFile('coffee', 'Red', 'none', s:oranged1, 'none') +"call NERDTreeHighlightFile('js', 'Red', 'none', s:orangel1, 'none') +"call NERDTreeHighlightFile('rb', 'Red', 'none', s:redl1, 'none') +"call NERDTreeHighlightFile('ru', 'Red', 'none', s:redd1, 'none') +"call NERDTreeHighlightFile('ts', 'Blue', 'none', s:bluel1, 'none') +"call NERDTreeHighlightFile('ds_store', 'Gray', 'none', s:based1, 'none') +"call NERDTreeHighlightFile('gitconfig', 'black', 'none', s:based1, 'none') +"call NERDTreeHighlightFile('gitignore', 'Gray', 'none', s:based1, 'none') + + + + "}}} + " Ruby highlighting {{{ + + call <SID>X('rubyArrayDelimiter', s:basel0, 'none', 'none') + call <SID>X('rubyBoolean', s:violetd1, 'none', 'bold') + call <SID>X('rubySymbol', s:pinkd1, 'none', 'none') + call <SID>X('rubyControl', s:pinkd1, 'none', 'bold') + call <SID>X('rubyClass', s:blued1, 'none', 'bold') + call <SID>X('rubyBlock', s:based1, 'none', 'none') + call <SID>X('rubyDoBlock', s:based1, 'none', 'none') + call <SID>X('rubyMethodBlock', s:based1, 'none', 'none') + call <SID>X('rubyCurlyBlockDelimiter', s:based1, 'none', 'none') + call <SID>X('rubyDefine', s:pinkd1, 'none', 'bold') + call <SID>X('rubyConditionalExpression', s:based1, 'none', 'none') + + " }}} + " tmux {{{ + call <SID>X('tmuxCmds', s:based2, 'none', 'none') + " }}} + " Plug {{{ + call <SID>X('PlugName', s:based2, 'none', 'bold') + " }}} + " vim syntax highlightling {{{ + call <SID>X('helpHyperTextJump', s:magental1, 'none', 'underline') + call <SID>X('helpURL', s:redl1, 'none', 'underline') + call <SID>X('helpExample', s:based1, 'none', 'none') + call <SID>X('helpHeadline', s:based3, 'none', 'bold') + call <SID>X('helpSectionDelim', s:basel1, 'none', 'none') + call <SID>X('vimBracket', s:redd1, 'none', 'none') + call <SID>X('vimIsCommand', s:based2, 'none', 'none') + call <SID>X('vimCommand', s:blued1, 'none', 'none') + call <SID>X('vimCommandSep', s:blued1, 'none', 'none') + call <SID>X('vimCommentString', s:basel1, 'none', 'underline,italic') + call <SID>X('vimGroup', s:based1, 'none', 'none') + call <SID>X('vimHiLink', s:based1, 'none', 'none') + call <SID>X('vimHiGroup', s:based1, 'none', 'none') + call <SID>X('vimString', s:greend1, 'none', 'none') + call <SID>X('vimOper', s:greend1, 'none', 'none') + call <SID>X('vimOperParen', s:greend1, 'none', 'none') + call <SID>X('vimSyncMtchOpt', s:yellowd1, 'none', 'none') + call <SID>X('vimFuncVar', s:blued1, 'none', 'none') + call <SID>X('vimVar', s:blued1, 'none', 'none') + call <SID>X('vimEnvVar', s:blued1, 'none', 'none') + call <SID>X('vimComment', s:based0, 'none', 'italic') + call <SID>X('vimLineComment', s:based0, 'none', 'italic') + call <SID>X('vimCommentTitke', s:based0, 'none', 'bold,italic') + call <SID>X('vimFunc', s:blued1, 'none', 'none') + call <SID>X('vimUserFunc', s:blued1, 'none', 'none') + call <SID>X('vimSet', s:based3, s:basel3, 'none') + call <SID>X('vimSetEqual', s:based3, s:basel3, 'none') + "}}} +endif +" delete functions {{{ +delf <SID>X +delf <SID>rgb +delf <SID>color +delf <SID>rgb_color +delf <SID>rgb_level +delf <SID>rgb_number +delf <SID>grey_color +delf <SID>grey_level +delf <SID>grey_number +" }}} +" vim: set fdl=0 fdm=marker: diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/rdark-terminal2.vim b/nvim/plugged/awesome-vim-colorschemes/colors/rdark-terminal2.vim new file mode 100644 index 00000000..7fd45c6b --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/rdark-terminal2.vim @@ -0,0 +1,141 @@ +" rdark-terminal2 - vim color scheme +" +" Modified: Radu-Sebastian Marinescu +" Last Change: 2014 Jul 16 +" Version: 0.3 +" +" Based on rdark-terminal of Lukas Grässlin +" (http://www.vim.org/scripts/script.php?script_id=3202) +" which ported the rdark colorscheme for 256 colors. +" (http://www.vim.org/scripts/script.php?script_id=1732) +" +" Info: rdark-terminal2 enhances visibility for CursorLine, Type, Special, +" ColorColumn and IncSearch +" +hi clear +let colors_name="rdark-terminal2" + +hi clear CursorLine +hi CursorLine ctermbg=234 + +hi Normal term=NONE cterm=NONE ctermbg=NONE ctermfg=252 +hi Underlined term=underline cterm=underline ctermbg=NONE ctermfg=111 +hi Ignore term=NONE cterm=NONE ctermbg=NONE ctermfg=16 +hi Error term=reverse cterm=NONE ctermbg=160 ctermfg=255 +hi Todo term=NONE cterm=NONE ctermbg=16 ctermfg=215 +hi Number term=NONE cterm=NONE ctermbg=NONE ctermfg=113 +hi String term=NONE cterm=NONE ctermbg=NONE ctermfg=113 +hi Function term=NONE cterm=NONE ctermbg=NONE ctermfg=215 +hi SpecialKey term=bold cterm=NONE ctermbg=NONE ctermfg=196 +hi NonText term=bold cterm=NONE ctermbg=NONE ctermfg=236 +"hi MatchParen term=reverse cterm=NONE ctermbg=215 ctermfg=23 +hi MatchParen term=NONE cterm=NONE ctermbg=NONE ctermfg=166 +hi Comment term=bold cterm=NONE ctermbg=NONE ctermfg=245 +hi Constant term=underline cterm=NONE ctermbg=NONE ctermfg=113 +hi Special term=bold cterm=NONE ctermbg=NONE ctermfg=66 +hi Keyword term=NONE cterm=NONE ctermbg=NONE ctermfg=255 +hi Identifier term=underline cterm=NONE ctermbg=NONE ctermfg=252 +hi Statement term=bold cterm=NONE ctermbg=NONE ctermfg=74 +hi PreProc term=underline cterm=NONE ctermbg=NONE ctermfg=215 +hi Type term=underline cterm=NONE ctermbg=NONE ctermfg=108 +hi LineNr term=underline cterm=NONE ctermbg=NONE ctermfg=59 +hi ExtraWhitespace term=NONE cterm=NONE ctermbg=NONE ctermfg=fg +"hi Visual term=reverse cterm=NONE ctermbg=90 ctermfg=255 + +hi Pmenu term=NONE cterm=NONE ctermbg=16 ctermfg=250 +hi PmenuSel term=NONE cterm=NONE ctermbg=61 ctermfg=231 +hi PmenuSbar term=NONE cterm=NONE ctermbg=238 ctermfg=238 +hi PmenuThumb term=NONE cterm=NONE ctermbg=102 ctermfg=102 + +hi StatusLine term=reverse,bold cterm=NONE ctermbg=250 ctermfg=0 +hi StatusLineNC term=reverse cterm=NONE ctermbg=240 ctermfg=16 +"hi VertSplit term=reverse cterm=NONE ctermbg=102 ctermfg=59 +hi VertSplit term=reverse cterm=NONE ctermbg=NONE ctermfg=59 +hi Directory term=bold cterm=NONE ctermbg=NONE ctermfg=231 +hi ErrorMsg term=NONE cterm=NONE ctermbg=196 ctermfg=231 +hi IncSearch term=reverse cterm=NONE ctermbg=226 ctermfg=23 +hi Search term=reverse cterm=NONE ctermbg=215 ctermfg=23 +hi MoreMsg term=bold cterm=bold ctermbg=NONE ctermfg=74 +hi ModeMsg term=bold cterm=bold ctermbg=NONE ctermfg=fg +"hi TabLine term=underline cterm=underline ctermbg=16 ctermfg=102 +"hi TabLineSel term=bold cterm=NONE ctermbg=59 ctermfg=255 +"hi TabLineFill term=reverse cterm=NONE ctermbg=16 ctermfg=16 +hi TabLine term=underline cterm=NONE ctermbg=240 ctermfg=0 +hi TabLineSel term=bold cterm=NONE ctermbg=243 ctermfg=255 +hi TabLineFill term=reverse cterm=NONE ctermbg=240 ctermfg=16 +hi CursorColumn term=reverse cterm=NONE ctermbg=241 ctermfg=fg +hi Cursor term=NONE cterm=NONE ctermbg=145 ctermfg=16 +hi cppSTLType term=NONE cterm=NONE ctermbg=NONE ctermfg=fg +hi cssUIProp term=NONE cterm=NONE ctermbg=NONE ctermfg=188 +hi vimAutoEvent term=NONE cterm=NONE ctermbg=NONE ctermfg=fg +hi cParen term=NONE cterm=NONE ctermbg=NONE ctermfg=fg +hi cBracket term=NONE cterm=NONE ctermbg=NONE ctermfg=fg +hi cNumbers term=NONE cterm=NONE ctermbg=NONE ctermfg=fg +hi phpPropertySelectorInString term=NONE cterm=NONE ctermbg=NONE ctermfg=102 +hi Question term=NONE cterm=NONE ctermbg=NONE ctermfg=113 +hi Title term=bold cterm=bold ctermbg=NONE ctermfg=215 +hi VisualNOS term=bold,underline cterm=bold,underline ctermbg=NONE ctermfg=fg +hi WarningMsg term=NONE cterm=NONE ctermbg=NONE ctermfg=196 +hi WildMenu term=NONE cterm=NONE ctermbg=233 ctermfg=255 +"hi Folded term=NONE cterm=NONE ctermbg=NONE ctermfg=188 +hi Folded term=NONE cterm=NONE ctermbg=NONE ctermfg=26 +hi FoldColumn term=NONE cterm=NONE ctermbg=NONE ctermfg=26 +hi phpSemicolon term=NONE cterm=NONE ctermbg=NONE ctermfg=102 +hi phpFunctions term=NONE cterm=NONE ctermbg=NONE ctermfg=188 +hi phpParent term=NONE cterm=NONE ctermbg=NONE ctermfg=102 +hi javaScriptBraces term=NONE cterm=NONE ctermbg=NONE ctermfg=102 +hi javaScriptOperator term=NONE cterm=NONE ctermbg=NONE ctermfg=102 +hi htmlTag term=NONE cterm=NONE ctermbg=NONE ctermfg=102 +hi htmlTagName term=NONE cterm=NONE ctermbg=NONE ctermfg=145 +hi cCppBracket term=NONE cterm=NONE ctermbg=NONE ctermfg=fg +hi cBlock term=NONE cterm=NONE ctermbg=NONE ctermfg=fg +hi htmlTitle term=NONE cterm=NONE ctermbg=NONE ctermfg=113 +hi cUserCont term=NONE cterm=NONE ctermbg=NONE ctermfg=fg +hi lCursor term=NONE cterm=NONE ctermbg=145 ctermfg=16 +hi cssPseudoClassId term=NONE cterm=NONE ctermbg=NONE ctermfg=255 +hi cssBraces term=NONE cterm=NONE ctermbg=NONE ctermfg=102 +hi cssIdentifier term=NONE cterm=NONE ctermbg=NONE ctermfg=215 +hi cssTagName term=NONE cterm=NONE ctermbg=NONE ctermfg=215 +hi cMulti term=NONE cterm=NONE ctermbg=NONE ctermfg=fg +hi ICursor term=NONE cterm=NONE ctermbg=145 ctermfg=fg +hi DiffAdd term=bold cterm=NONE ctermbg=NONE ctermfg=113 +hi DiffChange term=bold cterm=NONE ctermbg=NONE ctermfg=fg +hi DiffDelete term=bold cterm=bold ctermbg=NONE ctermfg=215 +hi DiffText term=reverse cterm=NONE ctermbg=NONE ctermfg=fg +hi SignColumn term=NONE cterm=NONE ctermbg=16 ctermfg=51 +hi SpellBad term=reverse cterm=undercurl ctermbg=NONE ctermfg=196 +hi SpellCap term=reverse cterm=undercurl ctermbg=NONE ctermfg=21 +hi SpellRare term=reverse cterm=undercurl ctermbg=NONE ctermfg=201 +hi SpellLocal term=underline cterm=undercurl ctermbg=NONE ctermfg=51 +hi htmlSpecialTagName term=NONE cterm=NONE ctermbg=NONE ctermfg=145 +hi htmlArg term=NONE cterm=NONE ctermbg=NONE ctermfg=188 +hi cBitField term=NONE cterm=NONE ctermbg=NONE ctermfg=fg +hi cssSelectorOp term=NONE cterm=NONE ctermbg=NONE ctermfg=255 +hi pythonFunction term=NONE cterm=NONE ctermbg=NONE ctermfg=fg +hi cNumbersCom term=NONE cterm=NONE ctermbg=NONE ctermfg=fg +hi vimFuncName term=NONE cterm=NONE ctermbg=NONE ctermfg=fg +hi phpRegionDelimiter term=NONE cterm=NONE ctermbg=NONE ctermfg=139 +hi phpPropertySelector term=NONE cterm=NONE ctermbg=NONE ctermfg=102 +hi cCppParen term=NONE cterm=NONE ctermbg=NONE ctermfg=fg +hi phpOperator term=NONE cterm=NONE ctermbg=NONE ctermfg=102 +hi phpArrayPair term=NONE cterm=NONE ctermbg=NONE ctermfg=102 +hi phpAssignByRef term=NONE cterm=NONE ctermbg=NONE ctermfg=102 +hi phpRelation term=NONE cterm=NONE ctermbg=NONE ctermfg=102 +hi phpMemberSelector term=NONE cterm=NONE ctermbg=NONE ctermfg=102 +hi phpUnknownSelector term=NONE cterm=NONE ctermbg=NONE ctermfg=102 +hi phpVarSelector term=NONE cterm=NONE ctermbg=NONE ctermfg=145 +hi htmlEndTag term=NONE cterm=NONE ctermbg=NONE ctermfg=102 +hi vimFold term=NONE cterm=NONE ctermbg=NONE ctermfg=fg + +"Sat's todo conf +hi satTodoNew term=underline cterm=NONE ctermbg=NONE ctermfg=fg +hi satTodoDone term=bold cterm=NONE ctermbg=NONE ctermfg=196 +hi satComment term=bold cterm=NONE ctermbg=NONE ctermfg=245 +hi satTitle term=reverse cterm=NONE ctermbg=102 ctermfg=59 + +"Minibuff Explorer" +hi MBEVisibleNormal term=NONE cterm=NONE ctermbg=NONE ctermfg=166 +hi MBEVisibleChanged term=NONE cterm=NONE ctermbg=NONE ctermfg=166 + + +hi ColorColumn ctermbg=235 diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/scheakur.vim b/nvim/plugged/awesome-vim-colorschemes/colors/scheakur.vim new file mode 100644 index 00000000..9ef617fd --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/scheakur.vim @@ -0,0 +1,130 @@ +" This file is built by ../source.vim. +" Do not modify this file directly. +highlight clear +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = 'scheakur' + +if &background == 'light' + hi Normal guifg=#2e2e2e guibg=#f0f0e5 gui=none ctermfg=234 ctermbg=255 cterm=none + hi ColorColumn guibg=#dfd6d1 ctermbg=145 + hi Comment guifg=#878965 ctermfg=101 + hi Conceal guifg=#0c6cc0 guibg=#f0f0e5 gui=none ctermfg=25 ctermbg=188 + hi Constant guifg=#00695c ctermfg=23 + hi Cursor guibg=#f39812 ctermbg=172 + hi CursorColumn guibg=#cce0ef ctermbg=146 + hi CursorIM guibg=#4a9f68 ctermbg=65 + hi CursorLine guibg=#cce0ef gui=none ctermbg=153 cterm=none + hi CursorLineNr guifg=#567686 guibg=#cce0ef gui=none ctermfg=60 ctermbg=146 + hi DiffAdd guibg=#d0ead0 ctermbg=151 + hi DiffChange guibg=#fdfec9 ctermbg=229 + hi DiffDelete guifg=#ffe3e5 guibg=#ffe3e5 ctermfg=174 ctermbg=174 + hi DiffText guibg=#fed910 ctermbg=178 + hi Directory guifg=#1177dd ctermfg=25 + hi Error guifg=#d1160b guibg=#ffe3e5 ctermfg=124 ctermbg=223 + hi ErrorMsg guifg=#d1160b guibg=#ffe3e5 ctermfg=124 ctermbg=223 + hi FoldColumn guifg=#04530d guibg=#d0ead0 ctermfg=22 ctermbg=151 + hi Folded guifg=#04530d guibg=#d0ead0 ctermfg=22 ctermbg=151 + hi Function guifg=#cb1265 ctermfg=125 + hi Identifier guifg=#546e7a ctermfg=59 + hi Ignore guifg=#666666 ctermfg=240 + hi IncSearch guifg=#2e2e2e guibg=#f4b3c2 gui=none ctermfg=234 ctermbg=218 + hi LineNr guifg=#567686 guibg=#e2e2d0 ctermfg=236 ctermbg=145 + hi MatchParen guifg=#0e8ed3 guibg=#dbf2ff ctermfg=31 ctermbg=152 + hi ModeMsg guifg=#337ca3 ctermfg=24 + hi MoreMsg guifg=#1e7b3d ctermfg=22 + hi NonText guifg=#7878ba gui=none ctermfg=61 + hi Operator guifg=#6b118a ctermfg=54 + hi Pmenu guifg=#2e2e2e guibg=#f6e4e7 ctermfg=235 ctermbg=231 + hi PmenuSbar guifg=#2e2e2e guibg=#f6e4e7 ctermfg=235 ctermbg=231 + hi PmenuSel guifg=#2e2e2e guibg=#f4b3c2 gui=none ctermfg=234 ctermbg=218 + hi PmenuThumb guifg=#2e2e2e guibg=#f4b3c2 gui=none ctermfg=234 ctermbg=218 + hi PreProc guifg=#6b118a ctermfg=54 + hi Question guifg=#008080 ctermfg=30 + hi Search guifg=#2e2e2e guibg=#e9e7ac ctermfg=235 ctermbg=186 + hi SignColumn guifg=#567686 guibg=#e2e2d0 ctermfg=236 ctermbg=145 + hi Special guifg=#1041a8 ctermfg=18 + hi SpecialKey guifg=#aabbcc ctermfg=109 + hi SpellBad guifg=#d1160b guibg=#ffe3e5 gui=undercurl ctermfg=124 ctermbg=223 guisp=#d1160b cterm=underline + hi SpellCap guifg=#1041a8 guibg=#dbf2ff gui=undercurl ctermfg=18 ctermbg=152 guisp=#1041a8 cterm=underline + hi SpellLocal guifg=#4d4214 guibg=#fdfec9 gui=undercurl ctermfg=52 ctermbg=229 guisp=#4d4214 cterm=underline + hi SpellRare guifg=#04530d guibg=#d0ead0 gui=undercurl ctermfg=22 ctermbg=151 guisp=#04530d cterm=underline + hi Statement guifg=#0c6cc0 gui=none ctermfg=25 + hi StatusLine guifg=#dcdcdc guibg=#4a4642 gui=none ctermfg=251 ctermbg=237 + hi StatusLineNC guifg=#dcdcdc guibg=#7a7672 gui=italic ctermfg=251 ctermbg=242 cterm=none + hi String guifg=#1041a8 ctermfg=18 + hi TabLine guifg=#dcdcdc guibg=#4a4642 gui=none ctermfg=251 ctermbg=237 + hi TabLineFill guifg=#dcdcdc guibg=#4a4642 gui=none ctermfg=251 ctermbg=237 + hi TabLineSel guifg=#4a4642 gui=none ctermfg=237 + hi Tag guifg=#a25a09 ctermfg=94 + hi Title guifg=#1041a8 gui=none ctermfg=18 + hi Todo guifg=#4d4214 guibg=#fdfec9 ctermfg=52 ctermbg=229 + hi Type guifg=#00695c gui=none ctermfg=23 + hi Underlined guifg=#0c6cc0 ctermfg=25 + hi VertSplit guifg=#4a4642 guibg=#4a4642 gui=none ctermfg=237 ctermbg=237 + hi Visual guibg=#cce0ef ctermbg=153 + hi WarningMsg guifg=#ea6042 ctermfg=166 + hi WildMenu guifg=#2e2e2e guibg=#f0f0e5 gui=none ctermfg=234 ctermbg=255 cterm=none +else + hi Normal guifg=#dadad5 guibg=#121713 gui=none ctermfg=255 ctermbg=234 cterm=none + hi ColorColumn guibg=#262f21 ctermbg=235 + hi Comment guifg=#707073 ctermfg=241 + hi Conceal guifg=#91b5d4 guibg=#121713 gui=none ctermfg=109 ctermbg=233 + hi Constant guifg=#70a395 ctermfg=66 + hi Cursor guibg=#f39812 ctermbg=172 + hi CursorColumn guibg=#23343d ctermbg=235 + hi CursorIM guibg=#4a9f68 ctermbg=65 + hi CursorLine guibg=#23343d gui=none ctermbg=24 cterm=none + hi CursorLineNr guifg=#7c8884 guibg=#23343d gui=none ctermfg=66 ctermbg=235 + hi DiffAdd guibg=#013a06 gui=none ctermfg=71 ctermbg=16 + hi DiffChange guibg=#4a4707 ctermfg=178 ctermbg=235 + hi DiffDelete guifg=#491008 guibg=#491008 ctermfg=237 ctermbg=237 + hi DiffText guifg=#fefd03 guibg=#7b7b00 ctermfg=226 ctermbg=58 + hi Directory guifg=#6aaaea ctermfg=68 + hi Error guifg=#ff8485 guibg=#121713 ctermfg=174 ctermbg=234 + hi ErrorMsg guifg=#ff8485 guibg=#121713 ctermfg=174 ctermbg=234 + hi FoldColumn guifg=#a0cab0 guibg=#303a3b ctermfg=109 ctermbg=236 + hi Folded guifg=#a0cab0 guibg=#303a3b ctermfg=109 ctermbg=236 + hi Function guifg=#d789c8 ctermfg=168 + hi Identifier guifg=#91a8a5 ctermfg=102 + hi Ignore guifg=#666666 ctermfg=240 + hi IncSearch guifg=#dadad5 guibg=#d51487 gui=none ctermfg=251 ctermbg=162 + hi LineNr guifg=#7c8884 guibg=#132423 ctermfg=66 ctermbg=234 + hi MatchParen guifg=#dadad5 guibg=#088b8c ctermfg=251 ctermbg=30 + hi ModeMsg guifg=#6badd1 ctermfg=67 + hi MoreMsg guifg=#add581 ctermfg=108 + hi NonText guifg=#7878ba gui=none ctermfg=61 + hi Operator guifg=#8d89c7 ctermfg=103 + hi Pmenu guifg=#dadad5 guibg=#292c2f ctermfg=251 ctermbg=237 + hi PmenuSbar guifg=#dadad5 guibg=#292c2f ctermfg=251 ctermbg=237 + hi PmenuSel guifg=#dadad5 guibg=#d51487 gui=none ctermfg=251 ctermbg=162 + hi PmenuThumb guifg=#dadad5 guibg=#d51487 gui=none ctermfg=251 ctermbg=162 + hi PreProc guifg=#8d89c7 ctermfg=103 + hi Question guifg=#00a0a0 ctermfg=30 + hi Search guifg=#121713 guibg=#c9c73c ctermfg=233 ctermbg=142 + hi SignColumn guifg=#7c8884 guibg=#132423 ctermfg=66 ctermbg=234 + hi Special guifg=#a7a053 ctermfg=101 + hi SpecialKey guifg=#3a4857 ctermfg=59 + hi SpellBad guifg=#ff8485 guibg=#121713 gui=undercurl ctermfg=174 ctermbg=233 guisp=#ff8485 cterm=underline + hi SpellCap guifg=#a7a053 guibg=#121713 gui=undercurl ctermfg=101 ctermbg=233 guisp=#a7a053 cterm=underline + hi SpellLocal guifg=#fdfec9 guibg=#121713 gui=undercurl ctermfg=187 ctermbg=233 guisp=#fdfec9 cterm=underline + hi SpellRare guifg=#a0cab0 guibg=#121713 gui=undercurl ctermfg=109 ctermbg=233 guisp=#a0cab0 cterm=underline + hi Statement guifg=#91b5d4 gui=none ctermfg=109 + hi StatusLine guifg=#b2b5b2 guibg=#292c2f gui=none ctermfg=247 ctermbg=237 + hi StatusLineNC guifg=#727572 guibg=#020508 gui=italic ctermfg=235 ctermbg=232 cterm=none + hi String guifg=#a7a053 ctermfg=101 + hi TabLine guifg=#b2b5b2 guibg=#292c2f gui=none ctermfg=247 ctermbg=237 + hi TabLineFill guifg=#b2b5b2 guibg=#292c2f gui=none ctermfg=247 ctermbg=237 + hi TabLineSel guifg=#d789c8 gui=none ctermfg=139 + hi Tag guifg=#d38d6b ctermfg=137 + hi Title guifg=#a7a053 gui=none ctermfg=101 + hi Todo guifg=#fdfec9 guibg=#4d4214 ctermfg=187 ctermbg=234 + hi Type guifg=#5f94ca gui=none ctermfg=67 + hi Underlined guifg=#91b5d4 ctermfg=109 + hi VertSplit guifg=#292c2f guibg=#292c2f gui=none ctermfg=237 ctermbg=237 + hi Visual guibg=#23343d ctermbg=24 + hi WarningMsg guifg=#e0b088 ctermfg=144 + hi WildMenu guifg=#dadad5 guibg=#121713 gui=none ctermfg=255 ctermbg=234 cterm=none +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/seoul256-light.vim b/nvim/plugged/awesome-vim-colorschemes/colors/seoul256-light.vim new file mode 100644 index 00000000..c4d0fe9a --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/seoul256-light.vim @@ -0,0 +1,76 @@ +" " _____ _ ___ ___ ___ " +" " | __|___ ___ _ _| |_ | _| _| " +" " |__ | -_| . | | | | _|_ | . | " +" " |_____|___|___|___|_|___|___|___|-light.vim " +" +" " Low-contrast light Vim color scheme using Seoul Colors " +" +" File: seoul256-light.vim +" URL: github.com/junegunn/seoul256.vim +" Author: Junegunn Choi (junegunn.c@gmail.com) +" License: MIT +" +" Copyright (c) 2017 Junegunn Choi +" +" MIT License +" +" Permission is hereby granted, free of charge, to any person obtaining +" a copy of this software and associated documentation files (the +" "Software"), to deal in the Software without restriction, including +" without limitation the rights to use, copy, modify, merge, publish, +" distribute, sublicense, and/or sell copies of the Software, and to +" permit persons to whom the Software is furnished to do so, subject to +" the following conditions: +" +" The above copyright notice and this permission notice shall be +" included in all copies or substantial portions of the Software. +" +" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +let s:master = expand('<sfile>:p:h').'/seoul256.vim' +let s:custom_bg = get(g:, 'seoul256_light_background', get(g:, 'seoul256_background', 253)) +let s:light = s:custom_bg >= 252 && s:custom_bg <= 256 +let s:var_found = exists('g:seoul256_background') +let s:light_var_found = exists('g:seoul256_light_background') + +if filereadable(s:master) + try + " Backup current g:seoul256_background + if s:var_found + let s:backup = g:seoul256_background + endif + + " Invalid range. Force the default light version. + if !s:light && s:var_found + unlet g:seoul256_background + endif + + " g:seoul256_light_background is found, use it + if s:light && s:light_var_found + let g:seoul256_background = s:custom_bg + endif + + if get(g:, 'colors_name', '') == 'seoul256-light' && &background == 'dark' + set background=dark + else + set background=light + endif + let g:colors_name = 'seoul256' + execute 'silent source' fnameescape(s:master) + let g:colors_name = &background == 'dark' ? 'seoul256' : 'seoul256-light' + finally + " Revert g:seoul256_background + if s:var_found + let g:seoul256_background = s:backup + endif + endtry +else + echom 'seoul256.vim not found' +endif + diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/seoul256.vim b/nvim/plugged/awesome-vim-colorschemes/colors/seoul256.vim new file mode 100644 index 00000000..fa32cf76 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/seoul256.vim @@ -0,0 +1,443 @@ +" " _____ _ ___ ___ ___ " +" " | __|___ ___ _ _| |_ | _| _| " +" " |__ | -_| . | | | | _|_ | . | " +" " |_____|___|___|___|_|___|___|___|.vim " +" +" " Low-contrast dark Vim color scheme using Seoul Colors " +" +" File: seoul256.vim +" URL: github.com/junegunn/seoul256.vim +" Author: Junegunn Choi (junegunn.c@gmail.com) +" License: MIT +" +" Copyright (c) 2017 Junegunn Choi +" +" MIT License +" +" Permission is hereby granted, free of charge, to any person obtaining +" a copy of this software and associated documentation files (the +" "Software"), to deal in the Software without restriction, including +" without limitation the rights to use, copy, modify, merge, publish, +" distribute, sublicense, and/or sell copies of the Software, and to +" permit persons to whom the Software is furnished to do so, subject to +" the following conditions: +" +" The above copyright notice and this permission notice shall be +" included in all copies or substantial portions of the Software. +" +" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +if !exists('s:rgb_map') + if get(g:, 'seoul256_srgb', 0) + let s:rgb_map = + \{ 16: '#000000', 17: '#00005f', 18: '#000087', + \ 19: '#0000af', 20: '#0000d7', 21: '#0000ff', + \ 22: '#005f00', 23: '#005f5f', 24: '#005f87', + \ 25: '#005faf', 26: '#005fd7', 27: '#005fff', + \ 28: '#008700', 29: '#00875f', 30: '#008787', + \ 31: '#0087af', 32: '#0087d7', 33: '#0087ff', + \ 34: '#00af00', 35: '#00af5f', 36: '#00af87', + \ 37: '#00afaf', 38: '#00afd7', 39: '#00afff', + \ 40: '#00d700', 41: '#00d75f', 42: '#00d787', + \ 43: '#00d7af', 44: '#00d7d7', 45: '#00d7ff', + \ 46: '#00ff00', 47: '#00ff5f', 48: '#00ff87', + \ 49: '#00ffaf', 50: '#00ffd7', 51: '#00ffff', + \ 52: '#5f0000', 53: '#5f005f', 54: '#5f0087', + \ 55: '#5f00af', 56: '#5f00d7', 57: '#5f00ff', + \ 58: '#5f5f00', 59: '#5f5f5f', 60: '#5f5f87', + \ 61: '#5f5faf', 62: '#5f5fd7', 63: '#5f5fff', + \ 64: '#5f8700', 65: '#5f875f', 66: '#5f8787', + \ 67: '#5f87af', 68: '#5f87d7', 69: '#5f87ff', + \ 70: '#5faf00', 71: '#5faf5f', 72: '#5faf87', + \ 73: '#5fafaf', 74: '#5fafd7', 75: '#5fafff', + \ 76: '#5fd700', 77: '#5fd75f', 78: '#5fd787', + \ 79: '#5fd7af', 80: '#5fd7d7', 81: '#5fd7ff', + \ 82: '#5fff00', 83: '#5fff5f', 84: '#5fff87', + \ 85: '#5fffaf', 86: '#5fffd7', 87: '#5fffff', + \ 88: '#870000', 89: '#87005f', 90: '#870087', + \ 91: '#8700af', 92: '#8700d7', 93: '#8700ff', + \ 94: '#875f00', 95: '#875f5f', 96: '#875f87', + \ 97: '#875faf', 98: '#875fd7', 99: '#875fff', + \ 100: '#878700', 101: '#87875f', 102: '#878787', + \ 103: '#8787af', 104: '#8787d7', 105: '#8787ff', + \ 106: '#87af00', 107: '#87af5f', 108: '#87af87', + \ 109: '#87afaf', 110: '#87afd7', 111: '#87afff', + \ 112: '#87d700', 113: '#87d75f', 114: '#87d787', + \ 115: '#87d7af', 116: '#87d7d7', 117: '#87d7ff', + \ 118: '#87ff00', 119: '#87ff5f', 120: '#87ff87', + \ 121: '#87ffaf', 122: '#87ffd7', 123: '#87ffff', + \ 124: '#af0000', 125: '#af005f', 126: '#af0087', + \ 127: '#af00af', 128: '#af00d7', 129: '#af00ff', + \ 130: '#af5f00', 131: '#af5f5f', 132: '#af5f87', + \ 133: '#af5faf', 134: '#af5fd7', 135: '#af5fff', + \ 136: '#af8700', 137: '#af875f', 138: '#af8787', + \ 139: '#af87af', 140: '#af87d7', 141: '#af87ff', + \ 142: '#afaf00', 143: '#afaf5f', 144: '#afaf87', + \ 145: '#afafaf', 146: '#afafd7', 147: '#afafff', + \ 148: '#afd700', 149: '#afd75f', 150: '#afd787', + \ 151: '#afd7af', 152: '#afd7d7', 153: '#afd7ff', + \ 154: '#afff00', 155: '#afff5f', 156: '#afff87', + \ 157: '#afffaf', 158: '#afffd7', 159: '#afffff', + \ 160: '#d70000', 161: '#d7005f', 162: '#d70087', + \ 163: '#d700af', 164: '#d700d7', 165: '#d700ff', + \ 166: '#d75f00', 167: '#d75f5f', 168: '#d75f87', + \ 169: '#d75faf', 170: '#d75fd7', 171: '#d75fff', + \ 172: '#d78700', 173: '#d7875f', 174: '#d78787', + \ 175: '#d787af', 176: '#d787d7', 177: '#d787ff', + \ 178: '#d7af00', 179: '#d7af5f', 180: '#d7af87', + \ 181: '#d7afaf', 182: '#d7afd7', 183: '#d7afff', + \ 184: '#d7d700', 185: '#d7d75f', 186: '#d7d787', + \ 187: '#d7d7af', 188: '#d7d7d7', 189: '#d7d7ff', + \ 190: '#d7ff00', 191: '#d7ff5f', 192: '#d7ff87', + \ 193: '#d7ffaf', 194: '#d7ffd7', 195: '#d7ffff', + \ 196: '#ff0000', 197: '#ff005f', 198: '#ff0087', + \ 199: '#ff00af', 200: '#ff00d7', 201: '#ff00ff', + \ 202: '#ff5f00', 203: '#ff5f5f', 204: '#ff5f87', + \ 205: '#ff5faf', 206: '#ff5fd7', 207: '#ff5fff', + \ 208: '#ff8700', 209: '#ff875f', 210: '#ff8787', + \ 211: '#ff87af', 212: '#ff87d7', 213: '#ff87ff', + \ 214: '#ffaf00', 215: '#ffaf5f', 216: '#ffaf87', + \ 217: '#ffafaf', 218: '#ffafd7', 219: '#ffafff', + \ 220: '#ffd700', 221: '#ffd75f', 222: '#ffd787', + \ 223: '#ffd7af', 224: '#ffd7d7', 225: '#ffd7ff', + \ 226: '#ffff00', 227: '#ffff5f', 228: '#ffff87', + \ 229: '#ffffaf', 230: '#ffffd7', 231: '#ffffff', + \ 232: '#080808', 233: '#121212', 234: '#1c1c1c', + \ 235: '#262626', 236: '#303030', 237: '#3a3a3a', + \ 238: '#444444', 239: '#4e4e4e', 240: '#585858', + \ 241: '#626262', 242: '#6c6c6c', 243: '#767676', + \ 244: '#808080', 245: '#8a8a8a', 246: '#949494', + \ 247: '#9e9e9e', 248: '#a8a8a8', 249: '#b2b2b2', + \ 250: '#bcbcbc', 251: '#c6c6c6', 252: '#d0d0d0', + \ 253: '#dadada', 254: '#e4e4e4', 255: '#eeeeee' } + else + let s:rgb_map = + \{ 22: '#006F00', 23: '#007173', 24: '#007299', 25: '#0074BE', 30: '#009799', + \ 31: '#0099BD', 38: '#00BDDF', 52: '#730B00', 58: '#727100', 59: '#727272', + \ 65: '#719872', 66: '#719899', 67: '#7299BC', 68: '#719CDF', 73: '#6FBCBD', + \ 74: '#70BDDF', 88: '#9B1300', 89: '#9B1D72', 94: '#9A7200', 95: '#9A7372', + \ 96: '#9A7599', 101: '#999872', 103: '#999ABD', 108: '#98BC99', 109: '#98BCBD', + \ 110: '#98BEDE', 116: '#97DDDF', 125: '#BF2172', 131: '#BE7572', 137: '#BE9873', + \ 143: '#BDBB72', 144: '#BDBC98', 145: '#BDBDBD', 151: '#BCDDBD', 152: '#BCDEDE', + \ 153: '#BCE0FF', 161: '#E12672', 168: '#E17899', 173: '#E19972', 174: '#E09B99', + \ 179: '#DFBC72', 181: '#E0BEBC', 184: '#DEDC00', 186: '#DEDD99', 187: '#DFDEBD', + \ 189: '#DFDFFF', 216: '#FFBD98', 217: '#FFBFBD', 218: '#FFC0DE', 220: '#FFDD00', + \ 222: '#FFDE99', 224: '#FFDFDF', 230: '#FFFFDF', 231: '#FFFFFF', 232: '#060606', + \ 233: '#171717', 234: '#252525', 235: '#333233', 236: '#3F3F3F', 237: '#4B4B4B', + \ 238: '#565656', 239: '#616161', 240: '#6B6B6B', 241: '#757575', 249: '#BFBFBF', + \ 250: '#C8C8C8', 251: '#D1D0D1', 252: '#D9D9D9', 253: '#E1E1E1', 254: '#E9E9E9', + \ 255: '#F1F1F1' } + endif +endif + +let s:background = &background +let s:colors_name = get(g:, 'colors_name', '') + +silent! unlet s:style s:seoul256_background + +" 1. If g:seoul256_background is found +if exists('g:seoul256_background') + let s:seoul256_background = g:seoul256_background + if s:seoul256_background >= 233 && s:seoul256_background <= 239 + let s:style = 'dark' + elseif s:seoul256_background >= 252 && s:seoul256_background <= 256 + let s:style = 'light' + else + unlet s:seoul256_background + endif +endif + +if !exists('s:style') + " 2. If g:colors_name is NOT 'seoul256' -> dark version + if s:colors_name != 'seoul256' + let s:style = 'dark' + " 3. Follow &background setting + else + let s:style = &background + endif +endif +let s:style_idx = s:style == 'light' + +" Background colors +if s:style == 'dark' + let s:dark_bg = get(s:, 'seoul256_background', 237) + let s:light_bg = 253 +else + let s:dark_bg = 237 + let s:light_bg = get(s:, 'seoul256_background', 253) +endif +let s:dark_bg_2 = s:dark_bg > 233 ? s:dark_bg - 2 : 16 +let s:light_bg_1 = min([s:light_bg + 1, 256]) +let s:light_bg_2 = min([s:light_bg + 2, 256]) + +" Foreground colors +let s:dark_fg = 252 +let s:light_fg = 239 + +function! s:hi(item, fg, bg) + let fg = a:fg[s:style_idx] > 255 ? 231 : a:fg[s:style_idx] + let bg = a:bg[s:style_idx] > 255 ? 231 : a:bg[s:style_idx] + + if !empty(fg) + execute printf("highlight %s ctermfg=%s guifg=%s", a:item, fg, get(s:rgb_map, fg, 'NONE')) + endif + if !empty(bg) + execute printf("highlight %s ctermbg=%s guibg=%s", a:item, bg, get(s:rgb_map, bg, 'NONE')) + endif +endfunction + +let s:gui = has('gui_running') +if !s:gui + set t_Co=256 +end + +silent! unlet g:colors_name +hi clear +if exists("syntax_on") + syntax reset +endif + +call s:hi('Normal', [s:dark_fg, s:light_fg], [s:dark_bg, s:light_bg]) + +call s:hi('LineNr', [101, 101], [s:dark_bg + 1, s:light_bg - 2]) +call s:hi('Visual', ['', ''], [23, 152]) +call s:hi('VisualNOS', ['', ''], [23, 152]) + +call s:hi('Comment', [65, 65], ['', '']) +call s:hi('Number', [222, 95], ['', '']) +call s:hi('Float', [222, 95], ['', '']) +call s:hi('Boolean', [103, 168], ['', '']) +call s:hi('String', [109, 30], ['', '']) +call s:hi('Constant', [73, 23], ['', '']) +call s:hi('Character', [174, 168], ['', '']) +call s:hi('Delimiter', [137, 94], ['', '']) +call s:hi('StringDelimiter', [137, 94], ['', '']) +call s:hi('Statement', [108, 66], ['', '']) +" case, default, etc. +" hi Label ctermfg= + +" if else end +call s:hi('Conditional', [110, 31], ['', '']) + +" while end +call s:hi('Repeat', [68, 67], ['', '']) +call s:hi('Todo', [161, 125], [s:dark_bg_2, s:light_bg_2]) +call s:hi('Function', [187, 58], ['', '']) + +" Macros +call s:hi('Define', [173, 131], ['', '']) +call s:hi('Macro', [173, 131], ['', '']) +call s:hi('Include', [173, 131], ['', '']) +call s:hi('PreCondit', [173, 131], ['', '']) + + +" #! +call s:hi('PreProc', [143, 58], ['', '']) + +" @abc +call s:hi('Identifier', [217, 96], ['', '']) + +" AAA Abc +call s:hi('Type', [179, 94], ['', '']) + +" + - * / << +call s:hi('Operator', [186, 131], ['', '']) + +" super yield +call s:hi('Keyword', [168, 168], ['', '']) + +" raise +call s:hi('Exception', [161, 161], ['', '']) +" +" hi StorageClass ctermfg= +call s:hi('Structure', [116, 23], ['', '']) +" hi Typedef ctermfg= + +call s:hi('Error', [s:dark_fg, s:light_bg_1], [52, 174]) +call s:hi('ErrorMsg', [s:dark_fg, s:light_bg_1], [52, 168]) +call s:hi('Underlined', [181, 168], ['', '']) + +" set textwidth=80 +" set colorcolumn=+1 +call s:hi('ColorColumn', ['', ''], [s:dark_bg - 1, s:light_bg - 2]) + +" GVIM only +" hi Cursor ctermfg= +" hi CursorIM ctermfg= + +" set cursorline cursorcolumn +call s:hi('CursorLine', ['', ''], [s:dark_bg - 1, s:light_bg - 1]) +call s:hi('CursorLineNr', [131, 131], [s:dark_bg - 1, s:light_bg - 1]) +call s:hi('CursorColumn', ['', ''], [s:dark_bg - 1, s:light_bg - 1]) +call s:hi('NormalFloat', ['', ''], [s:dark_bg - 1, s:light_bg - 1]) + +call s:hi('Directory', [187, 95], ['', '']) + +call s:hi('DiffAdd', ['NONE', 'NONE'], [22, 151]) +call s:hi('DiffDelete', ['NONE', 'NONE'], [95, 181]) +call s:hi('DiffChange', ['NONE', 'NONE'], [s:dark_bg + 3, 189]) +call s:hi('DiffText', ['NONE', 'NONE'], [52, 224]) + +call s:hi('VertSplit', [s:dark_bg_2, s:light_bg - 3], [s:dark_bg_2, s:light_bg - 3]) +call s:hi('Folded', [101, 101], [s:dark_bg + 1, s:light_bg - 2]) + +" set foldcolumn=1 +call s:hi('FoldColumn', [144, 94], [s:dark_bg + 1, s:light_bg - 2]) + +call s:hi('MatchParen', ['', ''], [s:dark_bg + 3, s:light_bg - 3]) + +" -- INSERT -- +call s:hi('ModeMsg', [173, 173], ['', '']) + +" let &showbreak = '> ' +call s:hi('NonText', [59, 145], ['', '']) + +call s:hi('MoreMsg', [173, 173], ['', '']) + +" Popup menu +call s:hi('Pmenu', [s:dark_bg + 1, 238], [224, 224]) +call s:hi('PmenuSel', [s:dark_fg, s:dark_fg], [89, 89]) +call s:hi('PmenuSbar', ['', ''], [65, 65]) +call s:hi('PmenuThumb', ['', ''], [23, 23]) + +call s:hi('Search', [s:dark_fg, 255], [24, 74]) +call s:hi('IncSearch', [220, 220], [s:dark_bg + 1, 238]) + +" String delimiter, interpolation +call s:hi('Special', [216, 173], ['', '']) +" hi SpecialChar ctermfg= +" hi SpecialComment ctermfg= +" hi Tag ctermfg= +" hi Debug ctermfg= + +" :map, listchars +call s:hi('SpecialKey', [59, 145], ['', '']) + +if !s:gui + " Red / Blue / Cyan / Magenta + if s:style_idx == 0 + hi SpellBad ctermbg=NONE cterm=underline ctermfg=168 + hi SpellCap ctermbg=NONE cterm=underline ctermfg=110 + hi SpellLocal ctermbg=NONE cterm=underline ctermfg=153 + hi SpellRare ctermbg=NONE cterm=underline ctermfg=218 + else + hi SpellBad ctermbg=NONE cterm=underline ctermfg=125 + hi SpellCap ctermbg=NONE cterm=underline ctermfg=25 + hi SpellLocal ctermbg=NONE cterm=underline ctermfg=31 + hi SpellRare ctermbg=NONE cterm=underline ctermfg=96 + endif +else + if s:style_idx == 0 + execute 'hi SpellBad gui=undercurl guisp=' . s:rgb_map[168] + execute 'hi SpellCap gui=undercurl guisp=' . s:rgb_map[110] + execute 'hi SpellLocal gui=undercurl guisp=' . s:rgb_map[153] + execute 'hi SpellRare gui=undercurl guisp=' . s:rgb_map[218] + else + execute 'hi SpellBad gui=undercurl guisp=' . s:rgb_map[125] + execute 'hi SpellCap gui=undercurl guisp=' . s:rgb_map[25] + execute 'hi SpellLocal gui=undercurl guisp=' . s:rgb_map[31] + execute 'hi SpellRare gui=undercurl guisp=' . s:rgb_map[96] + endif +endif + +" +call s:hi('StatusLine', [95, 95], [187, 187]) +call s:hi('StatusLineNC', [s:dark_bg + 2, s:light_bg - 2], [187, 238]) +call s:hi('StatusLineTerm', [95, 95], [187, 187]) +call s:hi('StatusLineTermNC', [s:dark_bg + 2, s:light_bg - 2], [187, 238]) +hi StatusLineTerm cterm=bold,reverse gui=bold,reverse +hi StatusLineTermNC cterm=bold,reverse gui=bold,reverse +call s:hi('TabLineFill', [s:dark_bg + 2, s:light_bg - 2], ['', '']) +call s:hi('TabLineSel', [187, 187], [23, 66]) +call s:hi('TabLine', [s:dark_bg + 12, s:light_bg - 12], [s:dark_bg + 4, s:light_bg - 4]) +call s:hi('WildMenu', [95, 95], [184, 184]) + +" :set all +call s:hi('Title', [181, 88], ['', '']) + +" TODO +call s:hi('Question', [179, 88], ['', '']) + +" Search hit bottom +call s:hi('WarningMsg', [179, 88], ['', '']) + +" Sign column +call s:hi('SignColumn', [173, 173], [s:dark_bg, s:light_bg]) + +" Diff +call s:hi('diffAdded', [108, 65], ['', '']) +call s:hi('diffRemoved', [174, 131], ['', '']) +hi link diffLine Constant + +call s:hi('Conceal', [s:dark_fg + 2, s:light_fg - 2], [s:dark_bg - 1, s:light_bg + 2]) +call s:hi('Ignore', [s:dark_bg + 3, s:light_bg - 3], [s:dark_bg, s:light_bg]) + +""""""""""""""""""""""""""""""""""""""""""""""""" +" Plugins +""""""""""""""""""""""""""""""""""""""""""""""""" + +" vim-indent-guides +" ----------------- +let g:indent_guides_auto_colors = 0 +call s:hi('IndentGuidesOdd', ['', ''], [s:dark_bg - 1, s:light_bg + 1]) +call s:hi('IndentGuidesEven', ['', ''], [s:dark_bg + 1, s:light_bg - 1]) + +" vim-gitgutter +" ------------- +call s:hi('GitGutterAdd', [108, 65], [s:dark_bg + 1, s:light_bg - 2]) +call s:hi('GitGutterChange', [68, 68], [s:dark_bg + 1, s:light_bg - 2]) +call s:hi('GitGutterDelete', [161, 161], [s:dark_bg + 1, s:light_bg - 2]) +call s:hi('GitGutterChangeDelete', [168, 168], [s:dark_bg + 1, s:light_bg - 2]) + +" ale +" --- +call s:hi('ALEErrorSign', [161, 161], [s:dark_bg, s:light_bg]) +call s:hi('ALEWarningSign', [174, 131], [s:dark_bg, s:light_bg]) + +" vim-signify +" ----------- +call s:hi('SignifySignAdd', [108, 65], [s:dark_bg + 1, s:light_bg - 2]) +call s:hi('SignifySignChange', [68, 68], [s:dark_bg + 1, s:light_bg - 2]) +call s:hi('SignifySignDelete', [161, 161], [s:dark_bg + 1, s:light_bg - 2]) + +" coc.nvim +" -------- +call s:hi('CocFloating', [s:dark_fg, s:light_fg], [s:dark_bg_2, s:light_bg - 2]) + +" http://vim.wikia.com/wiki/Highlight_unwanted_spaces +" ---------------------------------------------------^^^^^ +call s:hi('ExtraWhitespace', ['', ''], [s:dark_bg - 1, s:light_bg - 2]) + +" vim-ruby +" -------- +" " rubySymbol +let ruby_operators = 1 +call s:hi('rubyClass', [31, 31], ['', '']) +" call s:hi('rubyInstanceVariable', [189, 189], ['', '']) +call s:hi('rubyRegexp', [186, 101], ['', '']) +call s:hi('rubyRegexpDelimiter', [168, 168], ['', '']) +call s:hi('rubyArrayDelimiter', [67, 38], ['', '']) +call s:hi('rubyBlockParameterList', [186, 94], ['', '']) +call s:hi('rubyCurlyBlockDelimiter', [144, 101], ['', '']) + +" ARGV $stdout +call s:hi('rubyPredefinedIdentifier', [230, 52], ['', '']) +" hi rubyRegexpSpecial + +hi CursorLine cterm=NONE +hi CursorLineNr cterm=NONE + +let g:seoul256_current_fg = [s:dark_fg, s:light_fg][s:style_idx] +let g:seoul256_current_bg = [s:dark_bg, s:light_bg][s:style_idx] +let g:colors_name = 'seoul256' +if s:colors_name != g:colors_name || s:background == s:style + let &background = s:style +else + let &background = s:background +endif diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/sierra.vim b/nvim/plugged/awesome-vim-colorschemes/colors/sierra.vim new file mode 100644 index 00000000..eb707659 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/sierra.vim @@ -0,0 +1,345 @@ +"AUTHOR: Alessandro Yorba +"SCRIPT: https://github.com/AlessandroYorba/Sierra +" +"UPDATED: Thurs Nov 28th, 2020 +"CHANGES: Identifier is now Cyan +" +"SUPPORT: +" 256 color terminals, Gui versions of vim, and Termguicolors versions of vim +" +"INSTALL LOCATION: +"Unix users, place sierra.vim in ~/.vim/colors +"Windows users, place sierra.vim in ~\vimfiles\colors + +"From your .vimrc add one of the following options +" colorscheme sierra +" +set background=dark + +highlight clear +if exists("syntax_on") + syntax reset +endif + +let g:colors_name="sierra" + +"DARKER GREY BACKGROUND +if !exists("g:sierra_Twilight") + let g:sierra_Twilight = 0 +endif + +"ALMOST BLACK BACKGROUND +if !exists("g:sierra_Midnight") + let g:sierra_Midnight = 0 +endif + +"BLACK BACKGROUND +if !exists("g:sierra_Pitch") + let g:sierra_Pitch = 0 +endif + +"REMOVE BLOCK MATCHPARENS - ADDS UNDERLINE +if !exists("g:sierra_Nevada") + let g:sierra_Nevada = 0 +endif + +"TERMINAL COLORS +let g:terminal_ansi_colors = [ + \ '#252525', + \ '#af5e5e', + \ '#d75e5e', + \ '#afd7d7', + \ '#ae8687', + \ '#dfae86', + \ '#ffafaf', + \ '#dfdfde', + \ '#6c6b6b', + \ '#af5e5e', + \ '#d75e5e', + \ '#afd7d7', + \ '#ae8687', + \ '#dfae86', + \ '#ffafaf', + \ '#dfdfde',] + +highlight! Grey guifg=#b2b2b2 guibg=NONE gui=NONE ctermfg=249 ctermbg=NONE cterm=NONE +highlight! Grey_Reverse guifg=#767676 guibg=NONE gui=reverse ctermfg=243 ctermbg=NONE cterm=reverse +highlight! Silver_Reverse guifg=#c6c6c6 guibg=NONE gui=reverse ctermfg=251 ctermbg=NONE cterm=reverse +highlight! Cyan guifg=#afd7d7 guibg=NONE gui=NONE ctermfg=152 ctermbg=NONE cterm=NONE +highlight! Dark_Cyan guifg=#5f8787 guibg=NONE gui=NONE ctermfg=66 ctermbg=NONE cterm=NONE +highlight! Dark_Cyan_Reverse guifg=#5f8787 guibg=NONE gui=reverse ctermfg=66 ctermbg=NONE cterm=reverse +highlight! Medium_Cyan guifg=#87afaf guibg=NONE gui=NONE ctermfg=109 ctermbg=NONE cterm=NONE +highlight! Medium_Cyan_Reverse guifg=#87afaf guibg=NONE gui=reverse ctermfg=109 ctermbg=NONE cterm=reverse +highlight! Dark_Red_Reverse guifg=#af5f5f guibg=NONE gui=reverse ctermfg=131 ctermbg=NONE cterm=reverse +highlight! Light_Red guifg=#dfafaf guibg=NONE gui=NONE ctermfg=181 ctermbg=NONE cterm=NONE +highlight! Medium_Red guifg=#d78787 guibg=NONE gui=NONE ctermfg=174 ctermbg=NONE cterm=NONE +highlight! Dark_Red guifg=#af5f5f guibg=NONE gui=NONE ctermfg=131 ctermbg=NONE cterm=NONE +highlight! Red_Reverse guifg=#d75f5f guibg=NONE gui=reverse ctermfg=167 ctermbg=NONE cterm=reverse +highlight! Red guifg=#d75f5f guibg=NONE gui=NONE ctermfg=167 ctermbg=NONE cterm=NONE +highlight! Orange guifg=#dfaf5f guibg=NONE gui=NONE ctermfg=179 ctermbg=NONE cterm=NONE +highlight! Dark_Purple guifg=#875f5f guibg=NONE gui=NONE ctermfg=95 ctermbg=NONE cterm=NONE +highlight! Purple guifg=#af8787 guibg=NONE gui=NONE ctermfg=138 ctermbg=NONE cterm=NONE + +highlight! link FoldColumn Cyan +highlight! link cssTagName Cyan +highlight! link vimUserFunc Cyan +highlight! link Function Cyan +highlight! link vimFunction Cyan +highlight! link Identifier Cyan + +highlight! link vimAutoEventList Medium_Cyan + +highlight! link DiffChange Dark_Cyan_Reverse + +highlight! link DiffAdd Medium_Cyan_Reverse +highlight! link DiffText Medium_Cyan_Reverse +highlight! link diffAdded Medium_Cyan_Reverse + +highlight! link Statement Dark_Purple +highlight! link Conditional Dark_Purple + + +highlight! link htmlEndTag Red +highlight! link htmlTag Red +highlight! link htmlItalic Red +highlight! link htmlStatement Red +highlight! link Type Red +highlight! link vimAutoCmdSfxList Red +highlight! link PreProc Red +highlight! link cssClassName Red +highlight! link cssIdentifier Red +highlight! link Title Red +highlight! link WarningMsg Red +highlight! link diffBDiffer Red +highlight! link diffCommon Red +highlight! link diffDiffer Red +highlight! link diffIdentical Red +highlight! link diffIsA Red +highlight! link diffNoEOL Red +highlight! link diffOnly Red +highlight! link netrwExe Red + +highlight! link Error Red_Reverse +highlight! link ErrorMsg Red_Reverse + +highlight! link Label Dark_Red +highlight! link Constant Dark_Red + +highlight! link htmlArg Medium_Red +highlight! link Number Medium_Red + +highlight! link String Light_Red + +highlight! link Special Purple +highlight! link vimCmdSep Purple +highlight! link StorageClass Purple +highlight! link Directory Purple + +highlight! link Operator Grey + +highlight! link SpecialComment Grey_Reverse +highlight! link VimCommentTitle Grey_Reverse +highlight! link vimCommentTitle Grey_Reverse + +highlight! link WildMenu Silver_Reverse +highlight! link Visual Silver_Reverse +highlight! link Search Silver_Reverse + +highlight! link DiffDelete Dark_Red_Reverse +highlight! link diffChanged Dark_Red_Reverse +highlight! link diffFile Dark_Red_Reverse +highlight! link diffIndexLine Dark_Red_Reverse +highlight! link diffRemoved Dark_Red_Reverse + +highlight! link MoreMsg Orange +highlight! link Question Orange +"TODO: + +highlight Underlined guifg=#dfaf87 guibg=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE +highlight MatchParen guifg=#eeeeee guibg=#875f5f gui=NONE ctermfg=255 ctermbg=95 cterm=NONE +highlight ModeMsg guifg=#dfdfdf guibg=NONE gui=NONE ctermfg=188 ctermbg=NONE cterm=NONE +highlight Todo guifg=#eeeeee guibg=#1c1c1c gui=reverse ctermfg=255 ctermbg=234 cterm=reverse +highlight SignColumn guifg=#87af87 guibg=NONE gui=NONE ctermfg=108 ctermbg=NONE cterm=NONE + +"DARKER GRAY BACKGROUND +if 1 + "COLORS + highlight Normal guifg=#d0d0d0 guibg=#262626 gui=NONE ctermfg=252 ctermbg=235 cterm=NONE + highlight Comment guifg=#585858 guibg=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE + + "WINDOW UI + highlight StatusLine guifg=#eeeeee guibg=#1c1c1c gui=NONE ctermfg=255 ctermbg=234 cterm=NONE + highlight StatusLineNC guifg=#6c6c6c guibg=#1c1c1c gui=NONE ctermfg=242 ctermbg=234 cterm=NONE + highlight StatusLineTerm guifg=#eeeeee guibg=#1c1c1c gui=NONE ctermfg=255 ctermbg=234 cterm=NONE + highlight StatusLineTermNC guifg=#6c6c6c guibg=#1c1c1c gui=NONE ctermfg=242 ctermbg=234 cterm=NONE + + highlight Pmenu guifg=#6c6c6c guibg=#303030 gui=NONE ctermfg=242 ctermbg=236 cterm=NONE + highlight PmenuSel guifg=#eeeeee guibg=#303030 gui=NONE ctermfg=255 ctermbg=236 cterm=NONE + highlight PmenuSbar guifg=#303030 guibg=#303030 gui=NONE ctermfg=236 ctermbg=236 cterm=NONE + highlight PmenuThumb guifg=#303030 guibg=#303030 gui=NONE ctermfg=236 ctermbg=236 cterm=NONE + highlight TabLine guifg=#6c6c6c guibg=#1c1c1c gui=NONE ctermfg=242 ctermbg=234 cterm=NONE + highlight TabLineSel guifg=#eeeeee guibg=#1c1c1c gui=NONE ctermfg=255 ctermbg=234 cterm=NONE + highlight TabLineFill guifg=NONE guibg=#1c1c1c gui=NONE ctermfg=NONE ctermbg=234 cterm=NONE + + highlight CursorLineNR guifg=#9e9e9e guibg=#1c1c1c gui=NONE ctermfg=247 ctermbg=234 cterm=NONE + highlight CursorLine guifg=NONE guibg=#303030 gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE + highlight CursorColumn guifg=NONE guibg=#303030 gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE + highlight ColorColumn guifg=NONE guibg=#303030 gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE + highlight Folded guifg=#6c6c6c guibg=NONE gui=NONE ctermfg=242 ctermbg=NONE cterm=NONE + highlight VertSplit guifg=#3a3a3a guibg=#262626 gui=NONE ctermfg=237 ctermbg=235 cterm=NONE + highlight LineNr guifg=#4e4e4e guibg=#1c1c1c gui=NONE ctermfg=239 ctermbg=234 cterm=NONE + highlight NonText guifg=#3a3a3a guibg=NONE gui=NONE ctermfg=237 ctermbg=NONE cterm=NONE + highlight SpecialKey guifg=#3a3a3a guibg=NONE gui=NONE ctermfg=237 ctermbg=NONE cterm=NONE + + highlight SpellBad guifg=#ff0000 guibg=NONE gui=undercurl ctermfg=196 ctermbg=NONE cterm=undercurl + highlight SpellLocal guifg=#5f875f guibg=NONE gui=undercurl ctermfg=65 ctermbg=NONE cterm=undercurl + highlight SpellCap guifg=#87afff guibg=NONE gui=undercurl ctermfg=111 ctermbg=NONE cterm=undercurl + highlight SpellRare guifg=#ff8700 guibg=NONE gui=undercurl ctermfg=208 ctermbg=NONE cterm=undercurl + + highlight VisualNOS guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline + highlight Cursor guifg=#000000 guibg=#ffffff gui=NONE ctermfg=16 ctermbg=231 cterm=NONE +endif + +"DARKER GRAY BACKGROUND +if g:sierra_Twilight + "COLORS + highlight Normal guifg=#d0d0d0 guibg=#1c1c1c gui=NONE ctermfg=252 ctermbg=234 cterm=NONE + highlight Comment guifg=#4e4e4e guibg=NONE gui=NONE ctermfg=239 ctermbg=NONE cterm=NONE + + "WINDOW UI + highlight StatusLine guifg=#eeeeee guibg=#121212 gui=NONE ctermfg=255 ctermbg=233 cterm=NONE + highlight StatusLineNC guifg=#626262 guibg=#121212 gui=NONE ctermfg=241 ctermbg=233 cterm=NONE + highlight StatusLineTerm guifg=#eeeeee guibg=#121212 gui=NONE ctermfg=255 ctermbg=233 cterm=NONE + highlight StatusLineTermNC guifg=#626262 guibg=#121212 gui=NONE ctermfg=241 ctermbg=233 cterm=NONE + + highlight Pmenu guifg=#626262 guibg=#262626 gui=NONE ctermfg=241 ctermbg=235 cterm=NONE + highlight PmenuSel guifg=#eeeeee guibg=#262626 gui=NONE ctermfg=255 ctermbg=235 cterm=NONE + highlight PmenuSbar guifg=#262626 guibg=#262626 gui=NONE ctermfg=235 ctermbg=235 cterm=NONE + highlight PmenuThumb guifg=#262626 guibg=#262626 gui=NONE ctermfg=235 ctermbg=235 cterm=NONE + highlight TabLine guifg=#626262 guibg=#121212 gui=NONE ctermfg=241 ctermbg=233 cterm=NONE + highlight TabLineSel guifg=#eeeeee guibg=#121212 gui=NONE ctermfg=255 ctermbg=233 cterm=NONE + highlight TabLineFill guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=233 cterm=NONE + + highlight CursorLineNR guifg=#9e9e9e guibg=#121212 gui=NONE ctermfg=247 ctermbg=233 cterm=NONE + highlight CursorLine guifg=NONE guibg=#262626 gui=NONE ctermfg=NONE ctermbg=235 cterm=NONE + highlight CursorColumn guifg=NONE guibg=#262626 gui=NONE ctermfg=NONE ctermbg=235 cterm=NONE + highlight ColorColumn guifg=NONE guibg=#262626 gui=NONE ctermfg=NONE ctermbg=235 cterm=NONE + highlight Folded guifg=#626262 guibg=NONE gui=NONE ctermfg=241 ctermbg=NONE cterm=NONE + highlight VertSplit guifg=#303030 guibg=#1c1c1c gui=NONE ctermfg=236 ctermbg=234 cterm=NONE + highlight LineNr guifg=#4e4e4e guibg=#121212 gui=NONE ctermfg=239 ctermbg=233 cterm=NONE + highlight NonText guifg=#303030 guibg=NONE gui=NONE ctermfg=236 ctermbg=NONE cterm=NONE + highlight SpecialKey guifg=#303030 guibg=NONE gui=NONE ctermfg=236 ctermbg=NONE cterm=NONE + + highlight SpellBad guifg=#ff0000 guibg=NONE gui=undercurl ctermfg=196 ctermbg=NONE cterm=undercurl + highlight SpellLocal guifg=#5f875f guibg=NONE gui=undercurl ctermfg=65 ctermbg=NONE cterm=undercurl + highlight SpellCap guifg=#87afff guibg=NONE gui=undercurl ctermfg=111 ctermbg=NONE cterm=undercurl + highlight SpellRare guifg=#ff8700 guibg=NONE gui=undercurl ctermfg=208 ctermbg=NONE cterm=undercurl + + highlight VisualNOS guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline + highlight Cursor guifg=#000000 guibg=#ffffff gui=NONE ctermfg=16 ctermbg=231 cterm=NONE +endif + +"ALMOST BLACK BACKGROUND +if g:sierra_Midnight + "COLORS + highlight Normal guifg=#d0d0d0 guibg=#121212 gui=NONE ctermfg=252 ctermbg=233 cterm=NONE + highlight Comment guifg=#4e4e4e guibg=NONE gui=NONE ctermfg=239 ctermbg=NONE cterm=NONE + + "WINDOW UI + highlight StatusLine guifg=#eeeeee guibg=#1c1c1c gui=none ctermfg=255 ctermbg=234 cterm=none + highlight StatusLineNC guifg=#585858 guibg=#1c1c1c gui=none ctermfg=240 ctermbg=234 cterm=none + highlight StatusLineTerm guifg=#eeeeee guibg=#1c1c1c gui=none ctermfg=255 ctermbg=234 cterm=none + highlight StatusLineTermNC guifg=#585858 guibg=#1c1c1c gui=none ctermfg=240 ctermbg=234 cterm=none + + highlight Pmenu guifg=#585858 guibg=#1c1c1c gui=none ctermfg=240 ctermbg=234 cterm=none + highlight PmenuSel guifg=#eeeeee guibg=#1c1c1c gui=none ctermfg=255 ctermbg=234 cterm=none + highlight PmenuSbar guifg=#1c1c1c guibg=#1c1c1c gui=NONE ctermfg=234 ctermbg=234 cterm=NONE + highlight PmenuThumb guifg=#1c1c1c guibg=#1c1c1c gui=NONE ctermfg=234 ctermbg=234 cterm=NONE + highlight TabLine guifg=#585858 guibg=#1c1c1c gui=none ctermfg=240 ctermbg=234 cterm=none + highlight TabLineSel guifg=#eeeeee guibg=#1c1c1c gui=none ctermfg=255 ctermbg=234 cterm=none + highlight TabLineFill guifg=NONE guibg=#1c1c1c gui=NONE ctermfg=NONE ctermbg=234 cterm=NONE + + highlight CursorLineNR guifg=#9e9e9e guibg=#1c1c1c gui=NONE ctermfg=247 ctermbg=234 cterm=NONE + highlight CursorLine guifg=NONE guibg=#080808 gui=NONE ctermfg=NONE ctermbg=232 cterm=NONE + highlight CursorColumn guifg=NONE guibg=#080808 gui=NONE ctermfg=NONE ctermbg=232 cterm=NONE + highlight ColorColumn guifg=NONE guibg=#080808 gui=NONE ctermfg=NONE ctermbg=232 cterm=NONE + highlight Folded guifg=#585858 guibg=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE + highlight VertSplit guifg=#262626 guibg=#121212 gui=NONE ctermfg=235 ctermbg=233 cterm=NONE + highlight LineNr guifg=#4e4e4e guibg=#1c1c1c gui=none ctermfg=239 ctermbg=234 cterm=none + highlight NonText guifg=#262626 guibg=NONE gui=NONE ctermfg=235 ctermbg=NONE cterm=NONE + highlight SpecialKey guifg=#262626 guibg=NONE gui=NONE ctermfg=235 ctermbg=NONE cterm=NONE + + highlight SpellBad guifg=#ff0000 guibg=NONE gui=undercurl ctermfg=196 ctermbg=NONE cterm=undercurl + highlight SpellLocal guifg=#5f875f guibg=NONE gui=undercurl ctermfg=65 ctermbg=NONE cterm=undercurl + highlight SpellCap guifg=#87afff guibg=NONE gui=undercurl ctermfg=111 ctermbg=NONE cterm=undercurl + highlight SpellRare guifg=#ff8700 guibg=NONE gui=undercurl ctermfg=208 ctermbg=NONE cterm=undercurl + + highlight VisualNOS guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline + highlight Cursor guifg=#000000 guibg=#ffffff gui=NONE ctermfg=16 ctermbg=231 cterm=NONE +endif + +"BLACK BACKGROUND +if g:sierra_Pitch + "COLORS + highlight Normal guifg=#d0d0d0 guibg=#080808 gui=NONE ctermfg=252 ctermbg=232 cterm=NONE + highlight Comment guifg=#4e4e4e guibg=NONE gui=NONE ctermfg=239 ctermbg=NONE cterm=NONE + + "WINDOW UI + highlight StatusLine guifg=#eeeeee guibg=#121212 gui=NONE ctermfg=255 ctermbg=233 cterm=NONE + highlight StatusLineNC guifg=#4e4e4e guibg=#121212 gui=NONE ctermfg=239 ctermbg=233 cterm=NONE + highlight StatusLineTerm guifg=#eeeeee guibg=#121212 gui=NONE ctermfg=255 ctermbg=233 cterm=NONE + highlight StatusLineTermNC guifg=#4e4e4e guibg=#121212 gui=NONE ctermfg=239 ctermbg=233 cterm=NONE + + highlight Pmenu guifg=#4e4e4e guibg=#121212 gui=NONE ctermfg=239 ctermbg=233 cterm=NONE + highlight PmenuSel guifg=#eeeeee guibg=#121212 gui=NONE ctermfg=255 ctermbg=233 cterm=NONE + highlight PmenuSbar guifg=#121212 guibg=#121212 gui=NONE ctermfg=233 ctermbg=233 cterm=NONE + highlight PmenuThumb guifg=#121212 guibg=#121212 gui=NONE ctermfg=233 ctermbg=233 cterm=NONE + highlight TabLine guifg=#4e4e4e guibg=#121212 gui=NONE ctermfg=239 ctermbg=233 cterm=NONE + highlight TabLineSel guifg=#eeeeee guibg=#121212 gui=NONE ctermfg=255 ctermbg=233 cterm=NONE + highlight TabLineFill guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=235 cterm=NONE + + highlight CursorLineNR guifg=#9e9e9e guibg=#121212 gui=NONE ctermfg=247 ctermbg=233 cterm=NONE + highlight CursorLine guifg=NONE guibg=#000000 gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE + highlight CursorColumn guifg=NONE guibg=#000000 gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE + highlight ColorColumn guifg=NONE guibg=#000000 gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE + highlight Folded guifg=#4e4e4e guibg=NONE gui=NONE ctermfg=239 ctermbg=NONE cterm=NONE + highlight VertSplit guifg=#1c1c1c guibg=#080808 gui=NONE ctermfg=234 ctermbg=232 cterm=NONE + highlight LineNr guifg=#4e4e4e guibg=#121212 gui=NONE ctermfg=239 ctermbg=233 cterm=NONE + highlight NonText guifg=#1c1c1c guibg=NONE gui=NONE ctermfg=234 ctermbg=NONE cterm=NONE + highlight SpecialKey guifg=#1c1c1c guibg=NONE gui=NONE ctermfg=234 ctermbg=NONE cterm=NONE + + highlight SpellBad guifg=#ff0000 guibg=NONE gui=undercurl ctermfg=196 ctermbg=NONE cterm=undercurl + highlight SpellLocal guifg=#5f875f guibg=NONE gui=undercurl ctermfg=65 ctermbg=NONE cterm=undercurl + highlight SpellCap guifg=#87afff guibg=NONE gui=undercurl ctermfg=111 ctermbg=NONE cterm=undercurl + highlight SpellRare guifg=#ff8700 guibg=NONE gui=undercurl ctermfg=208 ctermbg=NONE cterm=undercurl + + highlight VisualNOS guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline + highlight Cursor guifg=#000000 guibg=#ffffff gui=NONE ctermfg=16 ctermbg=231 cterm=NONE +endif + +"REMOVE BLOCK MATCHPARENS - ADDS UNDERLINE +if g:sierra_Nevada + "WINDOW UI + highlight MatchParen guifg=#ffffff guibg=#000000 gui=underline ctermfg=231 ctermbg=16 cterm=underline +endif + +"LICENSE: +"Copyright (c) 2020 Alessandro Yorba +" +"Permission is hereby granted, free of charge, to any person obtaining a copy +"of this software and associated documentation files (the "Software"), to deal +"in the Software without restriction, including without limitation the rights +"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +"copies of the Software, and to permit persons to whom the Software is +"furnished to do so, subject to the following conditions: +" +"The above copyright notice and this permission notice shall be included in +"all copies or substantial portions of the Software. +" +"THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +"THE SOFTWARE. diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/snow.vim b/nvim/plugged/awesome-vim-colorschemes/colors/snow.vim new file mode 100644 index 00000000..848e60f0 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/snow.vim @@ -0,0 +1,504 @@ +" Name: snow +" Author: haystackandroid +" Maintainer: haystackandroid +" License: MIT + +if !(has('termguicolors') && &termguicolors) && !has('gui_running') + \ && (!exists('&t_Co') || &t_Co < 256) + echoerr '[snow] There are not enough colors.' + finish +endif + +hi clear +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = 'snow' + +if &background ==# 'dark' + hi Bold ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi Conceal ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Directory ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi EndOfBuffer ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Ignore ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Italic ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,italic gui=NONE,italic + hi ModeMsg ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi MoreMsg ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Question ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NonText ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Normal ctermfg=249 ctermbg=236 guifg=#afb7c0 guibg=#2c2d30 guisp=NONE cterm=NONE gui=NONE + hi Terminal ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Title ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi Underlined ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,underline gui=NONE,underline + hi Comment ctermfg=246 ctermbg=NONE guifg=#8c95a0 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi CursorLineNr ctermfg=246 ctermbg=NONE guifg=#8c95a0 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi LineNr ctermfg=246 ctermbg=NONE guifg=#8c95a0 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi FoldColumn ctermfg=249 ctermbg=NONE guifg=#afb7c0 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi PmenuSel ctermfg=249 ctermbg=236 guifg=#afb7c0 guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi SignColumn ctermfg=249 ctermbg=NONE guifg=#afb7c0 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi StatusLine ctermfg=249 ctermbg=236 guifg=#afb7c0 guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi StatusLineTerm ctermfg=249 ctermbg=236 guifg=#afb7c0 guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi TabLineSel ctermfg=249 ctermbg=236 guifg=#afb7c0 guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi VisualNOS ctermfg=246 ctermbg=236 guifg=#8c95a0 guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Cursor ctermfg=252 ctermbg=236 guifg=#cbd2d9 guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi IncSearch ctermfg=252 ctermbg=236 guifg=#cbd2d9 guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi ColorColumn ctermfg=NONE ctermbg=237 guifg=NONE guibg=#363a3e guisp=NONE cterm=NONE gui=NONE + hi CursorColumn ctermfg=NONE ctermbg=237 guifg=NONE guibg=#363a3e guisp=NONE cterm=NONE gui=NONE + hi CursorLine ctermfg=NONE ctermbg=237 guifg=NONE guibg=#363a3e guisp=NONE cterm=NONE gui=NONE + hi DiffChange ctermfg=NONE ctermbg=237 guifg=NONE guibg=#363a3e guisp=NONE cterm=NONE gui=NONE + hi Folded ctermfg=NONE ctermbg=237 guifg=NONE guibg=#363a3e guisp=NONE cterm=NONE gui=NONE + hi MatchParen ctermfg=252 ctermbg=240 guifg=#cbd2d9 guibg=#535c65 guisp=NONE cterm=NONE gui=NONE + hi Pmenu ctermfg=249 ctermbg=237 guifg=#afb7c0 guibg=#363a3e guisp=NONE cterm=NONE gui=NONE + hi QuickFixLine ctermfg=NONE ctermbg=237 guifg=NONE guibg=#363a3e guisp=NONE cterm=NONE gui=NONE + hi StatusLineNC ctermfg=249 ctermbg=237 guifg=#afb7c0 guibg=#363a3e guisp=NONE cterm=NONE gui=NONE + hi StatusLineTermNC ctermfg=249 ctermbg=237 guifg=#afb7c0 guibg=#363a3e guisp=NONE cterm=NONE gui=NONE + hi TabLine ctermfg=249 ctermbg=237 guifg=#afb7c0 guibg=#363a3e guisp=NONE cterm=NONE gui=NONE + hi ToolbarButton ctermfg=249 ctermbg=237 guifg=#afb7c0 guibg=#363a3e guisp=NONE cterm=NONE,bold gui=NONE,bold + hi WildMenu ctermfg=249 ctermbg=237 guifg=#afb7c0 guibg=#363a3e guisp=NONE cterm=NONE gui=NONE + hi PmenuSbar ctermfg=240 ctermbg=240 guifg=#535c65 guibg=#535c65 guisp=NONE cterm=NONE gui=NONE + hi PmenuThumb ctermfg=249 ctermbg=249 guifg=#afb7c0 guibg=#afb7c0 guisp=NONE cterm=NONE gui=NONE + hi TabLineFill ctermfg=237 ctermbg=237 guifg=#363a3e guibg=#363a3e guisp=NONE cterm=NONE gui=NONE + hi ToolbarLine ctermfg=237 ctermbg=237 guifg=#363a3e guibg=#363a3e guisp=NONE cterm=NONE gui=NONE + hi VertSplit ctermfg=240 ctermbg=240 guifg=#535c65 guibg=#535c65 guisp=NONE cterm=NONE gui=NONE + hi SpellBad ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#df969e cterm=NONE,underline gui=NONE,undercurl + hi SpellCap ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#7fb0df cterm=NONE,underline gui=NONE,undercurl + hi SpellLocal ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#5eb9b7 cterm=NONE,underline gui=NONE,undercurl + hi SpellRare ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#c39dd1 cterm=NONE,underline gui=NONE,undercurl + hi StorageClass ctermfg=139 ctermbg=NONE guifg=#a88cb3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Structure ctermfg=139 ctermbg=NONE guifg=#a88cb3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Type ctermfg=139 ctermbg=NONE guifg=#a88cb3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Typedef ctermfg=139 ctermbg=NONE guifg=#a88cb3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi TooLong ctermfg=139 ctermbg=236 guifg=#a88cb3 guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi WarningMsg ctermfg=139 ctermbg=236 guifg=#a88cb3 guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Function ctermfg=138 ctermbg=NONE guifg=#be868c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Identifier ctermfg=138 ctermbg=NONE guifg=#be868c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi DiffDelete ctermfg=138 ctermbg=236 guifg=#be868c guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi DiffRemoved ctermfg=138 ctermbg=236 guifg=#be868c guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Error ctermfg=138 ctermbg=236 guifg=#be868c guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi ErrorMsg ctermfg=138 ctermbg=236 guifg=#be868c guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Debug ctermfg=137 ctermbg=NONE guifg=#ab916d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Delimiter ctermfg=137 ctermbg=NONE guifg=#ab916d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Special ctermfg=137 ctermbg=NONE guifg=#ab916d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SpecialChar ctermfg=137 ctermbg=NONE guifg=#ab916d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SpecialComment ctermfg=137 ctermbg=NONE guifg=#ab916d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SpecialKey ctermfg=137 ctermbg=NONE guifg=#ab916d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Tag ctermfg=137 ctermbg=NONE guifg=#ab916d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi DiffChanged ctermfg=137 ctermbg=236 guifg=#ab916d guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi DiffText ctermfg=137 ctermbg=236 guifg=#ab916d guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Search ctermfg=137 ctermbg=236 guifg=#ab916d guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Conditional ctermfg=108 ctermbg=NONE guifg=#7f9d77 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Exception ctermfg=108 ctermbg=NONE guifg=#7f9d77 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Keyword ctermfg=108 ctermbg=NONE guifg=#7f9d77 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Label ctermfg=108 ctermbg=NONE guifg=#7f9d77 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Operator ctermfg=108 ctermbg=NONE guifg=#7f9d77 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Repeat ctermfg=108 ctermbg=NONE guifg=#7f9d77 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Statement ctermfg=108 ctermbg=NONE guifg=#7f9d77 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi DiffAdd ctermfg=108 ctermbg=236 guifg=#7f9d77 guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi DiffAdded ctermfg=108 ctermbg=236 guifg=#7f9d77 guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Define ctermfg=73 ctermbg=NONE guifg=#5da19f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Include ctermfg=73 ctermbg=NONE guifg=#5da19f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Macro ctermfg=73 ctermbg=NONE guifg=#5da19f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi PreCondit ctermfg=73 ctermbg=NONE guifg=#5da19f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi PreProc ctermfg=73 ctermbg=NONE guifg=#5da19f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Todo ctermfg=73 ctermbg=236 guifg=#5da19f guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Boolean ctermfg=110 ctermbg=NONE guifg=#759abd guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Character ctermfg=110 ctermbg=NONE guifg=#759abd guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Constant ctermfg=110 ctermbg=NONE guifg=#759abd guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Float ctermfg=110 ctermbg=NONE guifg=#759abd guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Number ctermfg=110 ctermbg=NONE guifg=#759abd guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi String ctermfg=110 ctermbg=NONE guifg=#759abd guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Visual ctermfg=110 ctermbg=236 guifg=#759abd guibg=#2c2d30 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + if has("nvim") + let g:terminal_color_0 = "#2c2d30" + let g:terminal_color_1 = "#be868c" + let g:terminal_color_2 = "#7f9d77" + let g:terminal_color_3 = "#ab916d" + let g:terminal_color_4 = "#759abd" + let g:terminal_color_5 = "#a88cb3" + let g:terminal_color_6 = "#5da19f" + let g:terminal_color_7 = "#afb7c0" + let g:terminal_color_8 = "#363a3e" + let g:terminal_color_9 = "#be868c" + let g:terminal_color_10 = "#7f9d77" + let g:terminal_color_11 = "#ab916d" + let g:terminal_color_12 = "#759abd" + let g:terminal_color_13 = "#a88cb3" + let g:terminal_color_14 = "#5da19f" + let g:terminal_color_15 = "#cbd2d9" + elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#2c2d30", + \ "#be868c", + \ "#7f9d77", + \ "#ab916d", + \ "#759abd", + \ "#a88cb3", + \ "#5da19f", + \ "#afb7c0", + \ "#363a3e", + \ "#be868c", + \ "#7f9d77", + \ "#ab916d", + \ "#759abd", + \ "#a88cb3", + \ "#5da19f", + \ "#cbd2d9" + \ ] + endif + finish +endif + +hi Bold ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi Conceal ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Directory ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi EndOfBuffer ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Ignore ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Italic ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,italic gui=NONE,italic +hi ModeMsg ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi MoreMsg ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Question ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi NonText ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Normal ctermfg=240 ctermbg=231 guifg=#535c65 guibg=#fbffff guisp=NONE cterm=NONE gui=NONE +hi Terminal ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Title ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi Underlined ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,underline gui=NONE,underline +hi Comment ctermfg=243 ctermbg=NONE guifg=#6d7782 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi CursorLineNr ctermfg=243 ctermbg=NONE guifg=#6d7782 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi LineNr ctermfg=243 ctermbg=NONE guifg=#6d7782 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi FoldColumn ctermfg=240 ctermbg=NONE guifg=#535c65 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi PmenuSel ctermfg=240 ctermbg=231 guifg=#535c65 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi SignColumn ctermfg=240 ctermbg=NONE guifg=#535c65 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi StatusLine ctermfg=240 ctermbg=231 guifg=#535c65 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi StatusLineTerm ctermfg=240 ctermbg=231 guifg=#535c65 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi TabLineSel ctermfg=240 ctermbg=231 guifg=#535c65 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi VisualNOS ctermfg=243 ctermbg=231 guifg=#6d7782 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Cursor ctermfg=238 ctermbg=231 guifg=#434951 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi IncSearch ctermfg=238 ctermbg=231 guifg=#434951 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi ColorColumn ctermfg=NONE ctermbg=255 guifg=NONE guibg=#e5ebf1 guisp=NONE cterm=NONE gui=NONE +hi CursorColumn ctermfg=NONE ctermbg=255 guifg=NONE guibg=#e5ebf1 guisp=NONE cterm=NONE gui=NONE +hi CursorLine ctermfg=NONE ctermbg=255 guifg=NONE guibg=#e5ebf1 guisp=NONE cterm=NONE gui=NONE +hi DiffChange ctermfg=NONE ctermbg=255 guifg=NONE guibg=#e5ebf1 guisp=NONE cterm=NONE gui=NONE +hi Folded ctermfg=NONE ctermbg=255 guifg=NONE guibg=#e5ebf1 guisp=NONE cterm=NONE gui=NONE +hi MatchParen ctermfg=238 ctermbg=249 guifg=#434951 guibg=#afb7c0 guisp=NONE cterm=NONE gui=NONE +hi Pmenu ctermfg=240 ctermbg=255 guifg=#535c65 guibg=#e5ebf1 guisp=NONE cterm=NONE gui=NONE +hi QuickFixLine ctermfg=NONE ctermbg=255 guifg=NONE guibg=#e5ebf1 guisp=NONE cterm=NONE gui=NONE +hi StatusLineNC ctermfg=240 ctermbg=255 guifg=#535c65 guibg=#e5ebf1 guisp=NONE cterm=NONE gui=NONE +hi StatusLineTermNC ctermfg=240 ctermbg=255 guifg=#535c65 guibg=#e5ebf1 guisp=NONE cterm=NONE gui=NONE +hi TabLine ctermfg=240 ctermbg=255 guifg=#535c65 guibg=#e5ebf1 guisp=NONE cterm=NONE gui=NONE +hi ToolbarButton ctermfg=240 ctermbg=255 guifg=#535c65 guibg=#e5ebf1 guisp=NONE cterm=NONE,bold gui=NONE,bold +hi WildMenu ctermfg=240 ctermbg=255 guifg=#535c65 guibg=#e5ebf1 guisp=NONE cterm=NONE gui=NONE +hi PmenuSbar ctermfg=249 ctermbg=249 guifg=#afb7c0 guibg=#afb7c0 guisp=NONE cterm=NONE gui=NONE +hi PmenuThumb ctermfg=240 ctermbg=240 guifg=#535c65 guibg=#535c65 guisp=NONE cterm=NONE gui=NONE +hi TabLineFill ctermfg=255 ctermbg=255 guifg=#e5ebf1 guibg=#e5ebf1 guisp=NONE cterm=NONE gui=NONE +hi ToolbarLine ctermfg=255 ctermbg=255 guifg=#e5ebf1 guibg=#e5ebf1 guisp=NONE cterm=NONE gui=NONE +hi VertSplit ctermfg=249 ctermbg=249 guifg=#afb7c0 guibg=#afb7c0 guisp=NONE cterm=NONE gui=NONE +hi SpellBad ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#bc4d61 cterm=NONE,underline gui=NONE,undercurl +hi SpellCap ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#007cc3 cterm=NONE,underline gui=NONE,undercurl +hi SpellLocal ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#008787 cterm=NONE,underline gui=NONE,undercurl +hi SpellRare ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#965dae cterm=NONE,underline gui=NONE,undercurl +hi StorageClass ctermfg=97 ctermbg=NONE guifg=#8f63a2 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Structure ctermfg=97 ctermbg=NONE guifg=#8f63a2 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Type ctermfg=97 ctermbg=NONE guifg=#8f63a2 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Typedef ctermfg=97 ctermbg=NONE guifg=#8f63a2 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi TooLong ctermfg=97 ctermbg=231 guifg=#8f63a2 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi WarningMsg ctermfg=97 ctermbg=231 guifg=#8f63a2 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Function ctermfg=131 ctermbg=NONE guifg=#ae5865 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Identifier ctermfg=131 ctermbg=NONE guifg=#ae5865 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi DiffDelete ctermfg=131 ctermbg=231 guifg=#ae5865 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi DiffRemoved ctermfg=131 ctermbg=231 guifg=#ae5865 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Error ctermfg=131 ctermbg=231 guifg=#ae5865 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi ErrorMsg ctermfg=131 ctermbg=231 guifg=#ae5865 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Debug ctermfg=94 ctermbg=NONE guifg=#906c33 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Delimiter ctermfg=94 ctermbg=NONE guifg=#906c33 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Special ctermfg=94 ctermbg=NONE guifg=#906c33 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi SpecialChar ctermfg=94 ctermbg=NONE guifg=#906c33 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi SpecialComment ctermfg=94 ctermbg=NONE guifg=#906c33 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi SpecialKey ctermfg=94 ctermbg=NONE guifg=#906c33 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Tag ctermfg=94 ctermbg=NONE guifg=#906c33 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi DiffChanged ctermfg=94 ctermbg=231 guifg=#906c33 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi DiffText ctermfg=94 ctermbg=231 guifg=#906c33 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Search ctermfg=179 ctermbg=238 guifg=#e5bb7e guibg=#434951 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Conditional ctermfg=65 ctermbg=NONE guifg=#4d7f43 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Exception ctermfg=65 ctermbg=NONE guifg=#4d7f43 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Keyword ctermfg=65 ctermbg=NONE guifg=#4d7f43 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Label ctermfg=65 ctermbg=NONE guifg=#4d7f43 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Operator ctermfg=65 ctermbg=NONE guifg=#4d7f43 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Repeat ctermfg=65 ctermbg=NONE guifg=#4d7f43 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Statement ctermfg=65 ctermbg=NONE guifg=#4d7f43 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi DiffAdd ctermfg=65 ctermbg=231 guifg=#4d7f43 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi DiffAdded ctermfg=65 ctermbg=231 guifg=#4d7f43 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Define ctermfg=30 ctermbg=NONE guifg=#008483 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Include ctermfg=30 ctermbg=NONE guifg=#008483 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Macro ctermfg=30 ctermbg=NONE guifg=#008483 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi PreCondit ctermfg=30 ctermbg=NONE guifg=#008483 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi PreProc ctermfg=30 ctermbg=NONE guifg=#008483 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Todo ctermfg=30 ctermbg=231 guifg=#008483 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Boolean ctermfg=32 ctermbg=NONE guifg=#2b7ab2 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Character ctermfg=32 ctermbg=NONE guifg=#2b7ab2 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Constant ctermfg=32 ctermbg=NONE guifg=#2b7ab2 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Float ctermfg=32 ctermbg=NONE guifg=#2b7ab2 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Number ctermfg=32 ctermbg=NONE guifg=#2b7ab2 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi String ctermfg=32 ctermbg=NONE guifg=#2b7ab2 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Visual ctermfg=32 ctermbg=231 guifg=#2b7ab2 guibg=#fbffff guisp=NONE cterm=NONE,reverse gui=NONE,reverse +if has("nvim") + let g:terminal_color_0 = "#fbffff" + let g:terminal_color_1 = "#ae5865" + let g:terminal_color_2 = "#4d7f43" + let g:terminal_color_3 = "#906c33" + let g:terminal_color_4 = "#2b7ab2" + let g:terminal_color_5 = "#8f63a2" + let g:terminal_color_6 = "#008483" + let g:terminal_color_7 = "#535c65" + let g:terminal_color_8 = "#e5ebf1" + let g:terminal_color_9 = "#ae5865" + let g:terminal_color_10 = "#4d7f43" + let g:terminal_color_11 = "#906c33" + let g:terminal_color_12 = "#2b7ab2" + let g:terminal_color_13 = "#8f63a2" + let g:terminal_color_14 = "#008483" + let g:terminal_color_15 = "#434951" +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#fbffff", + \ "#ae5865", + \ "#4d7f43", + \ "#906c33", + \ "#2b7ab2", + \ "#8f63a2", + \ "#008483", + \ "#535c65", + \ "#e5ebf1", + \ "#ae5865", + \ "#4d7f43", + \ "#906c33", + \ "#2b7ab2", + \ "#8f63a2", + \ "#008483", + \ "#434951" + \ ] +endif +finish + +" Background: light +" Color: gry0 #fbffff ~ +" Color: gry1 #e5ebf1 ~ +" Color: gry2 #6d7782 ~ +" Color: gry3 #535c65 ~ +" Color: gryc #434951 ~ +" Color: srch #e5bb7e ~ +" Color: grys #434951 ~ +" Color: gryp #afb7c0 ~ +" Color: sprd #bc4d61 ~ +" Color: spbl #007cc3 ~ +" Color: spcy #008787 ~ +" Color: spmg #965dae ~ +" Color: red_ #ae5865 ~ +" Color: gold #906c33 ~ +" Color: gren #4d7f43 ~ +" Color: cyan #008483 ~ +" Color: blue #2b7ab2 ~ +" Color: mgnt #8f63a2 ~ +" Bold none none bold +" Conceal none none +" Directory none none bold +" EndOfBuffer none none +" Ignore none none +" Italic none none italic +" ModeMsg none none +" MoreMsg none none +" Question none none +" NonText none none +" Normal gry3 gry0 +" Terminal none none +" Title none none bold +" Underlined none none underline +" Comment gry2 none +" CursorLineNr gry2 none +" LineNr gry2 none +" FoldColumn gry3 none +" PmenuSel gry3 gry0 reverse +" SignColumn gry3 none +" StatusLine gry3 gry0 reverse +" StatusLineTerm gry3 gry0 reverse +" TabLineSel gry3 gry0 reverse +" VisualNOS gry2 gry0 reverse +" Cursor gryc gry0 reverse +" IncSearch gryc gry0 reverse +" ColorColumn none gry1 +" CursorColumn none gry1 +" CursorLine none gry1 +" DiffChange none gry1 +" Folded none gry1 +" MatchParen gryc gryp +" Pmenu gry3 gry1 +" QuickFixLine none gry1 +" StatusLineNC gry3 gry1 +" StatusLineTermNC gry3 gry1 +" TabLine gry3 gry1 +" ToolbarButton gry3 gry1 bold +" WildMenu gry3 gry1 +" PmenuSbar gryp gryp +" PmenuThumb gry3 gry3 +" TabLineFill gry1 gry1 +" ToolbarLine gry1 gry1 +" VertSplit gryp gryp +" SpellBad none none g=undercurl s=sprd t=underline +" SpellCap none none g=undercurl s=spbl t=underline +" SpellLocal none none g=undercurl s=spcy t=underline +" SpellRare none none g=undercurl s=spmg t=underline +" StorageClass mgnt none +" Structure mgnt none +" Type mgnt none +" Typedef mgnt none +" TooLong mgnt gry0 reverse +" WarningMsg mgnt gry0 reverse +" Function red_ none +" Identifier red_ none +" DiffDelete red_ gry0 reverse +" DiffRemoved red_ gry0 reverse +" Error red_ gry0 reverse +" ErrorMsg red_ gry0 reverse +" Debug gold none +" Delimiter gold none +" Special gold none +" SpecialChar gold none +" SpecialComment gold none +" SpecialKey gold none +" Tag gold none +" DiffChanged gold gry0 reverse +" DiffText gold gry0 reverse +" Search srch grys reverse +" Conditional gren none +" Exception gren none +" Keyword gren none +" Label gren none +" Operator gren none +" Repeat gren none +" Statement gren none +" DiffAdd gren gry0 reverse +" DiffAdded gren gry0 reverse +" Define cyan none +" Include cyan none +" Macro cyan none +" PreCondit cyan none +" PreProc cyan none +" Todo cyan gry0 reverse +" Boolean blue none +" Character blue none +" Constant blue none +" Float blue none +" Number blue none +" String blue none +" Visual blue gry0 reverse +" Background: dark +" Color: gry0 #2c2d30 ~ +" Color: gry1 #363a3e ~ +" Color: gry2 #8c95a0 ~ +" Color: gry3 #afb7c0 ~ +" Color: gryc #cbd2d9 ~ +" Color: srch #ab916d ~ +" Color: grys #2c2d30 ~ +" Color: gryp #535c65 ~ +" Color: sprd #df969e ~ +" Color: spbl #7fb0df ~ +" Color: spcy #5eb9b7 ~ +" Color: spmg #c39dd1 ~ +" Color: red_ #be868c ~ +" Color: gold #ab916d ~ +" Color: gren #7f9d77 ~ +" Color: cyan #5da19f ~ +" Color: blue #759abd ~ +" Color: mgnt #a88cb3 ~ +" Bold none none bold +" Conceal none none +" Directory none none bold +" EndOfBuffer none none +" Ignore none none +" Italic none none italic +" ModeMsg none none +" MoreMsg none none +" Question none none +" NonText none none +" Normal gry3 gry0 +" Terminal none none +" Title none none bold +" Underlined none none underline +" Comment gry2 none +" CursorLineNr gry2 none +" LineNr gry2 none +" FoldColumn gry3 none +" PmenuSel gry3 gry0 reverse +" SignColumn gry3 none +" StatusLine gry3 gry0 reverse +" StatusLineTerm gry3 gry0 reverse +" TabLineSel gry3 gry0 reverse +" VisualNOS gry2 gry0 reverse +" Cursor gryc gry0 reverse +" IncSearch gryc gry0 reverse +" ColorColumn none gry1 +" CursorColumn none gry1 +" CursorLine none gry1 +" DiffChange none gry1 +" Folded none gry1 +" MatchParen gryc gryp +" Pmenu gry3 gry1 +" QuickFixLine none gry1 +" StatusLineNC gry3 gry1 +" StatusLineTermNC gry3 gry1 +" TabLine gry3 gry1 +" ToolbarButton gry3 gry1 bold +" WildMenu gry3 gry1 +" PmenuSbar gryp gryp +" PmenuThumb gry3 gry3 +" TabLineFill gry1 gry1 +" ToolbarLine gry1 gry1 +" VertSplit gryp gryp +" SpellBad none none g=undercurl s=sprd t=underline +" SpellCap none none g=undercurl s=spbl t=underline +" SpellLocal none none g=undercurl s=spcy t=underline +" SpellRare none none g=undercurl s=spmg t=underline +" StorageClass mgnt none +" Structure mgnt none +" Type mgnt none +" Typedef mgnt none +" TooLong mgnt gry0 reverse +" WarningMsg mgnt gry0 reverse +" Function red_ none +" Identifier red_ none +" DiffDelete red_ gry0 reverse +" DiffRemoved red_ gry0 reverse +" Error red_ gry0 reverse +" ErrorMsg red_ gry0 reverse +" Debug gold none +" Delimiter gold none +" Special gold none +" SpecialChar gold none +" SpecialComment gold none +" SpecialKey gold none +" Tag gold none +" DiffChanged gold gry0 reverse +" DiffText gold gry0 reverse +" Search srch grys reverse +" Conditional gren none +" Exception gren none +" Keyword gren none +" Label gren none +" Operator gren none +" Repeat gren none +" Statement gren none +" DiffAdd gren gry0 reverse +" DiffAdded gren gry0 reverse +" Define cyan none +" Include cyan none +" Macro cyan none +" PreCondit cyan none +" PreProc cyan none +" Todo cyan gry0 reverse +" Boolean blue none +" Character blue none +" Constant blue none +" Float blue none +" Number blue none +" String blue none +" Visual blue gry0 reverse diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/solarized8.vim b/nvim/plugged/awesome-vim-colorschemes/colors/solarized8.vim new file mode 100644 index 00000000..3af88852 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/solarized8.vim @@ -0,0 +1,2469 @@ +" Name: Solarized 8 +" Description: Precision colors for machines and people +" Author: Ethan Schoonover +" Maintainer: Lifepillar <lifepillar@lifepillar.me> +" Website: https://github.com/lifepillar/vim-solarized8 +" License: OSI approved MIT license +" Last Updated: Sat Apr 24 20:35:32 2021 + +" Generated by Colortemplate v2.1.0 + +hi clear +let g:colors_name = 'solarized8' + +let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 2 +let s:italics = (&t_ZH != '' && &t_ZH != '') || has('gui_running') || has('nvim') + +let s:t_Co = get(g:, 'solarized_use16', 0) ? 16 : s:t_Co +let s:italics = s:italics && get(g:, 'solarized_italics', 1) +let s:termtrans = get(g:, 'solarized_termtrans', 0) && !has('gui_running') +hi! link Boolean Constant +hi! link Character Constant +hi! link Conditional Statement +hi! link Debug Special +hi! link Define PreProc +hi! link Delimiter Special +hi! link Exception Statement +hi! link Float Constant +hi! link Function Identifier +hi! link Include PreProc +hi! link Keyword Statement +hi! link Label Statement +hi! link Macro PreProc +hi! link Number Constant +hi! link Operator Statement +hi! link PreCondit PreProc +hi! link QuickFixLine Search +hi! link Repeat Statement +hi! link SpecialChar Special +hi! link SpecialComment Special +hi! link StatusLineTerm StatusLine +hi! link StatusLineTermNC StatusLineNC +hi! link StorageClass Type +hi! link String Constant +hi! link Structure Type +hi! link Tag Special +hi! link Typedef Type +hi! link lCursor Cursor + +if (has('termguicolors') && &termguicolors) || has('gui_running') + if &background ==# 'dark' + let g:terminal_ansi_colors = ['#073642', '#dc322f', '#859900', '#b58900', '#268bd2', '#d33682', '#2aa198', '#eee8d5', '#002b36', '#cb4b16', '#586e75', '#657b83', '#839496', '#6c71c4', '#93a1a1', '#fdf6e3'] + if has('nvim') + let g:terminal_color_0 = '#073642' + let g:terminal_color_1 = '#dc322f' + let g:terminal_color_2 = '#859900' + let g:terminal_color_3 = '#b58900' + let g:terminal_color_4 = '#268bd2' + let g:terminal_color_5 = '#d33682' + let g:terminal_color_6 = '#2aa198' + let g:terminal_color_7 = '#eee8d5' + let g:terminal_color_8 = '#002b36' + let g:terminal_color_9 = '#cb4b16' + let g:terminal_color_10 = '#586e75' + let g:terminal_color_11 = '#657b83' + let g:terminal_color_12 = '#839496' + let g:terminal_color_13 = '#6c71c4' + let g:terminal_color_14 = '#93a1a1' + let g:terminal_color_15 = '#fdf6e3' + endif + if s:termtrans + hi Normal guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi FoldColumn guifg=fg guibg=NONE gui=NONE cterm=NONE + hi Folded guifg=fg guibg=NONE guisp=#002b36 gui=bold cterm=bold + hi Terminal guifg=fg guibg=NONE gui=NONE cterm=NONE + hi ToolbarButton guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + else " opaque + hi Normal guifg=#93a1a1 guibg=#002b36 gui=NONE cterm=NONE + hi FoldColumn guifg=#839496 guibg=#073642 gui=NONE cterm=NONE + hi Folded guifg=#839496 guibg=#073642 guisp=#002b36 gui=bold cterm=bold + hi Terminal guifg=fg guibg=#002b36 gui=NONE cterm=NONE + hi ToolbarButton guifg=#93a1a1 guibg=#073642 gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=#073642 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr guifg=#cb4b16 guibg=#073642 gui=bold cterm=bold + hi LineNr guifg=#839496 guibg=#073642 gui=NONE cterm=NONE + hi NonText guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#cb4b16 guibg=NONE gui=reverse cterm=reverse + hi SpellBad guifg=#6c71c4 guibg=#fdf6e3 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi SpellCap guifg=#6c71c4 guibg=#fdf6e3 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi SpellLocal guifg=#b58900 guibg=#fdf6e3 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi SpellRare guifg=#2aa198 guibg=#fdf6e3 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi Title guifg=#b58900 guibg=NONE gui=bold cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr guifg=#586e75 guibg=#073642 gui=bold cterm=bold + hi LineNr guifg=#586e75 guibg=#073642 gui=NONE cterm=NONE + hi NonText guifg=#073642 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#073642 guibg=NONE gui=reverse cterm=reverse + hi SpellBad guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellCap guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#586e75 guibg=NONE gui=bold cterm=bold + else " normal visibility + hi CursorLineNr guifg=#839496 guibg=#073642 gui=bold cterm=bold + hi LineNr guifg=#657b83 guibg=#073642 gui=NONE cterm=NONE + hi NonText guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#657b83 guibg=#073642 gui=bold cterm=bold + hi SpellBad guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellCap guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + endif + if s:termtrans + hi CursorLineNr guibg=NONE + hi LineNr guibg=NONE + endif + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#002b36 guibg=#839496 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#268bd2 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd guifg=#859900 guibg=NONE gui=reverse cterm=reverse + hi DiffChange guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi DiffDelete guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi DiffText guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd guifg=#859900 guibg=NONE guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=NONE guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=NONE guisp=#268bd2 gui=NONE cterm=NONE + else " normal diffmode + hi DiffAdd guifg=#859900 guibg=#073642 guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=#073642 guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=#073642 gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=#073642 guisp=#268bd2 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine guifg=#586e75 guibg=#eee8d5 gui=reverse cterm=reverse + hi StatusLineNC guifg=#586e75 guibg=#073642 gui=reverse cterm=reverse + hi TabLine guifg=#586e75 guibg=#073642 gui=reverse cterm=reverse + hi TabLineFill guifg=#586e75 guibg=#073642 gui=reverse cterm=reverse + hi TabLineSel guifg=#839496 guibg=#fdf6e3 gui=reverse cterm=reverse + hi VertSplit guifg=#073642 guibg=#586e75 gui=NONE cterm=NONE + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine guifg=#073642 guibg=#eee8d5 gui=reverse cterm=reverse + hi StatusLineNC guifg=#073642 guibg=#93a1a1 gui=reverse cterm=reverse + hi TabLineSel guifg=#eee8d5 guibg=#073642 gui=NONE cterm=NONE + hi TabLine guifg=#586e75 guibg=#073642 gui=NONE cterm=NONE + hi TabLineFill guifg=#586e75 guibg=#073642 gui=NONE cterm=NONE + hi VertSplit guifg=#586e75 guibg=#073642 gui=NONE cterm=NONE + else + hi StatusLine guifg=#839496 guibg=#073642 gui=reverse cterm=reverse + hi StatusLineNC guifg=#586e75 guibg=#073642 gui=reverse cterm=reverse + hi TabLine guifg=#586e75 guibg=#073642 gui=reverse cterm=reverse + hi TabLineFill guifg=#586e75 guibg=#073642 gui=reverse cterm=reverse + hi TabLineSel guifg=#839496 guibg=#073642 gui=reverse cterm=reverse + hi VertSplit guifg=#073642 guibg=#586e75 gui=NONE cterm=NONE + endif + hi ColorColumn guifg=NONE guibg=#073642 gui=NONE cterm=NONE + hi Conceal guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi CursorColumn guifg=NONE guibg=#073642 gui=NONE cterm=NONE + hi CursorLine guifg=NONE guibg=#073642 gui=NONE cterm=NONE + hi Directory guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi EndOfBuffer guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg guifg=#dc322f guibg=#fdf6e3 gui=reverse cterm=reverse + hi IncSearch guifg=#cb4b16 guibg=NONE gui=standout cterm=standout + hi MatchParen guifg=#fdf6e3 guibg=#073642 gui=bold cterm=bold + hi ModeMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi MoreMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Pmenu guifg=#93a1a1 guibg=#073642 gui=NONE cterm=NONE + hi PmenuSbar guifg=NONE guibg=#586e75 gui=NONE cterm=NONE + hi PmenuSel guifg=#eee8d5 guibg=#657b83 gui=NONE cterm=NONE + hi PmenuThumb guifg=NONE guibg=#839496 gui=NONE cterm=NONE + hi Question guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi Search guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi SignColumn guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi Visual guifg=#586e75 guibg=#002b36 gui=reverse cterm=reverse + hi VisualNOS guifg=NONE guibg=#073642 gui=reverse cterm=reverse + hi WarningMsg guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi WildMenu guifg=#eee8d5 guibg=#073642 gui=reverse cterm=reverse + hi Comment guifg=#586e75 guibg=NONE gui=italic cterm=italic + hi Constant guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE + hi Error guifg=#dc322f guibg=#fdf6e3 gui=bold,reverse cterm=bold,reverse + hi Identifier guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Special guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Statement guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi Todo guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi Type guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi Underlined guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi NormalMode guifg=#839496 guibg=#fdf6e3 gui=reverse cterm=reverse + hi InsertMode guifg=#2aa198 guibg=#fdf6e3 gui=reverse cterm=reverse + hi ReplaceMode guifg=#cb4b16 guibg=#fdf6e3 gui=reverse cterm=reverse + hi VisualMode guifg=#d33682 guibg=#fdf6e3 gui=reverse cterm=reverse + hi CommandMode guifg=#d33682 guibg=#fdf6e3 gui=reverse cterm=reverse + if !s:italics + hi Comment gui=NONE cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC guifg=#002b36 guibg=#586e75 gui=NONE cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi vimCommand guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimCmdSep guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi helpExample guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi helpOption guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi helpNote guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpVim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextJump guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextEntry guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi vimIsCommand guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi vimSynMtchOpt guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimSynType guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi vimHiLink guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimHiGroup guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimGroup guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment guifg=#586e75 guibg=NONE gui=italic cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitOnBranch guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi gitcommitBranch guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi gitcommitselectedtype guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi gitcommitHeader guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi gitcommitUntrackedFile guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi gitcommitDiscardedFile guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi gitcommitSelectedFile guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitUnmergedFile guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi gitcommitFile guifg=#839496 guibg=NONE gui=bold cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi htmlEndTag guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi htmlTagN guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi htmlTagName guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi htmlSpecialTagName guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi htmlArg guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi javaScript guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi perlVarPlain guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi perlStatementFileDesc guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texstatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texmathzonex guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texmathmatcher guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texreflabel guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi rubyDefine guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi! link rubySymbol Type + hi rubyBoolean guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi cPreCondit guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi VarId guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi ConId guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsImport guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi hsString guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi hsStructure guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_hlFunctionName guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi hsStatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsImportLabel guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_OpFunctionName guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hs_DeclareFunction guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi hsVarSym guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsType guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsTypedef guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsModuleName guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsniceoperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + if !s:italics + hi gitcommitComment gui=NONE cterm=NONE + hi htmlSpecialTagName gui=NONE cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTitleBlockTitle guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocTitleComment guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocComment guifg=#586e75 guibg=NONE gui=italic cterm=italic + hi pandocVerbatimBlock guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader1 guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader2 guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader3 guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader4 guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader5 guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader6 guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi pandocListMarker guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocListReference guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionBlock guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionTerm guifg=#6c71c4 guibg=NONE gui=standout cterm=standout + hi pandocDefinitionIndctr guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutDefinition guifg=#6c71c4 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTableStructure guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight guifg=#268bd2 guibg=#002b36 gui=NONE cterm=NONE + hi pandocTableZebraDark guifg=#268bd2 guibg=#073642 gui=NONE cterm=NONE + hi pandocEmphasisTable guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutTable guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocHeadingMarker guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutHeading guifg=#cb4b16 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSuperscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSubscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocLinkDelim guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkLabel guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkText guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkURL guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitle guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitleDelim guifg=#586e75 guibg=NONE guisp=#657b83 gui=NONE cterm=NONE + hi pandocLinkDefinition guifg=#2aa198 guibg=NONE guisp=#657b83 gui=NONE cterm=NONE + hi pandocLinkDefinitionID guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocImageCaption guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteLink guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocFootnoteDefLink guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteInline guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnote guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationDelim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitation guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationID guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocStyleDelim guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi pandocEmphasis guifg=#839496 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNested guifg=#839496 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasis guifg=#839496 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNested guifg=#839496 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasis guifg=#839496 guibg=NONE gui=bold cterm=bold + hi pandocStrikeout guifg=#586e75 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInline guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocRule guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocRuleLine guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocEscapePair guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocNonBreakingSpace guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadataKey guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment gui=NONE cterm=NONE + hi pandocEmphasisDefinition gui=NONE cterm=NONE + hi pandocEmphasisTable gui=NONE cterm=NONE + hi pandocEmphasis gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi ALEErrorSignLineNr guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign guifg=#073642 guibg=#dc322f gui=bold cterm=bold + hi ALEInfoSign guifg=#073642 guibg=#2aa198 gui=bold cterm=bold + hi ALEWarningSign guifg=#073642 guibg=#b58900 gui=bold cterm=bold + else + hi ALEErrorSign guifg=#dc322f guibg=#073642 gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=#073642 gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=#073642 gui=bold cterm=bold + endif + hi ALEErrorSignLineNr guifg=#073642 guibg=#dc322f gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#073642 guibg=#2aa198 gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#073642 guibg=#b58900 gui=NONE cterm=NONE + endif + hi ALEError guifg=#dc322f guibg=NONE guisp=#dc322f gui=undercurl cterm=undercurl + hi ALEErrorLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl + hi ALEInfoLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl + hi ALEWarningLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish + endif + " Light background + let g:terminal_ansi_colors = ['#073642', '#dc322f', '#859900', '#b58900', '#268bd2', '#d33682', '#2aa198', '#eee8d5', '#002b36', '#cb4b16', '#586e75', '#657b83', '#839496', '#6c71c4', '#93a1a1', '#fdf6e3'] + if has('nvim') + let g:terminal_color_0 = '#073642' + let g:terminal_color_1 = '#dc322f' + let g:terminal_color_2 = '#859900' + let g:terminal_color_3 = '#b58900' + let g:terminal_color_4 = '#268bd2' + let g:terminal_color_5 = '#d33682' + let g:terminal_color_6 = '#2aa198' + let g:terminal_color_7 = '#eee8d5' + let g:terminal_color_8 = '#002b36' + let g:terminal_color_9 = '#cb4b16' + let g:terminal_color_10 = '#586e75' + let g:terminal_color_11 = '#657b83' + let g:terminal_color_12 = '#839496' + let g:terminal_color_13 = '#6c71c4' + let g:terminal_color_14 = '#93a1a1' + let g:terminal_color_15 = '#fdf6e3' + endif + if s:termtrans + hi Normal guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi FoldColumn guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi Folded guifg=#657b83 guibg=NONE guisp=#fdf6e3 gui=bold cterm=bold + hi Terminal guifg=fg guibg=NONE gui=NONE cterm=NONE + hi ToolbarButton guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + else " opaque + hi Normal guifg=#586e75 guibg=#fdf6e3 gui=NONE cterm=NONE + hi FoldColumn guifg=#657b83 guibg=#eee8d5 gui=NONE cterm=NONE + hi Folded guifg=#657b83 guibg=#eee8d5 guisp=#fdf6e3 gui=bold cterm=bold + hi Terminal guifg=fg guibg=#fdf6e3 gui=NONE cterm=NONE + hi ToolbarButton guifg=#586e75 guibg=#eee8d5 gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=#eee8d5 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#fdf6e3 guibg=#657b83 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#dc322f gui=NONE cterm=NONE + endif + hi CursorLineNr guifg=#dc322f guibg=#eee8d5 gui=bold cterm=bold + hi LineNr guifg=#657b83 guibg=#eee8d5 gui=NONE cterm=NONE + hi MatchParen guifg=#fdf6e3 guibg=#839496 gui=bold cterm=bold + hi NonText guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi SpellBad guifg=#d33682 guibg=#fdf6e3 guisp=#6c71c4 gui=reverse,undercurl cterm=reverse,underline + hi SpellCap guifg=#d33682 guibg=#fdf6e3 guisp=#6c71c4 gui=reverse,undercurl cterm=reverse,underline + hi SpellLocal guifg=#b58900 guibg=#fdf6e3 guisp=#cb4b16 gui=reverse,undercurl cterm=reverse,underline + hi SpellRare guifg=#2aa198 guibg=#fdf6e3 guisp=#cb4b16 gui=reverse,undercurl cterm=reverse,underline + hi Title guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#fdf6e3 guibg=#657b83 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#cb4b16 gui=NONE cterm=NONE + endif + hi CursorLineNr guifg=#93a1a1 guibg=#eee8d5 gui=bold cterm=bold + hi LineNr guifg=#93a1a1 guibg=#eee8d5 gui=NONE cterm=NONE + hi MatchParen guifg=#dc322f guibg=#eee8d5 gui=bold,underline cterm=bold,underline + hi NonText guifg=#eee8d5 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#eee8d5 guibg=NONE gui=bold cterm=bold + hi SpellBad guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellCap guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + else " Normal visibility + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#fdf6e3 guibg=#657b83 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#cb4b16 gui=NONE cterm=NONE + endif + hi CursorLineNr guifg=#657b83 guibg=#eee8d5 gui=bold cterm=bold + hi LineNr guifg=#839496 guibg=#eee8d5 gui=NONE cterm=NONE + hi MatchParen guifg=#dc322f guibg=#eee8d5 gui=bold,underline cterm=bold,underline + hi NonText guifg=#839496 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#839496 guibg=#eee8d5 gui=bold cterm=bold + hi SpellBad guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellCap guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + endif + if s:termtrans + hi CursorLineNr guibg=NONE + hi LineNr guibg=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd guifg=#859900 guibg=NONE gui=reverse cterm=reverse + hi DiffChange guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi DiffDelete guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi DiffText guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd guifg=#859900 guibg=NONE guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=NONE guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=NONE guisp=#268bd2 gui=NONE cterm=NONE + else " normal diffmode + hi DiffAdd guifg=#859900 guibg=#eee8d5 guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=#eee8d5 guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=#eee8d5 gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=#eee8d5 guisp=#268bd2 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine guifg=#93a1a1 guibg=#fdf6e3 gui=reverse cterm=reverse + hi StatusLineNC guifg=#93a1a1 guibg=#586e75 gui=reverse cterm=reverse + hi TabLine guifg=#93a1a1 guibg=#586e75 gui=reverse cterm=reverse + hi TabLineFill guifg=#93a1a1 guibg=#586e75 gui=reverse cterm=reverse + hi TabLineSel guifg=#586e75 guibg=#fdf6e3 gui=reverse cterm=reverse + hi VertSplit guifg=#586e75 guibg=#93a1a1 gui=NONE cterm=NONE + hi WildMenu guifg=#586e75 guibg=#fdf6e3 gui=reverse cterm=reverse + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine guifg=#eee8d5 guibg=#073642 gui=reverse cterm=reverse + hi StatusLineNC guifg=#eee8d5 guibg=#586e75 gui=reverse cterm=reverse + hi TabLineSel guifg=#073642 guibg=#eee8d5 gui=NONE cterm=NONE + hi TabLine guifg=#93a1a1 guibg=#eee8d5 gui=NONE cterm=NONE + hi TabLineFill guifg=#93a1a1 guibg=#eee8d5 gui=NONE cterm=NONE + hi VertSplit guifg=#93a1a1 guibg=#eee8d5 gui=NONE cterm=NONE + hi WildMenu guifg=#839496 guibg=#fdf6e3 gui=reverse cterm=reverse + else + hi StatusLine guifg=#586e75 guibg=#eee8d5 gui=reverse cterm=reverse + hi StatusLineNC guifg=#839496 guibg=#eee8d5 gui=reverse cterm=reverse + hi TabLine guifg=#839496 guibg=#eee8d5 gui=reverse cterm=reverse + hi TabLineFill guifg=#839496 guibg=#eee8d5 gui=reverse cterm=reverse + hi TabLineSel guifg=#586e75 guibg=#eee8d5 gui=reverse cterm=reverse + hi VertSplit guifg=#586e75 guibg=#93a1a1 gui=NONE cterm=NONE + hi WildMenu guifg=#073642 guibg=#eee8d5 gui=reverse cterm=reverse + endif + hi ColorColumn guifg=NONE guibg=#eee8d5 gui=NONE cterm=NONE + hi Conceal guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi CursorColumn guifg=NONE guibg=#eee8d5 gui=NONE cterm=NONE + hi CursorLine guifg=NONE guibg=#eee8d5 gui=NONE cterm=NONE + hi Directory guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi EndOfBuffer guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg guifg=#dc322f guibg=#fdf6e3 gui=reverse cterm=reverse + hi IncSearch guifg=#cb4b16 guibg=NONE gui=standout cterm=standout + hi ModeMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi MoreMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Pmenu guifg=#586e75 guibg=#eee8d5 gui=NONE cterm=NONE + hi PmenuSbar guifg=NONE guibg=#93a1a1 gui=NONE cterm=NONE + hi PmenuSel guifg=#eee8d5 guibg=#839496 gui=NONE cterm=NONE + hi PmenuThumb guifg=NONE guibg=#657b83 gui=NONE cterm=NONE + hi Question guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi Search guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi SignColumn guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi Visual guifg=#93a1a1 guibg=#fdf6e3 gui=reverse cterm=reverse + hi VisualNOS guifg=NONE guibg=#eee8d5 gui=reverse cterm=reverse + hi WarningMsg guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi Comment guifg=#93a1a1 guibg=NONE gui=italic cterm=italic + hi Constant guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE + hi Error guifg=#dc322f guibg=#fdf6e3 gui=bold,reverse cterm=bold,reverse + hi Identifier guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Special guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Statement guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi Todo guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi Type guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi Underlined guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi NormalMode guifg=#586e75 guibg=#fdf6e3 gui=reverse cterm=reverse + hi InsertMode guifg=#2aa198 guibg=#fdf6e3 gui=reverse cterm=reverse + hi ReplaceMode guifg=#cb4b16 guibg=#fdf6e3 gui=reverse cterm=reverse + hi VisualMode guifg=#d33682 guibg=#fdf6e3 gui=reverse cterm=reverse + hi CommandMode guifg=#d33682 guibg=#fdf6e3 gui=reverse cterm=reverse + if !s:italics + hi Comment gui=NONE cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC guifg=#fdf6e3 guibg=#93a1a1 gui=NONE cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi vimCommand guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimCmdSep guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi helpExample guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi helpOption guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi helpNote guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpVim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextJump guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextEntry guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi vimIsCommand guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi vimSynMtchOpt guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimSynType guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi vimHiLink guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimHiGroup guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimGroup guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment guifg=#93a1a1 guibg=NONE gui=italic cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitOnBranch guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi gitcommitBranch guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi gitcommitselectedtype guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi gitcommitHeader guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi gitcommitUntrackedFile guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi gitcommitDiscardedFile guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi gitcommitSelectedFile guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitUnmergedFile guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi gitcommitFile guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi htmlEndTag guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi htmlTagN guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi htmlTagName guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi htmlSpecialTagName guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi htmlArg guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi javaScript guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi perlVarPlain guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi perlStatementFileDesc guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texstatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texmathzonex guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texmathmatcher guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texreflabel guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi rubyDefine guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi! link rubySymbol Type + hi rubyBoolean guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi cPreCondit guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi VarId guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi ConId guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsImport guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi hsString guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi hsStructure guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_hlFunctionName guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi hsStatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsImportLabel guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_OpFunctionName guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hs_DeclareFunction guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi hsVarSym guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsType guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsTypedef guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsModuleName guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsniceoperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + if !s:italics + hi gitcommitComment gui=NONE cterm=NONE + hi htmlSpecialTagName gui=NONE cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTitleBlockTitle guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocTitleComment guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocComment guifg=#93a1a1 guibg=NONE gui=italic cterm=italic + hi pandocVerbatimBlock guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader1 guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader2 guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader3 guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader4 guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader5 guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader6 guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocListMarker guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocListReference guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionBlock guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionTerm guifg=#6c71c4 guibg=NONE gui=standout cterm=standout + hi pandocDefinitionIndctr guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutDefinition guifg=#6c71c4 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTableStructure guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight guifg=#268bd2 guibg=#fdf6e3 gui=NONE cterm=NONE + hi pandocTableZebraDark guifg=#268bd2 guibg=#eee8d5 gui=NONE cterm=NONE + hi pandocEmphasisTable guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutTable guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocHeadingMarker guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutHeading guifg=#cb4b16 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSuperscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSubscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocLinkDelim guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkLabel guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkText guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkURL guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitle guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitleDelim guifg=#93a1a1 guibg=NONE guisp=#839496 gui=NONE cterm=NONE + hi pandocLinkDefinition guifg=#2aa198 guibg=NONE guisp=#839496 gui=NONE cterm=NONE + hi pandocLinkDefinitionID guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocImageCaption guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteLink guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocFootnoteDefLink guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteInline guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnote guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationDelim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitation guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationID guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocStyleDelim guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocEmphasis guifg=#657b83 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNested guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasis guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNested guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasis guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi pandocStrikeout guifg=#93a1a1 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInline guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocRule guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocRuleLine guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocEscapePair guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocNonBreakingSpace guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadataKey guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment gui=NONE cterm=NONE + hi pandocEmphasisDefinition gui=NONE cterm=NONE + hi pandocEmphasisTable gui=NONE cterm=NONE + hi pandocEmphasis gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi ALEErrorSignLineNr guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign guifg=#eee8d5 guibg=#dc322f gui=bold cterm=bold + hi ALEInfoSign guifg=#eee8d5 guibg=#2aa198 gui=bold cterm=bold + hi ALEWarningSign guifg=#eee8d5 guibg=#b58900 gui=bold cterm=bold + else + hi ALEErrorSign guifg=#dc322f guibg=#eee8d5 gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=#eee8d5 gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=#eee8d5 gui=bold cterm=bold + endif + hi ALEErrorSignLineNr guifg=#eee8d5 guibg=#dc322f gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#eee8d5 guibg=#2aa198 gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#eee8d5 guibg=#b58900 gui=NONE cterm=NONE + endif + hi ALEError guifg=#dc322f guibg=NONE guisp=#dc322f gui=undercurl cterm=undercurl + hi ALEErrorLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl + hi ALEInfoLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl + hi ALEWarningLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +if s:t_Co >= 256 + if &background ==# 'dark' + if s:termtrans + hi Normal ctermfg=247 ctermbg=NONE cterm=NONE + hi FoldColumn ctermfg=fg ctermbg=NONE cterm=NONE + hi Folded ctermfg=fg ctermbg=NONE cterm=bold + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=247 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else " opaque + hi Normal ctermfg=247 ctermbg=235 cterm=NONE + if !has('patch-8.0.0616') && !has('nvim') " Fix for Vim bug + set background=dark + endif + hi FoldColumn ctermfg=246 ctermbg=236 cterm=NONE + hi Folded ctermfg=246 ctermbg=236 cterm=bold + hi Terminal ctermfg=fg ctermbg=235 cterm=NONE + hi ToolbarButton ctermfg=247 ctermbg=236 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=236 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=166 ctermbg=236 cterm=bold + hi LineNr ctermfg=246 ctermbg=236 cterm=NONE + hi NonText ctermfg=166 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=166 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=61 ctermbg=230 cterm=reverse,underline + hi SpellCap ctermfg=61 ctermbg=230 cterm=reverse,underline + hi SpellLocal ctermfg=136 ctermbg=230 cterm=reverse,underline + hi SpellRare ctermfg=37 ctermbg=230 cterm=reverse,underline + hi Title ctermfg=136 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=242 ctermbg=236 cterm=bold + hi LineNr ctermfg=242 ctermbg=236 cterm=NONE + hi NonText ctermfg=236 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=236 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=61 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=61 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=242 ctermbg=NONE cterm=bold + else " normal visibility + hi CursorLineNr ctermfg=246 ctermbg=236 cterm=bold + hi LineNr ctermfg=66 ctermbg=236 cterm=NONE + hi NonText ctermfg=66 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=66 ctermbg=236 cterm=bold + hi SpellBad ctermfg=61 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=61 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=166 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + hi LineNr ctermbg=NONE + endif + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=235 ctermbg=246 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=32 cterm=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=136 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=32 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=136 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=bold + hi DiffText ctermfg=32 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=106 ctermbg=236 cterm=NONE + hi DiffChange ctermfg=136 ctermbg=236 cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=236 cterm=bold + hi DiffText ctermfg=32 ctermbg=236 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=242 ctermbg=254 cterm=reverse + hi StatusLineNC ctermfg=242 ctermbg=236 cterm=reverse + hi TabLine ctermfg=242 ctermbg=236 cterm=reverse + hi TabLineFill ctermfg=242 ctermbg=236 cterm=reverse + hi TabLineSel ctermfg=246 ctermbg=230 cterm=reverse + hi VertSplit ctermfg=236 ctermbg=242 cterm=NONE + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=236 ctermbg=254 cterm=reverse + hi StatusLineNC ctermfg=236 ctermbg=247 cterm=reverse + hi TabLineSel ctermfg=254 ctermbg=236 cterm=NONE + hi TabLine ctermfg=242 ctermbg=236 cterm=NONE + hi TabLineFill ctermfg=242 ctermbg=236 cterm=NONE + hi VertSplit ctermfg=242 ctermbg=236 cterm=NONE + else + hi StatusLine ctermfg=246 ctermbg=236 cterm=reverse + hi StatusLineNC ctermfg=242 ctermbg=236 cterm=reverse + hi TabLine ctermfg=242 ctermbg=236 cterm=reverse + hi TabLineFill ctermfg=242 ctermbg=236 cterm=reverse + hi TabLineSel ctermfg=246 ctermbg=236 cterm=reverse + hi VertSplit ctermfg=236 ctermbg=242 cterm=NONE + endif + hi ColorColumn ctermfg=NONE ctermbg=236 cterm=NONE + hi Conceal ctermfg=32 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=236 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=236 cterm=NONE + hi Directory ctermfg=32 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=160 ctermbg=230 cterm=reverse + hi IncSearch ctermfg=166 ctermbg=NONE cterm=standout + hi MatchParen ctermfg=230 ctermbg=236 cterm=bold + hi ModeMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=247 ctermbg=236 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=242 cterm=NONE + hi PmenuSel ctermfg=254 ctermbg=66 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=246 cterm=NONE + hi Question ctermfg=37 ctermbg=NONE cterm=bold + hi Search ctermfg=136 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=246 ctermbg=NONE cterm=NONE + hi Visual ctermfg=242 ctermbg=235 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=236 cterm=reverse + hi WarningMsg ctermfg=166 ctermbg=NONE cterm=bold + hi WildMenu ctermfg=254 ctermbg=236 cterm=reverse + hi Comment ctermfg=242 ctermbg=NONE cterm=italic + hi Constant ctermfg=37 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=160 ctermbg=230 cterm=bold,reverse + hi Identifier ctermfg=32 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=166 ctermbg=NONE cterm=NONE + hi Special ctermfg=166 ctermbg=NONE cterm=NONE + hi Statement ctermfg=106 ctermbg=NONE cterm=NONE + hi Todo ctermfg=162 ctermbg=NONE cterm=bold + hi Type ctermfg=136 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=61 ctermbg=NONE cterm=NONE + hi NormalMode ctermfg=246 ctermbg=230 cterm=reverse + hi InsertMode ctermfg=37 ctermbg=230 cterm=reverse + hi ReplaceMode ctermfg=166 ctermbg=230 cterm=reverse + hi VisualMode ctermfg=162 ctermbg=230 cterm=reverse + hi CommandMode ctermfg=162 ctermbg=230 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=235 ctermbg=242 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=61 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=136 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=32 ctermbg=NONE cterm=bold + hi helpExample ctermfg=247 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=37 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=162 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=162 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=32 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=106 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=66 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=136 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=37 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=32 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=32 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=32 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=242 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=242 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=162 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=160 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=106 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=242 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=37 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=160 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=136 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=246 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=242 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=242 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=247 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=32 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=32 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=66 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=136 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=247 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=136 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=37 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=37 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=136 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=136 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=136 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=247 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=162 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=166 ctermbg=NONE cterm=NONE + hi VarId ctermfg=32 ctermbg=NONE cterm=NONE + hi ConId ctermfg=136 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=162 ctermbg=NONE cterm=NONE + hi hsString ctermfg=66 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=32 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=37 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=136 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=166 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=37 ctermbg=NONE cterm=NONE + hi hsType ctermfg=136 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=37 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=106 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=37 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=37 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=32 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=32 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=242 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=136 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=160 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=246 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=61 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=61 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=61 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=32 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=32 ctermbg=235 cterm=NONE + hi pandocTableZebraDark ctermfg=32 ctermbg=236 cterm=NONE + hi pandocEmphasisTable ctermfg=32 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=32 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=166 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=66 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=66 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=32 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=61 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=246 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=242 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=32 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=32 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=160 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=160 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=160 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=160 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=37 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=136 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=236 ctermbg=160 cterm=bold + hi ALEInfoSign ctermfg=236 ctermbg=37 cterm=bold + hi ALEWarningSign ctermfg=236 ctermbg=136 cterm=bold + else + hi ALEErrorSign ctermfg=160 ctermbg=236 cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=236 cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=236 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=236 ctermbg=160 cterm=NONE + hi ALEInfoSignLineNr ctermfg=236 ctermbg=37 cterm=NONE + hi ALEWarningSignLineNr ctermfg=236 ctermbg=136 cterm=NONE + endif + hi ALEError ctermfg=160 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=37 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=136 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish + endif + " Light background + if s:termtrans + hi Normal ctermfg=242 ctermbg=NONE cterm=NONE + hi FoldColumn ctermfg=66 ctermbg=NONE cterm=NONE + hi Folded ctermfg=66 ctermbg=NONE cterm=bold + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=242 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else " opaque + hi Normal ctermfg=242 ctermbg=230 cterm=NONE + hi FoldColumn ctermfg=66 ctermbg=254 cterm=NONE + hi Folded ctermfg=66 ctermbg=254 cterm=bold + hi Terminal ctermfg=fg ctermbg=230 cterm=NONE + hi ToolbarButton ctermfg=242 ctermbg=254 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=254 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=230 ctermbg=66 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=160 cterm=NONE + endif + hi CursorLineNr ctermfg=160 ctermbg=254 cterm=bold + hi LineNr ctermfg=66 ctermbg=254 cterm=NONE + hi MatchParen ctermfg=230 ctermbg=246 cterm=bold + hi NonText ctermfg=160 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=160 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=162 ctermbg=230 cterm=reverse,underline + hi SpellCap ctermfg=162 ctermbg=230 cterm=reverse,underline + hi SpellLocal ctermfg=136 ctermbg=230 cterm=reverse,underline + hi SpellRare ctermfg=37 ctermbg=230 cterm=reverse,underline + hi Title ctermfg=166 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=230 ctermbg=66 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=166 cterm=NONE + endif + hi CursorLineNr ctermfg=247 ctermbg=254 cterm=bold + hi LineNr ctermfg=247 ctermbg=254 cterm=NONE + hi MatchParen ctermfg=160 ctermbg=254 cterm=bold,underline + hi NonText ctermfg=254 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=254 ctermbg=NONE cterm=bold + hi SpellBad ctermfg=162 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=162 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=247 ctermbg=NONE cterm=bold + else " Normal visibility + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=230 ctermbg=66 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=166 cterm=NONE + endif + hi CursorLineNr ctermfg=66 ctermbg=254 cterm=bold + hi LineNr ctermfg=246 ctermbg=254 cterm=NONE + hi MatchParen ctermfg=160 ctermbg=254 cterm=bold,underline + hi NonText ctermfg=246 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=246 ctermbg=254 cterm=bold + hi SpellBad ctermfg=162 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=162 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=166 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + hi LineNr ctermbg=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=136 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=32 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=136 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=bold + hi DiffText ctermfg=32 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=106 ctermbg=254 cterm=NONE + hi DiffChange ctermfg=136 ctermbg=254 cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=254 cterm=bold + hi DiffText ctermfg=32 ctermbg=254 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=247 ctermbg=230 cterm=reverse + hi StatusLineNC ctermfg=247 ctermbg=242 cterm=reverse + hi TabLine ctermfg=247 ctermbg=242 cterm=reverse + hi TabLineFill ctermfg=247 ctermbg=242 cterm=reverse + hi TabLineSel ctermfg=242 ctermbg=230 cterm=reverse + hi VertSplit ctermfg=242 ctermbg=247 cterm=NONE + hi WildMenu ctermfg=242 ctermbg=230 cterm=reverse + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=254 ctermbg=236 cterm=reverse + hi StatusLineNC ctermfg=254 ctermbg=242 cterm=reverse + hi TabLineSel ctermfg=236 ctermbg=254 cterm=NONE + hi TabLine ctermfg=247 ctermbg=254 cterm=NONE + hi TabLineFill ctermfg=247 ctermbg=254 cterm=NONE + hi VertSplit ctermfg=247 ctermbg=254 cterm=NONE + hi WildMenu ctermfg=246 ctermbg=230 cterm=reverse + else + hi StatusLine ctermfg=242 ctermbg=254 cterm=reverse + hi StatusLineNC ctermfg=246 ctermbg=254 cterm=reverse + hi TabLine ctermfg=246 ctermbg=254 cterm=reverse + hi TabLineFill ctermfg=246 ctermbg=254 cterm=reverse + hi TabLineSel ctermfg=242 ctermbg=254 cterm=reverse + hi VertSplit ctermfg=242 ctermbg=247 cterm=NONE + hi WildMenu ctermfg=236 ctermbg=254 cterm=reverse + endif + hi ColorColumn ctermfg=NONE ctermbg=254 cterm=NONE + hi Conceal ctermfg=32 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=254 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE + hi Directory ctermfg=32 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=160 ctermbg=230 cterm=reverse + hi IncSearch ctermfg=166 ctermbg=NONE cterm=standout + hi ModeMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=242 ctermbg=254 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=247 cterm=NONE + hi PmenuSel ctermfg=254 ctermbg=246 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=66 cterm=NONE + hi Question ctermfg=37 ctermbg=NONE cterm=bold + hi Search ctermfg=136 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=66 ctermbg=NONE cterm=NONE + hi Visual ctermfg=247 ctermbg=230 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=254 cterm=reverse + hi WarningMsg ctermfg=166 ctermbg=NONE cterm=bold + hi Comment ctermfg=247 ctermbg=NONE cterm=italic + hi Constant ctermfg=37 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=160 ctermbg=230 cterm=bold,reverse + hi Identifier ctermfg=32 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=166 ctermbg=NONE cterm=NONE + hi Special ctermfg=166 ctermbg=NONE cterm=NONE + hi Statement ctermfg=106 ctermbg=NONE cterm=NONE + hi Todo ctermfg=162 ctermbg=NONE cterm=bold + hi Type ctermfg=136 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=61 ctermbg=NONE cterm=NONE + hi NormalMode ctermfg=242 ctermbg=230 cterm=reverse + hi InsertMode ctermfg=37 ctermbg=230 cterm=reverse + hi ReplaceMode ctermfg=166 ctermbg=230 cterm=reverse + hi VisualMode ctermfg=162 ctermbg=230 cterm=reverse + hi CommandMode ctermfg=162 ctermbg=230 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=230 ctermbg=247 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=61 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=136 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=32 ctermbg=NONE cterm=bold + hi helpExample ctermfg=242 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=37 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=162 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=162 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=32 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=106 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=246 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=136 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=37 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=32 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=32 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=32 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=247 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=247 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=162 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=160 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=106 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=247 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=37 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=160 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=136 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=66 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=247 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=247 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=242 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=32 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=32 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=246 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=136 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=242 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=136 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=37 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=37 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=136 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=136 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=136 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=242 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=162 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=166 ctermbg=NONE cterm=NONE + hi VarId ctermfg=32 ctermbg=NONE cterm=NONE + hi ConId ctermfg=136 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=162 ctermbg=NONE cterm=NONE + hi hsString ctermfg=246 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=32 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=37 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=136 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=166 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=37 ctermbg=NONE cterm=NONE + hi hsType ctermfg=136 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=37 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=106 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=37 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=37 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=32 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=32 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=247 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=136 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=160 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=66 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=61 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=61 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=61 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=32 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=32 ctermbg=230 cterm=NONE + hi pandocTableZebraDark ctermfg=32 ctermbg=254 cterm=NONE + hi pandocEmphasisTable ctermfg=32 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=32 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=166 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=246 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=246 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=32 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=61 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=66 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=247 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=32 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=32 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=160 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=160 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=160 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=160 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=37 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=136 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=254 ctermbg=160 cterm=bold + hi ALEInfoSign ctermfg=254 ctermbg=37 cterm=bold + hi ALEWarningSign ctermfg=254 ctermbg=136 cterm=bold + else + hi ALEErrorSign ctermfg=160 ctermbg=254 cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=254 cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=254 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=254 ctermbg=160 cterm=NONE + hi ALEInfoSignLineNr ctermfg=254 ctermbg=37 cterm=NONE + hi ALEWarningSignLineNr ctermfg=254 ctermbg=136 cterm=NONE + endif + hi ALEError ctermfg=160 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=37 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=136 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +if s:t_Co >= 16 + if &background ==# 'dark' + if s:termtrans + hi Normal ctermfg=14 ctermbg=NONE cterm=NONE + hi FoldColumn ctermfg=fg ctermbg=NONE cterm=NONE + hi Folded ctermfg=fg ctermbg=NONE cterm=bold + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=14 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else " opaque + hi Normal ctermfg=14 ctermbg=8 cterm=NONE + hi FoldColumn ctermfg=12 ctermbg=0 cterm=NONE + hi Folded ctermfg=12 ctermbg=0 cterm=bold + hi Terminal ctermfg=fg ctermbg=8 cterm=NONE + hi ToolbarButton ctermfg=14 ctermbg=0 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=0 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=9 ctermbg=0 cterm=bold + hi LineNr ctermfg=12 ctermbg=0 cterm=NONE + hi NonText ctermfg=9 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=9 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=13 ctermbg=15 cterm=reverse,underline + hi SpellCap ctermfg=13 ctermbg=15 cterm=reverse,underline + hi SpellLocal ctermfg=3 ctermbg=15 cterm=reverse,underline + hi SpellRare ctermfg=6 ctermbg=15 cterm=reverse,underline + hi Title ctermfg=3 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=10 ctermbg=0 cterm=bold + hi LineNr ctermfg=10 ctermbg=0 cterm=NONE + hi NonText ctermfg=0 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=0 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=13 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=13 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=10 ctermbg=NONE cterm=bold + else " normal visibility + hi CursorLineNr ctermfg=12 ctermbg=0 cterm=bold + hi LineNr ctermfg=11 ctermbg=0 cterm=NONE + hi NonText ctermfg=11 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=11 ctermbg=0 cterm=bold + hi SpellBad ctermfg=13 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=13 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=9 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + hi LineNr ctermbg=NONE + endif + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=8 ctermbg=12 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=4 cterm=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=3 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=4 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=3 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=bold + hi DiffText ctermfg=4 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=2 ctermbg=0 cterm=NONE + hi DiffChange ctermfg=3 ctermbg=0 cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=0 cterm=bold + hi DiffText ctermfg=4 ctermbg=0 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=10 ctermbg=7 cterm=reverse + hi StatusLineNC ctermfg=10 ctermbg=0 cterm=reverse + hi TabLine ctermfg=10 ctermbg=0 cterm=reverse + hi TabLineFill ctermfg=10 ctermbg=0 cterm=reverse + hi TabLineSel ctermfg=12 ctermbg=15 cterm=reverse + hi VertSplit ctermfg=0 ctermbg=10 cterm=NONE + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=0 ctermbg=7 cterm=reverse + hi StatusLineNC ctermfg=0 ctermbg=14 cterm=reverse + hi TabLineSel ctermfg=7 ctermbg=0 cterm=NONE + hi TabLine ctermfg=10 ctermbg=0 cterm=NONE + hi TabLineFill ctermfg=10 ctermbg=0 cterm=NONE + hi VertSplit ctermfg=10 ctermbg=0 cterm=NONE + else + hi StatusLine ctermfg=12 ctermbg=0 cterm=reverse + hi StatusLineNC ctermfg=10 ctermbg=0 cterm=reverse + hi TabLine ctermfg=10 ctermbg=0 cterm=reverse + hi TabLineFill ctermfg=10 ctermbg=0 cterm=reverse + hi TabLineSel ctermfg=12 ctermbg=0 cterm=reverse + hi VertSplit ctermfg=0 ctermbg=10 cterm=NONE + endif + hi ColorColumn ctermfg=NONE ctermbg=0 cterm=NONE + hi Conceal ctermfg=4 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=0 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=0 cterm=NONE + hi Directory ctermfg=4 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=1 ctermbg=15 cterm=reverse + hi IncSearch ctermfg=9 ctermbg=NONE cterm=standout + hi MatchParen ctermfg=15 ctermbg=0 cterm=bold + hi ModeMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=14 ctermbg=0 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=10 cterm=NONE + hi PmenuSel ctermfg=7 ctermbg=11 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=12 cterm=NONE + hi Question ctermfg=6 ctermbg=NONE cterm=bold + hi Search ctermfg=3 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=12 ctermbg=NONE cterm=NONE + hi Visual ctermfg=10 ctermbg=8 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=0 cterm=reverse + hi WarningMsg ctermfg=9 ctermbg=NONE cterm=bold + hi WildMenu ctermfg=7 ctermbg=0 cterm=reverse + hi Comment ctermfg=10 ctermbg=NONE cterm=italic + hi Constant ctermfg=6 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=1 ctermbg=15 cterm=bold,reverse + hi Identifier ctermfg=4 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=9 ctermbg=NONE cterm=NONE + hi Special ctermfg=9 ctermbg=NONE cterm=NONE + hi Statement ctermfg=2 ctermbg=NONE cterm=NONE + hi Todo ctermfg=5 ctermbg=NONE cterm=bold + hi Type ctermfg=3 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=13 ctermbg=NONE cterm=NONE + hi NormalMode ctermfg=12 ctermbg=15 cterm=reverse + hi InsertMode ctermfg=6 ctermbg=15 cterm=reverse + hi ReplaceMode ctermfg=9 ctermbg=15 cterm=reverse + hi VisualMode ctermfg=5 ctermbg=15 cterm=reverse + hi CommandMode ctermfg=5 ctermbg=15 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=8 ctermbg=10 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=13 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=3 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=4 ctermbg=NONE cterm=bold + hi helpExample ctermfg=14 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=6 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=5 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=5 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=4 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=2 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=11 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=3 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=6 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=4 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=4 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=4 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=10 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=10 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=5 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=1 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=2 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=10 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=6 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=1 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=3 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=12 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=10 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=10 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=14 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=4 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=4 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=11 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=3 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=14 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=3 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=6 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=6 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=3 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=3 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=3 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=14 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=5 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=9 ctermbg=NONE cterm=NONE + hi VarId ctermfg=4 ctermbg=NONE cterm=NONE + hi ConId ctermfg=3 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=5 ctermbg=NONE cterm=NONE + hi hsString ctermfg=11 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=4 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=6 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=3 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=9 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=6 ctermbg=NONE cterm=NONE + hi hsType ctermfg=3 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=6 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=2 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=6 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=6 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=4 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=4 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=10 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=3 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=1 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=12 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=13 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=13 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=13 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=4 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=4 ctermbg=8 cterm=NONE + hi pandocTableZebraDark ctermfg=4 ctermbg=0 cterm=NONE + hi pandocEmphasisTable ctermfg=4 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=4 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=9 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=4 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=13 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=12 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=10 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=4 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=4 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=1 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=1 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=1 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=1 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=6 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=3 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=0 ctermbg=1 cterm=bold + hi ALEInfoSign ctermfg=0 ctermbg=6 cterm=bold + hi ALEWarningSign ctermfg=0 ctermbg=3 cterm=bold + else + hi ALEErrorSign ctermfg=1 ctermbg=0 cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=0 cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=0 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=0 ctermbg=1 cterm=NONE + hi ALEInfoSignLineNr ctermfg=0 ctermbg=6 cterm=NONE + hi ALEWarningSignLineNr ctermfg=0 ctermbg=3 cterm=NONE + endif + hi ALEError ctermfg=1 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=6 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=3 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish + endif + " Light background + if s:termtrans + hi Normal ctermfg=10 ctermbg=NONE cterm=NONE + hi FoldColumn ctermfg=11 ctermbg=NONE cterm=NONE + hi Folded ctermfg=11 ctermbg=NONE cterm=bold + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=10 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else " opaque + hi Normal ctermfg=10 ctermbg=15 cterm=NONE + hi FoldColumn ctermfg=11 ctermbg=7 cterm=NONE + hi Folded ctermfg=11 ctermbg=7 cterm=bold + hi Terminal ctermfg=fg ctermbg=15 cterm=NONE + hi ToolbarButton ctermfg=10 ctermbg=7 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=7 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=15 ctermbg=11 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=1 cterm=NONE + endif + hi CursorLineNr ctermfg=1 ctermbg=7 cterm=bold + hi LineNr ctermfg=11 ctermbg=7 cterm=NONE + hi MatchParen ctermfg=15 ctermbg=12 cterm=bold + hi NonText ctermfg=1 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=1 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=5 ctermbg=15 cterm=reverse,underline + hi SpellCap ctermfg=5 ctermbg=15 cterm=reverse,underline + hi SpellLocal ctermfg=3 ctermbg=15 cterm=reverse,underline + hi SpellRare ctermfg=6 ctermbg=15 cterm=reverse,underline + hi Title ctermfg=9 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=15 ctermbg=11 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=9 cterm=NONE + endif + hi CursorLineNr ctermfg=14 ctermbg=7 cterm=bold + hi LineNr ctermfg=14 ctermbg=7 cterm=NONE + hi MatchParen ctermfg=1 ctermbg=7 cterm=bold,underline + hi NonText ctermfg=7 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=7 ctermbg=NONE cterm=bold + hi SpellBad ctermfg=5 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=5 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=14 ctermbg=NONE cterm=bold + else " Normal visibility + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=15 ctermbg=11 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=9 cterm=NONE + endif + hi CursorLineNr ctermfg=11 ctermbg=7 cterm=bold + hi LineNr ctermfg=12 ctermbg=7 cterm=NONE + hi MatchParen ctermfg=1 ctermbg=7 cterm=bold,underline + hi NonText ctermfg=12 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=12 ctermbg=7 cterm=bold + hi SpellBad ctermfg=5 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=5 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=9 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + hi LineNr ctermbg=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=3 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=4 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=3 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=bold + hi DiffText ctermfg=4 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=2 ctermbg=7 cterm=NONE + hi DiffChange ctermfg=3 ctermbg=7 cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=7 cterm=bold + hi DiffText ctermfg=4 ctermbg=7 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=14 ctermbg=15 cterm=reverse + hi StatusLineNC ctermfg=14 ctermbg=10 cterm=reverse + hi TabLine ctermfg=14 ctermbg=10 cterm=reverse + hi TabLineFill ctermfg=14 ctermbg=10 cterm=reverse + hi TabLineSel ctermfg=10 ctermbg=15 cterm=reverse + hi VertSplit ctermfg=10 ctermbg=14 cterm=NONE + hi WildMenu ctermfg=10 ctermbg=15 cterm=reverse + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=7 ctermbg=0 cterm=reverse + hi StatusLineNC ctermfg=7 ctermbg=10 cterm=reverse + hi TabLineSel ctermfg=0 ctermbg=7 cterm=NONE + hi TabLine ctermfg=14 ctermbg=7 cterm=NONE + hi TabLineFill ctermfg=14 ctermbg=7 cterm=NONE + hi VertSplit ctermfg=14 ctermbg=7 cterm=NONE + hi WildMenu ctermfg=12 ctermbg=15 cterm=reverse + else + hi StatusLine ctermfg=10 ctermbg=7 cterm=reverse + hi StatusLineNC ctermfg=12 ctermbg=7 cterm=reverse + hi TabLine ctermfg=12 ctermbg=7 cterm=reverse + hi TabLineFill ctermfg=12 ctermbg=7 cterm=reverse + hi TabLineSel ctermfg=10 ctermbg=7 cterm=reverse + hi VertSplit ctermfg=10 ctermbg=14 cterm=NONE + hi WildMenu ctermfg=0 ctermbg=7 cterm=reverse + endif + hi ColorColumn ctermfg=NONE ctermbg=7 cterm=NONE + hi Conceal ctermfg=4 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=7 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=7 cterm=NONE + hi Directory ctermfg=4 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=1 ctermbg=15 cterm=reverse + hi IncSearch ctermfg=9 ctermbg=NONE cterm=standout + hi ModeMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=10 ctermbg=7 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=14 cterm=NONE + hi PmenuSel ctermfg=7 ctermbg=12 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=11 cterm=NONE + hi Question ctermfg=6 ctermbg=NONE cterm=bold + hi Search ctermfg=3 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=11 ctermbg=NONE cterm=NONE + hi Visual ctermfg=14 ctermbg=15 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=7 cterm=reverse + hi WarningMsg ctermfg=9 ctermbg=NONE cterm=bold + hi Comment ctermfg=14 ctermbg=NONE cterm=italic + hi Constant ctermfg=6 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=1 ctermbg=15 cterm=bold,reverse + hi Identifier ctermfg=4 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=9 ctermbg=NONE cterm=NONE + hi Special ctermfg=9 ctermbg=NONE cterm=NONE + hi Statement ctermfg=2 ctermbg=NONE cterm=NONE + hi Todo ctermfg=5 ctermbg=NONE cterm=bold + hi Type ctermfg=3 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=13 ctermbg=NONE cterm=NONE + hi NormalMode ctermfg=10 ctermbg=15 cterm=reverse + hi InsertMode ctermfg=6 ctermbg=15 cterm=reverse + hi ReplaceMode ctermfg=9 ctermbg=15 cterm=reverse + hi VisualMode ctermfg=5 ctermbg=15 cterm=reverse + hi CommandMode ctermfg=5 ctermbg=15 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=15 ctermbg=14 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=13 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=3 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=4 ctermbg=NONE cterm=bold + hi helpExample ctermfg=10 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=6 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=5 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=5 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=4 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=2 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=12 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=3 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=6 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=4 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=4 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=4 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=14 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=14 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=5 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=1 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=2 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=14 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=6 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=1 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=3 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=11 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=14 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=14 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=10 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=4 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=4 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=12 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=3 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=10 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=3 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=6 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=6 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=3 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=3 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=3 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=10 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=5 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=9 ctermbg=NONE cterm=NONE + hi VarId ctermfg=4 ctermbg=NONE cterm=NONE + hi ConId ctermfg=3 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=5 ctermbg=NONE cterm=NONE + hi hsString ctermfg=12 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=4 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=6 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=3 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=9 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=6 ctermbg=NONE cterm=NONE + hi hsType ctermfg=3 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=6 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=2 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=6 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=6 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=4 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=4 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=14 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=3 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=1 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=13 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=13 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=13 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=4 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=4 ctermbg=15 cterm=NONE + hi pandocTableZebraDark ctermfg=4 ctermbg=7 cterm=NONE + hi pandocEmphasisTable ctermfg=4 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=4 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=9 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=12 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=12 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=4 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=13 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=11 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=14 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=4 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=4 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=1 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=1 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=1 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=1 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=6 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=3 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=7 ctermbg=1 cterm=bold + hi ALEInfoSign ctermfg=7 ctermbg=6 cterm=bold + hi ALEWarningSign ctermfg=7 ctermbg=3 cterm=bold + else + hi ALEErrorSign ctermfg=1 ctermbg=7 cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=7 cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=7 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=7 ctermbg=1 cterm=NONE + hi ALEInfoSignLineNr ctermfg=7 ctermbg=6 cterm=NONE + hi ALEWarningSignLineNr ctermfg=7 ctermbg=3 cterm=NONE + endif + hi ALEError ctermfg=1 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=6 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=3 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +if s:t_Co >= 2 + hi Normal term=NONE + hi ColorColumn term=reverse + hi Conceal term=NONE + hi Cursor term=NONE + hi CursorColumn term=reverse + hi CursorLine term=underline + hi CursorLineNr term=bold,italic,reverse,underline + hi DiffAdd term=reverse,underline + hi DiffChange term=reverse,underline + hi DiffDelete term=reverse,underline + hi DiffText term=bold,reverse,underline + hi Directory term=NONE + hi EndOfBuffer term=NONE + hi ErrorMsg term=bold,italic,reverse + hi FoldColumn term=reverse + hi Folded term=italic,reverse,underline + hi IncSearch term=bold,italic,reverse + hi LineNr term=reverse + hi MatchParen term=bold,underline + hi ModeMsg term=NONE + hi MoreMsg term=NONE + hi NonText term=NONE + hi Pmenu term=reverse + hi PmenuSbar term=NONE + hi PmenuSel term=NONE + hi PmenuThumb term=NONE + hi Question term=standout + hi Search term=italic,underline + hi SignColumn term=reverse + hi SpecialKey term=bold + hi SpellBad term=italic,underline + hi SpellCap term=italic,underline + hi SpellLocal term=italic,underline + hi SpellRare term=italic,underline + hi StatusLine term=bold,reverse + hi StatusLineNC term=reverse + hi TabLine term=italic,reverse,underline + hi TabLineFill term=reverse,underline + hi TabLineSel term=bold + hi Title term=bold + hi VertSplit term=reverse + hi Visual term=reverse + hi VisualNOS term=NONE + hi WarningMsg term=standout + hi WildMenu term=bold + hi Comment term=italic + hi Constant term=bold,italic + hi Error term=reverse + hi Identifier term=italic + hi Ignore term=NONE + hi PreProc term=italic + hi Special term=bold,italic + hi Statement term=bold + hi Todo term=bold,underline + hi Type term=bold + hi Underlined term=underline + hi CursorIM term=NONE + hi ToolbarLine term=reverse + hi ToolbarButton term=bold,reverse + if !s:italics + hi CursorLineNr term=bold,reverse,underline + hi ErrorMsg term=bold,reverse + hi Folded term=reverse,underline + hi IncSearch term=bold,reverse + hi Search term=underline + hi SpellBad term=underline + hi SpellCap term=underline + hi SpellLocal term=underline + hi SpellRare term=underline + hi TabLine term=reverse,underline + hi Comment term=NONE + hi Constant term=bold + hi Identifier term=NONE + hi PreProc term=NONE + hi Special term=bold + endif + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +" Background: dark +" Color: base02 #073642 236 0 +" Color: red #dc322f 160 1 +" Color: green #859900 106 2 +" Color: yellow #b58900 136 3 +" Color: blue #268bd2 32 4 +" Color: magenta #d33682 162 5 +" Color: cyan #2aa198 37 6 +" Color: base2 #eee8d5 254 7 +" Color: base03 #002b36 235 8 +" Color: back #002b36 235 8 +" Color: orange #cb4b16 166 9 +" Color: base01 #586e75 242 10 +" Color: base00 #657b83 66 11 +" Color: base0 #839496 246 12 +" Color: violet #6c71c4 61 13 +" Color: base1 #93a1a1 247 14 +" Color: base3 #fdf6e3 230 15 +" Term Colors: base02 red green yellow blue magenta cyan base2 +" Term Colors: base03 orange base01 base00 base0 violet base1 base3 +" Background: light +" Color: base2 #073642 236 0 +" Color: red #dc322f 160 1 +" Color: green #859900 106 2 +" Color: yellow #b58900 136 3 +" Color: blue #268bd2 32 4 +" Color: magenta #d33682 162 5 +" Color: cyan #2aa198 37 6 +" Color: base02 #eee8d5 254 7 +" Color: base3 #002b36 235 8 +" Color: orange #cb4b16 166 9 +" Color: base1 #586e75 242 10 +" Color: base0 #657b83 66 11 +" Color: base00 #839496 246 12 +" Color: violet #6c71c4 61 13 +" Color: base01 #93a1a1 247 14 +" Color: base03 #fdf6e3 230 15 +" Color: back #fdf6e3 230 15 +" Term Colors: base2 red green yellow blue magenta cyan base02 +" Term Colors: base3 orange base1 base0 base00 violet base01 base03 +" Background: any +" vim: et ts=2 sw=2 diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/solarized8_flat.vim b/nvim/plugged/awesome-vim-colorschemes/colors/solarized8_flat.vim new file mode 100644 index 00000000..027112c7 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/solarized8_flat.vim @@ -0,0 +1,2367 @@ +" Name: Solarized 8 Flat +" Description: Precision colors for machines and people +" Author: Ethan Schoonover +" Maintainer: Lifepillar <lifepillar@lifepillar.me> +" Website: https://github.com/lifepillar/vim-solarized8 +" License: OSI approved MIT license +" Last Updated: Sat Apr 24 20:35:37 2021 + +" Generated by Colortemplate v2.1.0 + +hi clear +let g:colors_name = 'solarized8_flat' + +let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 2 +let s:italics = (&t_ZH != '' && &t_ZH != '') || has('gui_running') || has('nvim') + +let s:t_Co = get(g:, 'solarized_use16', 0) ? 16 : s:t_Co +let s:italics = s:italics && get(g:, 'solarized_italics', 1) +let s:termtrans = get(g:, 'solarized_termtrans', 0) && !has('gui_running') +hi! link Boolean Constant +hi! link Character Constant +hi! link Conditional Statement +hi! link Debug Special +hi! link Define PreProc +hi! link Delimiter Special +hi! link Exception Statement +hi! link Float Constant +hi! link Function Identifier +hi! link Include PreProc +hi! link Keyword Statement +hi! link Label Statement +hi! link Macro PreProc +hi! link Number Constant +hi! link Operator Statement +hi! link PreCondit PreProc +hi! link QuickFixLine Search +hi! link Repeat Statement +hi! link SpecialChar Special +hi! link SpecialComment Special +hi! link StatusLineTerm StatusLine +hi! link StatusLineTermNC StatusLineNC +hi! link StorageClass Type +hi! link String Constant +hi! link Structure Type +hi! link Tag Special +hi! link Typedef Type +hi! link lCursor Cursor + +if (has('termguicolors') && &termguicolors) || has('gui_running') + if &background ==# 'dark' + let g:terminal_ansi_colors = ['#073642', '#dc322f', '#859900', '#b58900', '#268bd2', '#d33682', '#2aa198', '#eee8d5', '#002b36', '#cb4b16', '#586e75', '#657b83', '#839496', '#6c71c4', '#93a1a1', '#fdf6e3'] + if has('nvim') + let g:terminal_color_0 = '#073642' + let g:terminal_color_1 = '#dc322f' + let g:terminal_color_2 = '#859900' + let g:terminal_color_3 = '#b58900' + let g:terminal_color_4 = '#268bd2' + let g:terminal_color_5 = '#d33682' + let g:terminal_color_6 = '#2aa198' + let g:terminal_color_7 = '#eee8d5' + let g:terminal_color_8 = '#002b36' + let g:terminal_color_9 = '#cb4b16' + let g:terminal_color_10 = '#586e75' + let g:terminal_color_11 = '#657b83' + let g:terminal_color_12 = '#839496' + let g:terminal_color_13 = '#6c71c4' + let g:terminal_color_14 = '#93a1a1' + let g:terminal_color_15 = '#fdf6e3' + endif + if s:termtrans + hi Normal guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi CursorLine guifg=NONE guibg=NONE guisp=#586e75 gui=underline ctermfg=NONE ctermbg=NONE cterm=underline + hi Terminal guifg=fg guibg=NONE gui=NONE cterm=NONE + hi ToolbarButton guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + else " opaque + hi Normal guifg=#839496 guibg=#002b36 gui=NONE cterm=NONE + hi CursorLine guifg=NONE guibg=#073642 gui=NONE cterm=NONE + hi Terminal guifg=fg guibg=#002b36 gui=NONE cterm=NONE + hi ToolbarButton guifg=#93a1a1 guibg=#073642 gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=#073642 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi NonText guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#cb4b16 guibg=NONE gui=reverse cterm=reverse + hi SpellBad guifg=#6c71c4 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi SpellCap guifg=#6c71c4 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi SpellLocal guifg=#b58900 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi SpellRare guifg=#2aa198 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi Title guifg=#b58900 guibg=NONE gui=bold cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi NonText guifg=#073642 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#073642 guibg=NONE gui=reverse cterm=reverse + hi SpellBad guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellCap guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#586e75 guibg=NONE gui=bold cterm=bold + else " normal visibility + hi CursorLineNr guifg=#839496 guibg=NONE gui=bold cterm=bold + hi NonText guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#657b83 guibg=#073642 gui=bold cterm=bold + hi SpellBad guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellCap guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + endif + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#002b36 guibg=#839496 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#268bd2 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd guifg=#859900 guibg=NONE gui=reverse cterm=reverse + hi DiffChange guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi DiffDelete guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi DiffText guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd guifg=#859900 guibg=NONE guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=NONE guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=NONE guisp=#268bd2 gui=NONE cterm=NONE + else " normal diffmode + hi DiffAdd guifg=#859900 guibg=#073642 guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=#073642 guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=#073642 gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=#073642 guisp=#268bd2 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine guifg=#073642 guibg=#93a1a1 gui=bold,reverse cterm=bold,reverse + hi StatusLineNC guifg=#073642 guibg=#586e75 gui=reverse cterm=reverse + hi TabLineSel guifg=#93a1a1 guibg=#073642 gui=NONE cterm=NONE + hi NormalMode guifg=#073642 guibg=#93a1a1 gui=bold,reverse cterm=bold,reverse + else + hi StatusLine guifg=#073642 guibg=#eee8d5 gui=reverse cterm=reverse + hi StatusLineNC guifg=#073642 guibg=#93a1a1 gui=reverse cterm=reverse + hi TabLineSel guifg=#eee8d5 guibg=#073642 gui=NONE cterm=NONE + hi NormalMode guifg=#073642 guibg=#eee8d5 gui=reverse cterm=reverse + endif + hi ColorColumn guifg=NONE guibg=#073642 gui=NONE cterm=NONE + hi Conceal guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi CursorColumn guifg=NONE guibg=#073642 gui=NONE cterm=NONE + hi Directory guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi EndOfBuffer guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg guifg=#dc322f guibg=#fdf6e3 gui=reverse cterm=reverse + hi FoldColumn guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi Folded guifg=#839496 guibg=NONE guisp=#002b36 gui=bold cterm=bold + hi IncSearch guifg=#cb4b16 guibg=NONE gui=standout cterm=standout + hi LineNr guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi MatchParen guifg=#fdf6e3 guibg=#073642 gui=bold cterm=bold + hi ModeMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi MoreMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Pmenu guifg=#839496 guibg=#073642 gui=NONE cterm=NONE + hi PmenuSbar guifg=NONE guibg=#073642 gui=NONE cterm=NONE + hi PmenuSel guifg=#eee8d5 guibg=#586e75 gui=NONE cterm=NONE + hi PmenuThumb guifg=NONE guibg=#586e75 gui=NONE cterm=NONE + hi Question guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi Search guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi SignColumn guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi TabLine guifg=#586e75 guibg=#073642 gui=NONE cterm=NONE + hi TabLineFill guifg=#586e75 guibg=#073642 gui=NONE cterm=NONE + hi VertSplit guifg=#586e75 guibg=#073642 gui=NONE cterm=NONE + hi Visual guifg=#586e75 guibg=#002b36 gui=reverse cterm=reverse + hi VisualNOS guifg=NONE guibg=#073642 gui=reverse cterm=reverse + hi WarningMsg guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi WildMenu guifg=#657b83 guibg=#eee8d5 gui=reverse cterm=reverse + hi Comment guifg=#586e75 guibg=NONE gui=italic cterm=italic + hi Constant guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE + hi Error guifg=#dc322f guibg=#fdf6e3 gui=bold,reverse cterm=bold,reverse + hi Identifier guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Special guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Statement guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi Todo guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi Type guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi Underlined guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi InsertMode guifg=#073642 guibg=#2aa198 gui=bold,reverse cterm=bold,reverse + hi ReplaceMode guifg=#073642 guibg=#cb4b16 gui=bold,reverse cterm=bold,reverse + hi VisualMode guifg=#073642 guibg=#d33682 gui=bold,reverse cterm=bold,reverse + hi CommandMode guifg=#073642 guibg=#d33682 gui=bold,reverse cterm=bold,reverse + if !s:italics + hi Comment gui=NONE cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC guifg=#002b36 guibg=#586e75 gui=NONE cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi vimCommand guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimCmdSep guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi helpExample guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi helpOption guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi helpNote guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpVim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextJump guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextEntry guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi vimIsCommand guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi vimSynMtchOpt guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimSynType guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi vimHiLink guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimHiGroup guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimGroup guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment guifg=#586e75 guibg=NONE gui=italic cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitOnBranch guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi gitcommitBranch guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi gitcommitselectedtype guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi gitcommitHeader guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi gitcommitUntrackedFile guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi gitcommitDiscardedFile guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi gitcommitSelectedFile guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitUnmergedFile guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi gitcommitFile guifg=#839496 guibg=NONE gui=bold cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi htmlEndTag guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi htmlTagN guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi htmlTagName guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi htmlSpecialTagName guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi htmlArg guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi javaScript guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi perlVarPlain guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi perlStatementFileDesc guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texstatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texmathzonex guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texmathmatcher guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texreflabel guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi rubyDefine guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi! link rubySymbol Type + hi rubyBoolean guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi cPreCondit guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi VarId guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi ConId guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsImport guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi hsString guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi hsStructure guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_hlFunctionName guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi hsStatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsImportLabel guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_OpFunctionName guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hs_DeclareFunction guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi hsVarSym guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsType guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsTypedef guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsModuleName guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsniceoperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + if !s:italics + hi gitcommitComment gui=NONE cterm=NONE + hi htmlSpecialTagName gui=NONE cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTitleBlockTitle guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocTitleComment guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocComment guifg=#586e75 guibg=NONE gui=italic cterm=italic + hi pandocVerbatimBlock guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader1 guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader2 guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader3 guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader4 guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader5 guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader6 guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi pandocListMarker guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocListReference guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionBlock guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionTerm guifg=#6c71c4 guibg=NONE gui=standout cterm=standout + hi pandocDefinitionIndctr guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutDefinition guifg=#6c71c4 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTableStructure guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight guifg=#268bd2 guibg=#002b36 gui=NONE cterm=NONE + hi pandocTableZebraDark guifg=#268bd2 guibg=#073642 gui=NONE cterm=NONE + hi pandocEmphasisTable guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutTable guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocHeadingMarker guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutHeading guifg=#cb4b16 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSuperscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSubscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocLinkDelim guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkLabel guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkText guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkURL guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitle guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitleDelim guifg=#586e75 guibg=NONE guisp=#657b83 gui=NONE cterm=NONE + hi pandocLinkDefinition guifg=#2aa198 guibg=NONE guisp=#657b83 gui=NONE cterm=NONE + hi pandocLinkDefinitionID guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocImageCaption guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteLink guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocFootnoteDefLink guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteInline guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnote guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationDelim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitation guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationID guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocStyleDelim guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi pandocEmphasis guifg=#839496 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNested guifg=#839496 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasis guifg=#839496 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNested guifg=#839496 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasis guifg=#839496 guibg=NONE gui=bold cterm=bold + hi pandocStrikeout guifg=#586e75 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInline guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocRule guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocRuleLine guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocEscapePair guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocNonBreakingSpace guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadataKey guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment gui=NONE cterm=NONE + hi pandocEmphasisDefinition gui=NONE cterm=NONE + hi pandocEmphasisTable gui=NONE cterm=NONE + hi pandocEmphasis gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi ALEErrorSignLineNr guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign guifg=#073642 guibg=#dc322f gui=bold cterm=bold + hi ALEInfoSign guifg=#073642 guibg=#2aa198 gui=bold cterm=bold + hi ALEWarningSign guifg=#073642 guibg=#b58900 gui=bold cterm=bold + else + hi ALEErrorSign guifg=#dc322f guibg=#073642 gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=#073642 gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=#073642 gui=bold cterm=bold + endif + hi ALEErrorSignLineNr guifg=#073642 guibg=#dc322f gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#073642 guibg=#2aa198 gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#073642 guibg=#b58900 gui=NONE cterm=NONE + endif + hi ALEError guifg=#dc322f guibg=NONE guisp=#dc322f gui=undercurl cterm=undercurl + hi ALEErrorLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl + hi ALEInfoLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl + hi ALEWarningLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish + endif + " Light background + let g:terminal_ansi_colors = ['#073642', '#dc322f', '#859900', '#b58900', '#268bd2', '#d33682', '#2aa198', '#eee8d5', '#002b36', '#cb4b16', '#586e75', '#657b83', '#839496', '#6c71c4', '#93a1a1', '#fdf6e3'] + if has('nvim') + let g:terminal_color_0 = '#073642' + let g:terminal_color_1 = '#dc322f' + let g:terminal_color_2 = '#859900' + let g:terminal_color_3 = '#b58900' + let g:terminal_color_4 = '#268bd2' + let g:terminal_color_5 = '#d33682' + let g:terminal_color_6 = '#2aa198' + let g:terminal_color_7 = '#eee8d5' + let g:terminal_color_8 = '#002b36' + let g:terminal_color_9 = '#cb4b16' + let g:terminal_color_10 = '#586e75' + let g:terminal_color_11 = '#657b83' + let g:terminal_color_12 = '#839496' + let g:terminal_color_13 = '#6c71c4' + let g:terminal_color_14 = '#93a1a1' + let g:terminal_color_15 = '#fdf6e3' + endif + if s:termtrans + hi Normal guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi CursorLine guifg=NONE guibg=NONE guisp=#93a1a1 gui=underline ctermfg=NONE ctermbg=NONE cterm=underline + hi Terminal guifg=fg guibg=NONE gui=NONE cterm=NONE + hi ToolbarButton guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + else " opaque + hi Normal guifg=#657b83 guibg=#fdf6e3 gui=NONE cterm=NONE + hi CursorLine guifg=NONE guibg=#eee8d5 gui=NONE cterm=NONE + hi Terminal guifg=fg guibg=#fdf6e3 gui=NONE cterm=NONE + hi ToolbarButton guifg=#586e75 guibg=#eee8d5 gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=#eee8d5 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#fdf6e3 guibg=#657b83 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#dc322f gui=NONE cterm=NONE + endif + hi CursorLineNr guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi MatchParen guifg=#cb4b16 guibg=#eee8d5 gui=bold,underline cterm=bold,underline + hi NonText guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi SpellBad guifg=#6c71c4 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi SpellCap guifg=#6c71c4 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi SpellLocal guifg=#b58900 guibg=#eee8d5 guisp=#cb4b16 gui=reverse,undercurl cterm=reverse,underline + hi SpellRare guifg=#2aa198 guibg=#eee8d5 guisp=#cb4b16 gui=reverse,undercurl cterm=reverse,underline + hi Title guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#fdf6e3 guibg=#657b83 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#cb4b16 gui=NONE cterm=NONE + endif + hi CursorLineNr guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi MatchParen guifg=#cb4b16 guibg=#eee8d5 gui=bold cterm=bold + hi NonText guifg=#eee8d5 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#eee8d5 guibg=NONE gui=bold cterm=bold + hi SpellBad guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellCap guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + else " normal visibility + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#fdf6e3 guibg=#657b83 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#cb4b16 gui=NONE cterm=NONE + endif + hi CursorLineNr guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi MatchParen guifg=#002b36 guibg=#eee8d5 gui=bold cterm=bold + hi NonText guifg=#839496 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#839496 guibg=#eee8d5 gui=bold cterm=bold + hi SpellBad guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellCap guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd guifg=#859900 guibg=NONE gui=reverse cterm=reverse + hi DiffChange guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi DiffDelete guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi DiffText guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd guifg=#859900 guibg=NONE guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=NONE guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=NONE guisp=#268bd2 gui=NONE cterm=NONE + else " normal diffmode + hi DiffAdd guifg=#859900 guibg=#eee8d5 guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=#eee8d5 guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=#eee8d5 gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=#eee8d5 guisp=#268bd2 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine guifg=#eee8d5 guibg=#586e75 gui=bold,reverse cterm=bold,reverse + hi StatusLineNC guifg=#eee8d5 guibg=#93a1a1 gui=reverse cterm=reverse + hi TabLineSel guifg=#586e75 guibg=#eee8d5 gui=NONE cterm=NONE + hi NormalMode guifg=#eee8d5 guibg=#586e75 gui=bold,reverse cterm=bold,reverse + else + hi StatusLine guifg=#eee8d5 guibg=#073642 gui=reverse cterm=reverse + hi StatusLineNC guifg=#eee8d5 guibg=#586e75 gui=reverse cterm=reverse + hi TabLineSel guifg=#073642 guibg=#eee8d5 gui=NONE cterm=NONE + hi NormalMode guifg=#eee8d5 guibg=#073642 gui=reverse cterm=reverse + endif + hi ColorColumn guifg=NONE guibg=#eee8d5 gui=NONE cterm=NONE + hi Conceal guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi CursorColumn guifg=NONE guibg=#eee8d5 gui=NONE cterm=NONE + hi Directory guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi EndOfBuffer guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg guifg=#dc322f guibg=#fdf6e3 gui=reverse cterm=reverse + hi FoldColumn guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi Folded guifg=#657b83 guibg=NONE guisp=#fdf6e3 gui=bold cterm=bold + hi IncSearch guifg=#cb4b16 guibg=NONE gui=standout cterm=standout + hi LineNr guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi ModeMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi MoreMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Pmenu guifg=#657b83 guibg=#eee8d5 gui=NONE cterm=NONE + hi PmenuSbar guifg=NONE guibg=#eee8d5 gui=NONE cterm=NONE + hi PmenuSel guifg=#fdf6e3 guibg=#93a1a1 gui=NONE cterm=NONE + hi PmenuThumb guifg=NONE guibg=#93a1a1 gui=NONE cterm=NONE + hi Question guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi Search guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi SignColumn guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi TabLine guifg=#93a1a1 guibg=#eee8d5 gui=NONE cterm=NONE + hi TabLineFill guifg=#93a1a1 guibg=#eee8d5 gui=NONE cterm=NONE + hi VertSplit guifg=#93a1a1 guibg=#eee8d5 gui=NONE cterm=NONE + hi Visual guifg=#93a1a1 guibg=#fdf6e3 gui=reverse cterm=reverse + hi VisualNOS guifg=NONE guibg=#eee8d5 gui=reverse cterm=reverse + hi WarningMsg guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi WildMenu guifg=#93a1a1 guibg=#fdf6e3 gui=reverse cterm=reverse + hi Comment guifg=#93a1a1 guibg=NONE gui=italic cterm=italic + hi Constant guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE + hi Error guifg=#dc322f guibg=#fdf6e3 gui=bold,reverse cterm=bold,reverse + hi Identifier guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Special guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Statement guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi Todo guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi Type guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi Underlined guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi InsertMode guifg=#eee8d5 guibg=#2aa198 gui=bold,reverse cterm=bold,reverse + hi ReplaceMode guifg=#eee8d5 guibg=#cb4b16 gui=bold,reverse cterm=bold,reverse + hi VisualMode guifg=#eee8d5 guibg=#d33682 gui=bold,reverse cterm=bold,reverse + hi CommandMode guifg=#eee8d5 guibg=#d33682 gui=bold,reverse cterm=bold,reverse + if !s:italics + hi Comment gui=NONE cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC guifg=#fdf6e3 guibg=#93a1a1 gui=NONE cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi vimCommand guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimCmdSep guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi helpExample guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi helpOption guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi helpNote guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpVim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextJump guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextEntry guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi vimIsCommand guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi vimSynMtchOpt guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimSynType guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi vimHiLink guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimHiGroup guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimGroup guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment guifg=#93a1a1 guibg=NONE gui=italic cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitOnBranch guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi gitcommitBranch guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi gitcommitselectedtype guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi gitcommitHeader guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi gitcommitUntrackedFile guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi gitcommitDiscardedFile guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi gitcommitSelectedFile guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitUnmergedFile guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi gitcommitFile guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi htmlEndTag guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi htmlTagN guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi htmlTagName guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi htmlSpecialTagName guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi htmlArg guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi javaScript guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi perlVarPlain guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi perlStatementFileDesc guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texstatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texmathzonex guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texmathmatcher guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texreflabel guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi rubyDefine guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi! link rubySymbol Type + hi rubyBoolean guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi cPreCondit guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi VarId guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi ConId guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsImport guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi hsString guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi hsStructure guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_hlFunctionName guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi hsStatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsImportLabel guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_OpFunctionName guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hs_DeclareFunction guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi hsVarSym guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsType guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsTypedef guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsModuleName guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsniceoperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + if !s:italics + hi gitcommitComment gui=NONE cterm=NONE + hi htmlSpecialTagName gui=NONE cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTitleBlockTitle guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocTitleComment guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocComment guifg=#93a1a1 guibg=NONE gui=italic cterm=italic + hi pandocVerbatimBlock guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader1 guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader2 guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader3 guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader4 guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader5 guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader6 guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocListMarker guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocListReference guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionBlock guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionTerm guifg=#6c71c4 guibg=NONE gui=standout cterm=standout + hi pandocDefinitionIndctr guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutDefinition guifg=#6c71c4 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTableStructure guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight guifg=#268bd2 guibg=#fdf6e3 gui=NONE cterm=NONE + hi pandocTableZebraDark guifg=#268bd2 guibg=#eee8d5 gui=NONE cterm=NONE + hi pandocEmphasisTable guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutTable guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocHeadingMarker guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutHeading guifg=#cb4b16 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSuperscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSubscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocLinkDelim guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkLabel guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkText guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkURL guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitle guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitleDelim guifg=#93a1a1 guibg=NONE guisp=#839496 gui=NONE cterm=NONE + hi pandocLinkDefinition guifg=#2aa198 guibg=NONE guisp=#839496 gui=NONE cterm=NONE + hi pandocLinkDefinitionID guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocImageCaption guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteLink guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocFootnoteDefLink guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteInline guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnote guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationDelim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitation guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationID guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocStyleDelim guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocEmphasis guifg=#657b83 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNested guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasis guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNested guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasis guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi pandocStrikeout guifg=#93a1a1 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInline guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocRule guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocRuleLine guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocEscapePair guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocNonBreakingSpace guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadataKey guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment gui=NONE cterm=NONE + hi pandocEmphasisDefinition gui=NONE cterm=NONE + hi pandocEmphasisTable gui=NONE cterm=NONE + hi pandocEmphasis gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi ALEErrorSignLineNr guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign guifg=#eee8d5 guibg=#dc322f gui=bold cterm=bold + hi ALEInfoSign guifg=#eee8d5 guibg=#2aa198 gui=bold cterm=bold + hi ALEWarningSign guifg=#eee8d5 guibg=#b58900 gui=bold cterm=bold + else + hi ALEErrorSign guifg=#dc322f guibg=#eee8d5 gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=#eee8d5 gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=#eee8d5 gui=bold cterm=bold + endif + hi ALEErrorSignLineNr guifg=#eee8d5 guibg=#dc322f gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#eee8d5 guibg=#2aa198 gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#eee8d5 guibg=#b58900 gui=NONE cterm=NONE + endif + hi ALEError guifg=#dc322f guibg=NONE guisp=#dc322f gui=undercurl cterm=undercurl + hi ALEErrorLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl + hi ALEInfoLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl + hi ALEWarningLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +if s:t_Co >= 256 + if &background ==# 'dark' + if s:termtrans + hi Normal ctermfg=246 ctermbg=NONE cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=247 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else " opaque + hi Normal ctermfg=246 ctermbg=235 cterm=NONE + if !has('patch-8.0.0616') && !has('nvim') " Fix for Vim bug + set background=dark + endif + hi CursorLine ctermfg=NONE ctermbg=236 cterm=NONE + hi Terminal ctermfg=fg ctermbg=235 cterm=NONE + hi ToolbarButton ctermfg=247 ctermbg=236 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=236 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=166 ctermbg=NONE cterm=bold + hi NonText ctermfg=166 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=166 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=61 ctermbg=254 cterm=reverse,underline + hi SpellCap ctermfg=61 ctermbg=254 cterm=reverse,underline + hi SpellLocal ctermfg=136 ctermbg=254 cterm=reverse,underline + hi SpellRare ctermfg=37 ctermbg=254 cterm=reverse,underline + hi Title ctermfg=136 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=242 ctermbg=NONE cterm=bold + hi NonText ctermfg=236 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=236 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=61 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=61 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=242 ctermbg=NONE cterm=bold + else " normal visibility + hi CursorLineNr ctermfg=246 ctermbg=NONE cterm=bold + hi NonText ctermfg=66 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=66 ctermbg=236 cterm=bold + hi SpellBad ctermfg=61 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=61 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=166 ctermbg=NONE cterm=bold + endif + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=235 ctermbg=246 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=32 cterm=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=136 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=32 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=136 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=bold + hi DiffText ctermfg=32 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=106 ctermbg=236 cterm=NONE + hi DiffChange ctermfg=136 ctermbg=236 cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=236 cterm=bold + hi DiffText ctermfg=32 ctermbg=236 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=236 ctermbg=247 cterm=bold,reverse + hi StatusLineNC ctermfg=236 ctermbg=242 cterm=reverse + hi TabLineSel ctermfg=247 ctermbg=236 cterm=NONE + hi NormalMode ctermfg=236 ctermbg=247 cterm=bold,reverse + else + hi StatusLine ctermfg=236 ctermbg=254 cterm=reverse + hi StatusLineNC ctermfg=236 ctermbg=247 cterm=reverse + hi TabLineSel ctermfg=254 ctermbg=236 cterm=NONE + hi NormalMode ctermfg=236 ctermbg=254 cterm=reverse + endif + hi ColorColumn ctermfg=NONE ctermbg=236 cterm=NONE + hi Conceal ctermfg=32 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=236 cterm=NONE + hi Directory ctermfg=32 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=160 ctermbg=230 cterm=reverse + hi FoldColumn ctermfg=246 ctermbg=NONE cterm=NONE + hi Folded ctermfg=246 ctermbg=NONE cterm=bold + hi IncSearch ctermfg=166 ctermbg=NONE cterm=standout + hi LineNr ctermfg=242 ctermbg=NONE cterm=NONE + hi MatchParen ctermfg=230 ctermbg=236 cterm=bold + hi ModeMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=246 ctermbg=236 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=236 cterm=NONE + hi PmenuSel ctermfg=254 ctermbg=242 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=242 cterm=NONE + hi Question ctermfg=37 ctermbg=NONE cterm=bold + hi Search ctermfg=136 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=246 ctermbg=NONE cterm=NONE + hi TabLine ctermfg=242 ctermbg=236 cterm=NONE + hi TabLineFill ctermfg=242 ctermbg=236 cterm=NONE + hi VertSplit ctermfg=242 ctermbg=236 cterm=NONE + hi Visual ctermfg=242 ctermbg=235 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=236 cterm=reverse + hi WarningMsg ctermfg=166 ctermbg=NONE cterm=bold + hi WildMenu ctermfg=66 ctermbg=254 cterm=reverse + hi Comment ctermfg=242 ctermbg=NONE cterm=italic + hi Constant ctermfg=37 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=160 ctermbg=230 cterm=bold,reverse + hi Identifier ctermfg=32 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=166 ctermbg=NONE cterm=NONE + hi Special ctermfg=166 ctermbg=NONE cterm=NONE + hi Statement ctermfg=106 ctermbg=NONE cterm=NONE + hi Todo ctermfg=162 ctermbg=NONE cterm=bold + hi Type ctermfg=136 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=61 ctermbg=NONE cterm=NONE + hi InsertMode ctermfg=236 ctermbg=37 cterm=bold,reverse + hi ReplaceMode ctermfg=236 ctermbg=166 cterm=bold,reverse + hi VisualMode ctermfg=236 ctermbg=162 cterm=bold,reverse + hi CommandMode ctermfg=236 ctermbg=162 cterm=bold,reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=235 ctermbg=242 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=61 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=136 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=32 ctermbg=NONE cterm=bold + hi helpExample ctermfg=247 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=37 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=162 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=162 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=32 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=106 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=66 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=136 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=37 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=32 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=32 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=32 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=242 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=242 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=162 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=160 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=106 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=242 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=37 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=160 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=136 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=246 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=242 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=242 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=247 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=32 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=32 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=66 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=136 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=247 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=136 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=37 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=37 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=136 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=136 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=136 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=247 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=162 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=166 ctermbg=NONE cterm=NONE + hi VarId ctermfg=32 ctermbg=NONE cterm=NONE + hi ConId ctermfg=136 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=162 ctermbg=NONE cterm=NONE + hi hsString ctermfg=66 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=32 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=37 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=136 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=166 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=37 ctermbg=NONE cterm=NONE + hi hsType ctermfg=136 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=37 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=106 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=37 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=37 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=32 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=32 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=242 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=136 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=160 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=246 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=61 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=61 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=61 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=32 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=32 ctermbg=235 cterm=NONE + hi pandocTableZebraDark ctermfg=32 ctermbg=236 cterm=NONE + hi pandocEmphasisTable ctermfg=32 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=32 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=166 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=66 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=66 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=32 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=61 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=246 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=242 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=32 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=32 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=160 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=160 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=160 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=160 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=37 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=136 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=236 ctermbg=160 cterm=bold + hi ALEInfoSign ctermfg=236 ctermbg=37 cterm=bold + hi ALEWarningSign ctermfg=236 ctermbg=136 cterm=bold + else + hi ALEErrorSign ctermfg=160 ctermbg=236 cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=236 cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=236 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=236 ctermbg=160 cterm=NONE + hi ALEInfoSignLineNr ctermfg=236 ctermbg=37 cterm=NONE + hi ALEWarningSignLineNr ctermfg=236 ctermbg=136 cterm=NONE + endif + hi ALEError ctermfg=160 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=37 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=136 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish + endif + " Light background + if s:termtrans + hi Normal ctermfg=66 ctermbg=NONE cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=242 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else " opaque + hi Normal ctermfg=66 ctermbg=230 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE + hi Terminal ctermfg=fg ctermbg=230 cterm=NONE + hi ToolbarButton ctermfg=242 ctermbg=254 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=254 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=230 ctermbg=66 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=160 cterm=NONE + endif + hi CursorLineNr ctermfg=160 ctermbg=NONE cterm=bold + hi MatchParen ctermfg=166 ctermbg=254 cterm=bold,underline + hi NonText ctermfg=160 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=160 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=61 ctermbg=254 cterm=reverse,underline + hi SpellCap ctermfg=61 ctermbg=254 cterm=reverse,underline + hi SpellLocal ctermfg=136 ctermbg=254 cterm=reverse,underline + hi SpellRare ctermfg=37 ctermbg=254 cterm=reverse,underline + hi Title ctermfg=166 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=230 ctermbg=66 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=166 cterm=NONE + endif + hi CursorLineNr ctermfg=247 ctermbg=NONE cterm=bold + hi MatchParen ctermfg=166 ctermbg=254 cterm=bold + hi NonText ctermfg=254 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=254 ctermbg=NONE cterm=bold + hi SpellBad ctermfg=61 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=61 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=247 ctermbg=NONE cterm=bold + else " normal visibility + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=230 ctermbg=66 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=166 cterm=NONE + endif + hi CursorLineNr ctermfg=66 ctermbg=NONE cterm=bold + hi MatchParen ctermfg=235 ctermbg=254 cterm=bold + hi NonText ctermfg=246 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=246 ctermbg=254 cterm=bold + hi SpellBad ctermfg=61 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=61 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=166 ctermbg=NONE cterm=bold + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=136 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=32 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=136 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=bold + hi DiffText ctermfg=32 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=106 ctermbg=254 cterm=NONE + hi DiffChange ctermfg=136 ctermbg=254 cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=254 cterm=bold + hi DiffText ctermfg=32 ctermbg=254 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=254 ctermbg=242 cterm=bold,reverse + hi StatusLineNC ctermfg=254 ctermbg=247 cterm=reverse + hi TabLineSel ctermfg=242 ctermbg=254 cterm=NONE + hi NormalMode ctermfg=254 ctermbg=242 cterm=bold,reverse + else + hi StatusLine ctermfg=254 ctermbg=236 cterm=reverse + hi StatusLineNC ctermfg=254 ctermbg=242 cterm=reverse + hi TabLineSel ctermfg=236 ctermbg=254 cterm=NONE + hi NormalMode ctermfg=254 ctermbg=236 cterm=reverse + endif + hi ColorColumn ctermfg=NONE ctermbg=254 cterm=NONE + hi Conceal ctermfg=32 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=254 cterm=NONE + hi Directory ctermfg=32 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=160 ctermbg=230 cterm=reverse + hi FoldColumn ctermfg=66 ctermbg=NONE cterm=NONE + hi Folded ctermfg=66 ctermbg=NONE cterm=bold + hi IncSearch ctermfg=166 ctermbg=NONE cterm=standout + hi LineNr ctermfg=247 ctermbg=NONE cterm=NONE + hi ModeMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=66 ctermbg=254 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=254 cterm=NONE + hi PmenuSel ctermfg=230 ctermbg=247 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=247 cterm=NONE + hi Question ctermfg=37 ctermbg=NONE cterm=bold + hi Search ctermfg=136 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=66 ctermbg=NONE cterm=NONE + hi TabLine ctermfg=247 ctermbg=254 cterm=NONE + hi TabLineFill ctermfg=247 ctermbg=254 cterm=NONE + hi VertSplit ctermfg=247 ctermbg=254 cterm=NONE + hi Visual ctermfg=247 ctermbg=230 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=254 cterm=reverse + hi WarningMsg ctermfg=166 ctermbg=NONE cterm=bold + hi WildMenu ctermfg=247 ctermbg=230 cterm=reverse + hi Comment ctermfg=247 ctermbg=NONE cterm=italic + hi Constant ctermfg=37 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=160 ctermbg=230 cterm=bold,reverse + hi Identifier ctermfg=32 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=166 ctermbg=NONE cterm=NONE + hi Special ctermfg=166 ctermbg=NONE cterm=NONE + hi Statement ctermfg=106 ctermbg=NONE cterm=NONE + hi Todo ctermfg=162 ctermbg=NONE cterm=bold + hi Type ctermfg=136 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=61 ctermbg=NONE cterm=NONE + hi InsertMode ctermfg=254 ctermbg=37 cterm=bold,reverse + hi ReplaceMode ctermfg=254 ctermbg=166 cterm=bold,reverse + hi VisualMode ctermfg=254 ctermbg=162 cterm=bold,reverse + hi CommandMode ctermfg=254 ctermbg=162 cterm=bold,reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=230 ctermbg=247 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=61 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=136 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=32 ctermbg=NONE cterm=bold + hi helpExample ctermfg=242 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=37 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=162 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=162 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=32 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=106 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=246 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=136 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=37 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=32 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=32 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=32 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=247 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=247 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=162 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=160 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=106 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=247 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=37 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=160 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=136 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=66 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=247 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=247 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=242 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=32 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=32 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=246 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=136 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=242 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=136 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=37 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=37 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=136 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=136 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=136 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=242 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=162 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=166 ctermbg=NONE cterm=NONE + hi VarId ctermfg=32 ctermbg=NONE cterm=NONE + hi ConId ctermfg=136 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=162 ctermbg=NONE cterm=NONE + hi hsString ctermfg=246 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=32 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=37 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=136 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=166 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=37 ctermbg=NONE cterm=NONE + hi hsType ctermfg=136 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=37 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=106 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=37 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=37 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=32 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=32 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=247 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=136 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=160 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=66 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=61 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=61 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=61 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=32 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=32 ctermbg=230 cterm=NONE + hi pandocTableZebraDark ctermfg=32 ctermbg=254 cterm=NONE + hi pandocEmphasisTable ctermfg=32 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=32 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=166 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=246 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=246 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=32 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=61 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=66 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=247 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=32 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=32 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=160 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=160 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=160 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=160 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=37 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=136 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=254 ctermbg=160 cterm=bold + hi ALEInfoSign ctermfg=254 ctermbg=37 cterm=bold + hi ALEWarningSign ctermfg=254 ctermbg=136 cterm=bold + else + hi ALEErrorSign ctermfg=160 ctermbg=254 cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=254 cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=254 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=254 ctermbg=160 cterm=NONE + hi ALEInfoSignLineNr ctermfg=254 ctermbg=37 cterm=NONE + hi ALEWarningSignLineNr ctermfg=254 ctermbg=136 cterm=NONE + endif + hi ALEError ctermfg=160 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=37 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=136 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +if s:t_Co >= 16 + if &background ==# 'dark' + if s:termtrans + hi Normal ctermfg=12 ctermbg=NONE cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=14 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else " opaque + hi Normal ctermfg=12 ctermbg=8 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=0 cterm=NONE + hi Terminal ctermfg=fg ctermbg=8 cterm=NONE + hi ToolbarButton ctermfg=14 ctermbg=0 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=0 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=9 ctermbg=NONE cterm=bold + hi NonText ctermfg=9 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=9 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=13 ctermbg=7 cterm=reverse,underline + hi SpellCap ctermfg=13 ctermbg=7 cterm=reverse,underline + hi SpellLocal ctermfg=3 ctermbg=7 cterm=reverse,underline + hi SpellRare ctermfg=6 ctermbg=7 cterm=reverse,underline + hi Title ctermfg=3 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=10 ctermbg=NONE cterm=bold + hi NonText ctermfg=0 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=0 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=13 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=13 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=10 ctermbg=NONE cterm=bold + else " normal visibility + hi CursorLineNr ctermfg=12 ctermbg=NONE cterm=bold + hi NonText ctermfg=11 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=11 ctermbg=0 cterm=bold + hi SpellBad ctermfg=13 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=13 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=9 ctermbg=NONE cterm=bold + endif + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=8 ctermbg=12 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=4 cterm=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=3 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=4 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=3 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=bold + hi DiffText ctermfg=4 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=2 ctermbg=0 cterm=NONE + hi DiffChange ctermfg=3 ctermbg=0 cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=0 cterm=bold + hi DiffText ctermfg=4 ctermbg=0 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=0 ctermbg=14 cterm=bold,reverse + hi StatusLineNC ctermfg=0 ctermbg=10 cterm=reverse + hi TabLineSel ctermfg=14 ctermbg=0 cterm=NONE + hi NormalMode ctermfg=0 ctermbg=14 cterm=bold,reverse + else + hi StatusLine ctermfg=0 ctermbg=7 cterm=reverse + hi StatusLineNC ctermfg=0 ctermbg=14 cterm=reverse + hi TabLineSel ctermfg=7 ctermbg=0 cterm=NONE + hi NormalMode ctermfg=0 ctermbg=7 cterm=reverse + endif + hi ColorColumn ctermfg=NONE ctermbg=0 cterm=NONE + hi Conceal ctermfg=4 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=0 cterm=NONE + hi Directory ctermfg=4 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=1 ctermbg=15 cterm=reverse + hi FoldColumn ctermfg=12 ctermbg=NONE cterm=NONE + hi Folded ctermfg=12 ctermbg=NONE cterm=bold + hi IncSearch ctermfg=9 ctermbg=NONE cterm=standout + hi LineNr ctermfg=10 ctermbg=NONE cterm=NONE + hi MatchParen ctermfg=15 ctermbg=0 cterm=bold + hi ModeMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=12 ctermbg=0 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=0 cterm=NONE + hi PmenuSel ctermfg=7 ctermbg=10 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=10 cterm=NONE + hi Question ctermfg=6 ctermbg=NONE cterm=bold + hi Search ctermfg=3 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=12 ctermbg=NONE cterm=NONE + hi TabLine ctermfg=10 ctermbg=0 cterm=NONE + hi TabLineFill ctermfg=10 ctermbg=0 cterm=NONE + hi VertSplit ctermfg=10 ctermbg=0 cterm=NONE + hi Visual ctermfg=10 ctermbg=8 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=0 cterm=reverse + hi WarningMsg ctermfg=9 ctermbg=NONE cterm=bold + hi WildMenu ctermfg=11 ctermbg=7 cterm=reverse + hi Comment ctermfg=10 ctermbg=NONE cterm=italic + hi Constant ctermfg=6 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=1 ctermbg=15 cterm=bold,reverse + hi Identifier ctermfg=4 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=9 ctermbg=NONE cterm=NONE + hi Special ctermfg=9 ctermbg=NONE cterm=NONE + hi Statement ctermfg=2 ctermbg=NONE cterm=NONE + hi Todo ctermfg=5 ctermbg=NONE cterm=bold + hi Type ctermfg=3 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=13 ctermbg=NONE cterm=NONE + hi InsertMode ctermfg=0 ctermbg=6 cterm=bold,reverse + hi ReplaceMode ctermfg=0 ctermbg=9 cterm=bold,reverse + hi VisualMode ctermfg=0 ctermbg=5 cterm=bold,reverse + hi CommandMode ctermfg=0 ctermbg=5 cterm=bold,reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=8 ctermbg=10 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=13 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=3 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=4 ctermbg=NONE cterm=bold + hi helpExample ctermfg=14 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=6 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=5 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=5 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=4 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=2 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=11 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=3 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=6 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=4 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=4 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=4 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=10 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=10 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=5 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=1 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=2 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=10 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=6 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=1 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=3 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=12 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=10 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=10 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=14 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=4 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=4 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=11 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=3 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=14 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=3 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=6 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=6 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=3 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=3 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=3 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=14 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=5 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=9 ctermbg=NONE cterm=NONE + hi VarId ctermfg=4 ctermbg=NONE cterm=NONE + hi ConId ctermfg=3 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=5 ctermbg=NONE cterm=NONE + hi hsString ctermfg=11 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=4 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=6 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=3 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=9 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=6 ctermbg=NONE cterm=NONE + hi hsType ctermfg=3 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=6 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=2 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=6 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=6 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=4 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=4 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=10 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=3 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=1 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=12 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=13 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=13 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=13 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=4 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=4 ctermbg=8 cterm=NONE + hi pandocTableZebraDark ctermfg=4 ctermbg=0 cterm=NONE + hi pandocEmphasisTable ctermfg=4 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=4 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=9 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=4 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=13 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=12 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=10 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=4 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=4 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=1 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=1 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=1 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=1 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=6 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=3 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=0 ctermbg=1 cterm=bold + hi ALEInfoSign ctermfg=0 ctermbg=6 cterm=bold + hi ALEWarningSign ctermfg=0 ctermbg=3 cterm=bold + else + hi ALEErrorSign ctermfg=1 ctermbg=0 cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=0 cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=0 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=0 ctermbg=1 cterm=NONE + hi ALEInfoSignLineNr ctermfg=0 ctermbg=6 cterm=NONE + hi ALEWarningSignLineNr ctermfg=0 ctermbg=3 cterm=NONE + endif + hi ALEError ctermfg=1 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=6 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=3 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish + endif + " Light background + if s:termtrans + hi Normal ctermfg=11 ctermbg=NONE cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=10 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else " opaque + hi Normal ctermfg=11 ctermbg=15 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=7 cterm=NONE + hi Terminal ctermfg=fg ctermbg=15 cterm=NONE + hi ToolbarButton ctermfg=10 ctermbg=7 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=7 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=15 ctermbg=11 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=1 cterm=NONE + endif + hi CursorLineNr ctermfg=1 ctermbg=NONE cterm=bold + hi MatchParen ctermfg=9 ctermbg=7 cterm=bold,underline + hi NonText ctermfg=1 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=1 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=13 ctermbg=7 cterm=reverse,underline + hi SpellCap ctermfg=13 ctermbg=7 cterm=reverse,underline + hi SpellLocal ctermfg=3 ctermbg=7 cterm=reverse,underline + hi SpellRare ctermfg=6 ctermbg=7 cterm=reverse,underline + hi Title ctermfg=9 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=15 ctermbg=11 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=9 cterm=NONE + endif + hi CursorLineNr ctermfg=14 ctermbg=NONE cterm=bold + hi MatchParen ctermfg=9 ctermbg=7 cterm=bold + hi NonText ctermfg=7 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=7 ctermbg=NONE cterm=bold + hi SpellBad ctermfg=13 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=13 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=14 ctermbg=NONE cterm=bold + else " normal visibility + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=15 ctermbg=11 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=9 cterm=NONE + endif + hi CursorLineNr ctermfg=11 ctermbg=NONE cterm=bold + hi MatchParen ctermfg=8 ctermbg=7 cterm=bold + hi NonText ctermfg=12 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=12 ctermbg=7 cterm=bold + hi SpellBad ctermfg=13 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=13 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=9 ctermbg=NONE cterm=bold + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=3 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=4 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=3 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=bold + hi DiffText ctermfg=4 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=2 ctermbg=7 cterm=NONE + hi DiffChange ctermfg=3 ctermbg=7 cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=7 cterm=bold + hi DiffText ctermfg=4 ctermbg=7 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=7 ctermbg=10 cterm=bold,reverse + hi StatusLineNC ctermfg=7 ctermbg=14 cterm=reverse + hi TabLineSel ctermfg=10 ctermbg=7 cterm=NONE + hi NormalMode ctermfg=7 ctermbg=10 cterm=bold,reverse + else + hi StatusLine ctermfg=7 ctermbg=0 cterm=reverse + hi StatusLineNC ctermfg=7 ctermbg=10 cterm=reverse + hi TabLineSel ctermfg=0 ctermbg=7 cterm=NONE + hi NormalMode ctermfg=7 ctermbg=0 cterm=reverse + endif + hi ColorColumn ctermfg=NONE ctermbg=7 cterm=NONE + hi Conceal ctermfg=4 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=7 cterm=NONE + hi Directory ctermfg=4 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=1 ctermbg=15 cterm=reverse + hi FoldColumn ctermfg=11 ctermbg=NONE cterm=NONE + hi Folded ctermfg=11 ctermbg=NONE cterm=bold + hi IncSearch ctermfg=9 ctermbg=NONE cterm=standout + hi LineNr ctermfg=14 ctermbg=NONE cterm=NONE + hi ModeMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=11 ctermbg=7 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=7 cterm=NONE + hi PmenuSel ctermfg=15 ctermbg=14 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=14 cterm=NONE + hi Question ctermfg=6 ctermbg=NONE cterm=bold + hi Search ctermfg=3 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=11 ctermbg=NONE cterm=NONE + hi TabLine ctermfg=14 ctermbg=7 cterm=NONE + hi TabLineFill ctermfg=14 ctermbg=7 cterm=NONE + hi VertSplit ctermfg=14 ctermbg=7 cterm=NONE + hi Visual ctermfg=14 ctermbg=15 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=7 cterm=reverse + hi WarningMsg ctermfg=9 ctermbg=NONE cterm=bold + hi WildMenu ctermfg=14 ctermbg=15 cterm=reverse + hi Comment ctermfg=14 ctermbg=NONE cterm=italic + hi Constant ctermfg=6 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=1 ctermbg=15 cterm=bold,reverse + hi Identifier ctermfg=4 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=9 ctermbg=NONE cterm=NONE + hi Special ctermfg=9 ctermbg=NONE cterm=NONE + hi Statement ctermfg=2 ctermbg=NONE cterm=NONE + hi Todo ctermfg=5 ctermbg=NONE cterm=bold + hi Type ctermfg=3 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=13 ctermbg=NONE cterm=NONE + hi InsertMode ctermfg=7 ctermbg=6 cterm=bold,reverse + hi ReplaceMode ctermfg=7 ctermbg=9 cterm=bold,reverse + hi VisualMode ctermfg=7 ctermbg=5 cterm=bold,reverse + hi CommandMode ctermfg=7 ctermbg=5 cterm=bold,reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=15 ctermbg=14 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=13 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=3 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=4 ctermbg=NONE cterm=bold + hi helpExample ctermfg=10 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=6 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=5 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=5 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=4 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=2 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=12 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=3 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=6 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=4 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=4 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=4 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=14 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=14 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=5 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=1 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=2 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=14 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=6 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=1 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=3 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=11 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=14 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=14 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=10 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=4 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=4 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=12 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=3 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=10 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=3 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=6 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=6 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=3 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=3 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=3 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=10 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=5 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=9 ctermbg=NONE cterm=NONE + hi VarId ctermfg=4 ctermbg=NONE cterm=NONE + hi ConId ctermfg=3 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=5 ctermbg=NONE cterm=NONE + hi hsString ctermfg=12 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=4 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=6 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=3 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=9 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=6 ctermbg=NONE cterm=NONE + hi hsType ctermfg=3 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=6 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=2 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=6 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=6 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=4 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=4 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=14 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=3 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=1 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=13 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=13 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=13 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=4 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=4 ctermbg=15 cterm=NONE + hi pandocTableZebraDark ctermfg=4 ctermbg=7 cterm=NONE + hi pandocEmphasisTable ctermfg=4 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=4 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=9 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=12 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=12 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=4 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=13 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=11 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=14 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=4 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=4 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=1 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=1 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=1 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=1 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=6 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=3 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=7 ctermbg=1 cterm=bold + hi ALEInfoSign ctermfg=7 ctermbg=6 cterm=bold + hi ALEWarningSign ctermfg=7 ctermbg=3 cterm=bold + else + hi ALEErrorSign ctermfg=1 ctermbg=7 cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=7 cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=7 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=7 ctermbg=1 cterm=NONE + hi ALEInfoSignLineNr ctermfg=7 ctermbg=6 cterm=NONE + hi ALEWarningSignLineNr ctermfg=7 ctermbg=3 cterm=NONE + endif + hi ALEError ctermfg=1 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=6 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=3 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +if s:t_Co >= 2 + hi Normal term=NONE + hi ColorColumn term=reverse + hi Conceal term=NONE + hi Cursor term=NONE + hi CursorColumn term=reverse + hi CursorLine term=underline + hi CursorLineNr term=bold,italic,reverse,underline + hi DiffAdd term=reverse,underline + hi DiffChange term=reverse,underline + hi DiffDelete term=reverse,underline + hi DiffText term=bold,reverse,underline + hi Directory term=NONE + hi EndOfBuffer term=NONE + hi ErrorMsg term=bold,italic,reverse + hi FoldColumn term=reverse + hi Folded term=italic,reverse,underline + hi IncSearch term=bold,italic,reverse + hi LineNr term=reverse + hi MatchParen term=bold,underline + hi ModeMsg term=NONE + hi MoreMsg term=NONE + hi NonText term=NONE + hi Pmenu term=reverse + hi PmenuSbar term=NONE + hi PmenuSel term=NONE + hi PmenuThumb term=NONE + hi Question term=standout + hi Search term=italic,underline + hi SignColumn term=reverse + hi SpecialKey term=bold + hi SpellBad term=italic,underline + hi SpellCap term=italic,underline + hi SpellLocal term=italic,underline + hi SpellRare term=italic,underline + hi StatusLine term=bold,reverse + hi StatusLineNC term=reverse + hi TabLine term=italic,reverse,underline + hi TabLineFill term=reverse,underline + hi TabLineSel term=bold + hi Title term=bold + hi VertSplit term=reverse + hi Visual term=reverse + hi VisualNOS term=NONE + hi WarningMsg term=standout + hi WildMenu term=bold + hi Comment term=italic + hi Constant term=bold,italic + hi Error term=reverse + hi Identifier term=italic + hi Ignore term=NONE + hi PreProc term=italic + hi Special term=bold,italic + hi Statement term=bold + hi Todo term=bold,underline + hi Type term=bold + hi Underlined term=underline + hi CursorIM term=NONE + hi ToolbarLine term=reverse + hi ToolbarButton term=bold,reverse + if !s:italics + hi CursorLineNr term=bold,reverse,underline + hi ErrorMsg term=bold,reverse + hi Folded term=reverse,underline + hi IncSearch term=bold,reverse + hi Search term=underline + hi SpellBad term=underline + hi SpellCap term=underline + hi SpellLocal term=underline + hi SpellRare term=underline + hi TabLine term=reverse,underline + hi Comment term=NONE + hi Constant term=bold + hi Identifier term=NONE + hi PreProc term=NONE + hi Special term=bold + endif + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +" Background: dark +" Color: base02 #073642 236 0 +" Color: red #dc322f 160 1 +" Color: green #859900 106 2 +" Color: yellow #b58900 136 3 +" Color: blue #268bd2 32 4 +" Color: magenta #d33682 162 5 +" Color: cyan #2aa198 37 6 +" Color: base2 #eee8d5 254 7 +" Color: base03 #002b36 235 8 +" Color: back #002b36 235 8 +" Color: orange #cb4b16 166 9 +" Color: base01 #586e75 242 10 +" Color: base00 #657b83 66 11 +" Color: base0 #839496 246 12 +" Color: violet #6c71c4 61 13 +" Color: base1 #93a1a1 247 14 +" Color: base3 #fdf6e3 230 15 +" Term Colors: base02 red green yellow blue magenta cyan base2 +" Term Colors: base03 orange base01 base00 base0 violet base1 base3 +" Background: light +" Color: base2 #073642 236 0 +" Color: red #dc322f 160 1 +" Color: green #859900 106 2 +" Color: yellow #b58900 136 3 +" Color: blue #268bd2 32 4 +" Color: magenta #d33682 162 5 +" Color: cyan #2aa198 37 6 +" Color: base02 #eee8d5 254 7 +" Color: base3 #002b36 235 8 +" Color: orange #cb4b16 166 9 +" Color: base1 #586e75 242 10 +" Color: base0 #657b83 66 11 +" Color: base00 #839496 246 12 +" Color: violet #6c71c4 61 13 +" Color: base01 #93a1a1 247 14 +" Color: base03 #fdf6e3 230 15 +" Color: back #fdf6e3 230 15 +" Term Colors: base2 red green yellow blue magenta cyan base02 +" Term Colors: base3 orange base1 base0 base00 violet base01 base03 +" Background: any +" vim: et ts=2 sw=2 diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/solarized8_high.vim b/nvim/plugged/awesome-vim-colorschemes/colors/solarized8_high.vim new file mode 100644 index 00000000..2daf0dda --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/solarized8_high.vim @@ -0,0 +1,2445 @@ +" Name: Solarized 8 High Contrast +" Description: Precision colors for machines and people +" Author: Ethan Schoonover +" Maintainer: Lifepillar <lifepillar@lifepillar.me> +" Website: https://github.com/lifepillar/vim-solarized8 +" License: OSI approved MIT license +" Last Updated: Sat Apr 24 20:35:41 2021 + +" Generated by Colortemplate v2.1.0 + +hi clear +let g:colors_name = 'solarized8_high' + +let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 2 +let s:italics = (&t_ZH != '' && &t_ZH != '') || has('gui_running') || has('nvim') + +let s:t_Co = get(g:, 'solarized_use16', 0) ? 16 : s:t_Co +let s:italics = s:italics && get(g:, 'solarized_italics', 1) +let s:termtrans = get(g:, 'solarized_termtrans', 0) && !has('gui_running') +hi! link Boolean Constant +hi! link Character Constant +hi! link Conditional Statement +hi! link Debug Special +hi! link Define PreProc +hi! link Delimiter Special +hi! link Exception Statement +hi! link Float Constant +hi! link Function Identifier +hi! link Include PreProc +hi! link Keyword Statement +hi! link Label Statement +hi! link Macro PreProc +hi! link Number Constant +hi! link Operator Statement +hi! link PreCondit PreProc +hi! link QuickFixLine Search +hi! link Repeat Statement +hi! link SpecialChar Special +hi! link SpecialComment Special +hi! link StatusLineTerm StatusLine +hi! link StatusLineTermNC StatusLineNC +hi! link StorageClass Type +hi! link String Constant +hi! link Structure Type +hi! link Tag Special +hi! link Typedef Type +hi! link lCursor Cursor + +if (has('termguicolors') && &termguicolors) || has('gui_running') + if &background ==# 'dark' + let g:terminal_ansi_colors = ['#073642', '#dc322f', '#859900', '#b58900', '#268bd2', '#d33682', '#2aa198', '#fdf6e3', '#002b36', '#cb4b16', '#657b83', '#839496', '#93a1a1', '#6c71c4', '#eee8d5', '#fdf6e3'] + if has('nvim') + let g:terminal_color_0 = '#073642' + let g:terminal_color_1 = '#dc322f' + let g:terminal_color_2 = '#859900' + let g:terminal_color_3 = '#b58900' + let g:terminal_color_4 = '#268bd2' + let g:terminal_color_5 = '#d33682' + let g:terminal_color_6 = '#2aa198' + let g:terminal_color_7 = '#fdf6e3' + let g:terminal_color_8 = '#002b36' + let g:terminal_color_9 = '#cb4b16' + let g:terminal_color_10 = '#657b83' + let g:terminal_color_11 = '#839496' + let g:terminal_color_12 = '#93a1a1' + let g:terminal_color_13 = '#6c71c4' + let g:terminal_color_14 = '#eee8d5' + let g:terminal_color_15 = '#fdf6e3' + endif + if s:termtrans + hi Normal guifg=#eee8d5 guibg=NONE gui=NONE cterm=NONE + hi FoldColumn guifg=fg guibg=NONE gui=NONE cterm=NONE + hi Folded guifg=fg guibg=NONE guisp=#002b36 gui=bold cterm=bold + hi LineNr guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi Terminal guifg=fg guibg=NONE gui=NONE cterm=NONE + else + hi Normal guifg=#eee8d5 guibg=#002b36 gui=NONE cterm=NONE + hi FoldColumn guifg=#93a1a1 guibg=#073642 gui=NONE cterm=NONE + hi Folded guifg=#93a1a1 guibg=#073642 guisp=#002b36 gui=bold cterm=bold + hi LineNr guifg=#657b83 guibg=#073642 gui=NONE cterm=NONE + hi Terminal guifg=fg guibg=#002b36 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr guifg=#cb4b16 guibg=#073642 gui=bold cterm=bold + hi NonText guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#cb4b16 guibg=NONE gui=reverse cterm=reverse + hi SpellBad guifg=#6c71c4 guibg=#fdf6e3 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi SpellCap guifg=#6c71c4 guibg=#fdf6e3 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi SpellLocal guifg=#b58900 guibg=#fdf6e3 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi SpellRare guifg=#2aa198 guibg=#fdf6e3 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi Title guifg=#b58900 guibg=NONE gui=bold cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr guifg=#657b83 guibg=#073642 gui=bold cterm=bold + hi NonText guifg=#073642 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#073642 guibg=NONE gui=reverse cterm=reverse + hi SpellBad guifg=#6c71c4 guibg=NONE guisp=#cb4b16 gui=undercurl cterm=underline + hi SpellCap guifg=#6c71c4 guibg=NONE guisp=#cb4b16 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#657b83 guibg=NONE gui=bold cterm=bold + else " normal visibility + hi CursorLineNr guifg=#93a1a1 guibg=#073642 gui=bold cterm=bold + hi NonText guifg=#839496 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#839496 guibg=#073642 gui=bold cterm=bold + hi SpellBad guifg=#6c71c4 guibg=NONE guisp=#cb4b16 gui=undercurl cterm=underline + hi SpellCap guifg=#6c71c4 guibg=NONE guisp=#cb4b16 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + endif + if s:termtrans + hi CursorLineNr guibg=NONE + endif + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#002b36 guibg=#93a1a1 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#268bd2 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd guifg=#859900 guibg=NONE gui=reverse cterm=reverse + hi DiffChange guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi DiffDelete guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi DiffText guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd guifg=#859900 guibg=NONE guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=NONE guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=NONE guisp=#268bd2 gui=NONE cterm=NONE + else " normal diffmode + hi DiffAdd guifg=#859900 guibg=#073642 guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=#073642 guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=#073642 gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=#073642 guisp=#268bd2 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine guifg=#657b83 guibg=#fdf6e3 gui=reverse cterm=reverse + hi StatusLineNC guifg=#657b83 guibg=#073642 gui=reverse cterm=reverse + hi TabLine guifg=#657b83 guibg=#073642 gui=reverse cterm=reverse + hi TabLineFill guifg=#657b83 guibg=#073642 gui=reverse cterm=reverse + hi TabLineSel guifg=#93a1a1 guibg=#fdf6e3 gui=reverse cterm=reverse + hi VertSplit guifg=#073642 guibg=#657b83 gui=NONE cterm=NONE + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine guifg=#073642 guibg=#fdf6e3 gui=reverse cterm=reverse + hi StatusLineNC guifg=#073642 guibg=#eee8d5 gui=reverse cterm=reverse + hi TabLineSel guifg=#fdf6e3 guibg=#073642 gui=NONE cterm=NONE + hi TabLine guifg=#657b83 guibg=#073642 gui=NONE cterm=NONE + hi TabLineFill guifg=#657b83 guibg=#073642 gui=NONE cterm=NONE + hi VertSplit guifg=#657b83 guibg=#073642 gui=NONE cterm=NONE + else + hi StatusLine guifg=#93a1a1 guibg=#073642 gui=reverse cterm=reverse + hi StatusLineNC guifg=#657b83 guibg=#073642 gui=reverse cterm=reverse + hi TabLine guifg=#657b83 guibg=#073642 gui=reverse cterm=reverse + hi TabLineFill guifg=#657b83 guibg=#073642 gui=reverse cterm=reverse + hi TabLineSel guifg=#93a1a1 guibg=#073642 gui=reverse cterm=reverse + hi VertSplit guifg=#073642 guibg=#657b83 gui=NONE cterm=NONE + endif + hi ColorColumn guifg=NONE guibg=#073642 gui=NONE cterm=NONE + hi Conceal guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi CursorColumn guifg=NONE guibg=#073642 gui=NONE cterm=NONE + hi CursorLine guifg=NONE guibg=#073642 guisp=#eee8d5 gui=NONE cterm=NONE + hi Directory guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi EndOfBuffer guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg guifg=#dc322f guibg=#fdf6e3 gui=reverse cterm=reverse + hi IncSearch guifg=#cb4b16 guibg=NONE gui=standout cterm=standout + hi MatchParen guifg=#fdf6e3 guibg=#073642 gui=bold cterm=bold + hi ModeMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi MoreMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Pmenu guifg=#eee8d5 guibg=#073642 gui=NONE cterm=NONE + hi PmenuSbar guifg=NONE guibg=#93a1a1 gui=NONE cterm=NONE + hi PmenuSel guifg=#fdf6e3 guibg=#657b83 gui=NONE cterm=NONE + hi PmenuThumb guifg=NONE guibg=#657b83 gui=NONE cterm=NONE + hi Question guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi Search guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi SignColumn guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi Visual guifg=#657b83 guibg=#002b36 gui=reverse cterm=reverse + hi VisualNOS guifg=NONE guibg=#073642 gui=reverse cterm=reverse + hi WarningMsg guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi WildMenu guifg=#fdf6e3 guibg=#073642 gui=reverse cterm=reverse + hi Comment guifg=#839496 guibg=NONE gui=italic cterm=italic + hi Constant guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi Error guifg=#dc322f guibg=#fdf6e3 gui=bold,reverse cterm=bold,reverse + hi Identifier guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Special guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Statement guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi Todo guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi Type guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi Underlined guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE + hi ToolbarLine guifg=NONE guibg=#073642 gui=NONE cterm=NONE + hi ToolbarButton guifg=#eee8d5 guibg=#073642 gui=bold cterm=bold + hi NormalMode guifg=#93a1a1 guibg=#fdf6e3 gui=reverse cterm=reverse + hi InsertMode guifg=#2aa198 guibg=#fdf6e3 gui=reverse cterm=reverse + hi ReplaceMode guifg=#cb4b16 guibg=#fdf6e3 gui=reverse cterm=reverse + hi VisualMode guifg=#d33682 guibg=#fdf6e3 gui=reverse cterm=reverse + hi CommandMode guifg=#d33682 guibg=#fdf6e3 gui=reverse cterm=reverse + if !s:italics + hi Comment gui=NONE cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC guifg=#002b36 guibg=#657b83 gui=NONE cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi vimCommand guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimCmdSep guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi helpExample guifg=#eee8d5 guibg=NONE gui=NONE cterm=NONE + hi helpOption guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi helpNote guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpVim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextJump guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextEntry guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi vimIsCommand guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi vimSynMtchOpt guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimSynType guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi vimHiLink guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimHiGroup guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimGroup guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment guifg=#657b83 guibg=NONE gui=italic cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitOnBranch guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi gitcommitBranch guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi gitcommitselectedtype guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi gitcommitHeader guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi gitcommitUntrackedFile guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi gitcommitDiscardedFile guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi gitcommitSelectedFile guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitUnmergedFile guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi gitcommitFile guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi htmlEndTag guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi htmlTagN guifg=#eee8d5 guibg=NONE gui=bold cterm=bold + hi htmlTagName guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi htmlSpecialTagName guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi htmlArg guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi javaScript guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc guifg=#eee8d5 guibg=NONE gui=NONE cterm=NONE + hi perlVarPlain guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi perlStatementFileDesc guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texstatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texmathzonex guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texmathmatcher guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texreflabel guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi rubyDefine guifg=#eee8d5 guibg=NONE gui=bold cterm=bold + hi! link rubySymbol Type + hi rubyBoolean guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi cPreCondit guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi VarId guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi ConId guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsImport guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi hsString guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi hsStructure guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_hlFunctionName guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi hsStatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsImportLabel guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_OpFunctionName guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hs_DeclareFunction guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi hsVarSym guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsType guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsTypedef guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsModuleName guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsniceoperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + if !s:italics + hi gitcommitComment gui=NONE cterm=NONE + hi htmlSpecialTagName gui=NONE cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTitleBlockTitle guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocTitleComment guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocComment guifg=#657b83 guibg=NONE gui=italic cterm=italic + hi pandocVerbatimBlock guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader1 guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader2 guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader3 guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader4 guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader5 guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader6 guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi pandocListMarker guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocListReference guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionBlock guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionTerm guifg=#6c71c4 guibg=NONE gui=standout cterm=standout + hi pandocDefinitionIndctr guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutDefinition guifg=#6c71c4 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTableStructure guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight guifg=#268bd2 guibg=#002b36 gui=NONE cterm=NONE + hi pandocTableZebraDark guifg=#268bd2 guibg=#073642 gui=NONE cterm=NONE + hi pandocEmphasisTable guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutTable guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocHeadingMarker guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutHeading guifg=#cb4b16 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSuperscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSubscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocLinkDelim guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkLabel guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkText guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkURL guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitle guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitleDelim guifg=#657b83 guibg=NONE guisp=#839496 gui=NONE cterm=NONE + hi pandocLinkDefinition guifg=#2aa198 guibg=NONE guisp=#839496 gui=NONE cterm=NONE + hi pandocLinkDefinitionID guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocImageCaption guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteLink guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocFootnoteDefLink guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteInline guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnote guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationDelim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitation guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationID guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocStyleDelim guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi pandocEmphasis guifg=#93a1a1 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNested guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasis guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNested guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasis guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi pandocStrikeout guifg=#657b83 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInline guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocRule guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocRuleLine guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocEscapePair guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocNonBreakingSpace guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadataKey guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment gui=NONE cterm=NONE + hi pandocEmphasisDefinition gui=NONE cterm=NONE + hi pandocEmphasisTable gui=NONE cterm=NONE + hi pandocEmphasis gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi ALEErrorSignLineNr guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign guifg=#073642 guibg=#dc322f gui=bold cterm=bold + hi ALEInfoSign guifg=#073642 guibg=#2aa198 gui=bold cterm=bold + hi ALEWarningSign guifg=#073642 guibg=#b58900 gui=bold cterm=bold + else + hi ALEErrorSign guifg=#dc322f guibg=#073642 gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=#073642 gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=#073642 gui=bold cterm=bold + endif + hi ALEErrorSignLineNr guifg=#073642 guibg=#dc322f gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#073642 guibg=#2aa198 gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#073642 guibg=#b58900 gui=NONE cterm=NONE + endif + hi ALEError guifg=#dc322f guibg=NONE guisp=#dc322f gui=undercurl cterm=undercurl + hi ALEErrorLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl + hi ALEInfoLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl + hi ALEWarningLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish + endif + " Light background + let g:terminal_ansi_colors = ['#002b36', '#dc322f', '#859900', '#b58900', '#268bd2', '#d33682', '#2aa198', '#eee8d5', '#002b36', '#cb4b16', '#073642', '#586e75', '#657b83', '#6c71c4', '#93a1a1', '#fdf6e3'] + if has('nvim') + let g:terminal_color_0 = '#002b36' + let g:terminal_color_1 = '#dc322f' + let g:terminal_color_2 = '#859900' + let g:terminal_color_3 = '#b58900' + let g:terminal_color_4 = '#268bd2' + let g:terminal_color_5 = '#d33682' + let g:terminal_color_6 = '#2aa198' + let g:terminal_color_7 = '#eee8d5' + let g:terminal_color_8 = '#002b36' + let g:terminal_color_9 = '#cb4b16' + let g:terminal_color_10 = '#073642' + let g:terminal_color_11 = '#586e75' + let g:terminal_color_12 = '#657b83' + let g:terminal_color_13 = '#6c71c4' + let g:terminal_color_14 = '#93a1a1' + let g:terminal_color_15 = '#fdf6e3' + endif + if s:termtrans + hi Normal guifg=#073642 guibg=NONE gui=NONE cterm=NONE + hi FoldColumn guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi Folded guifg=#586e75 guibg=NONE guisp=#fdf6e3 gui=bold cterm=bold + hi LineNr guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi Terminal guifg=fg guibg=NONE gui=NONE cterm=NONE + else + hi Normal guifg=#073642 guibg=#fdf6e3 gui=NONE cterm=NONE + hi FoldColumn guifg=#586e75 guibg=#eee8d5 gui=NONE cterm=NONE + hi Folded guifg=#586e75 guibg=#eee8d5 guisp=#fdf6e3 gui=bold cterm=bold + hi LineNr guifg=#93a1a1 guibg=#eee8d5 gui=NONE cterm=NONE + hi Terminal guifg=fg guibg=#fdf6e3 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr guifg=#dc322f guibg=#eee8d5 gui=bold cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#fdf6e3 guibg=#586e75 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#dc322f gui=NONE cterm=NONE + endif + hi MatchParen guifg=#fdf6e3 guibg=#657b83 gui=bold cterm=bold + hi NonText guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi SpellBad guifg=#d33682 guibg=#fdf6e3 guisp=#6c71c4 gui=reverse,undercurl cterm=reverse,underline + hi SpellCap guifg=#d33682 guibg=#fdf6e3 guisp=#6c71c4 gui=reverse,undercurl cterm=reverse,underline + hi SpellLocal guifg=#b58900 guibg=#fdf6e3 guisp=#cb4b16 gui=reverse,undercurl cterm=reverse,underline + hi SpellRare guifg=#2aa198 guibg=#fdf6e3 guisp=#cb4b16 gui=reverse,undercurl cterm=reverse,underline + hi Title guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr guifg=#93a1a1 guibg=#eee8d5 gui=bold cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#fdf6e3 guibg=#586e75 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#cb4b16 gui=NONE cterm=NONE + endif + hi MatchParen guifg=#dc322f guibg=#eee8d5 gui=bold,underline cterm=bold,underline + hi NonText guifg=#eee8d5 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#eee8d5 guibg=NONE gui=bold cterm=bold + hi SpellBad guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellCap guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + else + hi CursorLineNr guifg=#586e75 guibg=#eee8d5 gui=bold cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#fdf6e3 guibg=#586e75 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#cb4b16 gui=NONE cterm=NONE + endif + hi MatchParen guifg=#dc322f guibg=#eee8d5 gui=bold,underline cterm=bold,underline + hi NonText guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#657b83 guibg=#eee8d5 gui=bold cterm=bold + hi SpellBad guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellCap guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + endif + if s:termtrans + hi CursorLineNr guibg=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd guifg=#859900 guibg=NONE gui=reverse cterm=reverse + hi DiffChange guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi DiffDelete guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi DiffText guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd guifg=#859900 guibg=NONE guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=NONE guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=NONE guisp=#268bd2 gui=NONE cterm=NONE + else " normal diffmode + hi DiffAdd guifg=#859900 guibg=#eee8d5 guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=#eee8d5 guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=#eee8d5 gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=#eee8d5 guisp=#268bd2 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine guifg=#93a1a1 guibg=#fdf6e3 gui=reverse cterm=reverse + hi StatusLineNC guifg=#93a1a1 guibg=#073642 gui=reverse cterm=reverse + hi TabLine guifg=#93a1a1 guibg=#073642 gui=reverse cterm=reverse + hi TabLineFill guifg=#93a1a1 guibg=#073642 gui=reverse cterm=reverse + hi TabLineSel guifg=#073642 guibg=#fdf6e3 gui=reverse cterm=reverse + hi VertSplit guifg=#073642 guibg=#93a1a1 gui=NONE cterm=NONE + hi WildMenu guifg=#073642 guibg=#fdf6e3 gui=reverse cterm=reverse + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine guifg=#eee8d5 guibg=#002b36 gui=reverse cterm=reverse + hi StatusLineNC guifg=#eee8d5 guibg=#073642 gui=reverse cterm=reverse + hi TabLineSel guifg=#002b36 guibg=#eee8d5 gui=NONE cterm=NONE + hi TabLine guifg=#93a1a1 guibg=#eee8d5 gui=NONE cterm=NONE + hi TabLineFill guifg=#93a1a1 guibg=#eee8d5 gui=NONE cterm=NONE + hi VertSplit guifg=#93a1a1 guibg=#eee8d5 gui=NONE cterm=NONE + hi WildMenu guifg=#586e75 guibg=#fdf6e3 gui=reverse cterm=reverse + else + hi StatusLine guifg=#073642 guibg=#eee8d5 gui=reverse cterm=reverse + hi StatusLineNC guifg=#657b83 guibg=#eee8d5 gui=reverse cterm=reverse + hi TabLine guifg=#657b83 guibg=#eee8d5 gui=reverse cterm=reverse + hi TabLineFill guifg=#657b83 guibg=#eee8d5 gui=reverse cterm=reverse + hi TabLineSel guifg=#073642 guibg=#eee8d5 gui=reverse cterm=reverse + hi VertSplit guifg=#073642 guibg=#93a1a1 gui=NONE cterm=NONE + hi WildMenu guifg=#657b83 guibg=#fdf6e3 gui=reverse cterm=reverse + endif + hi ColorColumn guifg=NONE guibg=#eee8d5 gui=NONE cterm=NONE + hi Conceal guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi CursorColumn guifg=NONE guibg=#eee8d5 gui=NONE cterm=NONE + hi CursorLine guifg=NONE guibg=#eee8d5 guisp=#073642 gui=NONE cterm=NONE + hi Directory guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi EndOfBuffer guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg guifg=#dc322f guibg=#fdf6e3 gui=reverse cterm=reverse + hi IncSearch guifg=#cb4b16 guibg=NONE gui=standout cterm=standout + hi ModeMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi MoreMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Pmenu guifg=#073642 guibg=#eee8d5 gui=NONE cterm=NONE + hi PmenuSbar guifg=NONE guibg=#073642 gui=NONE cterm=NONE + hi PmenuSel guifg=#002b36 guibg=#93a1a1 gui=NONE cterm=NONE + hi PmenuThumb guifg=NONE guibg=#657b83 gui=NONE cterm=NONE + hi Question guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi Search guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi SignColumn guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi Visual guifg=#93a1a1 guibg=#fdf6e3 gui=reverse cterm=reverse + hi VisualNOS guifg=NONE guibg=#eee8d5 gui=reverse cterm=reverse + hi WarningMsg guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi Comment guifg=#657b83 guibg=NONE gui=italic cterm=italic + hi Constant guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE + hi Error guifg=#dc322f guibg=#fdf6e3 gui=bold,reverse cterm=bold,reverse + hi Identifier guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Special guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Statement guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi Todo guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi ToolbarButton guifg=#073642 guibg=#eee8d5 gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=#eee8d5 gui=NONE cterm=NONE + hi Type guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi Underlined guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi NormalMode guifg=#073642 guibg=#fdf6e3 gui=reverse cterm=reverse + hi InsertMode guifg=#2aa198 guibg=#fdf6e3 gui=reverse cterm=reverse + hi ReplaceMode guifg=#cb4b16 guibg=#fdf6e3 gui=reverse cterm=reverse + hi VisualMode guifg=#d33682 guibg=#fdf6e3 gui=reverse cterm=reverse + hi CommandMode guifg=#d33682 guibg=#fdf6e3 gui=reverse cterm=reverse + if !s:italics + hi Comment gui=NONE cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC guifg=#fdf6e3 guibg=#93a1a1 gui=NONE cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi vimCommand guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimCmdSep guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi helpExample guifg=#073642 guibg=NONE gui=NONE cterm=NONE + hi helpOption guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi helpNote guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpVim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextJump guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextEntry guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi vimIsCommand guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi vimSynMtchOpt guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimSynType guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi vimHiLink guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimHiGroup guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimGroup guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment guifg=#93a1a1 guibg=NONE gui=italic cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitOnBranch guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi gitcommitBranch guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi gitcommitselectedtype guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi gitcommitHeader guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi gitcommitUntrackedFile guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi gitcommitDiscardedFile guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi gitcommitSelectedFile guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitUnmergedFile guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi gitcommitFile guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi htmlEndTag guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi htmlTagN guifg=#073642 guibg=NONE gui=bold cterm=bold + hi htmlTagName guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi htmlSpecialTagName guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi htmlArg guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi javaScript guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc guifg=#073642 guibg=NONE gui=NONE cterm=NONE + hi perlVarPlain guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi perlStatementFileDesc guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texstatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texmathzonex guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texmathmatcher guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texreflabel guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi rubyDefine guifg=#073642 guibg=NONE gui=bold cterm=bold + hi! link rubySymbol Type + hi rubyBoolean guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi cPreCondit guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi VarId guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi ConId guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsImport guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi hsString guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi hsStructure guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_hlFunctionName guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi hsStatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsImportLabel guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_OpFunctionName guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hs_DeclareFunction guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi hsVarSym guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsType guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsTypedef guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsModuleName guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsniceoperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + if !s:italics + hi gitcommitComment gui=NONE cterm=NONE + hi htmlSpecialTagName gui=NONE cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTitleBlockTitle guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocTitleComment guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocComment guifg=#93a1a1 guibg=NONE gui=italic cterm=italic + hi pandocVerbatimBlock guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader1 guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader2 guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader3 guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader4 guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader5 guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader6 guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocListMarker guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocListReference guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionBlock guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionTerm guifg=#6c71c4 guibg=NONE gui=standout cterm=standout + hi pandocDefinitionIndctr guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutDefinition guifg=#6c71c4 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTableStructure guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight guifg=#268bd2 guibg=#fdf6e3 gui=NONE cterm=NONE + hi pandocTableZebraDark guifg=#268bd2 guibg=#eee8d5 gui=NONE cterm=NONE + hi pandocEmphasisTable guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutTable guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocHeadingMarker guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutHeading guifg=#cb4b16 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSuperscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSubscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocLinkDelim guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkLabel guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkText guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkURL guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitle guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitleDelim guifg=#93a1a1 guibg=NONE guisp=#657b83 gui=NONE cterm=NONE + hi pandocLinkDefinition guifg=#2aa198 guibg=NONE guisp=#657b83 gui=NONE cterm=NONE + hi pandocLinkDefinitionID guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocImageCaption guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteLink guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocFootnoteDefLink guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteInline guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnote guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationDelim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitation guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationID guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocStyleDelim guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocEmphasis guifg=#586e75 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNested guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasis guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNested guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasis guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi pandocStrikeout guifg=#93a1a1 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInline guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocRule guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocRuleLine guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocEscapePair guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocNonBreakingSpace guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadataKey guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment gui=NONE cterm=NONE + hi pandocEmphasisDefinition gui=NONE cterm=NONE + hi pandocEmphasisTable gui=NONE cterm=NONE + hi pandocEmphasis gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi ALEErrorSignLineNr guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign guifg=#eee8d5 guibg=#dc322f gui=bold cterm=bold + hi ALEInfoSign guifg=#eee8d5 guibg=#2aa198 gui=bold cterm=bold + hi ALEWarningSign guifg=#eee8d5 guibg=#b58900 gui=bold cterm=bold + else + hi ALEErrorSign guifg=#dc322f guibg=#eee8d5 gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=#eee8d5 gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=#eee8d5 gui=bold cterm=bold + endif + hi ALEErrorSignLineNr guifg=#eee8d5 guibg=#dc322f gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#eee8d5 guibg=#2aa198 gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#eee8d5 guibg=#b58900 gui=NONE cterm=NONE + endif + hi ALEError guifg=#dc322f guibg=NONE guisp=#dc322f gui=undercurl cterm=undercurl + hi ALEErrorLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl + hi ALEInfoLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl + hi ALEWarningLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +if s:t_Co >= 256 + if &background ==# 'dark' + if s:termtrans + hi Normal ctermfg=254 ctermbg=NONE cterm=NONE + hi FoldColumn ctermfg=fg ctermbg=NONE cterm=NONE + hi Folded ctermfg=fg ctermbg=NONE cterm=bold + hi LineNr ctermfg=243 ctermbg=NONE cterm=NONE + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + else + hi Normal ctermfg=254 ctermbg=235 cterm=NONE + if !has('patch-8.0.0616') && !has('nvim') " Fix for Vim bug + set background=dark + endif + hi FoldColumn ctermfg=247 ctermbg=236 cterm=NONE + hi Folded ctermfg=247 ctermbg=236 cterm=bold + hi LineNr ctermfg=243 ctermbg=236 cterm=NONE + hi Terminal ctermfg=fg ctermbg=235 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=166 ctermbg=236 cterm=bold + hi NonText ctermfg=166 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=166 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=61 ctermbg=230 cterm=reverse,underline + hi SpellCap ctermfg=61 ctermbg=230 cterm=reverse,underline + hi SpellLocal ctermfg=136 ctermbg=230 cterm=reverse,underline + hi SpellRare ctermfg=37 ctermbg=230 cterm=reverse,underline + hi Title ctermfg=136 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=243 ctermbg=236 cterm=bold + hi NonText ctermfg=236 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=236 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=61 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=61 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=243 ctermbg=NONE cterm=bold + else " normal visibility + hi CursorLineNr ctermfg=247 ctermbg=236 cterm=bold + hi NonText ctermfg=246 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=246 ctermbg=236 cterm=bold + hi SpellBad ctermfg=61 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=61 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=166 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + endif + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=235 ctermbg=247 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=32 cterm=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=136 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=32 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=136 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=bold + hi DiffText ctermfg=32 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=106 ctermbg=236 cterm=NONE + hi DiffChange ctermfg=136 ctermbg=236 cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=236 cterm=bold + hi DiffText ctermfg=32 ctermbg=236 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=243 ctermbg=230 cterm=reverse + hi StatusLineNC ctermfg=243 ctermbg=236 cterm=reverse + hi TabLine ctermfg=243 ctermbg=236 cterm=reverse + hi TabLineFill ctermfg=243 ctermbg=236 cterm=reverse + hi TabLineSel ctermfg=247 ctermbg=230 cterm=reverse + hi VertSplit ctermfg=236 ctermbg=243 cterm=NONE + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=236 ctermbg=230 cterm=reverse + hi StatusLineNC ctermfg=236 ctermbg=254 cterm=reverse + hi TabLineSel ctermfg=230 ctermbg=236 cterm=NONE + hi TabLine ctermfg=243 ctermbg=236 cterm=NONE + hi TabLineFill ctermfg=243 ctermbg=236 cterm=NONE + hi VertSplit ctermfg=243 ctermbg=236 cterm=NONE + else + hi StatusLine ctermfg=247 ctermbg=236 cterm=reverse + hi StatusLineNC ctermfg=243 ctermbg=236 cterm=reverse + hi TabLine ctermfg=243 ctermbg=236 cterm=reverse + hi TabLineFill ctermfg=243 ctermbg=236 cterm=reverse + hi TabLineSel ctermfg=247 ctermbg=236 cterm=reverse + hi VertSplit ctermfg=236 ctermbg=243 cterm=NONE + endif + hi ColorColumn ctermfg=NONE ctermbg=236 cterm=NONE + hi Conceal ctermfg=32 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=236 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=236 cterm=NONE + hi Directory ctermfg=32 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=160 ctermbg=230 cterm=reverse + hi IncSearch ctermfg=166 ctermbg=NONE cterm=standout + hi MatchParen ctermfg=230 ctermbg=236 cterm=bold + hi ModeMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=254 ctermbg=236 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=247 cterm=NONE + hi PmenuSel ctermfg=230 ctermbg=243 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=243 cterm=NONE + hi Question ctermfg=37 ctermbg=NONE cterm=bold + hi Search ctermfg=136 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=247 ctermbg=NONE cterm=NONE + hi Visual ctermfg=243 ctermbg=235 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=236 cterm=reverse + hi WarningMsg ctermfg=166 ctermbg=NONE cterm=bold + hi WildMenu ctermfg=230 ctermbg=236 cterm=reverse + hi Comment ctermfg=246 ctermbg=NONE cterm=italic + hi Constant ctermfg=37 ctermbg=NONE cterm=NONE + hi Error ctermfg=160 ctermbg=230 cterm=bold,reverse + hi Identifier ctermfg=32 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=166 ctermbg=NONE cterm=NONE + hi Special ctermfg=166 ctermbg=NONE cterm=NONE + hi Statement ctermfg=106 ctermbg=NONE cterm=NONE + hi Todo ctermfg=162 ctermbg=NONE cterm=bold + hi Type ctermfg=136 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=61 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi ToolbarLine ctermfg=NONE ctermbg=236 cterm=NONE + hi ToolbarButton ctermfg=254 ctermbg=236 cterm=bold + hi NormalMode ctermfg=247 ctermbg=230 cterm=reverse + hi InsertMode ctermfg=37 ctermbg=230 cterm=reverse + hi ReplaceMode ctermfg=166 ctermbg=230 cterm=reverse + hi VisualMode ctermfg=162 ctermbg=230 cterm=reverse + hi CommandMode ctermfg=162 ctermbg=230 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=235 ctermbg=243 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=61 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=136 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=32 ctermbg=NONE cterm=bold + hi helpExample ctermfg=254 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=37 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=162 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=162 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=32 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=106 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=246 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=136 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=37 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=32 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=32 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=32 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=243 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=243 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=162 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=160 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=106 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=243 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=37 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=160 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=136 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=247 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=243 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=243 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=254 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=32 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=32 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=246 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=136 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=254 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=136 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=37 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=37 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=136 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=136 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=136 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=254 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=162 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=166 ctermbg=NONE cterm=NONE + hi VarId ctermfg=32 ctermbg=NONE cterm=NONE + hi ConId ctermfg=136 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=162 ctermbg=NONE cterm=NONE + hi hsString ctermfg=246 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=32 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=37 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=136 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=166 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=37 ctermbg=NONE cterm=NONE + hi hsType ctermfg=136 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=37 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=106 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=37 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=37 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=32 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=32 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=243 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=136 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=160 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=243 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=61 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=61 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=61 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=32 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=32 ctermbg=235 cterm=NONE + hi pandocTableZebraDark ctermfg=32 ctermbg=236 cterm=NONE + hi pandocEmphasisTable ctermfg=32 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=32 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=166 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=243 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=246 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=246 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=243 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=32 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=61 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=243 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=247 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=247 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=247 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=247 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=247 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=243 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=32 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=32 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=160 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=160 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=243 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=160 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=160 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=37 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=136 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=236 ctermbg=160 cterm=bold + hi ALEInfoSign ctermfg=236 ctermbg=37 cterm=bold + hi ALEWarningSign ctermfg=236 ctermbg=136 cterm=bold + else + hi ALEErrorSign ctermfg=160 ctermbg=236 cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=236 cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=236 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=236 ctermbg=160 cterm=NONE + hi ALEInfoSignLineNr ctermfg=236 ctermbg=37 cterm=NONE + hi ALEWarningSignLineNr ctermfg=236 ctermbg=136 cterm=NONE + endif + hi ALEError ctermfg=160 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=37 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=136 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish + endif + " Light background + if s:termtrans + hi Normal ctermfg=236 ctermbg=NONE cterm=NONE + hi FoldColumn ctermfg=242 ctermbg=NONE cterm=NONE + hi Folded ctermfg=242 ctermbg=NONE cterm=bold + hi LineNr ctermfg=247 ctermbg=NONE cterm=NONE + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + else + hi Normal ctermfg=236 ctermbg=230 cterm=NONE + hi FoldColumn ctermfg=242 ctermbg=254 cterm=NONE + hi Folded ctermfg=242 ctermbg=254 cterm=bold + hi LineNr ctermfg=247 ctermbg=254 cterm=NONE + hi Terminal ctermfg=fg ctermbg=230 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=160 ctermbg=254 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=230 ctermbg=242 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=160 cterm=NONE + endif + hi MatchParen ctermfg=230 ctermbg=66 cterm=bold + hi NonText ctermfg=160 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=160 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=162 ctermbg=230 cterm=reverse,underline + hi SpellCap ctermfg=162 ctermbg=230 cterm=reverse,underline + hi SpellLocal ctermfg=136 ctermbg=230 cterm=reverse,underline + hi SpellRare ctermfg=37 ctermbg=230 cterm=reverse,underline + hi Title ctermfg=166 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=247 ctermbg=254 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=230 ctermbg=242 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=166 cterm=NONE + endif + hi MatchParen ctermfg=160 ctermbg=254 cterm=bold,underline + hi NonText ctermfg=254 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=254 ctermbg=NONE cterm=bold + hi SpellBad ctermfg=162 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=162 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=247 ctermbg=NONE cterm=bold + else + hi CursorLineNr ctermfg=242 ctermbg=254 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=230 ctermbg=242 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=166 cterm=NONE + endif + hi MatchParen ctermfg=160 ctermbg=254 cterm=bold,underline + hi NonText ctermfg=66 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=66 ctermbg=254 cterm=bold + hi SpellBad ctermfg=162 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=162 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=166 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=136 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=32 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=136 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=bold + hi DiffText ctermfg=32 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=106 ctermbg=254 cterm=NONE + hi DiffChange ctermfg=136 ctermbg=254 cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=254 cterm=bold + hi DiffText ctermfg=32 ctermbg=254 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=247 ctermbg=230 cterm=reverse + hi StatusLineNC ctermfg=247 ctermbg=236 cterm=reverse + hi TabLine ctermfg=247 ctermbg=236 cterm=reverse + hi TabLineFill ctermfg=247 ctermbg=236 cterm=reverse + hi TabLineSel ctermfg=236 ctermbg=230 cterm=reverse + hi VertSplit ctermfg=236 ctermbg=247 cterm=NONE + hi WildMenu ctermfg=236 ctermbg=230 cterm=reverse + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=254 ctermbg=235 cterm=reverse + hi StatusLineNC ctermfg=254 ctermbg=236 cterm=reverse + hi TabLineSel ctermfg=235 ctermbg=254 cterm=NONE + hi TabLine ctermfg=247 ctermbg=254 cterm=NONE + hi TabLineFill ctermfg=247 ctermbg=254 cterm=NONE + hi VertSplit ctermfg=247 ctermbg=254 cterm=NONE + hi WildMenu ctermfg=242 ctermbg=230 cterm=reverse + else + hi StatusLine ctermfg=236 ctermbg=254 cterm=reverse + hi StatusLineNC ctermfg=66 ctermbg=254 cterm=reverse + hi TabLine ctermfg=66 ctermbg=254 cterm=reverse + hi TabLineFill ctermfg=66 ctermbg=254 cterm=reverse + hi TabLineSel ctermfg=236 ctermbg=254 cterm=reverse + hi VertSplit ctermfg=236 ctermbg=247 cterm=NONE + hi WildMenu ctermfg=66 ctermbg=230 cterm=reverse + endif + hi ColorColumn ctermfg=NONE ctermbg=254 cterm=NONE + hi Conceal ctermfg=32 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=254 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE + hi Directory ctermfg=32 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=160 ctermbg=230 cterm=reverse + hi IncSearch ctermfg=166 ctermbg=NONE cterm=standout + hi ModeMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=236 ctermbg=254 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=236 cterm=NONE + hi PmenuSel ctermfg=235 ctermbg=247 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=66 cterm=NONE + hi Question ctermfg=37 ctermbg=NONE cterm=bold + hi Search ctermfg=136 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=242 ctermbg=NONE cterm=NONE + hi Visual ctermfg=247 ctermbg=230 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=254 cterm=reverse + hi WarningMsg ctermfg=166 ctermbg=NONE cterm=bold + hi Comment ctermfg=66 ctermbg=NONE cterm=italic + hi Constant ctermfg=37 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=160 ctermbg=230 cterm=bold,reverse + hi Identifier ctermfg=32 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=166 ctermbg=NONE cterm=NONE + hi Special ctermfg=166 ctermbg=NONE cterm=NONE + hi Statement ctermfg=106 ctermbg=NONE cterm=NONE + hi Todo ctermfg=162 ctermbg=NONE cterm=bold + hi ToolbarButton ctermfg=236 ctermbg=254 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=254 cterm=NONE + hi Type ctermfg=136 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=61 ctermbg=NONE cterm=NONE + hi NormalMode ctermfg=236 ctermbg=230 cterm=reverse + hi InsertMode ctermfg=37 ctermbg=230 cterm=reverse + hi ReplaceMode ctermfg=166 ctermbg=230 cterm=reverse + hi VisualMode ctermfg=162 ctermbg=230 cterm=reverse + hi CommandMode ctermfg=162 ctermbg=230 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=230 ctermbg=247 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=61 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=136 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=32 ctermbg=NONE cterm=bold + hi helpExample ctermfg=236 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=37 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=162 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=162 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=32 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=106 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=66 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=136 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=37 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=32 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=32 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=32 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=247 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=247 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=162 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=160 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=106 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=247 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=37 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=160 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=136 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=242 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=247 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=247 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=236 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=32 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=32 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=66 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=136 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=236 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=136 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=37 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=37 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=136 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=136 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=136 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=236 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=162 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=166 ctermbg=NONE cterm=NONE + hi VarId ctermfg=32 ctermbg=NONE cterm=NONE + hi ConId ctermfg=136 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=162 ctermbg=NONE cterm=NONE + hi hsString ctermfg=66 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=32 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=37 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=136 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=166 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=37 ctermbg=NONE cterm=NONE + hi hsType ctermfg=136 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=37 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=106 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=37 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=37 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=32 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=32 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=247 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=136 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=160 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=61 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=61 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=61 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=32 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=32 ctermbg=230 cterm=NONE + hi pandocTableZebraDark ctermfg=32 ctermbg=254 cterm=NONE + hi pandocEmphasisTable ctermfg=32 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=32 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=166 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=66 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=66 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=32 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=61 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=242 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=242 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=242 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=242 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=242 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=247 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=32 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=32 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=160 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=160 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=160 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=160 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=37 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=136 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=254 ctermbg=160 cterm=bold + hi ALEInfoSign ctermfg=254 ctermbg=37 cterm=bold + hi ALEWarningSign ctermfg=254 ctermbg=136 cterm=bold + else + hi ALEErrorSign ctermfg=160 ctermbg=254 cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=254 cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=254 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=254 ctermbg=160 cterm=NONE + hi ALEInfoSignLineNr ctermfg=254 ctermbg=37 cterm=NONE + hi ALEWarningSignLineNr ctermfg=254 ctermbg=136 cterm=NONE + endif + hi ALEError ctermfg=160 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=37 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=136 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +if s:t_Co >= 16 + if &background ==# 'dark' + if s:termtrans + hi Normal ctermfg=7 ctermbg=NONE cterm=NONE + hi FoldColumn ctermfg=fg ctermbg=NONE cterm=NONE + hi Folded ctermfg=fg ctermbg=NONE cterm=bold + hi LineNr ctermfg=11 ctermbg=NONE cterm=NONE + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + else + hi Normal ctermfg=7 ctermbg=8 cterm=NONE + hi FoldColumn ctermfg=14 ctermbg=0 cterm=NONE + hi Folded ctermfg=14 ctermbg=0 cterm=bold + hi LineNr ctermfg=11 ctermbg=0 cterm=NONE + hi Terminal ctermfg=fg ctermbg=8 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=9 ctermbg=0 cterm=bold + hi NonText ctermfg=9 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=9 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=13 ctermbg=15 cterm=reverse,underline + hi SpellCap ctermfg=13 ctermbg=15 cterm=reverse,underline + hi SpellLocal ctermfg=3 ctermbg=15 cterm=reverse,underline + hi SpellRare ctermfg=6 ctermbg=15 cterm=reverse,underline + hi Title ctermfg=3 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=11 ctermbg=0 cterm=bold + hi NonText ctermfg=0 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=0 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=13 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=13 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=11 ctermbg=NONE cterm=bold + else " normal visibility + hi CursorLineNr ctermfg=14 ctermbg=0 cterm=bold + hi NonText ctermfg=12 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=12 ctermbg=0 cterm=bold + hi SpellBad ctermfg=13 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=13 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=9 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + endif + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=8 ctermbg=14 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=4 cterm=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=3 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=4 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=3 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=bold + hi DiffText ctermfg=4 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=2 ctermbg=0 cterm=NONE + hi DiffChange ctermfg=3 ctermbg=0 cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=0 cterm=bold + hi DiffText ctermfg=4 ctermbg=0 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=11 ctermbg=15 cterm=reverse + hi StatusLineNC ctermfg=11 ctermbg=0 cterm=reverse + hi TabLine ctermfg=11 ctermbg=0 cterm=reverse + hi TabLineFill ctermfg=11 ctermbg=0 cterm=reverse + hi TabLineSel ctermfg=14 ctermbg=15 cterm=reverse + hi VertSplit ctermfg=0 ctermbg=11 cterm=NONE + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=0 ctermbg=15 cterm=reverse + hi StatusLineNC ctermfg=0 ctermbg=7 cterm=reverse + hi TabLineSel ctermfg=15 ctermbg=0 cterm=NONE + hi TabLine ctermfg=11 ctermbg=0 cterm=NONE + hi TabLineFill ctermfg=11 ctermbg=0 cterm=NONE + hi VertSplit ctermfg=11 ctermbg=0 cterm=NONE + else + hi StatusLine ctermfg=14 ctermbg=0 cterm=reverse + hi StatusLineNC ctermfg=11 ctermbg=0 cterm=reverse + hi TabLine ctermfg=11 ctermbg=0 cterm=reverse + hi TabLineFill ctermfg=11 ctermbg=0 cterm=reverse + hi TabLineSel ctermfg=14 ctermbg=0 cterm=reverse + hi VertSplit ctermfg=0 ctermbg=11 cterm=NONE + endif + hi ColorColumn ctermfg=NONE ctermbg=0 cterm=NONE + hi Conceal ctermfg=4 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=0 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=0 cterm=NONE + hi Directory ctermfg=4 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=1 ctermbg=15 cterm=reverse + hi IncSearch ctermfg=9 ctermbg=NONE cterm=standout + hi MatchParen ctermfg=15 ctermbg=0 cterm=bold + hi ModeMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=7 ctermbg=0 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=14 cterm=NONE + hi PmenuSel ctermfg=15 ctermbg=11 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=11 cterm=NONE + hi Question ctermfg=6 ctermbg=NONE cterm=bold + hi Search ctermfg=3 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=14 ctermbg=NONE cterm=NONE + hi Visual ctermfg=11 ctermbg=8 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=0 cterm=reverse + hi WarningMsg ctermfg=9 ctermbg=NONE cterm=bold + hi WildMenu ctermfg=15 ctermbg=0 cterm=reverse + hi Comment ctermfg=12 ctermbg=NONE cterm=italic + hi Constant ctermfg=6 ctermbg=NONE cterm=NONE + hi Error ctermfg=1 ctermbg=15 cterm=bold,reverse + hi Identifier ctermfg=4 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=9 ctermbg=NONE cterm=NONE + hi Special ctermfg=9 ctermbg=NONE cterm=NONE + hi Statement ctermfg=2 ctermbg=NONE cterm=NONE + hi Todo ctermfg=5 ctermbg=NONE cterm=bold + hi Type ctermfg=3 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=13 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi ToolbarLine ctermfg=NONE ctermbg=0 cterm=NONE + hi ToolbarButton ctermfg=7 ctermbg=0 cterm=bold + hi NormalMode ctermfg=14 ctermbg=15 cterm=reverse + hi InsertMode ctermfg=6 ctermbg=15 cterm=reverse + hi ReplaceMode ctermfg=9 ctermbg=15 cterm=reverse + hi VisualMode ctermfg=5 ctermbg=15 cterm=reverse + hi CommandMode ctermfg=5 ctermbg=15 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=8 ctermbg=11 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=13 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=3 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=4 ctermbg=NONE cterm=bold + hi helpExample ctermfg=7 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=6 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=5 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=5 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=4 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=2 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=12 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=3 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=6 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=4 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=4 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=4 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=11 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=11 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=5 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=1 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=2 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=11 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=6 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=1 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=3 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=14 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=11 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=11 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=7 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=4 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=4 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=12 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=3 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=7 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=3 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=6 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=6 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=3 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=3 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=3 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=7 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=5 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=9 ctermbg=NONE cterm=NONE + hi VarId ctermfg=4 ctermbg=NONE cterm=NONE + hi ConId ctermfg=3 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=5 ctermbg=NONE cterm=NONE + hi hsString ctermfg=12 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=4 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=6 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=3 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=9 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=6 ctermbg=NONE cterm=NONE + hi hsType ctermfg=3 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=6 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=2 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=6 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=6 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=4 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=4 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=11 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=3 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=1 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=13 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=13 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=13 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=4 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=4 ctermbg=8 cterm=NONE + hi pandocTableZebraDark ctermfg=4 ctermbg=0 cterm=NONE + hi pandocEmphasisTable ctermfg=4 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=4 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=9 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=12 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=12 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=4 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=13 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=14 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=14 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=14 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=14 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=14 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=11 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=4 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=4 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=1 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=1 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=1 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=1 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=6 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=3 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=0 ctermbg=1 cterm=bold + hi ALEInfoSign ctermfg=0 ctermbg=6 cterm=bold + hi ALEWarningSign ctermfg=0 ctermbg=3 cterm=bold + else + hi ALEErrorSign ctermfg=1 ctermbg=0 cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=0 cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=0 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=0 ctermbg=1 cterm=NONE + hi ALEInfoSignLineNr ctermfg=0 ctermbg=6 cterm=NONE + hi ALEWarningSignLineNr ctermfg=0 ctermbg=3 cterm=NONE + endif + hi ALEError ctermfg=1 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=6 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=3 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish + endif + " Light background + if s:termtrans + hi Normal ctermfg=0 ctermbg=NONE cterm=NONE + hi FoldColumn ctermfg=10 ctermbg=NONE cterm=NONE + hi Folded ctermfg=10 ctermbg=NONE cterm=bold + hi LineNr ctermfg=14 ctermbg=NONE cterm=NONE + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + else + hi Normal ctermfg=0 ctermbg=15 cterm=NONE + hi FoldColumn ctermfg=10 ctermbg=7 cterm=NONE + hi Folded ctermfg=10 ctermbg=7 cterm=bold + hi LineNr ctermfg=14 ctermbg=7 cterm=NONE + hi Terminal ctermfg=fg ctermbg=15 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=1 ctermbg=7 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=15 ctermbg=10 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=1 cterm=NONE + endif + hi MatchParen ctermfg=15 ctermbg=11 cterm=bold + hi NonText ctermfg=1 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=1 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=5 ctermbg=15 cterm=reverse,underline + hi SpellCap ctermfg=5 ctermbg=15 cterm=reverse,underline + hi SpellLocal ctermfg=3 ctermbg=15 cterm=reverse,underline + hi SpellRare ctermfg=6 ctermbg=15 cterm=reverse,underline + hi Title ctermfg=9 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=14 ctermbg=7 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=15 ctermbg=10 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=9 cterm=NONE + endif + hi MatchParen ctermfg=1 ctermbg=7 cterm=bold,underline + hi NonText ctermfg=7 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=7 ctermbg=NONE cterm=bold + hi SpellBad ctermfg=5 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=5 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=14 ctermbg=NONE cterm=bold + else + hi CursorLineNr ctermfg=10 ctermbg=7 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=15 ctermbg=10 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=9 cterm=NONE + endif + hi MatchParen ctermfg=1 ctermbg=7 cterm=bold,underline + hi NonText ctermfg=11 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=11 ctermbg=7 cterm=bold + hi SpellBad ctermfg=5 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=5 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=9 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=3 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=4 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=3 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=bold + hi DiffText ctermfg=4 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=2 ctermbg=7 cterm=NONE + hi DiffChange ctermfg=3 ctermbg=7 cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=7 cterm=bold + hi DiffText ctermfg=4 ctermbg=7 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=14 ctermbg=15 cterm=reverse + hi StatusLineNC ctermfg=14 ctermbg=0 cterm=reverse + hi TabLine ctermfg=14 ctermbg=0 cterm=reverse + hi TabLineFill ctermfg=14 ctermbg=0 cterm=reverse + hi TabLineSel ctermfg=0 ctermbg=15 cterm=reverse + hi VertSplit ctermfg=0 ctermbg=14 cterm=NONE + hi WildMenu ctermfg=0 ctermbg=15 cterm=reverse + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=7 ctermbg=8 cterm=reverse + hi StatusLineNC ctermfg=7 ctermbg=0 cterm=reverse + hi TabLineSel ctermfg=8 ctermbg=7 cterm=NONE + hi TabLine ctermfg=14 ctermbg=7 cterm=NONE + hi TabLineFill ctermfg=14 ctermbg=7 cterm=NONE + hi VertSplit ctermfg=14 ctermbg=7 cterm=NONE + hi WildMenu ctermfg=10 ctermbg=15 cterm=reverse + else + hi StatusLine ctermfg=0 ctermbg=7 cterm=reverse + hi StatusLineNC ctermfg=11 ctermbg=7 cterm=reverse + hi TabLine ctermfg=11 ctermbg=7 cterm=reverse + hi TabLineFill ctermfg=11 ctermbg=7 cterm=reverse + hi TabLineSel ctermfg=0 ctermbg=7 cterm=reverse + hi VertSplit ctermfg=0 ctermbg=14 cterm=NONE + hi WildMenu ctermfg=11 ctermbg=15 cterm=reverse + endif + hi ColorColumn ctermfg=NONE ctermbg=7 cterm=NONE + hi Conceal ctermfg=4 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=7 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=7 cterm=NONE + hi Directory ctermfg=4 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=1 ctermbg=15 cterm=reverse + hi IncSearch ctermfg=9 ctermbg=NONE cterm=standout + hi ModeMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=0 ctermbg=7 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=0 cterm=NONE + hi PmenuSel ctermfg=8 ctermbg=14 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=11 cterm=NONE + hi Question ctermfg=6 ctermbg=NONE cterm=bold + hi Search ctermfg=3 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=10 ctermbg=NONE cterm=NONE + hi Visual ctermfg=14 ctermbg=15 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=7 cterm=reverse + hi WarningMsg ctermfg=9 ctermbg=NONE cterm=bold + hi Comment ctermfg=11 ctermbg=NONE cterm=italic + hi Constant ctermfg=6 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=1 ctermbg=15 cterm=bold,reverse + hi Identifier ctermfg=4 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=9 ctermbg=NONE cterm=NONE + hi Special ctermfg=9 ctermbg=NONE cterm=NONE + hi Statement ctermfg=2 ctermbg=NONE cterm=NONE + hi Todo ctermfg=5 ctermbg=NONE cterm=bold + hi ToolbarButton ctermfg=0 ctermbg=7 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=7 cterm=NONE + hi Type ctermfg=3 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=13 ctermbg=NONE cterm=NONE + hi NormalMode ctermfg=0 ctermbg=15 cterm=reverse + hi InsertMode ctermfg=6 ctermbg=15 cterm=reverse + hi ReplaceMode ctermfg=9 ctermbg=15 cterm=reverse + hi VisualMode ctermfg=5 ctermbg=15 cterm=reverse + hi CommandMode ctermfg=5 ctermbg=15 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=15 ctermbg=14 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=13 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=3 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=4 ctermbg=NONE cterm=bold + hi helpExample ctermfg=0 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=6 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=5 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=5 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=4 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=2 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=11 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=3 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=6 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=4 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=4 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=4 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=14 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=14 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=5 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=1 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=2 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=14 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=6 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=1 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=3 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=10 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=14 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=14 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=0 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=4 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=4 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=11 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=3 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=0 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=3 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=6 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=6 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=3 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=3 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=3 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=0 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=5 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=9 ctermbg=NONE cterm=NONE + hi VarId ctermfg=4 ctermbg=NONE cterm=NONE + hi ConId ctermfg=3 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=5 ctermbg=NONE cterm=NONE + hi hsString ctermfg=11 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=4 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=6 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=3 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=9 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=6 ctermbg=NONE cterm=NONE + hi hsType ctermfg=3 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=6 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=2 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=6 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=6 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=4 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=4 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=14 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=3 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=1 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=13 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=13 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=13 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=4 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=4 ctermbg=15 cterm=NONE + hi pandocTableZebraDark ctermfg=4 ctermbg=7 cterm=NONE + hi pandocEmphasisTable ctermfg=4 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=4 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=9 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=4 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=13 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=10 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=10 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=10 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=10 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=10 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=14 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=4 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=4 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=1 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=1 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=1 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=1 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=6 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=3 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=7 ctermbg=1 cterm=bold + hi ALEInfoSign ctermfg=7 ctermbg=6 cterm=bold + hi ALEWarningSign ctermfg=7 ctermbg=3 cterm=bold + else + hi ALEErrorSign ctermfg=1 ctermbg=7 cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=7 cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=7 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=7 ctermbg=1 cterm=NONE + hi ALEInfoSignLineNr ctermfg=7 ctermbg=6 cterm=NONE + hi ALEWarningSignLineNr ctermfg=7 ctermbg=3 cterm=NONE + endif + hi ALEError ctermfg=1 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=6 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=3 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +if s:t_Co >= 2 + hi Normal term=NONE + hi ColorColumn term=reverse + hi Conceal term=NONE + hi Cursor term=NONE + hi CursorColumn term=reverse + hi CursorLine term=underline + hi CursorLineNr term=bold,italic,reverse,underline + hi DiffAdd term=reverse,underline + hi DiffChange term=reverse,underline + hi DiffDelete term=reverse,underline + hi DiffText term=bold,reverse,underline + hi Directory term=NONE + hi EndOfBuffer term=NONE + hi ErrorMsg term=bold,italic,reverse + hi FoldColumn term=reverse + hi Folded term=italic,reverse,underline + hi IncSearch term=bold,italic,reverse + hi LineNr term=reverse + hi MatchParen term=bold,underline + hi ModeMsg term=NONE + hi MoreMsg term=NONE + hi NonText term=NONE + hi Pmenu term=reverse + hi PmenuSbar term=NONE + hi PmenuSel term=NONE + hi PmenuThumb term=NONE + hi Question term=standout + hi Search term=italic,underline + hi SignColumn term=reverse + hi SpecialKey term=bold + hi SpellBad term=italic,underline + hi SpellCap term=italic,underline + hi SpellLocal term=italic,underline + hi SpellRare term=italic,underline + hi StatusLine term=bold,reverse + hi StatusLineNC term=reverse + hi TabLine term=italic,reverse,underline + hi TabLineFill term=reverse,underline + hi TabLineSel term=bold + hi Title term=bold + hi VertSplit term=reverse + hi Visual term=reverse + hi VisualNOS term=NONE + hi WarningMsg term=standout + hi WildMenu term=bold + hi Comment term=italic + hi Constant term=bold,italic + hi Error term=reverse + hi Identifier term=italic + hi Ignore term=NONE + hi PreProc term=italic + hi Special term=bold,italic + hi Statement term=bold + hi Todo term=bold,underline + hi Type term=bold + hi Underlined term=underline + hi CursorIM term=NONE + hi ToolbarLine term=reverse + hi ToolbarButton term=bold,reverse + if !s:italics + hi CursorLineNr term=bold,reverse,underline + hi ErrorMsg term=bold,reverse + hi Folded term=reverse,underline + hi IncSearch term=bold,reverse + hi Search term=underline + hi SpellBad term=underline + hi SpellCap term=underline + hi SpellLocal term=underline + hi SpellRare term=underline + hi TabLine term=reverse,underline + hi Comment term=NONE + hi Constant term=bold + hi Identifier term=NONE + hi PreProc term=NONE + hi Special term=bold + endif + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +" Background: dark +" Color: base02 #073642 236 0 +" Color: red #dc322f 160 1 +" Color: green #859900 106 2 +" Color: yellow #b58900 136 3 +" Color: blue #268bd2 32 4 +" Color: magenta #d33682 162 5 +" Color: cyan #2aa198 37 6 +" Color: base1 #eee8d5 254 7 +" Color: base03 #002b36 235 8 +" Color: back #002b36 235 8 +" Color: orange #cb4b16 166 9 +" Color: base01 #657b83 243 11 +" Color: base00 #839496 246 12 +" Color: violet #6c71c4 61 13 +" Color: base0 #93a1a1 247 14 +" Color: base2 #fdf6e3 230 15 +" Color: base3 #fdf6e3 230 15 +" Term Colors: base02 red green yellow blue magenta cyan base2 +" Term Colors: base03 orange base01 base00 base0 violet base1 base3 +" Background: light +" Color: base1 #073642 236 0 +" Color: red #dc322f 160 1 +" Color: green #859900 106 2 +" Color: yellow #b58900 136 3 +" Color: blue #268bd2 32 4 +" Color: magenta #d33682 162 5 +" Color: cyan #2aa198 37 6 +" Color: base02 #eee8d5 254 7 +" Color: base3 #002b36 235 8 +" Color: base2 #002b36 235 8 +" Color: orange #cb4b16 166 9 +" Color: base0 #586e75 242 10 +" Color: base00 #657b83 66 11 +" Color: violet #6c71c4 61 13 +" Color: base01 #93a1a1 247 14 +" Color: base03 #fdf6e3 230 15 +" Color: back #fdf6e3 230 15 +" Term Colors: base2 red green yellow blue magenta cyan base02 +" Term Colors: base3 orange base1 base0 base00 violet base01 base03 +" Background: any +" vim: et ts=2 sw=2 diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/solarized8_low.vim b/nvim/plugged/awesome-vim-colorschemes/colors/solarized8_low.vim new file mode 100644 index 00000000..dd3cb5b1 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/solarized8_low.vim @@ -0,0 +1,2445 @@ +" Name: Solarized 8 Low Contrast +" Description: Precision colors for machines and people +" Author: Ethan Schoonover +" Maintainer: Lifepillar <lifepillar@lifepillar.me> +" Website: https://github.com/lifepillar/vim-solarized8 +" License: OSI approved MIT license +" Last Updated: Sat Apr 24 20:35:45 2021 + +" Generated by Colortemplate v2.1.0 + +hi clear +let g:colors_name = 'solarized8_low' + +let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 2 +let s:italics = (&t_ZH != '' && &t_ZH != '') || has('gui_running') || has('nvim') + +let s:t_Co = get(g:, 'solarized_use16', 0) ? 16 : s:t_Co +let s:italics = s:italics && get(g:, 'solarized_italics', 1) +let s:termtrans = get(g:, 'solarized_termtrans', 0) && !has('gui_running') +hi! link Boolean Constant +hi! link Character Constant +hi! link Conditional Statement +hi! link Debug Special +hi! link Define PreProc +hi! link Delimiter Special +hi! link Exception Statement +hi! link Float Constant +hi! link Function Identifier +hi! link Include PreProc +hi! link Keyword Statement +hi! link Label Statement +hi! link Macro PreProc +hi! link Number Constant +hi! link Operator Statement +hi! link PreCondit PreProc +hi! link QuickFixLine Search +hi! link Repeat Statement +hi! link SpecialChar Special +hi! link SpecialComment Special +hi! link StatusLineTerm StatusLine +hi! link StatusLineTermNC StatusLineNC +hi! link StorageClass Type +hi! link String Constant +hi! link Structure Type +hi! link Tag Special +hi! link Typedef Type +hi! link lCursor Cursor + +if (has('termguicolors') && &termguicolors) || has('gui_running') + if &background ==# 'dark' + let g:terminal_ansi_colors = ['#073642', '#dc322f', '#859900', '#b58900', '#268bd2', '#d33682', '#2aa198', '#eee8d5', '#002b36', '#cb4b16', '#586e75', '#657b83', '#839496', '#6c71c4', '#93a1a1', '#fdf6e3'] + if has('nvim') + let g:terminal_color_0 = '#073642' + let g:terminal_color_1 = '#dc322f' + let g:terminal_color_2 = '#859900' + let g:terminal_color_3 = '#b58900' + let g:terminal_color_4 = '#268bd2' + let g:terminal_color_5 = '#d33682' + let g:terminal_color_6 = '#2aa198' + let g:terminal_color_7 = '#eee8d5' + let g:terminal_color_8 = '#002b36' + let g:terminal_color_9 = '#cb4b16' + let g:terminal_color_10 = '#586e75' + let g:terminal_color_11 = '#657b83' + let g:terminal_color_12 = '#839496' + let g:terminal_color_13 = '#6c71c4' + let g:terminal_color_14 = '#93a1a1' + let g:terminal_color_15 = '#fdf6e3' + endif + if s:termtrans + hi Normal guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi FoldColumn guifg=fg guibg=NONE gui=NONE cterm=NONE + hi Folded guifg=fg guibg=NONE guisp=#002b36 gui=bold cterm=bold + hi LineNr guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi Terminal guifg=fg guibg=NONE gui=NONE cterm=NONE + hi ToolbarButton guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + else + hi Normal guifg=#839496 guibg=#073642 gui=NONE cterm=NONE + hi FoldColumn guifg=#839496 guibg=#073642 gui=NONE cterm=NONE + hi Folded guifg=#839496 guibg=#073642 guisp=#002b36 gui=bold cterm=bold + hi LineNr guifg=#586e75 guibg=#073642 gui=NONE cterm=NONE + hi Terminal guifg=fg guibg=#073642 gui=NONE cterm=NONE + hi ToolbarButton guifg=#93a1a1 guibg=#073642 gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=#073642 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr guifg=#cb4b16 guibg=#073642 gui=bold cterm=bold + hi NonText guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#cb4b16 guibg=NONE gui=reverse cterm=reverse + hi SpellBad guifg=#6c71c4 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi SpellCap guifg=#6c71c4 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi SpellLocal guifg=#b58900 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi SpellRare guifg=#2aa198 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,underline + hi Title guifg=#b58900 guibg=NONE gui=bold cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr guifg=#586e75 guibg=#073642 gui=bold cterm=bold + hi NonText guifg=#073642 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#073642 guibg=NONE gui=reverse cterm=reverse + hi SpellBad guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellCap guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#586e75 guibg=NONE gui=bold cterm=bold + else + hi CursorLineNr guifg=#839496 guibg=#073642 gui=bold cterm=bold + hi NonText guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#657b83 guibg=#073642 gui=bold cterm=bold + hi SpellBad guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellCap guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + endif + if s:termtrans + hi CursorLineNr guibg=NONE + endif + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#002b36 guibg=#839496 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#268bd2 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd guifg=#859900 guibg=NONE gui=reverse cterm=reverse + hi DiffChange guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi DiffDelete guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi DiffText guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd guifg=#859900 guibg=NONE guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=NONE guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=NONE guisp=#268bd2 gui=NONE cterm=NONE + else " normal diffmode + hi DiffAdd guifg=#859900 guibg=#073642 guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=#073642 guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=#073642 gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=#073642 guisp=#268bd2 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine guifg=#586e75 guibg=#eee8d5 gui=reverse cterm=reverse + hi StatusLineNC guifg=#586e75 guibg=#93a1a1 gui=reverse cterm=reverse + hi TabLine guifg=#586e75 guibg=#93a1a1 gui=reverse cterm=reverse + hi TabLineFill guifg=#586e75 guibg=#93a1a1 gui=reverse cterm=reverse + hi TabLineSel guifg=#586e75 guibg=#eee8d5 gui=reverse cterm=reverse + hi VertSplit guifg=#93a1a1 guibg=#586e75 gui=NONE cterm=NONE + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine guifg=#002b36 guibg=#eee8d5 gui=reverse cterm=reverse + hi StatusLineNC guifg=#002b36 guibg=#93a1a1 gui=reverse cterm=reverse + hi TabLineSel guifg=#eee8d5 guibg=#002b36 gui=NONE cterm=NONE + hi TabLine guifg=#586e75 guibg=#002b36 gui=NONE cterm=NONE + hi TabLineFill guifg=#586e75 guibg=#002b36 gui=NONE cterm=NONE + hi VertSplit guifg=#586e75 guibg=#002b36 gui=NONE cterm=NONE + else + hi StatusLine guifg=#839496 guibg=#073642 gui=reverse cterm=reverse + hi StatusLineNC guifg=#586e75 guibg=#073642 gui=reverse cterm=reverse + hi TabLine guifg=#586e75 guibg=#073642 gui=reverse cterm=reverse + hi TabLineFill guifg=#586e75 guibg=#073642 gui=reverse cterm=reverse + hi TabLineSel guifg=#839496 guibg=#073642 gui=reverse cterm=reverse + hi VertSplit guifg=#93a1a1 guibg=#586e75 gui=NONE cterm=NONE + endif + hi ColorColumn guifg=NONE guibg=#586e75 gui=NONE cterm=NONE + hi Conceal guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi CursorColumn guifg=NONE guibg=#586e75 gui=NONE cterm=NONE + hi CursorLine guifg=NONE guibg=NONE guisp=#93a1a1 gui=underline ctermfg=NONE ctermbg=NONE cterm=underline + hi Directory guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi EndOfBuffer guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg guifg=#dc322f guibg=#fdf6e3 gui=reverse cterm=reverse + hi IncSearch guifg=#cb4b16 guibg=NONE gui=standout cterm=standout + hi MatchParen guifg=#fdf6e3 guibg=#073642 gui=bold cterm=bold + hi ModeMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi MoreMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Pmenu guifg=#657b83 guibg=#002b36 gui=NONE cterm=NONE + hi PmenuSbar guifg=NONE guibg=#002b36 gui=NONE cterm=NONE + hi PmenuSel guifg=#657b83 guibg=#073642 gui=NONE cterm=NONE + hi PmenuThumb guifg=NONE guibg=#002b36 gui=NONE cterm=NONE + hi Question guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi Search guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi SignColumn guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi Visual guifg=#586e75 guibg=#002b36 gui=reverse cterm=reverse + hi VisualNOS guifg=NONE guibg=#073642 gui=reverse cterm=reverse + hi WarningMsg guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi WildMenu guifg=#eee8d5 guibg=#073642 gui=reverse cterm=reverse + hi Comment guifg=#586e75 guibg=NONE gui=italic cterm=italic + hi Constant guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE + hi Error guifg=#dc322f guibg=#fdf6e3 gui=bold,reverse cterm=bold,reverse + hi Identifier guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Special guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Statement guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi Todo guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi Type guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi Underlined guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi NormalMode guifg=#839496 guibg=#fdf6e3 gui=reverse cterm=reverse + hi InsertMode guifg=#2aa198 guibg=#fdf6e3 gui=reverse cterm=reverse + hi ReplaceMode guifg=#cb4b16 guibg=#fdf6e3 gui=reverse cterm=reverse + hi VisualMode guifg=#d33682 guibg=#fdf6e3 gui=reverse cterm=reverse + hi CommandMode guifg=#d33682 guibg=#fdf6e3 gui=reverse cterm=reverse + if !s:italics + hi Comment gui=NONE cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi vimCommand guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimCmdSep guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi helpExample guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi helpOption guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi helpNote guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpVim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextJump guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextEntry guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi vimIsCommand guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi vimSynMtchOpt guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimSynType guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi vimHiLink guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimHiGroup guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimGroup guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment guifg=#586e75 guibg=NONE gui=italic cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitOnBranch guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi gitcommitBranch guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi gitcommitselectedtype guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi gitcommitHeader guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi gitcommitUntrackedFile guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi gitcommitDiscardedFile guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi gitcommitSelectedFile guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitUnmergedFile guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi gitcommitFile guifg=#839496 guibg=NONE gui=bold cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi htmlEndTag guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi htmlTagN guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi htmlTagName guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi htmlSpecialTagName guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi htmlArg guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi javaScript guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi perlVarPlain guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi perlStatementFileDesc guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texstatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texmathzonex guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texmathmatcher guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texreflabel guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi rubyDefine guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi! link rubySymbol Type + hi rubyBoolean guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi cPreCondit guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi VarId guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi ConId guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsImport guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi hsString guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi hsStructure guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_hlFunctionName guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi hsStatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsImportLabel guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_OpFunctionName guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hs_DeclareFunction guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi hsVarSym guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsType guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsTypedef guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsModuleName guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsniceoperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + if !s:italics + hi gitcommitComment gui=NONE cterm=NONE + hi htmlSpecialTagName gui=NONE cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTitleBlockTitle guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocTitleComment guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocComment guifg=#586e75 guibg=NONE gui=italic cterm=italic + hi pandocVerbatimBlock guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader1 guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader2 guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader3 guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader4 guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader5 guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader6 guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi pandocListMarker guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocListReference guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionBlock guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionTerm guifg=#6c71c4 guibg=NONE gui=standout cterm=standout + hi pandocDefinitionIndctr guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutDefinition guifg=#6c71c4 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTableStructure guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight guifg=#268bd2 guibg=#002b36 gui=NONE cterm=NONE + hi pandocTableZebraDark guifg=#268bd2 guibg=#073642 gui=NONE cterm=NONE + hi pandocEmphasisTable guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutTable guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocHeadingMarker guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutHeading guifg=#cb4b16 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSuperscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSubscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocLinkDelim guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkLabel guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkText guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkURL guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitle guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitleDelim guifg=#586e75 guibg=NONE guisp=#657b83 gui=NONE cterm=NONE + hi pandocLinkDefinition guifg=#2aa198 guibg=NONE guisp=#657b83 gui=NONE cterm=NONE + hi pandocLinkDefinitionID guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocImageCaption guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteLink guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocFootnoteDefLink guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteInline guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnote guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationDelim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitation guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationID guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocStyleDelim guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi pandocEmphasis guifg=#839496 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNested guifg=#839496 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasis guifg=#839496 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNested guifg=#839496 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasis guifg=#839496 guibg=NONE gui=bold cterm=bold + hi pandocStrikeout guifg=#586e75 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInline guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocRule guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocRuleLine guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocEscapePair guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocNonBreakingSpace guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadataKey guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment gui=NONE cterm=NONE + hi pandocEmphasisDefinition gui=NONE cterm=NONE + hi pandocEmphasisTable gui=NONE cterm=NONE + hi pandocEmphasis gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi ALEErrorSignLineNr guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign guifg=#073642 guibg=#dc322f gui=bold cterm=bold + hi ALEInfoSign guifg=#073642 guibg=#2aa198 gui=bold cterm=bold + hi ALEWarningSign guifg=#073642 guibg=#b58900 gui=bold cterm=bold + else + hi ALEErrorSign guifg=#dc322f guibg=#073642 gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=#073642 gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=#073642 gui=bold cterm=bold + endif + hi ALEErrorSignLineNr guifg=#073642 guibg=#dc322f gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#073642 guibg=#2aa198 gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#073642 guibg=#b58900 gui=NONE cterm=NONE + endif + hi ALEError guifg=#dc322f guibg=NONE guisp=#dc322f gui=undercurl cterm=undercurl + hi ALEErrorLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl + hi ALEInfoLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl + hi ALEWarningLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish + endif + " Light background + let g:terminal_ansi_colors = ['#073642', '#dc322f', '#859900', '#b58900', '#268bd2', '#d33682', '#2aa198', '#eee8d5', '#002b36', '#cb4b16', '#586e75', '#657b83', '#839496', '#6c71c4', '#93a1a1', '#fdf6e3'] + if has('nvim') + let g:terminal_color_0 = '#073642' + let g:terminal_color_1 = '#dc322f' + let g:terminal_color_2 = '#859900' + let g:terminal_color_3 = '#b58900' + let g:terminal_color_4 = '#268bd2' + let g:terminal_color_5 = '#d33682' + let g:terminal_color_6 = '#2aa198' + let g:terminal_color_7 = '#eee8d5' + let g:terminal_color_8 = '#002b36' + let g:terminal_color_9 = '#cb4b16' + let g:terminal_color_10 = '#586e75' + let g:terminal_color_11 = '#657b83' + let g:terminal_color_12 = '#839496' + let g:terminal_color_13 = '#6c71c4' + let g:terminal_color_14 = '#93a1a1' + let g:terminal_color_15 = '#fdf6e3' + endif + if s:termtrans + hi Normal guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi FoldColumn guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi Folded guifg=#657b83 guibg=NONE guisp=#fdf6e3 gui=bold cterm=bold + hi LineNr guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi Terminal guifg=fg guibg=NONE gui=NONE cterm=NONE + hi ToolbarButton guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + else + hi Normal guifg=#657b83 guibg=#eee8d5 gui=NONE cterm=NONE + hi FoldColumn guifg=#657b83 guibg=#eee8d5 gui=NONE cterm=NONE + hi Folded guifg=#657b83 guibg=#eee8d5 guisp=#fdf6e3 gui=bold cterm=bold + hi LineNr guifg=#93a1a1 guibg=#eee8d5 gui=NONE cterm=NONE + hi Terminal guifg=fg guibg=#eee8d5 gui=NONE cterm=NONE + hi ToolbarButton guifg=#586e75 guibg=#eee8d5 gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=#eee8d5 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr guifg=#dc322f guibg=#eee8d5 gui=bold cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#fdf6e3 guibg=#657b83 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#dc322f gui=NONE cterm=NONE + endif + hi MatchParen guifg=#002b36 guibg=NONE gui=bold,underline cterm=bold,underline + hi NonText guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi SpellBad guifg=#d33682 guibg=#eee8d5 guisp=#6c71c4 gui=reverse,undercurl cterm=reverse,underline + hi SpellCap guifg=#d33682 guibg=#eee8d5 guisp=#6c71c4 gui=reverse,undercurl cterm=reverse,underline + hi SpellLocal guifg=#b58900 guibg=#eee8d5 guisp=#cb4b16 gui=reverse,undercurl cterm=reverse,underline + hi SpellRare guifg=#2aa198 guibg=#eee8d5 guisp=#cb4b16 gui=reverse,undercurl cterm=reverse,underline + hi Title guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr guifg=#93a1a1 guibg=#eee8d5 gui=bold cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#fdf6e3 guibg=#657b83 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#cb4b16 gui=NONE cterm=NONE + endif + hi MatchParen guifg=#002b36 guibg=#eee8d5 gui=bold cterm=bold + hi NonText guifg=#eee8d5 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#eee8d5 guibg=NONE gui=bold cterm=bold + hi SpellBad guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellCap guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + else + hi CursorLineNr guifg=#657b83 guibg=#eee8d5 gui=bold cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#fdf6e3 guibg=#657b83 gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#cb4b16 gui=NONE cterm=NONE + endif + hi MatchParen guifg=#002b36 guibg=#eee8d5 gui=bold cterm=bold + hi NonText guifg=#839496 guibg=NONE gui=bold cterm=bold + hi SpecialKey guifg=#839496 guibg=#eee8d5 gui=bold cterm=bold + hi SpellBad guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellCap guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=underline + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=underline + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=underline + hi Title guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + endif + if s:termtrans + hi CursorLineNr guibg=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd guifg=#859900 guibg=NONE gui=reverse cterm=reverse + hi DiffChange guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi DiffDelete guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi DiffText guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd guifg=#859900 guibg=NONE guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=NONE guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=NONE guisp=#268bd2 gui=NONE cterm=NONE + else " normal diffmode + hi DiffAdd guifg=#859900 guibg=#eee8d5 guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=#eee8d5 guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=#eee8d5 gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=#eee8d5 guisp=#268bd2 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine guifg=#93a1a1 guibg=#eee8d5 gui=reverse cterm=reverse + hi StatusLineNC guifg=#93a1a1 guibg=#586e75 gui=reverse cterm=reverse + hi TabLine guifg=#93a1a1 guibg=#586e75 gui=reverse cterm=reverse + hi TabLineFill guifg=#93a1a1 guibg=#586e75 gui=reverse cterm=reverse + hi TabLineSel guifg=#93a1a1 guibg=#eee8d5 gui=reverse cterm=reverse + hi VertSplit guifg=#586e75 guibg=#93a1a1 gui=NONE cterm=NONE + hi WildMenu guifg=#657b83 guibg=#eee8d5 gui=reverse cterm=reverse + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine guifg=#fdf6e3 guibg=#073642 gui=reverse cterm=reverse + hi StatusLineNC guifg=#fdf6e3 guibg=#586e75 gui=reverse cterm=reverse + hi TabLineSel guifg=#073642 guibg=#fdf6e3 gui=NONE cterm=NONE + hi TabLine guifg=#93a1a1 guibg=#fdf6e3 gui=NONE cterm=NONE + hi TabLineFill guifg=#93a1a1 guibg=#fdf6e3 gui=NONE cterm=NONE + hi VertSplit guifg=#93a1a1 guibg=#fdf6e3 gui=NONE cterm=NONE + hi WildMenu guifg=#93a1a1 guibg=#fdf6e3 gui=reverse cterm=reverse + else + hi StatusLine guifg=#586e75 guibg=#eee8d5 gui=reverse cterm=reverse + hi StatusLineNC guifg=#839496 guibg=#eee8d5 gui=reverse cterm=reverse + hi TabLine guifg=#839496 guibg=#eee8d5 gui=reverse cterm=reverse + hi TabLineFill guifg=#839496 guibg=#eee8d5 gui=reverse cterm=reverse + hi TabLineSel guifg=#586e75 guibg=#eee8d5 gui=reverse cterm=reverse + hi VertSplit guifg=#586e75 guibg=#93a1a1 gui=NONE cterm=NONE + hi WildMenu guifg=#839496 guibg=#eee8d5 gui=reverse cterm=reverse + endif + hi ColorColumn guifg=#eee8d5 guibg=#93a1a1 gui=NONE cterm=NONE + hi Conceal guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi CursorColumn guifg=#eee8d5 guibg=#93a1a1 gui=NONE cterm=NONE + hi CursorLine guifg=NONE guibg=NONE guisp=#839496 gui=underline ctermfg=NONE ctermbg=NONE cterm=underline + hi Directory guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi EndOfBuffer guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg guifg=#dc322f guibg=#fdf6e3 gui=reverse cterm=reverse + hi IncSearch guifg=#cb4b16 guibg=NONE gui=standout cterm=standout + hi ModeMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi MoreMsg guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Pmenu guifg=#fdf6e3 guibg=#93a1a1 gui=NONE cterm=NONE + hi PmenuSbar guifg=NONE guibg=#657b83 gui=NONE cterm=NONE + hi PmenuSel guifg=#fdf6e3 guibg=#839496 gui=NONE cterm=NONE + hi PmenuThumb guifg=NONE guibg=#839496 gui=NONE cterm=NONE + hi Question guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi Search guifg=#b58900 guibg=NONE gui=reverse cterm=reverse + hi SignColumn guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi Visual guifg=#93a1a1 guibg=#fdf6e3 gui=reverse cterm=reverse + hi VisualNOS guifg=NONE guibg=#eee8d5 gui=reverse cterm=reverse + hi WarningMsg guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi Comment guifg=#93a1a1 guibg=NONE gui=italic cterm=italic + hi Constant guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE + hi Error guifg=#dc322f guibg=#fdf6e3 gui=bold,reverse cterm=bold,reverse + hi Identifier guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Special guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi Statement guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi Todo guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi Type guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi Underlined guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi NormalMode guifg=#586e75 guibg=#fdf6e3 gui=reverse cterm=reverse + hi InsertMode guifg=#2aa198 guibg=#fdf6e3 gui=reverse cterm=reverse + hi ReplaceMode guifg=#cb4b16 guibg=#fdf6e3 gui=reverse cterm=reverse + hi VisualMode guifg=#d33682 guibg=#fdf6e3 gui=reverse cterm=reverse + hi CommandMode guifg=#d33682 guibg=#fdf6e3 gui=reverse cterm=reverse + if !s:italics + hi Comment gui=NONE cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC guifg=#fdf6e3 guibg=#93a1a1 gui=NONE cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi vimCommand guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimCmdSep guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi helpExample guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi helpOption guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi helpNote guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpVim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextJump guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi helpHyperTextEntry guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi vimIsCommand guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi vimSynMtchOpt guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi vimSynType guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi vimHiLink guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimHiGroup guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi vimGroup guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment guifg=#93a1a1 guibg=NONE gui=italic cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitOnBranch guifg=#93a1a1 guibg=NONE gui=bold cterm=bold + hi gitcommitBranch guifg=#d33682 guibg=NONE gui=bold cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi gitcommitselectedtype guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi gitcommitHeader guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi gitcommitUntrackedFile guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi gitcommitDiscardedFile guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi gitcommitSelectedFile guifg=#859900 guibg=NONE gui=bold cterm=bold + hi gitcommitUnmergedFile guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi gitcommitFile guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi htmlEndTag guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi htmlTagN guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi htmlTagName guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi htmlSpecialTagName guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi htmlArg guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi javaScript guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc guifg=#586e75 guibg=NONE gui=NONE cterm=NONE + hi perlVarPlain guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi perlStatementFileDesc guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texstatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi texmathzonex guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texmathmatcher guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi texreflabel guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi rubyDefine guifg=#586e75 guibg=NONE gui=bold cterm=bold + hi! link rubySymbol Type + hi rubyBoolean guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi cPreCondit guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi VarId guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi ConId guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsImport guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi hsString guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi hsStructure guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_hlFunctionName guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi hsStatement guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsImportLabel guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hs_OpFunctionName guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hs_DeclareFunction guifg=#cb4b16 guibg=NONE gui=NONE cterm=NONE + hi hsVarSym guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsType guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi hsTypedef guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsModuleName guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi hsniceoperator guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + if !s:italics + hi gitcommitComment gui=NONE cterm=NONE + hi htmlSpecialTagName gui=NONE cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTitleBlockTitle guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocTitleComment guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocComment guifg=#93a1a1 guibg=NONE gui=italic cterm=italic + hi pandocVerbatimBlock guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader1 guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader2 guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader3 guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader4 guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader5 guifg=#657b83 guibg=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader6 guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocListMarker guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocListReference guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionBlock guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocDefinitionTerm guifg=#6c71c4 guibg=NONE gui=standout cterm=standout + hi pandocDefinitionIndctr guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisDefinition guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutDefinition guifg=#6c71c4 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptDefinition guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocTableStructure guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight guifg=#268bd2 guibg=#fdf6e3 gui=NONE cterm=NONE + hi pandocTableZebraDark guifg=#268bd2 guibg=#eee8d5 gui=NONE cterm=NONE + hi pandocEmphasisTable guifg=#268bd2 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisTable guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutTable guifg=#268bd2 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscriptTable guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocHeadingMarker guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocStrikeoutHeading guifg=#cb4b16 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSuperscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocSubscriptHeading guifg=#cb4b16 guibg=NONE gui=bold cterm=bold + hi pandocLinkDelim guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkLabel guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkText guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkURL guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitle guifg=#839496 guibg=NONE gui=NONE cterm=NONE + hi pandocLinkTitleDelim guifg=#93a1a1 guibg=NONE guisp=#839496 gui=NONE cterm=NONE + hi pandocLinkDefinition guifg=#2aa198 guibg=NONE guisp=#839496 gui=NONE cterm=NONE + hi pandocLinkDefinitionID guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocImageCaption guifg=#6c71c4 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteLink guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocFootnoteDefLink guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnoteInline guifg=#859900 guibg=NONE gui=bold cterm=bold + hi pandocFootnote guifg=#859900 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationDelim guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitation guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationID guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocStyleDelim guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocEmphasis guifg=#657b83 guibg=NONE gui=italic cterm=italic + hi pandocEmphasisNested guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasis guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNested guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasis guifg=#657b83 guibg=NONE gui=bold cterm=bold + hi pandocStrikeout guifg=#93a1a1 guibg=NONE gui=reverse cterm=reverse + hi pandocVerbatimInline guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + hi pandocSuperscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocSubscript guifg=#6c71c4 guibg=NONE gui=NONE cterm=NONE + hi pandocRule guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocRuleLine guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi pandocEscapePair guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi pandocCitationRef guifg=#d33682 guibg=NONE gui=NONE cterm=NONE + hi pandocNonBreakingSpace guifg=#dc322f guibg=NONE gui=reverse cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim guifg=#93a1a1 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadataKey guifg=#268bd2 guibg=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE gui=bold cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment gui=NONE cterm=NONE + hi pandocEmphasisDefinition gui=NONE cterm=NONE + hi pandocEmphasisTable gui=NONE cterm=NONE + hi pandocEmphasis gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign guifg=#dc322f guibg=NONE gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=NONE gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=NONE gui=bold cterm=bold + hi ALEErrorSignLineNr guifg=#dc322f guibg=NONE gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#2aa198 guibg=NONE gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#b58900 guibg=NONE gui=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign guifg=#eee8d5 guibg=#dc322f gui=bold cterm=bold + hi ALEInfoSign guifg=#eee8d5 guibg=#2aa198 gui=bold cterm=bold + hi ALEWarningSign guifg=#eee8d5 guibg=#b58900 gui=bold cterm=bold + else + hi ALEErrorSign guifg=#dc322f guibg=#eee8d5 gui=bold cterm=bold + hi ALEInfoSign guifg=#2aa198 guibg=#eee8d5 gui=bold cterm=bold + hi ALEWarningSign guifg=#b58900 guibg=#eee8d5 gui=bold cterm=bold + endif + hi ALEErrorSignLineNr guifg=#eee8d5 guibg=#dc322f gui=NONE cterm=NONE + hi ALEInfoSignLineNr guifg=#eee8d5 guibg=#2aa198 gui=NONE cterm=NONE + hi ALEWarningSignLineNr guifg=#eee8d5 guibg=#b58900 gui=NONE cterm=NONE + endif + hi ALEError guifg=#dc322f guibg=NONE guisp=#dc322f gui=undercurl cterm=undercurl + hi ALEErrorLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl + hi ALEInfoLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl + hi ALEWarningLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +if s:t_Co >= 256 + if &background ==# 'dark' + if s:termtrans + hi Normal ctermfg=246 ctermbg=NONE cterm=NONE + hi FoldColumn ctermfg=fg ctermbg=NONE cterm=NONE + hi Folded ctermfg=fg ctermbg=NONE cterm=bold + hi LineNr ctermfg=242 ctermbg=NONE cterm=NONE + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=247 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else + hi Normal ctermfg=246 ctermbg=236 cterm=NONE + if !has('patch-8.0.0616') && !has('nvim') " Fix for Vim bug + set background=dark + endif + hi FoldColumn ctermfg=246 ctermbg=239 cterm=NONE + hi Folded ctermfg=246 ctermbg=239 cterm=bold + hi LineNr ctermfg=242 ctermbg=239 cterm=NONE + hi Terminal ctermfg=fg ctermbg=236 cterm=NONE + hi ToolbarButton ctermfg=247 ctermbg=239 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=239 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=166 ctermbg=239 cterm=bold + hi NonText ctermfg=166 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=166 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=61 ctermbg=254 cterm=reverse,underline + hi SpellCap ctermfg=61 ctermbg=254 cterm=reverse,underline + hi SpellLocal ctermfg=136 ctermbg=254 cterm=reverse,underline + hi SpellRare ctermfg=37 ctermbg=254 cterm=reverse,underline + hi Title ctermfg=136 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=242 ctermbg=239 cterm=bold + hi NonText ctermfg=239 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=239 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=61 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=61 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=242 ctermbg=NONE cterm=bold + else + hi CursorLineNr ctermfg=246 ctermbg=239 cterm=bold + hi NonText ctermfg=66 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=66 ctermbg=239 cterm=bold + hi SpellBad ctermfg=61 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=61 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=166 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + endif + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=235 ctermbg=246 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=32 cterm=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=136 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=32 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=136 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=bold + hi DiffText ctermfg=32 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=106 ctermbg=239 cterm=NONE + hi DiffChange ctermfg=136 ctermbg=239 cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=239 cterm=bold + hi DiffText ctermfg=32 ctermbg=239 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=242 ctermbg=254 cterm=reverse + hi StatusLineNC ctermfg=242 ctermbg=247 cterm=reverse + hi TabLine ctermfg=242 ctermbg=247 cterm=reverse + hi TabLineFill ctermfg=242 ctermbg=247 cterm=reverse + hi TabLineSel ctermfg=242 ctermbg=254 cterm=reverse + hi VertSplit ctermfg=247 ctermbg=242 cterm=NONE + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=235 ctermbg=254 cterm=reverse + hi StatusLineNC ctermfg=235 ctermbg=247 cterm=reverse + hi TabLineSel ctermfg=254 ctermbg=235 cterm=NONE + hi TabLine ctermfg=242 ctermbg=235 cterm=NONE + hi TabLineFill ctermfg=242 ctermbg=235 cterm=NONE + hi VertSplit ctermfg=242 ctermbg=235 cterm=NONE + else + hi StatusLine ctermfg=246 ctermbg=239 cterm=reverse + hi StatusLineNC ctermfg=242 ctermbg=239 cterm=reverse + hi TabLine ctermfg=242 ctermbg=239 cterm=reverse + hi TabLineFill ctermfg=242 ctermbg=239 cterm=reverse + hi TabLineSel ctermfg=246 ctermbg=239 cterm=reverse + hi VertSplit ctermfg=247 ctermbg=242 cterm=NONE + endif + hi ColorColumn ctermfg=NONE ctermbg=242 cterm=NONE + hi Conceal ctermfg=32 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=242 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline + hi Directory ctermfg=32 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=160 ctermbg=230 cterm=reverse + hi IncSearch ctermfg=166 ctermbg=NONE cterm=standout + hi MatchParen ctermfg=230 ctermbg=239 cterm=bold + hi ModeMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=66 ctermbg=235 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=235 cterm=NONE + hi PmenuSel ctermfg=66 ctermbg=239 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=235 cterm=NONE + hi Question ctermfg=37 ctermbg=NONE cterm=bold + hi Search ctermfg=136 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=246 ctermbg=NONE cterm=NONE + hi Visual ctermfg=242 ctermbg=235 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=239 cterm=reverse + hi WarningMsg ctermfg=166 ctermbg=NONE cterm=bold + hi WildMenu ctermfg=254 ctermbg=239 cterm=reverse + hi Comment ctermfg=242 ctermbg=NONE cterm=italic + hi Constant ctermfg=37 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=160 ctermbg=230 cterm=bold,reverse + hi Identifier ctermfg=32 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=166 ctermbg=NONE cterm=NONE + hi Special ctermfg=166 ctermbg=NONE cterm=NONE + hi Statement ctermfg=106 ctermbg=NONE cterm=NONE + hi Todo ctermfg=162 ctermbg=NONE cterm=bold + hi Type ctermfg=136 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=61 ctermbg=NONE cterm=NONE + hi NormalMode ctermfg=246 ctermbg=230 cterm=reverse + hi InsertMode ctermfg=37 ctermbg=230 cterm=reverse + hi ReplaceMode ctermfg=166 ctermbg=230 cterm=reverse + hi VisualMode ctermfg=162 ctermbg=230 cterm=reverse + hi CommandMode ctermfg=162 ctermbg=230 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=61 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=136 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=32 ctermbg=NONE cterm=bold + hi helpExample ctermfg=247 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=37 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=162 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=162 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=32 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=106 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=66 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=136 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=37 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=32 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=32 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=32 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=242 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=242 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=162 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=160 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=106 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=242 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=37 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=160 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=136 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=246 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=242 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=242 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=247 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=32 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=32 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=66 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=136 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=247 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=136 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=37 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=37 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=136 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=136 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=136 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=247 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=162 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=166 ctermbg=NONE cterm=NONE + hi VarId ctermfg=32 ctermbg=NONE cterm=NONE + hi ConId ctermfg=136 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=162 ctermbg=NONE cterm=NONE + hi hsString ctermfg=66 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=32 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=37 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=136 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=166 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=37 ctermbg=NONE cterm=NONE + hi hsType ctermfg=136 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=37 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=106 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=37 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=37 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=32 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=32 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=242 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=136 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=160 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=246 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=61 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=61 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=61 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=32 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=32 ctermbg=235 cterm=NONE + hi pandocTableZebraDark ctermfg=32 ctermbg=239 cterm=NONE + hi pandocEmphasisTable ctermfg=32 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=32 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=166 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=66 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=66 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=32 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=61 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=246 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=242 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=32 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=32 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=160 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=160 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=160 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=160 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=37 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=136 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=239 ctermbg=160 cterm=bold + hi ALEInfoSign ctermfg=239 ctermbg=37 cterm=bold + hi ALEWarningSign ctermfg=239 ctermbg=136 cterm=bold + else + hi ALEErrorSign ctermfg=160 ctermbg=239 cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=239 cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=239 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=239 ctermbg=160 cterm=NONE + hi ALEInfoSignLineNr ctermfg=239 ctermbg=37 cterm=NONE + hi ALEWarningSignLineNr ctermfg=239 ctermbg=136 cterm=NONE + endif + hi ALEError ctermfg=160 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=37 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=136 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish + endif + " Light background + if s:termtrans + hi Normal ctermfg=66 ctermbg=NONE cterm=NONE + hi FoldColumn ctermfg=66 ctermbg=NONE cterm=NONE + hi Folded ctermfg=66 ctermbg=NONE cterm=bold + hi LineNr ctermfg=247 ctermbg=NONE cterm=NONE + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=242 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else + hi Normal ctermfg=66 ctermbg=254 cterm=NONE + hi FoldColumn ctermfg=66 ctermbg=254 cterm=NONE + hi Folded ctermfg=66 ctermbg=254 cterm=bold + hi LineNr ctermfg=247 ctermbg=254 cterm=NONE + hi Terminal ctermfg=fg ctermbg=254 cterm=NONE + hi ToolbarButton ctermfg=242 ctermbg=254 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=254 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=160 ctermbg=254 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=230 ctermbg=66 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=160 cterm=NONE + endif + hi MatchParen ctermfg=235 ctermbg=NONE cterm=bold,underline + hi NonText ctermfg=160 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=160 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=162 ctermbg=254 cterm=reverse,underline + hi SpellCap ctermfg=162 ctermbg=254 cterm=reverse,underline + hi SpellLocal ctermfg=136 ctermbg=254 cterm=reverse,underline + hi SpellRare ctermfg=37 ctermbg=254 cterm=reverse,underline + hi Title ctermfg=166 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=247 ctermbg=254 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=230 ctermbg=66 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=166 cterm=NONE + endif + hi MatchParen ctermfg=235 ctermbg=254 cterm=bold + hi NonText ctermfg=254 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=254 ctermbg=NONE cterm=bold + hi SpellBad ctermfg=162 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=162 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=247 ctermbg=NONE cterm=bold + else + hi CursorLineNr ctermfg=66 ctermbg=254 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=230 ctermbg=66 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=166 cterm=NONE + endif + hi MatchParen ctermfg=235 ctermbg=254 cterm=bold + hi NonText ctermfg=246 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=246 ctermbg=254 cterm=bold + hi SpellBad ctermfg=162 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=162 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=166 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=136 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=32 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=136 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=bold + hi DiffText ctermfg=32 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=106 ctermbg=254 cterm=NONE + hi DiffChange ctermfg=136 ctermbg=254 cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=254 cterm=bold + hi DiffText ctermfg=32 ctermbg=254 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=247 ctermbg=254 cterm=reverse + hi StatusLineNC ctermfg=247 ctermbg=242 cterm=reverse + hi TabLine ctermfg=247 ctermbg=242 cterm=reverse + hi TabLineFill ctermfg=247 ctermbg=242 cterm=reverse + hi TabLineSel ctermfg=247 ctermbg=254 cterm=reverse + hi VertSplit ctermfg=242 ctermbg=247 cterm=NONE + hi WildMenu ctermfg=66 ctermbg=254 cterm=reverse + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=230 ctermbg=236 cterm=reverse + hi StatusLineNC ctermfg=230 ctermbg=242 cterm=reverse + hi TabLineSel ctermfg=236 ctermbg=230 cterm=NONE + hi TabLine ctermfg=247 ctermbg=230 cterm=NONE + hi TabLineFill ctermfg=247 ctermbg=230 cterm=NONE + hi VertSplit ctermfg=247 ctermbg=230 cterm=NONE + hi WildMenu ctermfg=247 ctermbg=230 cterm=reverse + else + hi StatusLine ctermfg=242 ctermbg=254 cterm=reverse + hi StatusLineNC ctermfg=246 ctermbg=254 cterm=reverse + hi TabLine ctermfg=246 ctermbg=254 cterm=reverse + hi TabLineFill ctermfg=246 ctermbg=254 cterm=reverse + hi TabLineSel ctermfg=242 ctermbg=254 cterm=reverse + hi VertSplit ctermfg=242 ctermbg=247 cterm=NONE + hi WildMenu ctermfg=246 ctermbg=254 cterm=reverse + endif + hi ColorColumn ctermfg=254 ctermbg=247 cterm=NONE + hi Conceal ctermfg=32 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=254 ctermbg=247 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline + hi Directory ctermfg=32 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=160 ctermbg=230 cterm=reverse + hi IncSearch ctermfg=166 ctermbg=NONE cterm=standout + hi ModeMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=230 ctermbg=247 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=66 cterm=NONE + hi PmenuSel ctermfg=230 ctermbg=246 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=246 cterm=NONE + hi Question ctermfg=37 ctermbg=NONE cterm=bold + hi Search ctermfg=136 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=66 ctermbg=NONE cterm=NONE + hi Visual ctermfg=247 ctermbg=230 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=254 cterm=reverse + hi WarningMsg ctermfg=166 ctermbg=NONE cterm=bold + hi Comment ctermfg=247 ctermbg=NONE cterm=italic + hi Constant ctermfg=37 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=160 ctermbg=230 cterm=bold,reverse + hi Identifier ctermfg=32 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=166 ctermbg=NONE cterm=NONE + hi Special ctermfg=166 ctermbg=NONE cterm=NONE + hi Statement ctermfg=106 ctermbg=NONE cterm=NONE + hi Todo ctermfg=162 ctermbg=NONE cterm=bold + hi Type ctermfg=136 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=61 ctermbg=NONE cterm=NONE + hi NormalMode ctermfg=242 ctermbg=230 cterm=reverse + hi InsertMode ctermfg=37 ctermbg=230 cterm=reverse + hi ReplaceMode ctermfg=166 ctermbg=230 cterm=reverse + hi VisualMode ctermfg=162 ctermbg=230 cterm=reverse + hi CommandMode ctermfg=162 ctermbg=230 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=230 ctermbg=247 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=61 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=136 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=32 ctermbg=NONE cterm=bold + hi helpExample ctermfg=242 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=37 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=162 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=162 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=32 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=106 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=246 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=136 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=37 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=32 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=32 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=32 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=247 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=247 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=162 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=160 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=106 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=247 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=37 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=160 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=136 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=66 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=247 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=247 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=242 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=32 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=32 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=246 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=136 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=242 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=136 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=37 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=37 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=136 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=136 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=136 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=242 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=162 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=166 ctermbg=NONE cterm=NONE + hi VarId ctermfg=32 ctermbg=NONE cterm=NONE + hi ConId ctermfg=136 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=162 ctermbg=NONE cterm=NONE + hi hsString ctermfg=246 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=32 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=37 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=136 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=166 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=37 ctermbg=NONE cterm=NONE + hi hsType ctermfg=136 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=37 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=106 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=37 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=37 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=32 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=32 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=247 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=136 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=160 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=66 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=61 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=61 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=61 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=32 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=32 ctermbg=230 cterm=NONE + hi pandocTableZebraDark ctermfg=32 ctermbg=254 cterm=NONE + hi pandocEmphasisTable ctermfg=32 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=32 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=166 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=246 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=246 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=32 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=61 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=66 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=247 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=32 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=32 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=160 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=160 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=160 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=160 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=37 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=136 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=254 ctermbg=160 cterm=bold + hi ALEInfoSign ctermfg=254 ctermbg=37 cterm=bold + hi ALEWarningSign ctermfg=254 ctermbg=136 cterm=bold + else + hi ALEErrorSign ctermfg=160 ctermbg=254 cterm=bold + hi ALEInfoSign ctermfg=37 ctermbg=254 cterm=bold + hi ALEWarningSign ctermfg=136 ctermbg=254 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=254 ctermbg=160 cterm=NONE + hi ALEInfoSignLineNr ctermfg=254 ctermbg=37 cterm=NONE + hi ALEWarningSignLineNr ctermfg=254 ctermbg=136 cterm=NONE + endif + hi ALEError ctermfg=160 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=37 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=136 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +if s:t_Co >= 16 + if &background ==# 'dark' + if s:termtrans + hi Normal ctermfg=12 ctermbg=NONE cterm=NONE + hi FoldColumn ctermfg=fg ctermbg=NONE cterm=NONE + hi Folded ctermfg=fg ctermbg=NONE cterm=bold + hi LineNr ctermfg=10 ctermbg=NONE cterm=NONE + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=14 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else + hi Normal ctermfg=12 ctermbg=0 cterm=NONE + hi FoldColumn ctermfg=12 ctermbg=0 cterm=NONE + hi Folded ctermfg=12 ctermbg=0 cterm=bold + hi LineNr ctermfg=10 ctermbg=0 cterm=NONE + hi Terminal ctermfg=fg ctermbg=0 cterm=NONE + hi ToolbarButton ctermfg=14 ctermbg=0 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=0 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=9 ctermbg=0 cterm=bold + hi NonText ctermfg=9 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=9 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=13 ctermbg=7 cterm=reverse,underline + hi SpellCap ctermfg=13 ctermbg=7 cterm=reverse,underline + hi SpellLocal ctermfg=3 ctermbg=7 cterm=reverse,underline + hi SpellRare ctermfg=6 ctermbg=7 cterm=reverse,underline + hi Title ctermfg=3 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=10 ctermbg=0 cterm=bold + hi NonText ctermfg=0 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=0 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=13 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=13 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=10 ctermbg=NONE cterm=bold + else + hi CursorLineNr ctermfg=12 ctermbg=0 cterm=bold + hi NonText ctermfg=11 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=11 ctermbg=0 cterm=bold + hi SpellBad ctermfg=13 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=13 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=9 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + endif + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=8 ctermbg=12 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=4 cterm=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=3 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=4 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=3 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=bold + hi DiffText ctermfg=4 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=2 ctermbg=0 cterm=NONE + hi DiffChange ctermfg=3 ctermbg=0 cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=0 cterm=bold + hi DiffText ctermfg=4 ctermbg=0 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=10 ctermbg=7 cterm=reverse + hi StatusLineNC ctermfg=10 ctermbg=14 cterm=reverse + hi TabLine ctermfg=10 ctermbg=14 cterm=reverse + hi TabLineFill ctermfg=10 ctermbg=14 cterm=reverse + hi TabLineSel ctermfg=10 ctermbg=7 cterm=reverse + hi VertSplit ctermfg=14 ctermbg=10 cterm=NONE + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=8 ctermbg=7 cterm=reverse + hi StatusLineNC ctermfg=8 ctermbg=14 cterm=reverse + hi TabLineSel ctermfg=7 ctermbg=8 cterm=NONE + hi TabLine ctermfg=10 ctermbg=8 cterm=NONE + hi TabLineFill ctermfg=10 ctermbg=8 cterm=NONE + hi VertSplit ctermfg=10 ctermbg=8 cterm=NONE + else + hi StatusLine ctermfg=12 ctermbg=0 cterm=reverse + hi StatusLineNC ctermfg=10 ctermbg=0 cterm=reverse + hi TabLine ctermfg=10 ctermbg=0 cterm=reverse + hi TabLineFill ctermfg=10 ctermbg=0 cterm=reverse + hi TabLineSel ctermfg=12 ctermbg=0 cterm=reverse + hi VertSplit ctermfg=14 ctermbg=10 cterm=NONE + endif + hi ColorColumn ctermfg=NONE ctermbg=10 cterm=NONE + hi Conceal ctermfg=4 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=10 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline + hi Directory ctermfg=4 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=1 ctermbg=15 cterm=reverse + hi IncSearch ctermfg=9 ctermbg=NONE cterm=standout + hi MatchParen ctermfg=15 ctermbg=0 cterm=bold + hi ModeMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=11 ctermbg=8 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=8 cterm=NONE + hi PmenuSel ctermfg=11 ctermbg=0 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=8 cterm=NONE + hi Question ctermfg=6 ctermbg=NONE cterm=bold + hi Search ctermfg=3 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=12 ctermbg=NONE cterm=NONE + hi Visual ctermfg=10 ctermbg=8 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=0 cterm=reverse + hi WarningMsg ctermfg=9 ctermbg=NONE cterm=bold + hi WildMenu ctermfg=7 ctermbg=0 cterm=reverse + hi Comment ctermfg=10 ctermbg=NONE cterm=italic + hi Constant ctermfg=6 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=1 ctermbg=15 cterm=bold,reverse + hi Identifier ctermfg=4 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=9 ctermbg=NONE cterm=NONE + hi Special ctermfg=9 ctermbg=NONE cterm=NONE + hi Statement ctermfg=2 ctermbg=NONE cterm=NONE + hi Todo ctermfg=5 ctermbg=NONE cterm=bold + hi Type ctermfg=3 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=13 ctermbg=NONE cterm=NONE + hi NormalMode ctermfg=12 ctermbg=15 cterm=reverse + hi InsertMode ctermfg=6 ctermbg=15 cterm=reverse + hi ReplaceMode ctermfg=9 ctermbg=15 cterm=reverse + hi VisualMode ctermfg=5 ctermbg=15 cterm=reverse + hi CommandMode ctermfg=5 ctermbg=15 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=13 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=3 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=4 ctermbg=NONE cterm=bold + hi helpExample ctermfg=14 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=6 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=5 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=5 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=4 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=2 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=11 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=3 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=6 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=4 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=4 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=4 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=10 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=10 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=5 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=1 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=2 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=10 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=6 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=1 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=3 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=12 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=10 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=10 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=14 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=4 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=4 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=11 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=3 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=14 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=3 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=6 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=6 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=3 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=3 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=3 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=14 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=5 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=9 ctermbg=NONE cterm=NONE + hi VarId ctermfg=4 ctermbg=NONE cterm=NONE + hi ConId ctermfg=3 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=5 ctermbg=NONE cterm=NONE + hi hsString ctermfg=11 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=4 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=6 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=3 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=9 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=6 ctermbg=NONE cterm=NONE + hi hsType ctermfg=3 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=6 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=2 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=6 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=6 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=4 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=4 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=10 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=3 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=1 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=12 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=13 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=13 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=13 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=4 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=4 ctermbg=8 cterm=NONE + hi pandocTableZebraDark ctermfg=4 ctermbg=0 cterm=NONE + hi pandocEmphasisTable ctermfg=4 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=4 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=9 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=4 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=13 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=12 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=10 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=4 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=4 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=1 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=1 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=1 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=1 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=6 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=3 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=0 ctermbg=1 cterm=bold + hi ALEInfoSign ctermfg=0 ctermbg=6 cterm=bold + hi ALEWarningSign ctermfg=0 ctermbg=3 cterm=bold + else + hi ALEErrorSign ctermfg=1 ctermbg=0 cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=0 cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=0 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=0 ctermbg=1 cterm=NONE + hi ALEInfoSignLineNr ctermfg=0 ctermbg=6 cterm=NONE + hi ALEWarningSignLineNr ctermfg=0 ctermbg=3 cterm=NONE + endif + hi ALEError ctermfg=1 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=6 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=3 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish + endif + " Light background + if s:termtrans + hi Normal ctermfg=11 ctermbg=NONE cterm=NONE + hi FoldColumn ctermfg=11 ctermbg=NONE cterm=NONE + hi Folded ctermfg=11 ctermbg=NONE cterm=bold + hi LineNr ctermfg=14 ctermbg=NONE cterm=NONE + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=10 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else + hi Normal ctermfg=11 ctermbg=7 cterm=NONE + hi FoldColumn ctermfg=11 ctermbg=7 cterm=NONE + hi Folded ctermfg=11 ctermbg=7 cterm=bold + hi LineNr ctermfg=14 ctermbg=7 cterm=NONE + hi Terminal ctermfg=fg ctermbg=7 cterm=NONE + hi ToolbarButton ctermfg=10 ctermbg=7 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=7 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=1 ctermbg=7 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=15 ctermbg=11 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=1 cterm=NONE + endif + hi MatchParen ctermfg=8 ctermbg=NONE cterm=bold,underline + hi NonText ctermfg=1 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=1 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=5 ctermbg=7 cterm=reverse,underline + hi SpellCap ctermfg=5 ctermbg=7 cterm=reverse,underline + hi SpellLocal ctermfg=3 ctermbg=7 cterm=reverse,underline + hi SpellRare ctermfg=6 ctermbg=7 cterm=reverse,underline + hi Title ctermfg=9 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=14 ctermbg=7 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=15 ctermbg=11 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=9 cterm=NONE + endif + hi MatchParen ctermfg=8 ctermbg=7 cterm=bold + hi NonText ctermfg=7 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=7 ctermbg=NONE cterm=bold + hi SpellBad ctermfg=5 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=5 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=14 ctermbg=NONE cterm=bold + else + hi CursorLineNr ctermfg=11 ctermbg=7 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=15 ctermbg=11 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=9 cterm=NONE + endif + hi MatchParen ctermfg=8 ctermbg=7 cterm=bold + hi NonText ctermfg=12 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=12 ctermbg=7 cterm=bold + hi SpellBad ctermfg=5 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=5 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=9 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=3 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=4 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=3 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=bold + hi DiffText ctermfg=4 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=2 ctermbg=7 cterm=NONE + hi DiffChange ctermfg=3 ctermbg=7 cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=7 cterm=bold + hi DiffText ctermfg=4 ctermbg=7 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=14 ctermbg=7 cterm=reverse + hi StatusLineNC ctermfg=14 ctermbg=10 cterm=reverse + hi TabLine ctermfg=14 ctermbg=10 cterm=reverse + hi TabLineFill ctermfg=14 ctermbg=10 cterm=reverse + hi TabLineSel ctermfg=14 ctermbg=7 cterm=reverse + hi VertSplit ctermfg=10 ctermbg=14 cterm=NONE + hi WildMenu ctermfg=11 ctermbg=7 cterm=reverse + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=15 ctermbg=0 cterm=reverse + hi StatusLineNC ctermfg=15 ctermbg=10 cterm=reverse + hi TabLineSel ctermfg=0 ctermbg=15 cterm=NONE + hi TabLine ctermfg=14 ctermbg=15 cterm=NONE + hi TabLineFill ctermfg=14 ctermbg=15 cterm=NONE + hi VertSplit ctermfg=14 ctermbg=15 cterm=NONE + hi WildMenu ctermfg=14 ctermbg=15 cterm=reverse + else + hi StatusLine ctermfg=10 ctermbg=7 cterm=reverse + hi StatusLineNC ctermfg=12 ctermbg=7 cterm=reverse + hi TabLine ctermfg=12 ctermbg=7 cterm=reverse + hi TabLineFill ctermfg=12 ctermbg=7 cterm=reverse + hi TabLineSel ctermfg=10 ctermbg=7 cterm=reverse + hi VertSplit ctermfg=10 ctermbg=14 cterm=NONE + hi WildMenu ctermfg=12 ctermbg=7 cterm=reverse + endif + hi ColorColumn ctermfg=7 ctermbg=14 cterm=NONE + hi Conceal ctermfg=4 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=7 ctermbg=14 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline + hi Directory ctermfg=4 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=1 ctermbg=15 cterm=reverse + hi IncSearch ctermfg=9 ctermbg=NONE cterm=standout + hi ModeMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=15 ctermbg=14 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=11 cterm=NONE + hi PmenuSel ctermfg=15 ctermbg=12 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=12 cterm=NONE + hi Question ctermfg=6 ctermbg=NONE cterm=bold + hi Search ctermfg=3 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=11 ctermbg=NONE cterm=NONE + hi Visual ctermfg=14 ctermbg=15 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=7 cterm=reverse + hi WarningMsg ctermfg=9 ctermbg=NONE cterm=bold + hi Comment ctermfg=14 ctermbg=NONE cterm=italic + hi Constant ctermfg=6 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=1 ctermbg=15 cterm=bold,reverse + hi Identifier ctermfg=4 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=9 ctermbg=NONE cterm=NONE + hi Special ctermfg=9 ctermbg=NONE cterm=NONE + hi Statement ctermfg=2 ctermbg=NONE cterm=NONE + hi Todo ctermfg=5 ctermbg=NONE cterm=bold + hi Type ctermfg=3 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=13 ctermbg=NONE cterm=NONE + hi NormalMode ctermfg=10 ctermbg=15 cterm=reverse + hi InsertMode ctermfg=6 ctermbg=15 cterm=reverse + hi ReplaceMode ctermfg=9 ctermbg=15 cterm=reverse + hi VisualMode ctermfg=5 ctermbg=15 cterm=reverse + hi CommandMode ctermfg=5 ctermbg=15 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=15 ctermbg=14 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=13 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=3 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=4 ctermbg=NONE cterm=bold + hi helpExample ctermfg=10 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=6 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=5 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=5 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=4 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=2 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=12 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=3 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=6 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=4 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=4 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=4 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=14 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=14 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=5 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=1 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=2 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=14 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=6 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=1 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=3 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=11 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=14 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=14 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=10 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=4 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=4 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=12 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=3 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=10 ctermbg=NONE cterm=NONE + hi perlVarPlain ctermfg=3 ctermbg=NONE cterm=NONE + hi perlStatementFileDesc ctermfg=6 ctermbg=NONE cterm=NONE + hi texstatement ctermfg=6 ctermbg=NONE cterm=NONE + hi texmathzonex ctermfg=3 ctermbg=NONE cterm=NONE + hi texmathmatcher ctermfg=3 ctermbg=NONE cterm=NONE + hi texreflabel ctermfg=3 ctermbg=NONE cterm=NONE + hi rubyDefine ctermfg=10 ctermbg=NONE cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=5 ctermbg=NONE cterm=NONE + hi cPreCondit ctermfg=9 ctermbg=NONE cterm=NONE + hi VarId ctermfg=4 ctermbg=NONE cterm=NONE + hi ConId ctermfg=3 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=5 ctermbg=NONE cterm=NONE + hi hsString ctermfg=12 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=4 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=6 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=3 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=9 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=6 ctermbg=NONE cterm=NONE + hi hsType ctermfg=3 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=6 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=2 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=6 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=6 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=4 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=4 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=14 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=3 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=1 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=13 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=13 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=13 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=4 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=4 ctermbg=15 cterm=NONE + hi pandocTableZebraDark ctermfg=4 ctermbg=7 cterm=NONE + hi pandocEmphasisTable ctermfg=4 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=4 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=9 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=12 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=12 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=4 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=13 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=11 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=14 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=4 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=4 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=1 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=1 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'flat' + hi ALEErrorSign ctermfg=1 ctermbg=NONE cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=NONE cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=NONE cterm=bold + hi ALEErrorSignLineNr ctermfg=1 ctermbg=NONE cterm=NONE + hi ALEInfoSignLineNr ctermfg=6 ctermbg=NONE cterm=NONE + hi ALEWarningSignLineNr ctermfg=3 ctermbg=NONE cterm=NONE + else + if get(g:, 'ale_sign_highlight_linenrs', '') ==# 1 + hi ALEErrorSign ctermfg=7 ctermbg=1 cterm=bold + hi ALEInfoSign ctermfg=7 ctermbg=6 cterm=bold + hi ALEWarningSign ctermfg=7 ctermbg=3 cterm=bold + else + hi ALEErrorSign ctermfg=1 ctermbg=7 cterm=bold + hi ALEInfoSign ctermfg=6 ctermbg=7 cterm=bold + hi ALEWarningSign ctermfg=3 ctermbg=7 cterm=bold + endif + hi ALEErrorSignLineNr ctermfg=7 ctermbg=1 cterm=NONE + hi ALEInfoSignLineNr ctermfg=7 ctermbg=6 cterm=NONE + hi ALEWarningSignLineNr ctermfg=7 ctermbg=3 cterm=NONE + endif + hi ALEError ctermfg=1 ctermbg=NONE cterm=undercurl + hi ALEErrorLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEInfo ctermfg=6 ctermbg=NONE cterm=undercurl + hi ALEInfoLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi ALEWarning ctermfg=3 ctermbg=NONE cterm=undercurl + hi ALEWarningLine ctermfg=NONE ctermbg=NONE cterm=NONE + hi! link ALEStyleError ALEError + hi! link ALEStyleErrorSign ALEErrorSign + hi! link ALEStyleErrorSignLineNr ALEErrorSignLineNr + hi! link ALEStyleWarning ALEWarning + hi! link ALEStyleWarningSign ALEWarningSign + hi! link ALEStyleWarningSignLineNr ALEWarningSignLineNr + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +if s:t_Co >= 2 + hi Normal term=NONE + hi ColorColumn term=reverse + hi Conceal term=NONE + hi Cursor term=NONE + hi CursorColumn term=reverse + hi CursorLine term=underline + hi CursorLineNr term=bold,italic,reverse,underline + hi DiffAdd term=reverse,underline + hi DiffChange term=reverse,underline + hi DiffDelete term=reverse,underline + hi DiffText term=bold,reverse,underline + hi Directory term=NONE + hi EndOfBuffer term=NONE + hi ErrorMsg term=bold,italic,reverse + hi FoldColumn term=reverse + hi Folded term=italic,reverse,underline + hi IncSearch term=bold,italic,reverse + hi LineNr term=reverse + hi MatchParen term=bold,underline + hi ModeMsg term=NONE + hi MoreMsg term=NONE + hi NonText term=NONE + hi Pmenu term=reverse + hi PmenuSbar term=NONE + hi PmenuSel term=NONE + hi PmenuThumb term=NONE + hi Question term=standout + hi Search term=italic,underline + hi SignColumn term=reverse + hi SpecialKey term=bold + hi SpellBad term=italic,underline + hi SpellCap term=italic,underline + hi SpellLocal term=italic,underline + hi SpellRare term=italic,underline + hi StatusLine term=bold,reverse + hi StatusLineNC term=reverse + hi TabLine term=italic,reverse,underline + hi TabLineFill term=reverse,underline + hi TabLineSel term=bold + hi Title term=bold + hi VertSplit term=reverse + hi Visual term=reverse + hi VisualNOS term=NONE + hi WarningMsg term=standout + hi WildMenu term=bold + hi Comment term=italic + hi Constant term=bold,italic + hi Error term=reverse + hi Identifier term=italic + hi Ignore term=NONE + hi PreProc term=italic + hi Special term=bold,italic + hi Statement term=bold + hi Todo term=bold,underline + hi Type term=bold + hi Underlined term=underline + hi CursorIM term=NONE + hi ToolbarLine term=reverse + hi ToolbarButton term=bold,reverse + if !s:italics + hi CursorLineNr term=bold,reverse,underline + hi ErrorMsg term=bold,reverse + hi Folded term=reverse,underline + hi IncSearch term=bold,reverse + hi Search term=underline + hi SpellBad term=underline + hi SpellCap term=underline + hi SpellLocal term=underline + hi SpellRare term=underline + hi TabLine term=reverse,underline + hi Comment term=NONE + hi Constant term=bold + hi Identifier term=NONE + hi PreProc term=NONE + hi Special term=bold + endif + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +" Background: dark +" Color: base02 #073642 239 0 +" Color: back #073642 236 0 +" Color: red #dc322f 160 1 +" Color: green #859900 106 2 +" Color: yellow #b58900 136 3 +" Color: blue #268bd2 32 4 +" Color: magenta #d33682 162 5 +" Color: cyan #2aa198 37 6 +" Color: base2 #eee8d5 254 7 +" Color: base03 #002b36 235 8 +" Color: orange #cb4b16 166 9 +" Color: base01 #586e75 242 10 +" Color: base00 #657b83 66 11 +" Color: base0 #839496 246 12 +" Color: violet #6c71c4 61 13 +" Color: base1 #93a1a1 247 14 +" Color: base3 #fdf6e3 230 15 +" Term Colors: base02 red green yellow blue magenta cyan base2 +" Term Colors: base03 orange base01 base00 base0 violet base1 base3 +" Background: light +" Color: base2 #073642 236 0 +" Color: red #dc322f 160 1 +" Color: green #859900 106 2 +" Color: yellow #b58900 136 3 +" Color: blue #268bd2 32 4 +" Color: magenta #d33682 162 5 +" Color: cyan #2aa198 37 6 +" Color: base02 #eee8d5 254 7 +" Color: back #eee8d5 254 7 +" Color: base3 #002b36 235 8 +" Color: orange #cb4b16 166 9 +" Color: base1 #586e75 242 10 +" Color: base0 #657b83 66 11 +" Color: base00 #839496 246 12 +" Color: violet #6c71c4 61 13 +" Color: base01 #93a1a1 247 14 +" Color: base03 #fdf6e3 230 15 +" Term Colors: base2 red green yellow blue magenta cyan base02 +" Term Colors: base3 orange base1 base0 base00 violet base01 base03 +" Background: any +" vim: et ts=2 sw=2 diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/sonokai.vim b/nvim/plugged/awesome-vim-colorschemes/colors/sonokai.vim new file mode 100644 index 00000000..4d6efb4f --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/sonokai.vim @@ -0,0 +1,2330 @@ +" ----------------------------------------------------------------------------- +" Name: Sonokai +" Description: High Contrast & Vivid Color Scheme based on Monokai Pro +" Author: Sainnhepark <sainnhe@gmail.com> +" Website: https://github.com/sainnhe/sonokai/ +" License: MIT +" ----------------------------------------------------------------------------- + +" Initialization: {{{ +let s:configuration = sonokai#get_configuration() +let s:palette = sonokai#get_palette(s:configuration.style) +let s:path = expand('<sfile>:p') " the path of this script +let s:last_modified = 'Sun Jan 16 12:16:28 UTC 2022' +let g:sonokai_loaded_file_types = [] + +if !(exists('g:colors_name') && g:colors_name ==# 'sonokai' && s:configuration.better_performance) + highlight clear + if exists('syntax_on') + syntax reset + endif +endif + +let g:colors_name = 'sonokai' + +if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256 + finish +endif +" }}} +" Common Highlight Groups: {{{ +" UI: {{{ +if s:configuration.transparent_background + call sonokai#highlight('Normal', s:palette.fg, s:palette.none) + call sonokai#highlight('Terminal', s:palette.fg, s:palette.none) + if s:configuration.show_eob + call sonokai#highlight('EndOfBuffer', s:palette.bg4, s:palette.none) + else + call sonokai#highlight('EndOfBuffer', s:palette.bg0, s:palette.none) + endif + call sonokai#highlight('Folded', s:palette.grey, s:palette.none) + call sonokai#highlight('ToolbarLine', s:palette.fg, s:palette.none) + call sonokai#highlight('FoldColumn', s:palette.grey_dim, s:palette.none) +else + call sonokai#highlight('Normal', s:palette.fg, s:palette.bg0) + call sonokai#highlight('Terminal', s:palette.fg, s:palette.bg0) + if s:configuration.show_eob + call sonokai#highlight('EndOfBuffer', s:palette.bg4, s:palette.bg0) + else + call sonokai#highlight('EndOfBuffer', s:palette.bg0, s:palette.bg0) + endif + call sonokai#highlight('Folded', s:palette.grey, s:palette.bg1) + call sonokai#highlight('ToolbarLine', s:palette.fg, s:palette.bg2) + call sonokai#highlight('FoldColumn', s:palette.grey_dim, s:palette.none) +endif +call sonokai#highlight('SignColumn', s:palette.fg, s:palette.none) +call sonokai#highlight('IncSearch', s:palette.bg0, s:palette.bg_red) +call sonokai#highlight('Search', s:palette.bg0, s:palette.bg_green) +call sonokai#highlight('ColorColumn', s:palette.none, s:palette.bg1) +call sonokai#highlight('Conceal', s:palette.grey_dim, s:palette.none) +if s:configuration.cursor ==# 'auto' + call sonokai#highlight('Cursor', s:palette.none, s:palette.none, 'reverse') +else + call sonokai#highlight('Cursor', s:palette.bg0, s:palette[s:configuration.cursor]) +endif +highlight! link vCursor Cursor +highlight! link iCursor Cursor +highlight! link lCursor Cursor +highlight! link CursorIM Cursor +if &diff + call sonokai#highlight('CursorLine', s:palette.none, s:palette.none, 'underline') + call sonokai#highlight('CursorColumn', s:palette.none, s:palette.none, 'bold') +else + call sonokai#highlight('CursorLine', s:palette.none, s:palette.bg1) + call sonokai#highlight('CursorColumn', s:palette.none, s:palette.bg1) +endif +call sonokai#highlight('LineNr', s:palette.grey_dim, s:palette.none) +if &diff + call sonokai#highlight('CursorLineNr', s:palette.fg, s:palette.none, 'underline') +else + call sonokai#highlight('CursorLineNr', s:palette.fg, s:palette.none) +endif +call sonokai#highlight('DiffAdd', s:palette.none, s:palette.diff_green) +call sonokai#highlight('DiffChange', s:palette.none, s:palette.diff_blue) +call sonokai#highlight('DiffDelete', s:palette.none, s:palette.diff_red) +call sonokai#highlight('DiffText', s:palette.bg0, s:palette.blue) +call sonokai#highlight('Directory', s:palette.green, s:palette.none) +call sonokai#highlight('ErrorMsg', s:palette.red, s:palette.none, 'bold,underline') +call sonokai#highlight('WarningMsg', s:palette.yellow, s:palette.none, 'bold') +call sonokai#highlight('ModeMsg', s:palette.fg, s:palette.none, 'bold') +call sonokai#highlight('MoreMsg', s:palette.blue, s:palette.none, 'bold') +call sonokai#highlight('MatchParen', s:palette.none, s:palette.bg4) +call sonokai#highlight('NonText', s:palette.bg4, s:palette.none) +call sonokai#highlight('Whitespace', s:palette.bg4, s:palette.none) +call sonokai#highlight('SpecialKey', s:palette.bg4, s:palette.none) +call sonokai#highlight('Pmenu', s:palette.fg, s:palette.bg2) +call sonokai#highlight('PmenuSbar', s:palette.none, s:palette.bg2) +if s:configuration.menu_selection_background ==# 'blue' + call sonokai#highlight('PmenuSel', s:palette.bg0, s:palette.bg_blue) +elseif s:configuration.menu_selection_background ==# 'green' + call sonokai#highlight('PmenuSel', s:palette.bg0, s:palette.bg_green) +elseif s:configuration.menu_selection_background ==# 'red' + call sonokai#highlight('PmenuSel', s:palette.bg0, s:palette.bg_red) +endif +highlight! link WildMenu PmenuSel +call sonokai#highlight('PmenuThumb', s:palette.none, s:palette.grey) +call sonokai#highlight('NormalFloat', s:palette.fg, s:palette.bg2) +call sonokai#highlight('Question', s:palette.yellow, s:palette.none) +call sonokai#highlight('SpellBad', s:palette.none, s:palette.none, 'undercurl', s:palette.red) +call sonokai#highlight('SpellCap', s:palette.none, s:palette.none, 'undercurl', s:palette.yellow) +call sonokai#highlight('SpellLocal', s:palette.none, s:palette.none, 'undercurl', s:palette.blue) +call sonokai#highlight('SpellRare', s:palette.none, s:palette.none, 'undercurl', s:palette.purple) +call sonokai#highlight('StatusLine', s:palette.fg, s:palette.bg3) +call sonokai#highlight('StatusLineTerm', s:palette.fg, s:palette.bg3) +call sonokai#highlight('StatusLineNC', s:palette.grey, s:palette.bg1) +call sonokai#highlight('StatusLineTermNC', s:palette.grey, s:palette.bg1) +call sonokai#highlight('TabLine', s:palette.fg, s:palette.bg4) +call sonokai#highlight('TabLineFill', s:palette.grey, s:palette.bg1) +call sonokai#highlight('TabLineSel', s:palette.bg0, s:palette.bg_red) +call sonokai#highlight('VertSplit', s:palette.black, s:palette.none) +call sonokai#highlight('Visual', s:palette.none, s:palette.bg3) +call sonokai#highlight('VisualNOS', s:palette.none, s:palette.bg3, 'underline') +call sonokai#highlight('QuickFixLine', s:palette.blue, s:palette.none, 'bold') +call sonokai#highlight('Debug', s:palette.yellow, s:palette.none) +call sonokai#highlight('debugPC', s:palette.bg0, s:palette.green) +call sonokai#highlight('debugBreakpoint', s:palette.bg0, s:palette.red) +call sonokai#highlight('ToolbarButton', s:palette.bg0, s:palette.bg_blue) +if has('nvim') + call sonokai#highlight('Substitute', s:palette.bg0, s:palette.yellow) + highlight! link DiagnosticFloatingError ErrorFloat + highlight! link DiagnosticFloatingWarn WarningFloat + highlight! link DiagnosticFloatingInfo InfoFloat + highlight! link DiagnosticFloatingHint HintFloat + highlight! link DiagnosticError ErrorText + highlight! link DiagnosticWarn WarningText + highlight! link DiagnosticInfo InfoText + highlight! link DiagnosticHint HintText + highlight! link DiagnosticVirtualTextError VirtualTextError + highlight! link DiagnosticVirtualTextWarn VirtualTextWarning + highlight! link DiagnosticVirtualTextInfo VirtualTextInfo + highlight! link DiagnosticVirtualTextHint VirtualTextHint + highlight! link DiagnosticUnderlineError ErrorText + highlight! link DiagnosticUnderlineWarn WarningText + highlight! link DiagnosticUnderlineInfo InfoText + highlight! link DiagnosticUnderlineHint HintText + highlight! link DiagnosticSignError RedSign + highlight! link DiagnosticSignWarn YellowSign + highlight! link DiagnosticSignInfo BlueSign + highlight! link DiagnosticSignHint GreenSign + highlight! link LspDiagnosticsFloatingError ErrorFloat + highlight! link LspDiagnosticsFloatingWarning WarningFloat + highlight! link LspDiagnosticsFloatingInformation InfoFloat + highlight! link LspDiagnosticsFloatingHint HintFloat + highlight! link LspDiagnosticsDefaultError ErrorText + highlight! link LspDiagnosticsDefaultWarning WarningText + highlight! link LspDiagnosticsDefaultInformation InfoText + highlight! link LspDiagnosticsDefaultHint HintText + highlight! link LspDiagnosticsVirtualTextError VirtualTextError + highlight! link LspDiagnosticsVirtualTextWarning VirtualTextWarning + highlight! link LspDiagnosticsVirtualTextInformation VirtualTextInfo + highlight! link LspDiagnosticsVirtualTextHint VirtualTextHint + highlight! link LspDiagnosticsUnderlineError ErrorText + highlight! link LspDiagnosticsUnderlineWarning WarningText + highlight! link LspDiagnosticsUnderlineInformation InfoText + highlight! link LspDiagnosticsUnderlineHint HintText + highlight! link LspDiagnosticsSignError RedSign + highlight! link LspDiagnosticsSignWarning YellowSign + highlight! link LspDiagnosticsSignInformation BlueSign + highlight! link LspDiagnosticsSignHint GreenSign + highlight! link LspReferenceText CurrentWord + highlight! link LspReferenceRead CurrentWord + highlight! link LspReferenceWrite CurrentWord + highlight! link TermCursor Cursor + highlight! link healthError Red + highlight! link healthSuccess Green + highlight! link healthWarning Yellow +endif +" }}} +" Syntax: {{{ +if s:configuration.enable_italic + call sonokai#highlight('Type', s:palette.blue, s:palette.none, 'italic') + call sonokai#highlight('Structure', s:palette.blue, s:palette.none, 'italic') + call sonokai#highlight('StorageClass', s:palette.blue, s:palette.none, 'italic') + call sonokai#highlight('Identifier', s:palette.orange, s:palette.none, 'italic') + call sonokai#highlight('Constant', s:palette.orange, s:palette.none, 'italic') +else + call sonokai#highlight('Type', s:palette.blue, s:palette.none) + call sonokai#highlight('Structure', s:palette.blue, s:palette.none) + call sonokai#highlight('StorageClass', s:palette.blue, s:palette.none) + call sonokai#highlight('Identifier', s:palette.orange, s:palette.none) + call sonokai#highlight('Constant', s:palette.orange, s:palette.none) +endif +call sonokai#highlight('PreProc', s:palette.red, s:palette.none) +call sonokai#highlight('PreCondit', s:palette.red, s:palette.none) +call sonokai#highlight('Include', s:palette.red, s:palette.none) +call sonokai#highlight('Keyword', s:palette.red, s:palette.none) +call sonokai#highlight('Define', s:palette.red, s:palette.none) +call sonokai#highlight('Typedef', s:palette.red, s:palette.none) +call sonokai#highlight('Exception', s:palette.red, s:palette.none) +call sonokai#highlight('Conditional', s:palette.red, s:palette.none) +call sonokai#highlight('Repeat', s:palette.red, s:palette.none) +call sonokai#highlight('Statement', s:palette.red, s:palette.none) +call sonokai#highlight('Macro', s:palette.purple, s:palette.none) +call sonokai#highlight('Error', s:palette.red, s:palette.none) +call sonokai#highlight('Label', s:palette.purple, s:palette.none) +call sonokai#highlight('Special', s:palette.purple, s:palette.none) +call sonokai#highlight('SpecialChar', s:palette.purple, s:palette.none) +call sonokai#highlight('Boolean', s:palette.purple, s:palette.none) +call sonokai#highlight('String', s:palette.yellow, s:palette.none) +call sonokai#highlight('Character', s:palette.yellow, s:palette.none) +call sonokai#highlight('Number', s:palette.purple, s:palette.none) +call sonokai#highlight('Float', s:palette.purple, s:palette.none) +call sonokai#highlight('Function', s:palette.green, s:palette.none) +call sonokai#highlight('Operator', s:palette.red, s:palette.none) +call sonokai#highlight('Title', s:palette.red, s:palette.none, 'bold') +call sonokai#highlight('Tag', s:palette.orange, s:palette.none) +call sonokai#highlight('Delimiter', s:palette.fg, s:palette.none) +if s:configuration.disable_italic_comment + call sonokai#highlight('Comment', s:palette.grey, s:palette.none) + call sonokai#highlight('SpecialComment', s:palette.grey, s:palette.none) + call sonokai#highlight('Todo', s:palette.blue, s:palette.none) +else + call sonokai#highlight('Comment', s:palette.grey, s:palette.none, 'italic') + call sonokai#highlight('SpecialComment', s:palette.grey, s:palette.none, 'italic') + call sonokai#highlight('Todo', s:palette.blue, s:palette.none, 'italic') +endif +call sonokai#highlight('Ignore', s:palette.grey, s:palette.none) +call sonokai#highlight('Underlined', s:palette.none, s:palette.none, 'underline') +" }}} +" Predefined Highlight Groups: {{{ +call sonokai#highlight('Fg', s:palette.fg, s:palette.none) +call sonokai#highlight('Grey', s:palette.grey, s:palette.none) +call sonokai#highlight('Red', s:palette.red, s:palette.none) +call sonokai#highlight('Orange', s:palette.orange, s:palette.none) +call sonokai#highlight('Yellow', s:palette.yellow, s:palette.none) +call sonokai#highlight('Green', s:palette.green, s:palette.none) +call sonokai#highlight('Blue', s:palette.blue, s:palette.none) +call sonokai#highlight('Purple', s:palette.purple, s:palette.none) +if s:configuration.enable_italic + call sonokai#highlight('RedItalic', s:palette.red, s:palette.none, 'italic') + call sonokai#highlight('OrangeItalic', s:palette.orange, s:palette.none, 'italic') + call sonokai#highlight('YellowItalic', s:palette.yellow, s:palette.none, 'italic') + call sonokai#highlight('GreenItalic', s:palette.green, s:palette.none, 'italic') + call sonokai#highlight('BlueItalic', s:palette.blue, s:palette.none, 'italic') + call sonokai#highlight('PurpleItalic', s:palette.purple, s:palette.none, 'italic') +else + call sonokai#highlight('RedItalic', s:palette.red, s:palette.none) + call sonokai#highlight('OrangeItalic', s:palette.orange, s:palette.none) + call sonokai#highlight('YellowItalic', s:palette.yellow, s:palette.none) + call sonokai#highlight('GreenItalic', s:palette.green, s:palette.none) + call sonokai#highlight('BlueItalic', s:palette.blue, s:palette.none) + call sonokai#highlight('PurpleItalic', s:palette.purple, s:palette.none) +endif +call sonokai#highlight('RedSign', s:palette.red, s:palette.none) +call sonokai#highlight('OrangeSign', s:palette.orange, s:palette.none) +call sonokai#highlight('YellowSign', s:palette.yellow, s:palette.none) +call sonokai#highlight('GreenSign', s:palette.green, s:palette.none) +call sonokai#highlight('BlueSign', s:palette.blue, s:palette.none) +call sonokai#highlight('PurpleSign', s:palette.purple, s:palette.none) +if s:configuration.diagnostic_text_highlight + call sonokai#highlight('ErrorText', s:palette.none, s:palette.diff_red, 'undercurl', s:palette.red) + call sonokai#highlight('WarningText', s:palette.none, s:palette.diff_yellow, 'undercurl', s:palette.yellow) + call sonokai#highlight('InfoText', s:palette.none, s:palette.diff_blue, 'undercurl', s:palette.blue) + call sonokai#highlight('HintText', s:palette.none, s:palette.diff_green, 'undercurl', s:palette.green) +else + call sonokai#highlight('ErrorText', s:palette.none, s:palette.none, 'undercurl', s:palette.red) + call sonokai#highlight('WarningText', s:palette.none, s:palette.none, 'undercurl', s:palette.yellow) + call sonokai#highlight('InfoText', s:palette.none, s:palette.none, 'undercurl', s:palette.blue) + call sonokai#highlight('HintText', s:palette.none, s:palette.none, 'undercurl', s:palette.green) +endif +if s:configuration.diagnostic_line_highlight + call sonokai#highlight('ErrorLine', s:palette.none, s:palette.diff_red) + call sonokai#highlight('WarningLine', s:palette.none, s:palette.diff_yellow) + call sonokai#highlight('InfoLine', s:palette.none, s:palette.diff_blue) + call sonokai#highlight('HintLine', s:palette.none, s:palette.diff_green) +else + highlight clear ErrorLine + highlight clear WarningLine + highlight clear InfoLine + highlight clear HintLine +endif +if s:configuration.diagnostic_virtual_text ==# 'grey' + highlight! link VirtualTextWarning Grey + highlight! link VirtualTextError Grey + highlight! link VirtualTextInfo Grey + highlight! link VirtualTextHint Grey +else + highlight! link VirtualTextWarning Yellow + highlight! link VirtualTextError Red + highlight! link VirtualTextInfo Blue + highlight! link VirtualTextHint Green +endif +call sonokai#highlight('ErrorFloat', s:palette.red, s:palette.bg2) +call sonokai#highlight('WarningFloat', s:palette.yellow, s:palette.bg2) +call sonokai#highlight('InfoFloat', s:palette.blue, s:palette.bg2) +call sonokai#highlight('HintFloat', s:palette.green, s:palette.bg2) +if &diff + call sonokai#highlight('CurrentWord', s:palette.bg0, s:palette.green) +elseif s:configuration.current_word ==# 'grey background' + call sonokai#highlight('CurrentWord', s:palette.none, s:palette.bg2) +else + call sonokai#highlight('CurrentWord', s:palette.none, s:palette.none, s:configuration.current_word) +endif +" }}} +" }}} +" Terminal: {{{ +if (has('termguicolors') && &termguicolors) || has('gui_running') + " Definition + let s:terminal = { + \ 'black': s:palette.black, + \ 'red': s:palette.red, + \ 'yellow': s:palette.yellow, + \ 'green': s:palette.green, + \ 'cyan': s:palette.orange, + \ 'blue': s:palette.blue, + \ 'purple': s:palette.purple, + \ 'white': s:palette.fg, + \ 'bright_black': s:palette.grey, + \ } + " Implementation: {{{ + if !has('nvim') + let g:terminal_ansi_colors = [s:terminal.black[0], s:terminal.red[0], s:terminal.green[0], s:terminal.yellow[0], + \ s:terminal.blue[0], s:terminal.purple[0], s:terminal.cyan[0], s:terminal.white[0], s:terminal.black[0], s:terminal.red[0], + \ s:terminal.green[0], s:terminal.yellow[0], s:terminal.blue[0], s:terminal.purple[0], s:terminal.cyan[0], s:terminal.white[0]] + else + let g:terminal_color_0 = s:terminal.black[0] + let g:terminal_color_1 = s:terminal.red[0] + let g:terminal_color_2 = s:terminal.green[0] + let g:terminal_color_3 = s:terminal.yellow[0] + let g:terminal_color_4 = s:terminal.blue[0] + let g:terminal_color_5 = s:terminal.purple[0] + let g:terminal_color_6 = s:terminal.cyan[0] + let g:terminal_color_7 = s:terminal.white[0] + let g:terminal_color_8 = s:terminal.bright_black[0] + let g:terminal_color_9 = s:terminal.red[0] + let g:terminal_color_10 = s:terminal.green[0] + let g:terminal_color_11 = s:terminal.yellow[0] + let g:terminal_color_12 = s:terminal.blue[0] + let g:terminal_color_13 = s:terminal.purple[0] + let g:terminal_color_14 = s:terminal.cyan[0] + let g:terminal_color_15 = s:terminal.white[0] + endif + " }}} +endif +" }}} +" Plugins: {{{ +" nvim-treesitter/nvim-treesitter {{{ +call sonokai#highlight('TSStrong', s:palette.none, s:palette.none, 'bold') +call sonokai#highlight('TSEmphasis', s:palette.none, s:palette.none, 'italic') +call sonokai#highlight('TSUnderline', s:palette.none, s:palette.none, 'underline') +call sonokai#highlight('TSNote', s:palette.bg0, s:palette.blue, 'bold') +call sonokai#highlight('TSWarning', s:palette.bg0, s:palette.yellow, 'bold') +call sonokai#highlight('TSDanger', s:palette.bg0, s:palette.red, 'bold') +highlight! link TSAnnotation BlueItalic +highlight! link TSAttribute BlueItalic +highlight! link TSBoolean Purple +highlight! link TSCharacter Yellow +highlight! link TSComment Comment +highlight! link TSConditional Red +highlight! link TSConstBuiltin OrangeItalic +highlight! link TSConstMacro OrangeItalic +highlight! link TSConstant OrangeItalic +highlight! link TSConstructor Green +highlight! link TSException Red +highlight! link TSField Green +highlight! link TSFloat Purple +highlight! link TSFuncBuiltin Green +highlight! link TSFuncMacro Green +highlight! link TSFunction Green +highlight! link TSInclude Red +highlight! link TSKeyword Red +highlight! link TSKeywordFunction Red +highlight! link TSKeywordOperator Red +highlight! link TSLabel Red +highlight! link TSMethod Green +highlight! link TSNamespace BlueItalic +highlight! link TSNone Fg +highlight! link TSNumber Purple +highlight! link TSOperator Red +highlight! link TSParameter Fg +highlight! link TSParameterReference Fg +highlight! link TSProperty Fg +highlight! link TSPunctBracket Grey +highlight! link TSPunctDelimiter Grey +highlight! link TSPunctSpecial Yellow +highlight! link TSRepeat Red +highlight! link TSString Yellow +highlight! link TSStringEscape Green +highlight! link TSStringRegex Green +highlight! link TSStructure OrangeItalic +highlight! link TSSymbol Fg +highlight! link TSTag BlueItalic +highlight! link TSTagDelimiter Red +highlight! link TSText Green +highlight! link TSStrike Grey +highlight! link TSMath Yellow +highlight! link TSType BlueItalic +highlight! link TSTypeBuiltin BlueItalic +highlight! link TSURI markdownUrl +highlight! link TSVariable Fg +highlight! link TSVariableBuiltin OrangeItalic +" }}} +" neoclide/coc.nvim {{{ +call sonokai#highlight('CocHoverRange', s:palette.none, s:palette.none, 'bold,underline') +highlight! link CocSem_angle TSTagDelimiter +highlight! link CocSem_annotation TSOperator +highlight! link CocSem_attribute TSAttribute +highlight! link CocSem_bitwise TSOperator +highlight! link CocSem_boolean TSBoolean +highlight! link CocSem_brace TSPunctBracket +highlight! link CocSem_bracket TSPunctBracket +highlight! link CocSem_builtinAttribute TSAttribute +highlight! link CocSem_builtinType TSTypeBuiltin +highlight! link CocSem_character TSCharacter +highlight! link CocSem_class TSType +highlight! link CocSem_colon TSPunctDelimiter +highlight! link CocSem_comma TSPunctDelimiter +highlight! link CocSem_comment TSComment +highlight! link CocSem_comparison TSOperator +highlight! link CocSem_constParameter TSParameter +highlight! link CocSem_dependent TSInclude +highlight! link CocSem_dot TSOperator +highlight! link CocSem_enum TSStructure +highlight! link CocSem_enumMember TSVariable +highlight! link CocSem_escapeSequence TSStringEscape +highlight! link CocSem_event TSType +highlight! link CocSem_formatSpecifier TSStringEscape +highlight! link CocSem_function TSFunction +highlight! link CocSem_interface TSType +highlight! link CocSem_keyword TSKeyword +highlight! link CocSem_label TSLabel +highlight! link CocSem_logical TSOperator +highlight! link CocSem_macro TSConstMacro +highlight! link CocSem_method TSMethod +highlight! link CocSem_modifier TSKeywordOperator +highlight! link CocSem_namespace TSNamespace +highlight! link CocSem_number TSNumber +highlight! link CocSem_operator TSOperator +highlight! link CocSem_parameter TSParameter +highlight! link CocSem_parenthesis TSPunctBracket +highlight! link CocSem_property TSProperty +highlight! link CocSem_punctuation TSOperator +highlight! link CocSem_regexp TSStringRegex +highlight! link CocSem_selfKeyword TSConstBuiltin +highlight! link CocSem_semicolon TSPunctDelimiter +highlight! link CocSem_string TSString +highlight! link CocSem_struct TSStructure +highlight! link CocSem_type TSType +highlight! link CocSem_typeAlias TSType +highlight! link CocSem_typeParameter TSType +highlight! link CocSem_variable TSVariable +highlight! link CocErrorFloat ErrorFloat +highlight! link CocWarningFloat WarningFloat +highlight! link CocInfoFloat InfoFloat +highlight! link CocHintFloat HintFloat +highlight! link CocErrorHighlight ErrorText +highlight! link CocWarningHighlight WarningText +highlight! link CocInfoHighlight InfoText +highlight! link CocHintHighlight HintText +highlight! link CocHighlightText CurrentWord +highlight! link CocHoverRange CurrentWord +highlight! link CocErrorSign RedSign +highlight! link CocWarningSign YellowSign +highlight! link CocInfoSign BlueSign +highlight! link CocHintSign GreenSign +highlight! link CocWarningVirtualText VirtualTextWarning +highlight! link CocErrorVirtualText VirtualTextError +highlight! link CocInfoVirtualText VirtualTextInfo +highlight! link CocHintVirtualText VirtualTextHint +highlight! link CocErrorLine ErrorLine +highlight! link CocWarningLine WarningLine +highlight! link CocInfoLine InfoLine +highlight! link CocHintLine HintLine +highlight! link CocCodeLens Grey +highlight! link CocFadeOut Grey +highlight! link CocStrikeThrough Grey +highlight! link CocListMode StatusLine +highlight! link CocListPath StatusLine +highlight! link CocSelectedText Red +highlight! link CocListsLine Fg +highlight! link CocListsDesc Grey +highlight! link HighlightedyankRegion Visual +highlight! link CocGitAddedSign GreenSign +highlight! link CocGitChangeRemovedSign PurpleSign +highlight! link CocGitChangedSign BlueSign +highlight! link CocGitRemovedSign RedSign +highlight! link CocGitTopRemovedSign RedSign +" }}} +" prabirshrestha/vim-lsp {{{ +highlight! link LspErrorVirtual VirtualTextError +highlight! link LspWarningVirtual VirtualTextWarning +highlight! link LspInformationVirtual VirtualTextInfo +highlight! link LspHintVirtual VirtualTextHint +highlight! link LspErrorHighlight ErrorText +highlight! link LspWarningHighlight WarningText +highlight! link LspInformationHighlight InfoText +highlight! link LspHintHighlight HintText +highlight! link lspReference CurrentWord +" }}} +" ycm-core/YouCompleteMe {{{ +highlight! link YcmErrorSign RedSign +highlight! link YcmWarningSign YellowSign +highlight! link YcmErrorLine ErrorLine +highlight! link YcmWarningLine WarningLine +highlight! link YcmErrorSection ErrorText +highlight! link YcmWarningSection WarningText +" }}} +" dense-analysis/ale {{{ +highlight! link ALEError ErrorText +highlight! link ALEWarning WarningText +highlight! link ALEInfo InfoText +highlight! link ALEErrorSign RedSign +highlight! link ALEWarningSign YellowSign +highlight! link ALEInfoSign BlueSign +highlight! link ALEErrorLine ErrorLine +highlight! link ALEWarningLine WarningLine +highlight! link ALEInfoLine InfoLine +highlight! link ALEVirtualTextError VirtualTextError +highlight! link ALEVirtualTextWarning VirtualTextWarning +highlight! link ALEVirtualTextInfo VirtualTextInfo +highlight! link ALEVirtualTextStyleError VirtualTextHint +highlight! link ALEVirtualTextStyleWarning VirtualTextHint +" }}} +" neomake/neomake {{{ +highlight! link NeomakeError ErrorText +highlight! link NeomakeWarning WarningText +highlight! link NeomakeInfo InfoText +highlight! link NeomakeMessage HintText +highlight! link NeomakeErrorSign RedSign +highlight! link NeomakeWarningSign YellowSign +highlight! link NeomakeInfoSign BlueSign +highlight! link NeomakeMessageSign GreenSign +highlight! link NeomakeVirtualtextError VirtualTextError +highlight! link NeomakeVirtualtextWarning VirtualTextWarning +highlight! link NeomakeVirtualtextInfo VirtualTextInfo +highlight! link NeomakeVirtualtextMessag VirtualTextHint +" }}} +" vim-syntastic/syntastic {{{ +highlight! link SyntasticError ErrorText +highlight! link SyntasticWarning WarningText +highlight! link SyntasticErrorSign RedSign +highlight! link SyntasticWarningSign YellowSign +highlight! link SyntasticErrorLine ErrorLine +highlight! link SyntasticWarningLine WarningLine +" }}} +" Yggdroot/LeaderF{{{ +if !exists('g:Lf_StlColorscheme') + let g:Lf_StlColorscheme = 'one' +endif +call sonokai#highlight('Lf_hl_match', s:palette.green, s:palette.none, 'bold') +call sonokai#highlight('Lf_hl_match0', s:palette.green, s:palette.none, 'bold') +call sonokai#highlight('Lf_hl_match1', s:palette.blue, s:palette.none, 'bold') +call sonokai#highlight('Lf_hl_match2', s:palette.red, s:palette.none, 'bold') +call sonokai#highlight('Lf_hl_match3', s:palette.yellow, s:palette.none, 'bold') +call sonokai#highlight('Lf_hl_match4', s:palette.purple, s:palette.none, 'bold') +call sonokai#highlight('Lf_hl_matchRefine', s:palette.yellow, s:palette.none, 'bold') +call sonokai#highlight('Lf_hl_popup_normalMode', s:palette.bg0, s:palette.blue, 'bold') +call sonokai#highlight('Lf_hl_popup_inputMode', s:palette.bg0, s:palette.green, 'bold') +call sonokai#highlight('Lf_hl_popup_category', s:palette.fg, s:palette.bg4) +call sonokai#highlight('Lf_hl_popup_nameOnlyMode', s:palette.fg, s:palette.bg3) +call sonokai#highlight('Lf_hl_popup_fullPathMode', s:palette.fg, s:palette.bg3) +call sonokai#highlight('Lf_hl_popup_fuzzyMode', s:palette.fg, s:palette.bg3) +call sonokai#highlight('Lf_hl_popup_regexMode', s:palette.fg, s:palette.bg3) +call sonokai#highlight('Lf_hl_popup_lineInfo', s:palette.bg0, s:palette.blue) +call sonokai#highlight('Lf_hl_popup_total', s:palette.bg0, s:palette.red) +call sonokai#highlight('Lf_hl_popup_cursor', s:palette.bg0, s:palette.blue) +highlight! link Lf_hl_cursorline Fg +highlight! link Lf_hl_selection DiffAdd +highlight! link Lf_hl_rgHighlight Visual +highlight! link Lf_hl_gtagsHighlight Visual +highlight! link Lf_hl_popup_inputText Pmenu +highlight! link Lf_hl_popup_window Pmenu +highlight! link Lf_hl_popup_prompt Blue +highlight! link Lf_hl_popup_cwd Pmenu +highlight! link Lf_hl_popup_blank Lf_hl_popup_window +highlight! link Lf_hl_popup_spin Purple +" }}} +" liuchengxu/vim-clap {{{ +call sonokai#highlight('ClapSelected', s:palette.red, s:palette.bg2, 'bold') +call sonokai#highlight('ClapCurrentSelection', s:palette.blue, s:palette.bg2, 'bold') +call sonokai#highlight('ClapBlines', s:palette.fg, s:palette.bg2) +call sonokai#highlight('ClapProviderId', s:palette.fg, s:palette.bg2, 'bold') +call sonokai#highlight('ClapMatches1', s:palette.red, s:palette.bg2, 'bold') +call sonokai#highlight('ClapMatches2', s:palette.orange, s:palette.bg2, 'bold') +call sonokai#highlight('ClapMatches3', s:palette.yellow, s:palette.bg2, 'bold') +call sonokai#highlight('ClapMatches4', s:palette.blue, s:palette.bg2, 'bold') +call sonokai#highlight('ClapMatches5', s:palette.purple, s:palette.bg2, 'bold') +call sonokai#highlight('ClapFuzzyMatches', s:palette.green, s:palette.bg2, 'bold') +call sonokai#highlight('ClapNoMatchesFound', s:palette.red, s:palette.bg2, 'bold') +highlight! link ClapInput Pmenu +highlight! link ClapDisplay Pmenu +highlight! link ClapPreview Pmenu +highlight! link ClapFuzzyMatches1 ClapFuzzyMatches +highlight! link ClapFuzzyMatches2 ClapFuzzyMatches +highlight! link ClapFuzzyMatches3 ClapFuzzyMatches +highlight! link ClapFuzzyMatches4 ClapFuzzyMatches +highlight! link ClapFuzzyMatches5 ClapFuzzyMatches +highlight! link ClapFuzzyMatches6 ClapFuzzyMatches +highlight! link ClapFuzzyMatches7 ClapFuzzyMatches +highlight! link ClapFuzzyMatches8 ClapFuzzyMatches +highlight! link ClapFuzzyMatches9 ClapFuzzyMatches +highlight! link ClapFuzzyMatches10 ClapFuzzyMatches +highlight! link ClapFuzzyMatches11 ClapFuzzyMatches +highlight! link ClapFuzzyMatches12 ClapFuzzyMatches +highlight! link ClapBlinesLineNr Grey +highlight! link ClapProviderColon ClapBlines +highlight! link ClapProviderAbout ClapBlines +" }}} +" junegunn/fzf.vim {{{ +let g:fzf_colors = { + \ 'fg': ['fg', 'Normal'], + \ 'bg': ['bg', 'Normal'], + \ 'hl': ['fg', 'Green'], + \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], + \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], + \ 'hl+': ['fg', 'Green'], + \ 'info': ['fg', 'Yellow'], + \ 'border': ['fg', 'Grey'], + \ 'prompt': ['fg', 'Red'], + \ 'pointer': ['fg', 'Blue'], + \ 'marker': ['fg', 'Blue'], + \ 'spinner': ['fg', 'Yellow'], + \ 'header': ['fg', 'Blue'] + \ } +" }}} +" Shougo/denite.nvim{{{ +call sonokai#highlight('deniteMatchedChar', s:palette.green, s:palette.none, 'bold') +call sonokai#highlight('deniteMatchedRange', s:palette.green, s:palette.none, 'bold,underline') +call sonokai#highlight('deniteInput', s:palette.green, s:palette.bg1, 'bold') +call sonokai#highlight('deniteStatusLineNumber', s:palette.purple, s:palette.bg1) +call sonokai#highlight('deniteStatusLinePath', s:palette.fg, s:palette.bg1) +highlight! link deniteSelectedLine Green +" }}} +" kien/ctrlp.vim{{{ +call sonokai#highlight('CtrlPMatch', s:palette.green, s:palette.none, 'bold') +call sonokai#highlight('CtrlPPrtBase', s:palette.grey, s:palette.none) +call sonokai#highlight('CtrlPLinePre', s:palette.grey, s:palette.none) +call sonokai#highlight('CtrlPMode1', s:palette.blue, s:palette.bg1, 'bold') +call sonokai#highlight('CtrlPMode2', s:palette.bg1, s:palette.blue, 'bold') +call sonokai#highlight('CtrlPStats', s:palette.grey, s:palette.bg1, 'bold') +highlight! link CtrlPNoEntries Red +highlight! link CtrlPPrtCursor Blue +" }}} +" airblade/vim-gitgutter {{{ +highlight! link GitGutterAdd GreenSign +highlight! link GitGutterChange BlueSign +highlight! link GitGutterDelete RedSign +highlight! link GitGutterChangeDelete PurpleSign +highlight! link GitGutterAddLine DiffAdd +highlight! link GitGutterChangeLine DiffChange +highlight! link GitGutterDeleteLine DiffDelete +highlight! link GitGutterChangeDeleteLine DiffChange +highlight! link GitGutterAddLineNr Green +highlight! link GitGutterChangeLineNr Blue +highlight! link GitGutterDeleteLineNr Red +highlight! link GitGutterChangeDeleteLineNr Purple +" }}} +" mhinz/vim-signify {{{ +highlight! link SignifySignAdd GreenSign +highlight! link SignifySignChange BlueSign +highlight! link SignifySignDelete RedSign +highlight! link SignifySignChangeDelete PurpleSign +highlight! link SignifyLineAdd DiffAdd +highlight! link SignifyLineChange DiffChange +highlight! link SignifyLineChangeDelete DiffChange +highlight! link SignifyLineDelete DiffDelete +" }}} +" andymass/vim-matchup {{{ +call sonokai#highlight('MatchParenCur', s:palette.none, s:palette.none, 'bold') +call sonokai#highlight('MatchWord', s:palette.none, s:palette.none, 'underline') +call sonokai#highlight('MatchWordCur', s:palette.none, s:palette.none, 'underline') +" }}} +" easymotion/vim-easymotion {{{ +highlight! link EasyMotionTarget Search +highlight! link EasyMotionShade Grey +" }}} +" justinmk/vim-sneak {{{ +call sonokai#highlight('SneakLabelMask', s:palette.bg_green, s:palette.bg_green) +highlight! link Sneak Search +highlight! link SneakLabel Search +highlight! link SneakScope DiffText +" }}} +" terryma/vim-multiple-cursors {{{ +highlight! link multiple_cursors_cursor Cursor +highlight! link multiple_cursors_visual Visual +" }}} +" mg979/vim-visual-multi {{{ +let g:VM_Mono_hl = 'Cursor' +let g:VM_Extend_hl = 'Visual' +let g:VM_Cursor_hl = 'Cursor' +let g:VM_Insert_hl = 'Cursor' +" }}} +" dominikduda/vim_current_word {{{ +highlight! link CurrentWordTwins CurrentWord +" }}} +" RRethy/vim-illuminate {{{ +highlight! link illuminatedWord CurrentWord +" }}} +" itchyny/vim-cursorword {{{ +highlight! link CursorWord0 CurrentWord +highlight! link CursorWord1 CurrentWord +" }}} +" Yggdroot/indentLine {{{ +let g:indentLine_color_gui = s:palette.grey_dim[0] +let g:indentLine_color_term = s:palette.grey_dim[1] +" }}} +" nathanaelkane/vim-indent-guides {{{ +if get(g:, 'indent_guides_auto_colors', 1) == 0 + call sonokai#highlight('IndentGuidesOdd', s:palette.bg0, s:palette.bg1) + call sonokai#highlight('IndentGuidesEven', s:palette.bg0, s:palette.bg2) +endif +" }}} +" thiagoalessio/rainbow_levels.vim {{{ +highlight! link RainbowLevel0 Red +highlight! link RainbowLevel1 Orange +highlight! link RainbowLevel2 Yellow +highlight! link RainbowLevel3 Green +highlight! link RainbowLevel4 Blue +highlight! link RainbowLevel5 Purple +highlight! link RainbowLevel6 Yellow +highlight! link RainbowLevel7 Green +highlight! link RainbowLevel8 Blue +" }}} +" kshenoy/vim-signature {{{ +highlight! link SignatureMarkText BlueSign +highlight! link SignatureMarkerText PurpleSign +" }}} +" ap/vim-buftabline {{{ +highlight! link BufTabLineCurrent TabLineSel +highlight! link BufTabLineActive TabLine +highlight! link BufTabLineHidden TabLineFill +highlight! link BufTabLineFill TabLineFill +" }}} +" liuchengxu/vim-which-key {{{ +highlight! link WhichKey Red +highlight! link WhichKeySeperator Green +highlight! link WhichKeyGroup Orange +highlight! link WhichKeyDesc Blue +" }}} +" unblevable/quick-scope {{{ +call sonokai#highlight('QuickScopePrimary', s:palette.green, s:palette.none, 'underline') +call sonokai#highlight('QuickScopeSecondary', s:palette.blue, s:palette.none, 'underline') +" }}} +" APZelos/blamer.nvim {{{ +highlight! link Blamer Grey +" }}} +" cohama/agit.vim {{{ +highlight! link agitTree Grey +highlight! link agitDate Green +highlight! link agitRemote Red +highlight! link agitHead Blue +highlight! link agitRef Orange +highlight! link agitTag Blue +highlight! link agitStatFile Blue +highlight! link agitStatRemoved Red +highlight! link agitStatAdded Green +highlight! link agitStatMessage Orange +highlight! link agitDiffRemove Red +highlight! link agitDiffAdd Green +highlight! link agitDiffHeader Blue +highlight! link agitAuthor Yellow +" }}} +if has('nvim') +" hrsh7th/nvim-cmp {{{ +call sonokai#highlight('CmpItemAbbrMatch', s:palette.green, s:palette.none, 'bold') +call sonokai#highlight('CmpItemAbbrMatchFuzzy', s:palette.green, s:palette.none, 'bold') +highlight! link CmpItemAbbr Fg +highlight! link CmpItemAbbrDeprecated Fg +highlight! link CmpItemMenu Fg +highlight! link CmpItemKind Blue +highlight! link CmpItemKindText Fg +highlight! link CmpItemKindMethod Green +highlight! link CmpItemKindFunction Green +highlight! link CmpItemKindConstructor Green +highlight! link CmpItemKindField Green +highlight! link CmpItemKindVariable Orange +highlight! link CmpItemKindClass Blue +highlight! link CmpItemKindInterface Blue +highlight! link CmpItemKindModule Blue +highlight! link CmpItemKindProperty Orange +highlight! link CmpItemKindUnit Purple +highlight! link CmpItemKindValue Purple +highlight! link CmpItemKindEnum Blue +highlight! link CmpItemKindKeyword Red +highlight! link CmpItemKindSnippet Yellow +highlight! link CmpItemKindColor Yellow +highlight! link CmpItemKindFile Yellow +highlight! link CmpItemKindReference Yellow +highlight! link CmpItemKindFolder Yellow +highlight! link CmpItemKindEnumMember Purple +highlight! link CmpItemKindConstant Orange +highlight! link CmpItemKindStruct Blue +highlight! link CmpItemKindEvent Red +highlight! link CmpItemKindOperator Red +highlight! link CmpItemKindTypeParameter Blue +" }}} +" folke/trouble.nvim {{{ +highlight! link TroubleText Fg +highlight! link TroubleSource Grey +highlight! link TroubleCode Grey +" }}} +" nvim-telescope/telescope.nvim {{{ +call sonokai#highlight('TelescopeMatching', s:palette.green, s:palette.none, 'bold') +highlight! link TelescopeBorder Grey +highlight! link TelescopePromptPrefix Blue +highlight! link TelescopeSelection DiffAdd +" }}} +" lewis6991/gitsigns.nvim {{{ +highlight! link GitSignsAdd GreenSign +highlight! link GitSignsChange BlueSign +highlight! link GitSignsDelete RedSign +highlight! link GitSignsAddNr Green +highlight! link GitSignsChangeNr Blue +highlight! link GitSignsDeleteNr Red +highlight! link GitSignsAddLn DiffAdd +highlight! link GitSignsChangeLn DiffChange +highlight! link GitSignsDeleteLn DiffDelete +highlight! link GitSignsCurrentLineBlame Grey +" }}} +" phaazon/hop.nvim {{{ +call sonokai#highlight('HopNextKey', s:palette.red, s:palette.none, 'bold') +call sonokai#highlight('HopNextKey1', s:palette.blue, s:palette.none, 'bold') +highlight! link HopNextKey2 Blue +highlight! link HopUnmatched Grey +" }}} +" lukas-reineke/indent-blankline.nvim {{{ +highlight! link IndentBlanklineChar Conceal +highlight! link IndentBlanklineSpaceChar Conceal +highlight! link IndentBlanklineSpaceCharBlankline Conceal +highlight! link IndentBlanklineContextChar Grey +" }}} +" p00f/nvim-ts-rainbow {{{ +highlight! link rainbowcol1 Red +highlight! link rainbowcol2 Orange +highlight! link rainbowcol3 Yellow +highlight! link rainbowcol4 Green +highlight! link rainbowcol5 Blue +highlight! link rainbowcol6 Purple +highlight! link rainbowcol7 Green +" }}} +" romgrk/barbar.nvim {{{ +call sonokai#highlight('BufferCurrent', s:palette.fg, s:palette.bg4) +call sonokai#highlight('BufferCurrentIndex', s:palette.fg, s:palette.bg4) +call sonokai#highlight('BufferCurrentMod', s:palette.blue, s:palette.bg4) +call sonokai#highlight('BufferCurrentSign', s:palette.red, s:palette.bg4) +call sonokai#highlight('BufferCurrentTarget', s:palette.red, s:palette.bg4, 'bold') +call sonokai#highlight('BufferVisible', s:palette.fg, s:palette.bg2) +call sonokai#highlight('BufferVisibleIndex', s:palette.fg, s:palette.bg2) +call sonokai#highlight('BufferVisibleMod', s:palette.blue, s:palette.bg2) +call sonokai#highlight('BufferVisibleSign', s:palette.red, s:palette.bg2) +call sonokai#highlight('BufferVisibleTarget', s:palette.yellow, s:palette.bg2, 'bold') +call sonokai#highlight('BufferInactive', s:palette.grey, s:palette.bg2) +call sonokai#highlight('BufferInactiveIndex', s:palette.grey, s:palette.bg2) +call sonokai#highlight('BufferInactiveMod', s:palette.grey, s:palette.bg2) +call sonokai#highlight('BufferInactiveSign', s:palette.grey_dim, s:palette.bg2) +call sonokai#highlight('BufferInactiveTarget', s:palette.yellow, s:palette.bg2, 'bold') +call sonokai#highlight('BufferTabpages', s:palette.bg0, s:palette.blue, 'bold') +call sonokai#highlight('BufferTabpageFill', s:palette.bg0, s:palette.bg0) +" }}} +" rcarriga/nvim-notify {{{ +highlight! link NotifyERRORBorder Red +highlight! link NotifyWARNBorder Yellow +highlight! link NotifyINFOBorder Green +highlight! link NotifyDEBUGBorder Grey +highlight! link NotifyTRACEBorder Purple +highlight! link NotifyERRORIcon Red +highlight! link NotifyWARNIcon Yellow +highlight! link NotifyINFOIcon Green +highlight! link NotifyDEBUGIcon Grey +highlight! link NotifyTRACEIcon Purple +highlight! link NotifyERRORTitle Red +highlight! link NotifyWARNTitle Yellow +highlight! link NotifyINFOTitle Green +highlight! link NotifyDEBUGTitle Grey +highlight! link NotifyTRACETitle Purple +" }}} +" glepnir/lspsaga.nvim {{{ +call sonokai#highlight('LspFloatWinBorder', s:palette.bg0, s:palette.bg0) +call sonokai#highlight('LspSagaDiagnosticHeader', s:palette.orange, s:palette.none, 'bold') +call sonokai#highlight('LspSagaCodeActionTitle', s:palette.blue, s:palette.none, 'bold') +call sonokai#highlight('DefinitionPreviewTitle', s:palette.purple, s:palette.none, 'bold') +highlight! link LspSagaDiagnosticBorder Orange +highlight! link LspSagaDiagnosticTruncateLine Orange +highlight! link LspSagaRenameBorder Blue +highlight! link LspSagaRenamePromptPrefix Red +highlight! link LspSagaCodeActionBorder Blue +highlight! link LspSagaCodeActionTruncateLine Blue +highlight! link LspSagaCodeActionContent Green +highlight! link LspSagaHoverBorder Green +highlight! link LspSagaDocTruncateLine Green +highlight! link LspSagaSignatureHelpBorder Green +highlight! link LspSagaShTruncateLine Green +highlight! link LspSagaDefPreviewBorder Purple +highlight! link DefinitionIcon Purple +highlight! link LspLinesDiagBorder Yellow +highlight! link LineDiagTuncateLine Yellow +highlight! link LspSagaAutoPreview Blue +highlight! link LspSagaFinderSelection Fg +highlight! link DiagnosticWarning DiagnosticWarn +highlight! link DiagnosticInformation DiagnosticInfo +highlight! link ReferencesCount Grey +highlight! link DefinitionCount Grey +highlight! link TargetFileName Grey +" }}} +endif +" }}} +" Extended File Types: {{{ +" Whitelist: {{{ File type optimizations that will always be loaded. +" diff {{{ +highlight! link diffAdded Green +highlight! link diffRemoved Red +highlight! link diffChanged Blue +highlight! link diffOldFile Yellow +highlight! link diffNewFile Orange +highlight! link diffFile Purple +highlight! link diffLine Grey +highlight! link diffIndexLine Purple +" }}} +" }}} +" Generate the `after/ftplugin` directory based on the comment tags in this file. +" For example, the content between `ft_begin: sh/zsh` and `ft_end` will be placed in `after/ftplugin/sh/sonokai.vim` and `after/ftplugin/zsh/sonokai.vim`. +if sonokai#ft_exists(s:path) " If the ftplugin exists. + if s:configuration.better_performance + if !sonokai#ft_newest(s:path, s:last_modified) " Regenerate if it's not up to date. + call sonokai#ft_clean(s:path, 0) + call sonokai#ft_gen(s:path, s:last_modified, 'update') + endif + finish + else + call sonokai#ft_clean(s:path, 1) + endif +else + if s:configuration.better_performance + call sonokai#ft_gen(s:path, s:last_modified, 'generate') + finish + endif +endif +" ft_begin: vim-plug {{{ +" https://github.com/junegunn/vim-plug +call sonokai#highlight('plug1', s:palette.red, s:palette.none, 'bold') +call sonokai#highlight('plugNumber', s:palette.yellow, s:palette.none, 'bold') +highlight! link plug2 Blue +highlight! link plugBracket Blue +highlight! link plugName Green +highlight! link plugDash Red +highlight! link plugNotLoaded Grey +highlight! link plugH2 Purple +highlight! link plugMessage Purple +highlight! link plugError Red +highlight! link plugRelDate Grey +highlight! link plugStar Purple +highlight! link plugUpdate Blue +highlight! link plugDeleted Grey +highlight! link plugEdge Purple +" ft_end }}} +" ft_begin: coctree {{{ +" https://github.com/neoclide/coc.nvim +highlight! link CocTreeOpenClose Purple +highlight! link CocTreeDescription Grey +highlight! link CocSymbolFile Green +highlight! link CocSymbolModule Red +highlight! link CocSymbolNamespace Red +highlight! link CocSymbolPackage Red +highlight! link CocSymbolClass Blue +highlight! link CocSymbolMethod Green +highlight! link CocSymbolProperty Orange +highlight! link CocSymbolField Green +highlight! link CocSymbolConstructor Green +highlight! link CocSymbolEnum Blue +highlight! link CocSymbolInterface Blue +highlight! link CocSymbolFunction Green +highlight! link CocSymbolVariable Orange +highlight! link CocSymbolConstant Orange +highlight! link CocSymbolString Yellow +highlight! link CocSymbolNumber Yellow +highlight! link CocSymbolBoolean Yellow +highlight! link CocSymbolArray Yellow +highlight! link CocSymbolObject Yellow +highlight! link CocSymbolKey Red +highlight! link CocSymbolNull Yellow +highlight! link CocSymbolEnumMember Orange +highlight! link CocSymbolStruct Blue +highlight! link CocSymbolEvent Yellow +highlight! link CocSymbolOperator Yellow +highlight! link CocSymbolTypeParameter Blue +highlight! link CocSymbolDefault Yellow +" ft_end }}} +" ft_begin: coc-explorer {{{ +" https://github.com/weirongxu/coc-explorer +highlight! link CocExplorerBufferRoot Red +highlight! link CocExplorerBufferExpandIcon Blue +highlight! link CocExplorerBufferBufnr Yellow +highlight! link CocExplorerBufferModified Yellow +highlight! link CocExplorerBufferReadonly Red +highlight! link CocExplorerBufferBufname Grey +highlight! link CocExplorerBufferFullpath Grey +highlight! link CocExplorerFileRoot Red +highlight! link CocExplorerFileRootName Green +highlight! link CocExplorerFileExpandIcon Blue +highlight! link CocExplorerFileFullpath Grey +highlight! link CocExplorerFileDirectory Green +highlight! link CocExplorerFileGitStaged Purple +highlight! link CocExplorerFileGitUnstaged Yellow +highlight! link CocExplorerFileGitRootStaged Purple +highlight! link CocExplorerFileGitRootUnstaged Yellow +highlight! link CocExplorerGitPathChange Fg +highlight! link CocExplorerGitContentChange Fg +highlight! link CocExplorerGitRenamed Purple +highlight! link CocExplorerGitCopied Fg +highlight! link CocExplorerGitAdded Green +highlight! link CocExplorerGitUntracked Blue +highlight! link CocExplorerGitUnmodified Fg +highlight! link CocExplorerGitUnmerged Orange +highlight! link CocExplorerGitMixed Fg +highlight! link CocExplorerGitModified Yellow +highlight! link CocExplorerGitDeleted Red +highlight! link CocExplorerGitIgnored Grey +highlight! link CocExplorerFileSize Blue +highlight! link CocExplorerTimeAccessed Purple +highlight! link CocExplorerTimeCreated Purple +highlight! link CocExplorerTimeModified Purple +highlight! link CocExplorerFileRootName Orange +highlight! link CocExplorerBufferNameVisible Green +highlight! link CocExplorerIndentLine Conceal +highlight! link CocExplorerHelpDescription Grey +highlight! link CocExplorerHelpHint Grey +" ft_end }}} +" ft_begin: tagbar {{{ +" https://github.com/majutsushi/tagbar +highlight! link TagbarFoldIcon Blue +highlight! link TagbarSignature Green +highlight! link TagbarKind Red +highlight! link TagbarScope Orange +highlight! link TagbarNestedKind Blue +highlight! link TagbarVisibilityPrivate Red +highlight! link TagbarVisibilityPublic Blue +" ft_end }}} +" ft_begin: vista/vista_kind/vista_markdown {{{ +" https://github.com/liuchengxu/vista.vim +highlight! link VistaBracket Grey +highlight! link VistaChildrenNr Orange +highlight! link VistaScope Red +highlight! link VistaTag Green +highlight! link VistaPrefix Grey +highlight! link VistaIcon Blue +highlight! link VistaScopeKind Yellow +highlight! link VistaColon Grey +highlight! link VistaLineNr Grey +highlight! link VistaHeadNr Fg +highlight! link VistaPublic Green +highlight! link VistaProtected Yellow +highlight! link VistaPrivate Red +" ft_end }}} +" ft_begin: nerdtree {{{ +" https://github.com/preservim/nerdtree +highlight! link NERDTreeDir Green +highlight! link NERDTreeDirSlash Green +highlight! link NERDTreeOpenable Blue +highlight! link NERDTreeClosable Blue +highlight! link NERDTreeFile Fg +highlight! link NERDTreeExecFile Red +highlight! link NERDTreeUp Grey +highlight! link NERDTreeCWD Purple +highlight! link NERDTreeHelp Grey +highlight! link NERDTreeToggleOn Green +highlight! link NERDTreeToggleOff Red +highlight! link NERDTreeFlags Blue +highlight! link NERDTreeLinkFile Grey +highlight! link NERDTreeLinkTarget Green +" ft_end }}} +" ft_begin: dirvish {{{ +" https://github.com/justinmk/vim-dirvish +highlight! link DirvishPathTail Blue +highlight! link DirvishArg Yellow +" ft_end }}} +" ft_begin: NvimTree {{{ +" https://github.com/kyazdani42/nvim-tree.lua +highlight! link NvimTreeSymlink Fg +highlight! link NvimTreeFolderName Green +highlight! link NvimTreeRootFolder Grey +highlight! link NvimTreeFolderIcon Blue +highlight! link NvimTreeEmptyFolderName Green +highlight! link NvimTreeOpenedFolderName Green +highlight! link NvimTreeExecFile Fg +highlight! link NvimTreeOpenedFile Fg +highlight! link NvimTreeSpecialFile Fg +highlight! link NvimTreeImageFile Fg +highlight! link NvimTreeMarkdownFile Fg +highlight! link NvimTreeIndentMarker Grey +highlight! link NvimTreeGitDirty Yellow +highlight! link NvimTreeGitStaged Blue +highlight! link NvimTreeGitMerge Orange +highlight! link NvimTreeGitRenamed Purple +highlight! link NvimTreeGitNew Green +highlight! link NvimTreeGitDeleted Red +highlight! link NvimTreeLspDiagnosticsError RedSign +highlight! link NvimTreeLspDiagnosticsWarning YellowSign +highlight! link NvimTreeLspDiagnosticsInformation BlueSign +highlight! link NvimTreeLspDiagnosticsHint GreenSign +" ft_end }}} +" ft_begin: fern {{{ +" https://github.com/lambdalisue/fern.vim +highlight! link FernMarkedLine None +highlight! link FernMarkedText Purple +highlight! link FernRootSymbol FernRootText +highlight! link FernRootText Blue +highlight! link FernLeafSymbol FernLeafText +highlight! link FernLeafText Fg +highlight! link FernBranchSymbol FernBranchText +highlight! link FernBranchText Green +highlight! link FernWindowSelectIndicator TabLineSel +highlight! link FernWindowSelectStatusLine TabLine +" ft_end }}} +" ft_begin: netrw {{{ +" https://www.vim.org/scripts/script.php?script_id=1075 +highlight! link netrwDir Green +highlight! link netrwClassify Green +highlight! link netrwLink Grey +highlight! link netrwSymLink Fg +highlight! link netrwExe Red +highlight! link netrwComment Grey +highlight! link netrwList Yellow +highlight! link netrwHelpCmd Blue +highlight! link netrwCmdSep Grey +highlight! link netrwVersion Purple +" ft_end }}} +" ft_begin: startify/quickmenu {{{ +" https://github.com/mhinz/vim-startify +" https://github.com/skywind3000/quickmenu.vim +highlight! link StartifyBracket Grey +highlight! link StartifyFile Green +highlight! link StartifyNumber Orange +highlight! link StartifyPath Grey +highlight! link StartifySlash Grey +highlight! link StartifySection Blue +highlight! link StartifyHeader Red +highlight! link StartifySpecial Grey +" ft_end }}} +" ft_begin: quickmenu {{{ +" https://github.com/skywind3000/quickmenu.vim +highlight! link QuickmenuOption Green +highlight! link QuickmenuNumber Orange +highlight! link QuickmenuBracket Grey +highlight! link QuickmenuHelp Blue +highlight! link QuickmenuSpecial Grey +highlight! link QuickmenuHeader Purple +" ft_end }}} +" ft_begin: undotree {{{ +" https://github.com/mbbill/undotree +call sonokai#highlight('UndotreeSavedBig', s:palette.red, s:palette.none, 'bold') +highlight! link UndotreeNode Blue +highlight! link UndotreeNodeCurrent Purple +highlight! link UndotreeSeq Green +highlight! link UndotreeCurrent Blue +highlight! link UndotreeNext Yellow +highlight! link UndotreeTimeStamp Grey +highlight! link UndotreeHead Purple +highlight! link UndotreeBranch Blue +highlight! link UndotreeSavedSmall Red +" ft_end }}} +" ft_begin: NeogitStatus/NeogitCommitView {{{ +" https://github.com/TimUntersberger/neogit +highlight! link NeogitNotificationInfo Blue +highlight! link NeogitNotificationWarning Yellow +highlight! link NeogitNotificationError Red +highlight! link NeogitDiffAdd Green +highlight! link NeogitDiffDelete Red +highlight! link NeogitDiffContextHighlight CursorLine +highlight! link NeogitHunkHeaderHighlight TabLine +highlight! link NeogitHunkHeader TabLineFill +highlight! link NeogitCommandCodeNormal Green +highlight! link NeogitCommandCodeError Red +highlight! link NeogitCommitViewHeader diffIndexLine +highlight! link NeogitFilePath diffFile +" ft_end }}} +" ft_begin: dashboard {{{ +" https://github.com/glepnir/dashboard-nvim +highlight! link DashboardHeader Blue +highlight! link DashboardCenter Green +highlight! link DashboardShortcut Red +highlight! link DashboardFooter Yellow +" ft_end }}} +" ft_begin: markdown {{{ +" builtin: {{{ +call sonokai#highlight('markdownH1', s:palette.red, s:palette.none, 'bold') +call sonokai#highlight('markdownH2', s:palette.orange, s:palette.none, 'bold') +call sonokai#highlight('markdownH3', s:palette.yellow, s:palette.none, 'bold') +call sonokai#highlight('markdownH4', s:palette.green, s:palette.none, 'bold') +call sonokai#highlight('markdownH5', s:palette.blue, s:palette.none, 'bold') +call sonokai#highlight('markdownH6', s:palette.purple, s:palette.none, 'bold') +call sonokai#highlight('markdownUrl', s:palette.blue, s:palette.none, 'underline') +call sonokai#highlight('markdownItalic', s:palette.none, s:palette.none, 'italic') +call sonokai#highlight('markdownBold', s:palette.none, s:palette.none, 'bold') +call sonokai#highlight('markdownItalicDelimiter', s:palette.grey, s:palette.none, 'italic') +highlight! link markdownCode Green +highlight! link markdownCodeBlock Green +highlight! link markdownCodeDelimiter Green +highlight! link markdownBlockquote Grey +highlight! link markdownListMarker Red +highlight! link markdownOrderedListMarker Red +highlight! link markdownRule Purple +highlight! link markdownHeadingRule Grey +highlight! link markdownUrlDelimiter Grey +highlight! link markdownLinkDelimiter Grey +highlight! link markdownLinkTextDelimiter Grey +highlight! link markdownHeadingDelimiter Grey +highlight! link markdownLinkText Red +highlight! link markdownUrlTitleDelimiter Green +highlight! link markdownIdDeclaration markdownLinkText +highlight! link markdownBoldDelimiter Grey +highlight! link markdownId Yellow +" }}} +" vim-markdown: https://github.com/gabrielelana/vim-markdown{{{ +call sonokai#highlight('mkdURL', s:palette.blue, s:palette.none, 'underline') +call sonokai#highlight('mkdInlineURL', s:palette.blue, s:palette.none, 'underline') +call sonokai#highlight('mkdItalic', s:palette.grey, s:palette.none, 'italic') +highlight! link mkdCodeDelimiter Green +highlight! link mkdBold Grey +highlight! link mkdLink Red +highlight! link mkdHeading Grey +highlight! link mkdListItem Red +highlight! link mkdRule Purple +highlight! link mkdDelimiter Grey +highlight! link mkdId Yellow +" }}} +" ft_end }}} +" ft_begin: vimwiki {{{ +call sonokai#highlight('VimwikiHeader1', s:palette.red, s:palette.none, 'bold') +call sonokai#highlight('VimwikiHeader2', s:palette.orange, s:palette.none, 'bold') +call sonokai#highlight('VimwikiHeader3', s:palette.yellow, s:palette.none, 'bold') +call sonokai#highlight('VimwikiHeader4', s:palette.green, s:palette.none, 'bold') +call sonokai#highlight('VimwikiHeader5', s:palette.blue, s:palette.none, 'bold') +call sonokai#highlight('VimwikiHeader6', s:palette.purple, s:palette.none, 'bold') +call sonokai#highlight('VimwikiLink', s:palette.blue, s:palette.none, 'underline') +call sonokai#highlight('VimwikiItalic', s:palette.none, s:palette.none, 'italic') +call sonokai#highlight('VimwikiBold', s:palette.none, s:palette.none, 'bold') +call sonokai#highlight('VimwikiUnderline', s:palette.none, s:palette.none, 'underline') +highlight! link VimwikiList Red +highlight! link VimwikiTag Blue +highlight! link VimwikiCode Green +highlight! link VimwikiHR Yellow +highlight! link VimwikiHeaderChar Grey +highlight! link VimwikiMarkers Grey +highlight! link VimwikiPre Green +highlight! link VimwikiPreDelim Green +highlight! link VimwikiNoExistsLink Red +" ft_end }}} +" ft_begin: rst {{{ +" builtin: https://github.com/marshallward/vim-restructuredtext{{{ +call sonokai#highlight('rstStandaloneHyperlink', s:palette.purple, s:palette.none, 'underline') +call sonokai#highlight('rstEmphasis', s:palette.none, s:palette.none, 'italic') +call sonokai#highlight('rstStrongEmphasis', s:palette.none, s:palette.none, 'bold') +call sonokai#highlight('rstStandaloneHyperlink', s:palette.blue, s:palette.none, 'underline') +call sonokai#highlight('rstHyperlinkTarget', s:palette.blue, s:palette.none, 'underline') +highlight! link rstSubstitutionReference Blue +highlight! link rstInterpretedTextOrHyperlinkReference Green +highlight! link rstTableLines Grey +highlight! link rstInlineLiteral Green +highlight! link rstLiteralBlock Green +highlight! link rstQuotedLiteralBlock Green +" }}} +" ft_end }}} +" ft_begin: tex {{{ +" builtin: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX{{{ +highlight! link texStatement BlueItalic +highlight! link texOnlyMath Grey +highlight! link texDefName Yellow +highlight! link texNewCmd Orange +highlight! link texCmdName Blue +highlight! link texBeginEnd Red +highlight! link texBeginEndName Green +highlight! link texDocType RedItalic +highlight! link texDocTypeArgs Orange +highlight! link texInputFile Green +" }}} +" vimtex: https://github.com/lervag/vimtex {{{ +highlight! link texFileArg Green +highlight! link texCmd BlueItalic +highlight! link texCmdPackage BlueItalic +highlight! link texCmdDef Red +highlight! link texDefArgName Yellow +highlight! link texCmdNewcmd Red +highlight! link texCmdClass Red +highlight! link texCmdTitle Red +highlight! link texCmdAuthor Red +highlight! link texCmdEnv Red +highlight! link texCmdPart Red +highlight! link texEnvArgName Green +" }}} +" ft_end }}} +" ft_begin: html/markdown/javascriptreact/typescriptreact {{{ +" builtin: https://notabug.org/jorgesumle/vim-html-syntax{{{ +call sonokai#highlight('htmlH1', s:palette.red, s:palette.none, 'bold') +call sonokai#highlight('htmlH2', s:palette.orange, s:palette.none, 'bold') +call sonokai#highlight('htmlH3', s:palette.yellow, s:palette.none, 'bold') +call sonokai#highlight('htmlH4', s:palette.green, s:palette.none, 'bold') +call sonokai#highlight('htmlH5', s:palette.blue, s:palette.none, 'bold') +call sonokai#highlight('htmlH6', s:palette.purple, s:palette.none, 'bold') +call sonokai#highlight('htmlLink', s:palette.none, s:palette.none, 'underline') +call sonokai#highlight('htmlBold', s:palette.none, s:palette.none, 'bold') +call sonokai#highlight('htmlBoldUnderline', s:palette.none, s:palette.none, 'bold,underline') +call sonokai#highlight('htmlBoldItalic', s:palette.none, s:palette.none, 'bold,italic') +call sonokai#highlight('htmlBoldUnderlineItalic', s:palette.none, s:palette.none, 'bold,underline,italic') +call sonokai#highlight('htmlUnderline', s:palette.none, s:palette.none, 'underline') +call sonokai#highlight('htmlUnderlineItalic', s:palette.none, s:palette.none, 'underline,italic') +call sonokai#highlight('htmlItalic', s:palette.none, s:palette.none, 'italic') +highlight! link htmlTag Green +highlight! link htmlEndTag Blue +highlight! link htmlTagN RedItalic +highlight! link htmlTagName RedItalic +highlight! link htmlArg Blue +highlight! link htmlScriptTag Purple +highlight! link htmlSpecialTagName RedItalic +highlight! link htmlString Green +" }}} +" ft_end }}} +" ft_begin: htmldjango {{{ +" builtin: https://github.com/vim/vim/blob/master/runtime/syntax/htmldjango.vim{{{ +highlight! link djangoTagBlock Yellow +" }}} +" ft_end }}} +" ft_begin: xml {{{ +" builtin: https://github.com/chrisbra/vim-xml-ftplugin{{{ +highlight! link xmlTag Green +highlight! link xmlEndTag Blue +highlight! link xmlTagName RedItalic +highlight! link xmlEqual Orange +highlight! link xmlAttrib Blue +highlight! link xmlEntity Red +highlight! link xmlEntityPunct Red +highlight! link xmlDocTypeDecl Grey +highlight! link xmlDocTypeKeyword RedItalic +highlight! link xmlCdataStart Grey +highlight! link xmlCdataCdata Purple +highlight! link xmlString Green +" }}} +" ft_end }}} +" ft_begin: css/scss/sass/less {{{ +" builtin: https://github.com/JulesWang/css.vim{{{ +highlight! link cssStringQ Green +highlight! link cssStringQQ Green +highlight! link cssAttrComma Grey +highlight! link cssBraces Grey +highlight! link cssTagName Purple +highlight! link cssClassNameDot Grey +highlight! link cssClassName Red +highlight! link cssFunctionName Orange +highlight! link cssAttr Green +highlight! link cssCommonAttr Green +highlight! link cssProp Blue +highlight! link cssPseudoClassId Yellow +highlight! link cssPseudoClassFn Green +highlight! link cssPseudoClass Yellow +highlight! link cssImportant Red +highlight! link cssSelectorOp Orange +highlight! link cssSelectorOp2 Orange +highlight! link cssColor Green +highlight! link cssUnitDecorators Green +highlight! link cssValueLength Green +highlight! link cssValueInteger Green +highlight! link cssValueNumber Green +highlight! link cssValueAngle Green +highlight! link cssValueTime Green +highlight! link cssValueFrequency Green +highlight! link cssVendor Grey +highlight! link cssNoise Grey +" }}} +" ft_end }}} +" ft_begin: scss {{{ +" scss-syntax: https://github.com/cakebaker/scss-syntax.vim{{{ +highlight! link scssMixinName Orange +highlight! link scssSelectorChar Grey +highlight! link scssSelectorName Red +highlight! link scssInterpolationDelimiter Yellow +highlight! link scssVariableValue Green +highlight! link scssNull Purple +highlight! link scssBoolean Purple +highlight! link scssVariableAssignment Grey +highlight! link scssAttribute Green +highlight! link scssFunctionName Orange +highlight! link scssVariable Fg +highlight! link scssAmpersand Purple +" }}} +" ft_end }}} +" ft_begin: less {{{ +" vim-less: https://github.com/groenewege/vim-less{{{ +highlight! link lessMixinChar Grey +highlight! link lessClass Red +highlight! link lessFunction Orange +" }}} +" ft_end }}} +" ft_begin: javascript/javascriptreact {{{ +" builtin: http://www.fleiner.com/vim/syntax/javascript.vim{{{ +highlight! link javaScriptNull OrangeItalic +highlight! link javaScriptIdentifier BlueItalic +highlight! link javaScriptParens Fg +highlight! link javaScriptBraces Fg +highlight! link javaScriptNumber Purple +highlight! link javaScriptLabel Red +highlight! link javaScriptGlobal BlueItalic +highlight! link javaScriptMessage BlueItalic +" }}} +" vim-javascript: https://github.com/pangloss/vim-javascript{{{ +highlight! link jsNoise Fg +highlight! link Noise Fg +highlight! link jsParens Fg +highlight! link jsBrackets Fg +highlight! link jsObjectBraces Fg +highlight! link jsThis BlueItalic +highlight! link jsUndefined OrangeItalic +highlight! link jsNull OrangeItalic +highlight! link jsNan OrangeItalic +highlight! link jsSuper OrangeItalic +highlight! link jsPrototype OrangeItalic +highlight! link jsFunction Red +highlight! link jsGlobalNodeObjects BlueItalic +highlight! link jsGlobalObjects BlueItalic +highlight! link jsArrowFunction Red +highlight! link jsArrowFuncArgs Fg +highlight! link jsFuncArgs Fg +highlight! link jsObjectProp Fg +highlight! link jsVariableDef Fg +highlight! link jsObjectKey Fg +highlight! link jsParen Fg +highlight! link jsParenIfElse Fg +highlight! link jsParenRepeat Fg +highlight! link jsParenSwitch Fg +highlight! link jsParenCatch Fg +highlight! link jsBracket Fg +highlight! link jsObjectValue Fg +highlight! link jsDestructuringBlock Fg +highlight! link jsBlockLabel Purple +highlight! link jsFunctionKey Green +highlight! link jsClassDefinition BlueItalic +highlight! link jsDot Grey +highlight! link jsSpreadExpression Purple +highlight! link jsSpreadOperator Green +highlight! link jsModuleKeyword BlueItalic +highlight! link jsTemplateExpression Purple +highlight! link jsTemplateBraces Purple +highlight! link jsClassMethodType BlueItalic +highlight! link jsExceptions BlueItalic +" }}} +" yajs: https://github.com/othree/yajs.vim{{{ +highlight! link javascriptOpSymbol Red +highlight! link javascriptOpSymbols Red +highlight! link javascriptIdentifierName Fg +highlight! link javascriptVariable BlueItalic +highlight! link javascriptObjectLabel Fg +highlight! link javascriptPropertyNameString Fg +highlight! link javascriptFuncArg Fg +highlight! link javascriptObjectLiteral Green +highlight! link javascriptIdentifier OrangeItalic +highlight! link javascriptArrowFunc Red +highlight! link javascriptTemplate Purple +highlight! link javascriptTemplateSubstitution Purple +highlight! link javascriptTemplateSB Purple +highlight! link javascriptNodeGlobal BlueItalic +highlight! link javascriptDocTags RedItalic +highlight! link javascriptDocNotation Blue +highlight! link javascriptClassSuper OrangeItalic +highlight! link javascriptClassName BlueItalic +highlight! link javascriptClassSuperName BlueItalic +highlight! link javascriptOperator Red +highlight! link javascriptBrackets Fg +highlight! link javascriptBraces Fg +highlight! link javascriptLabel Purple +highlight! link javascriptEndColons Grey +highlight! link javascriptObjectLabelColon Grey +highlight! link javascriptDotNotation Grey +highlight! link javascriptGlobalArrayDot Grey +highlight! link javascriptGlobalBigIntDot Grey +highlight! link javascriptGlobalDateDot Grey +highlight! link javascriptGlobalJSONDot Grey +highlight! link javascriptGlobalMathDot Grey +highlight! link javascriptGlobalNumberDot Grey +highlight! link javascriptGlobalObjectDot Grey +highlight! link javascriptGlobalPromiseDot Grey +highlight! link javascriptGlobalRegExpDot Grey +highlight! link javascriptGlobalStringDot Grey +highlight! link javascriptGlobalSymbolDot Grey +highlight! link javascriptGlobalURLDot Grey +highlight! link javascriptMethod Green +highlight! link javascriptMethodName Green +highlight! link javascriptObjectMethodName Green +highlight! link javascriptGlobalMethod Green +highlight! link javascriptDOMStorageMethod Green +highlight! link javascriptFileMethod Green +highlight! link javascriptFileReaderMethod Green +highlight! link javascriptFileListMethod Green +highlight! link javascriptBlobMethod Green +highlight! link javascriptURLStaticMethod Green +highlight! link javascriptNumberStaticMethod Green +highlight! link javascriptNumberMethod Green +highlight! link javascriptDOMNodeMethod Green +highlight! link javascriptES6BigIntStaticMethod Green +highlight! link javascriptBOMWindowMethod Green +highlight! link javascriptHeadersMethod Green +highlight! link javascriptRequestMethod Green +highlight! link javascriptResponseMethod Green +highlight! link javascriptES6SetMethod Green +highlight! link javascriptReflectMethod Green +highlight! link javascriptPaymentMethod Green +highlight! link javascriptPaymentResponseMethod Green +highlight! link javascriptTypedArrayStaticMethod Green +highlight! link javascriptGeolocationMethod Green +highlight! link javascriptES6MapMethod Green +highlight! link javascriptServiceWorkerMethod Green +highlight! link javascriptCacheMethod Green +highlight! link javascriptFunctionMethod Green +highlight! link javascriptXHRMethod Green +highlight! link javascriptBOMNavigatorMethod Green +highlight! link javascriptServiceWorkerMethod Green +highlight! link javascriptDOMEventTargetMethod Green +highlight! link javascriptDOMEventMethod Green +highlight! link javascriptIntlMethod Green +highlight! link javascriptDOMDocMethod Green +highlight! link javascriptStringStaticMethod Green +highlight! link javascriptStringMethod Green +highlight! link javascriptSymbolStaticMethod Green +highlight! link javascriptRegExpMethod Green +highlight! link javascriptObjectStaticMethod Green +highlight! link javascriptObjectMethod Green +highlight! link javascriptBOMLocationMethod Green +highlight! link javascriptJSONStaticMethod Green +highlight! link javascriptGeneratorMethod Green +highlight! link javascriptEncodingMethod Green +highlight! link javascriptPromiseStaticMethod Green +highlight! link javascriptPromiseMethod Green +highlight! link javascriptBOMHistoryMethod Green +highlight! link javascriptDOMFormMethod Green +highlight! link javascriptClipboardMethod Green +highlight! link javascriptTypedArrayStaticMethod Green +highlight! link javascriptBroadcastMethod Green +highlight! link javascriptDateStaticMethod Green +highlight! link javascriptDateMethod Green +highlight! link javascriptConsoleMethod Green +highlight! link javascriptArrayStaticMethod Green +highlight! link javascriptArrayMethod Green +highlight! link javascriptMathStaticMethod Green +highlight! link javascriptSubtleCryptoMethod Green +highlight! link javascriptCryptoMethod Green +highlight! link javascriptProp Fg +highlight! link javascriptBOMWindowProp Fg +highlight! link javascriptDOMStorageProp Fg +highlight! link javascriptFileReaderProp Fg +highlight! link javascriptURLUtilsProp Fg +highlight! link javascriptNumberStaticProp Fg +highlight! link javascriptDOMNodeProp Fg +highlight! link javascriptRequestProp Fg +highlight! link javascriptResponseProp Fg +highlight! link javascriptES6SetProp Fg +highlight! link javascriptPaymentProp Fg +highlight! link javascriptPaymentResponseProp Fg +highlight! link javascriptPaymentAddressProp Fg +highlight! link javascriptPaymentShippingOptionProp Fg +highlight! link javascriptTypedArrayStaticProp Fg +highlight! link javascriptServiceWorkerProp Fg +highlight! link javascriptES6MapProp Fg +highlight! link javascriptRegExpStaticProp Fg +highlight! link javascriptRegExpProp Fg +highlight! link javascriptXHRProp Fg +highlight! link javascriptBOMNavigatorProp Green +highlight! link javascriptDOMEventProp Fg +highlight! link javascriptBOMNetworkProp Fg +highlight! link javascriptDOMDocProp Fg +highlight! link javascriptSymbolStaticProp Fg +highlight! link javascriptSymbolProp Fg +highlight! link javascriptBOMLocationProp Fg +highlight! link javascriptEncodingProp Fg +highlight! link javascriptCryptoProp Fg +highlight! link javascriptBOMHistoryProp Fg +highlight! link javascriptDOMFormProp Fg +highlight! link javascriptDataViewProp Fg +highlight! link javascriptBroadcastProp Fg +highlight! link javascriptMathStaticProp Fg +" }}} +" vim-jsx-pretty: https://github.com/maxmellon/vim-jsx-pretty{{{ +highlight! link jsxTagName RedItalic +highlight! link jsxOpenPunct Green +highlight! link jsxClosePunct Blue +highlight! link jsxEscapeJs Purple +highlight! link jsxAttrib Blue +" }}} +" ft_end }}} +" ft_begin: typescript/typescriptreact {{{ +" vim-typescript: https://github.com/leafgarland/typescript-vim{{{ +highlight! link typescriptStorageClass Red +highlight! link typescriptEndColons Fg +highlight! link typescriptSource BlueItalic +highlight! link typescriptMessage Green +highlight! link typescriptGlobalObjects BlueItalic +highlight! link typescriptInterpolation Purple +highlight! link typescriptInterpolationDelimiter Purple +highlight! link typescriptBraces Fg +highlight! link typescriptParens Fg +" }}} +" yats: https:github.com/HerringtonDarkholme/yats.vim{{{ +highlight! link typescriptMethodAccessor Red +highlight! link typescriptVariable Red +highlight! link typescriptVariableDeclaration Fg +highlight! link typescriptTypeReference BlueItalic +highlight! link typescriptBraces Fg +highlight! link typescriptEnumKeyword Red +highlight! link typescriptEnum BlueItalic +highlight! link typescriptIdentifierName Fg +highlight! link typescriptProp Fg +highlight! link typescriptCall Fg +highlight! link typescriptInterfaceName BlueItalic +highlight! link typescriptEndColons Fg +highlight! link typescriptMember Fg +highlight! link typescriptMemberOptionality Red +highlight! link typescriptObjectLabel Fg +highlight! link typescriptDefaultParam Fg +highlight! link typescriptArrowFunc Red +highlight! link typescriptAbstract Red +highlight! link typescriptObjectColon Grey +highlight! link typescriptTypeAnnotation Grey +highlight! link typescriptAssign Red +highlight! link typescriptBinaryOp Red +highlight! link typescriptUnaryOp Red +highlight! link typescriptFuncComma Fg +highlight! link typescriptClassName BlueItalic +highlight! link typescriptClassHeritage BlueItalic +highlight! link typescriptInterfaceHeritage BlueItalic +highlight! link typescriptIdentifier OrangeItalic +highlight! link typescriptGlobal BlueItalic +highlight! link typescriptOperator Red +highlight! link typescriptNodeGlobal BlueItalic +highlight! link typescriptExport Red +highlight! link typescriptImport Red +highlight! link typescriptTypeParameter BlueItalic +highlight! link typescriptReadonlyModifier Red +highlight! link typescriptAccessibilityModifier Red +highlight! link typescriptAmbientDeclaration Red +highlight! link typescriptTemplateSubstitution Purple +highlight! link typescriptTemplateSB Purple +highlight! link typescriptExceptions Red +highlight! link typescriptCastKeyword Red +highlight! link typescriptOptionalMark Red +highlight! link typescriptNull OrangeItalic +highlight! link typescriptMappedIn Red +highlight! link typescriptFuncTypeArrow Red +highlight! link typescriptTernaryOp Red +highlight! link typescriptParenExp Fg +highlight! link typescriptIndexExpr Fg +highlight! link typescriptDotNotation Grey +highlight! link typescriptGlobalNumberDot Grey +highlight! link typescriptGlobalStringDot Grey +highlight! link typescriptGlobalArrayDot Grey +highlight! link typescriptGlobalObjectDot Grey +highlight! link typescriptGlobalSymbolDot Grey +highlight! link typescriptGlobalMathDot Grey +highlight! link typescriptGlobalDateDot Grey +highlight! link typescriptGlobalJSONDot Grey +highlight! link typescriptGlobalRegExpDot Grey +highlight! link typescriptGlobalPromiseDot Grey +highlight! link typescriptGlobalURLDot Grey +highlight! link typescriptGlobalMethod Green +highlight! link typescriptDOMStorageMethod Green +highlight! link typescriptFileMethod Green +highlight! link typescriptFileReaderMethod Green +highlight! link typescriptFileListMethod Green +highlight! link typescriptBlobMethod Green +highlight! link typescriptURLStaticMethod Green +highlight! link typescriptNumberStaticMethod Green +highlight! link typescriptNumberMethod Green +highlight! link typescriptDOMNodeMethod Green +highlight! link typescriptPaymentMethod Green +highlight! link typescriptPaymentResponseMethod Green +highlight! link typescriptHeadersMethod Green +highlight! link typescriptRequestMethod Green +highlight! link typescriptResponseMethod Green +highlight! link typescriptES6SetMethod Green +highlight! link typescriptReflectMethod Green +highlight! link typescriptBOMWindowMethod Green +highlight! link typescriptGeolocationMethod Green +highlight! link typescriptServiceWorkerMethod Green +highlight! link typescriptCacheMethod Green +highlight! link typescriptES6MapMethod Green +highlight! link typescriptFunctionMethod Green +highlight! link typescriptRegExpMethod Green +highlight! link typescriptXHRMethod Green +highlight! link typescriptBOMNavigatorMethod Green +highlight! link typescriptServiceWorkerMethod Green +highlight! link typescriptIntlMethod Green +highlight! link typescriptDOMEventTargetMethod Green +highlight! link typescriptDOMEventMethod Green +highlight! link typescriptDOMDocMethod Green +highlight! link typescriptStringStaticMethod Green +highlight! link typescriptStringMethod Green +highlight! link typescriptSymbolStaticMethod Green +highlight! link typescriptObjectStaticMethod Green +highlight! link typescriptObjectMethod Green +highlight! link typescriptJSONStaticMethod Green +highlight! link typescriptEncodingMethod Green +highlight! link typescriptBOMLocationMethod Green +highlight! link typescriptPromiseStaticMethod Green +highlight! link typescriptPromiseMethod Green +highlight! link typescriptSubtleCryptoMethod Green +highlight! link typescriptCryptoMethod Green +highlight! link typescriptBOMHistoryMethod Green +highlight! link typescriptDOMFormMethod Green +highlight! link typescriptConsoleMethod Green +highlight! link typescriptDateStaticMethod Green +highlight! link typescriptDateMethod Green +highlight! link typescriptArrayStaticMethod Green +highlight! link typescriptArrayMethod Green +highlight! link typescriptMathStaticMethod Green +highlight! link typescriptStringProperty Fg +highlight! link typescriptDOMStorageProp Fg +highlight! link typescriptFileReaderProp Fg +highlight! link typescriptURLUtilsProp Fg +highlight! link typescriptNumberStaticProp Fg +highlight! link typescriptDOMNodeProp Fg +highlight! link typescriptBOMWindowProp Fg +highlight! link typescriptRequestProp Fg +highlight! link typescriptResponseProp Fg +highlight! link typescriptPaymentProp Fg +highlight! link typescriptPaymentResponseProp Fg +highlight! link typescriptPaymentAddressProp Fg +highlight! link typescriptPaymentShippingOptionProp Fg +highlight! link typescriptES6SetProp Fg +highlight! link typescriptServiceWorkerProp Fg +highlight! link typescriptES6MapProp Fg +highlight! link typescriptRegExpStaticProp Fg +highlight! link typescriptRegExpProp Fg +highlight! link typescriptBOMNavigatorProp Green +highlight! link typescriptXHRProp Fg +highlight! link typescriptDOMEventProp Fg +highlight! link typescriptDOMDocProp Fg +highlight! link typescriptBOMNetworkProp Fg +highlight! link typescriptSymbolStaticProp Fg +highlight! link typescriptEncodingProp Fg +highlight! link typescriptBOMLocationProp Fg +highlight! link typescriptCryptoProp Fg +highlight! link typescriptDOMFormProp Fg +highlight! link typescriptBOMHistoryProp Fg +highlight! link typescriptMathStaticProp Fg +" }}} +" ft_end }}} +" ft_begin: dart {{{ +" dart-lang: https://github.com/dart-lang/dart-vim-plugin{{{ +highlight! link dartCoreClasses BlueItalic +highlight! link dartTypeName BlueItalic +highlight! link dartInterpolation Purple +highlight! link dartTypeDef Red +highlight! link dartClassDecl Red +highlight! link dartLibrary Red +highlight! link dartMetadata OrangeItalic +" }}} +" ft_end }}} +" ft_begin: c/cpp/objc/objcpp {{{ +" vim-cpp-enhanced-highlight: https://github.com/octol/vim-cpp-enhanced-highlight{{{ +highlight! link cLabel Red +highlight! link cppSTLnamespace BlueItalic +highlight! link cppSTLtype BlueItalic +highlight! link cppAccess Red +highlight! link cppStructure Red +highlight! link cppSTLios BlueItalic +highlight! link cppSTLiterator BlueItalic +highlight! link cppSTLexception Red +" }}} +" vim-cpp-modern: https://github.com/bfrg/vim-cpp-modern{{{ +highlight! link cppSTLVariable BlueItalic +" }}} +" chromatica: https://github.com/arakashic/chromatica.nvim{{{ +highlight! link Member TSVariable +highlight! link Variable TSVariable +highlight! link Namespace TSNamespace +highlight! link EnumConstant TSNumber +highlight! link chromaticaException TSException +highlight! link chromaticaCast TSLabel +highlight! link OperatorOverload TSOperator +highlight! link AccessQual TSOperator +highlight! link Linkage TSOperator +highlight! link AutoType TSType +" }}} +" vim-lsp-cxx-highlight https://github.com/jackguo380/vim-lsp-cxx-highlight{{{ +highlight! link LspCxxHlSkippedRegion Grey +highlight! link LspCxxHlSkippedRegionBeginEnd TSKeyword +highlight! link LspCxxHlGroupEnumConstant TSStructure +highlight! link LspCxxHlGroupNamespace TSNamespace +highlight! link LspCxxHlGroupMemberVariable TSVariable +" }}} +" ft_end }}} +" ft_begin: objc {{{ +" builtin: {{{ +highlight! link objcModuleImport Red +highlight! link objcException Red +highlight! link objcProtocolList Fg +highlight! link objcDirective Red +highlight! link objcPropertyAttribute Purple +highlight! link objcHiddenArgument Fg +" }}} +" ft_end }}} +" ft_begin: cs {{{ +" builtin: https://github.com/nickspoons/vim-cs{{{ +highlight! link csUnspecifiedStatement Red +highlight! link csStorage Red +highlight! link csClass Red +highlight! link csNewType BlueItalic +highlight! link csContextualStatement Red +highlight! link csInterpolationDelimiter Purple +highlight! link csInterpolation Purple +highlight! link csEndColon Fg +" }}} +" ft_end }}} +" ft_begin: python {{{ +" builtin: {{{ +highlight! link pythonBuiltin BlueItalic +highlight! link pythonExceptions Red +highlight! link pythonDecoratorName OrangeItalic +" }}} +" python-syntax: https://github.com/vim-python/python-syntax{{{ +highlight! link pythonExClass BlueItalic +highlight! link pythonBuiltinType BlueItalic +highlight! link pythonBuiltinObj OrangeItalic +highlight! link pythonDottedName OrangeItalic +highlight! link pythonBuiltinFunc Green +highlight! link pythonFunction Green +highlight! link pythonDecorator OrangeItalic +highlight! link pythonInclude Include +highlight! link pythonImport PreProc +highlight! link pythonOperator Red +highlight! link pythonConditional Red +highlight! link pythonRepeat Red +highlight! link pythonException Red +highlight! link pythonNone OrangeItalic +highlight! link pythonCoding Grey +highlight! link pythonDot Grey +" }}} +" semshi: https://github.com/numirias/semshi{{{ +call sonokai#highlight('semshiUnresolved', s:palette.orange, s:palette.none, 'undercurl') +highlight! link semshiImported TSInclude +highlight! link semshiParameter TSParameter +highlight! link semshiParameterUnused Grey +highlight! link semshiSelf TSVariableBuiltin +highlight! link semshiGlobal TSType +highlight! link semshiBuiltin TSTypeBuiltin +highlight! link semshiAttribute TSAttribute +highlight! link semshiLocal TSKeyword +highlight! link semshiFree TSKeyword +highlight! link semshiSelected CurrentWord +highlight! link semshiErrorSign RedSign +highlight! link semshiErrorChar RedSign +" }}} +" ft_end }}} +" ft_begin: lua {{{ +" builtin: {{{ +highlight! link luaFunc Green +highlight! link luaFunction Red +highlight! link luaTable Fg +highlight! link luaIn Red +" }}} +" vim-lua: https://github.com/tbastos/vim-lua{{{ +highlight! link luaFuncCall Green +highlight! link luaLocal Red +highlight! link luaSpecialValue Green +highlight! link luaBraces Fg +highlight! link luaBuiltIn BlueItalic +highlight! link luaNoise Grey +highlight! link luaLabel Purple +highlight! link luaFuncTable BlueItalic +highlight! link luaFuncArgName Fg +highlight! link luaEllipsis Red +highlight! link luaDocTag Green +" }}} +" ft_end }}} +" ft_begin: java {{{ +" builtin: {{{ +highlight! link javaClassDecl Red +highlight! link javaMethodDecl Red +highlight! link javaVarArg Fg +highlight! link javaAnnotation Purple +highlight! link javaUserLabel Purple +highlight! link javaTypedef OrangeItalic +highlight! link javaParen Fg +highlight! link javaParen1 Fg +highlight! link javaParen2 Fg +highlight! link javaParen3 Fg +highlight! link javaParen4 Fg +highlight! link javaParen5 Fg +" }}} +" ft_end }}} +" ft_begin: kotlin {{{ +" kotlin-vim: https://github.com/udalov/kotlin-vim{{{ +highlight! link ktSimpleInterpolation Purple +highlight! link ktComplexInterpolation Purple +highlight! link ktComplexInterpolationBrace Purple +highlight! link ktStructure Red +highlight! link ktKeyword OrangeItalic +" }}} +" ft_end }}} +" ft_begin: scala {{{ +" builtin: https://github.com/derekwyatt/vim-scala{{{ +highlight! link scalaNameDefinition Fg +highlight! link scalaInterpolationBoundary Purple +highlight! link scalaInterpolation Purple +highlight! link scalaTypeOperator Red +highlight! link scalaOperator Red +highlight! link scalaKeywordModifier Red +" }}} +" ft_end }}} +" ft_begin: go {{{ +" builtin: https://github.com/google/vim-ft-go{{{ +highlight! link goDirective Red +highlight! link goConstants OrangeItalic +highlight! link goDeclType Red +" }}} +" polyglot: {{{ +highlight! link goPackage Red +highlight! link goImport Red +highlight! link goBuiltins Green +highlight! link goPredefinedIdentifiers OrangeItalic +highlight! link goVar Red +" }}} +" ft_end }}} +" ft_begin: rust {{{ +" builtin: https://github.com/rust-lang/rust.vim{{{ +highlight! link rustStructure Red +highlight! link rustIdentifier OrangeItalic +highlight! link rustModPath BlueItalic +highlight! link rustModPathSep Grey +highlight! link rustSelf OrangeItalic +highlight! link rustSuper OrangeItalic +highlight! link rustDeriveTrait Purple +highlight! link rustEnumVariant Purple +highlight! link rustMacroVariable OrangeItalic +highlight! link rustAssert Green +highlight! link rustPanic Green +highlight! link rustPubScopeCrate BlueItalic +highlight! link rustAttribute Purple +" }}} +" coc-rust-analyzer: https://github.com/fannheyward/coc-rust-analyzer {{{ +highlight! link CocRustChainingHint Grey +highlight! link CocRustTypeHint Grey +" }}} +" ft_end }}} +" ft_begin: swift {{{ +" swift.vim: https://github.com/keith/swift.vim{{{ +highlight! link swiftInterpolatedWrapper Purple +highlight! link swiftInterpolatedString Purple +highlight! link swiftProperty Fg +highlight! link swiftTypeDeclaration Red +highlight! link swiftClosureArgument OrangeItalic +highlight! link swiftStructure Red +" }}} +" ft_end }}} +" ft_begin: php {{{ +" builtin: https://jasonwoof.com/gitweb/?p=vim-syntax.git;a=blob;f=php.vim;hb=HEAD{{{ +highlight! link phpVarSelector Fg +highlight! link phpIdentifier Fg +highlight! link phpDefine Green +highlight! link phpStructure Red +highlight! link phpSpecialFunction Green +highlight! link phpInterpSimpleCurly Purple +highlight! link phpComparison Red +highlight! link phpMethodsVar Fg +highlight! link phpInterpVarname Fg +highlight! link phpMemberSelector Red +highlight! link phpLabel Red +" }}} +" php.vim: https://github.com/StanAngeloff/php.vim{{{ +highlight! link phpParent Fg +highlight! link phpNowDoc Yellow +highlight! link phpFunction Green +highlight! link phpMethod Green +highlight! link phpClass BlueItalic +highlight! link phpSuperglobals BlueItalic +highlight! link phpNullValue OrangeItalic +" }}} +" ft_end }}} +" ft_begin: ruby {{{ +" builtin: https://github.com/vim-ruby/vim-ruby{{{ +highlight! link rubyKeywordAsMethod Green +highlight! link rubyInterpolation Purple +highlight! link rubyInterpolationDelimiter Purple +highlight! link rubyStringDelimiter Yellow +highlight! link rubyBlockParameterList Fg +highlight! link rubyDefine Red +highlight! link rubyModuleName Red +highlight! link rubyAccess Red +highlight! link rubyMacro Red +highlight! link rubySymbol Fg +" }}} +" ft_end }}} +" ft_begin: haskell {{{ +" haskell-vim: https://github.com/neovimhaskell/haskell-vim{{{ +highlight! link haskellBrackets Fg +highlight! link haskellIdentifier OrangeItalic +highlight! link haskellDecl Red +highlight! link haskellType BlueItalic +highlight! link haskellDeclKeyword Red +highlight! link haskellWhere Red +highlight! link haskellDeriving Red +highlight! link haskellForeignKeywords Red +" }}} +" ft_end }}} +" ft_begin: perl/pod {{{ +" builtin: https://github.com/vim-perl/vim-perl{{{ +highlight! link perlStatementPackage Red +highlight! link perlStatementInclude Red +highlight! link perlStatementStorage Red +highlight! link perlStatementList Red +highlight! link perlMatchStartEnd Red +highlight! link perlVarSimpleMemberName Green +highlight! link perlVarSimpleMember Fg +highlight! link perlMethod Green +highlight! link podVerbatimLine Green +highlight! link podCmdText Yellow +highlight! link perlVarPlain Fg +highlight! link perlVarPlain2 Fg +" }}} +" ft_end }}} +" ft_begin: ocaml {{{ +" builtin: https://github.com/rgrinberg/vim-ocaml{{{ +highlight! link ocamlArrow Red +highlight! link ocamlEqual Red +highlight! link ocamlOperator Red +highlight! link ocamlKeyChar Red +highlight! link ocamlModPath Green +highlight! link ocamlFullMod Green +highlight! link ocamlModule BlueItalic +highlight! link ocamlConstructor Orange +highlight! link ocamlModParam Fg +highlight! link ocamlModParam1 Fg +highlight! link ocamlAnyVar Fg " aqua +highlight! link ocamlPpxEncl Red +highlight! link ocamlPpxIdentifier Fg +highlight! link ocamlSigEncl Red +highlight! link ocamlModParam1 Fg +" }}} +" ft_end }}} +" ft_begin: erlang {{{ +" builtin: https://github.com/vim-erlang/vim-erlang-runtime{{{ +highlight! link erlangAtom Fg +highlight! link erlangVariable Fg +highlight! link erlangLocalFuncRef Green +highlight! link erlangLocalFuncCall Green +highlight! link erlangGlobalFuncRef Green +highlight! link erlangGlobalFuncCall Green +highlight! link erlangAttribute BlueItalic +highlight! link erlangPipe Red +" }}} +" ft_end }}} +" ft_begin: elixir {{{ +" vim-elixir: https://github.com/elixir-editors/vim-elixir{{{ +highlight! link elixirStringDelimiter Yellow +highlight! link elixirKeyword Red +highlight! link elixirInterpolation Purple +highlight! link elixirInterpolationDelimiter Purple +highlight! link elixirSelf BlueItalic +highlight! link elixirPseudoVariable OrangeItalic +highlight! link elixirModuleDefine Red +highlight! link elixirBlockDefinition Red +highlight! link elixirDefine Red +highlight! link elixirPrivateDefine Red +highlight! link elixirGuard Red +highlight! link elixirPrivateGuard Red +highlight! link elixirProtocolDefine Red +highlight! link elixirImplDefine Red +highlight! link elixirRecordDefine Red +highlight! link elixirPrivateRecordDefine Red +highlight! link elixirMacroDefine Red +highlight! link elixirPrivateMacroDefine Red +highlight! link elixirDelegateDefine Red +highlight! link elixirOverridableDefine Red +highlight! link elixirExceptionDefine Red +highlight! link elixirCallbackDefine Red +highlight! link elixirStructDefine Red +highlight! link elixirExUnitMacro Red +" }}} +" ft_end }}} +" ft_begin: lisp {{{ +" builtin: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_LISP{{{ +highlight! link lispAtomMark Purple +highlight! link lispKey Orange +highlight! link lispFunc Green +" }}} +" ft_end }}} +" ft_begin: clojure {{{ +" builtin: https://github.com/guns/vim-clojure-static{{{ +highlight! link clojureMacro Red +highlight! link clojureFunc Green +highlight! link clojureConstant OrangeItalic +highlight! link clojureSpecial Red +highlight! link clojureDefine Red +highlight! link clojureKeyword Blue +highlight! link clojureVariable Fg +highlight! link clojureMeta Purple +highlight! link clojureDeref Purple +" }}} +" ft_end }}} +" ft_begin: matlab {{{ +" builtin: {{{ +highlight! link matlabSemicolon Fg +highlight! link matlabFunction RedItalic +highlight! link matlabImplicit Green +highlight! link matlabDelimiter Fg +highlight! link matlabOperator Green +highlight! link matlabArithmeticOperator Red +highlight! link matlabArithmeticOperator Red +highlight! link matlabRelationalOperator Red +highlight! link matlabRelationalOperator Red +highlight! link matlabLogicalOperator Red +" }}} +" ft_end }}} +" ft_begin: octave {{{ +" vim-octave: https://github.com/McSinyx/vim-octave{{{ +highlight! link octaveDelimiter Orange +highlight! link octaveSemicolon Grey +highlight! link octaveOperator Orange +highlight! link octaveVariable BlueItalic +highlight! link octaveVarKeyword BlueItalic +" }}} +" ft_end }}} +" ft_begin: sh/zsh {{{ +" builtin: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH{{{ +highlight! link shRange Fg +highlight! link shOption Purple +highlight! link shQuote Yellow +highlight! link shVariable BlueItalic +highlight! link shDerefSimple BlueItalic +highlight! link shDerefVar BlueItalic +highlight! link shDerefSpecial BlueItalic +highlight! link shDerefOff BlueItalic +highlight! link shVarAssign Red +highlight! link shFunctionOne Green +highlight! link shFunctionKey Red +" }}} +" ft_end }}} +" ft_begin: zsh {{{ +" builtin: https://github.com/chrisbra/vim-zsh{{{ +highlight! link zshOption BlueItalic +highlight! link zshSubst Orange +highlight! link zshFunction Green +" }}} +" ft_end }}} +" ft_begin: ps1 {{{ +" vim-ps1: https://github.com/PProvost/vim-ps1{{{ +highlight! link ps1FunctionInvocation Green +highlight! link ps1FunctionDeclaration Green +highlight! link ps1InterpolationDelimiter Purple +highlight! link ps1BuiltIn BlueItalic +" }}} +" ft_end }}} +" ft_begin: vim {{{ +call sonokai#highlight('vimCommentTitle', s:palette.grey, s:palette.none, 'bold') +highlight! link vimLet Red +highlight! link vimFunction Green +highlight! link vimIsCommand Fg +highlight! link vimUserFunc Green +highlight! link vimFuncName Green +highlight! link vimMap BlueItalic +highlight! link vimNotation Purple +highlight! link vimMapLhs Green +highlight! link vimMapRhs Green +highlight! link vimSetEqual BlueItalic +highlight! link vimSetSep Fg +highlight! link vimOption BlueItalic +highlight! link vimUserAttrbKey BlueItalic +highlight! link vimUserAttrb Green +highlight! link vimAutoCmdSfxList Orange +highlight! link vimSynType Orange +highlight! link vimHiBang Orange +highlight! link vimSet BlueItalic +highlight! link vimSetSep Grey +" ft_end }}} +" ft_begin: make {{{ +highlight! link makeIdent Purple +highlight! link makeSpecTarget BlueItalic +highlight! link makeTarget Orange +highlight! link makeCommands Red +" ft_end }}} +" ft_begin: cmake {{{ +highlight! link cmakeCommand Red +highlight! link cmakeKWconfigure_package_config_file BlueItalic +highlight! link cmakeKWwrite_basic_package_version_file BlueItalic +highlight! link cmakeKWExternalProject Green +highlight! link cmakeKWadd_compile_definitions Green +highlight! link cmakeKWadd_compile_options Green +highlight! link cmakeKWadd_custom_command Green +highlight! link cmakeKWadd_custom_target Green +highlight! link cmakeKWadd_definitions Green +highlight! link cmakeKWadd_dependencies Green +highlight! link cmakeKWadd_executable Green +highlight! link cmakeKWadd_library Green +highlight! link cmakeKWadd_link_options Green +highlight! link cmakeKWadd_subdirectory Green +highlight! link cmakeKWadd_test Green +highlight! link cmakeKWbuild_command Green +highlight! link cmakeKWcmake_host_system_information Green +highlight! link cmakeKWcmake_minimum_required Green +highlight! link cmakeKWcmake_parse_arguments Green +highlight! link cmakeKWcmake_policy Green +highlight! link cmakeKWconfigure_file Green +highlight! link cmakeKWcreate_test_sourcelist Green +highlight! link cmakeKWctest_build Green +highlight! link cmakeKWctest_configure Green +highlight! link cmakeKWctest_coverage Green +highlight! link cmakeKWctest_memcheck Green +highlight! link cmakeKWctest_run_script Green +highlight! link cmakeKWctest_start Green +highlight! link cmakeKWctest_submit Green +highlight! link cmakeKWctest_test Green +highlight! link cmakeKWctest_update Green +highlight! link cmakeKWctest_upload Green +highlight! link cmakeKWdefine_property Green +highlight! link cmakeKWdoxygen_add_docs Green +highlight! link cmakeKWenable_language Green +highlight! link cmakeKWenable_testing Green +highlight! link cmakeKWexec_program Green +highlight! link cmakeKWexecute_process Green +highlight! link cmakeKWexport Green +highlight! link cmakeKWexport_library_dependencies Green +highlight! link cmakeKWfile Green +highlight! link cmakeKWfind_file Green +highlight! link cmakeKWfind_library Green +highlight! link cmakeKWfind_package Green +highlight! link cmakeKWfind_path Green +highlight! link cmakeKWfind_program Green +highlight! link cmakeKWfltk_wrap_ui Green +highlight! link cmakeKWforeach Green +highlight! link cmakeKWfunction Green +highlight! link cmakeKWget_cmake_property Green +highlight! link cmakeKWget_directory_property Green +highlight! link cmakeKWget_filename_component Green +highlight! link cmakeKWget_property Green +highlight! link cmakeKWget_source_file_property Green +highlight! link cmakeKWget_target_property Green +highlight! link cmakeKWget_test_property Green +highlight! link cmakeKWif Green +highlight! link cmakeKWinclude Green +highlight! link cmakeKWinclude_directories Green +highlight! link cmakeKWinclude_external_msproject Green +highlight! link cmakeKWinclude_guard Green +highlight! link cmakeKWinstall Green +highlight! link cmakeKWinstall_files Green +highlight! link cmakeKWinstall_programs Green +highlight! link cmakeKWinstall_targets Green +highlight! link cmakeKWlink_directories Green +highlight! link cmakeKWlist Green +highlight! link cmakeKWload_cache Green +highlight! link cmakeKWload_command Green +highlight! link cmakeKWmacro Green +highlight! link cmakeKWmark_as_advanced Green +highlight! link cmakeKWmath Green +highlight! link cmakeKWmessage Green +highlight! link cmakeKWoption Green +highlight! link cmakeKWproject Green +highlight! link cmakeKWqt_wrap_cpp Green +highlight! link cmakeKWqt_wrap_ui Green +highlight! link cmakeKWremove Green +highlight! link cmakeKWseparate_arguments Green +highlight! link cmakeKWset Green +highlight! link cmakeKWset_directory_properties Green +highlight! link cmakeKWset_property Green +highlight! link cmakeKWset_source_files_properties Green +highlight! link cmakeKWset_target_properties Green +highlight! link cmakeKWset_tests_properties Green +highlight! link cmakeKWsource_group Green +highlight! link cmakeKWstring Green +highlight! link cmakeKWsubdirs Green +highlight! link cmakeKWtarget_compile_definitions Green +highlight! link cmakeKWtarget_compile_features Green +highlight! link cmakeKWtarget_compile_options Green +highlight! link cmakeKWtarget_include_directories Green +highlight! link cmakeKWtarget_link_directories Green +highlight! link cmakeKWtarget_link_libraries Green +highlight! link cmakeKWtarget_link_options Green +highlight! link cmakeKWtarget_precompile_headers Green +highlight! link cmakeKWtarget_sources Green +highlight! link cmakeKWtry_compile Green +highlight! link cmakeKWtry_run Green +highlight! link cmakeKWunset Green +highlight! link cmakeKWuse_mangled_mesa Green +highlight! link cmakeKWvariable_requires Green +highlight! link cmakeKWvariable_watch Green +highlight! link cmakeKWwrite_file Green +" ft_end }}} +" ft_begin: json {{{ +highlight! link jsonKeyword Red +highlight! link jsonString Green +highlight! link jsonBoolean Blue +highlight! link jsonNoise Grey +highlight! link jsonQuote Grey +highlight! link jsonBraces Fg +" ft_end }}} +" ft_begin: yaml {{{ +highlight! link yamlKey Red +highlight! link yamlConstant BlueItalic +highlight! link yamlString Green +" ft_end }}} +" ft_begin: toml {{{ +call sonokai#highlight('tomlTable', s:palette.purple, s:palette.none, 'bold') +highlight! link tomlKey Red +highlight! link tomlBoolean Blue +highlight! link tomlString Green +highlight! link tomlTableArray tomlTable +" ft_end }}} +" ft_begin: gitcommit {{{ +highlight! link gitcommitSummary Red +highlight! link gitcommitUntracked Grey +highlight! link gitcommitDiscarded Grey +highlight! link gitcommitSelected Grey +highlight! link gitcommitUnmerged Grey +highlight! link gitcommitOnBranch Grey +highlight! link gitcommitArrow Grey +highlight! link gitcommitFile Green +" ft_end }}} +" ft_begin: dosini {{{ +call sonokai#highlight('dosiniHeader', s:palette.red, s:palette.none, 'bold') +highlight! link dosiniLabel Blue +highlight! link dosiniValue Green +highlight! link dosiniNumber Green +" ft_end }}} +" ft_begin: help {{{ +call sonokai#highlight('helpNote', s:palette.purple, s:palette.none, 'bold') +call sonokai#highlight('helpHeadline', s:palette.red, s:palette.none, 'bold') +call sonokai#highlight('helpHeader', s:palette.orange, s:palette.none, 'bold') +call sonokai#highlight('helpURL', s:palette.green, s:palette.none, 'underline') +call sonokai#highlight('helpHyperTextEntry', s:palette.blue, s:palette.none, 'bold') +highlight! link helpHyperTextJump Blue +highlight! link helpCommand Yellow +highlight! link helpExample Green +highlight! link helpSpecial Purple +highlight! link helpSectionDelim Grey +" ft_end }}} +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker fmr={{{,}}}: diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/space-vim-dark.vim b/nvim/plugged/awesome-vim-colorschemes/colors/space-vim-dark.vim new file mode 100644 index 00000000..56a98b2a --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/space-vim-dark.vim @@ -0,0 +1,441 @@ +" Vim color file +" +" Author: Liu-Cheng Xu +" URL: https://github.com/liuchengxu/space-vim-dark +" +" Note: Inspired by spacemacs-dark theme + +hi clear + +if v:version > 580 + " no guarantees for version 5.8 and below, but this makes it stop + " complaining + hi clear + if exists('g:syntax_on') + syntax reset + endif +endif + +let g:colors_name='space-vim-dark' + +" refer to http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html +let s:color256 = { + \ 0 : '#000000', 1 : '#800000', 2 : '#008000', 3 : '#808000', 4 : '#000080', 5 : '#800080', 6 : '#008080' , 7 : '#c0c0c0', + \ 8 : '#808080', 9 : '#ff0000', 10 : '#00ff00', 11 : '#ffff00', 12 : '#0000ff', 13 : '#ff00ff', 14 : '#00ffff', 15 : '#ffffff', + \ 16 : '#000000', 17 : '#00005f', 18 : '#000087', 19 : '#0000af', 20 : '#0000d7', 21 : '#0000ff', + \ 22 : '#005f00', 23 : '#005f5f', 24 : '#005f87', 25 : '#005faf', 26 : '#005fd7', 27 : '#005fff', + \ 28 : '#008700', 29 : '#00875f', 30 : '#008787', 31 : '#0087af', 32 : '#0087d7', 33 : '#0087ff', + \ 34 : '#00af00', 35 : '#00af5f', 36 : '#00af87', 37 : '#00afaf', 38 : '#00afd7', 39 : '#00afff', + \ 40 : '#00d700', 41 : '#00d75f', 42 : '#00d787', 43 : '#00d7af', 44 : '#00d7d7', 45 : '#00d7ff', + \ 46 : '#00ff00', 47 : '#00ff5f', 48 : '#00ff87', 49 : '#00ffaf', 50 : '#00ffd7', 51 : '#00ffff', + \ 52 : '#5f0000', 53 : '#5f005f', 54 : '#5f0087', 55 : '#5f00af', 56 : '#5f00d7', 57 : '#5f00ff', + \ 58 : '#5f5f00', 59 : '#5f5f5f', 60 : '#5f5f87', 61 : '#5f5faf', 62 : '#5f5fd7', 63 : '#5f5fff', + \ 64 : '#5f8700', 65 : '#5f875f', 66 : '#5f8787', 67 : '#5f87af', 68 : '#5f87d7', 69 : '#5f87ff', + \ 70 : '#5faf00', 71 : '#5faf5f', 72 : '#5faf87', 73 : '#5fafaf', 74 : '#5fafd7', 75 : '#5fafff', + \ 76 : '#5fd700', 77 : '#5fd75f', 78 : '#5fd787', 79 : '#5fd7af', 80 : '#5fd7d7', 81 : '#5fd7ff', + \ 82 : '#5fff00', 83 : '#5fff5f', 84 : '#5fff87', 85 : '#5fffaf', 86 : '#5fffd7', 87 : '#5fffff', + \ 88 : '#870000', 89 : '#87005f', 90 : '#870087', 91 : '#8700af', 92 : '#8700d7', 93 : '#8700ff', + \ 94 : '#875f00', 95 : '#875f5f', 96 : '#875f87', 97 : '#875faf', 98 : '#875fd7', 99 : '#875fff', + \ 100 : '#878700', 101 : '#87875f', 102 : '#878787', 103 : '#8787af', 104 : '#8787d7', 105 : '#8787ff', + \ 106 : '#87af00', 107 : '#87af5f', 108 : '#87af87', 109 : '#87afaf', 110 : '#87afd7', 111 : '#87afff', + \ 112 : '#87d700', 113 : '#87d75f', 114 : '#87d787', 115 : '#87d7af', 116 : '#87d7d7', 117 : '#87d7ff', + \ 118 : '#87ff00', 119 : '#87ff5f', 120 : '#87ff87', 121 : '#87ffaf', 122 : '#87ffd7', 123 : '#87ffff', + \ 124 : '#af0000', 125 : '#af005f', 126 : '#af0087', 127 : '#af00af', 128 : '#af00d7', 129 : '#af00ff', + \ 130 : '#af5f00', 131 : '#af5f5f', 132 : '#af5f87', 133 : '#af5faf', 134 : '#af5fd7', 135 : '#af5fff', + \ 136 : '#af8700', 137 : '#af875f', 138 : '#af8787', 139 : '#af87af', 140 : '#af87d7', 141 : '#af87ff', + \ 142 : '#afaf00', 143 : '#afaf5f', 144 : '#afaf87', 145 : '#afafaf', 146 : '#afafd7', 147 : '#afafff', + \ 148 : '#afd700', 149 : '#afd75f', 150 : '#afd787', 151 : '#afd7af', 152 : '#afd7d7', 153 : '#afd7ff', + \ 154 : '#afff00', 155 : '#afff5f', 156 : '#afff87', 157 : '#afffaf', 158 : '#afffd7', 159 : '#afffff', + \ 160 : '#d70000', 161 : '#d7005f', 162 : '#d70087', 163 : '#d700af', 164 : '#d700d7', 165 : '#d700ff', + \ 166 : '#d75f00', 167 : '#d75f5f', 168 : '#d75f87', 169 : '#d75faf', 170 : '#d75fd7', 171 : '#d75fff', + \ 172 : '#d78700', 173 : '#d7875f', 174 : '#d78787', 175 : '#d787af', 176 : '#d787d7', 177 : '#d787ff', + \ 178 : '#d7af00', 179 : '#d7af5f', 180 : '#d7af87', 181 : '#d7afaf', 182 : '#d7afd7', 183 : '#d7afff', + \ 184 : '#d7d700', 185 : '#d7d75f', 186 : '#d7d787', 187 : '#d7d7af', 188 : '#d7d7d7', 189 : '#d7d7ff', + \ 190 : '#d7ff00', 191 : '#d7ff5f', 192 : '#d7ff87', 193 : '#d7ffaf', 194 : '#d7ffd7', 195 : '#d7ffff', + \ 196 : '#ff0000', 197 : '#ff005f', 198 : '#ff0087', 199 : '#ff00af', 200 : '#ff00d7', 201 : '#ff00ff', + \ 202 : '#ff5f00', 203 : '#ff5f5f', 204 : '#ff5f87', 205 : '#ff5faf', 206 : '#ff5fd7', 207 : '#ff5fff', + \ 208 : '#ff8700', 209 : '#ff875f', 210 : '#ff8787', 211 : '#ff87af', 212 : '#ff87d7', 213 : '#ff87ff', + \ 214 : '#ffaf00', 215 : '#ffaf5f', 216 : '#ffaf87', 217 : '#ffafaf', 218 : '#ffafd7', 219 : '#ffafff', + \ 220 : '#ffd700', 221 : '#ffd75f', 222 : '#ffd787', 223 : '#ffd7af', 224 : '#ffd7d7', 225 : '#ffd7ff', + \ 226 : '#ffff00', 227 : '#ffff5f', 228 : '#ffff87', 229 : '#ffffaf', 230 : '#ffffd7', 231 : '#ffffff', + \ + \ 232 : '#080808', 233 : '#121212', 234 : '#1c1c1c', 235 : '#262626', 236 : '#303030', 237 : '#3a3a3a', + \ 238 : '#444444', 239 : '#4e4e4e', 240 : '#585858', 241 : '#606060', 242 : '#666666', 243 : '#767676', + \ 244 : '#808080', 245 : '#8a8a8a', 246 : '#949494', 247 : '#9e9e9e', 248 : '#a8a8a8', 249 : '#b2b2b2', + \ 250 : '#bcbcbc', 251 : '#c6c6c6', 252 : '#d0d0d0', 253 : '#dadada', 254 : '#e4e4e4', 255 : '#eeeeee', + \ } + +" ========|=========== +" Red | 160 168 +" Blue | 67 68 111 +" Yellow | 114 179 +" Orange | 173 178 +" Purple | 140 +" Magenta | 128 +" ========|=========== + +let s:colors = { + \ 16: '#292b2e', 24: '#3C8380', 28: '#c269fe', 30: '#2aa1ae', 36: '#20af81', 40: '#00ff00', + \ 59: '#FF73B9', 68: '#4f97d7', 75: '#FF62B0', 76: '#86dc2f', 81: '#f9bb00', 88: '#330033', + \ 104: '#df90ff', 114: '#67b11d', 128: '#e76a49', 135: '#B7B7FF', 136: '#dc752f', 139: '#d698fe', + \ 140: '#b888e2', 141: '#9a9aba', 151: '#74BAAC', 160: '#e0211d', 161: '#E469FE', 167: '#ce537a', + \ 168: '#ce537a', 169: '#bc6ec5', 170: '#bc6ec5', 171: '#6094DB', 173: '#e18254', 176: '#E697E6', + \ 177: '#D881ED', 178: '#d1951d', 179: '#d4b261', 196: '#e0211d', 204: '#ce537a', 207: '#FF68DD', + \ 214: '#FF4848', 218: '#d19a66', 225: '#FFC8C8', 229: '#fff06a', 233: '#303030', 234: '#212026', + \ 235: '#292b2e', 236: '#34323e', 238: '#544a65', 239: '#44505c', 241: '#534b5d', 243: '#65737e', + \ 244: '#b4d1b6', + \ } + +function! s:hi(item, fg, bg, cterm, gui) + let l:fg = empty(a:fg) ? '' : printf('ctermfg=%d guifg=%s', a:fg, get(s:colors, a:fg, s:color256[a:fg])) + let l:bg = empty(a:bg) ? '' : printf('ctermbg=%d guibg=%s', a:bg, get(s:colors, a:bg, s:color256[a:bg])) + let l:style = printf('cterm=%s gui=%s', a:cterm, a:gui) + execute 'hi '.a:item.' '.l:fg.' '.l:bg.' '.l:style +endfunction + +let s:fg = 249 +let s:bg = get(g:, 'space_vim_dark_background', 235) +let s:bg = max([s:bg, 233]) + +let s:bias = s:bg - 235 +let s:bg0 = s:bg - 1 +let s:bg1 = s:bg + 1 +let s:bg2 = s:bg + 2 +let s:bg3 = s:bg + 3 +let s:bg4 = s:bg + 4 + +" call s:hi(item, fg, bg, cterm, gui) + +call s:hi('Normal' , 249 , s:bg , 'None' , 'None') +call s:hi('Cursor' , 235 , 178 , 'bold' , 'bold') + +call s:hi('LineNr' , 239+s:bias , s:bg0 , 'None' , 'None') + +call s:hi('CursorLine' , '' , s:bg0 , 'None' , 'None') +call s:hi('CursorLineNr' , 170 , s:bg0 , 'None' , 'None') +call s:hi('CursorColumn' , '' , s:bg0 , 'None' , 'None') +call s:hi('ColorColumn' , '' , s:bg0 , 'None' , 'None') + +" bug. opposite here. +call s:hi('StatusLine' , 140 , s:bg2 , 'None' , 'None') +call s:hi('StatusLineNC' , 242 , s:bg1 , 'None' , 'None') + +call s:hi('StatusLineTerm' , 140 , s:bg2 , 'bold' , 'bold') +call s:hi('StatusLineTermNC' , 244 , s:bg1 , 'bold' , 'bold') + +call s:hi('TabLine' , 66 , s:bg3 , 'None' , 'None') +call s:hi('TabLineSel' , 178 , s:bg4 , 'None' , 'None') +call s:hi('TabLineFill' , 145 , s:bg2 , 'None' , 'None') + +call s:hi('WildMenu' , 214 , s:bg3 , 'None' , 'None') + +call s:hi('Boolean' , 178 , '' , 'None' , 'None') +call s:hi('Character' , 75 , '' , 'None' , 'None') +call s:hi('Number' , 176 , '' , 'None' , 'None') +call s:hi('Float' , 135 , '' , 'None' , 'None') +call s:hi('String' , 36 , '' , 'None' , 'None') +call s:hi('Conditional' , 68 , '' , 'bold' , 'bold') +call s:hi('Constant' , 218 , '' , 'None' , 'None') +call s:hi('Debug' , 225 , '' , 'None' , 'None') +call s:hi('Define' , 177 , '' , 'None' , 'None') +call s:hi('Delimiter' , 151 , '' , 'None' , 'None') + +hi DiffAdd term=bold cterm=reverse ctermfg=142 ctermbg=235 gui=reverse guifg=#b8bb26 guibg=#29422d +hi DiffChange term=bold cterm=reverse ctermfg=107 ctermbg=235 gui=reverse guifg=#8ec07c guibg=#32322c +hi DiffDelete term=bold cterm=reverse ctermfg=160 ctermbg=235 gui=reverse guifg=#e0211d guibg=#282828 +hi DiffText term=reverse cterm=reverse ctermfg=214 ctermbg=235 gui=reverse guifg=#fabd2f guibg=#282828 + +call s:hi('Exception' , 204 , '' , 'bold' , 'bold') +call s:hi('Function' , 169 , '' , 'bold' , 'bold') +call s:hi('Identifier' , 167 , '' , 'None' , 'None') +call s:hi('Ignore' , 244 , '' , 'None' , 'None') +call s:hi('Operator' , 111 , '' , 'None' , 'None') +call s:hi('FoldColumn' , 67 , s:bg1 , 'None' , 'None') +call s:hi('Folded' , 133 , s:bg1 , 'bold' , 'bold') + +call s:hi('PreCondit' , 139 , '' , 'None' , 'None') +call s:hi('PreProc' , 176 , '' , 'None' , 'None') +call s:hi('Question' , 81 , '' , 'None' , 'None') + +call s:hi('Directory' , 67 , '' , 'bold' , 'bold') +call s:hi('Repeat' , 68 , '' , 'bold' , 'bold') +call s:hi('Keyword' , 68 , '' , 'bold' , 'bold') +call s:hi('Statement' , 68 , '' , 'None' , 'None') +call s:hi('Structure' , 68 , '' , 'bold' , 'bold') + +call s:hi('Label' , 104 , '' , 'None' , 'None') +call s:hi('Macro' , 140 , '' , 'None' , 'None') + +call s:hi('Type' , 68 , '' , 'None' , 'None') +call s:hi('Typedef' , 68 , '' , 'None' , 'None') +call s:hi('Underlined' , '' , '' , 'underline' , 'underline') + +call s:hi('Search' , 16 , 76 , 'bold' , 'bold') +call s:hi('IncSearch' , 16 , 167 , 'bold' , 'bold') +call s:hi('MatchParen', 40 , s:bg0 , 'bold,underline', 'bold,underline') + +call s:hi('ModeMsg' , 229 , '' , 'None' , 'None') + +" Popup menu +call s:hi('Pmenu' , 141 , s:bg1 , 'None' , 'None') +call s:hi('PmenuSel' , 251 , 97 , 'None' , 'None') +call s:hi('PmenuSbar' , 28 , 233 , 'None' , 'None') +call s:hi('PmenuThumb' , 160 , 97 , 'None' , 'None') + +" SignColumn may relate to ale sign +call s:hi('SignColumn' , 118 , s:bg , 'None' , 'None') +call s:hi('Todo' , 172 , s:bg , 'bold' , 'bold') + +" VertSplit consistent with normal background to hide it +call s:hi('VertSplit' , s:bg0 , '' , 'None' , 'None') + +call s:hi('Warning' , 136 , '' , 'bold' , 'bold') +call s:hi('WarningMsg' , 136 , '' , 'bold' , 'bold') + +call s:hi('Error' , 160 , s:bg , 'bold' , 'bold') +call s:hi('ErrorMsg' , 196 , s:bg , 'bold' , 'bold') + +call s:hi('Special' , 169 , '' , 'None' , 'None') +call s:hi('SpecialKey' , 59 , '' , 'None' , 'None') +call s:hi('SpecialChar' , 171 , '' , 'bold' , 'bold') +call s:hi('SpecialComment' , 243 , '' , 'None' , 'None') + +call s:hi('SpellBad' , 168 , 52 , 'underline' , 'undercurl') +call s:hi('SpellCap' , 110 , 25 , 'underline' , 'undercurl') +call s:hi('SpellLocal' , 253 , '' , 'underline' , 'undercurl') +call s:hi('SpellRare' , 218 , '' , 'underline' , 'undercurl') + +call s:hi('Tag' , 161 , '' , 'None' , 'None') +call s:hi('Title' , 176 , '' , 'None' , 'None') +call s:hi('StorageClass' , 178 , '' , 'bold' , 'bold') + +call s:hi('Comment' , 30 , '' , 'None' , 'italic') +call s:hi('Visual' , '' , s:bg3 , 'None' , 'None') +call s:hi('VisualNOS' , '' , s:bg3 , 'None' , 'None') + +" tilde group +call s:hi('NonText' , 241 , '' , 'None' , 'None') + +call s:hi('Terminal' , 249 , s:bg , 'None' , 'None') + +call s:hi('diffAdded' , 36 , '' , 'None' , 'None') +call s:hi('diffRemoved' , 167 , '' , 'None' , 'None') + +hi MatchParen guibg=NONE +hi SignColumn guibg=NONE + +hi link qfLineNr Type + +""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Language +""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" markdown +call s:hi('markdownH1' , 68 , '' , 'bold' , 'bold') +call s:hi('markdownH2' , 36 , '' , 'bold' , 'bold') +call s:hi('markdownH3' , 114 , '' , 'bold' , 'bold') +call s:hi('markdownH4' , 178 , '' , 'bold' , 'bold') +call s:hi('markdownH5' , 68 , '' , 'None' , 'None') +call s:hi('markdownH6' , 36 , '' , 'None' , 'None') +call s:hi('mkdCode' , 114 , '' , 'None' , 'None') +call s:hi('mkdItalic' , 36 , '' , 'None' , 'italic') + +" c +call s:hi('cConstant' , 178 , '' , 'none' , 'none') +call s:hi('cCustomClass' , 167 , '' , 'bold' , 'bold') + +" cpp +call s:hi('cppSTLexception', 199, '', 'bold', 'bold') +call s:hi('cppSTLnamespace', 178, '', 'bold', 'bold') + +" css +call s:hi('cssTagName' , 68 , '' , 'bold' , 'bold') +call s:hi('cssProp' , 169 , '' , 'bold' , 'bold') + +" dot +call s:hi('dotKeyChar' , 176 , '' , 'none' , 'none') +call s:hi('dotType' , 178 , '' , 'none' , 'none') + +" sh +call s:hi('shSet' , 68 , '' , 'bold' , 'bold') +call s:hi('shLoop' , 68 , '' , 'bold' , 'bold') +call s:hi('shFunctionKey' , 68 , '' , 'bold' , 'bold') +call s:hi('shTestOpr' , 178 , '' , 'none' , 'none') + +" solidity +call s:hi('solContract' , 178 , '' , 'bold' , 'bold') +call s:hi('solContractName' , 168 , '' , 'bold' , 'bold') +call s:hi('solBuiltinType' , 176 , '' , 'none' , 'none') + +" vimL +call s:hi('vimLet' , 68 , '' , 'bold' , 'bold') +call s:hi('vimFuncKey' , 68 , '' , 'bold' , 'bold') +call s:hi('vimCommand' , 68 , '' , 'bold' , 'bold') +call s:hi('vimMap' , 68 , '' , 'none' , 'none') +call s:hi('vimGroup' , 67 , '' , 'bold' , 'bold') +call s:hi('vimHiGroup' , 67 , '' , 'bold' , 'bold') + +" rust +call s:hi('rustKeyword' , 68 , '' , 'bold' , 'bold') +call s:hi('rustModPath' , 68 , '' , 'none' , 'none') +call s:hi('rustTrait' , 168 , '' , 'bold' , 'bold') + +" toml +call s:hi('tomlTable' , 169 , '' , 'bold' , 'bold') +call s:hi('tomlKey' , 68 , '' , 'none' , 'none') +call s:hi('tomlComment' , 30 , '' , 'none' , 'italic') + +" json +call s:hi('jsonStringSQError', 160, '', 'none', 'none') + +" xml +call s:hi('xmlTag' , 167 , '' , 'none' , 'none') +call s:hi('xmlEndTag' , 167 , '' , 'none' , 'none') +call s:hi('xmlTagName' , 167 , '' , 'none' , 'none') + +" js +call s:hi('jsReturn' , 68 , '' , 'bold' , 'bold') +hi link jsObjectKey Type +hi link jsFuncBlock Identifier +hi link jsVariableDef Title + +" go +call s:hi('goType' , 176 , '' , 'none' , 'none') +call s:hi('goFloat' , 135 , '' , 'none' , 'none') +call s:hi('goField' , 68 , '' , 'none' , 'none') +call s:hi('goTypeName' , 169 , '' , 'bold' , 'bold') +call s:hi('goFunction' , 169 , '' , 'bold' , 'bold') +call s:hi('goMethodCall' , 168 , '' , 'bold' , 'bold') +call s:hi('goReceiverType' , 114 , '' , 'none' , 'none') +call s:hi('goFunctionCall' , 169 , '' , 'bold' , 'bold') +call s:hi('goFormatSpecifier' , 68 , '' , 'none' , 'none') +call s:hi('goTypeConstructor' , 178 , '' , 'none' , 'none') +call s:hi('goPredefinedIdentifiers' , 140 , '' , 'none' , 'none') + +" make +call s:hi('makeCommands' , 68 , '' , 'none' , 'none') +call s:hi('makeSpecTarget' , 68 , '' , 'bold' , 'bold') + +" java +call s:hi('rustScopeDecl' , 68 , '' , 'bold' , 'bold') +call s:hi('javaClassDecl' , 168 , '' , 'bold' , 'bold') + +" scala +call s:hi('scalaKeyword' , 68 , '' , 'bold' , 'bold') +call s:hi('scalaNameDefinition' , 68 , '' , 'bold' , 'bold') + +" ruby +call s:hi('rubyClass' , 68 , '' , 'bold' , 'bold') +call s:hi('rubyDefine' , 68 , '' , 'bold' , 'bold') +call s:hi('rubyInterpolationDelimiter' , 176 , '' , 'none' , 'none') + +" html +hi link htmlSpecialTagName Tag +call s:hi('htmlItalic' , 36 , '' , 'None' , 'italic') +hi htmlBold cterm=bold gui=bold + +" python-mode +call s:hi('pythonLambdaExpr' , 105 , '' , 'none' , 'none') +call s:hi('pythonClass' , 207 , '' , 'bold' , 'bold') +call s:hi('pythonParameters' , 147 , '' , 'none' , 'none') +call s:hi('pythonParam' , 108 , '' , 'none' , 'none') +call s:hi('pythonBrackets' , 183 , '' , 'none' , 'none') +call s:hi('pythonClassParameters' , 111 , '' , 'none' , 'none') +call s:hi('pythonBuiltinType' , 68 , '' , 'none' , 'none') +call s:hi('pythonBuiltinObj' , 71 , '' , 'bold' , 'bold') +call s:hi('pythonBuiltinFunc' , 169 , '' , 'bold' , 'bold') +call s:hi('pythonOperator' , 68 , '' , 'bold' , 'bold') +call s:hi('pythonInclude' , 68 , '' , 'bold' , 'bold') +call s:hi('pythonSelf' , 68 , '' , 'bold' , 'bold') +call s:hi('pythonStatement' , 68 , '' , 'bold' , 'bold') +call s:hi('pythonDottedName' , 169 , '' , 'bold' , 'bold') +call s:hi('pythonDecorator' , 169 , '' , 'bold' , 'bold') +call s:hi('pythonException' , 166 , '' , 'bold' , 'bold') +call s:hi('pythonError' , 195 , '' , 'none' , 'none') +call s:hi('pythonIndentError' , 196 , '' , 'none' , 'none') +call s:hi('pythonSpaceError' , 196 , '' , 'none' , 'none') + +""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Plugins +""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" ALE +hi link ALEErrorSign Error +hi link ALEWarningSign Warning + +" vim-easymotion +call s:hi('EasyMotionTarget' , 76 , '' , 'bold' , 'bold') +call s:hi('EasyMotionTarget2First' , 162 , '' , 'bold' , 'bold') +call s:hi('EasyMotionTarget2Second' , 69 , '' , 'bold' , 'bold') + +" vim-markdown +call s:hi('htmlH1' , 68 , '' , 'bold' , 'bold') +call s:hi('htmlH2' , 36 , '' , 'bold' , 'bold') +call s:hi('htmlH3' , 114 , '' , 'bold' , 'bold') +call s:hi('htmlH4' , 178 , '' , 'bold' , 'bold') +call s:hi('htmlH5' , 68 , '' , 'None' , 'None') +call s:hi('htmlH6' , 36 , '' , 'None' , 'None') + +" vim-indent-guides +let g:indent_guides_auto_colors = 0 +call s:hi('IndentGuidesOdd' , '' , 237 , 'none' , 'none') +call s:hi('IndentGuidesEven' , '' , 239 , 'none' , 'none') + +" vim-gitgutter +call s:hi('GitGutterAdd' , 36 , '' , 'none' , 'none') +call s:hi('GitGutterChange' , 178 , '' , 'none' , 'none') +call s:hi('GitGutterDelete' , 160 , '' , 'none' , 'none') +call s:hi('GitGutterChangeDelete' , 140 , '' , 'none' , 'none') + +" vim-signify +call s:hi('SignifySignAdd' , 36 , '' , 'none' , 'none') +call s:hi('SignifySignChange' , 178 , '' , 'none' , 'none') +call s:hi('SignifySignDelete' , 160 , '' , 'none' , 'none') +call s:hi('SignifySignChangeDelete', 140 , '' , 'none' , 'none') + +" vim-startify +hi link StartifyFile Normal +call s:hi('StartifyHeader' , 177 , '' , 'none' , 'none') +call s:hi('startifySection' , 68 , '' , 'bold' , 'bold') + +" YouCompleteMe +call s:hi('YcmErrorSection' , 249 , 5 , 'none' , 'none') +call s:hi('YcmWarningSection' , 249 , 60 , 'none' , 'none') + +" vim-leader-guide +hi link LeaderGuideDesc Normal +call s:hi('LeaderGuideKeys' , 169 , '' , 'bold' , 'bold') +call s:hi('LeaderGuideBrackets' , 36 , '' , 'none' , 'none') + +" NERDTree +call s:hi('NERDTreeCWD' , 169 , '' , 'bold' , 'bold') +call s:hi('NERDTreeUp' , 68 , '' , 'bold' , 'bold') +call s:hi('NERDTreeDir' , 68 , '' , 'bold' , 'bold') +call s:hi('NERDTreeDirSlash' , 68 , '' , 'bold' , 'bold') +call s:hi('NERDTreeOpenable' , 68 , '' , 'bold' , 'bold') +call s:hi('NERDTreeClosable' , 68 , '' , 'bold' , 'bold') +call s:hi('NERDTreeExecFile' , 167 , '' , 'bold' , 'bold') +hi link NERDTreeLinkTarget Macro + +" Tagbar +call s:hi('TagbarKind' , 169 , '' , 'bold' , 'bold') +call s:hi('TagbarScope' , 169 , '' , 'bold' , 'bold') +call s:hi('TagbarHighlight' , 16 , 36 , 'bold' , 'bold') +call s:hi('TagbarNestedKind' , 68 , '' , 'bold' , 'bold') +call s:hi('TagbarVisibilityPublic' , 34 , '' , 'none' , 'none') + +" vim-signature +call s:hi('SignatureMarkText', 178, '', 'bold', 'bold') + +" vim_current_word +call s:hi('CurrentWord' , '' , s:bg1 , 'underline' , 'underline') +call s:hi('CurrentWordTwins' , '' , s:bg1 , 'none' , 'none') + +" quick-scope +call s:hi('QuickScopePrimary' , 155 , '' , 'underline' , 'underline') +call s:hi('QuickScopeSecondary' , 81 , '' , 'underline' , 'underline') + +delf s:hi +unlet s:color256 s:colors s:bg + +" Must be at the end, because of ctermbg=234 bug. +" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ +set background=dark diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/spacecamp.vim b/nvim/plugged/awesome-vim-colorschemes/colors/spacecamp.vim new file mode 100644 index 00000000..2e287c80 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/spacecamp.vim @@ -0,0 +1,384 @@ +" +" +" ███████╗██████╗ █████╗ ██████╗███████╗ ██████╗ █████╗ ███╗ ███╗██████╗ +" ██╔════╝██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝██╔══██╗████╗ ████║██╔══██╗ +" ███████╗██████╔╝███████║██║ █████╗ ██║ ███████║██╔████╔██║██████╔╝ +" ╚════██║██╔═══╝ ██╔══██║██║ ██╔══╝ ██║ ██╔══██║██║╚██╔╝██║██╔═══╝ +" ███████║██║ ██║ ██║╚██████╗███████╗╚██████╗██║ ██║██║ ╚═╝ ██║██║ +" ╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ +" +" Vim colors for the final frontier +" +" by Jared Gorski +" https://github.com/jaredgorski/spacecamp + +scriptencoding utf-8 + +set background=dark +hi clear + +if exists("syntax_on") + syntax reset +endif + +let g:colors_name="spacecamp" + +" ========================== +" Highlighting Function +" ========================== +" >> (inspired by https://github.com/tomasiser/vim-code-dark and https://github.com/chriskempson/base16-vim) +fun! <sid>hi(group, fg, bg, attr) + if !empty(a:fg) + exec "hi " . a:group . " guifg=" . a:fg.gui . " ctermfg=" . a:fg.cterm256 + endif + if !empty(a:bg) + exec "hi " . a:group . " guibg=" . a:bg.gui . " ctermbg=" . a:bg.cterm256 + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif +endfun + +" ========================== +" Color Variables +" ========================== +let s:spaceBlack = {'gui': '#121212', 'cterm256': '233'} +let s:spaceBlack2 = {'gui': '#262626', 'cterm256': '235'} +let s:spaceGray1 = {'gui': '#3E3D32', 'cterm256': '237'} +let s:spaceGray2 = {'gui': '#49483E', 'cterm256': '239'} +let s:spaceGray3 = {'gui': '#6B6B6B', 'cterm256': '242'} +let s:spaceGray4 = {'gui': '#B0B0B0', 'cterm256': '249'} +let s:spaceSteel = {'gui': '#DEDEDE', 'cterm256': '253'} +let s:spaceWhite = {'gui': '#EEEEEE', 'cterm256': '255'} +let s:spaceViolet = {'gui': '#CF73E6', 'cterm256': '170'} +let s:spaceBlue = {'gui': '#91AADF', 'cterm256': '110'} +let s:spaceBlue2 = {'gui': '#B7CBF4', 'cterm256': '111'} +let s:spaceGreen = {'gui': '#57BA37', 'cterm256': '71'} +let s:spaceGoo = {'gui': '#D8FA3B', 'cterm256': '191'} +let s:spaceGold = {'gui': '#F0D50C', 'cterm256': '220'} +let s:spaceOrange = {'gui': '#F66100', 'cterm256': '202'} +let s:spaceRed = {'gui': '#821A1A', 'cterm256': '1'} +let s:spaceRed2 = {'gui': '#FF0000', 'cterm256': '196'} +let s:none = {'gui': 'NONE', 'cterm256': 'NONE'} + +" ========================== +" Definitions +" ========================== +" <sid>hi(GROUP, FOREGROUND, BACKGROUND, ATTRIBUTE) + +" Editor +call <sid>hi('ColorColumn', s:none, s:spaceGray1, 'none') +call <sid>hi('Cursor', s:spaceBlack, s:spaceSteel, 'none') +call <sid>hi('CursorColumn', s:none, s:spaceGray1, 'none') +call <sid>hi('CursorLine', s:none, s:spaceGray1, 'none') +call <sid>hi('CursorLineNr', s:spaceSteel, s:spaceGray1, 'none') +call <sid>hi('Directory', s:spaceBlue, s:spaceBlack, 'none') +call <sid>hi('FoldColumn', s:none, s:spaceGray1, 'none') +call <sid>hi('Folded', s:spaceGray3, s:none, 'none') +call <sid>hi('IncSearch', s:spaceBlack, s:spaceBlue2, 'none') +call <sid>hi('LineNr', s:spaceGray3, s:spaceBlack2, 'none') +call <sid>hi('MatchParen', s:spaceBlack, s:spaceGold, 'none') +call <sid>hi('Normal', s:spaceWhite, s:spaceBlack, 'none') +call <sid>hi('Pmenu', s:none, s:spaceBlack2, 'none') +call <sid>hi('PmenuSel', s:none, s:spaceGray2, 'none') +call <sid>hi('Search', s:spaceBlack, s:spaceBlue, 'none') +call <sid>hi('SignColumn', s:none, s:spaceBlack2, 'none') +call <sid>hi('StatusLine', s:spaceBlack, s:spaceSteel, 'none') +call <sid>hi('StatusLineNC', s:spaceGray3, s:spaceBlack2, 'none') +call <sid>hi('VertSplit', s:spaceGray3, s:spaceGray3, 'none') +call <sid>hi('Visual', s:none, s:spaceGray2, 'none') +call <sid>hi('TabLine', s:spaceSteel, s:spaceGray2, 'none') +call <sid>hi('TabLineFill', s:spaceBlack, s:spaceBlack, 'none') + +" General +call <sid>hi('Boolean', s:spaceGoo, s:none, 'none') +call <sid>hi('Character', s:spaceGoo, s:none, 'none') +call <sid>hi('Comment', s:spaceGray3, s:none, 'none') +call <sid>hi('Conditional', s:spaceViolet, s:none, 'none') +call <sid>hi('Constant', s:spaceOrange, s:none, 'none') +call <sid>hi('Define', s:spaceViolet, s:none, 'none') +call <sid>hi('DiffAdd', s:spaceBlack, s:spaceGreen, 'none') +call <sid>hi('DiffChange', s:spaceBlack, s:spaceGold, 'none') +call <sid>hi('DiffDelete', s:spaceWhite, s:spaceRed, 'none') +call <sid>hi('DiffText', s:spaceGray1, s:spaceBlue, 'none') +call <sid>hi('ErrorMsg', s:spaceWhite, s:spaceRed, 'none') +call <sid>hi('Float', s:spaceGoo, s:none, 'none') +call <sid>hi('Function', s:spaceBlue, s:none, 'none') +call <sid>hi('Identifier', s:spaceGold, s:none, 'none') +call <sid>hi('Keyword', s:spaceGold, s:none, 'none') +call <sid>hi('Label', s:spaceGreen, s:none, 'none') +call <sid>hi('NonText', s:spaceGray1, s:spaceBlack, 'none') +call <sid>hi('Number', s:spaceGoo, s:none, 'none') +call <sid>hi('Operator', s:spaceViolet, s:none, 'none') +call <sid>hi('PreProc', s:spaceViolet, s:none, 'none') +call <sid>hi('Special', s:spaceWhite, s:none, 'none') +call <sid>hi('SpecialKey', s:spaceGray1, s:spaceBlack, 'none') +call <sid>hi('SpellBad', s:spaceRed2, s:none, 'italic,undercurl') +call <sid>hi('SpellCap', s:spaceBlue, s:none, 'italic,undercurl') +call <sid>hi('SpellLocal', s:spaceOrange, s:none, 'undercurl') +call <sid>hi('Statement', s:spaceViolet, s:none, 'none') +call <sid>hi('StorageClass', s:spaceGold, s:none, 'none') +call <sid>hi('String', s:spaceGreen, s:none, 'none') +call <sid>hi('Tag', s:spaceGold, s:none, 'none') +call <sid>hi('Title', s:none, s:none, 'bold') +call <sid>hi('Todo', s:spaceGray3, s:none, 'inverse,bold') +call <sid>hi('Type', s:none, s:none, 'none') +call <sid>hi('Underlined', s:none, s:none, 'underline') +call <sid>hi('WarningMsg', s:spaceWhite, s:spaceRed, 'none') + +" Diff Mode +if &diff + call <sid>hi('DiffAdd', s:spaceBlack, s:spaceGreen, 'none') + call <sid>hi('DiffChange', s:spaceBlack, s:spaceGold, 'none') + call <sid>hi('DiffDelete', s:spaceRed2, s:spaceRed, 'none') + call <sid>hi('DiffText', s:spaceGray1, s:spaceBlue, 'none') +else + call <sid>hi('DiffAdd', s:spaceGreen, s:none, 'none') + call <sid>hi('DiffChange', s:spaceGold, s:none, 'none') + call <sid>hi('DiffDelete', s:spaceRed2, s:none, 'none') + call <sid>hi('DiffText', s:spaceSteel, s:spaceBlue, 'none') +endif + +" ------------ +" Languages +" ------------ + +" C +call <sid>hi('cConstant', s:spaceOrange, s:none, 'none') +call <sid>hi('cFormat', s:spaceSteel, s:none, 'none') +call <sid>hi('cMulti', s:spaceViolet, s:none, 'none') +call <sid>hi('cNumbers', s:spaceGoo, s:none, 'none') +call <sid>hi('cOperator', s:spaceViolet, s:none, 'none') +call <sid>hi('cSpecial', s:spaceGoo, s:none, 'none') +call <sid>hi('cSpecialCharacter', s:spaceGoo, s:none, 'none') +call <sid>hi('cStatement', s:spaceViolet, s:none, 'none') +call <sid>hi('cStorageClass', s:spaceGold, s:none, 'none') +call <sid>hi('cString', s:spaceGreen, s:none, 'none') +call <sid>hi('cStructure', s:spaceGold, s:none, 'none') +call <sid>hi('cType', s:spaceBlue, s:none, 'none') + +" C++ +call <sid>hi('cppConstant', s:spaceOrange, s:none, 'none') +call <sid>hi('cppFormat', s:spaceSteel, s:none, 'none') +call <sid>hi('cppMulti', s:spaceViolet, s:none, 'none') +call <sid>hi('cppNumbers', s:spaceGoo, s:none, 'none') +call <sid>hi('cppOperator', s:spaceViolet, s:none, 'none') +call <sid>hi('cppSpecial', s:spaceGoo, s:none, 'none') +call <sid>hi('cppSpecialCharacter', s:spaceGoo, s:none, 'none') +call <sid>hi('cppStatement', s:spaceViolet, s:none, 'none') +call <sid>hi('cppStorageClass', s:spaceGold, s:none, 'none') +call <sid>hi('cppString', s:spaceGreen, s:none, 'none') +call <sid>hi('cppStructure', s:spaceGold, s:none, 'none') +call <sid>hi('cppType', s:spaceBlue, s:none, 'none') + +" CSS +call <sid>hi('cssAttr', s:spaceViolet, s:none, 'none') +call <sid>hi('cssAttrRegion', s:spaceViolet, s:none, 'none') +call <sid>hi('cssBraces', s:spaceWhite, s:none, 'none') +call <sid>hi('cssBrowserPrefix', s:spaceSteel, s:none, 'none') +call <sid>hi('cssClassName', s:spaceBlue2, s:none, 'none') +call <sid>hi('cssClassNameDot', s:spaceSteel, s:none, 'none') +call <sid>hi('cssClassSelectorDot', s:spaceSteel, s:none, 'none') +call <sid>hi('cssColor', s:spaceSteel, s:none, 'none') +call <sid>hi('cssCommonAttr', s:spaceViolet, s:none, 'none') +call <sid>hi('cssCustomProperty', s:spaceGray4, s:none, 'none') +call <sid>hi('cssDefinition', s:spaceGray4, s:none, 'none') +call <sid>hi('cssFunction', s:spaceSteel, s:none, 'none') +call <sid>hi('cssFunctionName', s:spaceBlue, s:none, 'none') +call <sid>hi('cssIdentifier', s:spaceBlue2, s:none, 'none') +call <sid>hi('cssImportant', s:spaceOrange, s:none, 'none') +call <sid>hi('cssInclude', s:spaceSteel, s:none, 'none') +call <sid>hi('cssMedia', s:spaceGoo, s:none, 'none') +call <sid>hi('cssMediaBlock', s:spaceGoo, s:none, 'none') +call <sid>hi('cssProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssGeneratedContentProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssTextProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssAnimationProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssUIProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssTransformProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssTransitionProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssPrintProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssPositioningProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssBoxProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssFontDescriptorProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssFlexibleBoxProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssBorderOutlineProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssBackgroundProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssMarginProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssListProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssTableProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssFontProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssPaddingProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssDimensionProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssRenderProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssColorProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssGeneratedContentProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssPropDefinition', s:spaceGray4, s:none, 'none') +call <sid>hi('cssPseudoClass', s:spaceGold, s:none, 'none') +call <sid>hi('cssPseudoClassId', s:spaceGold, s:none, 'none') +call <sid>hi('cssPseudoClassLang', s:spaceGold, s:none, 'none') +call <sid>hi('cssSelectorOperator', s:spaceSteel, s:none, 'none') +call <sid>hi('cssTagName', s:spaceBlue2, s:none, 'none') +call <sid>hi('cssURL', s:spaceGold, s:none, 'none') +call <sid>hi('cssUnitDecorators', s:spaceViolet, s:none, 'none') +call <sid>hi('cssUnits', s:spaceViolet, s:none, 'none') +call <sid>hi('cssValueLength', s:spaceBlue, s:none, 'none') +call <sid>hi('cssValueNumber', s:spaceBlue, s:none, 'none') +call <sid>hi('cssValueKeyword', s:spaceGreen, s:none, 'none') +call <sid>hi('cssVendor', s:spaceSteel, s:none, 'none') + +" HTML +call <sid>hi('htmlArg', s:spaceViolet, s:none, 'none') +call <sid>hi('htmlEndTag', s:spaceSteel, s:none, 'none') +call <sid>hi('htmlSpecialChar', s:spaceGoo, s:none, 'none') +call <sid>hi('htmlSpecialTagName', s:spaceBlue2, s:none, 'none') +call <sid>hi('htmlTag', s:spaceSteel, s:none, 'none') +call <sid>hi('htmlTagName', s:spaceBlue2, s:none, 'none') + +" JavaScript +call <sid>hi('javaScript', s:spaceWhite, s:none, 'none') +call <sid>hi('javaScriptFunction', s:spaceGold, s:none, 'none') +call <sid>hi('javaScriptIdentifier', s:spaceBlue, s:none, 'none') +call <sid>hi('javaScriptMember', s:spaceSteel, s:none, 'none') +call <sid>hi('javaScriptNull', s:spaceGoo, s:none, 'none') +call <sid>hi('javaScriptNumber', s:spaceGoo, s:none, 'none') +call <sid>hi('javaScriptNumber', s:spaceGoo, s:none, 'none') +call <sid>hi('javaScriptParens', s:spaceWhite, s:none, 'none') +call <sid>hi('javaScriptSpecial', s:spaceGoo, s:none, 'none') +call <sid>hi('javaScriptStringS', s:spaceGreen, s:none, 'none') +call <sid>hi('javascriptArrayMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptArrayStaticMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptArrowFunc', s:spaceGold, s:none, 'none') +call <sid>hi('javascriptAsyncFuncKeyword', s:spaceGold, s:none, 'none') +call <sid>hi('javascriptAwaitFuncKeyword', s:spaceGold, s:none, 'none') +call <sid>hi('javascriptBraces', s:spaceWhite, s:none, 'none') +call <sid>hi('javascriptBrackets', s:spaceWhite, s:none, 'none') +call <sid>hi('javascriptCacheMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptClassExtends', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptClassKeyword', s:spaceGold, s:none, 'none') +call <sid>hi('javascriptClassName', s:spaceBlue, s:none, 'none') +call <sid>hi('javascriptClassSuperName', s:spaceBlue, s:none, 'none') +call <sid>hi('javascriptDOMElemAttrs', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptDOMEventMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptDOMNodeMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptDOMStorageMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptDateMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptDefault', s:spaceGold, s:none, 'none') +call <sid>hi('javascriptDocNamedParamType', s:spaceGray4, s:none, 'none') +call <sid>hi('javascriptDocNotation', s:spaceGray4, s:none, 'none') +call <sid>hi('javascriptDocParamName', s:spaceGray4, s:none, 'none') +call <sid>hi('javascriptDocParamType', s:spaceGray4, s:none, 'none') +call <sid>hi('javascriptDocTags', s:spaceGray4, s:none, 'none') +call <sid>hi('javascriptEndColons', s:spaceWhite, s:none, 'none') +call <sid>hi('javascriptExport', s:spaceViolet, s:none, 'none') +call <sid>hi('javascriptHeadersMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptIdentifierName', s:spaceBlue, s:none, 'none') +call <sid>hi('javascriptImport', s:spaceViolet, s:none, 'none') +call <sid>hi('javascriptLabel', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptLogicSymbols', s:spaceViolet, s:none, 'none') +call <sid>hi('javascriptMathStaticMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptObjectLabel', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptOperator', s:spaceViolet, s:none, 'none') +call <sid>hi('javascriptPropertyName', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptStringMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptVariable', s:spaceWhite, s:none, 'none') +call <sid>hi('javascriptYield', s:spaceGold, s:none, 'none') +call <sid>hi('jsArrowFunction', s:spaceGold, s:none, 'none') +call <sid>hi('jsClassDefinition', s:spaceBlue, s:none, 'none') +call <sid>hi('jsClassKeyword', s:spaceGold, s:none, 'none') +call <sid>hi('jsDecorator', s:spaceGoo, s:none, 'none') +call <sid>hi('jsDestructuringBlock', s:spaceSteel, s:none, 'none') +call <sid>hi('jsExportDefault', s:spaceGold, s:none, 'none') +call <sid>hi('jsExtendsKeyword', s:spaceSteel, s:none, 'none') +call <sid>hi('jsFuncArgs', s:spaceSteel, s:none, 'none') +call <sid>hi('jsFuncCall', s:spaceBlue, s:none, 'none') +call <sid>hi('jsFunction', s:spaceGold, s:none, 'none') +call <sid>hi('jsGlobalObjects', s:spaceOrange, s:none, 'none') +call <sid>hi('jsModuleKeyword', s:spaceSteel, s:none, 'none') +call <sid>hi('jsNull', s:spaceGoo, s:none, 'none') +call <sid>hi('jsObjectBraces', s:spaceWhite, s:none, 'none') +call <sid>hi('jsObjectKey', s:spaceSteel, s:none, 'none') +call <sid>hi('jsObjectStringKey', s:spaceGreen, s:none, 'none') +call <sid>hi('jsRegexpString', s:spaceGoo, s:none, 'none') +call <sid>hi('jsReturn', s:spaceViolet, s:none, 'none') +call <sid>hi('jsSpecial', s:spaceGoo, s:none, 'none') +call <sid>hi('jsSuper', s:spaceOrange, s:none, 'none') +call <sid>hi('jsTemplateBraces', s:spaceSteel, s:none, 'none') +call <sid>hi('jsTemplateString', s:spaceGreen, s:none, 'none') +call <sid>hi('jsThis', s:spaceBlue, s:none, 'none') +call <sid>hi('jsVariableDef', s:spaceWhite, s:none, 'none') + +" JSX +call <sid>hi('jsxAttrib', s:spaceViolet, s:none, 'none') +call <sid>hi('jsxAttributeBraces', s:spaceWhite, s:none, 'none') +call <sid>hi('jsxCloseString', s:spaceBlue2, s:none, 'none') +call <sid>hi('jsxCloseTag', s:spaceSteel, s:none, 'none') +call <sid>hi('jsxString', s:spaceGreen, s:none, 'none') +call <sid>hi('jsxTag', s:spaceSteel, s:none, 'none') +call <sid>hi('jsxTagName', s:spaceBlue2, s:none, 'none') + +" Ruby +call <sid>hi('rubyBlockParameter', s:spaceBlue, s:none, 'none') +call <sid>hi('rubyClass', s:spaceViolet, s:none, 'none') +call <sid>hi('rubyClassVariable', s:spaceWhite, s:none, 'none') +call <sid>hi('rubyConstant', s:spaceOrange, s:none, 'none') +call <sid>hi('rubyControl', s:spaceViolet, s:none, 'none') +call <sid>hi('rubyEscape', s:spaceGoo, s:none, 'none') +call <sid>hi('rubyException', s:spaceViolet, s:none, 'none') +call <sid>hi('rubyFunction', s:spaceBlue, s:none, 'none') +call <sid>hi('rubyGlobalVariable', s:spaceWhite, s:none, 'none') +call <sid>hi('rubyInclude', s:spaceViolet, s:none, 'none') +call <sid>hi('rubyInstanceVariable', s:spaceWhite, s:none, 'none') +call <sid>hi('rubyInterpolationDelimiter', s:none, s:none, 'none') +call <sid>hi('rubyOperator', s:spaceViolet, s:none, 'none') +call <sid>hi('rubyPseudoVariable', s:spaceWhite, s:none, 'none') +call <sid>hi('rubyRegexp', s:spaceGreen, s:none, 'none') +call <sid>hi('rubyRegexpDelimiter', s:spaceGreen, s:none, 'none') +call <sid>hi('rubyStringDelimiter', s:spaceGreen, s:none, 'none') +call <sid>hi('rubySymbol', s:spaceGoo, s:none, 'none') + +" Ruby (Embedded) +call <sid>hi('erubyComment', s:spaceGray3, s:none, 'none') +call <sid>hi('erubyDelimiter', s:none, s:none, 'none') +call <sid>hi('erubyRailsMethod', s:spaceOrange, s:none, 'none') + +" Ruby on Rails +call <sid>hi('rubyRailsARAssociationMethod', s:spaceOrange, s:none, 'none') +call <sid>hi('rubyRailsARMethod', s:spaceOrange, s:none, 'none') +call <sid>hi('rubyRailsMethod', s:spaceOrange, s:none, 'none') +call <sid>hi('rubyRailsRenderMethod', s:spaceOrange, s:none, 'none') +call <sid>hi('rubyRailsUserClass', s:spaceOrange, s:none, 'none') + +" XML +call <sid>hi('xmlAttrib', s:spaceViolet, s:none, 'none') +call <sid>hi('xmlEndTag', s:spaceSteel, s:none, 'none') +call <sid>hi('xmlTag', s:spaceSteel, s:none, 'none') +call <sid>hi('xmlTagName', s:spaceBlue2, s:none, 'none') + +" YAML +call <sid>hi('yamlAlias', s:spaceWhite, s:none, 'none') +call <sid>hi('yamlAnchor', s:spaceWhite, s:none, 'none') +call <sid>hi('yamlDocumentHeader', s:spaceGreen, s:none, 'none') +call <sid>hi('yamlKey', s:spaceGold, s:none, 'none') + + + +" ------------ +" Plugins +" ------------ + +" todo.txt +call <sid>hi('TodoContext', s:spaceOrange, s:none, 'none') +call <sid>hi('TodoDate', s:spaceBlue, s:none, 'none') +call <sid>hi('TodoDone', s:spaceGray3, s:none, 'none') +call <sid>hi('TodoPriorityA', s:spaceGoo, s:none, 'none') +call <sid>hi('TodoPriorityB', s:spaceGreen, s:none, 'none') +call <sid>hi('TodoPriorityC', s:spaceGold, s:none, 'none') +call <sid>hi('TodoProject', s:spaceViolet, s:none, 'none') + +" Buftabline +call <sid>hi('BufTabLineActive', s:spaceSteel, s:spaceGray2, 'none') +call <sid>hi('BufTabLineCurrent', s:spaceBlack, s:spaceGray4, 'none') +call <sid>hi('BufTabLineFill', s:spaceBlack, s:spaceBlack, 'none') +call <sid>hi('BufTabLineHidden', s:spaceGray3, s:spaceBlack2, 'none') + diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/spacecamp_lite.vim b/nvim/plugged/awesome-vim-colorschemes/colors/spacecamp_lite.vim new file mode 100644 index 00000000..e0b4eaa7 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/spacecamp_lite.vim @@ -0,0 +1,384 @@ +" +" +" ███████╗██████╗ █████╗ ██████╗███████╗ ██████╗ █████╗ ███╗ ███╗██████╗ +" ██╔════╝██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝██╔══██╗████╗ ████║██╔══██╗ +" ███████╗██████╔╝███████║██║ █████╗ ██║ ███████║██╔████╔██║██████╔╝ +" ╚════██║██╔═══╝ ██╔══██║██║ ██╔══╝ ██║ ██╔══██║██║╚██╔╝██║██╔═══╝ +" ███████║██║ ██║ ██║╚██████╗███████╗╚██████╗██║ ██║██║ ╚═╝ ██║██║ +" ╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ +" +" Vim colors for the final frontier +" +" by Jared Gorski +" https://github.com/jaredgorski/spacecamp + +scriptencoding utf-8 + +set background=dark +hi clear + +if exists("syntax_on") + syntax reset +endif + +let g:colors_name="spacecamp_lite" + +" ========================== +" Highlighting Function +" ========================== +" >> (inspired by https://github.com/tomasiser/vim-code-dark and https://github.com/chriskempson/base16-vim) +fun! <sid>hi(group, fg, bg, attr) + if !empty(a:fg) + exec "hi " . a:group . " guifg=" . a:fg.gui . " ctermfg=" . a:fg.cterm256 + endif + if !empty(a:bg) + exec "hi " . a:group . " guibg=" . a:bg.gui . " ctermbg=" . a:bg.cterm256 + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif +endfun + +" ========================== +" Color Variables +" ========================== +let s:spaceBlack = {'gui': '#1C1C1C', 'cterm256': '234'} +let s:spaceBlack2 = {'gui': '#262626', 'cterm256': '235'} +let s:spaceGray1 = {'gui': '#3E3D32', 'cterm256': '237'} +let s:spaceGray2 = {'gui': '#49483E', 'cterm256': '239'} +let s:spaceGray3 = {'gui': '#6B6B6B', 'cterm256': '242'} +let s:spaceGray4 = {'gui': '#B0B0B0', 'cterm256': '249'} +let s:spaceSteel = {'gui': '#DEDEDE', 'cterm256': '253'} +let s:spaceWhite = {'gui': '#EEEEEE', 'cterm256': '255'} +let s:spaceViolet = {'gui': '#CF73E6', 'cterm256': '170'} +let s:spaceBlue = {'gui': '#91AADF', 'cterm256': '110'} +let s:spaceBlue2 = {'gui': '#B7CBF4', 'cterm256': '111'} +let s:spaceGreen = {'gui': '#57BA37', 'cterm256': '71'} +let s:spaceGoo = {'gui': '#D8FA3B', 'cterm256': '191'} +let s:spaceGold = {'gui': '#F0D50C', 'cterm256': '220'} +let s:spaceOrange = {'gui': '#F66100', 'cterm256': '202'} +let s:spaceRed = {'gui': '#821A1A', 'cterm256': '1'} +let s:spaceRed2 = {'gui': '#FF0000', 'cterm256': '196'} +let s:none = {'gui': 'NONE', 'cterm256': 'NONE'} + +" ========================== +" Definitions +" ========================== +" <sid>hi(GROUP, FOREGROUND, BACKGROUND, ATTRIBUTE) + +" Editor +call <sid>hi('ColorColumn', s:none, s:spaceGray1, 'none') +call <sid>hi('Cursor', s:spaceBlack, s:spaceSteel, 'none') +call <sid>hi('CursorColumn', s:none, s:spaceGray1, 'none') +call <sid>hi('CursorLine', s:none, s:spaceGray1, 'none') +call <sid>hi('CursorLineNr', s:spaceSteel, s:spaceGray1, 'none') +call <sid>hi('Directory', s:spaceBlue, s:spaceBlack, 'none') +call <sid>hi('FoldColumn', s:none, s:spaceGray1, 'none') +call <sid>hi('Folded', s:spaceGray3, s:none, 'none') +call <sid>hi('IncSearch', s:spaceBlack, s:spaceBlue2, 'none') +call <sid>hi('LineNr', s:spaceGray3, s:spaceBlack2, 'none') +call <sid>hi('MatchParen', s:spaceBlack, s:spaceGold, 'none') +call <sid>hi('Normal', s:spaceWhite, s:spaceBlack, 'none') +call <sid>hi('Pmenu', s:none, s:spaceBlack2, 'none') +call <sid>hi('PmenuSel', s:none, s:spaceGray2, 'none') +call <sid>hi('SignColumn', s:none, s:spaceBlack2, 'none') +call <sid>hi('Search', s:spaceBlack, s:spaceBlue, 'none') +call <sid>hi('StatusLine', s:spaceBlack, s:spaceSteel, 'none') +call <sid>hi('StatusLineNC', s:spaceGray3, s:spaceBlack2, 'none') +call <sid>hi('VertSplit', s:spaceGray3, s:spaceGray3, 'none') +call <sid>hi('Visual', s:none, s:spaceGray2, 'none') +call <sid>hi('TabLine', s:spaceSteel, s:spaceGray2, 'none') +call <sid>hi('TabLineFill', s:spaceBlack, s:spaceBlack, 'none') + +" General +call <sid>hi('Boolean', s:spaceGoo, s:none, 'none') +call <sid>hi('Character', s:spaceGoo, s:none, 'none') +call <sid>hi('Comment', s:spaceGray3, s:none, 'none') +call <sid>hi('Conditional', s:spaceViolet, s:none, 'none') +call <sid>hi('Constant', s:spaceOrange, s:none, 'none') +call <sid>hi('Define', s:spaceViolet, s:none, 'none') +call <sid>hi('DiffAdd', s:spaceBlack, s:spaceGreen, 'none') +call <sid>hi('DiffChange', s:spaceBlack, s:spaceGold, 'none') +call <sid>hi('DiffDelete', s:spaceWhite, s:spaceRed, 'none') +call <sid>hi('DiffText', s:spaceGray1, s:spaceBlue, 'none') +call <sid>hi('ErrorMsg', s:spaceWhite, s:spaceRed, 'none') +call <sid>hi('Float', s:spaceGoo, s:none, 'none') +call <sid>hi('Function', s:spaceBlue, s:none, 'none') +call <sid>hi('Identifier', s:spaceGold, s:none, 'none') +call <sid>hi('Keyword', s:spaceGold, s:none, 'none') +call <sid>hi('Label', s:spaceGreen, s:none, 'none') +call <sid>hi('NonText', s:spaceGray1, s:spaceBlack, 'none') +call <sid>hi('Number', s:spaceGoo, s:none, 'none') +call <sid>hi('Operator', s:spaceViolet, s:none, 'none') +call <sid>hi('PreProc', s:spaceViolet, s:none, 'none') +call <sid>hi('Special', s:spaceWhite, s:none, 'none') +call <sid>hi('SpecialKey', s:spaceGray1, s:spaceBlack, 'none') +call <sid>hi('SpellBad', s:spaceRed2, s:none, 'italic,undercurl') +call <sid>hi('SpellCap', s:spaceBlue, s:none, 'italic,undercurl') +call <sid>hi('SpellLocal', s:spaceOrange, s:none, 'undercurl') +call <sid>hi('Statement', s:spaceViolet, s:none, 'none') +call <sid>hi('StorageClass', s:spaceGold, s:none, 'none') +call <sid>hi('String', s:spaceGreen, s:none, 'none') +call <sid>hi('Tag', s:spaceGold, s:none, 'none') +call <sid>hi('Title', s:none, s:none, 'bold') +call <sid>hi('Todo', s:spaceGray3, s:none, 'inverse,bold') +call <sid>hi('Type', s:none, s:none, 'none') +call <sid>hi('Underlined', s:none, s:none, 'underline') +call <sid>hi('WarningMsg', s:spaceWhite, s:spaceRed, 'none') + +" Diff Mode +if &diff + call <sid>hi('DiffAdd', s:spaceBlack, s:spaceGreen, 'none') + call <sid>hi('DiffChange', s:spaceBlack, s:spaceGold, 'none') + call <sid>hi('DiffDelete', s:spaceRed2, s:spaceRed, 'none') + call <sid>hi('DiffText', s:spaceGray1, s:spaceBlue, 'none') +else + call <sid>hi('DiffAdd', s:spaceGreen, s:none, 'none') + call <sid>hi('DiffChange', s:spaceGold, s:none, 'none') + call <sid>hi('DiffDelete', s:spaceRed2, s:none, 'none') + call <sid>hi('DiffText', s:spaceSteel, s:spaceBlue, 'none') +endif + +" ------------ +" Languages +" ------------ + +" C +call <sid>hi('cConstant', s:spaceOrange, s:none, 'none') +call <sid>hi('cFormat', s:spaceSteel, s:none, 'none') +call <sid>hi('cMulti', s:spaceViolet, s:none, 'none') +call <sid>hi('cNumbers', s:spaceGoo, s:none, 'none') +call <sid>hi('cOperator', s:spaceViolet, s:none, 'none') +call <sid>hi('cSpecial', s:spaceGoo, s:none, 'none') +call <sid>hi('cSpecialCharacter', s:spaceGoo, s:none, 'none') +call <sid>hi('cStatement', s:spaceViolet, s:none, 'none') +call <sid>hi('cStorageClass', s:spaceGold, s:none, 'none') +call <sid>hi('cString', s:spaceGreen, s:none, 'none') +call <sid>hi('cStructure', s:spaceGold, s:none, 'none') +call <sid>hi('cType', s:spaceBlue, s:none, 'none') + +" C++ +call <sid>hi('cppConstant', s:spaceOrange, s:none, 'none') +call <sid>hi('cppFormat', s:spaceSteel, s:none, 'none') +call <sid>hi('cppMulti', s:spaceViolet, s:none, 'none') +call <sid>hi('cppNumbers', s:spaceGoo, s:none, 'none') +call <sid>hi('cppOperator', s:spaceViolet, s:none, 'none') +call <sid>hi('cppSpecial', s:spaceGoo, s:none, 'none') +call <sid>hi('cppSpecialCharacter', s:spaceGoo, s:none, 'none') +call <sid>hi('cppStatement', s:spaceViolet, s:none, 'none') +call <sid>hi('cppStorageClass', s:spaceGold, s:none, 'none') +call <sid>hi('cppString', s:spaceGreen, s:none, 'none') +call <sid>hi('cppStructure', s:spaceGold, s:none, 'none') +call <sid>hi('cppType', s:spaceBlue, s:none, 'none') + +" CSS +call <sid>hi('cssAttr', s:spaceViolet, s:none, 'none') +call <sid>hi('cssAttrRegion', s:spaceViolet, s:none, 'none') +call <sid>hi('cssBraces', s:spaceWhite, s:none, 'none') +call <sid>hi('cssBrowserPrefix', s:spaceSteel, s:none, 'none') +call <sid>hi('cssClassName', s:spaceBlue2, s:none, 'none') +call <sid>hi('cssClassNameDot', s:spaceSteel, s:none, 'none') +call <sid>hi('cssClassSelectorDot', s:spaceSteel, s:none, 'none') +call <sid>hi('cssColor', s:spaceSteel, s:none, 'none') +call <sid>hi('cssCommonAttr', s:spaceViolet, s:none, 'none') +call <sid>hi('cssCustomProperty', s:spaceGray4, s:none, 'none') +call <sid>hi('cssDefinition', s:spaceGray4, s:none, 'none') +call <sid>hi('cssFunction', s:spaceSteel, s:none, 'none') +call <sid>hi('cssFunctionName', s:spaceBlue, s:none, 'none') +call <sid>hi('cssIdentifier', s:spaceBlue2, s:none, 'none') +call <sid>hi('cssImportant', s:spaceOrange, s:none, 'none') +call <sid>hi('cssInclude', s:spaceSteel, s:none, 'none') +call <sid>hi('cssMedia', s:spaceGoo, s:none, 'none') +call <sid>hi('cssMediaBlock', s:spaceGoo, s:none, 'none') +call <sid>hi('cssProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssGeneratedContentProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssTextProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssAnimationProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssUIProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssTransformProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssTransitionProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssPrintProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssPositioningProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssBoxProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssFontDescriptorProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssFlexibleBoxProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssBorderOutlineProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssBackgroundProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssMarginProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssListProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssTableProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssFontProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssPaddingProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssDimensionProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssRenderProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssColorProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssGeneratedContentProp', s:spaceGray4, s:none, 'none') +call <sid>hi('cssPropDefinition', s:spaceGray4, s:none, 'none') +call <sid>hi('cssPseudoClass', s:spaceGold, s:none, 'none') +call <sid>hi('cssPseudoClassId', s:spaceGold, s:none, 'none') +call <sid>hi('cssPseudoClassLang', s:spaceGold, s:none, 'none') +call <sid>hi('cssSelectorOperator', s:spaceSteel, s:none, 'none') +call <sid>hi('cssTagName', s:spaceBlue2, s:none, 'none') +call <sid>hi('cssURL', s:spaceGold, s:none, 'none') +call <sid>hi('cssUnitDecorators', s:spaceViolet, s:none, 'none') +call <sid>hi('cssUnits', s:spaceViolet, s:none, 'none') +call <sid>hi('cssValueLength', s:spaceBlue, s:none, 'none') +call <sid>hi('cssValueNumber', s:spaceBlue, s:none, 'none') +call <sid>hi('cssValueKeyword', s:spaceGreen, s:none, 'none') +call <sid>hi('cssVendor', s:spaceSteel, s:none, 'none') + +" HTML +call <sid>hi('htmlArg', s:spaceViolet, s:none, 'none') +call <sid>hi('htmlEndTag', s:spaceSteel, s:none, 'none') +call <sid>hi('htmlSpecialChar', s:spaceGoo, s:none, 'none') +call <sid>hi('htmlSpecialTagName', s:spaceBlue2, s:none, 'none') +call <sid>hi('htmlTag', s:spaceSteel, s:none, 'none') +call <sid>hi('htmlTagName', s:spaceBlue2, s:none, 'none') + +" JavaScript +call <sid>hi('javaScript', s:spaceWhite, s:none, 'none') +call <sid>hi('javaScriptFunction', s:spaceGold, s:none, 'none') +call <sid>hi('javaScriptIdentifier', s:spaceBlue, s:none, 'none') +call <sid>hi('javaScriptMember', s:spaceSteel, s:none, 'none') +call <sid>hi('javaScriptNull', s:spaceGoo, s:none, 'none') +call <sid>hi('javaScriptNumber', s:spaceGoo, s:none, 'none') +call <sid>hi('javaScriptNumber', s:spaceGoo, s:none, 'none') +call <sid>hi('javaScriptParens', s:spaceWhite, s:none, 'none') +call <sid>hi('javaScriptSpecial', s:spaceGoo, s:none, 'none') +call <sid>hi('javaScriptStringS', s:spaceGreen, s:none, 'none') +call <sid>hi('javascriptArrayMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptArrayStaticMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptArrowFunc', s:spaceGold, s:none, 'none') +call <sid>hi('javascriptAsyncFuncKeyword', s:spaceGold, s:none, 'none') +call <sid>hi('javascriptAwaitFuncKeyword', s:spaceGold, s:none, 'none') +call <sid>hi('javascriptBraces', s:spaceWhite, s:none, 'none') +call <sid>hi('javascriptBrackets', s:spaceWhite, s:none, 'none') +call <sid>hi('javascriptCacheMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptClassExtends', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptClassKeyword', s:spaceGold, s:none, 'none') +call <sid>hi('javascriptClassName', s:spaceBlue, s:none, 'none') +call <sid>hi('javascriptClassSuperName', s:spaceBlue, s:none, 'none') +call <sid>hi('javascriptDOMElemAttrs', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptDOMEventMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptDOMNodeMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptDOMStorageMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptDateMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptDefault', s:spaceGold, s:none, 'none') +call <sid>hi('javascriptDocNamedParamType', s:spaceGray4, s:none, 'none') +call <sid>hi('javascriptDocNotation', s:spaceGray4, s:none, 'none') +call <sid>hi('javascriptDocParamName', s:spaceGray4, s:none, 'none') +call <sid>hi('javascriptDocParamType', s:spaceGray4, s:none, 'none') +call <sid>hi('javascriptDocTags', s:spaceGray4, s:none, 'none') +call <sid>hi('javascriptEndColons', s:spaceWhite, s:none, 'none') +call <sid>hi('javascriptExport', s:spaceViolet, s:none, 'none') +call <sid>hi('javascriptHeadersMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptIdentifierName', s:spaceBlue, s:none, 'none') +call <sid>hi('javascriptImport', s:spaceViolet, s:none, 'none') +call <sid>hi('javascriptLabel', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptLogicSymbols', s:spaceViolet, s:none, 'none') +call <sid>hi('javascriptMathStaticMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptObjectLabel', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptOperator', s:spaceViolet, s:none, 'none') +call <sid>hi('javascriptPropertyName', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptStringMethod', s:spaceSteel, s:none, 'none') +call <sid>hi('javascriptVariable', s:spaceWhite, s:none, 'none') +call <sid>hi('javascriptYield', s:spaceGold, s:none, 'none') +call <sid>hi('jsArrowFunction', s:spaceGold, s:none, 'none') +call <sid>hi('jsClassDefinition', s:spaceBlue, s:none, 'none') +call <sid>hi('jsClassKeyword', s:spaceGold, s:none, 'none') +call <sid>hi('jsDecorator', s:spaceGoo, s:none, 'none') +call <sid>hi('jsDestructuringBlock', s:spaceSteel, s:none, 'none') +call <sid>hi('jsExportDefault', s:spaceGold, s:none, 'none') +call <sid>hi('jsExtendsKeyword', s:spaceSteel, s:none, 'none') +call <sid>hi('jsFuncArgs', s:spaceSteel, s:none, 'none') +call <sid>hi('jsFuncCall', s:spaceBlue, s:none, 'none') +call <sid>hi('jsFunction', s:spaceGold, s:none, 'none') +call <sid>hi('jsGlobalObjects', s:spaceOrange, s:none, 'none') +call <sid>hi('jsModuleKeyword', s:spaceSteel, s:none, 'none') +call <sid>hi('jsNull', s:spaceGoo, s:none, 'none') +call <sid>hi('jsObjectBraces', s:spaceWhite, s:none, 'none') +call <sid>hi('jsObjectKey', s:spaceSteel, s:none, 'none') +call <sid>hi('jsObjectStringKey', s:spaceGreen, s:none, 'none') +call <sid>hi('jsRegexpString', s:spaceGoo, s:none, 'none') +call <sid>hi('jsReturn', s:spaceViolet, s:none, 'none') +call <sid>hi('jsSpecial', s:spaceGoo, s:none, 'none') +call <sid>hi('jsSuper', s:spaceOrange, s:none, 'none') +call <sid>hi('jsTemplateBraces', s:spaceSteel, s:none, 'none') +call <sid>hi('jsTemplateString', s:spaceGreen, s:none, 'none') +call <sid>hi('jsThis', s:spaceBlue, s:none, 'none') +call <sid>hi('jsVariableDef', s:spaceWhite, s:none, 'none') + +" JSX +call <sid>hi('jsxAttrib', s:spaceViolet, s:none, 'none') +call <sid>hi('jsxAttributeBraces', s:spaceWhite, s:none, 'none') +call <sid>hi('jsxCloseString', s:spaceBlue2, s:none, 'none') +call <sid>hi('jsxCloseTag', s:spaceSteel, s:none, 'none') +call <sid>hi('jsxString', s:spaceGreen, s:none, 'none') +call <sid>hi('jsxTag', s:spaceSteel, s:none, 'none') +call <sid>hi('jsxTagName', s:spaceBlue2, s:none, 'none') + +" Ruby +call <sid>hi('rubyBlockParameter', s:spaceBlue, s:none, 'none') +call <sid>hi('rubyClass', s:spaceViolet, s:none, 'none') +call <sid>hi('rubyClassVariable', s:spaceWhite, s:none, 'none') +call <sid>hi('rubyConstant', s:spaceOrange, s:none, 'none') +call <sid>hi('rubyControl', s:spaceViolet, s:none, 'none') +call <sid>hi('rubyEscape', s:spaceGoo, s:none, 'none') +call <sid>hi('rubyException', s:spaceViolet, s:none, 'none') +call <sid>hi('rubyFunction', s:spaceBlue, s:none, 'none') +call <sid>hi('rubyGlobalVariable', s:spaceWhite, s:none, 'none') +call <sid>hi('rubyInclude', s:spaceViolet, s:none, 'none') +call <sid>hi('rubyInstanceVariable', s:spaceWhite, s:none, 'none') +call <sid>hi('rubyInterpolationDelimiter', s:none, s:none, 'none') +call <sid>hi('rubyOperator', s:spaceViolet, s:none, 'none') +call <sid>hi('rubyPseudoVariable', s:spaceWhite, s:none, 'none') +call <sid>hi('rubyRegexp', s:spaceGreen, s:none, 'none') +call <sid>hi('rubyRegexpDelimiter', s:spaceGreen, s:none, 'none') +call <sid>hi('rubyStringDelimiter', s:spaceGreen, s:none, 'none') +call <sid>hi('rubySymbol', s:spaceGoo, s:none, 'none') + +" Ruby (Embedded) +call <sid>hi('erubyComment', s:spaceGray3, s:none, 'none') +call <sid>hi('erubyDelimiter', s:none, s:none, 'none') +call <sid>hi('erubyRailsMethod', s:spaceOrange, s:none, 'none') + +" Ruby on Rails +call <sid>hi('rubyRailsARAssociationMethod', s:spaceOrange, s:none, 'none') +call <sid>hi('rubyRailsARMethod', s:spaceOrange, s:none, 'none') +call <sid>hi('rubyRailsMethod', s:spaceOrange, s:none, 'none') +call <sid>hi('rubyRailsRenderMethod', s:spaceOrange, s:none, 'none') +call <sid>hi('rubyRailsUserClass', s:spaceOrange, s:none, 'none') + +" XML +call <sid>hi('xmlAttrib', s:spaceViolet, s:none, 'none') +call <sid>hi('xmlEndTag', s:spaceSteel, s:none, 'none') +call <sid>hi('xmlTag', s:spaceSteel, s:none, 'none') +call <sid>hi('xmlTagName', s:spaceBlue2, s:none, 'none') + +" YAML +call <sid>hi('yamlAlias', s:spaceWhite, s:none, 'none') +call <sid>hi('yamlAnchor', s:spaceWhite, s:none, 'none') +call <sid>hi('yamlDocumentHeader', s:spaceGreen, s:none, 'none') +call <sid>hi('yamlKey', s:spaceGold, s:none, 'none') + + + +" ------------ +" Plugins +" ------------ + +" todo.txt +call <sid>hi('TodoContext', s:spaceOrange, s:none, 'none') +call <sid>hi('TodoDate', s:spaceBlue, s:none, 'none') +call <sid>hi('TodoDone', s:spaceGray3, s:none, 'none') +call <sid>hi('TodoPriorityA', s:spaceGoo, s:none, 'none') +call <sid>hi('TodoPriorityB', s:spaceGreen, s:none, 'none') +call <sid>hi('TodoPriorityC', s:spaceGold, s:none, 'none') +call <sid>hi('TodoProject', s:spaceViolet, s:none, 'none') + +" Buftabline +call <sid>hi('BufTabLineActive', s:spaceSteel, s:spaceGray2, 'none') +call <sid>hi('BufTabLineCurrent', s:spaceBlack, s:spaceGray4, 'none') +call <sid>hi('BufTabLineFill', s:spaceBlack, s:spaceBlack, 'none') +call <sid>hi('BufTabLineHidden', s:spaceGray3, s:spaceBlack2, 'none') + diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/stellarized.vim b/nvim/plugged/awesome-vim-colorschemes/colors/stellarized.vim new file mode 100644 index 00000000..cf22c078 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/stellarized.vim @@ -0,0 +1,430 @@ +" Name: stellarized +" Author: haystackandroid +" Maintainer: haystackandroid +" License: MIT + +if !(has('termguicolors') && &termguicolors) && !has('gui_running') + \ && (!exists('&t_Co') || &t_Co < 256) + echoerr '[stellarized] There are not enough colors.' + finish +endif + +hi clear +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = 'stellarized' + +if &background ==# 'dark' + hi Bold ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi Conceal ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Directory ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi EndOfBuffer ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Ignore ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Italic ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,italic gui=NONE,italic + hi ModeMsg ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi MoreMsg ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Question ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NonText ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Normal ctermfg=145 ctermbg=235 guifg=#bead9d guibg=#222532 guisp=NONE cterm=NONE gui=NONE + hi Terminal ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Title ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi Underlined ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,underline gui=NONE,underline + hi Comment ctermfg=137 ctermbg=NONE guifg=#9d8875 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi CursorLineNr ctermfg=137 ctermbg=NONE guifg=#9d8875 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi LineNr ctermfg=137 ctermbg=NONE guifg=#9d8875 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi FoldColumn ctermfg=145 ctermbg=NONE guifg=#bead9d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi PmenuSel ctermfg=145 ctermbg=235 guifg=#bead9d guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi SignColumn ctermfg=145 ctermbg=NONE guifg=#bead9d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi StatusLine ctermfg=145 ctermbg=235 guifg=#bead9d guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi StatusLineTerm ctermfg=145 ctermbg=235 guifg=#bead9d guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi TabLineSel ctermfg=145 ctermbg=235 guifg=#bead9d guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi VisualNOS ctermfg=137 ctermbg=235 guifg=#9d8875 guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Cursor ctermfg=223 ctermbg=235 guifg=#ecdac9 guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi IncSearch ctermfg=223 ctermbg=235 guifg=#ecdac9 guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi ColorColumn ctermfg=NONE ctermbg=236 guifg=NONE guibg=#2d3243 guisp=NONE cterm=NONE gui=NONE + hi CursorColumn ctermfg=NONE ctermbg=236 guifg=NONE guibg=#2d3243 guisp=NONE cterm=NONE gui=NONE + hi CursorLine ctermfg=NONE ctermbg=236 guifg=NONE guibg=#2d3243 guisp=NONE cterm=NONE gui=NONE + hi DiffChange ctermfg=NONE ctermbg=236 guifg=NONE guibg=#2d3243 guisp=NONE cterm=NONE gui=NONE + hi Folded ctermfg=NONE ctermbg=236 guifg=NONE guibg=#2d3243 guisp=NONE cterm=NONE gui=NONE + hi MatchParen ctermfg=223 ctermbg=60 guifg=#ecdac9 guibg=#4a5067 guisp=NONE cterm=NONE gui=NONE + hi Pmenu ctermfg=145 ctermbg=236 guifg=#bead9d guibg=#2d3243 guisp=NONE cterm=NONE gui=NONE + hi QuickFixLine ctermfg=NONE ctermbg=236 guifg=NONE guibg=#2d3243 guisp=NONE cterm=NONE gui=NONE + hi StatusLineNC ctermfg=145 ctermbg=236 guifg=#bead9d guibg=#2d3243 guisp=NONE cterm=NONE gui=NONE + hi StatusLineTermNC ctermfg=145 ctermbg=236 guifg=#bead9d guibg=#2d3243 guisp=NONE cterm=NONE gui=NONE + hi TabLine ctermfg=145 ctermbg=236 guifg=#bead9d guibg=#2d3243 guisp=NONE cterm=NONE gui=NONE + hi ToolbarButton ctermfg=145 ctermbg=236 guifg=#bead9d guibg=#2d3243 guisp=NONE cterm=NONE,bold gui=NONE,bold + hi WildMenu ctermfg=145 ctermbg=236 guifg=#bead9d guibg=#2d3243 guisp=NONE cterm=NONE gui=NONE + hi PmenuSbar ctermfg=60 ctermbg=60 guifg=#4a5067 guibg=#4a5067 guisp=NONE cterm=NONE gui=NONE + hi PmenuThumb ctermfg=145 ctermbg=145 guifg=#bead9d guibg=#bead9d guisp=NONE cterm=NONE gui=NONE + hi TabLineFill ctermfg=236 ctermbg=236 guifg=#2d3243 guibg=#2d3243 guisp=NONE cterm=NONE gui=NONE + hi ToolbarLine ctermfg=236 ctermbg=236 guifg=#2d3243 guibg=#2d3243 guisp=NONE cterm=NONE gui=NONE + hi VertSplit ctermfg=60 ctermbg=60 guifg=#4a5067 guibg=#4a5067 guisp=NONE cterm=NONE gui=NONE + hi SpellBad ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#ff707e cterm=NONE,underline gui=NONE,undercurl + hi SpellCap ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#00b4ff cterm=NONE,underline gui=NONE,undercurl + hi SpellLocal ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#00c8d9 cterm=NONE,underline gui=NONE,undercurl + hi SpellRare ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#ee81f9 cterm=NONE,underline gui=NONE,undercurl + hi StorageClass ctermfg=136 ctermbg=NONE guifg=#a58949 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Structure ctermfg=136 ctermbg=NONE guifg=#a58949 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Type ctermfg=136 ctermbg=NONE guifg=#a58949 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Typedef ctermfg=136 ctermbg=NONE guifg=#a58949 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi TooLong ctermfg=139 ctermbg=235 guifg=#b178b5 guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi WarningMsg ctermfg=139 ctermbg=235 guifg=#b178b5 guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Function ctermfg=32 ctermbg=NONE guifg=#578fcc guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Identifier ctermfg=32 ctermbg=NONE guifg=#578fcc guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi DiffDelete ctermfg=174 ctermbg=235 guifg=#ca7375 guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi DiffRemoved ctermfg=174 ctermbg=235 guifg=#ca7375 guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Error ctermfg=174 ctermbg=235 guifg=#ca7375 guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi ErrorMsg ctermfg=174 ctermbg=235 guifg=#ca7375 guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Debug ctermfg=174 ctermbg=NONE guifg=#ca7375 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Delimiter ctermfg=174 ctermbg=NONE guifg=#ca7375 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Special ctermfg=174 ctermbg=NONE guifg=#ca7375 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SpecialChar ctermfg=174 ctermbg=NONE guifg=#ca7375 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SpecialComment ctermfg=174 ctermbg=NONE guifg=#ca7375 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SpecialKey ctermfg=174 ctermbg=NONE guifg=#ca7375 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Tag ctermfg=174 ctermbg=NONE guifg=#ca7375 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi DiffChanged ctermfg=136 ctermbg=235 guifg=#a58949 guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi DiffText ctermfg=136 ctermbg=235 guifg=#a58949 guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Search ctermfg=94 ctermbg=223 guifg=#8d6e19 guibg=#ecdac9 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Conditional ctermfg=71 ctermbg=NONE guifg=#5c9a61 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Exception ctermfg=71 ctermbg=NONE guifg=#5c9a61 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Keyword ctermfg=71 ctermbg=NONE guifg=#5c9a61 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Label ctermfg=71 ctermbg=NONE guifg=#5c9a61 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Operator ctermfg=71 ctermbg=NONE guifg=#5c9a61 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Repeat ctermfg=71 ctermbg=NONE guifg=#5c9a61 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Statement ctermfg=71 ctermbg=NONE guifg=#5c9a61 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi DiffAdd ctermfg=71 ctermbg=235 guifg=#5c9a61 guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi DiffAdded ctermfg=71 ctermbg=235 guifg=#5c9a61 guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Define ctermfg=139 ctermbg=NONE guifg=#b178b5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Include ctermfg=139 ctermbg=NONE guifg=#b178b5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Macro ctermfg=139 ctermbg=NONE guifg=#b178b5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi PreCondit ctermfg=139 ctermbg=NONE guifg=#b178b5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi PreProc ctermfg=139 ctermbg=NONE guifg=#b178b5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Todo ctermfg=37 ctermbg=235 guifg=#009ba2 guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Boolean ctermfg=37 ctermbg=NONE guifg=#009ba2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Character ctermfg=37 ctermbg=NONE guifg=#009ba2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Constant ctermfg=37 ctermbg=NONE guifg=#009ba2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Float ctermfg=37 ctermbg=NONE guifg=#009ba2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Number ctermfg=37 ctermbg=NONE guifg=#009ba2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi String ctermfg=37 ctermbg=NONE guifg=#009ba2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Visual ctermfg=32 ctermbg=235 guifg=#578fcc guibg=#222532 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + finish +endif + +hi Bold ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi Conceal ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Directory ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi EndOfBuffer ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Ignore ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Italic ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,italic gui=NONE,italic +hi ModeMsg ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi MoreMsg ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Question ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi NonText ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Normal ctermfg=60 ctermbg=255 guifg=#4a5067 guibg=#fceee0 guisp=NONE cterm=NONE gui=NONE +hi Terminal ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Title ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi Underlined ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,underline gui=NONE,underline +hi Comment ctermfg=60 ctermbg=NONE guifg=#666c85 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi CursorLineNr ctermfg=60 ctermbg=NONE guifg=#666c85 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi LineNr ctermfg=60 ctermbg=NONE guifg=#666c85 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi FoldColumn ctermfg=60 ctermbg=NONE guifg=#4a5067 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi PmenuSel ctermfg=60 ctermbg=255 guifg=#4a5067 guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi SignColumn ctermfg=60 ctermbg=NONE guifg=#4a5067 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi StatusLine ctermfg=60 ctermbg=255 guifg=#4a5067 guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi StatusLineTerm ctermfg=60 ctermbg=255 guifg=#4a5067 guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi TabLineSel ctermfg=60 ctermbg=255 guifg=#4a5067 guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi VisualNOS ctermfg=60 ctermbg=255 guifg=#666c85 guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Cursor ctermfg=236 ctermbg=255 guifg=#2d3243 guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi IncSearch ctermfg=236 ctermbg=255 guifg=#2d3243 guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi ColorColumn ctermfg=NONE ctermbg=223 guifg=NONE guibg=#ecdac9 guisp=NONE cterm=NONE gui=NONE +hi CursorColumn ctermfg=NONE ctermbg=223 guifg=NONE guibg=#ecdac9 guisp=NONE cterm=NONE gui=NONE +hi CursorLine ctermfg=NONE ctermbg=223 guifg=NONE guibg=#ecdac9 guisp=NONE cterm=NONE gui=NONE +hi DiffChange ctermfg=NONE ctermbg=223 guifg=NONE guibg=#ecdac9 guisp=NONE cterm=NONE gui=NONE +hi Folded ctermfg=NONE ctermbg=223 guifg=NONE guibg=#ecdac9 guisp=NONE cterm=NONE gui=NONE +hi MatchParen ctermfg=236 ctermbg=145 guifg=#2d3243 guibg=#bead9d guisp=NONE cterm=NONE gui=NONE +hi Pmenu ctermfg=60 ctermbg=223 guifg=#4a5067 guibg=#ecdac9 guisp=NONE cterm=NONE gui=NONE +hi QuickFixLine ctermfg=NONE ctermbg=223 guifg=NONE guibg=#ecdac9 guisp=NONE cterm=NONE gui=NONE +hi StatusLineNC ctermfg=60 ctermbg=223 guifg=#4a5067 guibg=#ecdac9 guisp=NONE cterm=NONE gui=NONE +hi StatusLineTermNC ctermfg=60 ctermbg=223 guifg=#4a5067 guibg=#ecdac9 guisp=NONE cterm=NONE gui=NONE +hi TabLine ctermfg=60 ctermbg=223 guifg=#4a5067 guibg=#ecdac9 guisp=NONE cterm=NONE gui=NONE +hi ToolbarButton ctermfg=60 ctermbg=223 guifg=#4a5067 guibg=#ecdac9 guisp=NONE cterm=NONE,bold gui=NONE,bold +hi WildMenu ctermfg=60 ctermbg=223 guifg=#4a5067 guibg=#ecdac9 guisp=NONE cterm=NONE gui=NONE +hi PmenuSbar ctermfg=145 ctermbg=145 guifg=#bead9d guibg=#bead9d guisp=NONE cterm=NONE gui=NONE +hi PmenuThumb ctermfg=60 ctermbg=60 guifg=#4a5067 guibg=#4a5067 guisp=NONE cterm=NONE gui=NONE +hi TabLineFill ctermfg=223 ctermbg=223 guifg=#ecdac9 guibg=#ecdac9 guisp=NONE cterm=NONE gui=NONE +hi ToolbarLine ctermfg=223 ctermbg=223 guifg=#ecdac9 guibg=#ecdac9 guisp=NONE cterm=NONE gui=NONE +hi VertSplit ctermfg=145 ctermbg=145 guifg=#bead9d guibg=#bead9d guisp=NONE cterm=NONE gui=NONE +hi SpellBad ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#f7003c cterm=NONE,underline gui=NONE,undercurl +hi SpellCap ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#0082ff cterm=NONE,underline gui=NONE,undercurl +hi SpellLocal ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#0093b3 cterm=NONE,underline gui=NONE,undercurl +hi SpellRare ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#c709dd cterm=NONE,underline gui=NONE,undercurl +hi StorageClass ctermfg=94 ctermbg=NONE guifg=#8b6800 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Structure ctermfg=94 ctermbg=NONE guifg=#8b6800 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Type ctermfg=94 ctermbg=NONE guifg=#8b6800 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Typedef ctermfg=94 ctermbg=NONE guifg=#8b6800 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi TooLong ctermfg=133 ctermbg=255 guifg=#a348ae guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi WarningMsg ctermfg=133 ctermbg=255 guifg=#a348ae guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Function ctermfg=25 ctermbg=NONE guifg=#006dcc guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Identifier ctermfg=25 ctermbg=NONE guifg=#006dcc guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi DiffDelete ctermfg=161 ctermbg=255 guifg=#c6394c guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi DiffRemoved ctermfg=161 ctermbg=255 guifg=#c6394c guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Error ctermfg=161 ctermbg=255 guifg=#c6394c guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi ErrorMsg ctermfg=161 ctermbg=255 guifg=#c6394c guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Debug ctermfg=161 ctermbg=NONE guifg=#c6394c guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Delimiter ctermfg=161 ctermbg=NONE guifg=#c6394c guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Special ctermfg=161 ctermbg=NONE guifg=#c6394c guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi SpecialChar ctermfg=161 ctermbg=NONE guifg=#c6394c guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi SpecialComment ctermfg=161 ctermbg=NONE guifg=#c6394c guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi SpecialKey ctermfg=161 ctermbg=NONE guifg=#c6394c guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Tag ctermfg=161 ctermbg=NONE guifg=#c6394c guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi DiffChanged ctermfg=94 ctermbg=255 guifg=#8b6800 guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi DiffText ctermfg=94 ctermbg=255 guifg=#8b6800 guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Search ctermfg=220 ctermbg=236 guifg=#ffd506 guibg=#2d3243 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Conditional ctermfg=28 ctermbg=NONE guifg=#007f25 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Exception ctermfg=28 ctermbg=NONE guifg=#007f25 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Keyword ctermfg=28 ctermbg=NONE guifg=#007f25 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Label ctermfg=28 ctermbg=NONE guifg=#007f25 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Operator ctermfg=28 ctermbg=NONE guifg=#007f25 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Repeat ctermfg=28 ctermbg=NONE guifg=#007f25 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Statement ctermfg=28 ctermbg=NONE guifg=#007f25 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi DiffAdd ctermfg=28 ctermbg=255 guifg=#007f25 guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi DiffAdded ctermfg=28 ctermbg=255 guifg=#007f25 guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Define ctermfg=133 ctermbg=NONE guifg=#a348ae guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Include ctermfg=133 ctermbg=NONE guifg=#a348ae guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Macro ctermfg=133 ctermbg=NONE guifg=#a348ae guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi PreCondit ctermfg=133 ctermbg=NONE guifg=#a348ae guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi PreProc ctermfg=133 ctermbg=NONE guifg=#a348ae guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Todo ctermfg=30 ctermbg=255 guifg=#007989 guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Boolean ctermfg=30 ctermbg=NONE guifg=#007989 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Character ctermfg=30 ctermbg=NONE guifg=#007989 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Constant ctermfg=30 ctermbg=NONE guifg=#007989 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Float ctermfg=30 ctermbg=NONE guifg=#007989 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Number ctermfg=30 ctermbg=NONE guifg=#007989 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi String ctermfg=30 ctermbg=NONE guifg=#007989 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Visual ctermfg=25 ctermbg=255 guifg=#006dcc guibg=#fceee0 guisp=NONE cterm=NONE,reverse gui=NONE,reverse +finish + +" Background: light +" Color: gry0 #fceee0 ~ +" Color: gry1 #ecdac9 ~ +" Color: gry2 #666c85 ~ +" Color: gry3 #4a5067 ~ +" Color: gryc #2d3243 ~ +" Color: srch #ffd506 ~ +" Color: grys #2d3243 ~ +" Color: gryp #bead9d ~ +" Color: sprd #f7003c ~ +" Color: spbl #0082ff ~ +" Color: spcy #0093b3 ~ +" Color: spmg #c709dd ~ +" Color: red_ #c6394c ~ +" Color: gold #8b6800 ~ +" Color: gren #007f25 ~ +" Color: cyan #007989 ~ +" Color: blue #006dcc ~ +" Color: mgnt #a348ae ~ +" Bold none none bold +" Conceal none none +" Directory none none bold +" EndOfBuffer none none +" Ignore none none +" Italic none none italic +" ModeMsg none none +" MoreMsg none none +" Question none none +" NonText none none +" Normal gry3 gry0 +" Terminal none none +" Title none none bold +" Underlined none none underline +" Comment gry2 none +" CursorLineNr gry2 none +" LineNr gry2 none +" FoldColumn gry3 none +" PmenuSel gry3 gry0 reverse +" SignColumn gry3 none +" StatusLine gry3 gry0 reverse +" StatusLineTerm gry3 gry0 reverse +" TabLineSel gry3 gry0 reverse +" VisualNOS gry2 gry0 reverse +" Cursor gryc gry0 reverse +" IncSearch gryc gry0 reverse +" ColorColumn none gry1 +" CursorColumn none gry1 +" CursorLine none gry1 +" DiffChange none gry1 +" Folded none gry1 +" MatchParen gryc gryp +" Pmenu gry3 gry1 +" QuickFixLine none gry1 +" StatusLineNC gry3 gry1 +" StatusLineTermNC gry3 gry1 +" TabLine gry3 gry1 +" ToolbarButton gry3 gry1 bold +" WildMenu gry3 gry1 +" PmenuSbar gryp gryp +" PmenuThumb gry3 gry3 +" TabLineFill gry1 gry1 +" ToolbarLine gry1 gry1 +" VertSplit gryp gryp +" SpellBad none none g=undercurl s=sprd t=underline +" SpellCap none none g=undercurl s=spbl t=underline +" SpellLocal none none g=undercurl s=spcy t=underline +" SpellRare none none g=undercurl s=spmg t=underline +" StorageClass gold none +" Structure gold none +" Type gold none +" Typedef gold none +" TooLong mgnt gry0 reverse +" WarningMsg mgnt gry0 reverse +" Function blue none +" Identifier blue none +" DiffDelete red_ gry0 reverse +" DiffRemoved red_ gry0 reverse +" Error red_ gry0 reverse +" ErrorMsg red_ gry0 reverse +" Debug red_ none +" Delimiter red_ none +" Special red_ none +" SpecialChar red_ none +" SpecialComment red_ none +" SpecialKey red_ none +" Tag red_ none +" DiffChanged gold gry0 reverse +" DiffText gold gry0 reverse +" Search srch grys reverse +" Conditional gren none +" Exception gren none +" Keyword gren none +" Label gren none +" Operator gren none +" Repeat gren none +" Statement gren none +" DiffAdd gren gry0 reverse +" DiffAdded gren gry0 reverse +" Define mgnt none +" Include mgnt none +" Macro mgnt none +" PreCondit mgnt none +" PreProc mgnt none +" Todo cyan gry0 reverse +" Boolean cyan none +" Character cyan none +" Constant cyan none +" Float cyan none +" Number cyan none +" String cyan none +" Visual blue gry0 reverse +" Background: dark +" Color: gry0 #222532 ~ +" Color: gry1 #2d3243 ~ +" Color: gry2 #9d8875 ~ +" Color: gry3 #bead9d ~ +" Color: gryc #ecdac9 ~ +" Color: srch #8d6e19 ~ +" Color: grys #ecdac9 ~ +" Color: gryp #4a5067 ~ +" Color: sprd #ff707e ~ +" Color: spbl #00b4ff ~ +" Color: spcy #00c8d9 ~ +" Color: spmg #ee81f9 ~ +" Color: red_ #ca7375 ~ +" Color: gold #a58949 ~ +" Color: gren #5c9a61 ~ +" Color: cyan #009ba2 ~ +" Color: blue #578fcc ~ +" Color: mgnt #b178b5 ~ +" Bold none none bold +" Conceal none none +" Directory none none bold +" EndOfBuffer none none +" Ignore none none +" Italic none none italic +" ModeMsg none none +" MoreMsg none none +" Question none none +" NonText none none +" Normal gry3 gry0 +" Terminal none none +" Title none none bold +" Underlined none none underline +" Comment gry2 none +" CursorLineNr gry2 none +" LineNr gry2 none +" FoldColumn gry3 none +" PmenuSel gry3 gry0 reverse +" SignColumn gry3 none +" StatusLine gry3 gry0 reverse +" StatusLineTerm gry3 gry0 reverse +" TabLineSel gry3 gry0 reverse +" VisualNOS gry2 gry0 reverse +" Cursor gryc gry0 reverse +" IncSearch gryc gry0 reverse +" ColorColumn none gry1 +" CursorColumn none gry1 +" CursorLine none gry1 +" DiffChange none gry1 +" Folded none gry1 +" MatchParen gryc gryp +" Pmenu gry3 gry1 +" QuickFixLine none gry1 +" StatusLineNC gry3 gry1 +" StatusLineTermNC gry3 gry1 +" TabLine gry3 gry1 +" ToolbarButton gry3 gry1 bold +" WildMenu gry3 gry1 +" PmenuSbar gryp gryp +" PmenuThumb gry3 gry3 +" TabLineFill gry1 gry1 +" ToolbarLine gry1 gry1 +" VertSplit gryp gryp +" SpellBad none none g=undercurl s=sprd t=underline +" SpellCap none none g=undercurl s=spbl t=underline +" SpellLocal none none g=undercurl s=spcy t=underline +" SpellRare none none g=undercurl s=spmg t=underline +" StorageClass gold none +" Structure gold none +" Type gold none +" Typedef gold none +" TooLong mgnt gry0 reverse +" WarningMsg mgnt gry0 reverse +" Function blue none +" Identifier blue none +" DiffDelete red_ gry0 reverse +" DiffRemoved red_ gry0 reverse +" Error red_ gry0 reverse +" ErrorMsg red_ gry0 reverse +" Debug red_ none +" Delimiter red_ none +" Special red_ none +" SpecialChar red_ none +" SpecialComment red_ none +" SpecialKey red_ none +" Tag red_ none +" DiffChanged gold gry0 reverse +" DiffText gold gry0 reverse +" Search srch grys reverse +" Conditional gren none +" Exception gren none +" Keyword gren none +" Label gren none +" Operator gren none +" Repeat gren none +" Statement gren none +" DiffAdd gren gry0 reverse +" DiffAdded gren gry0 reverse +" Define mgnt none +" Include mgnt none +" Macro mgnt none +" PreCondit mgnt none +" PreProc mgnt none +" Todo cyan gry0 reverse +" Boolean cyan none +" Character cyan none +" Constant cyan none +" Float cyan none +" Number cyan none +" String cyan none +" Visual blue gry0 reverse diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/sunbather.vim b/nvim/plugged/awesome-vim-colorschemes/colors/sunbather.vim new file mode 100644 index 00000000..6528bbe4 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/sunbather.vim @@ -0,0 +1,230 @@ +" Name: sunbather.vim +" Version: 0.1.0 +" Maintainer: github.com/nikolvs +" License: The MIT License (MIT) +" +" A minimal pink colorscheme for Vim. +" +" Forked from paramount: +" https://github.com/owickstrom/vim-colors-paramount +" +""" +hi clear + +if exists('syntax on') + syntax reset +endif + +let g:colors_name='sunbather' + +let s:black = { "gui": "#000000", "cterm": "232" } +let s:medium_gray = { "gui": "#767676", "cterm": "243" } +let s:white = { "gui": "#F1F1F1", "cterm": "15" } +let s:actual_white = { "gui": "#FFFFFF", "cterm": "231" } +let s:subtle_black = { "gui": "#121212", "cterm": "233" } +let s:light_black = { "gui": "#262626", "cterm": "235" } +let s:lighter_black = { "gui": "#4E4E4E", "cterm": "239" } +let s:light_gray = { "gui": "#A8A8A8", "cterm": "248" } +let s:lighter_gray = { "gui": "#C6C6C6", "cterm": "251" } +let s:lightest_gray = { "gui": "#EEEEEE", "cterm": "255" } +let s:dark_pink = { "gui": "#ff5f87", "cterm": "204" } +let s:light_pink = { "gui": "#d75f87", "cterm": "168" } +let s:dark_red = { "gui": "#C30771", "cterm": "1" } +let s:light_red = { "gui": "#E32791", "cterm": "1" } +let s:orange = { "gui": "#D75F5F", "cterm": "167" } +let s:darker_blue = { "gui": "#005F87", "cterm": "18" } +let s:dark_blue = { "gui": "#008EC4", "cterm": "32" } +let s:blue = { "gui": "#20BBFC", "cterm": "12" } +let s:light_blue = { "gui": "#b6d6fd", "cterm": "153" } +let s:dark_cyan = { "gui": "#20A5BA", "cterm": "6" } +let s:light_cyan = { "gui": "#4FB8CC", "cterm": "14" } +let s:dark_green = { "gui": "#10A778", "cterm": "2" } +let s:light_green = { "gui": "#5FD7A7", "cterm": "10" } +let s:light_purple = { "gui": "#a790d5", "cterm": "140" } +let s:yellow = { "gui": "#F3E430", "cterm": "11" } +let s:light_yellow = { "gui": "#ffff87", "cterm": "228" } +let s:dark_yellow = { "gui": "#A89C14", "cterm": "3" } + +let s:background = &background + +if &background == "dark" + let s:bg = s:black + let s:bg_subtle = s:lighter_black + let s:bg_very_subtle = s:subtle_black + let s:norm = s:lighter_gray + let s:norm_subtle = s:medium_gray + let s:pink = s:light_pink + let s:cyan = s:light_cyan + let s:green = s:light_green + let s:red = s:light_red + let s:visual = s:light_pink + let s:yellow = s:light_yellow +else + let s:bg = s:actual_white + let s:bg_subtle = s:light_gray + let s:bg_very_subtle = s:lightest_gray + let s:norm = s:light_black + let s:norm_subtle = s:medium_gray + let s:pink = s:dark_pink + let s:cyan = s:dark_cyan + let s:green = s:dark_green + let s:red = s:dark_red + let s:visual = s:dark_pink + let s:yellow = s:dark_yellow +endif + +" https://github.com/noahfrederick/vim-hemisu/ +function! s:h(group, style) + execute "highlight" a:group + \ "guifg=" (has_key(a:style, "fg") ? a:style.fg.gui : "NONE") + \ "guibg=" (has_key(a:style, "bg") ? a:style.bg.gui : "NONE") + \ "guisp=" (has_key(a:style, "sp") ? a:style.sp.gui : "NONE") + \ "gui=" (has_key(a:style, "gui") ? a:style.gui : "NONE") + \ "ctermfg=" (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE") + \ "ctermbg=" (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE") + \ "cterm=" (has_key(a:style, "cterm") ? a:style.cterm : "NONE") +endfunction + +call s:h("Normal", {"bg": s:bg, "fg": s:norm}) + +" restore &background's value in case changing Normal changed &background (:help :hi-normal-cterm) +if &background != s:background + execute "set background=" . s:background +endif + +call s:h("Cursor", {"bg": s:pink, "fg": s:norm }) +call s:h("Comment", {"fg": s:bg_subtle, "gui": "italic"}) + +call s:h("Constant", {"fg": s:pink}) +hi! link Character Constant +hi! link Number Constant +hi! link Boolean Constant +hi! link Float Constant +hi! link String Constant + +"call s:h("Identifier", {"fg": s:dark_blue}) +hi! link Identifier Normal +hi! link Function Identifier + +call s:h("Statement", {"fg": s:norm_subtle}) +hi! link Conditonal Statement +hi! link Repeat Statement +hi! link Label Statement +hi! link Keyword Statement +hi! link Exception Statement + +call s:h("Operator", {"fg": s:norm, "cterm": "bold", "gui": "bold"}) + +call s:h("PreProc", {"fg": s:norm_subtle}) +hi! link Include PreProc +hi! link Define PreProc +hi! link Macro PreProc +hi! link PreCondit PreProc + +call s:h("Type", {"fg": s:norm}) +hi! link StorageClass Type +hi! link Structure Type +hi! link Typedef Type + +call s:h("Special", {"fg": s:norm_subtle, "gui": "italic"}) +hi! link SpecialChar Special +hi! link Tag Special +hi! link Delimiter Special +hi! link SpecialComment Special +hi! link Debug Special + +call s:h("Underlined", {"fg": s:norm, "gui": "underline", "cterm": "underline"}) +call s:h("Ignore", {"fg": s:bg}) +call s:h("Error", {"fg": s:actual_white, "bg": s:red, "cterm": "bold"}) +call s:h("Todo", {"fg": s:pink, "gui": "underline", "cterm": "underline"}) +call s:h("SpecialKey", {"fg": s:light_green}) +call s:h("NonText", {"fg": s:medium_gray}) +call s:h("Directory", {"fg": s:dark_blue}) +call s:h("ErrorMsg", {"fg": s:red}) +call s:h("IncSearch", {"bg": s:yellow, "fg": s:light_black}) +call s:h("Search", {"bg": s:light_green, "fg": s:light_black}) +call s:h("MoreMsg", {"fg": s:medium_gray, "cterm": "bold", "gui": "bold"}) +hi! link ModeMsg MoreMsg +call s:h("LineNr", {"fg": s:bg_subtle}) +call s:h("CursorLineNr", {"fg": s:pink, "bg": s:bg_very_subtle}) +call s:h("Question", {"fg": s:red}) +call s:h("StatusLine", {"bg": s:bg_very_subtle}) +call s:h("StatusLineNC", {"bg": s:bg_very_subtle, "fg": s:medium_gray}) +call s:h("VertSplit", {"bg": s:bg_very_subtle, "fg": s:bg_very_subtle}) +call s:h("Title", {"fg": s:dark_blue}) +call s:h("Visual", {"fg": s:norm, "bg": s:visual}) +call s:h("VisualNOS", {"bg": s:bg_subtle}) +call s:h("WarningMsg", {"fg": s:yellow}) +call s:h("WildMenu", {"fg": s:bg, "bg": s:norm}) +call s:h("Folded", {"fg": s:medium_gray}) +call s:h("FoldColumn", {"fg": s:bg_subtle}) +call s:h("DiffAdd", {"fg": s:green}) +call s:h("DiffDelete", {"fg": s:red}) +call s:h("DiffChange", {"fg": s:dark_yellow}) +call s:h("DiffText", {"fg": s:dark_blue}) +call s:h("SignColumn", {"fg": s:light_green}) + + +if has("gui_running") + call s:h("SpellBad", {"gui": "underline", "sp": s:red}) + call s:h("SpellCap", {"gui": "underline", "sp": s:light_green}) + call s:h("SpellRare", {"gui": "underline", "sp": s:light_purple}) + call s:h("SpellLocal", {"gui": "underline", "sp": s:dark_green}) +else + call s:h("SpellBad", {"cterm": "underline", "fg": s:red}) + call s:h("SpellCap", {"cterm": "underline", "fg": s:light_green}) + call s:h("SpellRare", {"cterm": "underline", "fg": s:light_purple}) + call s:h("SpellLocal", {"cterm": "underline", "fg": s:dark_green}) +endif + +call s:h("Pmenu", {"fg": s:norm, "bg": s:bg_very_subtle}) +call s:h("PmenuSel", {"fg": s:subtle_black, "bg": s:pink}) +call s:h("PmenuSbar", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("PmenuThumb", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("TabLine", {"fg": s:norm, "bg": s:bg_very_subtle}) +call s:h("TabLineSel", {"fg": s:subtle_black, "bg": s:pink, "gui": "bold", "cterm": "bold"}) +call s:h("TabLineFill", {"fg": s:norm, "bg": s:bg_very_subtle}) +call s:h("CursorColumn", {"bg": s:bg_very_subtle}) +call s:h("CursorLine", {"bg": s:bg_very_subtle}) +call s:h("ColorColumn", {"bg": s:bg_subtle}) + +call s:h("MatchParen", {"bg": s:bg_subtle, "fg": s:norm}) +call s:h("qfLineNr", {"fg": s:medium_gray}) + +call s:h("htmlH1", {"bg": s:bg, "fg": s:norm}) +call s:h("htmlH2", {"bg": s:bg, "fg": s:norm}) +call s:h("htmlH3", {"bg": s:bg, "fg": s:norm}) +call s:h("htmlH4", {"bg": s:bg, "fg": s:norm}) +call s:h("htmlH5", {"bg": s:bg, "fg": s:norm}) +call s:h("htmlH6", {"bg": s:bg, "fg": s:norm}) + +" Syntastic +call s:h("SyntasticWarningSign", {"fg": s:yellow}) +call s:h("SyntasticWarning", {"bg": s:yellow, "fg": s:black, "gui": "bold", "cterm": "bold"}) +call s:h("SyntasticErrorSign", {"fg": s:red}) +call s:h("SyntasticError", {"bg": s:red, "fg": s:white, "gui": "bold", "cterm": "bold"}) + +" which-key.nvim +call s:h("WhichKey", {"bg": s:bg, "fg": s:pink, "gui": "bold", "cterm": "bold"}) +call s:h("WhichKeyDesc", {"bg": s:bg, "fg": s:norm_subtle, "gui": "bold", "cterm": "bold"}) +call s:h("WhichKeySeparator", {"bg": s:bg, "fg": s:norm, "gui": "bold", "cterm": "bold"}) +call s:h("WhichKeyFloat", {"bg": s:bg}) + +hi link WhichKeyGroup WhichKey + +" Neomake +hi link NeomakeWarningSign SyntasticWarningSign +hi link NeomakeErrorSign SyntasticErrorSign + +" ALE +hi link ALEWarningSign SyntasticWarningSign +hi link ALEErrorSign SyntasticErrorSign + +" Signify, git-gutter +hi link SignifySignAdd LineNr +hi link SignifySignDelete LineNr +hi link SignifySignChange LineNr +hi link GitGutterAdd LineNr +hi link GitGutterDelete LineNr +hi link GitGutterChange LineNr +hi link GitGutterChangeDelete LineNr diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/tender.vim b/nvim/plugged/awesome-vim-colorschemes/colors/tender.vim new file mode 100644 index 00000000..d4abd254 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/tender.vim @@ -0,0 +1,298 @@ +" =============================================================== +" tender +" A dark and fresh color scheme for vim +" URL: https://github/com/jacoborus/tender.vim +" Author: Jacobo Tabernero http://jacoborus.codes +" License: MIT +" Last Change: 2020/04/24 16:58 +" =============================================================== + +set background=dark +hi clear +if exists("syntax_on") + syntax reset +endif +let g:colors_name="tender" + + +let Italic = "" +if exists('g:tender_italic') + let Italic = "italic" +endif +let g:tender_italic = get(g:, 'tender_italic', 0) + +let Bold = "" +if exists('g:tender_bold') + let Bold = "bold" +endif + +let g:tender_bold = get(g:, 'tender_bold', 0) +hi ColorColumn guifg=NONE ctermfg=NONE guibg=#323232 ctermbg=236 gui=NONE cterm=NONE +hi CursorColumn guifg=NONE ctermfg=NONE guibg=#323232 ctermbg=236 gui=NONE cterm=NONE +hi CursorLine guifg=NONE ctermfg=NONE guibg=#323232 ctermbg=236 gui=NONE cterm=NONE +hi CursorLineNr guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Directory guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi DiffAdd guifg=NONE ctermfg=NONE guibg=#464632 ctermbg=238 gui=NONE cterm=NONE +hi DiffChange guifg=NONE ctermfg=NONE guibg=#335261 ctermbg=239 gui=NONE cterm=NONE +hi DiffDelete guifg=#f43753 ctermfg=203 guibg=#79313c ctermbg=237 gui=NONE cterm=NONE +hi DiffText guifg=NONE ctermfg=NONE guibg=NONE ctermbg=NONE gui=reverse cterm=reverse +hi ErrorMsg guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=reverse cterm=reverse +hi VertSplit guifg=#282828 ctermfg=235 guibg=#282828 ctermbg=235 gui=NONE cterm=NONE +hi Folded guifg=#666666 ctermfg=242 guibg=#202020 ctermbg=234 gui=NONE cterm=NONE +hi FoldColumn guifg=#666666 ctermfg=242 guibg=#202020 ctermbg=234 gui=NONE cterm=NONE +hi SignColumn guifg=#999999 ctermfg=246 guibg=#282828 ctermbg=235 gui=NONE cterm=NONE +hi IncSearch guifg=#ffffff ctermfg=15 guibg=#000000 ctermbg=0 gui=Bold,reverse cterm=Bold,reverse +hi LineNr guifg=#444444 ctermfg=238 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi MatchParen guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=Bold cterm=Bold +hi NonText guifg=#444444 ctermfg=238 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Normal guifg=#eeeeee ctermfg=255 guibg=#282828 ctermbg=235 gui=NONE cterm=NONE +hi PMenu guifg=#dadada ctermfg=253 guibg=#335261 ctermbg=239 gui=NONE cterm=NONE +hi PMenuSel guifg=#335261 ctermfg=239 guibg=#c9d05c ctermbg=185 gui=NONE cterm=NONE +hi PmenuSbar guifg=#335261 ctermfg=239 guibg=#335261 ctermbg=239 gui=NONE cterm=NONE +hi PmenuThumb guifg=#c9d05c ctermfg=185 guibg=#c9d05c ctermbg=185 gui=NONE cterm=NONE +hi Question guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Search guifg=#ffffff ctermfg=15 guibg=NONE ctermbg=NONE gui=underline,Bold cterm=underline,Bold +hi SpecialKey guifg=#444444 ctermfg=238 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi SpellBad guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi SpellLocal guifg=#d3b987 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi SpellCap guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi SpellRare guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi StatusLine guifg=#1d1d1d ctermfg=234 guibg=#666666 ctermbg=242 gui=Bold cterm=Bold +hi StatusLineNC guifg=#999999 ctermfg=246 guibg=#444444 ctermbg=238 gui=NONE cterm=NONE +hi TabLine guifg=#999999 ctermfg=246 guibg=#444444 ctermbg=238 gui=NONE cterm=NONE +hi TabLineFill guifg=NONE ctermfg=NONE guibg=#444444 ctermbg=238 gui=NONE cterm=NONE +hi TabLineSel guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=Bold cterm=Bold +hi Title guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=Bold cterm=Bold +hi Visual guifg=NONE ctermfg=NONE guibg=#293b44 ctermbg=237 gui=Bold cterm=Bold +hi VisualNOS guifg=NONE ctermfg=NONE guibg=#293b44 ctermbg=237 gui=Bold cterm=Bold +hi WarningMsg guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi WildMenu guifg=#282828 ctermfg=235 guibg=#c9d05c ctermbg=185 gui=Bold cterm=Bold +hi Comment guifg=#666666 ctermfg=242 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Constant guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi String guifg=#d3b987 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Character guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Boolean guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Number guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Float guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Identifier guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Function guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Statement guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Conditional guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Operator guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Exception guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi PreProc guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Type guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Special guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi Underlined guifg=NONE ctermfg=NONE guibg=NONE ctermbg=NONE gui=underline cterm=underline +hi Error guifg=#eeeeee ctermfg=255 guibg=#f43753 ctermbg=203 gui=NONE cterm=NONE +hi Todo guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=Bold cterm=Bold +hi CocErrorSign guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi CocWarningSign guifg=#d3b987 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi CocHintSign guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi CocInfoSign guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssVendor guifg=#9faa00 ctermfg=142 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssTagName guifg=#9faa00 ctermfg=142 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssAttrComma guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssBackgroundProp guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssBorderProp guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssBoxProp guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssDimensionProp guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssFontProp guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssPositioningProp guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssTextProp guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssValueLength guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssValueInteger guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssValueNumber guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssIdentifier guifg=#9faa00 ctermfg=142 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssIncludeKeyword guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssImportant guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssClassName guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssClassNameDot guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssProp guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssAttr guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssUnitDecorators guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssNoise guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi diffRemoved guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi diffChanged guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi diffAdded guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi diffSubname guifg=#9faa00 ctermfg=142 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi elmDelimiter guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi elmOperator guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi FugitiveblameHash guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi FugitiveblameUncommitted guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi FugitiveblameTime guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi FugitiveblameNotCommittedYet guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi gitcommitBranch guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi gitcommitDiscardedType guifg=#c5152f ctermfg=160 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi gitcommitSelectedType guifg=#9faa00 ctermfg=142 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi gitcommitHeader guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi gitcommitUntrackedFile guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi gitcommitDiscardedFile guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi gitcommitSelectedFile guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi helpHyperTextEntry guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi helpHeadline guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi helpSectionDelim guifg=#666666 ctermfg=242 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi helpNote guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javaScriptOperator guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javaScriptBraces guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javaScriptNull guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsonEscape guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsonNumber guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsonBraces guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsonNull guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsonBoolean guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsonKeywordMatch guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsonQuote guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsonNoise guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownH1 guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=Bold cterm=Bold +hi markdownHeadingRule guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=Bold cterm=Bold +hi markdownHeadingDelimiter guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=Bold cterm=Bold +hi markdownListMarker guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownBlockquote guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownRule guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownLinkText guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownLinkTextDelimiter guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownLinkDelimiter guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownIdDeclaration guifg=#9faa00 ctermfg=142 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownAutomaticLink guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownUrl guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownUrlTitle guifg=#d3b987 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownUrlDelimiter guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownUrlTitleDelimiter guifg=#715b2f ctermfg=58 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownCodeDelimiter guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownCode guifg=#d3b987 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownEscape guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi markdownError guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi NERDTreeHelp guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi NERDTreeHelpKey guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi NERDTreeHelpCommand guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi NERDTreeHelpTitle guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi NERDTreeUp guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi NERDTreeCWD guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi NERDTreeOpenable guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi NERDTreeClosable guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi pugJavascriptOutputChar guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptParens guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptLogicSymbols guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptReserved guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptLabel guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptFuncName guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptCall guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptVariable guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptBinaryOp guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptAssign guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptObjectLabel guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptDotNotation guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptOperator guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptTernaryOp guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptTypeAnnotation guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptIdentifierName guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptArrowFuncArg guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptParamImpl guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptRepeat guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptStatementKeyword guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptAliasKeyword guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptInterfaceKeyword guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptTemplateSB guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptMemberOptionality guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptOptionalMark guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi typescriptUnaryOp guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi GitGutterAdd guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi GitGutterChange guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi GitGutterDelete guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi GitGutterChangeDelete guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javaScriptOpSymbols guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javaScriptParens guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javaScriptDocTags guifg=#6a6b3f ctermfg=242 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javaScriptDocSeeTag guifg=#44778d ctermfg=66 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javaScriptBrowserObjects guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javaScriptDOMObjects guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javaScriptFuncArg guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsParensIfElse guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsObjectKey guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsRepeat guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsArrowFunction guifg=#9faa00 ctermfg=142 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsFunctionKey guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsFuncName guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsObjectFuncName guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsNull guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsObjectColon guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsParens guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsFuncParens guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsFuncArgs guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsSpecial guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsTemplateBraces guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsGlobalObjects guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsGlobalNodeObjects guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsImport guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsExport guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsExportDefault guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsExportDefaultGroup guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi jsFrom guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi plug2 guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi plugH2 guifg=#73cef4 ctermfg=81 guibg=NONE ctermbg=NONE gui=Bold cterm=Bold +hi plugBracket guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi plugNumber guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi plugDash guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi plugStar guifg=#d3b987 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi plugMessage guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi plugName guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi plugUpdate guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi plugEdge guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi plugSha guifg=#d3b987 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi plugNotLoaded guifg=#79313c ctermfg=237 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi link SignifySignAdd GitGutterAdd +hi link SignifySignDelete GitGutterDelete +hi link SignifySignDeleteFirstLine SignifySignDelete +hi link SignifySignChange GitGutterChange +hi link SignifySignChangeDelete GitGutterChangeDelete +hi stylusVariable guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi stylusClass guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi stylusClassChar guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi stylusId guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi stylusIdChar guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi cssVisualVal guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi stylusImport guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi vimCommentString guifg=#715b2f ctermfg=58 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi vimCommentTitle guifg=#44778d ctermfg=66 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi vimError guifg=#eeeeee ctermfg=255 guibg=#f43753 ctermbg=203 gui=NONE cterm=NONE +hi xmlNamespace guifg=#ffc24b ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi xmlAttribPunct guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi xmlProcessingDelim guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javascriptOpSymbol guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javascriptDocNotation guifg=#6a6b3f ctermfg=242 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javascriptDocNamedParamType guifg=#44778d ctermfg=66 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javascriptDocParamName guifg=#715b2f ctermfg=58 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javascriptDocParamType guifg=#44778d ctermfg=66 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javascriptTemplateSB guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javascriptRepeat guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javascriptObjectLabelColon guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javascriptObjectMethodName guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi javascriptFuncName guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi yamlFlowString guifg=#d3b987 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi yamlFlowStringDelimiter guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi yamlKeyValueDelimiter guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE + +let g:terminal_color_foreground = "#282828" +let g:terminal_color_background = "#eeeeee" +let g:terminal_color_0 = "#282828" +let g:terminal_color_1 = "#f43753" +let g:terminal_color_2 = "#c9d05c" +let g:terminal_color_3 = "#ffc24b" +let g:terminal_color_4 = "#b3deef" +let g:terminal_color_5 = "#d3b987" +let g:terminal_color_6 = "#73cef4" +let g:terminal_color_7 = "#eeeeee" +let g:terminal_color_8 = "#1d1d1d" +let g:terminal_color_9 = "#f43753" +let g:terminal_color_10 = "#c9d05c" +let g:terminal_color_11 = "#ffc24b" +let g:terminal_color_12 = "#b3deef" +let g:terminal_color_13 = "#d3b987" +let g:terminal_color_14 = "#73cef4" +let g:terminal_color_15 = "#ffffff" + +" =================================== +" Generated by Estilo 1.4.1 +" https://github.com/jacoborus/estilo +" =================================== diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/termschool.vim b/nvim/plugged/awesome-vim-colorschemes/colors/termschool.vim new file mode 100644 index 00000000..c6f5c61c --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/termschool.vim @@ -0,0 +1,161 @@ +" Termschool - A 256 color theme for vim +" +" The original codeschool theme was converted by @AstonJ (http://astonj) to +" work with 256 color terminals. I liked the original theme, but didn't +" completely like the conversion, so I started to tweak it. The resulting +" theme is now called "termschool" and was tweaked to be a medium contrast +" theme with a gray/dark background. +" +" The theme is aimed at people using 256 color terminals, but should display +" correctly in gvim (GUI Vim) as well. +" +" Feedback, corrections and ideas: <paganini_at_paganini_dot_net> +" +" Please note that this theme is a work in progress. Once in a while, I find +" something I don't like and change it. If you prefer it to be static, clone +" my github repository and keep a separate copy. Push requests are welcome. +" +" Source: http://github.com/marcopaganini/termschool-vim-theme + +set background=dark +highlight clear +highlight clear CursorLineNr + +if exists("syntax_on") + syntax reset +endif + +let g:colors_name = "termschool" + +hi Conceal ctermfg=60 ctermbg=NONE cterm=NONE guifg=#5f5f87 guibg=NONE gui=NONE +hi Cursor ctermfg=16 ctermbg=145 cterm=NONE guifg=#182227 guibg=#9ea7a6 gui=NONE +hi Visual ctermfg=NONE ctermbg=59 cterm=NONE guifg=NONE guibg=#3f4b52 gui=NONE +hi CursorLine ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#2e373b gui=NONE +hi CursorColumn ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#2e373b gui=NONE +hi ColorColumn ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#2e373b gui=NONE +hi LineNr ctermfg=102 ctermbg=NONE cterm=NONE guifg=#84898c guibg=#2a343a gui=NONE +hi VertSplit ctermfg=59 ctermbg=235 cterm=NONE guifg=#5f5f5f guibg=#252c31 gui=NONE +hi MatchParen ctermfg=NONE ctermbg=245 cterm=NONE guifg=NONE guibg=#9a9a9a gui=NONE +hi StatusLine ctermfg=231 ctermbg=59 cterm=bold guifg=#f0f0f0 guibg=#575e61 gui=bold +hi StatusLineNC ctermfg=231 ctermbg=59 cterm=NONE guifg=#f0f0f0 guibg=#575e61 gui=NONE +hi Pmenu ctermfg=NONE ctermbg=59 cterm=NONE guifg=NONE guibg=#5f5f5f gui=NONE +hi PmenuSel ctermfg=231 ctermbg=68 cterm=NONE guifg=#f0f0f0 guibg=#3c98d9 gui=NONE +hi IncSearch ctermfg=15 ctermbg=107 cterm=NONE guifg=#f0f0f0 guibg=#8bb664 gui=NONE +hi Search ctermfg=3 ctermbg=239 cterm=NONE guifg=#000000 guibg=#00d75f gui=NONE +hi Directory ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE +hi Folded ctermfg=247 ctermbg=16 cterm=NONE guifg=#9a9a9a guibg=#182227 gui=NONE +hi Normal ctermfg=231 ctermbg=234 cterm=NONE guifg=#f0f0f0 guibg=#252c31 gui=NONE +hi Boolean ctermfg=68 ctermbg=NONE cterm=bold guifg=#3c98d9 guibg=NONE gui=bold +hi Character ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE +hi Comment ctermfg=247 ctermbg=NONE cterm=NONE guifg=#9a9a9a guibg=NONE gui=italic +hi Conditional ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE +hi Constant ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE +hi Define ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE +hi DiffAdd ctermfg=231 ctermbg=64 cterm=NONE guifg=#f0f0f0 guibg=#5f8700 gui=NONE +hi DiffDelete ctermfg=88 ctermbg=167 cterm=NONE guifg=#870000 guibg=#d75f5f gui=NONE +hi DiffChange ctermfg=231 ctermbg=68 cterm=NONE guifg=#f0f0f0 guibg=#5f87d7 gui=NONE +hi DiffText ctermfg=231 ctermbg=61 cterm=bold guifg=#f0f0f0 guibg=#5f5faf gui=bold +hi ErrorMsg ctermfg=131 ctermbg=231 cterm=reverse guifg=#af5f5f guibg=#f0f0f0 gui=reverse +hi WarningMsg ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE +hi Float ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE +hi Function ctermfg=153 ctermbg=NONE cterm=NONE guifg=#bcdbff guibg=NONE gui=NONE +hi Identifier ctermfg=113 ctermbg=NONE cterm=NONE guifg=#99cf50 guibg=NONE gui=NONE +hi Keyword ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE +hi Label ctermfg=107 ctermbg=NONE cterm=NONE guifg=#8bb664 guibg=NONE gui=NONE +hi NonText ctermfg=243 ctermbg=234 cterm=NONE guifg=#767676 guibg=#232c31 gui=NONE +hi Number ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE +hi Operator ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE +hi PreProc ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE +hi Special ctermfg=231 ctermbg=NONE cterm=NONE guifg=#f0f0f0 guibg=NONE gui=NONE +hi SpecialKey ctermfg=60 ctermbg=NONE cterm=NONE guifg=#5f5f87 guibg=NONE gui=NONE +hi Statement ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE +hi StorageClass ctermfg=113 ctermbg=NONE cterm=NONE guifg=#99cf50 guibg=NONE gui=NONE +hi String ctermfg=107 ctermbg=NONE cterm=NONE guifg=#8bb664 guibg=NONE gui=NONE +hi Tag ctermfg=153 ctermbg=NONE cterm=NONE guifg=#bcdbff guibg=NONE gui=NONE +hi Title ctermfg=231 ctermbg=NONE cterm=NONE guifg=#f0f0f0 guibg=NONE gui=NONE +hi Todo ctermfg=247 ctermbg=NONE cterm=inverse,bold guifg=#9a9a9a guibg=NONE gui=inverse,bold,italic +hi Type ctermfg=153 ctermbg=NONE cterm=NONE guifg=#b5d8f6 guibg=NONE gui=NONE +hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline guifg=NONE guibg=NONE gui=underline +hi rubyClass ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE +hi rubyFunction ctermfg=153 ctermbg=NONE cterm=NONE guifg=#bcdbff guibg=NONE gui=NONE +hi rubyInterpolationDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi rubySymbol ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE +hi rubyConstant ctermfg=146 ctermbg=NONE cterm=NONE guifg=#bfabcb guibg=NONE gui=NONE +hi rubyStringDelimiter ctermfg=107 ctermbg=NONE cterm=NONE guifg=#8bb664 guibg=NONE gui=NONE +hi rubyBlockParameter ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE +hi rubyInstanceVariable ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE +hi rubyInclude ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE +hi rubyGlobalVariable ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE +hi rubyRegexp ctermfg=179 ctermbg=NONE cterm=NONE guifg=#e9c062 guibg=NONE gui=NONE +hi rubyRegexpDelimiter ctermfg=179 ctermbg=NONE cterm=NONE guifg=#e9c062 guibg=NONE gui=NONE +hi rubyEscape ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE +hi rubyControl ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE +hi rubyClassVariable ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE +hi rubyOperator ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE +hi rubyException ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE +hi rubyPseudoVariable ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE +hi rubyRailsUserClass ctermfg=146 ctermbg=NONE cterm=NONE guifg=#bfabcb guibg=NONE gui=NONE +hi rubyRailsARAssociationMethod ctermfg=186 ctermbg=NONE cterm=NONE guifg=#dad085 guibg=NONE gui=NONE +hi rubyRailsARMethod ctermfg=186 ctermbg=NONE cterm=NONE guifg=#dad085 guibg=NONE gui=NONE +hi rubyRailsRenderMethod ctermfg=186 ctermbg=NONE cterm=NONE guifg=#dad085 guibg=NONE gui=NONE +hi rubyRailsMethod ctermfg=186 ctermbg=NONE cterm=NONE guifg=#dad085 guibg=NONE gui=NONE +hi erubyDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi erubyComment ctermfg=247 ctermbg=NONE cterm=NONE guifg=#9a9a9a guibg=NONE gui=italic +hi erubyRailsMethod ctermfg=186 ctermbg=NONE cterm=NONE guifg=#dad085 guibg=NONE gui=NONE +hi htmlTag ctermfg=111 ctermbg=NONE cterm=NONE guifg=#89bdff guibg=NONE gui=NONE +hi htmlEndTag ctermfg=111 ctermbg=NONE cterm=NONE guifg=#89bdff guibg=NONE gui=NONE +hi htmlTagName ctermfg=111 ctermbg=NONE cterm=NONE guifg=#89bdff guibg=NONE gui=NONE +hi htmlArg ctermfg=111 ctermbg=NONE cterm=NONE guifg=#89bdff guibg=NONE gui=NONE +hi htmlSpecialChar ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE +hi javaScriptFunction ctermfg=113 ctermbg=NONE cterm=NONE guifg=#99cf50 guibg=NONE gui=NONE +hi javaScriptRailsFunction ctermfg=186 ctermbg=NONE cterm=NONE guifg=#dad085 guibg=NONE gui=NONE +hi javaScriptBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi yamlKey ctermfg=153 ctermbg=NONE cterm=NONE guifg=#bcdbff guibg=NONE gui=NONE +hi yamlAnchor ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE +hi yamlAlias ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE +hi yamlDocumentHeader ctermfg=107 ctermbg=NONE cterm=NONE guifg=#8bb664 guibg=NONE gui=NONE +hi cssURL ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE +hi cssFunctionName ctermfg=186 ctermbg=NONE cterm=NONE guifg=#dad085 guibg=NONE gui=NONE +hi cssColor ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE +hi cssPseudoClassId ctermfg=153 ctermbg=NONE cterm=NONE guifg=#bcdbff guibg=NONE gui=NONE +hi cssClassName ctermfg=153 ctermbg=NONE cterm=NONE guifg=#bcdbff guibg=NONE gui=NONE +hi cssValueLength ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE +hi cssCommonAttr ctermfg=151 ctermbg=NONE cterm=NONE guifg=#a7cfa3 guibg=NONE gui=NONE +hi cssBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi SpellBad ctermfg=0 ctermbg=224 guifg=#000000 guibg=#ffdfdf +hi SpellCap ctermfg=0 ctermbg=81 guifg=#000000 guibg=#5fd7ff +hi SpellRare ctermfg=0 ctermbg=225 guifg=#000000 guibg=#ffdfff +hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi TabLineSel ctermfg=NONE ctermbg=23 cterm=bold guifg=NONE guibg=#005f5f gui=bold +hi TabLine ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE +hi SignColumn ctermfg=0 ctermbg=240 guifg=#000000 guibg=#585858 +hi FoldColumn ctermfg=102 ctermbg=NONE cterm=NONE guifg=#84898c guibg=#2a343a gui=NONE +hi WildMenu ctermfg=NONE ctermbg=23 cterm=bold guifg=NONE guibg=#005f5f gui=bold + +" Git +hi diffAdded ctermfg=113 ctermbg=NONE cterm=NONE guifg=#87d75f guibg=NONE gui=NONE +hi diffRemoved ctermfg=167 ctermbg=NONE cterm=NONE guifg=#d75f5f guibg=NONE gui=NONE +hi diffChanged ctermfg=68 ctermbg=NONE cterm=NONE guifg=#5f87d7 guibg=NONE gui=NONE + +" C highlighting +hi! link cConditional Conditional +hi! link cRepeat Conditional +hi cTodo ctermfg=113 ctermbg=NONE cterm=bold guifg=#87d75f guibg=NONE gui=bold +hi cType ctermfg=231 ctermbg=234 cterm=NONE guifg=#f0f0f0 guibg=NONE gui=NONE +hi cConstant ctermfg=231 ctermbg=234 cterm=NONE guifg=#f0f0f0 guibg=NONE gui=NONE + +" Markdown specific colors +hi markdownCode ctermfg=74 ctermbg=NONE guifg=#5fafd7 guibg=NONE gui=NONE +hi markdownH1 ctermfg=178 ctermbg=NONE cterm=bold guifg=#dfaf00 guibg=NONE gui=bold +hi markdownH2 ctermfg=44 ctermbg=NONE cterm=bold guifg=#00d7d7 guibg=NONE gui=bold +hi markdownH3 ctermfg=113 ctermbg=NONE cterm=bold guifg=#87d75f guibg=NONE gui=bold +hi markdownH4 ctermfg=172 ctermbg=NONE cterm=bold guifg=#d75f00 guibg=NONE gui=bold +hi markdownH5 ctermfg=172 ctermbg=NONE cterm=bold guifg=#d75f00 guibg=NONE gui=bold +hi markdownH6 ctermfg=172 ctermbg=NONE cterm=bold guifg=#d75f00 guibg=NONE gui=bold +hi markdownListMarker ctermfg=75 ctermbg=NONE cterm=bold guifg=#5fafff guibg=NONE gui=bold +hi markdownOrderedListMarker ctermfg=75 ctermbg=NONE cterm=bold guifg=#5fafff guibg=NONE gui=bold +hi markdownUrl ctermfg=45 ctermbg=NONE guifg=#00d7ff guibg=NONE + +hi markdownItalic cterm=italic gui=italic +hi markdownBold cterm=bold gui=bold +hi markdownBoldItalic cterm=bold,italic gui=bold,italic diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/twilight256.vim b/nvim/plugged/awesome-vim-colorschemes/colors/twilight256.vim new file mode 100644 index 00000000..41302e90 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/twilight256.vim @@ -0,0 +1,300 @@ +" twilight256 color scheme file +" Maintainer: Neal Milstein - neal dot milstein at gmail dot com +" Last Change: 2011 Feb 1 +" +" This theme copies the colors from the TextMate theme Twilight. +" +" The theme is designed to be used on a black background. I only tested it +" using a 256-color terminal; I do not think it will work on much else (gvim, +" 8-color terminal, etc.). +" +" The functions in this theme that convert hex color codes to the nearest +" xterm-256 color number are from the theme desert2 (desert256), developed by Henry So, Jr. +" +" The colors of this theme are based on the TextMate Twilight theme +" – www.macromates.com + +set background=dark +if version > 580 + " no guarantees for version 5.8 and below, but this makes it stop + " complaining + hi clear + if exists("syntax_on") + syntax reset + endif +endif +let g:colors_name="twilight256" + +if has("gui_running") || &t_Co == 88 || &t_Co == 256 + " functions {{{ + " returns an approximate grey index for the given grey level + fun <SID>grey_number(x) + if &t_Co == 88 + if a:x < 23 + return 0 + elseif a:x < 69 + return 1 + elseif a:x < 103 + return 2 + elseif a:x < 127 + return 3 + elseif a:x < 150 + return 4 + elseif a:x < 173 + return 5 + elseif a:x < 196 + return 6 + elseif a:x < 219 + return 7 + elseif a:x < 243 + return 8 + else + return 9 + endif + else + if a:x < 14 + return 0 + else + let l:n = (a:x - 8) / 10 + let l:m = (a:x - 8) % 10 + if l:m < 5 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " returns the actual grey level represented by the grey index + fun <SID>grey_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 46 + elseif a:n == 2 + return 92 + elseif a:n == 3 + return 115 + elseif a:n == 4 + return 139 + elseif a:n == 5 + return 162 + elseif a:n == 6 + return 185 + elseif a:n == 7 + return 208 + elseif a:n == 8 + return 231 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 8 + (a:n * 10) + endif + endif + endfun + + " returns the palette index for the given grey index + fun <SID>grey_color(n) + if &t_Co == 88 + if a:n == 0 + return 16 + elseif a:n == 9 + return 79 + else + return 79 + a:n + endif + else + if a:n == 0 + return 16 + elseif a:n == 25 + return 231 + else + return 231 + a:n + endif + endif + endfun + + " returns an approximate color index for the given color level + fun <SID>rgb_number(x) + if &t_Co == 88 + if a:x < 69 + return 0 + elseif a:x < 172 + return 1 + elseif a:x < 230 + return 2 + else + return 3 + endif + else + if a:x < 75 + return 0 + else + let l:n = (a:x - 55) / 40 + let l:m = (a:x - 55) % 40 + if l:m < 20 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " returns the actual color level for the given color index + fun <SID>rgb_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 139 + elseif a:n == 2 + return 205 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 55 + (a:n * 40) + endif + endif + endfun + + " returns the palette index for the given R/G/B color indices + fun <SID>rgb_color(x, y, z) + if &t_Co == 88 + return 16 + (a:x * 16) + (a:y * 4) + a:z + else + return 16 + (a:x * 36) + (a:y * 6) + a:z + endif + endfun + + " returns the palette index to approximate the given R/G/B color levels + fun <SID>color(r, g, b) + " get the closest grey + let l:gx = <SID>grey_number(a:r) + let l:gy = <SID>grey_number(a:g) + let l:gz = <SID>grey_number(a:b) + + " get the closest color + let l:x = <SID>rgb_number(a:r) + let l:y = <SID>rgb_number(a:g) + let l:z = <SID>rgb_number(a:b) + + if l:gx == l:gy && l:gy == l:gz + " there are two possibilities + let l:dgr = <SID>grey_level(l:gx) - a:r + let l:dgg = <SID>grey_level(l:gy) - a:g + let l:dgb = <SID>grey_level(l:gz) - a:b + let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) + let l:dr = <SID>rgb_level(l:gx) - a:r + let l:dg = <SID>rgb_level(l:gy) - a:g + let l:db = <SID>rgb_level(l:gz) - a:b + let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) + if l:dgrey < l:drgb + " use the grey + return <SID>grey_color(l:gx) + else + " use the color + return <SID>rgb_color(l:x, l:y, l:z) + endif + else + " only one possibility + return <SID>rgb_color(l:x, l:y, l:z) + endif + endfun + + " returns the palette index to approximate the 'rrggbb' hex string + fun <SID>rgb(rgb) + let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 + let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 + let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 + + return <SID>color(l:r, l:g, l:b) + endfun + + " sets the highlighting for the given group + fun <SID>X(group, fg, bg, attr) + if a:fg != "" + exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . <SID>rgb(a:fg) + endif + if a:bg != "" + exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . <SID>rgb(a:bg) + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif + endfun + " }}} + + call <SID>X("Normal", "ffffff", "", "") + + " highlight groups + "call <SID>X("Cursor", "708090", "f0e68c", "") + "CursorIM + "Directory + "DiffAdd + "DiffChange + "DiffDelete + "DiffText + "ErrorMsg + "call <SID>X("VertSplit", "c2bfa5", "7f7f7f", "reverse") + "call <SID>X("Folded", "ffd700", "4d4d4d", "") + "call <SID>X("FoldColumn", "d2b48c", "4d4d4d", "") + "call <SID>X("IncSearch", "708090", "f0e68c", "") + call <SID>X("LineNr", "CCCCCC", "", "") + "call <SID>X("ModeMsg", "D4D4D4", "", "") + "call <SID>X("MoreMsg", "2e8b57", "", "") + "call <SID>X("NonText", "addbe7", "000000", "bold") + "call <SID>X("Question", "00ff7f", "", "") + "call <SID>X("Search", "f5deb3", "cd853f", "") + "call <SID>X("SpecialKey", "9acd32", "", "") + "call <SID>X("StatusLine", "c2bfa5", "000000", "reverse") + "call <SID>X("StatusLineNC", "c2bfa5", "7f7f7f", "reverse") + "call <SID>X("Title", "cd5c5c", "", "") + call <SID>X("Visual", "D3D3D3", "3E3E3E", "reverse") + "VisualNOS + "call <SID>X("WarningMsg", "fa8072", "", "") + "WildMenu + "Menu + "Scrollbar + "Tooltip + + " syntax highlighting groups + call <SID>X("Comment", "828282", "", "") + call <SID>X("Constant", "CF6A4C", "", "") + call <SID>X("Identifier", "7587A6", "", "none") + call <SID>X("Function", "9B703F", "", "") + call <SID>X("Define", "CDA869", "", "none") + call <SID>X("Statement", "CDA869", "", "") + call <SID>X("String", "8F9D6A", "", "") + call <SID>X("PreProc", "AFC4DB", "", "") + call <SID>X("Type", "F9EE98", "", "") + call <SID>X("Special", "DAEFA3", "", "") + "Underlined + call <SID>X("Ignore", "666666", "", "") + "Error + call <SID>X("Todo", "ff4500", "eeee00", "") + + " delete functions {{{ + delf <SID>X + delf <SID>rgb + delf <SID>color + delf <SID>rgb_color + delf <SID>rgb_level + delf <SID>rgb_number + delf <SID>grey_color + delf <SID>grey_level + delf <SID>grey_number + " }}} +endif + +" vim: set fdl=0 fdm=marker: diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/two-firewatch.vim b/nvim/plugged/awesome-vim-colorschemes/colors/two-firewatch.vim new file mode 100644 index 00000000..a5c61a46 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/two-firewatch.vim @@ -0,0 +1,692 @@ +" Name: Firewatch duotone vim colorscheme +" Author: Ramzi Akremi +" License: MIT +" Version: 1.0.0 + +" Global setup =============================================================={{{ + +hi clear +syntax reset +"if exists('g:colors_name') + "unlet g:colors_name +"endif +let g:colors_name = 'two-firewatch' + +if !exists('g:two_firewatch_italics') + let g:two_firewatch_italics = 0 +endif + +if has('gui_running') || &t_Co == 88 || &t_Co == 256 + " functions + " returns an approximate grey index for the given grey level + + " Utility functions -------------------------------------------------------{{{ + fun <SID>grey_number(x) + if &t_Co == 88 + if a:x < 23 + return 0 + elseif a:x < 69 + return 1 + elseif a:x < 103 + return 2 + elseif a:x < 127 + return 3 + elseif a:x < 150 + return 4 + elseif a:x < 173 + return 5 + elseif a:x < 196 + return 6 + elseif a:x < 219 + return 7 + elseif a:x < 243 + return 8 + else + return 9 + endif + else + if a:x < 14 + return 0 + else + let l:n = (a:x - 8) / 10 + let l:m = (a:x - 8) % 10 + if l:m < 5 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " returns the actual grey level represented by the grey index + fun <SID>grey_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 46 + elseif a:n == 2 + return 92 + elseif a:n == 3 + return 115 + elseif a:n == 4 + return 139 + elseif a:n == 5 + return 162 + elseif a:n == 6 + return 185 + elseif a:n == 7 + return 208 + elseif a:n == 8 + return 231 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 8 + (a:n * 10) + endif + endif + endfun + + " returns the palette index for the given grey index + fun <SID>grey_color(n) + if &t_Co == 88 + if a:n == 0 + return 16 + elseif a:n == 9 + return 79 + else + return 79 + a:n + endif + else + if a:n == 0 + return 16 + elseif a:n == 25 + return 231 + else + return 231 + a:n + endif + endif + endfun + + " returns an approximate color index for the given color level + fun <SID>rgb_number(x) + if &t_Co == 88 + if a:x < 69 + return 0 + elseif a:x < 172 + return 1 + elseif a:x < 230 + return 2 + else + return 3 + endif + else + if a:x < 75 + return 0 + else + let l:n = (a:x - 55) / 40 + let l:m = (a:x - 55) % 40 + if l:m < 20 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " returns the actual color level for the given color index + fun <SID>rgb_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 139 + elseif a:n == 2 + return 205 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 55 + (a:n * 40) + endif + endif + endfun + + " returns the palette index for the given R/G/B color indices + fun <SID>rgb_color(x, y, z) + if &t_Co == 88 + return 16 + (a:x * 16) + (a:y * 4) + a:z + else + return 16 + (a:x * 36) + (a:y * 6) + a:z + endif + endfun + + " returns the palette index to approximate the given R/G/B color levels + fun <SID>color(r, g, b) + " get the closest grey + let l:gx = <SID>grey_number(a:r) + let l:gy = <SID>grey_number(a:g) + let l:gz = <SID>grey_number(a:b) + + " get the closest color + let l:x = <SID>rgb_number(a:r) + let l:y = <SID>rgb_number(a:g) + let l:z = <SID>rgb_number(a:b) + + if l:gx == l:gy && l:gy == l:gz + " there are two possibilities + let l:dgr = <SID>grey_level(l:gx) - a:r + let l:dgg = <SID>grey_level(l:gy) - a:g + let l:dgb = <SID>grey_level(l:gz) - a:b + let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) + let l:dr = <SID>rgb_level(l:gx) - a:r + let l:dg = <SID>rgb_level(l:gy) - a:g + let l:db = <SID>rgb_level(l:gz) - a:b + let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) + if l:dgrey < l:drgb + " use the grey + return <SID>grey_color(l:gx) + else + " use the color + return <SID>rgb_color(l:x, l:y, l:z) + endif + else + " only one possibility + return <SID>rgb_color(l:x, l:y, l:z) + endif + endfun + + " returns the palette index to approximate the 'rrggbb' hex string + fun <SID>rgb(rgb) + let l:r = ('0x' . strpart(a:rgb, 0, 2)) + 0 + let l:g = ('0x' . strpart(a:rgb, 2, 2)) + 0 + let l:b = ('0x' . strpart(a:rgb, 4, 2)) + 0 + + return <SID>color(l:r, l:g, l:b) + endfun + + " sets the highlighting for the given group + fun <SID>X(group, fg, bg, attr) + let l:attr = a:attr + if g:two_firewatch_italics == 0 && l:attr ==? 'italic' + let l:attr = 'none' + endif + + if a:fg !=? '' + exec 'hi ' . a:group . ' guifg=#' . a:fg . ' ctermfg=' . <SID>rgb(a:fg) + endif + if a:bg !=? '' + exec 'hi ' . a:group . ' guibg=#' . a:bg . ' ctermbg=' . <SID>rgb(a:bg) + endif + if a:attr !=? '' + exec 'hi ' . a:group . ' gui=' . l:attr . ' cterm=' . l:attr + endif + endfun + + "}}} + + " Color definition --------------------------------------------------------{{{ + if &background ==? 'light' + let s:uno_1 = '2d2006' + let s:uno_2 = '896724' + let s:uno_3 = 'B29762' + let s:uno_4 = 'B6ad9a' + + let s:duo_1 = '065289' + let s:duo_2 = '718ecd' + let s:duo_3 = 'aeb3b7' + + let s:syntax_color_renamed = '33a0ff' + let s:syntax_color_added = '43d08a' + let s:syntax_color_modified = 'e0c285' + let s:syntax_color_removed = 'e05252' + + let s:syntax_fg = s:uno_2 + let s:syntax_bg = 'FAF8F5' + let s:syntax_accent = '447EBB' + let s:syntax_gutter = 'EAE1D2' + let s:syntax_selection = 'E5DDCB' + let s:syntax_fold_bg = 'd1cec7' + let s:syntax_cursor_line = 'F3EFE7' + else + let s:uno_1 = 'd6e9ff' + let s:uno_2 = 'abb2bf' + let s:uno_3 = '6e88a6' + let s:uno_4 = '55606d' + + let s:duo_1 = 'c8ae9d' + let s:duo_2 = 'e06c75' + let s:duo_3 = 'dd672c' + + let s:syntax_color_renamed = '33a0ff' + let s:syntax_color_added = '43d08a' + let s:syntax_color_modified = 'e0c285' + let s:syntax_color_removed = 'e05252' + + let s:syntax_fg = s:uno_2 + let s:syntax_bg = '282c34' + let s:syntax_accent = '56b6c2' + let s:syntax_gutter = '636d83' + let s:syntax_selection = '3e4452' + let s:syntax_fold_bg = '5c6370' + let s:syntax_cursor_line = '2c323c' + endif + + " neovim :terminal colors + let g:terminal_color_0 = "#282c34" + let g:terminal_color_8 = "#282c34" + let g:terminal_color_1 = "#e06c75" + let g:terminal_color_9 = "#e06c75" + let g:terminal_color_2 = "#98c379" + let g:terminal_color_10 = "#98c379" + let g:terminal_color_3 = "#e5c07b" + let g:terminal_color_11 = "#e5c07b" + let g:terminal_color_4 = "#61afef" + let g:terminal_color_12 = "#61afef" + let g:terminal_color_5 = "#c678dd" + let g:terminal_color_13 = "#c678dd" + let g:terminal_color_6 = "#56b6c2" + let g:terminal_color_14 = "#56b6c2" + let g:terminal_color_7 = "#dcdfe4" + let g:terminal_color_15 = "#dcdfe4" + + "}}} + + " Vim editor color --------------------------------------------------------{{{ + call <sid>X('bold', '', '', 'bold') + call <sid>X('ColorColumn', '', s:syntax_cursor_line, '') + call <sid>X('Conceal', '', '', '') + call <sid>X('Cursor', s:syntax_bg, s:syntax_accent, '') + call <sid>X('CursorIM', '', '', '') + call <sid>X('CursorColumn', '', s:syntax_cursor_line, '') + call <sid>X('CursorLine', '', s:syntax_cursor_line, '') + call <sid>X('Directory', s:uno_1, '', '') + call <sid>X('ErrorMsg', s:syntax_color_removed, s:syntax_bg, 'none') + call <sid>X('VertSplit', s:syntax_fold_bg, '', 'none') + call <sid>X('Folded', s:syntax_bg, s:syntax_fold_bg, '') + call <sid>X('FoldColumn', s:uno_3, s:syntax_cursor_line, '') + call <sid>X('IncSearch', s:syntax_bg, s:uno_4, '') + call <sid>X('LineNr', s:syntax_fold_bg, '', '') + call <sid>X('CursorLineNr', s:uno_2, '', 'none') + call <sid>X('MatchParen', s:syntax_bg, s:syntax_accent, '') + call <sid>X('Italic', '', '', 'italic') + call <sid>X('ModeMsg', s:syntax_color_added, '', '') + call <sid>X('MoreMsg', s:syntax_fg, '', '') + call <sid>X('NonText', s:uno_4, '', '') + call <sid>X('PMenu', '', s:syntax_selection, '') + call <sid>X('PMenuSel', '', s:syntax_bg, '') + call <sid>X('PMenuSbar', '', s:syntax_bg, '') + call <sid>X('PMenuThumb', '', s:uno_1, '') + call <sid>X('Question', s:syntax_accent, '', '') + call <sid>X('Search', s:syntax_bg, s:uno_4, '') + call <sid>X('SpecialKey', s:syntax_fold_bg, '', '') + call <sid>X('StatusLine', s:syntax_fg, s:syntax_cursor_line, 'none') + call <sid>X('StatusLineNC', s:uno_4, '', '') + call <sid>X('TabLine', s:uno_4, '', '') + call <sid>X('TabLineFill', '', '', 'none') + call <sid>X('TabLineSel', s:syntax_fg, '', '') + call <sid>X('Title', s:duo_2, '', 'bold') + call <sid>X('Visual', '', s:syntax_selection, '') + call <sid>X('VisualNOS', '', s:syntax_selection, '') + call <sid>X('WarningMsg', s:syntax_accent, '', '') + call <sid>X('TooLong', s:syntax_accent, '', '') + call <sid>X('WildMenu', s:syntax_fg, s:uno_4, '') + call <sid>X('Normal', s:syntax_fg, s:syntax_bg, '') + call <sid>X('SignColumn', '', s:uno_4, '') + call <sid>X('Special', s:duo_2, '', '') + " }}} + + " Standard syntax highlighting --------------------------------------------{{{ + call <sid>X('Comment', s:uno_4, '', 'italic') + call <sid>X('Constant', s:duo_2, '', '') + call <sid>X('String', s:duo_1, '', '') + call <sid>X('Character', s:duo_2, '', '') + call <sid>X('Number', s:duo_2, '', '') + call <sid>X('Boolean', s:duo_2, '', '') + call <sid>X('Float', s:duo_2, '', '') + call <sid>X('Identifier', s:uno_3, '', 'none') + call <sid>X('Function', s:uno_2, '', '') + call <sid>X('Statement', s:duo_1, '', 'none') + call <sid>X('Conditional', s:syntax_accent, '', '') + call <sid>X('Repeat', s:duo_2, '', '') + call <sid>X('Label', s:uno_1, '', '') + call <sid>X('Operator', s:syntax_accent, '', 'none') + call <sid>X('Keyword', s:uno_1, '', '') + call <sid>X('Exception', s:uno_1, '', '') + call <sid>X('PreProc', s:uno_1, '', '') + "call <sid>X('Include', s:duo_2, '', '') + "call <sid>X('Define', s:duo_2, '', 'none') + "call <sid>X('Macro', s:uno_3, '', '') + "call <sid>X('PreCondit', 'ff0000', '', '') + call <sid>X('Type', s:duo_1, '', 'none') + call <sid>X('StorageClass', s:duo_2, '', '') + call <sid>X('Structure', s:uno_1, '', '') + call <sid>X('Typedef', s:uno_1, '', '') + call <sid>X('Special', s:uno_3, '', '') + call <sid>X('SpecialChar', '', '', '') + call <sid>X('Tag', '', '', '') + call <sid>X('Delimiter', s:uno_4, '', '') + call <sid>X('SpecialComment', '', '', '') + call <sid>X('Debug', '', '', '') + call <sid>X('Underlined', s:duo_1, '', 'underline') + call <sid>X('Ignore', '', '', '') + call <sid>X('Error', s:syntax_color_removed, s:syntax_bg, 'bold') + call <sid>X('Todo', s:syntax_color_added, s:syntax_bg, '') + " }}} + + " Asciidoc highlighting ---------------------------------------------------{{{ + call <sid>X('asciidocListingBlock', s:uno_2, '', '') + " }}} + + " Cucumber highlighting ---------------------------------------------------{{{ + call <sid>X('cucumberGiven', s:duo_2, '', '') + call <sid>X('cucumberWhen', s:duo_2, '', '') + call <sid>X('cucumberWhenAnd', s:duo_2, '', '') + call <sid>X('cucumberThen', s:duo_2, '', '') + call <sid>X('cucumberThenAnd', s:duo_2, '', '') + call <sid>X('cucumberUnparsed', s:duo_1, '', '') + call <sid>X('cucumberFeature', s:syntax_accent, '', 'bold') + call <sid>X('cucumberBackground', s:duo_2, '', 'bold') + call <sid>X('cucumberScenario', s:duo_2, '', 'bold') + call <sid>X('cucumberScenarioOutline', s:duo_2, '', 'bold') + call <sid>X('cucumberTags', s:uno_4, '', 'bold') + call <sid>X('cucumberDelimiter', s:uno_4, '', 'bold') + " }}} + + " Diff highlighting -------------------------------------------------------{{{ + call <sid>X('DiffAdd', s:syntax_color_added, s:syntax_selection, '') + call <sid>X('DiffChange', s:syntax_color_modified, s:syntax_selection, '') + call <sid>X('DiffDelete', s:syntax_color_removed, s:syntax_selection, '') + call <sid>X('DiffText', s:uno_2, s:syntax_selection, '') + call <sid>X('DiffAdded', s:duo_2, s:syntax_selection, '') + call <sid>X('DiffFile', s:syntax_accent, s:syntax_selection, '') + call <sid>X('DiffNewFile', s:duo_2, s:syntax_selection, '') + call <sid>X('DiffLine', s:uno_2, s:syntax_selection, '') + call <sid>X('DiffRemoved', s:syntax_accent, s:syntax_selection, '') + " }}} + + " C/C++ and other languages like that -------------------------------------{{{ + "call <sid>X('cCustomParen', s:uno_4, '', '') + " }}} + + " CSS/Sass highlighting ---------------------------------------------------{{{ + call <sid>X('cssAttrComma', s:duo_3, '', '') + call <sid>X('cssAttributeSelector', s:duo_2, '', '') + call <sid>X('cssBraces', s:uno_4, '', '') + call <sid>X('cssClassName', s:uno_1, '', '') + call <sid>X('cssClassNameDot', s:uno_1, '', '') + call <sid>X('cssDefinition', s:duo_3, '', '') + call <sid>X('cssFlexibleBoxAttr', s:duo_1, '', '') + call <sid>X('cssBorderAttr', s:duo_1, '', '') + call <sid>X('cssPositioningAttr', s:duo_1, '', '') + call <sid>X('cssTransitionAttr', s:duo_1, '', '') + call <sid>X('cssCommonAttr', s:duo_1, '', '') + call <sid>X('cssBoxAttr', s:duo_1, '', '') + call <sid>X('cssFontAttr', s:duo_1, '', '') + call <sid>X('cssTextAttr', s:duo_1, '', '') + call <sid>X('cssFontDescriptor', s:uno_1, '', '') + call <sid>X('cssFunctionName', s:uno_3, '', '') + call <sid>X('cssIdentifier', s:duo_1, '', '') + call <sid>X('cssImportant', s:duo_1, '', '') + call <sid>X('cssUnitDecorators', s:duo_2, '', '') + call <sid>X('cssInclude', s:uno_1, '', '') + call <sid>X('cssIncludeKeyword', s:duo_3, '', '') + call <sid>X('cssMediaType', s:uno_1, '', '') + call <sid>X('cssProp', s:uno_3, '', '') + call <sid>X('cssPseudoClassId', s:uno_1, '', '') + call <sid>X('cssSelectorOp', s:duo_3, '', '') + call <sid>X('cssSelectorOp2', s:duo_3, '', '') + call <sid>X('cssStringQ', s:duo_1, '', '') + call <sid>X('cssStringQQ', s:duo_1, '', '') + call <sid>X('cssTagName', s:uno_1, '', '') + call <sid>X('cssClassNameDot', s:uno_4, '', '') + call <sid>X('cssValueNumber', s:duo_1, '', '') + + call <sid>X('sassAmpersand', s:syntax_accent, '', '') + call <sid>X('sassClass', s:uno_1, '', '') + call <sid>X('sassControl', s:duo_3, '', '') + call <sid>X('sassExtend', s:duo_3, '', '') + call <sid>X('sassFor', s:uno_1, '', '') + call <sid>X('sassProperty', s:uno_3, '', '') + call <sid>X('sassFunction', s:duo_1, '', '') + call <sid>X('sassId', s:duo_2, '', '') + call <sid>X('sassInclude', s:uno_1, '', '') + call <sid>X('sassMedia', s:duo_3, '', '') + call <sid>X('sassMediaOperators', s:uno_1, '', '') + call <sid>X('sassMixin', s:duo_3, '', '') + call <sid>X('sassMixinName', s:duo_2, '', '') + call <sid>X('sassMixing', s:duo_3, '', '') + call <sid>X('sassVariable', s:uno_2, '', '') + call <sid>X('sassVariableAssignment', s:uno_4, '', '') + " }}} + + " Elixir highlighting------------------------------------------------------{{{ + "call <sid>X('elixirAtom', s:syntax_accent, '', '') + "call <sid>X('elixirAlias', s:duo_1, '', '') + call <sid>X('elixirBlock', s:uno_3, '', '') + "call <sid>X('elixirBlockDefinition', s:duo_2, '', '') + "call <sid>X('elixirInclude', s:duo_2, '', '') + call <sid>X('elixirId', s:uno_2, '', '') + call <sid>X('elixirModuleDeclaration', s:uno_1, '', '') + "call <sid>X('elixirModuleDefine', s:duo_2, '', '') + "call <sid>X('elixirOperator', s:uno_3, '', '') + "call <sid>X('elixirSigil', s:uno_4, '', '') + "call <sid>X('elixirVariable', s:duo_2, '', '') + " }}} + + " Go highlighting ---------------------------------------------------------{{{ + call <sid>X('goDeclaration', s:duo_3, '', '') + " }}} + + " Git and git related plugins highlighting --------------------------------{{{ + call <sid>X('gitcommitComment', s:uno_4, '', '') + call <sid>X('gitcommitUnmerged', s:duo_2, '', '') + call <sid>X('gitcommitOnBranch', '', '', '') + call <sid>X('gitcommitBranch', s:duo_3, '', '') + call <sid>X('gitcommitDiscardedType', s:syntax_accent, '', '') + call <sid>X('gitcommitSelectedType', s:duo_2, '', '') + call <sid>X('gitcommitHeader', '', '', '') + call <sid>X('gitcommitUntrackedFile', s:duo_2, '', '') + call <sid>X('gitcommitDiscardedFile', s:syntax_accent, '', '') + call <sid>X('gitcommitSelectedFile', s:duo_2, '', '') + call <sid>X('gitcommitUnmergedFile', s:uno_1, '', '') + call <sid>X('gitcommitFile', '', '', '') + hi link gitcommitNoBranch gitcommitBranch + hi link gitcommitUntracked gitcommitComment + hi link gitcommitDiscarded gitcommitComment + hi link gitcommitSelected gitcommitComment + hi link gitcommitDiscardedArrow gitcommitDiscardedFile + hi link gitcommitSelectedArrow gitcommitSelectedFile + hi link gitcommitUnmergedArrow gitcommitUnmergedFile + + call <sid>X('SignifySignAdd', s:duo_2, '', '') + call <sid>X('SignifySignChange', s:uno_1, '', '') + call <sid>X('SignifySignDelete', s:syntax_accent, '', '') + hi link GitGutterAdd SignifySignAdd + hi link GitGutterChange SignifySignChange + hi link GitGutterDelete SignifySignDelete + call <sid>X('diffAdded', s:duo_2, '', '') + call <sid>X('diffRemoved', s:syntax_accent, '', '') + " }}} + + " HTML highlighting -------------------------------------------------------{{{ + call <sid>X('htmlArg', s:uno_2, '', '') + call <sid>X('htmlTagName', s:uno_1, '', '') + call <sid>X('htmlSpecialTagName', s:uno_1, '', '') + call <sid>X('htmlTag', s:uno_3, '', '') + + call <sid>X('liquidDelimiter', s:uno_4, '', '') + call <sid>X('liquidKeyword', s:uno_3, '', '') + " }}} + + " JavaScript highlighting -------------------------------------------------{{{ + call <sid>X('coffeeString', s:duo_2, '', '') + + call <sid>X('javaScriptBraces', s:uno_3, '', '') + call <sid>X('javaScriptFunction', s:duo_3, '', '') + call <sid>X('javaScriptIdentifier', s:duo_3, '', '') + call <sid>X('javaScriptNull', s:uno_1, '', '') + call <sid>X('javaScriptNumber', s:uno_1, '', '') + call <sid>X('javaScriptRequire', s:duo_2, '', '') + call <sid>X('javaScriptReserved', s:duo_3, '', '') + " https://github.com/pangloss/vim-javascript + call <sid>X('jsArrowFunction', s:duo_3, '', '') + call <sid>X('jsClassKeywords', s:duo_3, '', '') + call <sid>X('jsDocParam', s:duo_2, '', '') + call <sid>X('jsDocTags', s:duo_3, '', '') + call <sid>X('jsFuncCall', s:uno_1, '', '') + call <sid>X('jsFunction', s:duo_3, '', '') + call <sid>X('jsGlobalObjects', s:uno_1, '', '') + call <sid>X('jsModuleWords', s:duo_3, '', '') + call <sid>X('jsModules', s:duo_3, '', '') + call <sid>X('jsNoise', s:uno_3, '', '') + call <sid>X('jsNull', s:uno_1, '', '') + call <sid>X('jsOperator', s:duo_2, '', '') + call <sid>X('jsObjectBraces', s:uno_3, '', '') + call <sid>X('jsBrackets', s:uno_3, '', '') + call <sid>X('jsParens', s:uno_3, '', '') + call <sid>X('jsStorageClass', s:duo_1, '', '') + call <sid>X('jsTemplateBraces', s:syntax_accent, '', '') + call <sid>X('jsTemplateVar', s:duo_2, '', '') + call <sid>X('jsThis', s:syntax_accent, '', '') + call <sid>X('jsUndefined', s:uno_1, '', '') + " https://github.com/othree/yajs.vim + call <sid>X('javascriptArrowFunc', s:duo_3, '', '') + call <sid>X('javascriptClassExtends', s:duo_3, '', '') + call <sid>X('javascriptClassKeyword', s:duo_3, '', '') + call <sid>X('javascriptDocNotation', s:duo_3, '', '') + call <sid>X('javascriptDocParamName', s:duo_2, '', '') + call <sid>X('javascriptDocTags', s:duo_3, '', '') + call <sid>X('javascriptEndColons', s:uno_3, '', '') + call <sid>X('javascriptExport', s:duo_3, '', '') + call <sid>X('javascriptFuncArg', s:uno_1, '', '') + call <sid>X('javascriptFuncKeyword', s:duo_3, '', '') + call <sid>X('javascriptIdentifier', s:syntax_accent, '', '') + call <sid>X('javascriptImport', s:duo_3, '', '') + call <sid>X('javascriptObjectLabel', s:uno_1, '', '') + call <sid>X('javascriptOpSymbol', s:duo_2, '', '') + call <sid>X('javascriptOpSymbols', s:duo_2, '', '') + call <sid>X('javascriptPropertyName', s:duo_2, '', '') + call <sid>X('javascriptTemplateSB', s:syntax_accent, '', '') + call <sid>X('javascriptVariable', s:duo_3, '', '') + " }}} + + " JSON highlighting -------------------------------------------------------{{{ + call <sid>X('jsonCommentError', s:uno_1, '', '' ) + call <sid>X('jsonKeyword', s:duo_2, '', '' ) + call <sid>X('jsonQuote', s:uno_3, '', '' ) + call <sid>X('jsonMissingCommaError', s:syntax_accent, '', 'reverse' ) + call <sid>X('jsonNoQuotesError', s:syntax_accent, '', 'reverse' ) + call <sid>X('jsonNumError', s:syntax_accent, '', 'reverse' ) + call <sid>X('jsonString', s:duo_1, '', '' ) + call <sid>X('jsonStringSQError', s:syntax_accent, '', 'reverse' ) + call <sid>X('jsonSemicolonError', s:syntax_accent, '', 'reverse' ) + " }}} + + " Markdown highlighting ---------------------------------------------------{{{ + call <sid>X('markdownUrl', s:duo_3, '', '') + call <sid>X('markdownCode', s:duo_1, '', '') + call <sid>X('markdownHeadingDelimiter', s:duo_3, '', '') + call <sid>X('markdownListMarker', s:duo_3, '', '') + + call <sid>X('mkdCode', s:duo_1, '', '') + call <sid>X('mkdDelimiter', s:uno_3, '', '') + call <sid>X('mkdLink', s:duo_1, '', '') + call <sid>X('mkdLinkDef', s:duo_1, '', '') + call <sid>X('mkdLinkDefTarget', s:duo_1, '', 'underline') + call <sid>X('mkdURL', s:duo_1, '', 'underline') + + call <sid>X('htmlBold', s:uno_2, '', 'bold') + call <sid>X('htmlItalic', s:uno_2, '', 'italic') + " }}} + + " NERDTree highlighting ---------------------------------------------------{{{ + call <sid>X('NERDTreeExecFile', s:duo_1, '', '') + " }}} + + " Ruby highlighting -------------------------------------------------------{{{ + call <sid>X('rubyBlock', s:uno_2, '', '') + call <sid>X('rubyBlockParameter', s:uno_2, '', '') + call <sid>X('rubyBlockParameterList', s:uno_3, '', '') + call <sid>X('rubyCapitalizedMethod', s:duo_2, '', '') + call <sid>X('rubyClass', s:duo_2, '', '') + call <sid>X('rubyConstant', s:uno_3, '', '') + call <sid>X('rubyControl', s:duo_2, '', '') + call <sid>X('rubyConditionalModifier', s:syntax_accent, '', '') + call <sid>X('rubyCurlyBlockDelimiter', s:uno_4, '', '') + call <sid>X('rubyDefine', s:duo_2, '', '') + call <sid>X('rubyEscape', s:syntax_accent, '', '') + call <sid>X('rubyFunction', s:uno_1, '', '') + call <sid>X('rubyGlobalVariable', s:syntax_accent, '', '') + call <sid>X('rubyInclude', s:duo_2, '', '') + call <sid>X('rubyIncluderubyGlobalVariable', s:syntax_accent, '', '') + call <sid>X('rubyInstanceVariable', s:syntax_accent, '', '') + call <sid>X('rubyInterpolation', s:duo_2, '', '') + call <sid>X('rubyInterpolationDelimiter', s:uno_4, '', '') + call <sid>X('rubyModule', s:duo_2, '', '') + call <sid>X('rubyRegexp', s:duo_1, '', '') + call <sid>X('rubyRegexpDelimiter', s:uno_4, '', '') + call <sid>X('rubyStringDelimiter', s:duo_3, '', '') + call <sid>X('rubySymbol', s:duo_1, '', '') + " }}} + + " Spelling highlighting ---------------------------------------------------{{{ + call <sid>X('SpellBad', '', s:syntax_bg, 'undercurl') + call <sid>X('SpellLocal', '', s:syntax_bg, 'undercurl') + call <sid>X('SpellCap', '', s:syntax_bg, 'undercurl') + call <sid>X('SpellRare', '', s:syntax_bg, 'undercurl') + " }}} + + " Vim highlighting --------------------------------------------------------{{{ + "call <sid>X('vimCommentTitle', s:uno_4, '', 'bold') + call <sid>X('vimCommand', s:uno_1, '', '') + call <sid>X('vimVar', s:duo_2, '', '') + call <sid>X('vimEnvVar', s:duo_3, '', '') + + " Vim Help highlights + call <sid>X('helpHyperTextJump', s:duo_1, '', '') + call <sid>X('helpSpecial', s:duo_2, '', '') + + " }}} + + " XML highlighting --------------------------------------------------------{{{ + call <sid>X('xmlAttrib', s:uno_1, '', '') + call <sid>X('xmlEndTag', s:syntax_accent, '', '') + call <sid>X('xmlTag', s:syntax_accent, '', '') + call <sid>X('xmlTagName', s:syntax_accent, '', '') + " }}} + + " YAML highlighting -------------------------------------------------------{{{ + call <sid>X('yamlKey', s:duo_2, '', '') + call <sid>X('yamlOperator', s:uno_4, '', '') + + call <sid>X('liquidDelimiter', s:uno_4, '', '') + call <sid>X('liquidKeyword', s:uno_3, '', '') + " }}} + +" Delete functions =========================================================={{{ + delf <SID>X + delf <SID>rgb + delf <SID>color + delf <SID>rgb_color + delf <SID>rgb_level + delf <SID>rgb_number + delf <SID>grey_color + delf <SID>grey_level + delf <SID>grey_number +"}}} + +endif +"}}} + + +" vim: set fdl=0 fdm=marker: diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/wombat256mod.vim b/nvim/plugged/awesome-vim-colorschemes/colors/wombat256mod.vim new file mode 100644 index 00000000..1137eb89 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/wombat256mod.vim @@ -0,0 +1,96 @@ +" Vim color file +" Original Maintainer: Lars H. Nielsen (dengmao@gmail.com) +" Last Change: 2010-07-23 +" +" Modified version of wombat for 256-color terminals by +" David Liang (bmdavll@gmail.com) +" based on version by +" Danila Bespalov (danila.bespalov@gmail.com) + +set background=dark + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let colors_name = "wombat256mod" + + +" General colors +hi Normal ctermfg=252 ctermbg=234 cterm=none guifg=#e3e0d7 guibg=#242424 gui=none +hi Cursor ctermfg=234 ctermbg=228 cterm=none guifg=#242424 guibg=#eae788 gui=none +hi Visual ctermfg=251 ctermbg=239 cterm=none guifg=#c3c6ca guibg=#554d4b gui=none +hi VisualNOS ctermfg=251 ctermbg=236 cterm=none guifg=#c3c6ca guibg=#303030 gui=none +hi Search ctermfg=177 ctermbg=241 cterm=none guifg=#d787ff guibg=#636066 gui=none +hi Folded ctermfg=103 ctermbg=237 cterm=none guifg=#a0a8b0 guibg=#3a4046 gui=none +hi Title ctermfg=230 cterm=bold guifg=#ffffd7 gui=bold +hi StatusLine ctermfg=230 ctermbg=238 cterm=none guifg=#ffffd7 guibg=#444444 gui=italic +hi VertSplit ctermfg=238 ctermbg=238 cterm=none guifg=#444444 guibg=#444444 gui=none +hi StatusLineNC ctermfg=241 ctermbg=238 cterm=none guifg=#857b6f guibg=#444444 gui=none +hi LineNr ctermfg=241 ctermbg=232 cterm=none guifg=#857b6f guibg=#080808 gui=none +hi SpecialKey ctermfg=241 ctermbg=235 cterm=none guifg=#626262 guibg=#2b2b2b gui=none +hi WarningMsg ctermfg=203 guifg=#ff5f55 +hi ErrorMsg ctermfg=196 ctermbg=236 cterm=bold guifg=#ff2026 guibg=#3a3a3a gui=bold + +" Vim >= 7.0 specific colors +if version >= 700 +hi CursorLine ctermbg=236 cterm=none guibg=#32322f +hi MatchParen ctermfg=228 ctermbg=101 cterm=bold guifg=#eae788 guibg=#857b6f gui=bold +hi Pmenu ctermfg=230 ctermbg=238 guifg=#ffffd7 guibg=#444444 +hi PmenuSel ctermfg=232 ctermbg=192 guifg=#080808 guibg=#cae982 +endif + +" Diff highlighting +hi DiffAdd ctermbg=17 guibg=#2a0d6a +hi DiffDelete ctermfg=234 ctermbg=60 cterm=none guifg=#242424 guibg=#3e3969 gui=none +hi DiffText ctermbg=53 cterm=none guibg=#73186e gui=none +hi DiffChange ctermbg=237 guibg=#382a37 + +"hi CursorIM +"hi Directory +"hi IncSearch +"hi Menu +"hi ModeMsg +"hi MoreMsg +"hi PmenuSbar +"hi PmenuThumb +"hi Question +"hi Scrollbar +"hi SignColumn +"hi SpellBad +"hi SpellCap +"hi SpellLocal +"hi SpellRare +"hi TabLine +"hi TabLineFill +"hi TabLineSel +"hi Tooltip +"hi User1 +"hi User9 +"hi WildMenu + + +" Syntax highlighting +hi Keyword ctermfg=111 cterm=none guifg=#88b8f6 gui=none +hi Statement ctermfg=111 cterm=none guifg=#88b8f6 gui=none +hi Constant ctermfg=173 cterm=none guifg=#e5786d gui=none +hi Number ctermfg=173 cterm=none guifg=#e5786d gui=none +hi PreProc ctermfg=173 cterm=none guifg=#e5786d gui=none +hi Function ctermfg=192 cterm=none guifg=#cae982 gui=none +hi Identifier ctermfg=192 cterm=none guifg=#cae982 gui=none +hi Type ctermfg=186 cterm=none guifg=#d4d987 gui=none +hi Special ctermfg=229 cterm=none guifg=#eadead gui=none +hi String ctermfg=113 cterm=none guifg=#95e454 gui=italic +hi Comment ctermfg=246 cterm=none guifg=#9c998e gui=italic +hi Todo ctermfg=101 cterm=none guifg=#857b6f gui=italic + + +" Links +hi! link FoldColumn Folded +hi! link CursorColumn CursorLine +hi! link NonText LineNr + +" vim:set ts=4 sw=4 noet: diff --git a/nvim/plugged/awesome-vim-colorschemes/colors/yellow-moon.vim b/nvim/plugged/awesome-vim-colorschemes/colors/yellow-moon.vim new file mode 100644 index 00000000..e3096262 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/colors/yellow-moon.vim @@ -0,0 +1,394 @@ +" Yellow Moon Theme -- an older version of Pink Moon theme + +hi clear + +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = "yellow-moon" +set background=dark + +" dark theme background +let s:newmoon = "2a2e38" +" line number background, file explorer selection +let s:halfmoon = "333C47" +" file address background, visual selection +let s:fullmoon = "434852" + +let s:salmon = "D08785" +let s:pink = "FBC4C1" +let s:teal = "608DAB" +let s:sea_blue = "9DB1C7" +let s:light_gold = "fcf4ae" +let s:starlight = "F0FDFF" + +let s:cliquot = "FFd17f" + +"colors to play with: +" Light blue 2: #CCDAE8 +" Purple blue: #D2D8EB +" (Slate) Blue: #A5ACBD + +" unused currently +" blue = 5D7EA3 +" sea green 80A78C or B4EEB4 or 8fbc8f +" dark gold (eh) = f7cd4f +" slate = 5F7C99 +" comet = 5673BE + + +" inactive line numbers, inactive file names? +" let s:gui03 = 9DB1C7 +" active line number, active file name +" let s:gui04 = FBC4C1 +" local varaibles, cursor foreground, math operators (was pure white) +" let s:gui05 = F0FDFF + +" comments +" let s:gui06 = 9DB1C7 +" special characters, some parameters +" let s:gui07 = FFD17F +" let and instance var declations +" let s:gui08 = D08785 + +" digits, boolean, some CSS (was DAB teal) +" let s:gui09 = 608DAB +" class names +" let s:gui0A = Fbc4c1 +" strings (was fcf4ae) +" let s:gui0B = fcf4ae + + +" hex colors (CSS), some commas +" let s:gui0C = FCF4AE +" methods when defined +" let s:gui0D = FBC4C1 +" if, else, def +" let s:gui0E = 608DAB + +" There are colors for Neovim's terminal emulator +if has("nvim") + let g:terminal_color_0 = "#252932" + let g:terminal_color_1 = "#9dd6f4" + let g:terminal_color_2 = "#6E7B87" + let g:terminal_color_3 = "#5F7C99" + let g:terminal_color_4 = "#edd98f" + let g:terminal_color_5 = "#f8f8f2" + let g:terminal_color_6 = "#9dd6f4" + let g:terminal_color_7 = "#f8f8f2" + let g:terminal_color_8 = "#edd98f" + let g:terminal_color_9 = "#608DAB" + let g:terminal_color_10 = "#f8f8f2" + let g:terminal_color_11 = "#9dd6f4" + let g:terminal_color_12 = "#608DAB" + let g:terminal_color_13 = "#5673BE" + let g:terminal_color_14 = "#5673BE" + let g:terminal_color_15 = "#5673BE" + let g:terminal_color_16 ="#333C47" + let g:terminal_color_background="#333C47" + let g:terminal_color_foreground="#eee" +endif + +" Terminal color definitions + +" dark theme background: 25,25,25 +let s:cterm00 = "00" + +" comments, inactive vim window text: 128, 167, 140 +let s:cterm03 = "02" + +" puts, parameters, and method calls: 248,248,242 +let s:cterm05 = "07" + +" light theme background +let s:cterm07 = "15" + +" instance variables, Python defs (and maybe if / elses): 236, 105, 32 +let s:cterm08 = "11" + +" class names, object names, while, end, template variables: 236, 215, 149 +let s:cterm0A = "11" + +" Ruby strings: 161,215,242 +let s:cterm0B = "12" + +" hex colors: 115, 228, 246 +let s:cterm0C = "14" + +" method names in definitions: 247,197,39 +let s:cterm0D = "03" + +" ruby def: 236, 105, 32 +let s:cterm0E = "09" + + +if exists('base16colorspace') && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + " Vim inactive window name background + let s:cterm01 = "08" + + " Light background markdown text color plus + " Vim window borders and active widnow background + let s:cterm02 = "08" + + " Active vim window name (text) + let s:cterm04 = "03" + + " vim borders in light mode" + let s:cterm06 = "00" + + " integer: 115, 228, 246 + let s:cterm09 = "14" + + " backticks in markdown, probably some other stuff + let s:cterm0F = "03" +endif + + +" Highlighting function +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr) + if a:guifg != "" + exec "hi " . a:group . " guifg=#" . s:gui(a:guifg) + endif + if a:guibg != "" + exec "hi " . a:group . " guibg=#" . s:gui(a:guibg) + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . s:cterm(a:ctermfg) + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . s:cterm(a:ctermbg) + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif +endfun + +" Return GUI color for light/dark variants +fun s:gui(color) + if &background == "dark" + return a:color + endif + + if a:color == s:newmoon + return s:cliquot + elseif a:color == s:halfmoon + return s:sea_blue + elseif a:color == s:fullmoon + return s:starlight + elseif a:color == s:sea_blue + return s:pink + elseif a:color == s:pink + return s:sea_blue + elseif a:color == s:starlight + return s:fullmoon + elseif a:color == s:sea_blue + return s:halfmoon + elseif a:color == s:cliquot + return s:newmoon + endif + + return a:color +endfun + +" Return terminal color for light/dark variants +fun s:cterm(color) + if &background == "dark" + return a:color + endif + + if a:color == s:cterm00 + return s:cterm07 + elseif a:color == s:cterm01 + return s:cterm06 + elseif a:color == s:cterm02 + return s:cterm05 + elseif a:color == s:cterm03 + return s:cterm04 + elseif a:color == s:cterm04 + return s:cterm03 + elseif a:color == s:cterm05 + return s:cterm02 + elseif a:color == s:cterm06 + return s:cterm01 + elseif a:color == s:cterm07 + return s:cterm00 + endif + + return a:color +endfun + +" Vim editor colors +call <sid>hi("Bold", "", "", "", "", "bold") +call <sid>hi("Debug", s:salmon, "", s:cterm08, "", "") +call <sid>hi("Directory", s:pink, "", s:cterm0D, "", "") +call <sid>hi("ErrorMsg", s:salmon, s:newmoon, s:cterm08, s:cterm00, "") +call <sid>hi("Exception", s:salmon, "", s:cterm08, "", "") +call <sid>hi("FoldColumn", "", s:halfmoon, "", s:cterm01, "") +call <sid>hi("Folded", s:sea_blue, s:halfmoon, s:cterm03, s:cterm01, "") +call <sid>hi("IncSearch", s:halfmoon, s:teal, s:cterm01, s:cterm09, "none") +call <sid>hi("Italic", "", "", "", "", "none") +call <sid>hi("Macro", s:salmon, "", s:cterm08, "", "") +call <sid>hi("MatchParen", s:newmoon, s:sea_blue, s:cterm00, s:cterm03, "") +call <sid>hi("ModeMsg", s:light_gold, "", s:cterm0B, "", "") +call <sid>hi("MoreMsg", s:light_gold, "", s:cterm0B, "", "") +call <sid>hi("Question", s:teal, "", s:cterm09, "", "") +call <sid>hi("Search", s:sea_blue, s:pink, s:cterm03, s:cterm0A, "") +call <sid>hi("SpecialKey", s:sea_blue, "", s:cterm03, "", "") +call <sid>hi("TooLong", s:salmon, "", s:cterm08, "", "") +call <sid>hi("Underlined", s:salmon, "", s:cterm08, "", "") +call <sid>hi("Visual", "", s:fullmoon, "", s:cterm02, "") +call <sid>hi("VisualNOS", s:salmon, "", s:cterm08, "", "") +call <sid>hi("WarningMsg", s:salmon, "", s:cterm08, "", "") +call <sid>hi("WildMenu", s:salmon, "", s:cterm08, "", "") +call <sid>hi("Title", s:pink, "", s:cterm0D, "", "none") +call <sid>hi("Conceal", s:pink, s:newmoon, s:cterm0D, s:cterm00, "") +call <sid>hi("Cursor", s:newmoon, s:starlight, s:cterm00, s:cterm05, "") +call <sid>hi("NonText", s:sea_blue, "", s:cterm03, "", "") +call <sid>hi("Normal", s:starlight, s:newmoon, s:cterm05, s:cterm00, "") +call <sid>hi("LineNr", s:sea_blue, s:halfmoon, s:cterm03, s:cterm01, "") +call <sid>hi("SignColumn", s:sea_blue, s:halfmoon, s:cterm03, s:cterm01, "") +call <sid>hi("SpecialKey", s:sea_blue, "", s:cterm03, "", "") +call <sid>hi("StatusLine", s:pink, s:fullmoon, s:cterm04, s:cterm02, "none") +call <sid>hi("StatusLineNC", s:sea_blue, s:halfmoon, s:cterm03, s:cterm01, "none") +call <sid>hi("VertSplit", s:fullmoon, s:fullmoon, s:cterm02, s:cterm02, "none") +call <sid>hi("ColorColumn", "", s:halfmoon, "", s:cterm01, "none") +call <sid>hi("CursorColumn", "", s:halfmoon, "", s:cterm01, "none") +call <sid>hi("CursorLine", "", s:halfmoon, "", s:cterm01, "none") +call <sid>hi("CursorLineNr", s:pink, s:fullmoon, s:cterm03, s:cterm01, "") +call <sid>hi("PMenu", s:pink, s:halfmoon, s:cterm04, s:cterm01, "none") +call <sid>hi("PMenuSel", s:halfmoon, s:pink, s:cterm01, s:cterm04, "") +call <sid>hi("TabLine", s:sea_blue, s:halfmoon, s:cterm03, s:cterm01, "none") +call <sid>hi("TabLineFill", s:sea_blue, s:halfmoon, s:cterm03, s:cterm01, "none") +call <sid>hi("TabLineSel", s:light_gold, s:halfmoon, s:cterm0B, s:cterm01, "none") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:teal, "", s:cterm09, "", "") +call <sid>hi("Character", s:salmon, "", s:cterm08, "", "") +call <sid>hi("Comment", s:sea_blue, "", s:cterm03, "", "") +call <sid>hi("Conditional", s:teal, "", s:cterm0E, "", "") +call <sid>hi("Constant", s:salmon, "", s:cterm09, "", "") +call <sid>hi("Define", s:teal, "", s:cterm0E, "", "none") +call <sid>hi("Delimiter", s:starlight, "", s:cterm0F, "", "") +call <sid>hi("Float", s:teal, "", s:cterm09, "", "") +call <sid>hi("Function", s:pink, "", s:cterm0D, "", "") +call <sid>hi("Identifier", s:salmon, "", s:cterm08, "", "none") +call <sid>hi("Include", s:pink, "", s:cterm0D, "", "") +call <sid>hi("Keyword", s:salmon, "", s:cterm0E, "", "") +call <sid>hi("Label", s:pink, "", s:cterm0A, "", "") +call <sid>hi("Number", s:pink, "", s:cterm09, "", "") +call <sid>hi("Operator", s:salmon, "", s:cterm05, "", "none") +call <sid>hi("PreProc", s:pink, "", s:cterm0A, "", "") +call <sid>hi("Repeat", s:pink, "", s:cterm0A, "", "") +call <sid>hi("Special", s:cliquot, "", s:cterm0C, "", "") +call <sid>hi("SpecialChar", s:cliquot, "", s:cterm0F, "", "") +call <sid>hi("Statement", s:teal, "", s:cterm08, "", "") +call <sid>hi("StorageClass", s:pink, "", s:cterm0A, "", "") +call <sid>hi("String", s:light_gold, "", s:cterm0B, "", "") +call <sid>hi("Structure", s:teal, "", s:cterm0E, "", "") +call <sid>hi("Tag", s:pink, "", s:cterm0A, "", "") +call <sid>hi("Todo", s:pink, s:halfmoon, s:cterm0A, s:cterm01, "") +call <sid>hi("Type", s:teal, "", s:cterm09, "", "none") +call <sid>hi("Typedef", s:pink, "", s:cterm0A, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", s:newmoon, "", s:cterm00, "undercurl") +call <sid>hi("SpellLocal", "", s:newmoon, "", s:cterm00, "undercurl") +call <sid>hi("SpellCap", "", s:newmoon, "", s:cterm00, "undercurl") +call <sid>hi("SpellRare", "", s:newmoon, "", s:cterm00, "undercurl") + +" Additional diff highlighting +call <sid>hi("DiffAdd", s:light_gold, s:newmoon, s:cterm0B, s:cterm00, "") +call <sid>hi("DiffChange", s:pink, s:newmoon, s:cterm0D, s:cterm00, "") +call <sid>hi("DiffDelete", s:salmon, s:newmoon, s:cterm08, s:cterm00, "") +call <sid>hi("DiffText", s:pink, s:newmoon, s:cterm0D, s:cterm00, "") +call <sid>hi("DiffAdded", s:light_gold, s:newmoon, s:cterm0B, s:cterm00, "") +call <sid>hi("DiffFile", s:salmon, s:newmoon, s:cterm08, s:cterm00, "") +call <sid>hi("DiffNewFile", s:light_gold, s:newmoon, s:cterm0B, s:cterm00, "") +call <sid>hi("DiffLine", s:pink, s:newmoon, s:cterm0D, s:cterm00, "") +call <sid>hi("DiffRemoved", s:salmon, s:newmoon, s:cterm08, s:cterm00, "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:pink, "", s:cterm0D, "", "") +call <sid>hi("rubyConstant", s:pink, "", s:cterm0A, "", "") +call <sid>hi("rubyInterpolation", s:pink, "", s:cterm0B, "", "") +call <sid>hi("rubyInterpolationDelimiter", s:teal, "", s:cterm0F, "", "") +call <sid>hi("rubyRegexp", s:light_gold, "", s:cterm0C, "", "") +call <sid>hi("rubySymbol", s:salmon, "", s:cterm0B, "", "") +call <sid>hi("rubyStringDelimiter", s:light_gold, "", s:cterm0B, "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:starlight, "", s:cterm05, "", "") +call <sid>hi("phpComparison", s:starlight, "", s:cterm05, "", "") +call <sid>hi("phpParent", s:starlight, "", s:cterm05, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:pink, "", s:cterm0A, "", "") +call <sid>hi("htmlItalic", s:teal, "", s:cterm0E, "", "") +call <sid>hi("htmlEndTag", s:starlight, "", s:cterm05, "", "") +call <sid>hi("htmlTag", s:starlight, "", s:cterm05, "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:starlight, "", s:cterm05, "", "") +call <sid>hi("cssClassName", s:salmon, "", s:cterm0E, "", "") +call <sid>hi("cssClassNameDot", s:salmon, "", s:cterm0E, "", "") +call <sid>hi("cssPseudoClassId", s:salmon, "", s:cterm0E, "", "") +call <sid>hi("cssTagName", s:salmon, "", s:cterm0E, "", "") +call <sid>hi("cssColor", s:light_gold, "", s:cterm0C, "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:salmon, "", s:cterm08, "", "") +call <sid>hi("sassClassChar", s:teal, "", s:cterm09, "", "") +call <sid>hi("sassInclude", s:teal, "", s:cterm0E, "", "") +call <sid>hi("sassMixing", s:teal, "", s:cterm0E, "", "") +call <sid>hi("sassMixinName", s:pink, "", s:cterm0D, "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:starlight, "", s:cterm05, "", "") +call <sid>hi("javaScriptBraces", s:salmon, "", s:cterm05, "", "") +call <sid>hi("javaScriptNumber", s:teal, "", s:cterm09, "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:teal, "", s:cterm0E, "", "") +call <sid>hi("pythonRepeat", s:teal, "", s:cterm0E, "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:light_gold, "", s:cterm0B, "", "") +call <sid>hi("markdownError", s:starlight, s:newmoon, s:cterm05, s:cterm00, "") +call <sid>hi("markdownCodeBlock", s:light_gold, "", s:cterm0B, "", "") +call <sid>hi("markdownHeadingDelimiter", s:pink, "", s:cterm0D, "", "") + +" Git highlighting +call <sid>hi("gitCommitOverflow", s:salmon, "", s:cterm08, "", "") +call <sid>hi("gitCommitSummary", s:light_gold, "", s:cterm0B, "", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:light_gold, s:halfmoon, s:cterm0B, s:cterm01, "") +call <sid>hi("GitGutterChange", s:pink, s:halfmoon, s:cterm0D, s:cterm01, "") +call <sid>hi("GitGutterDelete", s:salmon, s:halfmoon, s:cterm08, s:cterm01, "") +call <sid>hi("GitGutterChangeDelete", s:teal, s:halfmoon, s:cterm0E, s:cterm01, "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:light_gold, s:halfmoon, s:cterm0B, s:cterm01, "") +call <sid>hi("SignifySignChange", s:pink, s:halfmoon, s:cterm0D, s:cterm01, "") +call <sid>hi("SignifySignDelete", s:salmon, s:halfmoon, s:cterm08, s:cterm01, "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:pink, "", s:cterm0D, "", "") +call <sid>hi("NERDTreeExecFile", s:starlight, "", s:cterm05, "", "") + +" Remove functions +delf <sid>hi +delf <sid>gui +delf <sid>cterm + +" Remove color variables +unlet s:newmoon s:halfmoon s:fullmoon s:sea_blue s:pink s:starlight s:cliquot s:salmon s:teal s:light_gold +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/AlessandroYorba-Alduin.md b/nvim/plugged/awesome-vim-colorschemes/docs/AlessandroYorba-Alduin.md new file mode 100644 index 00000000..187ed3c9 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/AlessandroYorba-Alduin.md @@ -0,0 +1,58 @@ +![screenshot](https://user-images.githubusercontent.com/11221489/46834965-b52dce80-cd61-11e8-9461-ef54268d295f.png) + +:space_invader: Set Up +------ + +###### [Dark Grey](https://user-images.githubusercontent.com/11221489/33703680-040b8230-dade-11e7-80aa-c7bd37e2cdc1.png) +```VimL +colorscheme alduin +``` + +:milky_way: Change Background Colors +------ + +###### [Almost Black Background]() +```VimL +let g:alduin_Shout_Dragon_Aspect = 1 +colorscheme alduin +``` + +###### [Black Background]() +```VimL +let g:alduin_Shout_Become_Ethereal = 1 +colorscheme alduin +``` + +:squid: Other Settings +------ +###### [Adds Deep Red Color for Special Highlighting Groups]() +```VimL +let g:alduin_Shout_Fire_Breath = 1 +colorscheme alduin +``` + +###### [Removes Block Matchparens setting and adds an underline]() +```VimL +"let g:alduin_Shout_Aura_Whisper = 1 +"colorscheme alduin +``` + +:crescent_moon: Dev Build +---------------------------- +development version [here](https://github.com/AlessandroYorba/Alduin/tree/nightly) + +:octocat: Special Thanks +----------------- +[Alduin Airline Theme by Danilo Augusto](https://github.com/danilo-augusto)<br> +[Arch Linux Package by George Angelopoulos](https://github.com/lathan)<br> +[KKPMW for Design Inspiration](https://github.com/KKPMW/moonshine-vim)<br> +[Romain Lafourcade for Design Inspiration](https://github.com/romainl/Apprentice)<br> +[jiyyt for UI contribution](https://github.com/jiyyt)<br> +[Aramis Razzaghipour for UI contribution](https://github.com/arzg) + +:octopus: Moar Colorschemes +------- +[Despacio](https://github.com/AlessandroYorba/Despacio)<br> +[Sierra](https://github.com/AlessandroYorba/Sierra)<br> +[Arcadia](https://github.com/AlessandroYorba/Arcadia)<br> +[Breve](https://github.com/AlessandroYorba/Breve)<br> diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/AlessandroYorba-Sierra.md b/nvim/plugged/awesome-vim-colorschemes/docs/AlessandroYorba-Sierra.md new file mode 100644 index 00000000..aa54b800 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/AlessandroYorba-Sierra.md @@ -0,0 +1,50 @@ +![screenshot](https://user-images.githubusercontent.com/11221489/46834225-acd49400-cd5f-11e8-925f-9fa5629e1d5a.png) + +:space_invader: Set Up +------ + +```VimL +colorscheme sierra +``` + +:milky_way: Change Background Colors +------ + +###### Dark Grey Background +```VimL +let g:sierra_Sunset = 1 +colorscheme sierra +``` + +###### Even Darker Grey Background +```VimL +let g:sierra_Twilight = 1 +colorscheme sierra +``` + +###### Almost Black Background +```VimL +let g:sierra_Midnight = 1 +colorscheme sierra +``` + +###### Black Background +```VimL +let g:sierra_Pitch = 1 +colorscheme sierra +``` + +:octocat: Special Thanks +----------------- +[Kaolin - Theme for Emacs by Ogden Webb](https://github.com/ogdenwebb/kaolin-theme)<br> + +:crescent_moon: Dev Build +---------------------------- +Development Build [here](https://github.com/AlessandroYorba/Sierra/tree/nightly) + +:octopus: Moar Colorschemes +------- +[Alduin](https://github.com/AlessandroYorba/Alduin)<br> +[Despacio](https://github.com/AlessandroYorba/Despacio)<br> +[Arcadia](https://github.com/AlessandroYorba/Arcadia)<br> +[Breve](https://github.com/AlessandroYorba/Breve)<br> diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/Badacadabra-Archery.md b/nvim/plugged/awesome-vim-colorschemes/docs/Badacadabra-Archery.md new file mode 100644 index 00000000..0f32806e --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/Badacadabra-Archery.md @@ -0,0 +1,126 @@ +![Logo](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/logo.png) + +## About + +Archery is a dark colorscheme for Vim, inspired by Arch Linux color palette. This is where beautiful shades of blue meet mysterious shades of gray! + +![Screenshot](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/screenshot.png) + +## Installation + +It is recommended to install Archery with a Vim plugin manager: + +* [Pathogen](https://github.com/tpope/vim-pathogen) +* [Vundle](https://github.com/VundleVim/Vundle.vim) +* [Plug](https://github.com/junegunn/vim-plug) +* [NeoBundle](https://github.com/Shougo/neobundle.vim) +* [Dein](https://github.com/Shougo/dein.vim) + +Then enable the colorscheme in your vimrc with the following command: `colorscheme archery` + +If you only use GVim, you're done! If you use terminal Vim, read on... + +1. Archery supports 256 colors terminals, so you do not need plugins like [CSApprox](https://github.com/vim-scripts/CSApprox) or [GUIColorscheme](https://github.com/vim-scripts/guicolorscheme.vim) to use it. +2. Open your vimrc with Vim in your terminal and try `:set termguicolors`. If colors are rendered properly, you can add this command in your vimrc to use GUI colors directly (these are defined using the hexadecimal notation). +3. If "termguicolors" does not work, add `set t_Co=256` in your vimrc before setting the colorscheme and configure your terminal emulator to use the Archery color palette given below. + +## Color palette + +![Palette](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/palette.png) + +| colors | cterm | gui | +|:------------------------------------------------------------------------------------------------------:|:-----:|:-------:| +| ![color0](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color0.png) | 0 | #25272C | +| ![color1](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color1.png) | 1 | #BA2A2A | +| ![color2](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color2.png) | 2 | #008542 | +| ![color3](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color3.png) | 3 | #F07D30 | +| ![color4](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color4.png) | 4 | #0088CC | +| ![color5](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color5.png) | 5 | #8D4888 | +| ![color6](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color6.png) | 6 | #006596 | +| ![color7](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color7.png) | 7 | #53586F | +| ![color8](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color8.png) | 8 | #354151 | +| ![color9](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color9.png) | 9 | #C95F5F | +| ![color10](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color10.png) | 10 | #73BA25 | +| ![color11](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color11.png) | 11 | #EAC06E | +| ![color12](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color12.png) | 12 | #81A3CF | +| ![color13](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color13.png) | 13 | #B589C2 | +| ![color14](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color14.png) | 14 | #25B8A5 | +| ![color15](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/colors/color15.png) | 15 | #F6F9FC | + +In GVim, color8 will be `#282D34` instead of `#354151`. Why? Because some CLI tools use the dark gray color to display textual information. This makes some text unreadable, due to the dark background of Archery. So in terminal emulators, color8 must be lighter... + +## Nice status & tab lines + +If you want to display a status line and a tab line in Vim, make sure these options are set in your vimrc: + +```viml +set showtabline=2 +set laststatus=2 +``` + +### Airline + +![Airline](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/airline.png) + +Put the following code in your vimrc to use Archery for Airline: + +```viml +let g:airline_theme = 'archery' +``` + +For further configuration, please read the documentation of [Airline](https://github.com/vim-airline/vim-airline). + +### Lightline + +![Lightline](https://raw.githubusercontent.com/Badacadabra/vim-archery/master/images/lightline.png) + +Put the following code in your vimrc to use Archery for Lightline: + +```viml +let g:lightline = { + \ 'colorscheme': 'archery', + \ } +``` + +For further configuration, please read the documentation of [Lightline](https://github.com/itchyny/lightline.vim). You may also consider [lightline-buffer](https://github.com/taohex/lightline-buffer) to display a useful tab line. + +## Plugins support + +Archery plays nicely with the following plugins: + +* [Airline](https://github.com/vim-airline/vim-airline) +* [Lightline](https://github.com/itchyny/lightline.vim) + +* [CtrlP](https://github.com/kien/ctrlp.vim) +* [NERDTree](https://github.com/scrooloose/nerdtree) +* [Tagbar](https://github.com/majutsushi/tagbar) + +## Syntax optimizations + +### Raw + +* CSS +* Markdown +* Readline +* YAML + +### Tags + +* HTML +* XML + +### Programming + +* C/C++ +* Java +* JavaScript +* Perl +* PHP +* Python +* Ruby + +## More  + +Archery is the default colorscheme of [Vimpressionist](https://github.com/Badacadabra/Vimpressionist). + +If you would like to use Vim everywhere on your computing environment, you should definitely check it out! diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/Badacadabra-vim-archery.md b/nvim/plugged/awesome-vim-colorschemes/docs/Badacadabra-vim-archery.md new file mode 100644 index 00000000..e82f2122 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/Badacadabra-vim-archery.md @@ -0,0 +1,126 @@ +![Logo](images/logo.png) + +## About + +Archery is a dark colorscheme for Vim, inspired by Arch Linux color palette. This is where beautiful shades of blue meet mysterious shades of gray! + +![Screenshot](images/screenshot.png) + +## Installation + +It is recommended to install Archery with a Vim plugin manager: + +* [Pathogen](https://github.com/tpope/vim-pathogen) +* [Vundle](https://github.com/VundleVim/Vundle.vim) +* [Plug](https://github.com/junegunn/vim-plug) +* [NeoBundle](https://github.com/Shougo/neobundle.vim) +* [Dein](https://github.com/Shougo/dein.vim) + +Then enable the colorscheme in your vimrc with the following command: `colorscheme archery` + +If you only use GVim, you're done! If you use terminal Vim, read on... + +1. Archery supports 256 colors terminals, so you do not need plugins like [CSApprox](https://github.com/vim-scripts/CSApprox) or [GUIColorscheme](https://github.com/vim-scripts/guicolorscheme.vim) to use it. +2. Open your vimrc with Vim in your terminal and try `:set termguicolors`. If colors are rendered properly, you can add this command in your vimrc to use GUI colors directly (these are defined using the hexadecimal notation). +3. If "termguicolors" does not work, add `set t_Co=256` in your vimrc before setting the colorscheme and configure your terminal emulator to use the Archery color palette given below. + +## Color palette + +![Palette](images/palette.png) + +| colors | cterm | gui | +|:-------------------------------------:|:-----:|:-------:| +| ![color0](images/colors/color0.png) | 0 | #25272C | +| ![color1](images/colors/color1.png) | 1 | #BA2A2A | +| ![color2](images/colors/color2.png) | 2 | #008542 | +| ![color3](images/colors/color3.png) | 3 | #F07D30 | +| ![color4](images/colors/color4.png) | 4 | #0088CC | +| ![color5](images/colors/color5.png) | 5 | #8D4888 | +| ![color6](images/colors/color6.png) | 6 | #006596 | +| ![color7](images/colors/color7.png) | 7 | #53586F | +| ![color8](images/colors/color8.png) | 8 | #354151 | +| ![color9](images/colors/color9.png) | 9 | #C95F5F | +| ![color10](images/colors/color10.png) | 10 | #73BA25 | +| ![color11](images/colors/color11.png) | 11 | #EAC06E | +| ![color12](images/colors/color12.png) | 12 | #81A3CF | +| ![color13](images/colors/color13.png) | 13 | #B589C2 | +| ![color14](images/colors/color14.png) | 14 | #25B8A5 | +| ![color15](images/colors/color15.png) | 15 | #F6F9FC | + +In GVim, color8 will be `#282D34` instead of `#354151`. Why? Because some CLI tools use the dark gray color to display textual information. This makes some text unreadable, due to the dark background of Archery. So in terminal emulators, color8 must be lighter... + +## Nice status & tab lines + +If you want to display a status line and a tab line in Vim, make sure these options are set in your vimrc: + +```viml +set showtabline=2 +set laststatus=2 +``` + +### Airline + +![Airline](images/airline.png) + +Put the following code in your vimrc to use Archery for Airline: + +```viml +let g:airline_theme = 'archery' +``` + +For further configuration, please read the documentation of [Airline](https://github.com/vim-airline/vim-airline). + +### Lightline + +![Lightline](images/lightline.png) + +Put the following code in your vimrc to use Archery for Lightline: + +```viml +let g:lightline = { + \ 'colorscheme': 'archery', + \ } +``` + +For further configuration, please read the documentation of [Lightline](https://github.com/itchyny/lightline.vim). You may also consider [lightline-buffer](https://github.com/taohex/lightline-buffer) to display a useful tab line. + +## Plugins support + +Archery plays nicely with the following plugins: + +* [Airline](https://github.com/vim-airline/vim-airline) +* [Lightline](https://github.com/itchyny/lightline.vim) + +* [CtrlP](https://github.com/kien/ctrlp.vim) +* [NERDTree](https://github.com/scrooloose/nerdtree) +* [Tagbar](https://github.com/majutsushi/tagbar) + +## Syntax optimizations + +### Raw + +* CSS +* Markdown +* Readline +* YAML + +### Tags + +* HTML +* XML + +### Programming + +* C/C++ +* Java +* JavaScript +* Perl +* PHP +* Python +* Ruby + +## More  + +Archery is the default colorscheme of [Vimpressionist](https://github.com/Badacadabra/Vimpressionist). + +If you would like to use Vim everywhere on your computing environment, you should definitely check it out! diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/NLKNguyen-papercolor-theme.md b/nvim/plugged/awesome-vim-colorschemes/docs/NLKNguyen-papercolor-theme.md new file mode 100644 index 00000000..2a187a84 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/NLKNguyen-papercolor-theme.md @@ -0,0 +1,458 @@ + +<p align="center"> +<img alt="License: MIT" src="https://user-images.githubusercontent.com/4667129/100821515-6346d780-3405-11eb-882f-405c8d66a2b6.png" /> +</p> + + +<p align="center"> + +<!-- [![](https://img.shields.io/github/issues-raw/NLKNguyen/papercolor-theme.svg?maxAge=2592000)](https://github.com/NLKNguyen/papercolor-theme/issues) --> + +<!-- [![Travis CI Build Status](https://travis-ci.org/NLKNguyen/papercolor-theme.svg?branch=master)](https://travis-ci.org/NLKNguyen/papercolor-theme) --> + + <a href="https://github.com/NLKNguyen/papercolor-theme/blob/master/LICENSE" target="_blank"> + <!-- <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-green.svg" /> --> + <img alt="License: MIT" src="https://img.shields.io/github/license/NLKNguyen/papercolor-theme.svg?color=blueviolet&maxAge=2592000" /> + + </a> + + <a href="https://github.com/NLKNguyen/papercolor-theme/releases" target="_blank"> + <img alt="License: MIT" src="https://img.shields.io/github/release/NLKNguyen/papercolor-theme.svg?color=green" /> + </a> + + <!-- <a href="https://github.com/NLKNguyen/papercolor-theme/issues" target="_blank"> + <img alt="Open issues" src="https://img.shields.io/github/issues-raw/NLKNguyen/papercolor-theme.svg?maxAge=2592000" /> + </a> --> + + <!-- <a href="https://github.com/NLKNguyen/papercolor-theme/graphs/commit-activity" target="_blank"> + <img alt="Last commit" src="https://img.shields.io/github/last-commit/NLKNguyen/papercolor-theme?color=green" /> + </a> --> + + <a href="https://github.com/NLKNguyen/papercolor-theme/issues" target="_blank"> + <img alt="Closed issues" src="https://img.shields.io/github/issues-closed-raw/NLKNguyen/papercolor-theme.svg?maxAge=2592000" /> + </a> + + <a href="https://www.patreon.com/Nikyle" title="Donate to this project using Patreon"> + <img src="https://img.shields.io/badge/support%20me-patreon-red.svg" alt="Patreon donate button" /> + </a> + + <a href="https://opencollective.com/papercolor-theme" title="Sponsor this project through Open Collective"> + <img src="https://img.shields.io/badge/sponsor-open%20collective-lightblue.svg" alt="Open Collective donate button" /> + </a> + + <a href="https://paypal.me/NLKNguyen" title="Donate one time via PayPal"> + <img src="https://img.shields.io/badge/paypal-me-blue.svg" alt="PayPal donate button" /> + </a> + + <a href="https://www.amazon.com/gp/registry/wishlist/3E0E6ZS7RQ5GS/" title="Send a gift through my Amazon wishlist"> + <img src="https://img.shields.io/badge/send%20a%20gift-amazon-darkorange.svg" alt="Amazon donate button" /> + </a> + +</p> + +<p align="center"> + <a href="https://www.buymeacoffee.com/Nikyle" target="_blank"> + <img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" height=45 /> + </a> +</p> + +Light & Dark color schemes for terminal and GUI **Vim** awesome editor + +Inspired by Google's Material Design. Improve code readability! Great for presentation! + +It is optimized to load fast and support 4-bit, 8-bit and 24-bit color terminals or GUIs. For full color spectrum, any 8-bit (256-color) capable display is sufficient. + +**Plus:** PaperColor is also a syntax highlighting framework for creating color themes, in which the PaperColor theme you see here is the default. If you want to create your own theme, consider creating on top of PaperColor to leverage 100% its functionality and still have your own specialization. + +![Light](https://nlknguyen.files.wordpress.com/2015/05/asm.png) + +![Dark](https://nlknguyen.files.wordpress.com/2015/05/c-dark-split.png) + +*** +Why was this theme created? [Read the background story](https://dephony.com/blog/software-updates/papercolor-theme-v1-0/) +*** + + +# ✨ Inclusive support + +## 🎨 Colors + +Support True / GUI color (24-bit) and identical **256 color** (8-bit) that the default theme is based on. + +Also gracefully support down to **16 color** (4-bit) terminal, which will use terminal native colors. You need to change the terminal colors to PaperColor palette. + +In **8 color** and **4 color** terminals, they might lack the necessary variation of colors to express PaperColor look, but seriously let me know if you still use these kinds of terminals. + +**Default Theme Palette** + +| | Light Theme | 8-bit | 24-bit | Dark Theme | 8-bit | 24-bit | +|--- | ----- | -------|---------| ----- | -------|---------| +| 0 |![#eeeeee](https://via.placeholder.com/100x40/eeeeee/000000?text=+) | 255 | #eeeeee |![#1c1c1c](https://via.placeholder.com/100x40/1c1c1c/000000?text=+) | 234 | #1c1c1c | +| 1 |![#af0000](https://via.placeholder.com/100x40/af0000/000000?text=+) | 124 | #af0000 |![#af005f](https://via.placeholder.com/100x40/af005f/000000?text=+) | 125 | #af005f | +| 2 |![#008700](https://via.placeholder.com/100x40/008700/000000?text=+) | 28 | #008700 |![#5faf00](https://via.placeholder.com/100x40/5faf00/000000?text=+) | 70 | #5faf00 | +| 3 |![#5f8700](https://via.placeholder.com/100x40/5f8700/000000?text=+) | 64 | #5f8700 |![#d7af5f](https://via.placeholder.com/100x40/d7af5f/000000?text=+) | 179 | #d7af5f | +| 4 |![#0087af](https://via.placeholder.com/100x40/0087af/000000?text=+) | 31 | #0087af |![#5fafd7](https://via.placeholder.com/100x40/5fafd7/000000?text=+) | 74 | #5fafd7 | +| 5 |![#878787](https://via.placeholder.com/100x40/878787/000000?text=+) | 102 | #878787 |![#808080](https://via.placeholder.com/100x40/808080/000000?text=+) | 244 | #808080 | +| 6 |![#005f87](https://via.placeholder.com/100x40/005f87/000000?text=+) | 24 | #005f87 |![#d7875f](https://via.placeholder.com/100x40/d7875f/000000?text=+) | 173 | #d7875f | +| 7 |![#444444](https://via.placeholder.com/100x40/444444/000000?text=+) | 238 | #444444 |![#d0d0d0](https://via.placeholder.com/100x40/d0d0d0/000000?text=+) | 252 | #d0d0d0 | +| 8 |![#bcbcbc](https://via.placeholder.com/100x40/bcbcbc/000000?text=+) | 250 | #bcbcbc |![#585858](https://via.placeholder.com/100x40/585858/000000?text=+) | 240 | #585858 | +| 9 |![#d70000](https://via.placeholder.com/100x40/d70000/000000?text=+) | 160 | #d70000 |![#5faf5f](https://via.placeholder.com/100x40/5faf5f/000000?text=+) | 71 | #5faf5f | +| 10 |![#d70087](https://via.placeholder.com/100x40/d70087/000000?text=+) | 162 | #d70087 |![#afd700](https://via.placeholder.com/100x40/afd700/000000?text=+) | 148 | #afd700 | +| 11 |![#8700af](https://via.placeholder.com/100x40/8700af/000000?text=+) | 91 | #8700af |![#af87d7](https://via.placeholder.com/100x40/af87d7/000000?text=+) | 140 | #af87d7 | +| 12 |![#d75f00](https://via.placeholder.com/100x40/d75f00/000000?text=+) | 166 | #d75f00 |![#ffaf00](https://via.placeholder.com/100x40/ffaf00/000000?text=+) | 214 | #ffaf00 | +| 13 |![#d75f00](https://via.placeholder.com/100x40/d75f00/000000?text=+) | 166 | #d75f00 |![#ff5faf](https://via.placeholder.com/100x40/ff5faf/000000?text=+) | 205 | #ff5faf | +| 14 |![#005faf](https://via.placeholder.com/100x40/005faf/000000?text=+) | 25 | #005faf |![#00afaf](https://via.placeholder.com/100x40/00afaf/000000?text=+) | 37 | #00afaf | +| 15 |![#005f87](https://via.placeholder.com/100x40/005f87/000000?text=+) | 24 | #005f87 |![#5f8787](https://via.placeholder.com/100x40/5f8787/000000?text=+) | 66 | #5f8787 | + + +There are many more colors for many additional syntax groups, but they are designed to fall back to these base 16 colors strategically so that it can utilize the terminal native color palette (if configured like above), and also theme designers only need to provide 16 colors for a functional theme. + +## 🚀 Languages + +Currently designed for these languages: + - Haskell, Erlang, Elixir, Clojure, Elm, Purescript, F# + - C, C++, Golang, Rust, Java, JavaScript, Python, Ruby, Pascal, PHP, Perl, LUA + - DTrace, SystemTap, SQL/MySQL, Octave/MATLAB, R, Lex/Flex & Yacc/Bison, ASN.1, Assembly (MIPS, GAS, NASM), Bash/Shell script, Sed, Awk, Vim script, Powershell script + - Dockerfile, Makefile, CMake, NGINX, Cucumber, YAML, JSON, HTML, XML, Markdown, reStructuredText, PlantUML, Dosini, Mail, Git commit message + - Ada, COBOL, Fortran, ALGOL, *(what's your other favorite dinosaur?)* + +Other file types can still display well as long as your Vim is set up to recognize the language syntax even though that may not be the optimal experience. So, if the language you are working on isn't listed here, feel free to make a design request. +## 📚 Targeted plugins for additional syntax highlighting + +vimdiff, netrw, [NERDTree](https://github.com/scrooloose/nerdtree), [tagbar](https://github.com/majutsushi/tagbar), [tabline](https://github.com/mkitt/tabline.vim), [vim-airline](https://github.com/bling/vim-airline), [vim-indent-guides](https://github.com/nathanaelkane/vim-indent-guides), [vim-startify](https://github.com/mhinz/vim-startify), [Agit](https://github.com/cohama/agit.vim), [vim-signify](https://github.com/mhinz/vim-signify) + +The below are programming language syntax highlighting plugins that enhances upon Vim built-in syntax highlighting. + +* C: [c-syntax.vim](https://github.com/NLKNguyen/c-syntax.vim) +* JavaScript: [vim-javascript](https://github.com/pangloss/vim-javascript) +* Jsx: [vim-jsx-pretty](https://github.com/MaxMEllon/vim-jsx-pretty) +* JSON: [vim-json](https://github.com/elzr/vim-json) +* Go: [vim-go](https://github.com/fatih/vim-go) +* DTrace: [dtrace-syntax-file](https://github.com/vim-scripts/dtrace-syntax-file) +* SystemTap: [vim-systemtap](https://github.com/nickhutchinson/vim-systemtap) +* Haskell: [haskell-vim](https://github.com/raichoo/haskell-vim) +* PlantUML: [plantuml-syntax](https://github.com/aklt/plantuml-syntax) +* Markdown: [vim-markdown](https://github.com/plasticboy/vim-markdown) +* Assembly MIPS: [mips](https://github.com/vim-scripts/mips.vim) +* Assembly GAS: [vim-gas](https://github.com/Shirk/vim-gas) +* Octave/MATLAB: [vim-octave](https://github.com/jvirtanen/vim-octave) +* Python: [python-syntax](https://github.com/vim-python/python-syntax/) +* Dockerfile: [dockerfile.vim](https://github.com/docker/docker/tree/master/contrib/syntax/vim) +* NGINX: [nginx-vim-syntax](https://github.com/evanmiller/nginx-vim-syntax) +* Elixir: [vim-elixir](https://github.com/elixir-lang/vim-elixir) +* Elm: [elm-vim](https://github.com/ElmCast/elm-vim) +* Purescript: [purescript-vim](https://github.com/purescript-contrib/purescript-vim) +* F#: [vim-fsharp](https://github.com/fsharp/vim-fsharp) +* PowerShell: [vim-ps1](https://github.com/PProvost/vim-ps1) +* CMake: [vim-cmake-syntax](https://github.com/pboettch/vim-cmake-syntax) +* ALGOL: [vim-algol68](https://github.com/sterpe/vim-algol68) + + + +# 🔌 Installation + +### Using a plugin manager + +It's easy to use a plugin manager like [Vundle](https://github.com/gmarik/Vundle.vim) (recommended for convenient `:PluginUpdate`). Add this to your .vimrc where Vundle is configured, and run `:PluginInstall` + + Plugin 'NLKNguyen/papercolor-theme' + + +A newer and popular plugin manager is Plug that you can use as well. Similar setup like above; run `:PlugInstall` + + Plug 'NLKNguyen/papercolor-theme' + +To use vims built in package manager use this command + + git clone https://github.com/NLKNguyen/papercolor-theme.git ~/.vim/pack/colors/start/papercolor-theme + + +### Manual + +If you can't use a plugin manager (you should), then manually place `PaperColor.vim` file into `colors` folder within your Vim directory, e.g. `~/.vim/colors/` + +## ⭐ Configure `.vimrc` + +Put this in your `~/.vimrc` + +```VimL +set t_Co=256 " This is may or may not needed. + +set background=light +colorscheme PaperColor +``` + +Or using the dark version: + +```VimL +set background=dark +colorscheme PaperColor +``` + +To switch to dark or light variant during session: `:set background=dark` or `:set background=light` + +To quickly toggle between them, use [vim-unimpaired](https://github.com/tpope/vim-unimpaired)'s keymap `cob` + +*Optional*: turn on line numbers and status bar + +```VimL +set number +set laststatus=2 +``` +# 🛠️ User Customization + + +This theme currently provides theme options and language-specific options. All config options can be stored in global variable `g:PaperColor_Theme_Options` which can be set in your `.vimrc` + + +**Note**: ++ This `g:PaperColor_Theme_Options` variable must be placed anywhere **before** `color PaperColor` command. ++ if the same option is provided in both a theme and a theme's variant, the value in the theme's variant options will take precedence. + +### Theme Options + +Within section `theme`, options for each theme can be specified under the theme name. The original PaperColor theme is `default`. For example: + +```VimL +let g:PaperColor_Theme_Options = { + \ 'theme': { + \ 'default': { + \ 'transparent_background': 1 + \ } + \ } + \ } +``` + +Or if you want to specify options only for a variant (dark or light) of a theme, you can specify using this pattern `[theme name].light` or `[theme name].dark`. For example: + +```VimL +let g:PaperColor_Theme_Options = { + \ 'theme': { + \ 'default.dark': { + \ 'transparent_background': 1 + \ } + \ } + \ } +``` + +**Color overriding** + + +You can override any color of the theme of interest. This example is for `default` theme (original PaperColor Theme), but you can specify any other theme that is registered. + +The overriding setting is placed in `override` key of `g:PaperColor_Theme_Options` variable that you set in `.vimrc` like this. + +```VimL +let g:PaperColor_Theme_Options = { + \ 'theme': { + \ 'default.dark': { + \ 'override' : { + \ 'color00' : ['#080808', '232'], + \ 'linenumber_bg' : ['#080808', '232'] + \ } + \ } + \ } + \ } + +``` + +See [DESIGN.md](https://github.com/NLKNguyen/papercolor-theme/blob/master/DESIGN.md) for more details and full list of color names. + + +#### Currently available theme options + +option | value | default +------ | ------ | ------- +`transparent_background` | 1: use terminal background | 0: use theme background +`allow_bold` | 1: use bold for certain text, 0: not at all | decided by the theme +`allow_italic` | 1: use italics for certain text, 0: not at all | decided by the theme +`override` | dictionary of color key-value | + + +### Language-specific options + +In general, for each language, built-in functions and constants are not highlighted. +This is intentional; the vim syntax file often lags behind actual language development. +To override the default behavior, optionally place a language section in `g:PaperColor_Theme_Options`. +An example configuration is available below + + +```VimL +let g:PaperColor_Theme_Options = { + \ 'language': { + \ 'python': { + \ 'highlight_builtins' : 1 + \ }, + \ 'cpp': { + \ 'highlight_standard_library': 1 + \ }, + \ 'c': { + \ 'highlight_builtins' : 1 + \ } + \ } + \ } +``` + +#### Currently available language options + +language | option | value | default +------ | ------ | ------ | ------ +`c` | `highlight_builtins` | 1: enable | 0: disable +`cpp` | `highlight_standard_library` | 1: enable | 0: disable +`python` | `highlight_builtins` | 1: enable | 0: disable + + +### Vim-airline support + +![Vim-airline support](https://nlknguyen.files.wordpress.com/2015/05/gifrecord_2015-05-31_010251.gif) + +To set [vim-airline](https://github.com/bling/vim-airline) theme: + +```VimL +let g:airline_theme='papercolor' +``` + +Note: to be able to use this theme, it is also necessary to install [vim-airline-themes](https://github.com/vim-airline/vim-airline-themes) + +To set [lightline](https://github.com/itchyny/lightline.vim) theme: + +```VimL +let g:lightline = { 'colorscheme': 'PaperColor' } +``` + + +# 📺 Screenshots + + +**Default Light** + +![Sample Ruby code](https://nlknguyen.files.wordpress.com/2015/05/ruby1.png) + +![Sample DTrace code](https://nlknguyen.files.wordpress.com/2015/05/dtrace1.png) + +![Sample MySQL code](https://nlknguyen.files.wordpress.com/2015/05/mysql.png) + +![Sample Assembly code](https://nlknguyen.files.wordpress.com/2015/05/asm.png) + +![Sample Vimdiff w/ git tool](https://cloud.githubusercontent.com/assets/4667129/24315492/9410c372-10a4-11e7-84c7-8846984bdca0.png) + +**Default Dark** + +![Sample Ruby code](https://nlknguyen.files.wordpress.com/2015/05/ruby-dark.png) + +![Sample Go code](https://nlknguyen.files.wordpress.com/2015/05/go-dark.png) + +![Sample JavaScript code](https://nlknguyen.files.wordpress.com/2015/05/javascript-dark2.png) + +![Sample C code](https://nlknguyen.files.wordpress.com/2015/05/c-dark-split.png) + +![Sample Vimdiff w/ git tool](https://cloud.githubusercontent.com/assets/4667129/24315493/94122816-10a4-11e7-8d3f-f5d92a064a14.png) + + +*Have screenshots to contribute?* Use [this thread](https://github.com/NLKNguyen/papercolor-theme/issues/90) to upload images and get direct links to place here. + +# 👋 Author +<!-- ### 🏠🏗️ [Homepage](https://github.com/NLKNguyen/papercolor-theme) --> + +👤 **Nikyle Nguyen** + + <a href="https://twitter.com/NLKNguyen" target="_blank"> + <img alt="Twitter: NLKNguyen" src="https://img.shields.io/twitter/follow/NLKNguyen.svg?style=social" /> + </a> + +* Website: https://dephony.com/Nikyle +* Twitter: [@NLKNguyen](https://twitter.com/NLKNguyen) +* Github: [@NLKNguyen](https://github.com/NLKNguyen) +* LinkedIn: [@NLKNguyen](https://linkedin.com/in/NLKNguyen) + +# 🤝 Contributing + +Give a ⭐️ if this color scheme helped you developing more comfortably! + +Contributions, issues and feature requests are welcome! Feel free to check [issues page](https://github.com/NLKNguyen/papercolor-theme/issues). + +## 🙇 Your support is very much appreciated + +I create open-source projects on GitHub and continue to develop/maintain as they are helping others. You can integrate and use these projects in your applications for free! You are free to modify and redistribute anyway you like, even in commercial products. + +I try to respond to users' feedback and feature requests as much as possible. Obviously, this takes a lot of time and efforts (speaking of mental context-switching between different projects and daily work). Therefore, if these projects help you in your work, and you want to encourage me to continue create, here are a few ways you can support me: + ++ 💬 Following my blog and social profiles listed above to help me connect with your network ++ ⭐️ Starring this project and sharing with others as more users come, more great ideas arrive! ++ ☘️ Donating any amount is a great way to help me work on the projects more regularly! + +<p> + + <a href="https://paypal.me/NLKNguyen" target="_blank"> + <img src="https://user-images.githubusercontent.com/4667129/101101433-71b7ff00-357d-11eb-8cf2-3c529960d422.png" height=44 /> + </a> + + <a href="https://www.patreon.com/Nikyle" target="_blank"> + <img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" height=44 style="border-radius: 5px;" /> + </a> + + <a href="https://www.buymeacoffee.com/Nikyle" target="_blank"> + <img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" height=44 /> + </a> + + <a href="https://opencollective.com/papercolor-theme/donate" target="_blank"> + <img src="https://opencollective.com/webpack/donate/button@2x.png?color=blue" height=44 /> + </a> + +</p> + +<a href="https://github.com/NLKNguyen/papercolor-theme/graphs/contributors"> + + <!-- <img src="https://contributors-img.web.app/image?repo=NLKNguyen/papercolor-theme" /> --> + <img src="https://user-images.githubusercontent.com/4667129/101211709-72f43500-362c-11eb-84d3-bf29fdde8491.png" /> +</a> + + Thanks to all contributors who make PaperColor great! ❤️ + +*** + +## 🔮 Related projects based on PaperColor + +[Material iTerm](https://github.com/stoeffel/material-iterm) theme by Christoph Hermann + +[Material Terminator](https://github.com/marhs/material-terminator) (terminal emulator) theme by Marco Herrero + +[Terminal Theme](https://www.reddit.com/r/vim/comments/36xzbs/vim_paper_color_theme_inspired_by_googles/crqbfpa) by Fixles + +[PaperColor Light for iTerm2](https://github.com/aseom/dotfiles/blob/master/osx/iterm2/papercolor-light.itermcolors) by ASeom Han + +[PaperColor for Terminal.app](https://github.com/tomotargz/papercolor-terminal-app) by tomotargz + +[PaperColor Light for konsole](https://raw.githubusercontent.com/z2oh/dotfiles/82bf6835948674f0ed1f98a14b82975ff2dd8f3e/konsole/paperrlight.colorscheme) by [z2oh](https://github.com/z2oh) + +[PaperColor Light for konsole](https://github.com/MaxG87/konsole-papercolor) (some palette collisions resolved) by [MaxG87](https://github.com/MaxG87) + +[PaperColor Theme for Vis Editor](https://github.com/jceb/dotfiles/blob/master/config/vis/lexers/themes/papercolor.lua) by Jan Christoph Ebersbach + +[Airline PaperColor Theme for Emacs Powerline](https://github.com/AnthonyDiGirolamo/airline-themes) by Anthony DiGirolamo + +[Airline PaperColor Theme for Vim Lightline](https://github.com/itchyny/lightline.vim) + +[Ninrod's `vim + tmux + zsh` dotfiles](https://github.com/ninrod/dotfiles.git) by [Filipe Silva](https://github.com/ninrod) + +[PaperColor for Vscode](https://github.com/Rozbo/papercolor-vscode) by [rozbo](https://github.com/rozbo) + +[PaperColor for Vscode Redux](https://github.com/mrworkman/papercolor-vscode-redux) by [mrworkman](https://github.com/mrworkman) + +[PaperColor theme for Hyper](https://github.com/rafaelrinaldi/hyper-papercolor) by [Rafael Rinaldi](https://github.com/rafaelrinaldi) + +[PaperColor Theme for kitty](https://github.com/craffate/papercolor-kitty) by [Cyril Raffatelli](https://github.com/craffate) + +[PaperColor Light theme for several tools](https://github.com/stoerdebegga/papercolor-light-contrib) by [stoerdebegga](https://github.com/stoerdebegga) + +[PaperColor Light theme for Alacritty](https://github.com/eendroroy/alacritty-theme/blob/master/themes/papercolor_light.yaml) + +Feel free to send a PR to add related projects here! + +*** + +# 📝 License + +Copyright © 2015 - 2020 [Nikyle Nguyen](https://github.com/NLKNguyen) + +The project is [MIT License](https://github.com/NLKNguyen/papercolor-theme/blob/master/LICENSE) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/ajmwagar-vim-deus.md b/nvim/plugged/awesome-vim-colorschemes/docs/ajmwagar-vim-deus.md new file mode 100644 index 00000000..35396a91 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/ajmwagar-vim-deus.md @@ -0,0 +1,172 @@ +# vim-deus + +Deus was created out of sheer rage caused by all of the bad Solarized/Gruvbox clones. (No offense) +I was tired of them. I needed something original, something new. So if you are like me, and I believe many of you are... + +I present you **Deus**: + +## Screenshots + +<img src="./screencaps/vim-deus.jpg" width="700"/> + +<img src="./screencaps/node.jpg" width="700"/> + +<img src="./screencaps/merino.jpg" width="700"/> + +--- + +## Installation + +Manual: +1. download & place `deus.vim` in your `vimfiles/colors` folder (usually `~/.vim/colors/`) +2. add this line to your `.vimrc` + +`colors deus` + +**OR** + +Use a package manager like Pathogen, Vundle, or Vim-plug just to name a few: + +### Pathogen: + +Run this in your terminal + +```bash + +cd ~/.vim/ + +mkdir bundle + +cd bundle + +git clone https://github.com/ajmwagar/vim-deus.git +``` + +### Vim-Plug: + +Add the following lines to your `~/.vimrc`: + +```vim +call plug#begin('~/.vim/bundle/') +Plug 'ajmwagar/vim-deus' +call plug#end() +``` + +Don't forget to run: + +`:PlugInstall` + + +--- + +## Language Syntax Support: + +- Lua +- Go +- **JavaScript** +- **CSS/HTML** +- PHP +- **C#** +- JSON +- **Markdown** +- Haskell +- Scala +- Elixir +- Java +- MoonScript +- Objective C +- C Languages +- CoffeeScript +- **Ruby** +- **Rust** +- **Python** +- Clojure +- XML +- Any many more... (try [vim-polyglot](https://github.com/sheerun/vim-polyglot) for syntax packs) + +**Bold** = really nice looking (They all look good but these are my personal favorites.) + +--- + +## Plugin support + +- Airline `:AirlineTheme deus` +- coc.nvim (popup-windows & error colors) +- Ctrlp +- FZF +- NerdTREE +- Syntastic (and most linters) +- Deoplete +- YCM (YouCompleteMe) +- Tabbar +- Vim-easy-motion +- Sneak +- Rainbow-Parentheses + +--- + +## Palette + +| Color | Hex | Use | +|------------------------------------------------------------------------|---------|---------------| +|<img src="https://www.colorhexa.com/242a32.png" width="30" height="30"/>| #242a32 | black | +|<img src="https://www.colorhexa.com/d54e53.png" width="30" height="30"/>| #d54e53 | red | +|<img src="https://www.colorhexa.com/98c379.png" width="30" height="30"/>| #98c379 | green | +|<img src="https://www.colorhexa.com/e5c07b.png" width="30" height="30"/>| #e5c07b | yellow | +|<img src="https://www.colorhexa.com/83a598.png" width="30" height="30"/>| #83a598 | blue | +|<img src="https://www.colorhexa.com/c678dd.png" width="30" height="30"/>| #c678dd | purple | +|<img src="https://www.colorhexa.com/70c0ba.png" width="30" height="30"/>| #70c0ba | teal | +|<img src="https://www.colorhexa.com/eaeaea.png" width="30" height="30"/>| #eaeaea | white | +|<img src="https://www.colorhexa.com/666666.png" width="30" height="30"/>| #666666 | bright black | +|<img src="https://www.colorhexa.com/ec3e45.png" width="30" height="30"/>| #ec3e45 | bright red | +|<img src="https://www.colorhexa.com/90c966.png" width="30" height="30"/>| #90c966 | bright green | +|<img src="https://www.colorhexa.com/edbf69.png" width="30" height="30"/>| #edbf69 | bright yellow | +|<img src="https://www.colorhexa.com/73ba9f.png" width="30" height="30"/>| #73ba9f | bright blue | +|<img src="https://www.colorhexa.com/c858e9.png" width="30" height="30"/>| #c858e9 | bright purple | +|<img src="https://www.colorhexa.com/2bcec2.png" width="30" height="30"/>| #2bcec2 | bright teal | +|<img src="https://www.colorhexa.com/ffffff.png" width="30" height="30"/>| #ffffff | bright white | +|<img src="https://www.colorhexa.com/2c323b.png" width="30" height="30"/>| #2c323b | background | +|<img src="https://www.colorhexa.com/eaeaea.png" width="30" height="30"/>| #eaeaea | foreground | + +## Troubleshooting + +When using terminal-vim and vim-deus the colors +can get messed up. + +To fix this add the following snippet to your `~/.vimrc`: + +```vim +set t_Co=256 +set termguicolors + +let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum" +let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum" + +set background=dark " Setting dark mode +colorscheme deus +let g:deus_termcolors=256 +``` + +### Tmux + +Instructions on how to enable TrueColor for Tmux can be found [here](https://gist.github.com/parmort/4d95555b3f9435fa953f0b7c67c86e8f). + +### Italics + +If you use vim in a terminal that supports italics, set the environment variable `TERM_ITALICS` to TRUE (i.e. `export TERM_ITALICS=true`) to enable with vim-deus. + +### Terminal Support + +Deus has been ported to the following terminal emulators. + +| Terminal Emulator | Configuration | +|-----------------------------------------------------|-------------------------------------------------------------| +| [Alacritty](https://github.com/alacritty/alacritty) | [alacritty.yml](./terminal/alacritty.yml) | + +--- + +## Thank You +I took **a lot** of inspiration from two great colorschemes, +[Onedark](https://github.com/joshdick/onedark.vim) and +[Gruvbox](https://github.com/morhetz/gruvbox). I want to thank their creators for making such great +color schemes. So thank you! diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/andreasvc-vim-256noir.md b/nvim/plugged/awesome-vim-colorschemes/docs/andreasvc-vim-256noir.md new file mode 100644 index 00000000..674e771b --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/andreasvc-vim-256noir.md @@ -0,0 +1,69 @@ +vim-256noir +=========== +A dark 256-color color scheme for vim. + +Have you ever wondered why most syntax highlighting of source code is about as +subtle and pretty as a candy shop explosion? A technical reason is the +historical constraints imposed by 16 color terminals, but fortunately this +limitation is easy to overcome. + +Features +-------- +* Minimal colors, to avoid distracting: + + - Shades of gray for most elements + - Bright keywords to highlight structure. + - Dark comments & strings to emphasize surrounding code. + - Red for exceptional elements (constants & errors) + +* Works in ``vim`` and ``gvim``. Rudimentary support for 16-color terminals. + +Usage +----- +- Enable `256 colors in vim <http://vim.wikia.com/wiki/256_colors_in_vim>`_. + Note that when using ``ssh``, both client and server need to be properly configured. +- Put ``256_noir.vim`` in ~/.vim/colors/ +- Add the following to ``~/.vimrc``: + +.. code-block:: vim + + colorscheme 256_noir + + " Change highlighting of cursor line when entering/leaving Insert Mode + set cursorline + highlight CursorLine cterm=NONE ctermfg=NONE ctermbg=233 guifg=NONE guibg=#121212 + autocmd InsertEnter * highlight CursorLine cterm=NONE ctermfg=NONE ctermbg=234 guifg=NONE guibg=#1c1c1c + autocmd InsertLeave * highlight CursorLine cterm=NONE ctermfg=NONE ctermbg=233 guifg=NONE guibg=#121212 + +.. image:: screenshot.png + :alt: screenshot of vim with noir colorscheme + +The font in the above screenshots is the default xterm bitmap font +`fixed <https://en.wikipedia.org/wiki/Fixed_(typeface)>`_ at 6x13. + +Bonus +----- +- `mc <https://midnight-commander.org/>`_, add the following to e.g. ``~/.bashrc``: + + .. code-block:: bash + + export MC_SKIN=dark + +- `mutt <http://www.mutt.org/>`_, add the following to ``~/.muttrc``:: + + color normal white default + color status black white + color indicator white red + color hdrdefault yellow default + color signature yellow default + color attachment brightyellow default + color markers brightred default + color quoted green default + color tilde blue default + color tree red default + +Other recommended terminal apps with dark colors by default: + +- https://ranger.github.io/ +- http://hisham.hm/htop/ +- https://github.com/andreasvc/cplay/ diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/arcticicestudio-nord-vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/arcticicestudio-nord-vim.md new file mode 100644 index 00000000..12367764 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/arcticicestudio-nord-vim.md @@ -0,0 +1,86 @@ +<p align="center"><a href="https://www.nordtheme.com/ports/vim" target="_blank"><img src="https://raw.githubusercontent.com/arcticicestudio/nord-docs/develop/assets/images/ports/vim/repository-hero.svg?sanitize=true"/></a></p> + +<p align="center"><a href="https://github.com/arcticicestudio/nord-vim/releases/latest"><img src="https://img.shields.io/github/release/arcticicestudio/nord-vim.svg?style=flat-square&label=Release&logo=github&logoColor=eceff4&colorA=4c566a&colorB=88c0d0"/></a> <a href="https://www.nordtheme.com/docs/ports/vim"><img src="https://img.shields.io/github/release/arcticicestudio/nord-vim.svg?style=flat-square&label=Docs&colorA=4c566a&colorB=88c0d0&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI%2BCiAgICA8cGF0aCBmaWxsPSIjZDhkZWU5IiBkPSJNMTMuNzQ2IDIuODEzYS42Ny42NyAwIDAgMC0uNTU5LS4xMzNMOCAzLjg0OGwtNS4xODgtMS4xOGEuNjY5LjY2OSAwIDAgMC0uNTcuMTMzLjY3Ny42NzcgMCAwIDAtLjI0Mi41MzF2OC4xMzNjLS4wMDguMzIuMjEuNTk4LjUyLjY2OGw1LjMzMiAxLjE5OWguMjk2bDUuMzMyLTEuMmEuNjY4LjY2OCAwIDAgMCAuNTItLjY2N1YzLjMzMmEuNjU5LjY1OSAwIDAgMC0uMjU0LS41MnpNMy4zMzIgNC4xNjhsNCAuODk4djYuNzY2bC00LS44OTh6bTkuMzM2IDYuNzY2bC00IC44OThWNS4wNjZsNC0uODk4em0wIDAiLz4KPC9zdmc%2BCg%3D%3D"/></a> <a href="https://github.com/arcticicestudio/nord-vim/blob/develop/CHANGELOG.md#050"><img src="https://img.shields.io/github/release/arcticicestudio/nord-vim.svg?style=flat-square&label=Changelog&logo=github&logoColor=eceff4&colorA=4c566a&colorB=88c0d0"/></a></p> + +<p align="center"><a href="https://github.com/arcticicestudio/styleguide-markdown/releases/latest" target="_blank"><img src="https://img.shields.io/github/release/arcticicestudio/styleguide-markdown.svg?style=flat-square&label=Markdown%20Style%20Guide&colorA=4c566a&colorB=88c0d0&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzOSIgaGVpZ2h0PSIzOSIgdmlld0JveD0iMCAwIDM5IDM5Ij48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNEOERFRTkiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMS41IDEuNWgzNnYzNmgtMzZ6Ii8%2BPHBhdGggZmlsbD0iI0Q4REVFOSIgZD0iTTIwLjY4MyAyNS42NTVsNS44NzItMTMuNDhoLjU2Nmw1Ljg3MyAxMy40OGgtMS45OTZsLTQuMTU5LTEwLjA1Ni00LjE2MSAxMC4wNTZoLTEuOTk1em0tMi42OTYgMGwtMTMuNDgtNS44NzJ2LS41NjZsMTMuNDgtNS44NzJ2MS45OTVMNy45MzEgMTkuNWwxMC4wNTYgNC4xNnoiLz48L3N2Zz4%3D"/></a> <a href="https://github.com/arcticicestudio/styleguide-git/releases/latest" target="_blank"><img src="https://img.shields.io/github/release/arcticicestudio/styleguide-git.svg?style=flat-square&label=Git%20Style%20Guide&logoColor=eceff4&colorA=4c566a&colorB=88c0d0&logo=git"/></a></p> + +<p align="center">An arctic, north-bluish clean and elegant <a href="https://www.vim.org">Vim</a> color theme.</p> + +<p align="center">Designed for a fluent and clear workflow based on the <a href="https://www.nordtheme.com">Nord</a> color palette.</p> + +<p align="center"><a href="https://www.nordtheme.com/ports/vim" target="_blank"><img src="https://raw.githubusercontent.com/arcticicestudio/nord-docs/develop/assets/images/ports/vim/overview-go.png"/></a></p> + +Build for Vim's terminal- and GUI mode with _true colors_ with support for many third-party syntax and UI plugins including bundled themes for [lightline.vim][gh-itchyny/lightline.vim] and [vim-airline][gh-vim-airline/vim-airline]. + +## Getting Started + +Visit the [official website][nord-home] to learn all about the [syntax highlighting][nord-home#syntax] features, details and elements of [UI and editor elements][nord-home#editor-details], the [various theme configurations][nord-home#configurations] and the [support for many plugins][nord-home#plugin-support]. + +Learn about the [installation and activation][nord-docs-home-install], how to [configure][nord-docs-home-config] and [customize][nord-docs-home-custom] the theme from the [official documentations][nord-docs-home]. + +### Quick Start + +Thanks to existing plugin/_runtimepath_ managers for Vim, Nord Vim can be installed for all platforms and the various variants/forks of Vim in a uniform way within a few lines of codes. The recommended manager is [vim-plug][gh-junegunn/vim-plug], but any other manager like [pathogen][gh-tpope/vim-pathogen] or [Vundle][gh-vundlevim/vundle.vim] can also be used. + +To automatically download and activate Nord Vim, follow the install instructions for [vim-plug][gh-junegunn/vim-plug] and + +1. add `Plug 'arcticicestudio/nord-vim'` to your [`vimrc`][vimhelp-vimrc] within _vim-plug_'s plugin loading function +2. run the `:PlugInstall` command in Vim +3. activate the theme by adding `colorscheme nord` to the [vimrc][vimhelp-vimrc] or change it on-the-fly by running `:colorscheme nord` + +<p align="center"><img src="https://raw.githubusercontent.com/arcticicestudio/nord-docs/develop/assets/images/ports/vim/installation-vim-plug.png"/></p> + +See the Nord Vim's documentation for [more installation options][nord-docs-home-install] and how to [set it up manually][nord-docs-home-install#manual]. + +## Features + +<p align="center"><strong>A unified UI and editor syntax element design provides a clutter-free and fluidly merging appearance.</strong><br /><img src="https://raw.githubusercontent.com/arcticicestudio/nord-docs/develop/assets/images/ports/vim/overview-go-nerdtree.png"/></p> + +<p align="center"><strong>Small details with unobtrusive styles for popular and common code editor features like search result marker and brace matching — designed to get out of your way with a visually attractive appearance.</strong><br /><img src="https://raw.githubusercontent.com/arcticicestudio/nord-docs/develop/assets/images/ports/vim/editor-search-highlighting.png"/></p> + +<p align="center"><strong>Support for a wide range of programming languages — from bundled plugins up to many popular syntax and UI third-party plugins.</strong><br /><img src="https://raw.githubusercontent.com/arcticicestudio/nord-docs/develop/assets/images/ports/vim/syntax-javascript-react-hook.png"/></p> + +## Contributing + +Nord is an open source project and we love to receive contributions from the [community][nord-comm]! + +There are many ways to contribute, from [writing- and improving documentation and tutorials][nord-contrib-guide-docs], [reporting bugs][nord-contrib-guide-bugs], [submitting enhancement suggestions][nord-contrib-guide-enhance] that can be added to Nord by [submitting pull requests][nord-contrib-guide-pr]. + +Please take a moment to read Nord's full [contributing guide][nord-contrib-guide] to learn about the development process, the project's used [styleguides][nord-contrib-guide-styles], [branch organization][nord-contrib-guide-branching] and [versioning][nord-contrib-guide-versioning] model. + +The guide also includes information about [minimal, complete, and verifiable examples][nord-contrib-guide-mcve] and other ways to contribute to the project like [improving existing issues][nord-contrib-guide-impr-issues] and [giving feedback on issues and pull requests][nord-contrib-guide-feedback]. + +<p align="center"><img src="https://raw.githubusercontent.com/arcticicestudio/nord-docs/develop/assets/images/nord/repository-footer-separator.svg?sanitize=true" /></p> + +<p align="center">Copyright © 2016-present <a href="https://www.arcticicestudio.com" target="_blank">Arctic Ice Studio</a> and <a href="https://www.svengreb.de" target="_blank">Sven Greb</a></p> + +<p align="center"><a href="https://github.com/arcticicestudio/nord-vim/blob/develop/LICENSE.md"><img src="https://img.shields.io/static/v1.svg?style=flat-square&label=License&message=MIT&logoColor=eceff4&logo=github&colorA=4c566a&colorB=88c0d0"/></a></p> + +[gh-itchyny/lightline.vim]: https://github.com/itchyny/lightline.vim +[gh-junegunn/vim-plug]: https://github.com/junegunn/vim-plug +[gh-tpope/vim-pathogen]: https://github.com/tpope/vim-pathogen +[gh-vim-airline/vim-airline]: https://github.com/vim-airline/vim-airline +[gh-vundlevim/vundle.vim]: https://github.com/tpope/vim-pathogen +[nord-comm]: https://www.nordtheme.com/community +[nord-contrib-guide-branching]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#branch-organization +[nord-contrib-guide-bugs]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#bug-reports +[nord-contrib-guide-docs]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#documentations +[nord-contrib-guide-enhance]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#enhancement-suggestions +[nord-contrib-guide-feedback]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#give-feedback-on-issues-and-pull-requests +[nord-contrib-guide-impr-issues]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#improve-issues +[nord-contrib-guide-mcve]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#mcve +[nord-contrib-guide-pr]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#pull-requests +[nord-contrib-guide-styles]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#styleguides +[nord-contrib-guide-versioning]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#versioning +[nord-contrib-guide]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md +[nord-docs-home-config]: https://www.nordtheme.com/docs/ports/vim/configuration +[nord-docs-home-custom]: https://www.nordtheme.com/docs/ports/vim/customization +[nord-docs-home-install]: https://www.nordtheme.com/docs/ports/vim/installation +[nord-docs-home-install#manual]: https://www.nordtheme.com/docs/ports/vim/installation#manual +[nord-docs-home]: https://www.nordtheme.com/docs/ports/vim +[nord-home]: https://www.nordtheme.com/ports/vim +[nord-home#configurations]: https://www.nordtheme.com/ports/vim#configurations +[nord-home#editor-details]: https://www.nordtheme.com/ports/vim#editor-details +[nord-home#plugin-support]: https://www.nordtheme.com/ports/vim#plugin-support +[nord-home#syntax]: https://www.nordtheme.com/ports/vim#syntax +[vimhelp-vimrc]: https://vimhelp.org/starting.txt.html#vimrc diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/ayu-theme-ayu-vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/ayu-theme-ayu-vim.md new file mode 100644 index 00000000..982a59f1 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/ayu-theme-ayu-vim.md @@ -0,0 +1,34 @@ + +🌟🌟🌟 **Looking for a maintainer.** 🌟🌟🌟 This project needs your care and knowledge of VIM. Open an issue if you want to take that role. + +![ayu-vim](http://i.imgur.com/7vnF4Na.png) + +# Warning +`ayu` is still in development and a lot of things need to be covered. Theme works only if VIM supports `termguicolors` option. This is true for [Neovim](https://neovim.io) and VIM from 7.4.1799. + +# Installation +```VimL +Plug 'ayu-theme/ayu-vim' " or other package manager +"... +set termguicolors " enable true colors support +let ayucolor="light" " for light version of theme +let ayucolor="mirage" " for mirage version of theme +let ayucolor="dark" " for dark version of theme +colorscheme ayu +``` + +# Term colors +For now In `/term` you can find color schemes for iTerm. More to come. + +# Indent line +To get indent line like in the screenshot install https://github.com/Yggdroot/indentLine with my version of `Roboto Mono for Powerline` from this repo and add this config. +In this Roboto Mono version added powerline glyphs and increased line-height of the font itself. + +```Viml +" IndentLine {{ +let g:indentLine_char = '' +let g:indentLine_first_char = '' +let g:indentLine_showFirstIndentLevel = 1 +let g:indentLine_setColors = 0 +" }} +``` diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/challenger-deep-theme-vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/challenger-deep-theme-vim.md new file mode 100644 index 00000000..95129717 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/challenger-deep-theme-vim.md @@ -0,0 +1,109 @@ +![Challenger Deep](https://challenger-deep-theme.github.io/images/logo.png) + +### [Challenger Deep Theme](https://challenger-deep-theme.github.io/) for VIM + +To enable this color scheme, set it in your vimrc: +``` +colorscheme challenger_deep +``` + +### Terminal True Color Support ### + Add this to your .vimrc to enable true colors: +``` +if has('nvim') || has('termguicolors') + set termguicolors +endif +``` + +### Installation + +#### vim-plug ### +``` +Plug 'challenger-deep-theme/vim', { 'as': 'challenger-deep' } +``` +#### vundle ### +``` +Plugin 'challenger-deep-theme/vim', {'name': 'challenger-deep-theme'} +``` + +### Screenshot ### + +![Screenshot](https://challenger-deep-theme.github.io/images/screenshots/vim.png) + +### Options ### + * **g:challenger_deep_termcolors** + This options sets the terminal colors to 16 or 256 Colors. Default value is 256. + If it is set to 16 ,this colorscheme will attempt to use the standard 16 colors of your terminal emulator and background color will be the default background color of your terminal emulator. + For the best colors in terminal, its recommended to set set your terminalcolors to [Challenger Deep Terminal Colors](#challenger-deep-terminal-colors) and use 16 colors. + + +### Challenger Deep Terminal Colors ### +``` +! ~/.Xresource +*.foreground: #cbe3e7 +*.background: #1e1c31 +*.cursorColor: #fbfcfc + +! black +*.color0: #565575 +*.color8: #100e23 + +! red +*.color1: #ff8080 +*.color9: #ff5458 + +! green +*.color2: #95ffa4 +*.color10: #62d196 + +! yellow +*.color3: #ffe9aa +*.color11: #ffb378 + +! blue +*.color4: #91ddff +*.color12: #65b2ff + +! magenta +*.color5: #c991e1 +*.color13: #906cff + +! cyan +*.color6: #aaffe4 +*.color14: #63f2f1 + +! white +*.color7: #cbe3e7 +*.color15: #a6b3cc +``` + +### Lightline Theme ### + +![Lightline](https://challenger-deep-theme.github.io/images/screenshots/vim-lightline.png) + +Challenger Deep supports [lightline.vim](https://github.com/itchyny/lightline.vim). To enable the colorscheme, +add one of the following lines to your `.vimrc`: + +``` viml +let g:lightline = { 'colorscheme': 'challenger_deep'} +``` + +### Lualine Theme ### + +Challenger Deep also supports [lualine.vim](https://github.com/nvim-lualine/lualine.nvim). To enable the colorscheme, +add the following lines to your `init.lua`: + +```lua +require'lualine'.setup { + options = { theme = 'challenger_deep' } +} +``` + +### Troubleshooting ### + If you are running vim inside tmux with the alacritty terminal, make sure to set `default-terminal` to `xterm-256color` in your tmux config (see [this issue](https://github.com/challenger-deep-theme/vim/issues/18) for more details: + +```text +# ... +set-option -g default-terminal "xterm-256color" +# ... +``` diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/chase-focuspoint-vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/chase-focuspoint-vim.md new file mode 100644 index 00000000..a842954f --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/chase-focuspoint-vim.md @@ -0,0 +1,35 @@ +# FocusPoint: an epic color file for Vim + +[![Screenshot](http://i.imgur.com/9VIf6KQ.png)](http://i.imgur.com/9VIf6KQ.png) + +FocusPoint aims to maintain a balance between the bright, friendly colors of Molokai and the dim, relaxed colors of Zenburn. + +**NEW!** FocusPoint supports full-color, 256-color, and 16-color modes. + +## Install + +### Using [Vundle](https://github.com/gmarik/vundle) + +1. Add the following to your `.vimrc` where other bundles are located: + + Bundle 'chase/focuspoint-vim' + +2. Run from command line: + + $ vim +BundleInstall + +### Using [pathogen](https://github.com/tpope/vim-pathogen) + +1. Check out the repository into your bundle path: + + $ cd ~/.vim/bundle + $ git clone git://github.com/chase/focuspoint-vim.git + +### Normal + +1. Copy `colors/focuspoint.vim` to your ~/.vim/colors folder. + + +## Airline Support +If you use Airline and want a matching theme, try [vim-airline-focuspoint](https://github.com/chase/vim-airline-focuspoint). + diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/christophermca-meta5.md b/nvim/plugged/awesome-vim-colorschemes/docs/christophermca-meta5.md new file mode 100644 index 00000000..7a258b67 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/christophermca-meta5.md @@ -0,0 +1,16 @@ +# meta5.vim +#### This dark colorscheme, inspired by Tron +Designed for 256 color terminals and GUIs. +![](http://christophermca.github.io/img/meta5-screenshot.png "meta5-javascript") +![](http://christophermca.github.io/img/meta5-select.png "meta5-select") + +## Install +Pathogen +``` +git clone https://github.com/christophermca/meta5.git +``` + +Vundle +``` +Plugin 'christophermca/meta5' +``` diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/co1ncidence-mountaineer.md b/nvim/plugged/awesome-vim-colorschemes/docs/co1ncidence-mountaineer.md new file mode 100644 index 00000000..ddf8dfc1 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/co1ncidence-mountaineer.md @@ -0,0 +1,25 @@ +<h1 align="center">Mountaineer.vim</h1> + +<p align="center" + +![img](screenshots/mountaineer.png) + +</p> + +<p align="center" + +![img](screenshots/mountaineer-grey.png) + +</p> + +<p align="center" + +![img](screenshots/mountaineer-light.png) + +</p> + +## Installation + +Move `colors/*` into your Vim colors folder, usually `~/.vim/colors` or `~/.config/nvim/colors` and set `colorscheme mountaineer{-grey|light}` in your Vim config. + +There are also colorschemes for many different terminals and a Rofi theme included as well. If you would like to add a colorscheme for another app, please create a pull request. diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/cocopon-iceberg.vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/cocopon-iceberg.vim.md new file mode 100644 index 00000000..80c14286 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/cocopon-iceberg.vim.md @@ -0,0 +1,164 @@ +![Iceberg](https://cocopon.github.io/iceberg.vim/assets/github/20180804/cover.png) + +Iceberg is well-designed, bluish color scheme for Vim and Neovim. + +![Screenshot](https://cocopon.github.io/iceberg.vim/assets/github/screenshot.png) + +See the [official site](https://cocopon.github.io/iceberg.vim/) or the +[vimonline page](https://www.vim.org/scripts/script.php?script_id=4820) for more +information. + + + + +# Features +- Simple: no configuration required and easy to use +- Fast: pre-compiled to reduce loading time +- Dark and light background +- 256-colors terminal support +- Terminal colors support +- [airline][airline] theme and [lightline][lightline] colorscheme +- Various plugins support: + [ALE][ale] + / [CtrlP][ctrlp] + / [Denite][denite] + / [EasyMotion][easymotion] + / [Git Gutter][git-gutter] + / [git-messenger.vim][git-messenger.vim] + / [Signify][signify] + / [Sneak][sneak] + / [Startify][startify] + / [Syntastic][syntastic] + / [vim-plug][vim-plug] + / [vim-zenspace][vim-zenspace] + etc. +- Better syntax highlight with: + [typescript-vim][typescript-vim] + / [vim-elixir][vim-elixir] + / [vim-flow][vim-flow] + / [vim-graphql][vim-graphql] + / [vim-javascript][vim-javascript] + / [vim-markdown][vim-markdown] + etc. + +![lightline](https://user-images.githubusercontent.com/602961/64060996-407cb080-cc0f-11e9-87dd-e5c535815fab.png) + + + + +# Philosophy +Creator of Iceberg talked about how to create your lovely color scheme in +[VimConf 2017][vimconf2017], international Vim conference. +[This slides][vimconf-slides] also explained the philosophy of Iceberg. + +[![Creating Your Lovely Color Scheme](https://cocopon.github.io/iceberg.vim/assets/github/creating-your-lovely-color-scheme.png)][vimconf-slides] + + + + +# For other environments + +## IDEs and text editors +- [Visual Studio Code](https://github.com/cocopon/vscode-iceberg-theme) + by [cocopon] +- [Atom](https://github.com/cocopon/atom-iceberg-syntax/) + by [cocopon] +- [Xcode](https://github.com/cocopon/xcode-iceberg) + by [cocopon] +- [AppCode](https://github.com/Kuniwak/iceberg.icls) + by [Kuniwak](https://github.com/Kuniwak) +- [Emacs](https://github.com/conao3/iceberg-theme.el) + by [conao3](https://github.com/conao3) + + +## Terminal emulators +- [Terminal.app](https://cocopon.github.io/iceberg.vim/#macosTerminalApp) + by [cocopon] +- [Hyper](https://github.com/cocopon/hyper-iceberg) + by [cocopon] +- [st](https://notabug.org/vejetaryenvampir/st-iceberg) + by [vejetaryenvampir](https://notabug.org/vejetaryenvampir) +- [kitty (dark)](https://gist.github.com/gkeep/9b6f3e86d44542f73b526183095d5c3a) + by [gkeep](https://github.com/gkeep) +- [kitty (light)](https://gist.github.com/gkeep/3434864a3321fcce7d69e75d6d63888e) + by [gkeep](https://github.com/gkeep) +- [alacritty](https://github.com/alacritty/alacritty/wiki/Color-schemes#iceberg) + by [connorlay](https://github.com/connorlay) + +NOTE: [terminal.sexy][terminal-sexy] provides configuration files for +the 16 ANSI colors for many terminal emulators (e.g. GNOME Terminal, iTerm2, +etc.). Use [.Xresources file][xresources] as import and export it for +the emulator of your choice. + +## Other +- [bumblebee-status](https://github.com/tobi-wan-kenobi/bumblebee-status) + by [whzup](https://github.com/whzup) +- [tmux](https://github.com/gkeep/iceberg-dark#tmux) + by [gkeep](https://github.com/gkeep) +- [alternative dark theme for lightline and airline, bumblebee-status](https://github.com/gkeep/iceberg-dark) + by [gkeep](https://github.com/gkeep) +- [Slack sidebar](https://gist.github.com/cocopon/2acffd70883ceb004c9c3117c34a9673) + by [cocopon] + + + + +# Building your own Iceberg +NOTE: This section is for color scheme developers. If you just want to use the +color scheme, you don't have to follow these steps. + +1. Install [cocopon/pgmnt.vim][pgmnt], a template engine for Vim color scheme, + to your Vim. + +2. To modify a color palette, edit `autoload/iceberg/palette/(dark|light).vim`. + If you make changes, be sure to `:source` this file before step 4 otherwise + your color palette changes will not be reflected. + +3. To modify highlighting groups or links, edit `src/iceberg.vim`. + +4. After editing, compile the source file as below: + + ```vim + :e src/iceberg.vim + :cd %:h + :source % + ``` + + Compiled files will be output into `autoload` directory. + + + + +# License +MIT License. See `LICENSE.txt` for more information. + + + + +[ale]:https://github.com/w0rp/ale +[airline]:https://github.com/vim-airline/vim-airline/ +[cocopon]:https://github.com/cocopon +[ctrlp]:https://github.com/ctrlpvim/ctrlp.vim +[denite]:https://github.com/Shougo/denite.nvim +[easymotion]:https://github.com/easymotion/vim-easymotion +[git-gutter]:https://github.com/airblade/vim-gitgutter +[git-messenger.vim]:https://github.com/rhysd/git-messenger.vim +[lightline]:https://github.com/itchyny/lightline.vim +[neovim]:https://neovim.io/ +[pgmnt]:https://github.com/cocopon/pgmnt.vim +[signify]:https://github.com/mhinz/vim-signify/ +[sneak]:https://github.com/justinmk/vim-sneak +[startify]:https://github.com/mhinz/vim-startify +[syntastic]:https://github.com/vim-syntastic/syntastic +[terminal-sexy]:https://terminal.sexy +[typescript-vim]:https://github.com/leafgarland/typescript-vim +[vim-elixir]:https://github.com/elixir-editors/vim-elixir +[vim-flow]:https://github.com/flowtype/vim-flow +[vim-graphql]:https://github.com/jparise/vim-graphql +[vim-javascript]:https://github.com/pangloss/vim-javascript +[vim-markdown]:https://github.com/tpope/vim-markdown +[vim-plug]:https://github.com/junegunn/vim-plug +[vim-zenspace]:https://github.com/thinca/vim-zenspace +[vimconf-slides]:https://speakerdeck.com/cocopon/creating-your-lovely-color-scheme +[vimconf2017]:https://vimconf.vim-jp.org/2017/ +[xresources]:https://gist.github.com/cocopon/1d481941907d12db7a0df2f8806cfd41 diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/cseelus-vim-colors-lucid.md b/nvim/plugged/awesome-vim-colorschemes/docs/cseelus-vim-colors-lucid.md new file mode 100644 index 00000000..398b213f --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/cseelus-vim-colors-lucid.md @@ -0,0 +1,48 @@ +# Vim color scheme Lucid + +A color scheme for VIM with vivid highlights and friendly, clear colors. + + +![Lucid preview Ruby](https://raw.github.com/cseelus/vim-colors-lucid/master/vim-colors-lucid-ruby-preview.png) +*Screenshot with some Ruby sample code and the Roboto Mono Font* + +![Lucid preview JavaScript](https://raw.github.com/cseelus/vim-colors-lucid/master/vim-colors-lucid-javascript-preview.png) +*Screenshot with some JavaScript sample code and the Roboto Mono Font* + +![Lucid preview C](https://raw.github.com/cseelus/vim-colors-lucid/master/vim-colors-lucid-c-preview.png) +*Screenshot with some C sample code and the Roboto Mono Font* + +## Highlightings for these plugins + +- Ale +- CtrlP +- GitGutter +- NERDTree +- pangloss/vim-javascript +- PlainTasks (.todo) +- Startify +- VIM-JavaScript (pangloss) + +## Syntax highlighting adjustments for + +- Apache Config +- CoffeeScript +- CSS +- Git +- Haml +- HTML +- JavaScript w. or w/o pangloss/vim-javascript +- Json +- LaTeX +- Markdown +- PHP +- Ruby +- Sass +- Slim +- VimL +- YAML +- XML + +## Ancient Terminals + +You can use some plugin like [CSApprox](http://www.vim.org/scripts/script.php?script_id=2390) to make this work smoothly in older 256 colors or even 88 colors terminals. diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/danilo-augusto-vim-afterglow.md b/nvim/plugged/awesome-vim-colorschemes/docs/danilo-augusto-vim-afterglow.md new file mode 100644 index 00000000..212173dc --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/danilo-augusto-vim-afterglow.md @@ -0,0 +1,85 @@ +# vim-afterglow + +Vim adaptation of the famous [Afterglow](https://github.com/YabataDesign/afterglow-theme) theme from Sublime Text 2/3. + +_If you like this project, feel free to pay me a cup of coffee!_ 😊 ☕️ ❤️ 👉     [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MVSBJ7JKSVGZ4&source=url) + +## Features + +🚀 **Modern** and nicely integrated with plugins and environments. + +🔋 **Batteries included** so that you can concentrate on **what matters most: your code**. + - Built-in airline scheme ✈️ + - No bad surprises: works for both Vim and Neovim, terminal and GUI. + - Highlighted important keywords in <span style="color:#b05279;font-weight:bold;">reddish and bold</span> inside comments: `TODO`, `FIXME`, `XXX`... + - No more "it looks flat/terrible on this language": includes customized highlighting for many popular languages + - Java + - Python + - C + - Lua + - Go + - Clojure + - Scala + - PHP + - and many others... + +🎨 **Easy on the eyes** + +Click on the image below to view it in the original size (more screenshots below) + +<center> + <a href="https://user-images.githubusercontent.com/8104631/68043099-cfbc4800-fcd4-11e9-8b9d-2ba0372f4196.png"> + <img width="900" alt="python1" src="https://user-images.githubusercontent.com/8104631/68043099-cfbc4800-fcd4-11e9-8b9d-2ba0372f4196.png"> + </a> +</center> + +## Setup + +To enable it, simply add `colorscheme afterglow` (not ~~vim-afterglow~~) to your `~/.vimrc` after having installed the plugin (manually or by using a package manager). + +> Airline theme should be updated accordingly, but can be explicitly specified by using `let g:airline_theme='afterglow'`. + +## Options + +To further customize Afterglow, you can use the following options **before** setting the color scheme on your +`vimrc` (or `init.vim` if using NeoVim): + +- Blackout: `let g:afterglow_blackout=1 (default: 0)` + + ☀️ Use this option if you need more contrast, such as when working in an office where open windows are just behind you, causing glare on your screen. + + > This option has no effect if `g:afterglow_inherit_background` is also set. + +- Italicize comments: `let g:afterglow_italic_comments=1 (default: 0)` + + 📖 Helps visual grepping and quickly differentiating source code and comments when skimming through files. + + > If using a terminal emulator (iTerm, Alacritty, Terminator...), check if it correctly supports italics. Evidently your chosen font type should have an italics variety too. In case of problems please check these two common scenarios before opening an issue concerning *italics*. + +- If you want to disable italics completely (for example if your emulator renders it with background highlight): `let g:afterglow_use_italics=0 (default: 1)` + +- Inherit background: `let g:afterglow_inherit_background=1 (default: 0)` + + Use this option if you want the background color to play nicely with the program (e.g. gVim, iTerm etc.) in which vim is used. It may be useful when instantiating vim inside Tmux. + +## Screenshots + +<center> + <p>Python</p> + <img width="600" alt="python2" src="https://cloud.githubusercontent.com/assets/8104631/23351157/c9c22072-fcbf-11e6-8c58-a04e0838ce5c.png"> +</center> + +<center> + <p>Ruby</p> + <img width="600" alt="ruby" src="https://cloud.githubusercontent.com/assets/8104631/23351154/c99cf856-fcbf-11e6-88f6-857568a7ed8d.png"> +</center> + +<center> + <p>HTML</p> + <img width="600" alt="html" src="https://cloud.githubusercontent.com/assets/8104631/23351156/c9bd9318-fcbf-11e6-9f49-0dc661c5aad5.png"> +</center> + +<center> + <p>LaTeX</p> + <img width="600" alt="latex" src="https://cloud.githubusercontent.com/assets/8104631/23351155/c9b3d7c4-fcbf-11e6-8229-0c50707a98be.png"> +</center> diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/dikiaap-minimalist.md b/nvim/plugged/awesome-vim-colorschemes/docs/dikiaap-minimalist.md new file mode 100644 index 00000000..83baa87d --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/dikiaap-minimalist.md @@ -0,0 +1,84 @@ +<p align="center"> + <img src="https://files.dikiaap.id/img/open-source/minimalist_preview.png" alt="Minimalist on HTML"> +</p> + +# Minimalist +Minimalist is a Material Color Scheme Darker for Vim & inspired by +[Material Theme](https://github.com/equinusocio/material-theme). + +## Installation + +To install this color scheme, you can use one of the following ways: + +- Use [Vundle](https://github.com/VundleVim/Vundle.vim#quick-start) by adding +to your `.vimrc` Vundle plugin section: + + Plugin 'dikiaap/minimalist' + + Then run `:PluginInstall`. + +OR + +- Use [vim-plug](https://github.com/junegunn/vim-plug#installation) by adding +to your `.vimrc` vim-plug section: + + Plug 'dikiaap/minimalist' + + Then run `:PlugInstall`. + +OR + +- Use [Pathogen](https://github.com/tpope/vim-pathogen#installation): + + Run the following in a terminal: + + cd ~/.vim/bundle + git clone https://github.com/dikiaap/minimalist + +## Usage + +After finishing installation, put this code to your `.vimrc`: + +```viml +set t_Co=256 +syntax on +colorscheme minimalist +``` + +This color scheme also built-in with airline theme. If you wanna use: + +```viml +let g:airline_theme='minimalist' +let g:airline_powerline_fonts = 1 +let g:airline#extensions#tabline#enabled = 1 +``` + +## Support + +As you know, color scheme in vim by default supports many programming languages. +At this time `minimalist` is looks beautiful & focused on: + +* C++ +* CSS/CSS3 +* HTML/HTML5 +* JavaScript +* Markdown +* PHP +* Python +* Ruby +* Sass +* Shell +* XML + +If you need more syntax highlighting, you can use +[vim-polyglot](https://github.com/sheerun/vim-polyglot). + +## Links + +[GitHub](https://github.com/dikiaap/minimalist) · +[Vim.org](https://www.vim.org/scripts/script.php?script_id=5490) · +[Vim Awesome](https://vimawesome.com/plugin/minimalist-vim) + +## License + +MIT © [Diki Ananta](https://dikiaap.id) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/endel-vim-github-colorscheme.md b/nvim/plugged/awesome-vim-colorschemes/docs/endel-vim-github-colorscheme.md new file mode 100644 index 00000000..53ddb72b --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/endel-vim-github-colorscheme.md @@ -0,0 +1,24 @@ +vim-github-colorscheme +=== + +A vim colorscheme based on github's syntax highlighting. Originally created by +[Anthony Carapetis](http://www.vim.org/scripts/script.php?script_id=2855) + +```viml +" ~/.vimrc +colorscheme github +``` + +Screenshots +--- + +![Screenshot](http://i.imgur.com/LJXdy.png ) + +![Diffsplit screenshot](http://i.imgur.com/RKtVD.png) + +Install it using Pathogen or Vundle. + +License +--- + +Distributed under the same terms as Vim itself. See `:help license`. diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/fcpg-vim-orbital.md b/nvim/plugged/awesome-vim-colorschemes/docs/fcpg-vim-orbital.md new file mode 100644 index 00000000..9be0abf4 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/fcpg-vim-orbital.md @@ -0,0 +1,81 @@ +![Orbital](img/orbital.png) + +Orbital colorscheme for Vim: + +- Base16 theme for the standard 256-color palette of most terminals +- Terminal & GUI support +- Simple, clean code created with [RNB](https://gist.github.com/5cd2f4ec222805f49eca.git) +- Airline, Lightline & CtrlP support out-of-the-box + +Screenshots +------------ +Taken on minTTY with Office Code Pro font: + +[![](img/orbital_vim_thumb.png)](img/orbital_vim.png) + + +Palette +-------- +![orbital_palette](img/orbital_palette.png) + +| Hex | Term | +|-------|-----:| +|#000000| 0| +|#262626| 235| +|#5f5f5f| 59| +|#949494| 246| +|#bcbcbc| 250| +|#e4e4e4| 254| +|#ffd7af| 223| +|#d7af87| 180| +|#af875f| 137| +|#5f87d7| 68| +|#5f87af| 67| +|#87afd7| 110| +|#5fafff| 75| +|#0087d7| 32| +|#005faf| 25| +|#0000d7| 20| + +Installation +------------- +1. Install the bundle: + * [Pathogen][1] - `git clone https://github.com/fcpg/vim-orbital ~/.vim/bundle/vim-orbital` + * [NeoBundle][2] - `NeoBundle 'fcpg/vim-orbital'` + * [Vundle][3] - `Plugin 'fcpg/vim-orbital'` + * [Plug][4] - `Plug 'fcpg/vim-orbital'` + * manual - copy all of the files into your `~/.vim` directory +2. Append the following line to your .vimrc file: +```VimL +colorscheme orbital +``` + +FAQ +---- +- How do I customize colors? + * Either edit the 'colors/orbital.vim' file (it's plain vim 'highlight' commands), if you don't mind merging when pulling/updating; + * Or override with autocommands in you .vimrc: +```VimL +augroup myBetterColors + au! + autocmd ColorScheme * hi! Number ctermfg=103 +augroup END +``` +- Some weird chars show up in my status line! + Check vim help for 'fillchars': `:h 'fcs`. The lightline theme use the 'stl' + char in 'fillchars' if it is defined; unset it in your .vimrc to turn on the + "solid" status line. + +Other Themes +------------- +- [Fahrenheit](https://github.com/fcpg/vim-fahrenheit) +- [Far Out](https://github.com/fcpg/vim-farout) + +License +-------- +[Attribution-ShareAlike 4.0 Int.](https://creativecommons.org/licenses/by-sa/4.0/) + +[1]: https://github.com/tpope/vim-pathogen +[2]: https://github.com/Shougo/neobundle.vim +[3]: https://github.com/gmarik/vundle +[4]: https://github.com/junegunn/vim-plug diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/fmoralesc-molokayo.md b/nvim/plugged/awesome-vim-colorschemes/docs/fmoralesc-molokayo.md new file mode 100644 index 00000000..5b56e8a4 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/fmoralesc-molokayo.md @@ -0,0 +1,35 @@ +# molokayo + +A very tweaked molokai based theme. Has 16bit and 256 colors support. + +Includes support for [vim-buftabline](https://github.com/ap/vim-buftabline). + +Includes some syntax groups for coloring the statusline (see the screenshots +below, and +[here](https://github.com/fmoralesc/dotfiles/blob/master/.vimrc#L209-L255) for +the config used in them). + +It also includes a matching configuration for `guicursor`, which I use as a +mode indicator. + +## Installation + +molokayo requires the [molokai](https://github.com/tomasr/molokai/) theme to be +installed. + +Using [vim-plug](https://github.com/junegunn/vim-plug): + +~~~ vim +Plug 'tomasr/molokai' +Plug 'fmoralesc/molokayo' +~~~ + +Vundle, Neobundle *et al* should be similar. + +# Screenshots + +![viml](http://i.imgur.com/eNsmssX.png) + +![python](http://i.imgur.com/01oE8d8.png) + +![pandoc + vim-pad](http://i.imgur.com/MAnUFUb.png) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/gilgigilgil-anderson.vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/gilgigilgil-anderson.vim.md new file mode 100644 index 00000000..47c744ea --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/gilgigilgil-anderson.vim.md @@ -0,0 +1,32 @@ +anderson.vim +============ +Dark vim colorscheme based on colors from Wes Anderson films. + +Installation +------------ +Use the plugin manager of your choice, here is an example for Vim-Plug: + +`Plug 'gilgigilgil/anderson.vim'` + +`:PlugInstall` + + +To preview: + +`:colorscheme anderson` + +Screenshots +----------- +Terminal: + +![](https://cloud.githubusercontent.com/assets/7469120/15515469/b72d68a6-21ee-11e6-9e04-2ae05ce815c9.png) + +Python: + +![](https://cloud.githubusercontent.com/assets/7469120/15515470/b73f5502-21ee-11e6-929f-0915120c562b.png) + +The font used here is Envy Code R. + +License +------- +MIT diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/gregsexton-Atom.md b/nvim/plugged/awesome-vim-colorschemes/docs/gregsexton-Atom.md new file mode 100644 index 00000000..52ca9a91 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/gregsexton-Atom.md @@ -0,0 +1,17 @@ +## Description + +Atom is a theme that was designed to be very readable in both light and dark environments. It concentrates on being easy on the eyes whilst distinguishing different syntax elements. + +All important screenshots can be found at: http://www.gregsexton.org/vim-color-schemes/atom-color/ + +Italics are not used in this theme. + +Currently Atom is GVim only. I tend to use the default colours when (infrequently) in a terminal. If you have a strong desire for added terminal support leave me a comment, drop me an email or even better: send me a pull request! + +## Install Details + +Just drop atom.vim in to your ~/.vim/colors directory or ~/vimfiles/colors if on Windows. + +## Screenshot + +![Atom Screenshot](http://www.gregsexton.org/images/atom/atom-python.jpg) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/hardcoreplayers-oceanic-material.md b/nvim/plugged/awesome-vim-colorschemes/docs/hardcoreplayers-oceanic-material.md new file mode 100644 index 00000000..418850af --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/hardcoreplayers-oceanic-material.md @@ -0,0 +1,125 @@ +# Oceanic Material + +![OceaniceMaterial](https://user-images.githubusercontent.com/41671631/87221070-e9ea1200-c39b-11ea-90c9-582d2b50ac40.png) + +Oceanice_Material is a dark colorscheme for vim/neovim + +## Installation + +- vim-plug + ```viml + Plug 'glepnir/oceanic-material' + ``` +- dein + ```viml + call dein#add('glepnir/oceanic-material') + ``` + Then add this on your vimrc + +```viml +set background=dark +colorscheme oceanic_material +``` + +## Color + +| #282c34 | #1b2b34 | #EC5f67 | #d16d92 | #e78a4e | #d8a657 | #a9b665 | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| ![#282c34](https://via.placeholder.com/80/282c34/000000?text=+) | ![#1b2b34](https://via.placeholder.com/80/1b2b34/000000?text=+) | ![#EC5f67](https://via.placeholder.com/80/EC5f67/000000?text=+) | ![#d16d92](https://via.placeholder.com/80/d16d92/000000?text=+) | ![#e78a4e](https://via.placeholder.com/80/e78a4e/000000?text=+) | ![#d8a657](https://via.placeholder.com/80/d8a657/000000?text=+) | ![#a9b665](https://via.placeholder.com/80/a9b665/000000?text=+) | +| #62b3b2 | #6699cc | #c594c5 | #5faf5f | #c0c5ce | #7c6f64 | #d4be98 | +| ![#62b3b2](https://via.placeholder.com/80/62b3b2/000000?text=+) | ![#6699cc](https://via.placeholder.com/80/6699cc/000000?text=+) | ![#c594c5](https://via.placeholder.com/80/c594c5/000000?text=+) | ![#5faf5f](https://via.placeholder.com/80/5faf5f/000000?text=+) | ![#c0c5ce](https://via.placeholder.com/80/c0c5ce/000000?text=+) | ![#7c6f64](https://via.placeholder.com/80/7c6f64/000000?text=+) | ![#d4be98](https://via.placeholder.com/80/d4be98/000000?text=+) | + +## Options + +| option | value | default | +| ------------------------------------------- | ----------------------------------------- | --------------------------------------------------- | +| `g:oceanic_material_transparent_background` | 1: enable transparent background | 0:disable transparent background | +| `g:oceanic_material_background` | 'medium' use `#282c34` color as background | ocean: `#1b2b34` medium: `#282C34` deep:#212112 darker:`#1d1f21` | +| `g:oceanic_material_allow_bold` | 1: use bold for certain text | 0: not at all | +| `g:oceanic_material_allow_italic` | 1: use italic for certain text | 0: not at all | +| `g:oceanic_material_allow_underline` | 1: use underline for certain text | 0: not at all | +| `g:oceanic_material_allow_undercurl` | 1: use undercurl for certain text | 0: not at all | +| `g:oceanic_material_allow_reverse` | 1: use reverse for certain text | 0: not at all | + +## Support Filetype + +- Markdown +- vim-restructuredtext +- Html +- Latex +- Xml +- css +- Sass +- scss +- Less +- Javascript +- Typescript +- JavascriptReact TypescriptReact +- Dart +- CoffeeScript +- C/C++ +- chromatica +- vim-lsp-cxx-highlight +- ObjectiveC +- Python +- semshi +- lua +- java +- kotlin +- Scala +- Go +- Rust +- Swift +- PHP +- Ruby +- Haskell +- Perl +- Ocaml +- Erlang +- Elixir +- Clojure +- Matlab +- Vimscript +- Makefile +- Json/Toml/Yaml/Ini +- Diff/Git commit + +## Support Plugin + +- neoclide/coc.nvim +- dense-analysis/ale +- neomake/neomake +- Shougo/denite.nvim +- liuchengxu/vista.vim +- scrooloose/nerdtree +- andymass/vim-matchup +- easymotion/vim-easymotion +- justinmk/vim-sneak +- luochen1990/rainbow +- itchyny/vim-cursorword +- mhinz/vim-startify +- liuchengxu/vim-which-key +- machakann/vim-sandwich +- kristijanhusak/vim-dadbod-ui +- Shougo/defx.nvim +- glepnir/dashboard-nvim + +# Donate + +Do you like oceanic_material? buy me a coffe 😘! + +[![Support via PayPal](https://cdn.rawgit.com/twolfson/paypal-github-button/1.0.0/dist/button.svg)](https://www.paypal.me/bobbyhub) + +| Wechat | AliPay | +| --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | +| ![wechat](https://user-images.githubusercontent.com/41671631/84404718-c8312a00-ac39-11ea-90d7-ee679fbb3705.png) | ![ali](https://user-images.githubusercontent.com/41671631/84403276-1a714b80-ac38-11ea-8607-8492df84e516.png) | + +## Thanks to + +- [equinusocio/material-theme](https://github.com/equinusocio/material-theme) + +- [NLKNguyen/papercolor-theme](https://github.com/NLKNguyen/papercolor-theme) + +- [mhartington/oceanic-next](https://github.com/mhartington/oceanic-next) + +- [sainnhe/gruvbox-material](https://github.com/sainnhe/gruvbox-material) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/jacoborus-tender.vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/jacoborus-tender.vim.md new file mode 100644 index 00000000..2e24ed7a --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/jacoborus-tender.vim.md @@ -0,0 +1,90 @@ +![tender](https://cloud.githubusercontent.com/assets/829859/18413534/f7cb472c-77aa-11e6-86bf-9c790aadd2df.png) +============================================================================================================== + +A 24bit colorscheme for Vim, Airline and Lightline (generated by [Estilo](https://github.com/jacoborus/estilo)) + +- [Screenshots](#screenshots) +- [Installation](#installation) +- [Terminal themes](#terminal-themes) + +## Screenshots + +![javascript](https://cloud.githubusercontent.com/assets/829859/18417365/7780885a-782e-11e6-8e88-150cfc70e35b.png) +![statusplus](https://cloud.githubusercontent.com/assets/829859/18418261/0e0f54f4-7843-11e6-9825-bff197a7f76a.png) +![statusregular](https://cloud.githubusercontent.com/assets/829859/18491051/f81ba21a-7a04-11e6-85c6-e9bc3c98415f.png) +![xml](https://cloud.githubusercontent.com/assets/829859/18494378/1590f654-7a16-11e6-8885-c16a41bf5583.png) +![nerdtree-yaml](https://cloud.githubusercontent.com/assets/829859/18417875/4b3e382e-783c-11e6-94ea-afb9bf0d68f2.png) +![gitcommit](https://cloud.githubusercontent.com/assets/829859/18418089/270b409c-7840-11e6-8618-1aa81f612860.png) +![gvdiff](https://cloud.githubusercontent.com/assets/829859/18417983/3253da42-783e-11e6-93ac-b0f506f0a3c5.png) + + +## Installation + +Install manually or use a package manager: + +```viml +" vim-plug +Plug 'jacoborus/tender.vim' +" NeoBundle +NeoBundle 'jacoborus/tender.vim' +" Vundle +Plugin 'jacoborus/tender.vim' +``` + +Once your plugin is installed you can set the color scheme in your `.vimrc` or `init.vim` + + +```viml +" If you have vim >=8.0 or Neovim >= 0.1.5 +if (has("termguicolors")) + set termguicolors +endif + +" For Neovim 0.1.3 and 0.1.4 +let $NVIM_TUI_ENABLE_TRUE_COLOR=1 + +" Theme +syntax enable +colorscheme tender +``` + + +Use [lightline](https://github.com/itchyny/lightline.vim) themes (`tender` and `tenderplus`): + +```viml +" set lighline theme inside lightline config +let g:lightline = { 'colorscheme': 'tender' } +``` + +Use [airline](https://github.com/vim-airline/vim-airline) themes (`tender` and `tenderplus`): + +```viml +" set airline theme +let g:airline_theme = 'tender' +``` + + +Fix for MacVim ([see issue](https://github.com/jacoborus/tender.vim/issues/9)): +```viml +let macvim_skip_colorscheme=1 +``` + +Copy color to vim if no exist `~/.vim/colors/`, create folder. +``` + cp ~/.vim/bundle/tender/colors/tender.vim ~/.vim/colors/tender.vim +``` + +## Terminal themes + +- [Tender Alacritty](https://github.com/huyvohcmc/tender-alacritty) by [@huyvohcmc](https://github.com/huyvohcmc) +- [Tender iTerm2](https://github.com/tombell/tender-iterm2) by [@tombell](https://github.com/tombell) +- [Tender xresources](https://github.com/pebeto/tender-xresources) by [@pebeto](https://github.com/pebeto) +- [Tender Blink Shell](https://github.com/Rafaelcv7/Jacoborus-Tendertheme) by [@Rafaelcv7](https://github.com/Rafaelcv7) + +<br><br> + +![pacman-tender](https://cloud.githubusercontent.com/assets/829859/19010929/af7489e0-8789-11e6-8c0f-a18055d5b4c4.png) + +--- + +© 2016 Jacobo Tabernero [(jacoborus.codes)](http://jacoborus.codes) - Released under [MIT License](https://raw.github.com/jacoborus/nanobar/master/LICENSE) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/jaredgorski-SpaceCamp.md b/nvim/plugged/awesome-vim-colorschemes/docs/jaredgorski-SpaceCamp.md new file mode 100644 index 00000000..79119582 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/jaredgorski-SpaceCamp.md @@ -0,0 +1,115 @@ +![SpaceCamp logo](https://github.com/jaredgorski/SpaceCamp/raw/master/.media/spacecamp_header_lt.svg?sanitize=true) + +<div align="center"> + <h3> + SpaceCamp is an attractive, comfortable, and legible colorscheme for Vim. + </h3> +</div> + +![SpaceCamp preview](https://github.com/jaredgorski/SpaceCamp/raw/master/.media/spacecamp_preview.png) +![SpaceCamp colors](https://github.com/jaredgorski/SpaceCamp/raw/master/.media/spacecamp_colors.svg?sanitize=true) + +<div align="center"> + <h2> + Flight Instructions + </h2> +</div> + +### Basic Install (recommended if you're unfamiliar with plugin managers) +1) Download this repository +2) Unzip the downloaded file +3) Copy the files `/colors/spacecamp.vim` and `/colors/spacecamp_lite.vim` into your Vim colors folder (found at `~/.vim/colors/`) +4) Add the following to your `.vimrc`: +```vim +colorscheme spacecamp +``` +...or, for a slightly lighter background: +```vim +colorscheme spacecamp_lite +``` + +### Vim Plug +1) Add the following to your plugs in your `.vimrc`: +```vim +Plug 'jaredgorski/spacecamp' +``` +2) Run `:PlugInstall` +3) Follow **step 4** in the basic install (above) to load the desired colorscheme via your `.vimrc` + +<div align="center"> + <h2> + Outside of Vim + </h2> +</div> + +### Terminal emulator themes +```NOTE: These files may need to be renamed or pasted as snippets into the appropriate config file for your terminal emulator. See documentation for your particular terminal emulator. ``` + +- [Alacritty](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp_alacritty.yaml) +- [Chrome Secure Shell](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp_chrome-secure-shell.config) +- [Gnome Terminal](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp_gnome-terminal.sh) +- [Guake](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp_guake.config) +- [Kitty: spacecamp-kitty](https://github.com/sebkolind/spacecamp-kitty) by [@sebkolind](https://github.com/sebkolind) +- [Konsole](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp_konsole.config) +- [Linux Console](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp_linux-console.sh) +- [MinTTY](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp_mintty.config) +- [Putty](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp.reg) +- [Terminal.app](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp.terminal) +- [Terminator](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp_terminator.config) +- [Termite](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp_termite.config) +- [XFCE4 Terminal](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp_xfce4.terminalrc) +- [Xresources](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp.Xresources) +- [Xshell](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp.xcs) +- [iTerm2](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp.itermcolors) +- [iTerm2: spacecamp-iterm](https://github.com/reobin/spacecamp-iterm) by [@reobin](https://github.com/reobin) +- [st](https://github.com/jaredgorski/SpaceCamp/raw/master/.terminal_themes/spacecamp_st.c) + +### Colors + +```yaml +colors: + background: '#121212' + foreground: '#D0D0D0' + + text: '#0D0D0D' + cursor: '#D0D0D0' + + 0: '#282828' # black + 1: '#D71A1A' # red + 2: '#57BA37' # green + 3: '#F0D50C' # yellow + 4: '#91AADF' # blue + 5: '#CF73E6' # magenta + 6: '#B7CBF4' # cyan + 7: '#DEDEDE' # white + + 8: '#666666' # bright black + 9: '#FF0000' # bright red + 10: '#D8FA3B' # bright green + 11: '#E7C547' # bright yellow + 12: '#B7CBF4' # bright blue + 13: '#B77EE0' # bright magenta + 14: '#A9C1DE' # bright cyan + 15: '#EEEEEE' # bright white +``` + +![SpaceCamp preview](https://github.com/jaredgorski/SpaceCamp/raw/master/.media/spacecamp_termcolors.png) + +--- + +### Contributing + +Please send me an email at jaredgorski6@gmail.com or open an issue. If you're feeling extra motivated, feel free to send pull requests and I'll review them. Keep in mind that I'll be fairly strict about changes, **but** I love contributors and definitely want to get _your_ name in there :smiley: + +### Acknowledgements + +- The [Blackboard](https://github.com/textmate/themes.tmbundle/blob/master/Themes/Blackboard.tmTheme) theme for textmate, which inspired the SpaceCamp look and feel +- [@cocopon](https://github.com/cocopon)'s [iceberg.vim](https://github.com/cocopon/iceberg.vim), which is inspiring in general +- [@zenorocha](https://github.com/zenorocha), for blessing us all with [Dracula](https://github.com/dracula/dracula-theme) +- [@reobin](https://github.com/reobin/), for showing up on Reddit and kindly giving us [spacecamp-iterm](https://github.com/reobin/spacecamp-iterm) +- [@sebastianks](https://github.com/sebastianks), for the random email and kindly giving us [spacecamp-kitty](https://github.com/sebastianks/spacecamp-kitty) +- [terminal.sexy](https://terminal.sexy), for helping me generate all the terminal themes + +--- + +Please feel free to drop a note to jaredgorski6@gmail.com if you have kudos or complaints. Now go push some code! diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/jaredgorski-fogbell.vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/jaredgorski-fogbell.vim.md new file mode 100644 index 00000000..6ca62f66 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/jaredgorski-fogbell.vim.md @@ -0,0 +1,2 @@ +![fogbell](https://github.com/jaredgorski/fogbell.vim/raw/master/.media/fogbell_cover.jpg) +![fogbell](https://github.com/jaredgorski/fogbell.vim/raw/master/.media/fogbell.png) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/jdsimcoe-abstract.vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/jdsimcoe-abstract.vim.md new file mode 100755 index 00000000..91193c24 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/jdsimcoe-abstract.vim.md @@ -0,0 +1,13 @@ +# Abstract for [Vim](http://vim.org) + +> A dark theme for [Vim](http://vim.org) based on [Abstract](https://www.abstractapp.com/). + +![Screenshot](https://s-media-cache-ak0.pinimg.com/originals/65/3d/7d/653d7d6b710bbbfdab435d7169f99e88.jpg) + +## Team + +This theme is maintained by [Jonathan Simcoe](http://jdsimcoe.com). + +## License + +[MIT License](./LICENSE) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/jonathanfilip-vim-lucius.md b/nvim/plugged/awesome-vim-colorschemes/docs/jonathanfilip-vim-lucius.md new file mode 100644 index 00000000..2e048753 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/jonathanfilip-vim-lucius.md @@ -0,0 +1,43 @@ +vim-lucius +========== + +This repository has the Lucius color scheme for Vim. It is already organized +under a "colors" directory, so you can clone the repo into your own vimfiles +(or under bundle, if you use Pathogen). + +The color scheme is available for other applications, as well. They can be +found here: + +https://github.com/jonathanfilip/lucius + +Some sample screenshots of the different configurations: + +### Dark +![LuciusDark](http://i.imgur.com/LsZbF.png "LuciusDark (default)") + +### Dark High Contrast +![LuciusDarkHighContrast](http://i.imgur.com/e70i9.png "LuciusDarkHighContrast") + +### Dark Low Contrast +![LuciusDarkLowContrast](http://i.imgur.com/Hmw8s.png "LuciusDarkLowContrast") + +### Black +![LuciusBlack](http://i.imgur.com/iD4ri.png "LuciusBlack") + +### Black High Contrast +![LuciusBlackHighContrast](http://i.imgur.com/lHvTJ.png "LuciusBlackHighContrast") + +### Black Low Contrast +![LuciusBlackLowContrast](http://i.imgur.com/oZLkg.png "LuciusBlackLowContrast") + +### Light +![LuciusLight](http://i.imgur.com/soYD8.png "LuciusLight (light default)") + +### Light Low Contrast +![LuciusLightLowContrast](http://i.imgur.com/95I86.png "LuciusLightLowContrast") + +### White +![LuciusWhite](http://i.imgur.com/wDzkz.png "LuciusWhite") + +### White Low Contrast +![LuciusWhiteLowContrast](http://i.imgur.com/jlUf4.png "LuciusWhiteLowContrast") diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/joshdick-onedark.vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/joshdick-onedark.vim.md new file mode 100644 index 00000000..64b4ba9b --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/joshdick-onedark.vim.md @@ -0,0 +1,277 @@ +![onedark.vim](https://raw.githubusercontent.com/joshdick/onedark.vim/main/img/readme_header.png) + +A dark Vim/Neovim color scheme for the GUI and 16/256/true-color terminals, based on [FlatColor](https://github.com/MaxSt/FlatColor), with colors inspired by the excellent [One Dark syntax theme](https://github.com/atom/atom/tree/master/packages/one-dark-syntax) for the [Atom text editor](https://atom.io). + +## Color Reference + +![Color Reference](https://raw.githubusercontent.com/joshdick/onedark.vim/main/img/color_reference.png) + +## Breaking Changes + +[Pull request #271](https://github.com/joshdick/onedark.vim/pull/271), merged July 11, 2021, contained several breaking changes, especially for 16-color users. + +If you are an existing onedark.vim user that is suddenly having issues after this PR was merged, see the [PR description](https://github.com/joshdick/onedark.vim/pull/271) for details. + +## Supported Plugins + +onedark.vim includes support for the following Vim and Neovim plugins: + +- [airblade/vim-gitgutter](https://github.com/airblade/vim-gitgutter) +- [dense-analysis/ale](https://github.com/dense-analysis/ale) +- [easymotion/vim-easymotion](https://github.com/easymotion/vim-easymotion) +- [itchyny/lightline.vim](https://github.com/itchyny/lightline.vim) +- [lewis6991/gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim) +- [mhinz/vim-signify](https://github.com/mhinz/vim-signify) +- [neoclide/coc.nvim](https://github.com/neoclide/coc.nvim) +- [neomake/neomake](https://github.com/neomake/neomake) +- [Neovim LSP](https://neovim.io/doc/user/lsp.html) +- [plasticboy/vim-markdown](https://github.com/plasticboy/vim-markdown) +- [prabirshrestha/vim-lsp](https://github.com/prabirshrestha/vim-lsp) +- [tpope/vim-fugitive](https://github.com/tpope/vim-fugitive) +- [vim-airline/vim-airline](https://github.com/vim-airline/vim-airline) + +## Installation + +1. Install the theme using your Vim plug-in manager of choice (or manually, by placing `colors/onedark.vim` in your `~/.vim/colors/` directory and `autoload/onedark.vim` in your `~/.vim/autoload/` directory.) + + The theme also supports being installed as a Vim 8 package. Simply clone this repository into `~/.vim/pack/*/opt/` (so that the local path to this README would end up being `~/.vim/pack/*/opt/onedark.vim/README.md`) and add `packadd! onedark.vim` to your `~/.vimrc`. (The `*` in the path can be any value; see `:help packages` for more information.) + +2. If you use Vim in a terminal, do the following to test whether your terminal emulator supports [24-bit/"true" color](https://gist.github.com/XVilka/8346728), then add relevant `~/.vimrc` configuration if so: + + _Note: GUI (non-terminal) Vim will always display 24-bit color regardless of the configuration done in this step._ + + Run the following snippet in your shell: + + ```shell + printf "\x1b[38;2;255;100;0mTRUECOLOR\x1b[0m\n" + ``` + + If your terminal emulator **does NOT display the word `TRUECOLOR` in red**, it does not support 24-bit color. If you don't want to switch to a different terminal emulator that [supports 24-bit color](https://gist.github.com/XVilka/8346728), **proceed to step 3**. (After installation, the [`g:onedark_termcolors` option](#options) may interest you.) + + If your terminal emulator displays the word `TRUECOLOR` **in red**, it supports 24-bit color, and you should add the following lines to your `~/.vimrc` to enable 24-bit color terminal support inside Vim. + + (If you use [tmux](https://tmux.github.io/), be sure to view the tmux-related notes in the first few lines.) + + ```vim + "Use 24-bit (true-color) mode in Vim/Neovim when outside tmux. + "If you're using tmux version 2.2 or later, you can remove the outermost $TMUX check and use tmux's 24-bit color support + "(see < http://sunaku.github.io/tmux-24bit-color.html#usage > for more information.) + if (empty($TMUX)) + if (has("nvim")) + "For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 > + let $NVIM_TUI_ENABLE_TRUE_COLOR=1 + endif + "For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 > + "Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd > + " < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 > + if (has("termguicolors")) + set termguicolors + endif + endif + ``` + +3. Add the following to your `~/.vimrc` (below any lines you may have added in steps 1 and 2): + + ```vim + syntax on + colorscheme onedark + ``` + +4. Installing the [sheerun/vim-polyglot](https://github.com/sheerun/vim-polyglot) plug-in is recommended for improved syntax highlighting for various languages, but is not required. + +## Options + +**Note:** All options should be set **before** the `colorscheme onedark` line in your `~/.vimrc`. + +- `g:onedark_hide_endofbuffer`: Set to `1` if you want to hide end-of-buffer filler lines (~) for a cleaner look; `0` otherwise (the default). + +- `g:onedark_termcolors` **(see [Troubleshooting](#troubleshooting) (below) for more information about this option)**: Set to `256` for 256-color terminals (the default), or set to `16` to use your terminal emulator's native 16 colors. + +- `g:onedark_terminal_italics`: Set to `1` if your terminal emulator supports italics; `0` otherwise (the default). + +## lightline.vim Colorscheme + +![lightline-onedark.vim Preview](https://raw.github.com/joshdick/onedark.vim/main/img/preview_lightline.png) + +This repository includes a companion [lightline.vim](https://github.com/itchyny/lightline.vim) colorscheme for use with onedark.vim. + +The lightline.vim colorscheme: + +- Depends on `autoload/onedark.vim` for its colors, and must therefore be used in conjunction with it. +- Works with both color modes available in onedark.vim (16 or 256 colors), as specified in the configuration for onedark.vim. + +### Installation + +(These instructions assume that lightline.vim and onedark.vim are already installed and configured to your liking.) + +Place `onedark.vim/autoload/lightline/colorscheme/onedark.vim` in your `~/.vim/autoload/lightline/colorscheme/` directory either manually or by using your Vim plug-in manager of choice, then add the following lines to your `~/.vimrc` (or merge them into your existing lightline.vim configuration): + +```vim +let g:lightline = { + \ 'colorscheme': 'onedark', + \ } +``` + +## vim-airline Theme + +![airline-onedark.vim Preview](https://raw.github.com/joshdick/onedark.vim/main/img/preview_airline.png) + +This repository includes a companion [vim-airline](https://github.com/vim-airline/vim-airline) theme for use with onedark.vim. + +The vim-airline theme: + +- Depends on `autoload/onedark.vim` for its colors, and must therefore be used in conjunction with it. +- Works with both color modes available in onedark.vim (16 or 256 colors), as specified in the configuration for onedark.vim. +- Is based on vim-airline's ["tomorrow" theme](https://github.com/vim-airline/vim-airline-themes/blob/master/autoload/airline/themes/tomorrow.vim). + +### Installation + +(These instructions assume that vim-airline and onedark.vim are already installed and configured to your liking.) + +Place `onedark.vim/autoload/airline/themes/onedark.vim` in your `~/.vim/autoload/airline/themes/` directory either manually or by using your Vim plug-in manager of choice, then add the following line to your `~/.vimrc`: + +```vim +let g:airline_theme='onedark' +``` + +## Troubleshooting + +### Why do the colors in terminal Vim look totally crazy? + +![Broken Colors](https://raw.githubusercontent.com/joshdick/onedark.vim/main/img/broken_colors.png) + +If Vim looks similar to the screenshot above, you have enabled Vim's 24-bit color terminal support, but your terminal doesn't support 24 bit color. Remove the relevant `~/.vimrc` configuration for enabling 24-bit color support to get things looking better. + +### Why do the colors in terminal Vim look slightly off/not like the preview image at the top of this README? + +If your terminal doesn't support 24-bit color as described in the [Installation](#installation) section of this README, or 24-bit color support is not always available everywhere you use your Vim configuration, colors will not look like they do in the preview image. + +However, you can use the `g:onedark_termcolors` option to control onedark.vim's fallback colors in situations where 24-bit color terminal support is not available. + +`g:onedark_termcolors` can be set to one of two values, `256` for 256-color mode (the default), or `16` for 16-color mode (which uses your terminal emulator's native 16 colors.) + +**When Vim/Neovim are configured to use 24-bit color, the `g:onedark_termcolors` option is ignored. However, `g:onedark_termcolors` can still coexist with 24-bit color configuration.** For instance, when tmux 2.1 or earlier and/or older Vim/Neovim versions that don't support 24-bit color are used, the `g:onedark_termcolors` option will take effect. + +- **256-color mode** is enabled by default with no additional configuration, but colors are less accurate since they are approximated using a 256-color palette. The background color will appear darker than in the preview image, and most other colors will appear brighter than in the preview image. If you don't want to change your terminal's color palette as described in the 16-color mode section below, and your terminal doesn't support 24-bit color, 256-color mode is your only option. + + Although 256-color mode is enabled by default (when not using 24-bit color as described above), you can explicitly enable it by adding the following line to your `~/.vimrc`: + + ```vim + let g:onedark_termcolors=256 + ``` + +- **16-color mode** is the preferred option, since its colors are more accurate than those of 256-color mode. However, you'll need to set your terminal emulator's color palette to this color scheme's custom 16-color palette, since 16-color mode will cause the color scheme to use your terminal emulator's native 16 colors. If you don't use the custom 16-color palette in your terminal emulator when 16-color mode is enabled, onedark.vim's colors will not display correctly in Vim. + + The canonical version of the 16-color palette is an [Xresources](https://en.wikipedia.org/wiki/X_resources) file located in this repository at `term/One Dark.Xresources`. Color schemes for various terminal emulators are also provided in `term/`. (The [iTerm2](https://iterm2.com/) color scheme works with iTerm2 versions 2.9.x and later.) You should be able to easily convert the Xresources color scheme for use with your terminal emulator of choice either by hand, or automatically by using [termcolors](https://github.com/stayradiated/termcolors). + + Assuming your terminal emulator is configured to use the custom 16-color palette as described above, add the following line to your `~/.vimrc` to enable 16-color mode: + + ```vim + let g:onedark_termcolors=16 + ``` + +### Why do all comments look like they're highlighted? + +![Broken Italics](https://raw.githubusercontent.com/joshdick/onedark.vim/main/img/broken_italics.png) + +If all comments look like the one in the screenshot above, you have enabled italics in onedark.vim by setting `g:onedark_terminal_italics=1` in your `~/.vimrc`, but your terminal isn't displaying italics correctly. You can either remove the option or [try to fix your terminal](https://github.com/joshdick/onedark.vim/issues/97#issuecomment-299719352). If you're using [iTerm2](http://iterm2.com) on macOS, you might need to [use a special TERMINFO](https://gist.github.com/sos4nt/3187620) to get italics working. + +### Why do colors look washed out when using [iTerm2](https://www.iterm2.com)? + +Make sure that in Preferences, Profiles -> [Active Profile] -> Colors -> Minimum Contrast is turned all the way down. See [#145](https://github.com/joshdick/onedark.vim/issues/145) for more information. + +## Miscellaneous + +### Customizing onedark.vim's look without forking the repository + +onedark.vim exposes `onedark#extend_highlight` and `onedark#set_highlight` functions that you can call from within your `~/.vimrc` in order to customize the look of onedark.vim. + +#### `onedark#extend_highlight` + +`onedark#extend_highlight` allows you to customize individual aspects of onedark.vim's existing highlight groups, overriding only the keys you provide. (To completely redefine/override an existing highlight group, see `onedark#set_highlight` below.) + +`onedark#extend_highlight`'s first argument should be the name of a highlight group, and its second argument should be **partial** style data. + +Place the following lines **before** the `colorscheme onedark` line in your `~/.vimrc`, then change the example overrides to suit your needs: + +```vim +if (has("autocmd")) + augroup colorextend + autocmd! + " Make `Function`s bold in GUI mode + autocmd ColorScheme * call onedark#extend_highlight("Function", { "gui": "bold" }) + " Override the `Statement` foreground color in 256-color mode + autocmd ColorScheme * call onedark#extend_highlight("Statement", { "fg": { "cterm": 128 } }) + " Override the `Identifier` background color in GUI mode + autocmd ColorScheme * call onedark#extend_highlight("Identifier", { "bg": { "gui": "#333333" } }) + augroup END +endif +``` + +#### `onedark#set_highlight` + +`onedark#set_highlight` allows you to completely redefine/override highlight groups of your choosing. + +`onedark#set_highlight`'s first argument should be the name of a highlight group, and its second argument should be **complete** style data. + +For example, to remove the background color only when running in terminals (outside GUI mode and for use in transparent terminals,) place the following lines **before** the `colorscheme onedark` line in your `~/.vimrc`: + +```vim +" onedark.vim override: Don't set a background color when running in a terminal; +" just use the terminal's background color +" `gui` is the hex color code used in GUI mode/nvim true-color mode +" `cterm` is the color code used in 256-color mode +" `cterm16` is the color code used in 16-color mode +if (has("autocmd") && !has("gui_running")) + augroup colorset + autocmd! + let s:white = { "gui": "#ABB2BF", "cterm": "145", "cterm16" : "7" } + autocmd ColorScheme * call onedark#set_highlight("Normal", { "fg": s:white }) " `bg` will not be styled since there is no `bg` setting + augroup END +endif +``` + +#### Global color overrides + +You can override colors across all highlights by adding color definitions to the `g:onedark_color_overrides` dictionary in your `~/.vimrc` like so: + +```vim +let g:onedark_color_overrides = { +\ "background": {"gui": "#2F343F", "cterm": "235", "cterm16": "0" }, +\ "purple": { "gui": "#C678DF", "cterm": "170", "cterm16": "5" } +\} +``` + +This also needs to be done **before** `colorscheme onedark`. + +More examples of highlight group names and style data can be found in onedark.vim's source code (`colors/onedark.vim` inside this repository). + +### tmux theme + +If you'd like a tmux theme that complements onedark.vim, [@odedlaz has you covered](https://github.com/odedlaz/tmux-onedark-theme). + +### Contributing + +If you'd like to contribute to onedark.vim, check out the [contribution guidelines](./CONTRIBUTING.md). + +### Relatives of onedark.vim + +Several other themes and projects have reused code and/or colors from this project, or were otherwise inspired by it. + +If onedark.vim isn't meeting your needs, try one of its relatives! + +- [drewtempelmeyer/palenight.vim](https://github.com/drewtempelmeyer/palenight.vim) +- [KeitaNakamura/neodark.vim](https://github.com/KeitaNakamura/neodark.vim) +- [base16-onedark.vim](https://github.com/chriskempson/base16-vim/blob/master/colors/base16-onedark.vim) + - Associated base16 scheme: [tilal6991/base16-onedark-scheme](https://github.com/tilal6991/base16-onedark-scheme) +- [rakr/vim-one](https://github.com/rakr/vim-one) +- For Neovim >= 0.5 with treesitter support: [navarasu/onedark.nvim](https://github.com/navarasu/onedark.nvim) or [monsonjeremy/onedark.nvim](https://github.com/monsonjeremy/onedark.nvim) +- Neovim-only Lua port: [ii14/onedark.nvim](https://github.com/ii14/onedark.nvim) + +### Preview images + +Preview images were taken using: + +- [iTerm2](https://iterm2.com) terminal emulator on macOS +- 13 pt. [PragmataPro Mono](http://www.fsd.it/fonts/pragmatapro.htm#.VlDa1q6rTOY) font +- [vim-polyglot](https://github.com/sheerun/vim-polyglot) plug-in diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/junegunn-seoul256.vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/junegunn-seoul256.vim.md new file mode 100644 index 00000000..cfa9a517 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/junegunn-seoul256.vim.md @@ -0,0 +1,129 @@ +``` +" _____ _ ___ ___ ___ " +" | __|___ ___ _ _| |_ | _| _| " +" |__ | -_| . | | | | _|_ | . | " +" |_____|___|___|___|_|___|___|___|.vim " +``` + +seoul256.vim ![travis-ci](https://travis-ci.org/junegunn/seoul256.vim.svg?branch=master) +------------ + +*seoul256.vim* is a low-contrast Vim color scheme based on [Seoul Colors](https://www.seoul.go.kr/seoul/color.do). +Works on 256-color terminal or on GVim. + +### seoul256 + +![seoul256](https://raw.github.com/junegunn/i/master/seoul256.png) + +### seoul256 (light version) + +![seoul256-light](https://raw.github.com/junegunn/i/master/seoul256-light.png) + +Installation +------------ + +Use your favorite plugin manager. + +- [vim-plug](https://github.com/junegunn/vim-plug) + 1. Add `Plug 'junegunn/seoul256.vim'` to .vimrc + 2. Run `:PlugInstall` + +Color schemes +------------- + +```vim +" Unified color scheme (default: dark) +colo seoul256 + +" Light color scheme +colo seoul256-light + +" Switch +set background=dark +set background=light +``` + +Change background color +----------------------- + +![seoul256-bg](https://raw.github.com/junegunn/i/master/seoul256-bg.png) + +```vim +" seoul256 (dark): +" Range: 233 (darkest) ~ 239 (lightest) +" Default: 237 +let g:seoul256_background = 236 +colo seoul256 + +" seoul256 (light): +" Range: 252 (darkest) ~ 256 (lightest) +" Default: 253 +let g:seoul256_background = 256 +colo seoul256 +``` + +If `g:seoul256_background` is set, seoul256 will choose the right version based +on the value and `set background=dark/light` will not switch versions. + +If you'd like to switch versions with custom background colors, set +`g:seoul256_background` to be a dark value, and additionally define +`g:seoul256_light_background` for seoul256-light. + +```vim +let g:seoul256_background = 233 +let g:seoul256_light_background = 256 + +colo seoul256 +colo seoul256-light +``` + +Alternate 256-xterm -> sRGB mapping +------------------------------------- + +The GUI RGB colors are derived from 256-color-terminal color codes in the +source code, with the help of a lookup table. + +By default, the table contains RGB values of terminal colors as displayed by +iTerm2 on macOS. If you're using another terminal emulator (urxvt, +xfce4-terminal,... pretty much any terminal on Linux), the colors aren't +displayed in the same way. That's why you may see a difference in color of GUI +and terminal [n]vim in Linux. + +If `let g:seoul256_srgb` is set to 1, the color mapping is altered +to suit the way urxvt (and various other terminals) renders them. That way, the +colors of the terminal and GUI versions are uniformly colored on Linux. + +```vim +let g:seoul256_srgb = 1 +``` + +Current background color +------------------------ + +When loaded, seoul256.vim will set up two global variables so that you can use +them to customize other plugins: + +- `g:seoul256_current_fg` - Current foreground color in ANSI code +- `g:seoul256_current_bg` - Current background color in ANSI code + +iTerm2 color scheme +------------------- + +- [Official iTerm2 color scheme](iterm2) +- [seoul256-iTerm2](https://github.com/mikker/seoul256-iTerm2) by +[Mikkel Malmberg](https://github.com/mikker). + +Emacs color theme +----------------- + +- [seoul256-emacs](https://github.com/anandpiyer/seoul256-emacs) + +Author +------ + +Junegunn Choi + +License +------- + +MIT diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/keith-parsec.vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/keith-parsec.vim.md new file mode 100644 index 00000000..93d1ce51 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/keith-parsec.vim.md @@ -0,0 +1,29 @@ +# parsec.vim + +This is a vim version of the +[parsec](https://github.com/keith/parsec) colorscheme. This is +built using +[color-builder](https://github.com/keith/color-builder). If +you're not interested in clicking either of those links that means it +is based on the [solarized vim +template](https://github.com/altercation/vim-colors-solarized) using +different colors. This repo is separate for slim inclusion as +explained below. + +If you're using this in terminal vim you'll need to install one of the +terminal themes from the [main repo](https://github.com/keith/parsec) + +## Example + +![screenshot](https://raw.githubusercontent.com/keith/parsec/master/screenshots/vim.png) + +If you don't have a preferred installation method check out +[vim-plug](https://github.com/junegunn/vim-plug) + +## Usage + +To enable parsec add these to your `~/.vimrc`: + +``` +colorscheme parsec +``` diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/kristijanhusak-vim-hybrid-material.md b/nvim/plugged/awesome-vim-colorschemes/docs/kristijanhusak-vim-hybrid-material.md new file mode 100644 index 00000000..d2bea02d --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/kristijanhusak-vim-hybrid-material.md @@ -0,0 +1,106 @@ +# vim-hybrid-material +Material color scheme for Vim based on [w0ng/vim-hybrid](https://github.com/w0ng/vim-hybrid) color scheme. + +It includes **2 color schemes**: +* [Hybrid material](#hybrid-material) +* [Hybrid reverse](#hybrid-reverse) + +Both schemes are almost similar to [w0ng/vim-hybrid](https://github.com/w0ng/vim-hybrid), just some colors are switched (Purple with red), to look more like tomorrow-night. + +### Installation +* [Pathogen](https://github.com/tpope/vim-pathogen) + * `git clone https://github.com/kristijanhusak/vim-hybrid-material ~/.vim/bundle/vim-hybrid-material` + * Remember to run `:Helptags` to generate help tags +* [NeoBundle](https://github.com/Shougo/neobundle.vim) + * `NeoBundle 'kristijanhusak/vim-hybrid-material'` +* [Vundle](https://github.com/gmarik/vundle) + * `Plugin 'kristijanhusak/vim-hybrid-material'` +* [Plug](https://github.com/junegunn/vim-plug) + * `Plug 'kristijanhusak/vim-hybrid-material'` +* manual + * copy all of the files from `colors` directory into your `~/.vim/colors` directory + +### Options + +If you would like some of the code to be bolded, like functions and language controls, add this option to vimrc: + +```vimL +let g:enable_bold_font = 1 +``` + +If you want comments to be in italic, also add this: +```vimL +let g:enable_italic_font = 1 +``` + +To use transparent background, add this option: +```vimL +let g:hybrid_transparent_background = 1 +``` + +**Note**: Options must be set before `colorscheme hybrid_material` statement. + +#### Hybrid Material +Based on [equinusocio/material-theme](https://github.com/equinusocio/material-theme). + +![hybrid-material](https://cloud.githubusercontent.com/assets/1782860/8340203/483e81f2-1abd-11e5-8fc6-b1ca5c646404.png) + +True colors are a requirement for this color scheme to work properly. To enable this, place the following in your `~/.vimrc` or `~/.config/nvim/init.vim` file: + +```vim +if (has("nvim")) + "For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 > + let $NVIM_TUI_ENABLE_TRUE_COLOR=1 +endif + +"For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 > +"Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd > +" < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 > +if (has("termguicolors")) + set termguicolors +endif +``` + +##### GVim/MacVim +Only add this to .vimrc after installation: + +```vimL +set background=dark +colorscheme hybrid_material +``` + +##### Vim +For Vim version check folder [base16-material](https://github.com/kristijanhusak/vim-hybrid-material/tree/master/base16-material). + +#### Hybrid Reverse +Original [w0ng/vim-hybrid](https://github.com/w0ng/vim-hybrid), with only colors switched. + +![hybrid-reverse](https://cloud.githubusercontent.com/assets/1782860/8340291/e046a042-1abd-11e5-82fd-b323ec5fd80c.png) + +##### Gvim/MacVim/Vim +```vimL +set background=dark +colorscheme hybrid_reverse +``` + +### Light version +Light version is also included, just set background to light instead of dark: +```vimL +set background=light +colorscheme hybrid_material +``` + + +### Airline +If you are using [vim-airline](https://github.com/bling/vim-airline) plugin, there is a hybrid theme that suites well with this color scheme (Used on screenshots). +```vimL +let g:airline_theme = "hybrid" +``` + +Font on screenshot: [Inconsolata](https://github.com/powerline/fonts/tree/master/Inconsolata) + + +### Thanks to +* [w0ng/vim-hybrid](https://github.com/w0ng/vim-hybrid) +* [equinusocio/material-theme](https://github.com/equinusocio/material-theme) +* [@seanwash](https://github.com/seanwash) for adding support for Vim diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/kyoz-purify.md b/nvim/plugged/awesome-vim-colorschemes/docs/kyoz-purify.md new file mode 100644 index 00000000..2f11bdea --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/kyoz-purify.md @@ -0,0 +1,138 @@ +# Vim Purify +> Purify dark theme for vim (neovim) + +<p align="center"> + <img src="https://i.imgur.com/ej5vWWS.png" width="900px"> +</p> + +## Contents + +- [Installation](#installation) +- [Languages and Filetypes Support](#languages-and-filetypes-support) +- [Plugins Support](#plugins-support) + - [Built-in](#built-in) + - [Airline](#airline) + - [Lightline](#lightline) +- [Customize](#customize) + - [Font styles](#font-styles) + - [Background](#background) + - [Overrides colors](#overrides-colors) +- [Why i have to install other plugins](#why-i-have-to-install-other-plugins) +- [License](#license) + +## Installation + +You can install purify easily if you are using [vim-plug](https://github.com/junegunn/vim-plug): + +```vim +Plug 'kyoz/purify', { 'rtp': 'vim' } +``` + +**Note**: Other vim plugin manager have similar installation, just remember about `rtp` option + +Then add this to your vim config file: + +```vim +syntax on " This is required +colorscheme purify +``` + +**Note**: All custom options should be placed before you call `colorscheme purify`. If not, it'll not have any effect. + +## Languages and Filetypes Support + +Purify supports consistent color syntax for almost all common languages and file types (based on vim's [runtime syntax](https://github.com/vim/vim/tree/master/runtime/syntax)): + +- [x] Html, Html5... +- [x] Css, Scss, Sass, Less +- [x] Json, Xml, Markdown +- [x] Javascript, Typescript (Require [typescript-vim](https://github.com/leafgarland/typescript-vim)'s syntax) +- [x] Python, Go +- [x] C, C_++ +- [x] All [languages](https://github.com/vim/vim/tree/master/runtime/syntax) that vim support til now + +## Frameworks support + +- [x] React (Require [vim-jsx-pretty](https://github.com/MaxMEllon/vim-jsx-pretty)) + +## Plugins Support + +### Built-in: + +By default, without any configuration, purify auto-supports consistent colors for: + +- [x] [NERDTree](https://github.com/scrooloose/nerdtree) +- [x] [fzf.vim](https://github.com/junegunn/fzf.vim) +- [x] [EasyMotion](https://github.com/easymotion/vim-easymotion) +- [x] Other plugins that use highlight syntax that define in [w18](http://vimdoc.sourceforge.net/htmldoc/syntax.html#syntax) and [highlight-group](http://vimdoc.sourceforge.net/htmldoc/options.html#'highlight') + +### Airline + +If you are using [vim-airline](https://github.com/vim-airline/vim-airline): + +``` +let g:airline_theme='purify' +``` + +### Lightline + +If you are using [lightline.vim](https://github.com/itchyny/lightline.vim): + +``` +let g:lightline = { + \ 'colorscheme': 'purify', + \ } +``` + +## Customize + +### Font styles + +By default, Purify will support for italic, bold, underline... You can disable them if you want: + +``` +let g:purify_bold = 0 " default: 1 +let g:purify_italic = 0 " default: 1 +let g:purify_underline = 0 " default: 1 +let g:purify_undercurl = 0 " default: 1 +let g:purify_inverse = 0 " default: 1 +``` + +**Note**: Those style formats only working if your terminal, your settings, your fonts support em. + +### Background + +By default, Vim using your terminal background color as the background colors. + +If you are using GUI version of vim/neovim, it'll have Purify Background (#252834), but if you are using terminal vim or neovim, you have to choose and set the background yourself: + +``` +colorscheme purify "--------------------------------- Set onedark theme +hi Normal guibg=#252834 ctermbg=234 "---- Place this after you set the colorscheme +``` + +P/s: If you are nvim-qt, you may need set this to your `ginit.vim` + +``` +set background=dark +``` + +### Override colors + +You can override purify's colors if there are some colors you don't like: + +``` +let g:purify_override_colors = { + \ 'pink': { 'gui': '#FF87FF', 'cterm': '213' }, + \ 'green': { 'gui': '#5FD700', 'cterm': '76' } +\ } +``` + +## Why I have to install other plugins + +- Purify is only aim for colorscheme, I've tried my best to make purify colorscheme look the same for all languages supported by vim, neovim. + +- But for new languages, frameworks... you have to install other plugins to have correct syntax, I'll try my best to support plugins that have a good syntax for new languages, frameworks like React, Vue... + +## Lisence +MIT © [Kyoz](mailto:banminkyoz@gmail.com) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/lifepillar-vim-solarized8.md b/nvim/plugged/awesome-vim-colorschemes/docs/lifepillar-vim-solarized8.md new file mode 100644 index 00000000..8dcc6d0b --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/lifepillar-vim-solarized8.md @@ -0,0 +1,189 @@ +# Solarized 8: True Colors + +Solarized 8 Flat Dark | Solarized 8 Flat Light +:-------------------------:|:-------------------------: +![](https://raw.github.com/lifepillar/Resources/master/solarized8/solarized8_dark_flat.png) | ![](https://raw.github.com/lifepillar/Resources/master/solarized8/solarized8_light_flat.png) + +This is yet another Solarized theme for Vim. It places itself half way between +the original [Solarized](https://github.com/altercation/vim-colors-solarized) +and the [Flattened](https://github.com/romainl/flattened) variant. It +removes only *some* of the bullshit. The color palette is exactly the same as +in Solarized, although some highlight groups are defined slightly +differently (for instance, I have tried to avoid red on blue). + +The main reason for the existence of this project is that the original Solarized +theme does not define `guifg` and `guibg` in terminal Vim, making it unsuitable +for versions of Vim supporting true-color (i.e., 24-bit color) terminals. +Instead, this color scheme works **out of the box everywhere**. For the best +experience, you need: + +- Vim ≥7.4.1799, or NeoVim, with `termguicolors` set, **and** +- a terminal supporting millions of colors (but see below for workarounds). + +Solarized 8 also works in any GUI version of Vim: no configuration is +necessary.<sup>*</sup> See below for installation instructions. + +<sup>*</sup> [VimR](https://github.com/qvacua/vimr) users must set +`termguicolors` before loading the color scheme. + + +## But, my terminal has only 256 colors! + +For terminals not supporting true colors, Solarized 8 will fall back to use an +approximate palette based on xterm's 256 colors, which looks more or less like +this: + +Dark 256 color palette | Light 256 color palette +:-------------------------:|:-------------------------: +![](https://raw.github.com/lifepillar/Resources/master/solarized8/solarized8_dark_256.png) | ![](https://raw.github.com/lifepillar/Resources/master/solarized8/solarized8_light_256.png) + +(Yeah, it looks like a different color scheme: Solarized palette is far away +from xterm colors!) + +If you do not like this approximation, to get exact colors with such terminals +you have two possibilities: + +1. Modify some of your terminal colors in the range 16–255 to match Solarized + palette. For this purpose, you may run (*not* source!) + `scripts/solarized8.sh`; no setting is needed in Vim. For instance, if you + are using Bash, put this in `.bashrc`: + + ```sh + sh /path/to/scripts/solarized.sh + ``` + + **Note:** this method is supported only by some, but not all, terminals. For + instance, in Apple's Terminal.app, running `solarized.sh` has no effect. + +2. Set your terminal's 16 ANSI colors (the colors in the range 0–15) to the + Solarized palette (how to do that depends on the terminal) *and* `set + t_Co=16` in Vim (or `let g:solarized_use16=1`) to instruct Vim to use your + terminal's colors. Be aware that, if you force the use of your terminal + colors in Vim with any of these settings, but your terminal is not + configured to use the Solarized palette, your colors will be completely off! + +**Note:** whatever method you choose, keep in mind that if your terminal does +not support millions of colors, you must *not* set `termguicolors` (i.e., make +sure that `set termguicolors?` outputs `notermguicolors`). + + +## What if I happen to work on vt100 or similar? + +In the past, Solarized 8 used to complain when your terminal did not support +enough colors. But the current version will gracefully degrade to a (beautiful!) +black&white color scheme: + +Solarized 8 B&W variant | Solarized 8 B&W variant +:-------------------------:|:-------------------------: +![](https://raw.github.com/lifepillar/Resources/master/solarized8/solarized8_bw.png) | ![](https://raw.github.com/lifepillar/Resources/master/solarized8/solarized8_bw_solarized.png) + + +## Installation + +If your Vim supports packages (`echo has('packages')` prints `1`), I strongly +recommend that you use them. Just clone this repo inside `pack/*/opt`, e.g.: + + git clone https://github.com/lifepillar/vim-solarized8.git \ + ~/.vim/pack/themes/opt/solarized8 + +Otherwise, use you favourite installation method. + +There are actually four optimized<sup>*</sup> color schemes you may load: + +- `solarized8_high`: high-contrast variant (screenshow below, first column); +- `solarized8`: the default Solarized theme (screenshot below, second column); +- `solarized8_low`: low-contrast variant (screenshow below, third column); +- `solarized8_flat`: “flat” variant (screenshow below, fourth column). + +![](https://raw.github.com/lifepillar/Resources/master/solarized8/solarized8-variants.png) + +The “flat” variant does not exist in the original Solarized. It differs from +`solarized8` mainly in how the status line, split bars and tab bar look like: + +![](https://raw.github.com/lifepillar/Resources/master/solarized8/solarized8-normal-vs-flat.png) + +To use a Solarized 8 color scheme, set the background (`dark` or `light`) then +load the variant you want, e.g.: + +```vim +set background=dark +colorscheme solarized8 +``` + +If you opt to use some Vim plugin manager instead, the following should be +added to your `vimrc`, rather than the above, for the color scheme to be loaded +correctly: + +```vim +set background=dark +autocmd vimenter * ++nested colorscheme solarized8 +``` + +To switch the background from dark to light or vice versa, just set `background` +accordingly. + +If you use Vim packages, there is no need to `packadd solarized8`. Keep your +`runtimepath` clean! + +<sup>*</sup> Below is the result of a benchmark I have made using Vim 8.1.1450 + and iTerm 2 v3.2.6 on a MacBook Pro Early 2015 with macOS 10.14.5. To make the + comparison meaningful, `g:solarized_extra_hi_groups` was set to `1`: Solarized + 8 should load a bit faster if you do not enable additional syntax items. Note + that Solarized 8 is optimized for what are believed to be the most common use + cases, i.e., GUI, true-color terminals and 256-color terminals. + +<p align="center"> +<img width="500" src="https://raw.github.com/lifepillar/Resources/master/solarized8/load_time.png"> +</p> + + +## Options + +The following options are inherited from Solarized: + +- `g:solarized_visibility`: one of `"normal"` (default), `"low"`, `"high"`; +- `g:solarized_diffmode`: one of `"normal"` (default), `"low"`, `"high"`; +- `g:solarized_termtrans`: make terminal background transparent if set to `1` + (default: `0`). + +The following options were not available in the original Solarized: + +- `g:solarized_statusline`: one of `"normal"` (default), `"low"` or `"flat"`; +- `g:solarized_italics`: set to `0` to suppress italics (default is `1`). +- `g:solarized_old_cursor_style`: set to `1` if you want to use the original + Solarized's cursor style (default: `0`). By default, the cursor is orange/red + in light themes, and blue in dark themes (but please note that your terminal + may override the cursor's color). +- `g:solarized_use16`: set to `1` to force using your 16 ANSI terminal colors. +- `g:solarized_extra_hi_groups`: set to `1` to enable Solarized + filetype-specific syntax highlighting groups (default is `0`). Please be + aware that if your Vim is not recent enough you may encounter [an + issue](https://github.com/vim/vim/issues/4405) with syntax items defined in + color schemes. + +All these options may be used with any Solarized 8 variant. + + +## Troubleshooting + +**Hey, I do not get the right colors when running Vim inside tmux or in my +favourite true-color enabled terminal!** + +Try putting this in your `.vimrc`: + +```viml +let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum" +let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum" +``` + +See `:h xterm-true-color` for the details. + + +## Hacking + +Do you want to hack the theme? Install +[Colortemplate](https://github.com/lifepillar/vim-colortemplate), edit the +`templates/*.colortemplate` files, then rebuild the color schemes. + +If you extend or improve Solarized 8, please consider submitting a pull request! + diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/liuchengxu-space-vim-dark.md b/nvim/plugged/awesome-vim-colorschemes/docs/liuchengxu-space-vim-dark.md new file mode 100644 index 00000000..8f5a2318 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/liuchengxu-space-vim-dark.md @@ -0,0 +1,88 @@ +space-vim-dark +============== +<a href="https://github.com/liuchengxu/space-vim"><img src="https://rawgit.com/liuchengxu/space-vim/master/assets/space-vim-badge.svg" alt="badge"></a> + +Try the successor of space-vim-dark for light background support! + +:tada: **>> [space-vim-theme](https://github.com/liuchengxu/space-vim-theme)** + +dark | light +:----: | :----: +![](https://raw.githubusercontent.com/liuchengxu/img/master/space-vim-theme/dark.png) | ![](https://raw.githubusercontent.com/liuchengxu/img/master/space-vim-theme/light.png) + +----------- + +Space-vim-dark colorscheme is derived from [spacemacs-dark-theme](https://github.com/nashamri/spacemacs-theme). + +## Installation + +Follow your favourite plugin manager's instruction, e.g., [vim-plug](https://github.com/junegunn/vim-plug): + +```vim +Plug 'liuchengxu/space-vim-dark' +``` + +**Notes:** + +- If you want to enable italics in terminal: + + 1. check if the current terminal is able to display italics correctly: `echo -e "\e[3mfoo\e[23m"]]"`, if the output is _`foo`_ , the terminal (-emulator) supports italics. + + 2. If the terminal supports italics, put `hi Comment cterm=italic` after colorshcme command in your vimrc. + + ```vim + colorscheme space-vim-dark + hi Comment cterm=italic + ``` + +- If you want to make the background transparent, override the related items in your vimrc: + + ```vim + colorscheme space-vim-dark + hi Normal ctermbg=NONE guibg=NONE + hi LineNr ctermbg=NONE guibg=NONE + hi SignColumn ctermbg=NONE guibg=NONE + ``` + + <p align="center"><img width="500" alt="transparent" src="https://user-images.githubusercontent.com/8850248/36429354-75870ba6-168d-11e8-939a-34956e3c24b9.png"></p> + +- If you prefer the grey comment: + + ```vim + colorscheme space-vim-dark + hi Comment guifg=#5C6370 ctermfg=59 + ``` + <p align="center"><img width="500" alt="transparent" src="https://raw.githubusercontent.com/liuchengxu/img/master/space-vim-dark/grey-comment.png"></p> + +## GUI or Terminal with true colors enabled + +```vim +color space-vim-dark +set termguicolors +hi LineNr ctermbg=NONE guibg=NONE +``` + +![screenshot](https://raw.githubusercontent.com/liuchengxu/img/master/space-vim/space-vim-gui.png) + +## Cterm (256 colors) + +![screenshot](https://raw.githubusercontent.com/liuchengxu/img/master/space-vim/space-vim-cterm.png) + +### Change background color + +![screenshot](https://raw.githubusercontent.com/liuchengxu/img/master/space-vim-dark/space-vim-dark-bg-list.png) + +```vim +" Range: 233 (darkest) ~ 238 (lightest) +" Default: 235 +let g:space_vim_dark_background = 234 +color space-vim-dark +``` + +## Credits + +- Thanks to the great effort of [@axvr](https://github.com/axvr) . Now we have the Xresources port of space-vim-dark theme. + +> To use this colour scheme for X based applications (e.g. Xterm, URxvt, etc.): +> 1. Copy all lines from this file which are not comments (comments are lines which begin with a `!`) into your `~/.Xresources` file. +> 2. Reload your configuration file with: `xrdb ~/.Xresources`. diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/marcopaganini-termschool-vim-theme.md b/nvim/plugged/awesome-vim-colorschemes/docs/marcopaganini-termschool-vim-theme.md new file mode 100644 index 00000000..44951721 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/marcopaganini-termschool-vim-theme.md @@ -0,0 +1,101 @@ +# termschool + +## An improved codeschool like vim theme for 256-color terminals + +termschool is a vim theme optimized for 256-color terminals. The theme +"medium/dark" and makes heavy use of greys, greens and blues in pastel tones. +You can [preview termschool here](http://vimcolors.com/375/termschool/dark). + +The original codeschool for 256-color terminals was created by @Astonj +(http://astonj.com) based on the editor used at http://codeschool.com. While I +enjoyed the theme, I felt it could use a number of improvements and started +implementing them for private use. At some point, my version started to differ +from the original and I decided to release it for public use, with the name +"termschool" (think "Codeschool for terminals.") + +Keep in mind that this theme is a constant work in progress. I use editors all +day and once in a while I'll stumble on some color combination that I don't +quite like. When that happens, I'll update the theme and push a change. Fork +this repository if you prefer a theme that will never change, or keep pulling +newer versions if you like my fixes and improvements. + +# Installation + +## Using Vundle + +If you're using Vundle, just add the following to your `~/.vimrc` file: + +```VimL +Plugin 'marcopaganini/termschool-vim-theme' +colorscheme termschool +``` + +While still inside vim, type: `<ESC>:PluginInstall`. This should install +termschool automatically. Restart vim and the new theme should be the default. +Once in a while, type `<ESC>:PluginUpdate` to fetch the newest version of the +plugin from github. + +## Manual installation + +Manual installation is very simple: Download the `termschool.vim` file and copy +it into your `~/.vim/colors` directory. Edit your `~/.vimrc` file and add: + +```VimL +colorscheme termschool +``` +Restart vim and everything should work. + +A better (but slightly more complicated) option is to git clone this repository +somewhere in your disk and create a symlink from the `termschool.vim` file +inside your working repository to `~/.vim/colors`. + +## Caveats + +Please note that this theme *requires* a 256-color capable terminal. Most +popular terminals are 256-color capable these days, but if things look odd, +your terminal might not have this capability. + +If you know your terminal is 256-color capable and things still look +ugly/weird, try adding the following to your `~/.vimrc` file right before the +`colorscheme termschool` line: + +```VimL +set t_Co=256 +``` + +This will force vim to use 256 colors. + +Note that the theme has been tuned for 256-color terminals (I just can't match +the productivity of screen + vim on gvim) but should also work fine for GUI +environments. + +Feel free to send comments with ideas, suggestions and push requests. + +## FZF Compatible colors + +If you use [FZF](https://github.com/junegunn/fzf), you can get termschool compatible +colors by adding the following to your `~/.bashrc`: + +```sh +export FZF_DEFAULT_OPTS="${FZF_DEFAULT_OPTS}"' + --color="fg:231,bg:234,bg+:23,hl:113,gutter:234" + --color="query:255,prompt:178,pointer:178,marker:44" +' +``` + +If your terminal supports truecolor, you can make the FZF colors match the GUI +colors more closely: + +```sh +export FZF_DEFAULT_OPTS="${FZF_DEFAULT_OPTS}"' + --color="fg:#f0f0f0,bg:#252c31,bg+:#005f5f,hl:#87d75f,gutter:#252c31" + --color="query:#ffffff,prompt:#f0f0f0,pointer:#dfaf00,marker:#00d7d7" +' +``` + +## Related Links + +You may also want to check the +[Mojave](https://github.com/marcopaganini/mojave-vim-theme) vim theme, a dark +color theme based (mostly) on pastel colors that is well suited to long editing +sessions. diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/mhartington-oceanic-next.md b/nvim/plugged/awesome-vim-colorschemes/docs/mhartington-oceanic-next.md new file mode 100644 index 00000000..e3e49510 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/mhartington-oceanic-next.md @@ -0,0 +1,102 @@ +# Oceanic-Next.vim + +Oceanic-Next.vim is a neovim theme inspired by [Oceanic Next for Sublime](https://github.com/voronianski/oceanic-next-color-scheme). +It is not a direct port, but uses some colors from the sublime theme, that are fitted to work with neovim and vim8. + +For best results, it is suggested that you use the following syntax plugins. + +- [yajs.vim](https://github.com/othree/yajs.vim) +- [html5.vim](https://github.com/othree/html5.vim) +- [yats.vim](https://github.com/HerringtonDarkholme/yats.vim/) + +## Installation + +All major plugin managers for vim/nvim are supported + + ```vim +<PACKAGE_MANAGER> 'mhartington/oceanic-next' + ``` + +For vim, add the following to your `.vimrc`. + +*(On Google Cloud Shell try to `set t_Co=256` instead of `set termguicolors` even though your vim version is 8)* + + ```viml +" Theme + syntax enable +" for vim 7 + set t_Co=256 + +" for vim 8 + if (has("termguicolors")) + set termguicolors + endif + +colorscheme OceanicNext + ``` + +For neovim, add the following to your `.nvimrc`. + + +```viml +" For Neovim 0.1.3 and 0.1.4 +let $NVIM_TUI_ENABLE_TRUE_COLOR=1 + +" Or if you have Neovim >= 0.1.5 +if (has("termguicolors")) + set termguicolors +endif + +" Theme +syntax enable +colorscheme OceanicNext +``` + +There is an included theme for vim-airline, to use it, just change the airline theme to: + +``` + let g:airline_theme='oceanicnext' +``` + +There is a light mode, but it still needs some work. +Currently, light mode has issues with cursor, need to tweak the colors a bit for that. +Also, the included airline theme could use some work in light mode. Right now it is the exact same as the dark version, I'd like to tweak this a bit. +If anyone would like to contribute, I'd be happy to accept a Pull Request. + +## Configuration + +If your terminal and setup supports it, you can enable italics and bold fonts with the following setting + +```viml + syntax on + let g:oceanic_next_terminal_bold = 1 + let g:oceanic_next_terminal_italic = 1 + colorscheme OceanicNext +``` + +If your terminal has transparancy, you can enable it in neovim by adding the +following lines to your init.vim **after** calling `colorscheme OceanicNext`: + +```viml +hi Normal guibg=NONE ctermbg=NONE +hi LineNr guibg=NONE ctermbg=NONE +hi SignColumn guibg=NONE ctermbg=NONE +hi EndOfBuffer guibg=NONE ctermbg=NONE +``` +Each line above disables the background for a given highlight group +(e.g., LineNr). You can choose which to disable. This will show your terminal's +background (whether or not it's transparent). For best results, use an Oceanic +Next color scheme in your terminal. + +## Screenshot + +Base colors used in the theme. + +![](https://raw.githubusercontent.com/voronianski/oceanic-next-theme/master/colors.png) + +_neovim_ + +![](https://raw.githubusercontent.com/mhartington/oceanic-next/master/oceanic-next-dark.nvim.png) + +Shown here with [vim-devicons](https://github.com/ryanoasis/vim-devicons) + diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/mkarmona-materialbox.md b/nvim/plugged/awesome-vim-colorschemes/docs/mkarmona-materialbox.md new file mode 100644 index 00000000..45f32579 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/mkarmona-materialbox.md @@ -0,0 +1,70 @@ +Materialbox is heavily inspired by [Gruvbox][] and [Material][]. + + [Material]: https://github.com/cpaulik/emacs-material-theme + [Gruvbox]: https://github.com/morhetz/gruvbox + +## Attention + +1. Only Graphical Vim! If you need a decent theme with terminal and graphical Vim support please check [Gruvbox][]. +2. This theme fallback to gruvbox colour scheme while using the terminal + +## Screenshots + +Imgur [link][]. The font used can be found here: [Iosevka][]. + + [link]: http://imgur.com/a/oHPTu + [Iosevka]: http://be5invis.github.io/Iosevka + +### Dark mode + +![Screenshot Dark](http://i.imgur.com/RfH7ntY.png) + +### Light mode + +![Screenshot Light](http://i.imgur.com/NHYzpLD.png) + +## Contrast options + +Refer [Gruvbox wiki section][] for contrast configuration and other options. + + [Gruvbox wiki section]: https://github.com/morhetz/gruvbox/wiki/Configuration#ggruvbox_contrast_dark + +## Features + +Thanks to [Gruvbox][] theme, so check it first. + +- Lots of style-customization options (contrast, color invertion, italics usage etc.) +- Extended filetype highlighting: Html, Xml, Vim (and ES6 with [yajs.vim][]), Clojure, C, Python, JavaScript, CoffeeScript, Ruby, Objective-C, Go, Lua, MoonScript, Java, Markdown, Haskell +- Supported plugins: [EasyMotion][], [vim-sneak][], [Indent Guides][], [indentLine][], [Rainbow Parentheses][], [Airline][], [GitGutter][], [Signify][], [ShowMarks][], [Signature][], [Syntastic][], [CtrlP][], [Startify][] + + [yajs.vim]: https://github.com/othree/yajs.vim + [EasyMotion]: https://github.com/Lokaltog/vim-easymotion + [vim-sneak]: https://github.com/justinmk/vim-sneak + [Indent Guides]: https://github.com/nathanaelkane/vim-indent-guides + [indentLine]: https://github.com/Yggdroot/indentLine + [Rainbow Parentheses]: https://github.com/kien/rainbow_parentheses.vim + [Airline]: https://github.com/bling/vim-airline + [GitGutter]: https://github.com/airblade/vim-gitgutter + [Signify]: https://github.com/mhinz/vim-signify + [ShowMarks]: http://www.vim.org/scripts/script.php?script_id=152 + [Signature]: https://github.com/kshenoy/vim-signature + [Syntastic]: https://github.com/scrooloose/syntastic + [CtrlP]: https://github.com/kien/ctrlp.vim + [Startify]: https://github.com/mhinz/vim-startify + +## ToDo + +* A lot things... + +## Self-Promotion + +If you like materialbox follow first Gruvbox on [GitHub][] and vote for it on [vim.org][]. Then, follow on [GitHub Materialbox][]. + +## License + +[MIT/X11][] + +[GitHub]: https://github.com/morhetz/gruvbox +[vim.org]: http://www.vim.org/scripts/script.php?script_id=4349 +[MIT/X11]: https://en.wikipedia.org/wiki/MIT_License +[GitHub Materialbox]: https://github.com/mkarmona/materialbox diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/morhetz-gruvbox.md b/nvim/plugged/awesome-vim-colorschemes/docs/morhetz-gruvbox.md new file mode 100644 index 00000000..eca249c0 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/morhetz-gruvbox.md @@ -0,0 +1,113 @@ +<!--p align="center"><img src="http://svgur.com/i/3Dp.svg"></p--> + +gruvbox is heavily inspired by [badwolf][], [jellybeans][] and [solarized][]. + +Designed as a bright theme with pastel 'retro groove' colors and light/dark mode switching in the way of [solarized][]. The main focus when developing gruvbox is to keep colors easily distinguishable, contrast enough and still pleasant for the eyes. + + [badwolf]: https://github.com/sjl/badwolf + [jellybeans]: https://github.com/nanotech/jellybeans.vim + [solarized]: http://ethanschoonover.com/solarized + +Attention +--------- + +1. [Read this first](https://github.com/morhetz/gruvbox/wiki/Terminal-specific) +2. Typeface from gallery is [Fantasque Sans Mono](https://github.com/belluzj/fantasque-sans) +3. Typeface from screenshots below is [Fira Mono](https://mozilla.github.io/Fira/) + +Screenshots +----------- + +Refer [Gallery][] for more syntax-specific screenshots. + + [Gallery]: https://github.com/morhetz/gruvbox/wiki/Gallery + +### Dark mode + +![Screenshot Dark](http://i.imgur.com/GkIl8Fn.png) + +### Light mode + +![Screenshot Light](http://i.imgur.com/X75niEa.png) + +### Airline theme + +![Screenshot Airline](http://i.imgur.com/wRQceUR.png) + +Palette +------- + +### Dark mode + +![Palette Dark](http://i.imgur.com/wa666xg.png) + +### Light mode + +![Palette Light](http://i.imgur.com/49qKyYW.png) + +Contrast options +---------------- + +Refer [wiki section][] for contrast configuration and other options. + + [wiki section]: https://github.com/morhetz/gruvbox/wiki/Configuration#ggruvbox_contrast_dark + +![Contrast Options](http://i.imgur.com/5MSbe6T.png) + +Documentation +------------- + +Please check [wiki][] for installation details, terminal-specific setup, troubleshooting, configuration options and others. + + [wiki]: https://github.com/morhetz/gruvbox/wiki + +Features +-------- + +* Lots of style-customization options (contrast, color invertion, italics usage etc.) +* Extended filetype highlighting: Html, Xml, Vim, Clojure, C, Python, JavaScript, TypeScript, PureScript, CoffeeScript, Ruby, Objective-C, Go, Lua, MoonScript, Java, Markdown, Haskell, Elixir +* Supported plugins: [EasyMotion][], [vim-sneak][], [Indent Guides][], [indentLine][], [Rainbow Parentheses][], [Airline][], [Lightline][], [GitGutter][], [Signify][], [ShowMarks][], [Signature][], [Syntastic][], [Ale][], [CtrlP][], [Startify][], [NERDTree][], [Dirvish][] + + [EasyMotion]: https://github.com/Lokaltog/vim-easymotion + [vim-sneak]: https://github.com/justinmk/vim-sneak + [Indent Guides]: https://github.com/nathanaelkane/vim-indent-guides + [indentLine]: https://github.com/Yggdroot/indentLine + [Rainbow Parentheses]: https://github.com/kien/rainbow_parentheses.vim + [Airline]: https://github.com/bling/vim-airline + [Lightline]: https://github.com/itchyny/lightline.vim + [GitGutter]: https://github.com/airblade/vim-gitgutter + [Signify]: https://github.com/mhinz/vim-signify + [ShowMarks]: http://www.vim.org/scripts/script.php?script_id=152 + [Signature]: https://github.com/kshenoy/vim-signature + [Syntastic]: https://github.com/scrooloose/syntastic + [Ale]: https://github.com/w0rp/ale + [CtrlP]: https://github.com/kien/ctrlp.vim + [Startify]: https://github.com/mhinz/vim-startify + [NERDTree]: https://github.com/scrooloose/nerdtree + [Dirvish]: https://github.com/justinmk/vim-dirvish + +Contributions +------------- + +See [gruvbox-contrib][] repo for contributions, ports and extras. + +[gruvbox-contrib]: https://github.com/morhetz/gruvbox-contrib + +ToDo +---- + +* Filetype syntax highlighting (R, TeX, Swift, Erlang) +* Plugin support (Tagbar, VimPlug) + +Self-Promotion +-------------- + +If you like gruvbox follow the repository on +[GitHub](https://github.com/morhetz/gruvbox) and vote for it on +[vim.org](http://www.vim.org/scripts/script.php?script_id=4349). + +License +------- +[MIT/X11][] + + [MIT/X11]: https://en.wikipedia.org/wiki/MIT_License diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/nanotech-jellybeans.vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/nanotech-jellybeans.vim.md new file mode 100644 index 00000000..9e8b04d6 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/nanotech-jellybeans.vim.md @@ -0,0 +1,179 @@ +jellybeans.vim +============== + +A colorful, dark color scheme, inspired by [ir_black][] and [twilight][]. + +Designed primarily for a graphical Vim, but includes support for 256, 88, 16, +and 8 color terminals. On a 16 or 8 color terminal, replace its colors with +those in `ansi-term-colors.txt` for best results. + +This script is [vimscript #2555][vimscript] at Vim.org. + +Jellybeans has also been ported to other editors and programs, +listed on the [Ports wiki page][wiki-ports]. + +Scroll down for [screenshots][ss-anchor]! + +[wiki-ports]: https://github.com/nanotech/jellybeans.vim/wiki/Ports + +## Installation + +Install the color scheme by adding it to your `~/.vim/colors` directory + +```bash +mkdir -p ~/.vim/colors +cd ~/.vim/colors +curl -O https://raw.githubusercontent.com/nanotech/jellybeans.vim/master/colors/jellybeans.vim +``` + +Jellybeans can also be installed through plugin managers such as +[dein.vim][dein], [Pathogen][pathogen], [VAM][vam], +[vim-plug][vim-plug], [Vundle][vundle], etc. + +To enable the jellybeans color scheme, use +``` +:colorscheme jellybeans +``` + +If you are satisfied, you can add `colorscheme jellybeans` to your `~/.vimrc` file (`_vimrc` in Windows). + +[dein]: https://github.com/Shougo/dein.vim +[pathogen]: https://github.com/tpope/vim-pathogen +[vam]: https://github.com/MarcWeber/vim-addon-manager +[vim-plug]: https://github.com/junegunn/vim-plug +[vundle]: https://github.com/VundleVim/Vundle.vim + +## Options + +### Custom Highlights + +If you prefer slightly different colors from what Jellybeans defines, +you can set `g:jellybeans_overrides` in your .vimrc to a dictionary of +custom highlighting parameters: + + let g:jellybeans_overrides = { + \ 'Todo': { 'guifg': '303030', 'guibg': 'f0f000', + \ 'ctermfg': 'Black', 'ctermbg': 'Yellow', + \ 'attr': 'bold' }, + \ 'Comment': { 'guifg': 'cccccc' }, + \} + +This removes the need to edit Jellybeans directly, simplifying +upgrades. In addition, RGB colors specified this way are run through +the same color approximation algorithm that the core theme uses, so +your colors work just as well in 256-color terminals. + +If you can pick better colors than the approximator, specify them +in the `256ctermfg` and `256ctermbg` parameters to override +its choices. + +#### Custom Background Colors + +To set a custom background color, override the special +`background` highlight group: + + let g:jellybeans_overrides = { + \ 'background': { 'guibg': '000000' }, + \} + +Jellybeans uses the background color in multiple highlight +groups. Using the special `background` group overrides them all +at once. + +This replaces `g:jellybeans_background_color` and +`g:jellybeans_background_color_256` from Jellybeans versions +before 1.6. + +#### Terminal Background + +If you would prefer to use your terminal's default background +(e.g. for transparent backgrounds, image backgrounds, or a +different color) instead of the background color that Jellybeans +applies, use this `background` override code: + + let g:jellybeans_overrides = { + \ 'background': { 'ctermbg': 'none', '256ctermbg': 'none' }, + \} + if has('termguicolors') && &termguicolors + let g:jellybeans_overrides['background']['guibg'] = 'none' + endif + +#### `MatchParen` Colors + +Jellybeans sets alternate `MatchParen` colors (magenta on black) +in some terminals to be more readable out of the box: + +- Apple's Terminal.app has default themes with cursor colors + that are too close in brightness to Jellybeans' preferred + `MatchParen` background color of `#556779` to be + clearly distinguishable. +- Default 16-color terminal palettes don't typically have a + color available that can approximate the preferred + `MatchParen` background color. + +If you use Terminal.app with a brighter cursor color, you can +use the standard `MatchParen` colors with this override: + + let g:jellybeans_overrides = { + \ 'MatchParen': { 'guifg': 'ffffff', 'guibg': '556779' }, + \} + +To use the standard `MatchParen` colors in a 16-color terminal, +configure Low-Color Black as [described in the section +below](#low-color-black-16-and-8-color-terminals). + +If you prefer the alternate `MatchParen` colors, you can use them +everywhere with + + let g:jellybeans_overrides = { + \ 'MatchParen': { 'guifg': 'dd0093', 'guibg': '000000', + \ 'ctermfg': 'Magenta', 'ctermbg': '' }, + \} + +*Added in version 1.7.* + +### Italics + +Jellybeans disables italics in terminal Vim by default, as some +terminals do other things with the text's colors instead of +actually italicizing the text. If your terminal does fully +support italics, add + + let g:jellybeans_use_term_italics = 1 + +to your .vimrc to enable italics in terminal Vim. + +If you don't want italics even in GUI Vim, add + + let g:jellybeans_use_gui_italics = 0 + +### Low-Color Black (16 and 8 color terminals) + +Since the background on a dark terminal is usually black already, +Jellybeans can appropriate the black ANSI color as a dark grey and +use no color when it really wants black. + +After changing your terminal’s color palette (`#444444` is +suggested), add this to your .vimrc: + + let g:jellybeans_use_lowcolor_black = 1 + +*This option was changed to be disabled by default in version 1.7.* + +## Screenshots + +![][preview-ss] + +The font in the screenshot is 10pt [Monaco][monaco]: + +```vim +set guifont=Monaco:h10 noanti +``` + + +[ir_black]: https://web.archive.org/web/20140211124943/http://toddwerth.com/2008/01/25/a-black-os-x-leopard-terminal-theme-that-is-actually-readable/ +[twilight]: http://www.vim.org/scripts/script.php?script_id=1677 +[vimscript]: http://www.vim.org/scripts/script.php?script_id=2555 +[preview-ss]: https://nanotech.nanotechcorp.net/downloads/jellybeans-preview.png +[ss-anchor]: #screenshots +[monaco]: https://en.wikipedia.org/wiki/Monaco_(typeface) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/nightsense-carbonized.md b/nvim/plugged/awesome-vim-colorschemes/docs/nightsense-carbonized.md new file mode 100644 index 00000000..37025d2d --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/nightsense-carbonized.md @@ -0,0 +1,174 @@ +**This repository has been superseded by [vimspectr](https://github.com/haystackandroid/vimspectr).** + +. + +. + +. + +<h1 id="carbonized">carbonized</h1> + +<p>A vim theme inspired by the <a href="https://geekhack.org/index.php?topic=79693.0">Carbon keycap set</a> by T0mb3ry.</p> + +<h2 id="screenshots">screenshots</h2> + +<table> +<tr><td align="center"><strong>carbonized-dark</strong></td><td align="center"><strong>carbonized-light</strong></td></tr> +<tr> +<td><img src="/img/screenshot-carbonized-dark.png" alt="screenshot of the carbonized-dark vim theme" width="282" /></td> +<td align="center"><img src="/img/screenshot-carbonized-light.png" alt="screenshot of the carbonized-light vim theme" width="282" /></td> +</tr> +</table> + +<blockquote> + <p>pictured font: <a href="http://input.fontbureau.com/">Input Mono Narrow</a> (1.2x line spacing)</p> +</blockquote> + +<h2 id="setup">setup</h2> + +<h3 id="installation">installation</h3> + +<p>While vim themes can be installed manually (place <a href="https://github.com/haystackandroid/carbonized/tree/master/colors">theme file</a> in <code class="highlighter-rouge">~/.vim/colors/</code>), a <strong>plugin helper</strong> is recommended.</p> + +<p>If you don’t have a preferred helper, consider trying <a href="https://github.com/junegunn/vim-plug">vim-plug</a>, which can be installed with:</p> + +<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ + https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim +</code></pre></div></div> + +<p>To install carbonized using vim-plug, add the following to the top of your <code class="highlighter-rouge">vimrc</code>:</p> + +<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>call plug#begin('~/.vim/plugged') +Plug 'haystackandroid/carbonized' +call plug#end() +</code></pre></div></div> + +<p>Then restart vim and run <code class="highlighter-rouge">PlugUpdate</code> (from the vim command line).</p> + +<h3 id="activation">activation</h3> + +<p>To activate the carbonized theme, add one of the following lines to your <code class="highlighter-rouge">vimrc</code>:</p> + +<ul> + <li><code class="highlighter-rouge">colorscheme carbonized-light</code></li> + <li><code class="highlighter-rouge">colorscheme carbonized-dark</code></li> +</ul> + +<p>To activate the <a href="https://github.com/itchyny/lightline.vim">lightline</a> theme, add one of the following lines to your lightline config:</p> + +<ul> + <li><code class="highlighter-rouge">\ 'colorscheme': 'carbonized_light',</code></li> + <li><code class="highlighter-rouge">\ 'colorscheme': 'carbonized_dark',</code></li> +</ul> + +<blockquote> + <p>To assign themes to specific intervals of the day, try the <a href="https://github.com/haystackandroid/night-and-day">night-and-day</a> plugin.</p> +</blockquote> + +<h3 id="options">options</h3> + +<p>You can tweak the following options by adding lines to your `vimrc’.</p> + +<p>Disable highlighted <strong>current line number</strong>:</p> + +<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>let g:carbonized_dark_CursorLineNr = 'off' +let g:carbonized_light_CursorLineNr = 'off' +</code></pre></div></div> + +<p>Disable the highlighted <strong>line number background</strong>:</p> + +<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>let g:carbonized_dark_LineNr = 'off' +let g:carbonized_light_LineNr = 'off' +</code></pre></div></div> + +<h2 id="terminal-vim">terminal vim</h2> + +<p>See the <a href="https://github.com/haystackandroid/nightshell">nightshell</a> repository, which allows carbonized to be used in a variety of terminal applications.</p> + +<h2 id="palette">palette</h2> + +<p>carbonized consists of 8 theme-distinct <strong>base colours</strong>, which are used for most interface elements, and 8 standard <strong>accent colours</strong> (common to the “haystackandroid theme family”) used for syntax highlighting.</p> + +<blockquote> + <ul> + <li><strong>hues</strong> were selected at the scale of 1/48 (7.5°) colour wheel intervals</li> + <li><strong>saturations</strong> and <strong>values</strong> were selected at the scale of 1/24 (4.17%)</li> + <li>the <a href="https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html#visual-audio-contrast-contrast-73-head">ISO 3:1 contrast standard</a> is met by nearly all text/background combinations, exceptions being made for some transient-highlighted backgrounds (e.g. cursorcolumn, cursorline)</li> + </ul> +</blockquote> + +<table> + <thead> + <tr> + <th style="text-align: right">base</th> + <th style="text-align: center">light accents</th> + <th style="text-align: left">dark accents</th> + </tr> + </thead> + <tbody> + <tr> + <td style="text-align: right"><img src="http://www.colorhexa.com/2b2b2b.png" height="24" width="42" /> <code class="highlighter-rouge">2b2b2b</code> </td> + <td style="text-align: center"><img src="http://www.colorhexa.com/f55050.png" height="24" width="42" /> <code class="highlighter-rouge">f55050</code> </td> + <td style="text-align: left"><img src="http://www.colorhexa.com/bf5858.png" height="24" width="42" /> <code class="highlighter-rouge">bf5858</code></td> + </tr> + <tr> + <td style="text-align: right"><img src="http://www.colorhexa.com/3b3b37.png" height="24" width="42" /> <code class="highlighter-rouge">3b3b37</code> </td> + <td style="text-align: center"><img src="http://www.colorhexa.com/e06a26.png" height="24" width="42" /> <code class="highlighter-rouge">e06a26</code> </td> + <td style="text-align: left"><img src="http://www.colorhexa.com/b56f45.png" height="24" width="42" /> <code class="highlighter-rouge">b56f45</code></td> + </tr> + <tr> + <td style="text-align: right"><img src="http://www.colorhexa.com/75756e.png" height="24" width="42" /> <code class="highlighter-rouge">75756e</code> </td> + <td style="text-align: center"><img src="http://www.colorhexa.com/d4ac35.png" height="24" width="42" /> <code class="highlighter-rouge">d4ac35</code> </td> + <td style="text-align: left"><img src="http://www.colorhexa.com/ab8e38.png" height="24" width="42" /> <code class="highlighter-rouge">ab8e38</code></td> + </tr> + <tr> + <td style="text-align: right"><img src="http://www.colorhexa.com/8a8a81.png" height="24" width="42" /> <code class="highlighter-rouge">8a8a81</code> </td> + <td style="text-align: center"><img src="http://www.colorhexa.com/219e21.png" height="24" width="42" /> <code class="highlighter-rouge">219e21</code> </td> + <td style="text-align: left"><img src="http://www.colorhexa.com/508a50.png" height="24" width="42" /> <code class="highlighter-rouge">508a50</code></td> + </tr> + <tr> + <td style="text-align: right"><img src="http://www.colorhexa.com/9e9e95.png" height="24" width="42" /> <code class="highlighter-rouge">9e9e95</code> </td> + <td style="text-align: center"><img src="http://www.colorhexa.com/1b9e9e.png" height="24" width="42" /> <code class="highlighter-rouge">1b9e9e</code> </td> + <td style="text-align: left"><img src="http://www.colorhexa.com/458a8a.png" height="24" width="42" /> <code class="highlighter-rouge">458a8a</code></td> + </tr> + <tr> + <td style="text-align: right"><img src="http://www.colorhexa.com/b5b5aa.png" height="24" width="42" /> <code class="highlighter-rouge">b5b5aa</code> </td> + <td style="text-align: center"><img src="http://www.colorhexa.com/468dd4.png" height="24" width="42" /> <code class="highlighter-rouge">468dd4</code> </td> + <td style="text-align: left"><img src="http://www.colorhexa.com/557b9e.png" height="24" width="42" /> <code class="highlighter-rouge">557b9e</code></td> + </tr> + <tr> + <td style="text-align: right"><img src="http://www.colorhexa.com/f0f0e1.png" height="24" width="42" /> <code class="highlighter-rouge">f0f0e1</code> </td> + <td style="text-align: center"><img src="http://www.colorhexa.com/a26fbf.png" height="24" width="42" /> <code class="highlighter-rouge">a26fbf</code> </td> + <td style="text-align: left"><img src="http://www.colorhexa.com/8b6a9e.png" height="24" width="42" /> <code class="highlighter-rouge">8b6a9e</code></td> + </tr> + <tr> + <td style="text-align: right"><img src="http://www.colorhexa.com/fffff0.png" height="24" width="42" /> <code class="highlighter-rouge">fffff0</code> </td> + <td style="text-align: center"><img src="http://www.colorhexa.com/d46a84.png" height="24" width="42" /> <code class="highlighter-rouge">d46a84</code> </td> + <td style="text-align: left"><img src="http://www.colorhexa.com/ab6a7a.png" height="24" width="42" /> <code class="highlighter-rouge">ab6a7a</code></td> + </tr> + </tbody> +</table> + +<p><img src="http://www.colorhexa.com/f55050.png" height="24" width="42" /> +<strong>Red</strong>, the colour of alarm, is used for <strong>warning elements</strong>, including error messages, misspellings, and diff deletions.</p> + +<p><img src="http://www.colorhexa.com/e06a26.png" height="24" width="42" /> +<strong>Orange</strong>, the colour of fire, can be associated with the preliminary “warmup” phase of some activity; literally, this could be the heating-up of a hearth for forging, or a stove for cooking. Orange is therefore used for <strong>preliminary elements</strong>, such as preprocessor commands (which prepare data to be handled by another program), incremental searching (that is, a search term in the process of being typed), titles, and miscapitalized words.</p> + +<p><img src="http://www.colorhexa.com/d4ac35.png" height="24" width="42" /> +<strong>Yellow</strong>, the classic highlighting colour, is applied to elements that are not warnings, yet should draw attention with high visibility. These <strong>highlighted elements</strong> include search results, task tags (<code class="highlighter-rouge">TODO</code>, <code class="highlighter-rouge">FIXME</code>…), and diff changes.</p> + +<p><img src="http://www.colorhexa.com/219e21.png" height="24" width="42" /> +<strong>Green</strong>, the colour that says “go ahead, proceed with the task at hand”, is used for <strong>action elements</strong>, such as statements (if/then, while/do, case…), mode indicators (insert, visual…), vim user prompts, and diff additions.</p> + +<p><img src="http://www.colorhexa.com/1b9e9e.png" height="24" width="42" /> +<strong>Teal</strong> is named after the “common teal”, a kind of duck, thus connecting this colour with the concept of “species”, which is a means of classifying life into very specific types. Teal is therefore used for specifying <strong>object types</strong>, such as data type (boolean, integer, string…) or storage class (static, volatile…), as well as marking mislocalized words (that is, words that are not misspelled but of the wrong type, namely a foreign locale type).</p> + +<p><img src="http://www.colorhexa.com/468dd4.png" height="24" width="42" /> +<strong>Blue</strong>, a colour of calm stability, is used for <strong>constants</strong>, which come in the form of boolean values, integers, floating-point numbers, characters, and strings.</p> + +<p><img src="http://www.colorhexa.com/a26fbf.png" height="24" width="42" /> +<strong>Purple</strong>, often associated with (historically) rare purple dyes produced for special works of art, is used for <strong>special text</strong>, including special characters (standalone or within syntax units), vim tags, and debugging statements. Rarely-used words are also marked, allowing the writer to consider whether such a specially uncommon word is appropriate.</p> + +<p><img src="http://www.colorhexa.com/d46a84.png" height="24" width="42" /> +<strong>Pink</strong>, the colour of spring blossoms, is used for <strong>object names</strong>, including the names of variables and functions. To code is to bring countless objects blossoming into life as one types their names.</p> diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/nightsense-snow.md b/nvim/plugged/awesome-vim-colorschemes/docs/nightsense-snow.md new file mode 100644 index 00000000..3269d0e1 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/nightsense-snow.md @@ -0,0 +1,355 @@ +<table><tbody align='center'> + +<tr> +<td colspan='8'><h1>snow</h1> +<img src="https://github.com/haystackandroid/snow/raw/master/images/header.jpg" /> +<h4>a blue-tinted winter vimscape</h4> +</td> +</tr> + +<tr> + +<td colspan='4' width='50%'> +<br> +<img alt="screenshot of the snow vim theme, light version" src="https://github.com/haystackandroid/snow/raw/master/images/screenshot-light.png" width='420' /> +<br><br> +</td> + +<td colspan='4' width='50%'> +<br> +<img alt="screenshot of the snow vim theme, dark version" src="https://github.com/haystackandroid/snow/raw/master/images/screenshot-dark.png" width='420' /> +<br><br> +</td> + +</tr> + +<tr> +<td width='202'><code>Normal bg</code></td> +<td><img src='http://www.colorhexa.com/fbffff.png' height='24' width='39'></td> +<td><img src='http://www.colorhexa.com/ae5865.png' height='24' width='39'></td> +<td colspan='2'><code>Identifier</code></td> +<td><img src='http://www.colorhexa.com/be868c.png' height='24' width='39'></td> +<td><img src='http://www.colorhexa.com/2c2d30.png' height='24' width='39'></td> +<td width='202'><code>Normal bg</code></td> +</tr> +<tr></tr> +<tr> +<td><code>ColorColumn</code></td> +<td><img src='http://www.colorhexa.com/e5ebf1.png' height='24' width='39'></td> +<td><img src='http://www.colorhexa.com/906c33.png' height='24' width='39'></td> +<td colspan='2'><code>Special</code></td> +<td><img src='http://www.colorhexa.com/ab916d.png' height='24' width='39'></td> +<td><img src='http://www.colorhexa.com/363a3e.png' height='24' width='39'></td> +<td><code>ColorColumn</code></td> +</tr> +<tr></tr> +<tr> +<td><code>MatchParen</code></td> +<td><img src='http://www.colorhexa.com/afb7c0.png' height='24' width='39'></td> +<td><img src='http://www.colorhexa.com/4d7f43.png' height='24' width='39'></td> +<td colspan='2'><code>Statement</code></td> +<td><img src='http://www.colorhexa.com/7f9d77.png' height='24' width='39'></td> +<td><img src='http://www.colorhexa.com/535c65.png' height='24' width='39'></td> +<td><code>MatchParen</code></td> +</tr> +<tr></tr> +<tr> +<td><code>Comment</code></td> +<td><img src='http://www.colorhexa.com/6d7782.png' height='24' width='39'></td> +<td><img src='http://www.colorhexa.com/008483.png' height='24' width='39'></td> +<td colspan='2'><code>PreProc</code></td> +<td><img src='http://www.colorhexa.com/5da19f.png' height='24' width='39'></td> +<td><img src='http://www.colorhexa.com/8c95a0.png' height='24' width='39'></td> +<td><code>Comment</code></td> +</tr> +<tr></tr> +<tr> +<td><code>Normal fg</code></td> +<td><img src='http://www.colorhexa.com/535c65.png' height='24' width='39'></td> +<td><img src='http://www.colorhexa.com/2b7ab2.png' height='24' width='39'></td> +<td colspan='2'><code>Constant</code></td> +<td><img src='http://www.colorhexa.com/759abd.png' height='24' width='39'></td> +<td><img src='http://www.colorhexa.com/afb7c0.png' height='24' width='39'></td> +<td><code>Normal fg</code></td> +</tr> +<tr></tr> +<tr> +<td><code>Cursor</code></td> +<td><img src='http://www.colorhexa.com/434951.png' height='24' width='39'></td> +<td><img src='http://www.colorhexa.com/8f63a2.png' height='24' width='39'></td> +<td width='202' colspan='2'><code>Type</code></td> +<td><img src='http://www.colorhexa.com/a88cb3.png' height='24' width='39'></td> +<td><img src='http://www.colorhexa.com/cbd2d9.png' height='24' width='39'></td> +<td><code>Cursor</code></td> +</tr> +<tr></tr> +<tr> +<td><code>Search</code></td> +<td><img src='http://www.colorhexa.com/e5bb7e.png' height='24' width='39'></td> +<td> +<img src='http://www.colorhexa.com/bc4d61.png' height='2' width='6'> +<img src='http://www.colorhexa.com/007cc3.png' height='2' width='6'> +<img src='http://www.colorhexa.com/008787.png' height='2' width='6'> +<img src='http://www.colorhexa.com/965dae.png' height='2' width='6'> +</td> +<td width='202' colspan='2'><code>Spell</code></td> +<td> +<img src='http://www.colorhexa.com/df969e.png' height='2' width='6'> +<img src='http://www.colorhexa.com/7fb0df.png' height='2' width='6'> +<img src='http://www.colorhexa.com/5eb9b7.png' height='2' width='6'> +<img src='http://www.colorhexa.com/c39dd1.png' height='2' width='6'> +</td> +<td><img src='http://www.colorhexa.com/ab916d.png' height='24' width='39'></td> +<td><code>Search</code></td> +</tr> +<tr></tr> + +<tr> +<td colspan='8'> + +<br> + +*because <img height="16" src='https://github.com/haystackandroid/snow/raw/master/images/red.png' /> red is the color of life, reddish text is for...* + +    <img src="http://www.colorhexa.com/ae5865.png" height='12' width='12'> **names**, which give life <img height="9" src='https://github.com/haystackandroid/snow/raw/master/images/name.png' /> to abstractions (like variables and functions) + +    <img src="http://www.colorhexa.com/8f63a2.png" height='12' width='12'> **types** ("meta-names" <img height="15" src='https://github.com/haystackandroid/snow/raw/master/images/type.png' />), such as variable type (int, char...) or storage class (static, register...) + +<br> + +*because <img height="16" src='https://github.com/haystackandroid/snow/raw/master/images/gold.png' /> gold is a special color, gold text is for...* + +    <img src="http://www.colorhexa.com/906c33.png" height='12' width='12'> **specials** (elements that unlock <img height="16" src='https://github.com/haystackandroid/snow/raw/master/images/special.png' /> special features), such as delimiters and debug statements + +<br> + +*because <img height="15" src='https://github.com/haystackandroid/snow/raw/master/images/green.png' /> green is the color of proceeding with action, greenish text is for...* + +    <img src="http://www.colorhexa.com/4d7f43.png" height='12' width='12'> **statements** (the magic <img height="11" src='https://github.com/haystackandroid/snow/raw/master/images/statement.png' /> "action words" of code), such as conditions (if, then...) or loops (for, do...) + +    <img src="http://www.colorhexa.com/008483.png" height='12' width='12'> **meta-statements** ("meta-actions", or "meta-magic" <img height="16" src='https://github.com/haystackandroid/snow/raw/master/images/meta-statement.png' />), such as macros and "include module" statements + +<br> + +*because <img height="14" src='https://github.com/haystackandroid/snow/raw/master/images/blue.png' /> blue is the calm color of sea and sky, evoking enduring constancy, blue text is for...* + +    <img src="http://www.colorhexa.com/2b7ab2.png" height='12' width='12'> **constants** (values that are fixed <img height="22" src='https://github.com/haystackandroid/snow/raw/master/images/constant.png' /> in place), such as booleans, integers, and strings + +<br> + +**primary colors** of the standard additive model (<img src="http://www.colorhexa.com/ae5865.png" height='9' width='6'> red, <img src="http://www.colorhexa.com/4d7f43.png" height='9' width='6'> green, <img src="http://www.colorhexa.com/2b7ab2.png" height='9' width='6'> blue) are thus assigned to "regular" elements,<br> +while **secondary colors** (<img src="http://www.colorhexa.com/8f63a2.png" height='9' width='6'> magenta, <img src="http://www.colorhexa.com/906c33.png" height='9' width='6'> yellow, <img src="http://www.colorhexa.com/008483.png" height='9' width='6'> cyan) are assigned to "elevated" (meta/special) elements + +<br> + +This logic is replicated in the <a href="https://github.com/haystackandroid/cosmic_latte">cosmic_latte</a> theme. + +</td> +</tr> + +</tbody></table> + +## installation + +If you don’t have a preferred plugin management method, consider [vim-plug](https://github.com/junegunn/vim-plug), which can be installed (on \*nix systems) with: + +``` +curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ + https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim +``` + +Having installed vim-plug, snow can be installed by adding the following to the top of your vimrc... + +``` +call plug#begin('~/.vim/plugged') +Plug 'haystackandroid/snow' +call plug#end() +``` + +...then restarting vim, followed by running `:PlugUpdate` (at the vim command line). + +## activation + +For a snow day, add the following to vimrc: + +``` +set background=light +colorscheme snow +``` + +For a snowy evening: + +``` +set background=dark +colorscheme snow +``` + +To set the background automatically based on the time at which vim is launched: + +``` +if strftime('%H') >= 7 && strftime('%H') < 19 + set background=light +else + set background=dark +endif +colorscheme snow +``` + +...which activates the light version of snow during the day (defined here as 7AM-7PM), dark version at night. + +> Be sure to set `colorscheme` after `background`, otherwise some theme colors may not be applied. + +## status line themes + +snow comes with themes for airline and lightline, which can be activated with the following vimrc code: + +<table><tbody align='center'> +<tr> +<td width='88'></td> +<td width='340'><strong>airline</strong></td> +<td width='470'><strong>lightline</strong></td> +</tr> +<tr> +<td><strong>light</strong></td> +<td><code>let g:airline_theme='snow_light'</code></td> +<td><code>let g:lightline = { 'colorscheme': 'snow_light' }</code></td> +</tr> +<tr> +<td><strong>dark</strong></td> +<td><code>let g:airline_theme='snow_dark'</code></td> +<td><code>let g:lightline = { 'colorscheme': 'snow_dark' }</code></td> +</tr> +</tbody></table> + +Status line themes can be added to the time-based snippet above: + +``` +if strftime('%H') >= 7 && strftime('%H') < 19 + set background=light + let g:lightline = { 'colorscheme': 'snow_light' } +else + set background=dark + let g:lightline = { 'colorscheme': 'snow_dark' } +endif +colorscheme snow +``` + +## terminal vim + +### colors + +Terminals/multiplexers with [true-color support](https://gist.github.com/XVilka/8346728#now-supporting-truecolour) can display the exact colors of the snow theme. + +In most cases, the only vimrc setting you need is: + +``` +set termguicolors +``` + +In some cases you'll also need (see `:h xterm-true-color` for explanation): + +``` +let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum" +let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum" +``` + +If `termguicolors` is not set, terminal vim will fall back to a rough approximation of snow, drawing from the terminal emulator's 256-color palette (if present). + +> The fallback version of snow defines colors using numbers in the range 0-255 (as opposed to 6-character hex codes, whose range of 2<sup>24</sup> values is known as "true color"). Terminal emulators with 256-color support understand this encoding, though they vary in the exact color associated with each number. The closest thing to a standard 256-color \*nix palette is that used by [xterm](https://commons.wikimedia.org/wiki/File:Xterm_256color_chart.svg), the default X Windows terminal emulator. + +### cursor shape + +To set mode-specific cursor shapes in terminal vim, see the [Vim Tips Wiki](http://vim.wikia.com/wiki/Change_cursor_shape_in_different_modes). + +For instance, to set cursor shapes in vte-compatible terminals, you could add to vimrc: + +``` +let &t_SI = "\<Esc>[6 q" +let &t_SR = "\<Esc>[4 q" +let &t_EI = "\<Esc>[2 q" +``` + +...which sets the cursor to a vertical line for insert mode, underline for replace mode, and block for normal mode. + +## shell + +### colors + +Many terminal emulators can be themed by sourcing the color-setting shell scripts included with snow. The path to these scripts will depend on your plugin management method. + +For instance, if you use vim-plug and want to apply the dark snow theme to your bash or zsh shell, add the following to `~/.bashrc` or `~/.zshrc`: + +``` +[ -n "$PS1" ] && sh ~/.vim/plugged/snow/shell/snow_dark.sh +``` + +Or for the fish shell, add to `~/.config/fish/config.fish`: + +``` +if status --is-interactive + sh ~/.vim/plugged/snow/shell/snow_dark.sh +end +``` + +If you use vundle, replace `plugged` in the above paths with `bundle`. + +Replace `dark` with `light` for the light theme. + +### dircolors + +The text highlighting used by the `ls` command (for distinguishing file types) can be themed by sourcing the "dircolors" file included with snow. The path to this file will depend on your plugin management method. + +For instance, if you use vim-plug and want to apply the snow dircolors to your bash or zsh shell, add the following to `~/.bashrc` or `~/.zshrc`: + +``` +eval `dircolors ~/.vim/plugged/snow/shell/dircolors` +``` + +Or for the fish shell, add to `~/.config/fish/config.fish`: + +``` +eval (dircolors -c ~/.vim/plugged/snow/shell/dircolors) +``` + +If you use vundle, replace `plugged` in the above paths with `bundle`. + +### fish syntax + +Again, the script path will depend on your plugin management method. + +For the dark theme in a vim-plug setup, add to `~/.config/fish/config.fish`: + +``` +source ~/.vim/plugged/snow/shell/snow_dark.fish +``` + +## ports + +* [iterm2](https://github.com/mcchrish/iterm-snow) +* [tmux](https://github.com/mcchrish/snow-tmux) +* [kitty](https://github.com/mcchrish/kitty-snow) + +## building from source + +From the `templates` directory, run: `fish generate.fish`. + +Dependencies: + +- fish shell +- `colormath` Python module + +--- + +<a href='https://opensource.org/licenses/MIT'><img src='https://img.shields.io/badge/license-MIT-a31f34.svg?style=flat-square' /></a> +    +<a href='https://www.python.org/'><img src='https://img.shields.io/badge/made%20with-Python-306998.svg?style=flat-square' /></a> +    +<a href='https://fishshell.com/'><img src='https://img.shields.io/badge/made%20with-fish-d2232a.svg?style=flat-square' /></a> +    +<a href='https://github.com/lifepillar/vim-colortemplate'><img src='https://img.shields.io/badge/made%20with-Colortemplate-007f00.svg?style=flat-square' /></a> +    +<a href='https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html'><img src='https://img.shields.io/badge/meets%20standard-4.5%3A1%20readability%20contrast-005a9c.svg?style=flat-square' /></a> + +<h6>The 4.5:1 <a href='https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html#visual-audio-contrast-contrast-73-head'>W3C contrast ratio standard</a> for readability is met by all text/background combinations, with the exception of some transient highlighting (e.g. cursorline/column), which nonetheless well exceeds the minimal ISO 3:1 standard.</h6> + +<h6>image credit: snowflake macrophoto by <a href='https://www.flickr.com/photos/chaoticmind75/39326731084/'>Olga & Alexey (CC BY-NC 2.0)</h6> diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/nightsense-stellarized.md b/nvim/plugged/awesome-vim-colorschemes/docs/nightsense-stellarized.md new file mode 100644 index 00000000..87b39cfb --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/nightsense-stellarized.md @@ -0,0 +1,207 @@ +<table><tbody align="center"> + +<tr><td colspan='2'><h1>stellarized</h1> +<img src="https://github.com/haystackandroid/stellarized/raw/master/images/header.jpg" /> +<h4>paint vim with the stars</h4> +</td></tr> + +<tr></tr> + +<tr> +<td> +<br> +<img alt="screenshot of the stellarized vim theme, light version" src="https://github.com/haystackandroid/stellarized/raw/master/images/screenshot-light.png" width="422" /> +<br> +</td> +<td> +<br> +<img alt="screenshot of the stellarized vim theme, dark version" src="https://github.com/haystackandroid/stellarized/raw/master/images/screenshot-dark.png" width="422" /> +<br> +</td> +</tr> + +<tr></tr> + +<tr><td colspan='2'> + +<h5>The <a href='http://ethanschoonover.com/solarized'>solarized theme</a>, inspired by reading a book under<br>a shady tree on a sunny day, features a base palette<br>of dark green-blue and bright orange-yellow.</h5> + +<h5>The stellarized theme takes this basic idea and shifts<br>the base hues to reflect the <a href='http://www.vendian.org/mncharity/dir3/starcolor/details.html'>colours of the stars</a>.</h5> + +<h5>Specifically, dark base colors are shifted bluewise (to the<br>approximate "hot star hue"), while light base colors<br>are shifted orangewise (to the "cold star hue").</h5> + +<h5>stellarized is a special adaptation of <a href='https://github.com/haystackandroid/snow'>snow</a>.</h5> + +</td></tr> + +</tbody></table> + + +## installation + +If you don’t have a preferred plugin management method, consider [vim-plug](https://github.com/junegunn/vim-plug), which can be installed (on \*nix systems) with: + +``` +curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ + https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim +``` + +Having installed vim-plug, stellarized can be installed by adding the following to the top of your vimrc... + +``` +call plug#begin('~/.vim/plugged') +Plug 'haystackandroid/stellarized' +call plug#end() +``` + +...then restarting vim, followed by running `:PlugUpdate` (at the vim command line). + +## activation + +For a sunny day, add the following to vimrc: + +``` +set background=light +colorscheme stellarized +``` + +For a starry night: + +``` +set background=dark +colorscheme stellarized +``` + +To set the background automatically based on the time at which vim is launched: + +``` +if strftime('%H') >= 7 && strftime('%H') < 19 + set background=light +else + set background=dark +endif +colorscheme stellarized +``` + +...which activates the light version of stellarized during the day (defined here as 7AM-7PM), dark version at night. + +> Be sure to set `colorscheme` after `background`, otherwise some theme colors may not be applied. + +## status line themes + +stellarized comes with themes for airline and lightline, which can be activated with the following vimrc code: + +<table><tbody align='center'> +<tr> +<td><strong>airline</strong></td> +<td><strong>lightline</strong></td> +</tr> +<tr> +<td><code>let g:airline_theme='stellarized_light'</code></td> +<td><code>let g:lightline = { 'colorscheme': 'stellarized_light' }</code></td> +</tr> +<tr> +<td><code>let g:airline_theme='stellarized_dark'</code></td> +<td><code>let g:lightline = { 'colorscheme': 'stellarized_dark' }</code></td> +</tr> +</tbody></table> + +Status line themes can be added to the time-based snippet above: + +``` +if strftime('%H') >= 7 && strftime('%H') < 19 + set background=light + let g:lightline = { 'colorscheme': 'stellarized_light' } +else + set background=dark + let g:lightline = { 'colorscheme': 'stellarized_dark' } +endif +colorscheme stellarized +``` + +## terminal vim + +### colors + +Terminals/multiplexers with [true-color support](https://gist.github.com/XVilka/8346728#now-supporting-truecolour) can display the exact colors of the stellarized theme. + +In most cases, the only vimrc setting you need is: + +``` +set termguicolors +``` + +In some cases you'll also need (see `:h xterm-true-color` for explanation): + +``` +let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum" +let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum" +``` + +If `termguicolors` is not set, terminal vim will fall back to a rough approximation of stellarized. + +Note that if you're running vim in iTerm2, you must [use vim 8.1](https://github.com/haystackandroid/stellarized/issues/4) in order for stellarized to work properly. + +### cursor shape + +To set mode-specific cursor shapes in terminal vim, see the [Vim Tips Wiki](http://vim.wikia.com/wiki/Change_cursor_shape_in_different_modes). + +For instance, to set cursor shapes in vte-compatible terminals, you could add to vimrc: + +``` +let &t_SI = "\<Esc>[6 q" +let &t_SR = "\<Esc>[4 q" +let &t_EI = "\<Esc>[2 q" +``` + +...which sets the cursor to a vertical line for insert mode, underline for replace mode, and block for normal mode. + +## shell + +### colors + +Many terminal emulators can be themed by sourcing the color-setting shell scripts included with stellarized. The path to these scripts will depend on your plugin management method. + +For instance, if you use vim-plug and want to apply the dark stellarized theme to your bash or zsh shell, add the following to `~/.bashrc` or `~/.zshrc`: + +``` +[ -n "$PS1" ] && sh ~/.vim/plugged/stellarized/shell/stellarized_dark.sh +``` + +Or for the fish shell, add to `~/.config/fish/config.fish`: + +``` +if status --is-interactive + sh ~/.vim/plugged/stellarized/shell/stellarized_dark.sh +end +``` + +If you use vundle, replace `plugged` in the above paths with `bundle`. + +Replace `dark` with `light` for the light theme. + +### fish syntax + +Again, the script path will depend on your plugin management method. + +For the dark theme in a vim-plug setup, add to `~/.config/fish/config.fish`: + +``` +source ~/.vim/plugged/stellarized/shell/stellarized_dark.fish +``` + +--- + +<a href='https://opensource.org/licenses/MIT'><img src='https://img.shields.io/badge/license-MIT-a31f34.svg?style=flat-square' /></a> +    +<a href='https://www.python.org/'><img src='https://img.shields.io/badge/made%20with-Python-306998.svg?style=flat-square' /></a> +    +<a href='https://fishshell.com/'><img src='https://img.shields.io/badge/made%20with-fish-d2232a.svg?style=flat-square' /></a> +    +<a href='https://github.com/lifepillar/vim-colortemplate'><img src='https://img.shields.io/badge/made%20with-Colortemplate-007f00.svg?style=flat-square' /></a> +    +<a href='https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html'><img src='https://img.shields.io/badge/meets%20standard-4.5%3A1%20readability%20contrast-005a9c.svg?style=flat-square' /></a> + +<h6>The 4.5:1 <a href='https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html#visual-audio-contrast-contrast-73-head'>W3C contrast ratio standard</a> for readability is met by all text/background combinations, with the exception of some transient highlighting (e.g. cursorline/column), which nonetheless well exceeds the minimal ISO 3:1 standard.</h6> + +<h6>image credit: night sky photo by <a href='https://commons.wikimedia.org/wiki/File:ESO_-_Milky_Way.jpg'>ESO/S. Brunier (CC BY 4.0)</a></h6> diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/nikolvs-vim-sunbather.md b/nvim/plugged/awesome-vim-colorschemes/docs/nikolvs-vim-sunbather.md new file mode 100644 index 00000000..b7106fb9 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/nikolvs-vim-sunbather.md @@ -0,0 +1,46 @@ +# Sunbather + +A minimal pink colorscheme for Vim. + +## Screenshots + +*Fira Code* font on dark and light backgrounds: + +![](screenshots/dark.png) +![](screenshots/light.png) + +## Installation + +Copy the color scheme file to your `~/.vim/colors` directory, or use a plugin +manager like [Plug][] or [Vundle][] and add `"nikolvs/vim-sunbather"` +as a plugin. + +[vundle]: https://github.com/gmarik/Vundle.vim +[plug]: https://github.com/junegunn/vim-plug + +## Usage + +``` +:colorscheme sunbather +``` + +Supports both `background=light` and `background=dark`. + +## Credits + +Forked from [paramount][]. +Based on the [pencil][] and [off][] colorschemes. + +[paramount]: https://github.com/owickstrom/vim-colors-paramount +[pencil]: https://github.com/reedes/vim-colors-pencil +[off]: https://github.com/reedes/vim-colors-off + +## Contributions + +If you find any problems with this color scheme please post an issue here on +GitHub. If you don't like some specific color, please fork it instead and customize +to your liking. Thanks! + +## License + +Original license from pencil: [MIT](LICENSE) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/owickstrom-vim-colors-paramount.md b/nvim/plugged/awesome-vim-colorschemes/docs/owickstrom-vim-colors-paramount.md new file mode 100644 index 00000000..49e89658 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/owickstrom-vim-colors-paramount.md @@ -0,0 +1,45 @@ +# Paramount + +A minimal colorscheme for Vim that only puts emphasis on the paramount. + +## Screenshots + +*Fira Code* font on light and dark backgrounds, with Ruby code from +[VimColors](vimcolors.com/438/paramount/dark): + +![](screenshots/light.png) +![](screenshots/dark.png) + +## Installation + +Copy the color scheme file to your `~/.vim/colors` directory, or use a plugin +manager like [Plug][] or [Vundle][] and add `"owickstrom/vim-colors-paramount"` +as a plugin. + +[vundle]: https://github.com/gmarik/Vundle.vim +[plug]: https://github.com/junegunn/vim-plug + +## Usage + +``` +:colorscheme paramount +``` + +Supports both `background=light` and `background=dark`. + +## Credits + +Based on the [pencil][] and [off][] colorschemes. + +[pencil]: https://github.com/reedes/vim-colors-pencil +[off]: https://github.com/reedes/vim-colors-off + +## Contributions + +If you find any problems with this color scheme please post an issue here on +GitHub. If you don't like some specific color, please fork it instead and customize +to your liking. Thanks! + +## License + +Original license from pencil: [MIT](LICENSE) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/rakr-vim-colors-rakr.md b/nvim/plugged/awesome-vim-colorschemes/docs/rakr-vim-colors-rakr.md new file mode 100644 index 00000000..d1ba28d2 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/rakr-vim-colors-rakr.md @@ -0,0 +1,12 @@ += vim-colors-rakr +Flat colorscheme light and dark variant + +== Screenshot +=== Dark + +image::screenshots/dark.png[Dark] + +=== Light + +image::screenshots/light.png[Light] + diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/rakr-vim-one.md b/nvim/plugged/awesome-vim-colorschemes/docs/rakr-vim-one.md new file mode 100644 index 00000000..ef7f8d69 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/rakr-vim-one.md @@ -0,0 +1,174 @@ +![Logo][logo] + +Light and dark vim colorscheme, shamelessly stolen from atom (another +excellent text editor). **One** supports *true colors* and falls back +gracefully and automatically if your environment does not support this +feature. + +## Vim Airline theme + +Add the following line to your `~/.vimrc` or `~/.config/nvim/init.vim` + +```vim +let g:airline_theme='one' +``` + +As for the colorscheme, this theme comes with light and dark flavors. + +## List of enhanced language support + +Pull requests are more than welcome here. +I have created few issues to provide a bare bone roadmap for this color +scheme. + +### Stable + +* Asciidoc +* CSS and Sass +* Cucumber features +* Elixir +* Go +* Haskell +* HTML +* JavaScript, JSON +* Markdown +* PureScript (thanks: [Arthur Xavier](https://github.com/arthur-xavier)) +* Ruby +* Rust (thanks: [Erasin](https://github.com/erasin)) +* Vim +* XML + +### In progress + +* Jade +* PHP +* Python +* Switch to estilo in progress, not stable at all and does not reflect all the + capabilities of the current mainstream version + + +## Installation + +You can use your preferred Vim Package Manager to install **One**. + +## Usage + +**One** comes in two flavors: light and dark. + +```vim +colorscheme one +set background=dark " for the dark version +" set background=light " for the light version +``` + +`set background` has to be called after setting the colorscheme, this explains +the issue [#21][issue_21] where Vim tries to determine the best background when `ctermbg` +for the `Normal` highlight is defined. + +### Italic support + +Some terminals do not support italic, cf. [#3][issue_3]. + +If your terminal does support _italic_, you can set the `g:one_allow_italics` variable to 1 in your `.vimrc` or `.config/nvim/init.vim`: + +```vim +set background=light " for the light version +let g:one_allow_italics = 1 " I love italic for comments +colorscheme one +``` + +iTerm2 can support italic, follow the instructions given in this [blog post by Alex Pearce](https://alexpearce.me/2014/05/italics-in-iterm2-vim-tmux/). +Make sure to read the update if you are using tmux version 2.1 or above. + +### True color support +To benefit from the **true color** support make sure to add the following lines in your `.vimrc` or `.config/nvim/init.vim` + +```vim +"Credit joshdick +"Use 24-bit (true-color) mode in Vim/Neovim when outside tmux. +"If you're using tmux version 2.2 or later, you can remove the outermost $TMUX check and use tmux's 24-bit color support +"(see < http://sunaku.github.io/tmux-24bit-color.html#usage > for more information.) +if (empty($TMUX)) + if (has("nvim")) + "For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 > + let $NVIM_TUI_ENABLE_TRUE_COLOR=1 + endif + "For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 > + "Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd > + " < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 > + if (has("termguicolors")) + set termguicolors + endif +endif + + +set background=dark " for the dark version +" set background=light " for the light version +colorscheme one +``` +### Tmux support +To get true color working in tmux, ensure that the `$TERM` environment variable is set to `xterm-256color`. Inside the `.tmux.conf` file we need to override this terminal and also set the default terminal as 256 color. + +``` +# Add truecolor support +set-option -ga terminal-overrides ",xterm-256color:Tc" +# Default terminal is 256 colors +set -g default-terminal "screen-256color" +``` + +Note that this only works for Neovim (tested on 0.1.5). For some reason Vim (7.5.2334) doesn't play nice. See [blog post by Anton Kalyaev](http://homeonrails.com/2016/05/truecolor-in-gnome-terminal-tmux-and-neovim/) for more details on setting up tmux. + +For Vim inside tmux, you can add the following snippet in your `~/.vimrc` + +```viml +set t_8b=^[[48;2;%lu;%lu;%lum +set t_8f=^[[38;2;%lu;%lu;%lum +``` + +Note: the `^[` in this snippet is a real escape character. To insert it, press `Ctrl-V` and then `Esc`. + +I've tested the following setup on a Mac: + +* iTerm2 nightly build +* Neovim 0.1.4 and 0.1.5-dev +* Vim 7.4.1952 + +## Customising One without fork + +Following a request to be able to customise **one** without the need to fork, +**one** is now exposing a public function to meet this requirement. + +After the colorscheme has been initialised, you can call the following function: + +``` +one#highlight(group, fg, bg, attribute) +``` + +* `group`: Highlight you want to customise for example `vimLineComment` +* `fg`: foreground color for the highlight, without the '#', for example: + `ff0000` +* `bg`: background color for the highlight, without the '#', for example: + `ff0000` +* `attribute`: `bold`, `italic`, `underline` or any comma separated combination + +For example: + +``` +call one#highlight('vimLineComment', 'cccccc', '', 'none') +``` + +## Contributors + +A special thank you to the following people + +* [laggardkernel](https://github.com/laggardkernel): Startup time improvement +* [Erasin](https://github.com/erasin): Rust support +* [Malcolm Ramsay - malramsay64](https://github.com/malramsay64): Gracefully fail if colorscheme is not properly loaded +* [Arthur Xavier](https://github.com/arthur-xavier): PureScript support +* [keremc](https://github.com/keremc): Tip Vim true color support inside tmux +* [jetm](https://github.com/jetm): C/C++ highlighting + +[logo]: screenshots/new-logo.png + +[issue_3]: https://github.com/rakr/vim-one/issues/3 +[issue_21]: https://github.com/rakr/vim-one/issues/21 diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/rakr-vim-two-firewatch.md b/nvim/plugged/awesome-vim-colorschemes/docs/rakr-vim-two-firewatch.md new file mode 100644 index 00000000..15d7776a --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/rakr-vim-two-firewatch.md @@ -0,0 +1,77 @@ +![logo][logo] +# Vim-Two-Firewatch Colorscheme + +Vim-Two-Firewatch is a GUI and true color optimised colorscheme that gracefully adapts if your +environment supports only 256 colors. It comes with a light and a dark variation. + +It has been tested on a Mac NeoVim 0.1.4 and 0.1.5, Vim 7.4.1952 with iTerm2 (nightly build) +This colorscheme has also a theme for Airline. + +## Why Two-Firewatch? +[Simurai](http://simurai.com/projects/2016/01/01/duotone-themes) has created duotone themes for Atom. + +DuoTone themes use only 2 hues (7 shades in total), toning down less important parts and hightlighting +only the important ones. + +These themes come in different flavours (mostly dark) and some contributors have created light shades. + +I wasn't satisfied with the any adpatations for Vim, for different reasons: + +* I loved the original duotone light theme +* I hated the original duotone dark theme, background was too... purple + +I decided to give it a go: + +* Be as close as possible to the duotone light theme +* Adapt firewatch for Atom so it fits with the duotone principle + +## Appearance + +Here is how this looks like: + +Light version: +![Two-Firewatch Light Version][screenshot_light] + +Dark version: +![Two-Firewatch Dark Version][screenshot_dark] + +## Installation + +Use your favorite vim plugin packager. + +## Usage + +```vim +set background=dark " or light if you prefer the light version +let g:two_firewatch_italics=1 +colo two-firewatch + +let g:airline_theme='twofirewatch' " if you have Airline installed and want the associated theme +``` + + +If your environment supports italic, you can set `g:two_firewatch_italics=1` in your `vimrc` + +## iTerm2 Theme + +Can be found here, two flavours as well: [iTerm2 Two Firwatch theme](https://github.com/rakr/iterm-two-firewatch) + +## Toggling background + +When you switch background, Vim reapplies the same colorscheme. The builtin Vim way is `:set bg=dark` or `:set bg=light`. +If you want to speed the process, because like me you use a light colorscheme during the day and a dark one at night, there is a solution: + +[Toggle BG](https://github.com/rakr/vim-togglebg) + +This script has been extracted from the Solarized colorscheme and will allow you to switch background with on key stroke. + +# Contributors + +I would like to thank the following people for their contributions: + +* [Keremc](https://github.com/keremc), for adding the support for Neovim's terminal +* [mcchrish](https://github.com/mcchrish), for the lightline theme + +[logo]: screenshots/logo.png +[screenshot_dark]: screenshots/dark-variation.png +[screenshot_light]: screenshots/light-variation.png diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/romainl-Apprentice.md b/nvim/plugged/awesome-vim-colorschemes/docs/romainl-Apprentice.md new file mode 100644 index 00000000..fb925847 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/romainl-Apprentice.md @@ -0,0 +1,258 @@ +# ![Apprentice](http://romainl.github.io/Apprentice/images/logo.png) + +Apprentice is a dark, low-contrast colorscheme for Vim based on the awesome [Sorcerer](http://www.vim.org/scripts/script.php?script_id=3299) by Jeet Sukumaran. + +It is essentially a streamlined version of the original, with a reduced number of colors entirely taken from the default xterm palette to ensure a similar look in 256colors-ready terminal emulators and GUI Vim. + +Some code in MacVim: + +![image](http://romainl.github.io/Apprentice/images/0macvim.png) + +Some code in iTerm, with `TERM=xterm-256color`: + +![image](http://romainl.github.io/Apprentice/images/0256term.png) + +Some code in mintty, with `TERM=xterm-256color`: + +![image](http://romainl.github.io/Apprentice/images/0256mintty.png) + +Some code in iTerm, with `TERM=xterm`, using the Tango color palette: + +![image](http://romainl.github.io/Apprentice/images/08termtango.png) + +## Preparing your environment + +Apprentice is designed first and foremost to look “good” in terminal emulators supporting 256 colors and in GUI Vim (GVim/MacVim). It supports lesser terminal emulators in the sense that it doesn’t break but it will definitely look “better” in more capable environments. + +### GVim/MacVim + +There is nothing to do for GVim/MacVim as GUI Vim supports “True Color” by default. + +### “True Color” terminal emulators + +Since January 2016, Vim has been able to talk in “True Color” to terminal emulators supporting that feature. This means that it is now not only possible but also very easy to have **the exact same colors** in TUI Vim and GUI Vim. + +In practice, this new development doesn't change much for Apprentice which uses the exact same colors in the GUI as it does in the TUI anyway. But you can still try “True Color” if your setup satisfies the requirements with the following command: + + :set termguicolors + +See [this gist](https://gist.github.com/XVilka/8346728) for more information and support status and, of course, `:help 'termguicolors'`. + +### 256color-ready terminal emulators + +Most terminal emulators in use nowadays *can* display 256 colors but most of them use a default `TERM` that tells Vim otherwise. Assuming your terminal emulator actually supports 256 colors, you must instruct it to brag about its terminal-hood by setting the correct `TERM` environment variable. + +The “ideal” `TERM` usually includes the string `256color`, like `xterm-256color`. The actual value is highly dependent on your terminal emulator and/or your terminal multiplexer, though, so you will have to refer to their manual. + +### Working with 8/16 colors + +As an alternative to changing your default `TERM` to `xterm-256color` or similar, you can keep its default value (usually something like `xterm` or `screen`) and set your terminal emulator to use [the Apprentice colorscheme](https://github.com/romainl/iterm2-colorschemes#readme) instead of its default colors. + +The table below contains a subset of Apprentice’s palette. You can use a color picker or copy/paste these values: + +| Intensity | Normal | Intensity | Bright | +|------------------|--------------------------|------------------|--------------------------| +| 0 | `#1C1C1C` ![#1C1C1C][0] | 8 | `#444444` ![#444444][0] | +| 1 | `#AF5F5F` ![#AF5F5F][1] | 9 | `#FF8700` ![#FF8700][9] | +| 2 | `#5F875F` ![#5F875F][2] | 10 | `#87AF87` ![#87AF87][10] | +| 3 | `#87875F` ![#87875F][3] | 11 | `#FFFFAF` ![#FFFFAF][11] | +| 4 | `#5F87AF` ![#5F87AF][4] | 12 | `#87AFD7` ![#87AFD7][12] | +| 5 | `#5F5F87` ![#5F5F87][5] | 13 | `#8787AF` ![#8787AF][13] | +| 6 | `#5F8787` ![#5F8787][6] | 14 | `#5FAFAF` ![#5FAFAF][14] | +| 7 | `#6C6C6C` ![#6C6C6C][7] | 15 | `#FFFFFF` ![#FFFFFF][15] | +| Foreground color | `#BCBCBC` ![#BCBCBC][16] | Background color | `#262626` ![#262626][17] | + +Here is a sample `~/.Xresources` for you Linux/BSD users. You can import this into [terminal.sexy](http://terminal.sexy) to convert it to the appropriate color scheme format for your preferred terminal emulator: + + *.foreground: #BCBCBC + *.background: #262626 + *.color0: #1C1C1C + *.color8: #444444 + *.color1: #AF5F5F + *.color9: #FF8700 + *.color2: #5F875F + *.color10: #87AF87 + *.color3: #87875F + *.color11: #FFFFAF + *.color4: #5F87AF + *.color12: #87AFD7 + *.color5: #5F5F87 + *.color13: #8787AF + *.color6: #5F8787 + *.color14: #5FAFAF + *.color7: #6C6C6C + *.color15: #FFFFFF + +And a sample `~/.minttyrc` for you Cygwin users: + + ForegroundColour=188,188,188 + BackgroundColour=38,38,38 + Black=28,28,28 + Red=175,95,95 + Green=95,135,95 + Yellow=135,135,95 + Blue=95,135,175 + Magenta=95,95,135 + Cyan=95,135,135 + White=108,108,108 + BoldBlack=68,68,68 + BoldRed=255,135,0 + BoldGreen=135,175,135 + BoldYellow=255,255,175 + BoldBlue=135,175,215 + BoldMagenta=135,135,175 + BoldCyan=95,175,175 + BoldWhite=255,255,255 + +Some code in iTerm, with `TERM=xterm`, using the color palette above: + +![image](http://romainl.github.io/Apprentice/images/08termapprentice.png) + +Some code in the Windows console, with `TERM=cygwin`, using the color palette above: + +![image](http://romainl.github.io/Apprentice/images/016console.png) + +### All terminal emulators + +I recommend adjusting your terminal's background color to the one used in Apprentice if you want to avoid having a “frame” around Vim: + +| Notation | Value | +|-------------|-----------------| +| xterm | `235` | +| hexadecimal | `#262626` | +| rgb | `rgb(38,38,38)` | + +## Installing Apprentice + +Colorschemes must be placed in a directory named `colors` that is somewhere in Vim’s `runtimepath`: + +The canonical location is: + + colors/apprentice.vim + +but it could be: + + " with Pathogen + bundle/apprentice/colors/apprentice.vim + +or: + + " with :help packages + pack/foobar/start/apprentice/colors/apprentice.vim + +or whatever works for you. + +Arch users may be happy to hear that Apprentice [has landed in AUR](https://aur.archlinux.org/packages/vim-apprentice/). To install it, use an AUR helper: + + $ yaourt -S vim-apprentice + +or download the `PKGBUILD` and do: + + $ makepkg -i + +## Enabling Apprentice + +To test Apprentice, just type this command from *normal* mode and hit `Enter`: + + :colorscheme apprentice + +If you like what you see and want to make Apprentice your default colorscheme, add this line to your `vimrc`, preferably near the end, after any `syntax enable`, `syntax on`, `filetype ... on`, `call plug#end()`, or `call vundle#end()` line: + + colorscheme apprentice + +## Tweaking Apprentice + +If you don't want to maintain your own fork of Apprentice you can add something like this to your `vimrc`, before `colorscheme apprentice`: + + function! MyHighlights() abort + highlight Comment ctermfg=245 + highlight NonText ctermbg=17 + endfunction + + augroup MyColors + autocmd! + autocmd ColorScheme * call MyHighlights() + augroup END + +See [this Gist](https://gist.github.com/romainl/379904f91fa40533175dfaec4c833f2f) for reference. + +## Hacking Apprentice + +Apprentice now comes with the very template used to generate it: `colors/apprentice.erb`. The template, based on [vim-rnb](https://github.com/romainl/vim-rnb), is well maintained and documented. + +If you feel like making a pull request, make sure you commit both the modified template *and* the modified colorscheme. + +## Lightline and Airline themes + +I removed them from `master` but you can still find them in the "fancylines-and-neovim" branch. + +## Neovim terminal theme + +I removed it from `master` but you can still find it in the "fancylines-and-neovim" branch. + +## What they say about Apprentice. + +* Vimgor, in #vim: *“A colorscheme as subtle, gentle and pleasant as its creator isn't.”* + +* Gfixler, in [r/vim](http://www.reddit.com/r/vim/comments/2fws13/syntax_on/cke2ued): *“I've been enjoying Apprentice. It's the only color scheme so far that I haven't felt like modifying in any way.”* + +* dddbbb, in [r/vim](http://www.reddit.com/r/vim/comments/2fws13/syntax_on/ckekyg1): *“Haha, you've been quoted in the readme. romainl is still with us in spirit! Apprentice looks nice, and it's great that seems simple to get it working in terminal (no t_co hacks).”* + +* Gfixler again, in [r/vim](http://www.reddit.com/r/vim/comments/30dph9/solarizedlike_colorschemes/cprnfxm): *“My favorite color scheme by far is Apprentice, but again, it's completely subjective. Pick something that makes you feel good while using it. I particularly love Apprentice's selection blue color. I select things all the time just to experience it. So pretty.”* + +* lopid, in #vim: *“waah waah”* + +;-) + +## Derivative works + +* If light colorschemes are more your thing, [Disciple](https://github.com/romainl/Disciple) is an experimental and mostly unmaintained negative version of Apprentice. + +* On the same note, [Lightning](https://github.com/wimstefan/Lightning) is a light fork of Apprentice worth considering. + +* [Intern](https://github.com/drzel/intern-hexchat-theme) is an [HexChat](https://hexchat.github.io/) theme based on Apprentice. + +* [This very enthusiastic fellow](https://github.com/xHN35RQ) created [a home](https://github.com/xHN35RQ/apprentice-colorschemes) for terminal emulator themes adapted from Apprentice. + +* A port of Apprentice is available for the IDEA platform. Check it out [over there.](https://github.com/jpeddicord/apprentice-idea) + +* [Elysian](https://github.com/Aszarsha/elysian.vim) is a new very nice colorscheme for 256color terminal emulators inspired by Apprentice. + +* [Apprentice-theme](https://github.com/sjas/apprentice-theme) is a port to spacemacs. + +* [Warlock](https://github.com/hardselius/warlock) is a brand new greyscale variant worth trying if Apprentice's already low contrast is still too much. + +* [Apprentice-tmux](https://github.com/tombin/apprentice-tmux) is a tmux theme based on Apprentice. + +* [Apprentice-kitty](https://github.com/rsaihe/apprentice-kitty) is a port for kitty. + +* [Here](https://marketplace.visualstudio.com/items?itemName=amariampolskiy.theme-apprentice) is a port of Apprentice for Visual Studio Code. + +* [Apprentice-windows-terminal](https://github.com/guilhermedeandrade/apprentice-windows-terminal) is a port for Windows Terminal. + +* [Apprentice-term](https://github.com/habamax/apprentice-term) is another effort to make Apprentice available to advanced Windows users. + +* [Alchemist](https://github.com/habamax/vim-alchemist) appears to be trying to turn lead into gold, which I should probably take as a thinly veiled insult. + +* [Saturnite](https://github.com/habamax/vim-saturnite) is a colorscheme for week-end coders adapted from Apprentice. + +Go team! + +[0]: http://romainl.github.io/Apprentice/images/1c1c1c.png +[1]: http://romainl.github.io/Apprentice/images/af5f5f.png +[2]: http://romainl.github.io/Apprentice/images/5f875f.png +[3]: http://romainl.github.io/Apprentice/images/87875f.png +[4]: http://romainl.github.io/Apprentice/images/5f87af.png +[5]: http://romainl.github.io/Apprentice/images/5f5f87.png +[6]: http://romainl.github.io/Apprentice/images/5f8787.png +[7]: http://romainl.github.io/Apprentice/images/6c6c6c.png +[8]: http://romainl.github.io/Apprentice/images/444444.png +[9]: http://romainl.github.io/Apprentice/images/ff8700.png +[10]: http://romainl.github.io/Apprentice/images/87af87.png +[11]: http://romainl.github.io/Apprentice/images/ffffaf.png +[12]: http://romainl.github.io/Apprentice/images/8fafd7.png +[13]: http://romainl.github.io/Apprentice/images/8787af.png +[14]: http://romainl.github.io/Apprentice/images/5fafaf.png +[15]: http://romainl.github.io/Apprentice/images/ffffff.png +[16]: http://romainl.github.io/Apprentice/images/bcbcbc.png +[17]: http://romainl.github.io/Apprentice/images/262626.png diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/romainl-flattened.md b/nvim/plugged/awesome-vim-colorschemes/docs/romainl-flattened.md new file mode 100644 index 00000000..f388bbac --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/romainl-flattened.md @@ -0,0 +1,78 @@ +Solarized, without the bullshit. +================================ + +Unlike Solarized itself, these Vim colorschemes are guaranteed to give consistent results in most environments without littering your beautiful `vimrc` with useless crap or paging through hundreds of StackOverflow questions to make sense of a needlessly convoluted setup. + +## Requirements + +### GUI + +You don’t need to do anything for these colorschemes to work in GVim or MacVim. + +### TUI + +Flattened’s only requirement is the same as Solarized: that you change your terminal emulator’s so-called “ASCII” colors to the ones used by Solarized. + +The reason is simple. Most terminal nowadays are capable of displaying 256 colors but *none* of the colors used in the Solarized palette can be found in the semi-standard Xterm palette. Therefore, we are forced to assign the Solarized non-standard values to colors 0 through 15 of our terminal emulator if we want to see the actual Solarized colors instead of poor approximations. + +The exact method depends on your terminal emulator. I’d suggest simply using the values from this table and call it a day: + + TERMCOL HEX RGB + ------- ------- ----------- + black #073642 7 54 66 + red #dc322f 220 50 47 + green #859900 133 153 0 + yellow #b58900 181 137 0 + blue #268bd2 38 139 210 + magenta #d33682 211 54 130 + cyan #2aa198 42 161 152 + white #eee8d5 238 232 213 + + brblack #002b36 0 43 54 + brred #cb4b16 203 75 22 + brgreen #586e75 88 110 117 + bryellow #657b83 101 123 131 + brblue #839496 131 148 150 + brmagenta #6c71c4 108 113 196 + brcyan #93a1a1 147 161 161 + brwhite #fdf6e3 253 246 227 + +## Installation + +Put `flattened_dark.vim` and/or `flattened_light.vim` in `~/.vim/colors/` (on unix-like systems) or `%userprofile%\vimfiles\colors\` (on Windows). + +## Configuration + +What do you want to configure? It’s a freaking colorscheme! + +## Usage + +If you want the “dark” version: + + :color flattened_dark + +If you want the “light” version: + + :color flattened_light + +If you like what you see and decide to make flattened your default colorscheme, add the relevant line to your `vimrc`: + + colorscheme flattened_light + +or: + + colorscheme flattened_dark + +## Screenshots or it didn’t happen + +### MacVim + +![flattened_dark in Macvim](screenshots/flattened_dark-macvim.png) + +![flattened_light in Macvim](screenshots/flattened_light-macvim.png) + +### iTerm + +![flattened_dark in iTerm](screenshots/flattened_dark-iterm.png) + +![flattened_light in iTerm](screenshots/flattened_light-iterm.png) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/sainnhe-sonokai.md b/nvim/plugged/awesome-vim-colorschemes/docs/sainnhe-sonokai.md new file mode 100644 index 00000000..f63eb9eb --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/sainnhe-sonokai.md @@ -0,0 +1,78 @@ +<h2 align="center"> +𝐃𝐞𝐟𝐚𝐮𝐥𝐭 +</h2> + +![sonokai-default](https://user-images.githubusercontent.com/37491630/87916859-a03dad80-caa6-11ea-9694-b34c4a980672.png) + +<h2 align="center"> +𝐀𝐭𝐥𝐚𝐧𝐭𝐢𝐬 +</h2> + +![sonokai-atlantis](https://user-images.githubusercontent.com/37491630/87898134-ecc1c280-ca7f-11ea-8bff-df8269398b88.png) + +<h2 align="center"> +𝐀𝐧𝐝𝐫𝐨𝐦𝐞𝐝𝐚 +</h2> + +![sonokai-andromeda](https://user-images.githubusercontent.com/37491630/87898138-ee8b8600-ca7f-11ea-90ea-681955458c68.png) + +<h2 align="center"> +𝐒𝐡𝐮𝐬𝐢𝐚 +</h2> + +![sonokai-shusia](https://user-images.githubusercontent.com/37491630/87898140-f0ede000-ca7f-11ea-8371-6dd5f0a205d2.png) + +<h2 align="center"> +𝐌𝐚𝐢𝐚 +</h2> + +![sonokai-maia](https://user-images.githubusercontent.com/37491630/87898142-f2b7a380-ca7f-11ea-98ea-4c4e832cdbf1.png) + +<h2 align="center"> +𝐄𝐬𝐩𝐫𝐞𝐬𝐬𝐨 +</h2> + +![sonokai-espresso](https://user-images.githubusercontent.com/37491630/120320919-49834000-c315-11eb-872c-230f78cf99a1.png) + +Sometimes I need a high contrast color scheme, and I think monokai is one of the best solutions, it's very beautiful and vivid. + +However there is one thing I can't stand -- the contrast is too high, which is totally unacceptable for me. + +This color scheme is based on [Monokai Pro](https://monokai.pro/vscode), the contrast is adjusted to be a bit lower while keeping the colors vivid enough. + +The `shusia`, `maia` and `espresso` variants are basically modified versions of Monokai Pro. I'm not going to port all variants of Monokai Pro because I don't like some of them. In addition, I designed some new variants inspired by other color schemes. + +## Features + +- High contrast but within acceptable range. +- Vivid colors. +- Highly customizable. +- Rich support for common file types and plugins. +- Semantic highlighting support. +- Tree-sitter support. +- [Italic support](https://github.com/sainnhe/icursive-nerd-font) 🎉 + +## Documentation + +See [`:help sonokai.txt`](https://github.com/sainnhe/sonokai/blob/master/doc/sonokai.txt) + +## Related Projects + +See this [wiki page](https://github.com/sainnhe/sonokai/wiki/Related-Projects). + +## More Color Schemes + +- [Gruvbox Material](https://github.com/sainnhe/gruvbox-material) +- [Everforest](https://github.com/sainnhe/everforest) +- [Edge](https://github.com/sainnhe/edge) + +## Inspiration + +- [Monokai Pro](https://monokai.pro/vscode) +- [Atom One](https://github.com/atom/atom/tree/master/packages/one-dark-syntax) +- [Material](https://github.com/equinusocio/material-theme) +- [Nord](https://www.nordtheme.com) + +## License + +[MIT](./LICENSE) © sainnhe diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/scheakur-vim-scheakur.md b/nvim/plugged/awesome-vim-colorschemes/docs/scheakur-vim-scheakur.md new file mode 100644 index 00000000..57ed9af0 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/scheakur-vim-scheakur.md @@ -0,0 +1,21 @@ +# scheakur.vim + +A light/dark colorscheme for Vim. + +## Light + +```vim +set background=light +colorscheme scheakur +``` + +http://vimcolors.com/252/scheakur/light + +## Dark + +```vim +set background=dark +colorscheme scheakur +``` + +http://vimcolors.com/252/scheakur/dark diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/sonph-onehalf.md b/nvim/plugged/awesome-vim-colorschemes/docs/sonph-onehalf.md new file mode 100644 index 00000000..909896e0 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/sonph-onehalf.md @@ -0,0 +1,68 @@ +# Vim Installation & Usage + +![screenshot: vim](../screenshots/vim.png) +NeoVim + Tmux with true colors on iTerm2. + +## Installation +### Using a plugin manager (recommended) + +vim-plug: + +``` +Plug 'sonph/onehalf', { 'rtp': 'vim' } +``` + +The 'rtp' option is necessary as the vim theme resides in a subdirectory of the git repo. + +### Manual Installation +Download the files in [vim/](./) and put them in their respective folders +(`./vim/colors/` and `./vim/autoload/airline/themes/`) + +## Usage +Put `colorscheme <scheme>` and `let g:airline_theme='<theme>'`, if using airline +or `let g:lightline = { 'colorscheme': '<theme>' }`, if using lightline, in your `.vimrc` +to set the color scheme and airline (or lightline) theme. Make sure you have +syntax highlighting on, and 256 colors set. Vim version >= 7.4 recommended. + +For example: + +``` +syntax on +set t_Co=256 +set cursorline +colorscheme onehalflight +let g:airline_theme='onehalfdark' +" lightline +" let g:lightline = { 'colorscheme': 'onehalfdark' } +``` + +### True Colors +By default vim only allows specifying one of the 256 (8 bit) predefined colors +([wikipedia](https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit)). + +If you want to match colors in vim and in your terminal exactly, you must enable _true colors_ (24 +bit). + +In vim/neovim, use `set termguicolors` option: + +``` +if exists('+termguicolors') + let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum" + let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum" + set termguicolors +endif +``` + +If you use tmux, you must use version 2.2 or newer. Put this in your config: + +``` +set -g default-terminal "tmux-256color" +set -ga terminal-overrides ",*256col*:Tc" +``` + +([source](https://github.com/tmux/tmux/issues/1246)) + +To test if your neovim/tmux/terminal combination supports true colors or not, use this +[test script](https://github.com/sonph/dotfiles/blob/master/bin/truecolor.sh): + +![truecolors](./truecolors.png) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/sts10-vim-pink-moon.md b/nvim/plugged/awesome-vim-colorschemes/docs/sts10-vim-pink-moon.md new file mode 100644 index 00000000..2896cdcb --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/sts10-vim-pink-moon.md @@ -0,0 +1,58 @@ +# Pink Moon, a colorscheme for Vim/Neovim + +![A screenshot of some Rust code, as color-highlighted by the Pink Moon colorscheme, using the font Jetbrains Mono](img/pink-moon-rust.png) + +![A screenshot of some HTML and CSS, as color-highlighted by the Pink Moon colorscheme, using the font DejaVu Sans Mono](img/pink-moon-frontend.png) + +## Installation + +**Option 1**: Install via a plugin manager, like [vim-plug](https://github.com/junegunn/vim-plug) + +1. Add `Plug 'sts10/vim-pink-moon'` as a plugin in your Vim config file (either `vimrc` or `init.vim` if using Neovim) +2. Run `:PlugInstall` +3. Put `colorscheme pink-moon` in your Vim config file. vim-pink-moon should run `set background=dark` for you, but you can put it in your config file as well. + +A similar procedure should work with other plugin managers. + +**Option 2**: Manual installation (assuming you're using Vim, as opposed to Neovim) + +1. Download the colorscheme: `curl -O https://raw.githubusercontent.com/sts10/vim-pink-moon/master/colors/pink-moon.vim` +2. Move the colorscheme to `~/.vim/colors`: `mkdir -p ~/.vim/colors & mv pink-moon.vim ~/.vim/colors/` +3. Put `colorscheme pink-moon` and `set background=dark` in your `vimrc`. + +## Fonts in screenshots + +The fonts in the screenshots above and below are [Deja Vu Sans Mono](http://dejavu-fonts.org/wiki/Download) and [JetBrains Mono](https://www.jetbrains.com/lp/mono/). + +## Inspiration + +I liked the vibe of [this setup](https://imgur.com/a/5DSV6) (which I found thanks to [this Reddit post](https://www.reddit.com/r/unixporn/comments/7638b7/budgie_i_really_really_like_your_name/?st=j9ro3ovb&sh=e3181cb6)), though I ended up picking most if not all of the colors independently. Not a lot of science involved! + +## Troubleshooting (Getting true HEX colors) + +Vim-Pink-Moon has HEX color codes in it, so it works well with GUI versions of Vim (including [MacVim](https://github.com/macvim-dev/macvim/releases/)), as well as terminals that have true color support (like [iTerm2](https://iterm2.com/) for macOS). + +If you're using [Neovim](https://github.com/neovim/neovim) and macOS and having trouble with getting the colors in the screenshot above to appear for you, I've got [a blog post](https://sts10.github.io/2015/10/24/true-hex-colors-with-neovim-and-iterm2.html) explaining how to get HEX colors in iTerm2 using Neovim. I also later wrote [a separate blog post about troubleshooting HEX colors will regular terminal Vim + iTerm](https://sts10.github.io/2016/06/14/true-hex-colors-in-vim-with-iterm2.html). + +### Further troubleshooting + +Try re-ordering these setting in your Vim config file (vimrc) to the following + +```vim +set termguicolors +colorscheme pink-moon +set background=dark +``` + +For help from another source, check [the gruvbox wiki](https://github.com/morhetz/gruvbox/wiki/Terminal-specific). + +## Slack Theme + +If you want to make your [Slack](https://slack.com/) theme match Pink Moon, go to Preferences > Sidebar > Theme, scroll down to "Custom Theme", and paste in `#333C47,#434852,#6F98B3,#F0FDFF,#434852,#F0FDFF,#D08785,#D08785`. + +## More screenshots + +![A screenshot of some Ruby code, as color-highlighted by the Pink Moon colorscheme, using the font JetBrains Mono](img/pink-moon-markdown.png) + +![A screenshot of some Ruby code, as color-highlighted by the Pink Moon colorscheme, using the font DejaVu Sans Mono](img/pink-moon-ruby.png) + diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/tomasr-molokai.md b/nvim/plugged/awesome-vim-colorschemes/docs/tomasr-molokai.md new file mode 100644 index 00000000..cd92bda8 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/tomasr-molokai.md @@ -0,0 +1,26 @@ +# Molokai Color Scheme for Vim + +Molokai is a Vim port of the monokai theme for TextMate originally created by Wimer Hazenberg. + +By default, it has a dark gray background based on the version created by Hamish Stuart Macpherson for the E editor. + +![Gray Background](http://www.winterdom.com/weblog/content/binary/WindowsLiveWriter/MolokaiforVim_8602/molokai_normal_small_3.png) + +![Molokai Original](http://www.winterdom.com/weblog/content/binary/WindowsLiveWriter/MolokaiforVim_8602/molokai_original_small_3.png) + +256-Color terminals are also supported, though there are some differences with the Gui version. Only the dark gray background style is supported on terminal vim at this time. + +## Installation + +Copy the file on your .vim/colors folder. + +If you prefer the scheme to match the original monokai background color, put this in your .vimrc file: +``` +let g:molokai_original = 1 +``` + +There is also an alternative scheme under development for color terminals which attempts to bring the 256 color version as close as possible to the the default (dark) GUI version. To access, add this to your .vimrc: +``` +let g:rehash256 = 1 +``` + diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/tyrannicaltoucan-vim-deep-space.md b/nvim/plugged/awesome-vim-colorschemes/docs/tyrannicaltoucan-vim-deep-space.md new file mode 100644 index 00000000..00c01bae --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/tyrannicaltoucan-vim-deep-space.md @@ -0,0 +1,36 @@ +# Deep Space +An intergalactically friendly color scheme based off of [Hybrid](https://github.com/w0ng/vim-hybrid). + +![screenshot](http://i.imgur.com/Q86eL6v.png) + +## Installation +**NOTE:** This color scheme requires a terminal that supports true colors! + +Install this color scheme using your preferred Vim plugin manager, then add the +following to your (n)vim configuration file: +```vim +set background=dark +set termguicolors +colorscheme deep-space +``` + +### Options +If your terminal supports italics, add: +```vim +let g:deepspace_italics=1 +``` + +### Vim Airline +To use the included [vim-airline](https://github.com/vim-airline/vim-airline) theme: +```vim +let g:airline_theme='deep_space' +``` + +### Vim Lightline +To use the included [lightline.vim](https://github.com/itchyny/lightline.vim) theme: +```vim +let g:lightline = { + \ 'colorscheme': 'deepspace', + \ } +``` + diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/vim-scripts-pyte.md b/nvim/plugged/awesome-vim-colorschemes/docs/vim-scripts-pyte.md new file mode 100644 index 00000000..85eb1276 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/vim-scripts-pyte.md @@ -0,0 +1,6 @@ +This is a mirror of http://www.vim.org/scripts/script.php?script_id=1492 + +This is a light theme I use for coding. +Background is very light grey, special things are green or blue, this is for gui only and uses italic for some things (which I find very nice as its makes gvim look less console-like). + +Screenshot: http://leetless.de/vim.html diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/vim-scripts-rdark-terminal2.vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/vim-scripts-rdark-terminal2.vim.md new file mode 100644 index 00000000..d5b99bef --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/vim-scripts-rdark-terminal2.vim.md @@ -0,0 +1,4 @@ +This is a mirror of http://www.vim.org/scripts/script.php?script_id=4970 + +rdark-terminal2 modifies color for CursorLine, Type, Special, ColorColumn and IncSearch to enhance visibility for Dark Pastels. It is based on rdark-terminal of Lukas Grässlin (http://www.vim.org/scripts/script.php?script_id=3202) which ported the rdark colorscheme for 256 colors (http://www.vim.org/scripts/script.php?script_id=1732). + diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/vim-scripts-twilight256.vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/vim-scripts-twilight256.vim.md new file mode 100644 index 00000000..5cf8b63f --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/vim-scripts-twilight256.vim.md @@ -0,0 +1,16 @@ +This is a mirror of http://www.vim.org/scripts/script.php?script_id=3436 + +This color scheme imitates TextMate theme Twilight. + +A screenshot can be viewed here: +http://nealmilstein.com/ext/twilight256.png + +The theme is designed to be used on a black background. I only tested it +using a 256-color terminal; I do not think it will work on much else (gvim, +8-color terminal, etc.). + +The functions in this theme that convert hex color codes to the nearest +xterm-256 color number are from the theme desert2 (desert256), developed by Henry So, Jr. + +The colors of this theme are based on the TextMate Twilight theme +– www.macromates.com diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/vim-scripts-wombat256.vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/vim-scripts-wombat256.vim.md new file mode 100644 index 00000000..c39c5371 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/vim-scripts-wombat256.vim.md @@ -0,0 +1,5 @@ +This is a mirror of http://www.vim.org/scripts/script.php?script_id=2465 + +This is a version of Wombat (vimscript #1778) by Lars Nielsen that also works on xterms with 256 colors. + +A customized version is also available, with additional highlighting groups for diff mode and search. diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/w0ng-vim-hybrid.md b/nvim/plugged/awesome-vim-colorschemes/docs/w0ng-vim-hybrid.md new file mode 100644 index 00000000..e82b588c --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/w0ng-vim-hybrid.md @@ -0,0 +1,110 @@ +# hybrid.vim + +A dark colour scheme for Vim that combines the: + +- Default palette from [Tomorrow-Night](https://github.com/chriskempson/vim-tomorrow-theme). +- Reduced contrast palette from [Codecademy](https://www.codecademy.com)'s + online editor. +- Syntax group highlighting scheme from [Jellybeans](https://github.com/nanotech/jellybeans.vim) +- Vimscript from [Solarized](https://github.com/altercation/vim-colors-solarized) + +## Updates + +- 05/01/2016: Replaced `let g:hybrid_use_Xresources = 1` in favour of __`let + g:hybrid_custom_term_colors = 1`__ +- 05/01/2016: Added `let g:hybrid_reduced_contrast = 1` + +## Requirements + +- gVim 7.3+ on Linux, Mac and Windows. +- Vim 7.3+ on Linux and Mac, using a terminal that supports 256 colours. + +## Installation + +1. Copy colors/hybrid.vim to: + + ``` + ~/.vim/colors/hybrid.vim + ``` + + or alternatively, use a plugin manger such as + [vim-plug](https://github.com/junegunn/vim-plug), + [NeoBundle](https://github.com/Shougo/neobundle.vim), + [Vundle](https://github.com/gmarik/Vundle.vim), or + [Pathogen](https://github.com/tpope/vim-pathogen). + +2. Add to ~/.vimrc: + + ```vim + set background=dark + colorscheme hybrid + ``` + +## Define custom terminal colours (recommended) + +Due to the limited 256 palette, colours in Vim and gVim will still be slightly +different. + +In order to have Vim use the same colours as gVim (the way this colour scheme +is intended) define the basic 16 colours in your terminal. + +#### Linux users: rxvt-unicode, xterm + +1. Add the default palette to ~/.Xresources: + + https://gist.github.com/3278077 + + ![palette](http://dl.dropbox.com/u/23813887/Xresources-palette.png) + + or alternatively, add the reduced contrast palette to ~/.Xresources: + + https://gist.github.com/w0ng/16e33902508b4a0350ae + + ![palette](https://www.dropbox.com/s/0ny88dmfw84kcma/Xresources-palette-low.png?dl=1) + +2. Add to ~/.vimrc: + + ```vim + let g:hybrid_custom_term_colors = 1 + let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette. + colorscheme hybrid + ``` + +#### OSX users: iTerm + +1. Import the default colour preset into iTerm: + + https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid.itermcolors + + ![iterm_palette](http://i.imgur.com/wSWCyen.png) + + or alternatively, import the reduced contrast color preset into iTerm: + + https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid-reduced-contrast.itermcolors + + ![iterm_palette_reduced](https://www.dropbox.com/s/mrvr3ftkmym0fok/iterm_palette_reduced.png?dl=1) + + +2. Add to ~/.vimrc: + + ```vim + let g:hybrid_custom_term_colors = 1 + let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette. + colorscheme hybrid + ``` + +## Screenshots + +### Default palette on Linux + +![vim-help](http://dl.dropbox.com/u/23813887/vim-help.png) +![vim-python](http://dl.dropbox.com/u/23813887/vim-python.png) +![vim-markdown](http://dl.dropbox.com/u/23813887/vim-markdown.png) +![vim-diff](http://dl.dropbox.com/u/23813887/vim-diff.png) +![vim-spell](https://dl.dropboxusercontent.com/u/23813887/vim-spell.png) + +### Reduced contrast palette on OSX + +![vim-reduced1](https://www.dropbox.com/s/57mjs7rfzq1h128/vim-reduced1.png?dl=1) +![vim-reduced2](https://www.dropbox.com/s/l6nvcm91llfxwjx/vim-reduced2.png?dl=1) +![vim-reduced3](https://www.dropbox.com/s/838qoahio9klsz6/vim-reduced3.png?dl=1) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/wadackel-vim-dogrun.md b/nvim/plugged/awesome-vim-colorschemes/docs/wadackel-vim-dogrun.md new file mode 100644 index 00000000..482db555 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/wadackel-vim-dogrun.md @@ -0,0 +1,118 @@ +![vim-dogrun](./docs/images/repo-banner.png) + +[![CI](https://img.shields.io/github/workflow/status/wadackel/vim-dogrun/CI/master?style=flat-square)](https://github.com/wadackel/vim-dogrun/actions) +[![LICENSE](https://img.shields.io/github/license/wadackel/vim-dogrun?style=flat-square)](./LICENSE) + +> A dark Neovim / Vim colorscheme for the GUI and 256 / true-color terminals. + +## Features + +- No configuration are required to start using it. +- Support 256 colors terminal. +- Supports [lightline.vim](https://github.com/itchyny/lightline.vim) theme. +- Supports [vim-clap](https://github.com/liuchengxu/vim-clap) theme. +- Supports [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter). +- Loading speed is increased by precompiled script. (powered by Rust) + +Check [here](#supported-filetypes--plugins) for a list of supported file types and plugins :muscle: + +## Gallery + +### Neovim (GUI) + +![Neovim](./docs/images/neovim.png) + +### Vim (with 256 colors) + +![Vim](./docs/images/vim.png) + +## Installation + +This is an example of installation using [vim-plug](https://github.com/junegunn/vim-plug). + +```vim +Plug 'wadackel/vim-dogrun' +``` + +## Usage + +Add the following settings to your `$MYVIMRC` (`.vimrc` or `init.vim`). + +```vim +colorscheme dogrun +``` + +### Options + +#### lightline theme + +If you want, specify `dogrun` to `colorscheme`. + +```vim +let g:lightline = { + \ 'colorscheme': 'dogrun', + \ } +``` + +#### vim-clap theme + +If you want, specify `dogrun` to `g:clap_theme`. + +```vim +let g:clap_theme = 'dogrun' +``` + +## Supported Filetypes & Plugins + +There are not many Ftypes and Plugins supported by `dogrun` yet. +From now on, we will gradually support it :dog: + +### Filetypes + +- `c` +- `cpp` +- `cs` +- `diff` +- `go` ([vim-go](https://github.com/fatih/vim-go)) +- `graphql` ([vim-graphql](https://github.com/jparise/vim-graphql)) +- `html` +- `javascript` +- `json` +- `make` +- `markdown` ([vim-markdown](https://github.com/tpope/vim-markdown)) +- `python` +- `ruby` +- `rust` ([rust.vim](https://github.com/rust-lang/rust.vim)) +- `toml` ([vim-toml](https://github.com/cespare/vim-toml)) +- `typescript` ([yats.vim](https://github.com/HerringtonDarkholme/yats.vim)) +- `vim` +- `yaml` +- `zsh` + +### Plugins + +- [ALE](https://github.com/dense-analysis/ale) +- [clever-f.vim](https://github.com/rhysd/clever-f.vim) +- [coc.nvim](https://github.com/neoclide/coc.nvim) +- [conflict-marker.vim](https://github.com/rhysd/conflict-marker.vim) +- [defx-git](https://github.com/kristijanhusak/defx-git) +- [defx-icons](https://github.com/kristijanhusak/defx-icons) +- [easymotion](https://github.com/easymotion/vim-easymotion) +- [fern.vim](https://github.com/lambdalisue/fern.vim) +- [fugitive.vim](https://github.com/tpope/vim-fugitive) +- [fzf.vim](https://github.com/junegunn/fzf.vim) +- [lightline.vim](https://github.com/itchyny/lightline.vim) +- [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) +- [vim-clap](https://github.com/liuchengxu/vim-clap) +- [vim-gitgutter](https://github.com/airblade/vim-gitgutter) +- [vimfiler](https://github.com/Shougo/vimfiler.vim) + +## Inspired + +Many thanks for the following projects: + +- [vim-color-spring-night](https://github.com/rhysd/vim-color-spring-night) + +## License + +[MIT License © wadackel](./LICENSE) diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/whatyouhide-vim-gotham.md b/nvim/plugged/awesome-vim-colorschemes/docs/whatyouhide-vim-gotham.md new file mode 100644 index 00000000..51fc7116 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/whatyouhide-vim-gotham.md @@ -0,0 +1,140 @@ +![logo][logo] + + +> It's the colorscheme we set that defines us. *(Batman)* + +[![main](https://github.com/whatyouhide/vim-gotham/workflows/main/badge.svg?branch=master)](https://github.com/whatyouhide/vim-gotham/actions?query=workflow%3Amain) + +Gotham is a **very dark** vim colorscheme. It works on GUI vim (MacVim or gVim) +and on terminal vim. For terminal vim, there's support for a lot of terminal +emulators in the [gotham-contrib][gotham-contrib] repository. + +![screenshot][screenshot] + + +## Installation + +I moved to [vim-plug][vim-plug] a while ago and never looked back. Anyway, you +can install Gotham with whatever package manager you use. For example: + +``` viml +" vim-plug +Plug 'whatyouhide/vim-gotham' +" NeoBundle +NeoBundle 'whatyouhide/vim-gotham' +" Vundle +Plugin 'whatyouhide/vim-gotham' +" dein.vim +call dein#add('whatyouhide/vim-gotham') +``` + +If you don't use a plugin manager just copy the content of `vim/colors/` to +`~/.vim/colors`. + +When you have the plugin installed, you can set it in your `vimrc`: + +``` viml +colorscheme gotham +``` + +#### Terminal vim and 256 colors version + +If you want to use Gotham in terminal vim, you should consider setting Gotham as +the colorscheme of your terminal emulator too. See the [relevant +section](#other). + +If you're fine with not-so-faithful colors, a 256 colors version of Gotham is +available. To use it, just replace `gotham` with `gotham256` in your `vimrc`: + +``` viml +colorscheme gotham256 +``` + +Using `gotham256` (given that your terminal supports 256 colors) ensures that +the colors in vim are fixed and don't depend on the colorscheme of the terminal +emulator. + +**Please**, use the 256 colors version only if you know what you're doing since +it looks "rougher" than the regular version. + +#### Airline + +Gotham supports [vim-airline][vim-airline] out of the box. When you use the +Gotham colorscheme, Airline should be able to pick it up and use it. If you want +to set it manually, you can use the `AirlineTheme` command for both the regular +version and the 256 colors version: + + :AirlineTheme gotham + :AirlineTheme gotham256 + +Gotham by default emphasises the usage of insert mode by using a distinctive bright yellow color in +the airline mode segment. To change the color used for insert mode to a darker less emphasised color +add the following to your vimrc: + +```viml +let g:gotham_airline_emphasised_insert = 0 +``` + +#### Lightline + +Gotham supports [lightline.vim][lightline.vim] too. To enable the colorscheme, +add one of the following lines to your `.vimrc`: + +``` viml +let g:lightline = { 'colorscheme': 'gotham' } +let g:lightline = { 'colorscheme': 'gotham256' } +``` + +### <a name=other></a>Other + +Gotham is available for other platforms too. If you want terminal vim to look as +good as GUI vim, you have to install the Gotham colorscheme for your terminal +emulator too. + +An up-to-date list of supported platforms as well as installation instructions +for each of those platforms are available at the +[gotham-contrib][gotham-contrib] repository. + +There's an [Emacs version][emacs-version] too, but I don't maintain it. + + +### Color Palette + + +| Color Base | Hex | Other Colors | Hex | +| ------------- | ------------- | ------------- | ------------- | +| Base 0 | `#0c1014` | Red | `#c23127` | +| Base 1 | `#11151c` | Orange | `#d26937` | +| Base 2 | `#091f2e` | Yellow | `#edb443` | +| Base 3 | `#0a3749` | Magenta | `#888ca6` | +| Base 4 | `#245361` | Violet | `#4e5166` | +| Base 5 | `#599cab` | Blue | `#195466` | +| Base 6 | `#99d1ce` | Cyan | `#33859E` | +| Base 7 | `#d3ebe9` | Green | `#2aa889` | + + +## Contributing + +All forms of contribution are welcome: bug reports, bug fixes, pull requests and +simple suggestions. Thanks! + +### List of contributors + +You can find the list of contributors [here][contributors]. + + +## License + +MIT © 2014 Andrea Leopardi, see [the license][license-file]. + + +[logo]: http://i.imgur.com/FDLEzHC.png "Logo" +[screenshot]: http://i.imgur.com/NfRuHFN.png "A vim screenshot" +[license-file]: LICENSE.txt + +[vim-plug]: https://github.com/junegunn/vim-plug +[gotham-contrib]: https://github.com/whatyouhide/gotham-contrib +[vim-airline]: https://github.com/bling/vim-airline +[lightline.vim]: https://github.com/itchyny/lightline.vim +[emacs-version]: https://github.com/wasamasa/gotham-theme +[contributors]: https://github.com/whatyouhide/vim-gotham/graphs/contributors diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/wimstefan-Lightning.md b/nvim/plugged/awesome-vim-colorschemes/docs/wimstefan-Lightning.md new file mode 100644 index 00000000..cd07c230 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/wimstefan-Lightning.md @@ -0,0 +1,15 @@ +# Lightning +A light colorscheme for vim based on [Apprentice](https://github.com/romainl/Apprentice/) by Romain Lafourcade. +It has 16 and 256 colours support for both terminal and GUI. + +[NOTE] +This is a work in progress. + +## Screenshots +All screenshots are taken in VIM cli on a 256-colour enabled terminal (rxvt-unicode-256color). + +**Vim diff** +![Vim diff](http://wimstefan.github.io/screenshots/vimdiff.png "Vim diff") + +**zsh** +![zsh](http://wimstefan.github.io/screenshots/zsh.png "zsh") diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/yorickpeterse-happy_hacking.vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/yorickpeterse-happy_hacking.vim.md new file mode 100644 index 00000000..0d7e60d5 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/yorickpeterse-happy_hacking.vim.md @@ -0,0 +1,27 @@ +# Happy Hacking + +Happy hacking is my persona color scheme for (Neo)Vim. It was originally +based on another theme of mine called ["Autumn"][autumn] but has changed quite a +bit over the years. + +## Screenshots + +| Rust | Ruby | Python +|------|------|--------- +| ![Rust](screenshots/rust.png) | ![Ruby](screenshots/ruby.png) | ![Python](screenshots/python.png) + +## Installation + +Using vim-plug, add this to `~/.config/nvim/init.vim`: + + Plug 'git@gitlab.com:yorickpeterse/happy_hacking.vim.git' + +Then run `PlugInstall`, followed by `color happy_hacking`. + +## License + +Happy Hacking and all extra source code in this repository is licensed under +the MIT license unless specified otherwise. A copy of this license can be found +in the file "LICENSE" in the root directory of this repository. + +[autumn]: https://github.com/yorickpeterse/autumn.vim diff --git a/nvim/plugged/awesome-vim-colorschemes/docs/zacanger-angr.vim.md b/nvim/plugged/awesome-vim-colorschemes/docs/zacanger-angr.vim.md new file mode 100644 index 00000000..26ac35d8 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/docs/zacanger-angr.vim.md @@ -0,0 +1,28 @@ +# angr.vim + +![screenshot](/screenshot.png?raw=true) + +The screenshot is using the angr +[airline theme](https://github.com/vim-airline/vim-airline-themes). + +[![Support with PayPal](https://img.shields.io/badge/paypal-donate-yellow.png)](https://paypal.me/zacanger) [![Patreon](https://img.shields.io/badge/patreon-donate-yellow.svg)](https://www.patreon.com/zacanger) [![ko-fi](https://img.shields.io/badge/donate-KoFi-yellow.svg)](https://ko-fi.com/U7U2110VB) + +### Installation: + +Copy `colors/angr.vim` to your vim colors dir. +For vim, this is `~/.vim/colors/`. For Neovim, `~/.config/init/nvim/colors/`. + +**Recommended** use your plugin manager: + +* NeoBundle: `:NeoBundleDirectInstall 'zacanger/angr.vim'`. +* Plug: `Plug 'zacanger/angr.vim'` +* Vundle: `Plugin 'zacanger/angr.vim'` + +Other plugin managers: see their docs. + +### Thanks + +[watsoncj](https://github.com/watsoncj) fixed some inconsistencies and made the +Airline theme. + +[LICENSE](./LICENSE.md) diff --git a/nvim/plugged/awesome-vim-colorschemes/preview.sh b/nvim/plugged/awesome-vim-colorschemes/preview.sh new file mode 100755 index 00000000..600031e3 --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/preview.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +set -euo pipefail +#set -x + +if [ $(basename $PWD) != 'awesome-vim-colorschemes' ]; then + echo >&2 'You must run me inside awesome-vim-colorschemes repo' + exit 1 +fi + +example=$(mktemp).cpp +trap "rm -f $example" EXIT + +schemes=$(find colors -name \*.vim | xargs -n1 basename | sed 's/\.vim//g') + +for s in $schemes; do + cat > $example <<EOF +// Colorscheme "$s". +// To stop iteration, add ABORT anywhere below and save file. + +#include <stdio.h> + +namespace XYZ { + +static int x = 1; + +struct A { + int x; + int y; + void a() const { return x + y; } +}; + +int main() { + A var; + printf("Hello world!\n"); + return 0; +} + +} // XYZ +EOF + vim +':syntax on' +":set runtimepath+=$PWD" +":colo $s" $example + if [ $(grep ABORT $example | grep -v 'add ABORT anywhere' | wc -l) -gt 0 ]; then + echo 'Aborting per user request...' + break + fi +done diff --git a/nvim/plugged/awesome-vim-colorschemes/pull-updates.sh b/nvim/plugged/awesome-vim-colorschemes/pull-updates.sh new file mode 100755 index 00000000..9553775e --- /dev/null +++ b/nvim/plugged/awesome-vim-colorschemes/pull-updates.sh @@ -0,0 +1,92 @@ +#!/usr/bin/env bash +set -eu +shopt -s nocaseglob + +function _dl() { + local tmp="tmp" docs="docs" rtp=${2:-} + + [ -d "$tmp" ] || mkdir "$tmp" + [ -d "$docs" ] || mkdir "$docs" + + curl -L "https://api.github.com/repos/$1/tarball" \ + -H "Authorization: token $HOMEBREW_GITHUB_API_TOKEN" \ + | tar xz --strip=1 -C "$tmp"/ + + rsync -avh "$tmp"/"$rtp" --include='after/***' \ + --include='autoload/***' --include='colors/***' \ + --include='plugin/***' --exclude='*' . + + cp -r "$tmp"/"$rtp"/README* "$docs"/"${1//\//-}".md + rm -rf "$tmp" +} + +function _main() { + _dl nightsense/snow + _dl ajmwagar/vim-deus + _dl AlessandroYorba/Alduin + _dl AlessandroYorba/Sierra + _dl andreasvc/vim-256noir + _dl arcticicestudio/nord-vim + _dl ayu-theme/ayu-vim + _dl Badacadabra/vim-archery + _dl challenger-deep-theme/vim + _dl chase/focuspoint-vim + _dl christophermca/meta5 + _dl co1ncidence/mountaineer + _dl cocopon/iceberg.vim + _dl cseelus/vim-colors-lucid + _dl danilo-augusto/vim-afterglow + _dl dikiaap/minimalist + _dl endel/vim-github-colorscheme + _dl fcpg/vim-orbital + _dl fmoralesc/molokayo + _dl gilgigilgil/anderson.vim + _dl gregsexton/Atom + _dl hardcoreplayers/oceanic-material + _dl jacoborus/tender.vim + _dl jaredgorski/fogbell.vim + _dl jaredgorski/SpaceCamp + _dl jdsimcoe/abstract.vim + _dl jonathanfilip/vim-lucius + _dl joshdick/onedark.vim + _dl junegunn/seoul256.vim + _dl keith/parsec.vim + _dl kristijanhusak/vim-hybrid-material + _dl kyoz/purify vim/ + _dl lifepillar/vim-solarized8 + _dl liuchengxu/space-vim-dark + _dl marcopaganini/termschool-vim-theme + _dl mhartington/oceanic-next + _dl mkarmona/materialbox + _dl morhetz/gruvbox + _dl NLKNguyen/papercolor-theme + _dl nanotech/jellybeans.vim + _dl nightsense/carbonized + _dl nightsense/stellarized + _dl nikolvs/vim-sunbather + _dl owickstrom/vim-colors-paramount + _dl rakr/vim-colors-rakr + _dl rakr/vim-one + _dl rakr/vim-two-firewatch + _dl romainl/Apprentice + _dl romainl/flattened + _dl sainnhe/sonokai + _dl scheakur/vim-scheakur + _dl sonph/onehalf vim/ + _dl sts10/vim-pink-moon + _dl tomasr/molokai + _dl tyrannicaltoucan/vim-deep-space + _dl vim-scripts/pyte + _dl vim-scripts/rdark-terminal2.vim + _dl vim-scripts/twilight256.vim + _dl vim-scripts/wombat256.vim + _dl w0ng/vim-hybrid + _dl wadackel/vim-dogrun + _dl whatyouhide/vim-gotham + _dl wimstefan/Lightning + _dl yorickpeterse/happy_hacking.vim + _dl zacanger/angr.vim + + chmod -x colors/*vim +} +_main diff --git a/nvim/plugged/coc.nvim/.editorconfig b/nvim/plugged/coc.nvim/.editorconfig new file mode 100644 index 00000000..158192a1 --- /dev/null +++ b/nvim/plugged/coc.nvim/.editorconfig @@ -0,0 +1,22 @@ +root = true + +[*] +end_of_line = lf +charset = utf-8 + +[*.{js,ts}] +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true +max_line_length = 120 + +[*.json] +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true + +[*.vim] +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true +max_line_length = 120 diff --git a/nvim/plugged/coc.nvim/.eslintignore b/nvim/plugged/coc.nvim/.eslintignore new file mode 100644 index 00000000..f38d5306 --- /dev/null +++ b/nvim/plugged/coc.nvim/.eslintignore @@ -0,0 +1,5 @@ +node_modules +coverage +build +lib +typings diff --git a/nvim/plugged/coc.nvim/.eslintrc.js b/nvim/plugged/coc.nvim/.eslintrc.js new file mode 100644 index 00000000..f2faedbb --- /dev/null +++ b/nvim/plugged/coc.nvim/.eslintrc.js @@ -0,0 +1,338 @@ +module.exports = { + "root": true, + "env": { + "es6": true, + "node": true, + "jest/globals": true + }, + "extends": [ + "plugin:@typescript-eslint/recommended", + "plugin:@typescript-eslint/recommended-requiring-type-checking" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "project": "./tsconfig.json", + "sourceType": "module" + }, + "plugins": [ + "jsdoc", + "jest", + "@typescript-eslint" + ], + "rules": { + "comma-dangle": [ + 0 + ], + "guard-for-in": [ + 0 + ], + "no-dupe-class-members": [ + 0 + ], + "prefer-spread": [ + 0 + ], + "prefer-rest-params": [ + 0 + ], + "func-names": [ + 0 + ], + "require-atomic-updates": [ + 0 + ], + "no-empty": "off", + "no-console": "off", + "linebreak-style": [ + 1, + "unix" + ], + "no-prototype-builtins": [ + 0 + ], + "no-unused-vars": [ + 0 + ], + "no-async-promise-executor": [ + 0 + ], + "constructor-super": "error", + "for-direction": [ + "error" + ], + "getter-return": [ + "error" + ], + "no-case-declarations": [ + "error" + ], + "no-class-assign": [ + "error" + ], + "no-compare-neg-zero": [ + "error" + ], + "no-cond-assign": "error", + "no-const-assign": [ + "error" + ], + "no-constant-condition": [ + "error" + ], + "no-control-regex": [ + "error" + ], + "no-debugger": "error", + "no-delete-var": [ + "error" + ], + "no-dupe-args": [ + "error" + ], + "no-dupe-keys": [ + "error" + ], + "no-duplicate-case": [ + "error" + ], + "no-empty-character-class": [ + "error" + ], + "no-empty-pattern": [ + "error" + ], + "no-ex-assign": [ + "error" + ], + "no-extra-boolean-cast": [ + "error" + ], + "no-extra-semi": [ + "error" + ], + "no-fallthrough": "off", + "no-func-assign": [ + "error" + ], + "no-global-assign": [ + "error" + ], + "no-inner-declarations": [ + "error" + ], + "no-invalid-regexp": [ + "error" + ], + "no-irregular-whitespace": "error", + "no-misleading-character-class": [ + "error" + ], + "no-mixed-spaces-and-tabs": [ + "error" + ], + "no-new-symbol": [ + "error" + ], + "no-obj-calls": [ + "error" + ], + "no-octal": [ + "error" + ], + "no-redeclare": "error", + "no-regex-spaces": [ + "error" + ], + "no-self-assign": [ + "error" + ], + "no-shadow-restricted-names": [ + "error" + ], + "no-sparse-arrays": "error", + "no-this-before-super": [ + "error" + ], + "no-undef": [ + "off" + ], + "no-unexpected-multiline": [ + "error" + ], + "no-unreachable": [ + "warn" + ], + "no-unsafe-finally": "error", + "no-unsafe-negation": [ + "error" + ], + "no-unused-labels": "error", + "no-useless-catch": [ + "error" + ], + "no-useless-escape": [ + "error" + ], + "no-with": [ + "error" + ], + "require-yield": [ + "error" + ], + "use-isnan": "error", + "valid-typeof": "off", + "@typescript-eslint/no-unnecessary-boolean-literal-compare": "off", + "@typescript-eslint/no-unnecessary-type-assertion": "off", + "@typescript-eslint/prefer-string-starts-ends-with": "off", + "@typescript-eslint/prefer-regexp-exec": "off", + "@typescript-eslint/adjacent-overload-signatures": "error", + "@typescript-eslint/array-type": "off", + "@typescript-eslint/require-await": "off", + "@typescript-eslint/await-thenable": "error", + "@typescript-eslint/ban-types": "off", + "@typescript-eslint/no-unsafe-assignment": "off", + "@typescript-eslint/no-unsafe-member-access": "off", + "@typescript-eslint/no-unsafe-call": "off", + "@typescript-eslint/explicit-module-boundary-types": "off", + "@typescript-eslint/no-unsafe-return": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/restrict-plus-operands": "off", + "@typescript-eslint/restrict-template-expressions": "off", + "@typescript-eslint/consistent-type-assertions": "error", + "@typescript-eslint/consistent-type-definitions": "error", + "@typescript-eslint/explicit-member-accessibility": [ + "error", + { + "accessibility": "explicit", + "overrides": { + "accessors": "explicit", + "constructors": "off" + } + } + ], + "@typescript-eslint/interface-name-prefix": "off", + "@typescript-eslint/member-delimiter-style": "off", + "@typescript-eslint/camelcase": "off", + "@typescript-eslint/member-ordering": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-empty-interface": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-floating-promises": "error", + "@typescript-eslint/no-misused-promises": "off", + "@typescript-eslint/no-for-in-array": "error", + "@typescript-eslint/no-inferrable-types": "error", + "@typescript-eslint/no-misused-new": "error", + "@typescript-eslint/no-namespace": "off", + "@typescript-eslint/no-parameter-properties": "off", + "@typescript-eslint/no-unused-vars": "off", + "@typescript-eslint/no-unnecessary-qualifier": "error", + "@typescript-eslint/no-use-before-define": "off", + "@typescript-eslint/explicit-function-return-type": "off", + "@typescript-eslint/no-var-requires": "off", + "@typescript-eslint/prefer-for-of": "off", + "@typescript-eslint/prefer-function-type": "off", + "@typescript-eslint/prefer-namespace-keyword": "error", + "@typescript-eslint/quotes": "off", + "@typescript-eslint/semi": [ + "error", + "never" + ], + "@typescript-eslint/triple-slash-reference": [ + "error", + { + "path": "always", + "types": "prefer-import", + "lib": "always" + } + ], + "@typescript-eslint/unbound-method": "off", + "@typescript-eslint/unified-signatures": "error", + "arrow-body-style": "off", + "arrow-parens": [ + "error", + "as-needed" + ], + "camelcase": "off", + "complexity": "off", + "curly": "off", + "dot-notation": "off", + "eol-last": "off", + "eqeqeq": [ + "off", + "always" + ], + "id-blacklist": [ + "error", + "any", + "Number", + "number", + "String", + "string", + "Boolean", + "boolean", + "Undefined" + ], + "id-match": "error", + "jsdoc/check-alignment": "error", + "jsdoc/check-indentation": "error", + "jsdoc/newline-after-description": "error", + "max-classes-per-file": "off", + "new-parens": "error", + "no-bitwise": "off", + "no-caller": "error", + "no-eval": "error", + "no-invalid-this": "off", + "no-magic-numbers": "off", + "no-multiple-empty-lines": [ + "error", + { + "max": 1 + } + ], + "no-new-wrappers": "error", + "no-shadow": [ + "off", + { + "hoist": "all" + } + ], + "no-template-curly-in-string": "off", + "no-throw-literal": "error", + "no-trailing-spaces": "error", + "no-undef-init": "error", + "no-underscore-dangle": "off", + "no-unused-expressions": "off", + "no-var": "error", + "no-void": "off", + "object-shorthand": "error", + "one-var": [ + "error", + "never" + ], + "prefer-const": "off", + "prefer-template": "off", + "quote-props": [ + "error", + "as-needed" + ], + "radix": "error", + "space-before-function-paren": [ + "error", + { + "anonymous": "never", + "asyncArrow": "always", + "named": "never" + } + ], + "spaced-comment": [ + "error", + "always", + { + "markers": [ + "/" + ] + } + ] + }, + "settings": {} +} diff --git a/nvim/plugged/coc.nvim/.github/.codecov.yml b/nvim/plugged/coc.nvim/.github/.codecov.yml new file mode 100644 index 00000000..fa348a8f --- /dev/null +++ b/nvim/plugged/coc.nvim/.github/.codecov.yml @@ -0,0 +1,3 @@ +coverage: + status: + patch: off diff --git a/nvim/plugged/coc.nvim/.github/FUNDING.yml b/nvim/plugged/coc.nvim/.github/FUNDING.yml new file mode 100644 index 00000000..bc74b9db --- /dev/null +++ b/nvim/plugged/coc.nvim/.github/FUNDING.yml @@ -0,0 +1,4 @@ +# These are supported funding model platforms + +open_collective: cocnvim +patreon: chemzqm diff --git a/nvim/plugged/coc.nvim/.github/ISSUE_TEMPLATE/feature_request.md b/nvim/plugged/coc.nvim/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..066b2d92 --- /dev/null +++ b/nvim/plugged/coc.nvim/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,17 @@ +--- +name: Feature request +about: Suggest an idea for this project + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/nvim/plugged/coc.nvim/.gitignore b/nvim/plugged/coc.nvim/.gitignore new file mode 100644 index 00000000..266844b7 --- /dev/null +++ b/nvim/plugged/coc.nvim/.gitignore @@ -0,0 +1,16 @@ +lib +.cache +*.map +coverage +__pycache__ +.pyc +.log +build +doc/tags +typings/package.json +node_modules +publish.sh +release.sh +!src/__tests__/tags +src/__tests__/extensions/db.json +package-lock.json diff --git a/nvim/plugged/coc.nvim/.ignore b/nvim/plugged/coc.nvim/.ignore new file mode 100644 index 00000000..a65b4177 --- /dev/null +++ b/nvim/plugged/coc.nvim/.ignore @@ -0,0 +1 @@ +lib diff --git a/nvim/plugged/coc.nvim/.npmignore b/nvim/plugged/coc.nvim/.npmignore new file mode 100644 index 00000000..0193cd28 --- /dev/null +++ b/nvim/plugged/coc.nvim/.npmignore @@ -0,0 +1,16 @@ +*.map +.cache +lib/extensions +lib/__tests__ +plugin +autoload +rplugin +src +.github +build +coverage +data +tslint.json +tsconfig.json +.zip +.DS_Store diff --git a/nvim/plugged/coc.nvim/.vim/coc-settings.json b/nvim/plugged/coc.nvim/.vim/coc-settings.json new file mode 100644 index 00000000..7746fb78 --- /dev/null +++ b/nvim/plugged/coc.nvim/.vim/coc-settings.json @@ -0,0 +1,7 @@ +{ + "eslint.validate": ["typescript"], + "eslint.lintTask.options": [".", "--ext", ".ts"], + "typescript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, + "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, + "typescript.suggestionActions.enabled": false +} diff --git a/nvim/plugged/coc.nvim/Backers.md b/nvim/plugged/coc.nvim/Backers.md new file mode 100644 index 00000000..b3cdb0b2 --- /dev/null +++ b/nvim/plugged/coc.nvim/Backers.md @@ -0,0 +1,207 @@ +# Backers + +❤️ coc.nvim? Help us keep it alive by [donating funds](https://www.bountysource.com/teams/coc-nvim)😘! + +<a href="https://github.com/oblitum" target="_blank" title="oblitum"> + <img src="https://github.com/oblitum.png?size=64" width="64" height="64" alt="oblitum"> +</a> +<a href="https://github.com/free-easy" target="_blank" title="free-easy"> + <img src="https://github.com/free-easy.png?size=64" width="64" height="64" alt="free-easy"> +</a> +<a href="https://github.com/ruanyl" target="_blank" title="ruanyl"> + <img src="https://github.com/ruanyl.png?size=64" width="64" height="64" alt="ruanyl"> +</a> +<a href="https://github.com/robjuffermans" target="_blank" title="robjuffermans"> + <img src="https://github.com/robjuffermans.png?size=64" width="64" height="64" alt="robjuffermans"> +</a> +<a href="https://github.com/iamcco" target="_blank" title="iamcco"> + <img src="https://github.com/iamcco.png?size=64" width="64" height="64" alt="iamcco"> +</a> +<a href="https://github.com/phcerdan" target="_blank" title="phcerdan"> + <img src="https://github.com/phcerdan.png?size=64" width="64" height="64" alt="phcerdan"> +</a> +<a href="https://github.com/sarene" target="_blank" title="sarene"> + <img src="https://github.com/sarene.png?size=64" width="64" height="64" alt="sarene"> +</a> +<a href="https://github.com/robtrac" target="_blank" title="robtrac"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals89_puer8v.png" width="64" height="64" alt="robtrac"> +</a> +<a href="https://github.com/raidou" target="_blank" title="raidou"> + <img src="https://github.com/raidou.png?size=64" width="64" height="64" alt="raidou"> +</a> +<a href="https://github.com/tomspeak" target="_blank" title="tomspeak"> + <img src="https://github.com/tomspeak.png?size=64" width="64" height="64" alt="tomspeak"> +</a> +<a href="https://github.com/taigacute" target="_blank" title="taigacute"> + <img src="https://github.com/taigacute.png?size=64" width="64" height="64" alt="taigacute"> +</a> +<a href="https://github.com/weirongxu" target="_blank" title="weirongxu"> + <img src="https://github.com/weirongxu.png?size=64" width="64" height="64" alt="weirongxu"> +</a> +<a href="https://github.com/tbo" target="_blank" title="tbo"> + <img src="https://github.com/tbo.png?size=64" width="64" height="64" alt="tbo"> +</a> +<a href="https://github.com/darthShadow" target="_blank" title="darthShadow"> + <img src="https://github.com/darthShadow.png?size=64" width="64" height="64" alt="darthShadow"> +</a> +<a href="https://github.com/yatli" target="_blank" title="yatli"> + <img src="https://github.com/yatli.png?size=64" width="64" height="64" alt="yatli"> + </a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/gravatar/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/f8fbc5df2432deac7557cf5e111439f2" width="64" height="64" alt="Matt Greer"> +</a> +<a href="#Backers"> + <img src="https://avatars0.githubusercontent.com/u/2914269?v=4&s=100&s=400" width="64" height="64" alt="malob"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/gravatar/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/a8b8103b9131cdf694bea446881c05fb" width="64" height="64" alt="Emigre"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals27_bjhsl8.png" width="64" height="64" alt="OkanEsen"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals57_yatmux.png" width="64" height="64" alt="Lennaert Meijvogel"> +</a> +<a href="#Backers"> + <img src="https://avatars2.githubusercontent.com/u/557201?s=400&u=ac96c9da87099c27f094eec935a627cb32fdfdf2&v=4&s=400" width="64" height="64" alt="Nils Landt"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals10_mjtuws.png" width="64" height="64" alt="dlants"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals45_ecgl95.png" width="64" height="64" alt="RCVU"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals71_wi5cvo.png" width="64" height="64" alt="yatli"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/gravatar/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/2986e67e29cf2ad3de088f9f8bc131cf" width="64" height="64" alt="mikker"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/gravatar/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/8703a88e1c178112625bcb6970ed40e4" width="64" height="64" alt="Velovix"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals51_byhedz.png" width="64" height="64" alt="stCarolas"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals67_rzqguf.png" width="64" height="64" alt="Robbie Clarken"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/svdunc4lofagkaeobpar.png" width="64" height="64" alt="hallettj"> +</a> +<a href="#Backers"> + <img src="https://avatars0.githubusercontent.com/u/6803419?v=4&s=100&s=400" width="64" height="64" alt="appelgriebsch"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals75_a0xqeq.png" width="64" height="64" alt="cosminadrianpopescu"> +</a> +<a href="#Backers"> + <img src="https://avatars3.githubusercontent.com/u/301015?v=4&s=100&s=400" width="64" height="64" alt="partizan"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals24_s1h7ax.png" width="64" height="64" alt="ksaldana1"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals63_olgqd6.png" width="64" height="64" alt="jesperryom"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals70_t5kjmo.png" width="64" height="64" alt="JackCA"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals38_vwccce.png" width="64" height="64" alt="peymanmortazavi"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals92_htl0if.png" width="64" height="64" alt="jonaustin"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals33_ch4hs0.png" width="64" height="64" alt="Yuriy Ivanyuk"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals26_knlvug.png" width="64" height="64" alt="abenz1267"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals100_g8py5g.png" width="64" height="64" alt="Sh3Rm4n"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals14_bnuacq.png" width="64" height="64" alt="mwcz"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals78_hleldd.png" width="64" height="64" alt="Philipp-M"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals37_sikg8d.png" width="64" height="64" alt="gvelchuru"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals62_hxul6y.png" width="64" height="64" alt="JSamir"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals19_zafwti.png" width="64" height="64" alt="toby de havilland"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals97_iuw00n.png" width="64" height="64" alt="viniciusarcanjo"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals70_t5kjmo.png" width="64" height="64" alt="Mike Hearn"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals87_vnmrie.png" width="64" height="64" alt="darsto"> +</a> +<a href="#Backers"> + <img src="https://avatars2.githubusercontent.com/u/145502?v=4&s=100&s=400" width="64" height="64" alt="pyrho"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals102_hqrga7.png" width="64" height="64" alt="Frydac"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals90_qlafi0.png" width="64" height="64" alt="gsa9"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals16_qlob5k.png" width="64" height="64" alt="_andys8"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals27_bjhsl8.png" width="64" height="64" alt="iago-lito"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals44_xa5xwi.png" width="64" height="64" alt="ddaletski"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals83_ryixly.png" width="64" height="64" alt="jonatan-branting"> +</a> +<a href="#Backers"> + <img src="https://avatars3.githubusercontent.com/u/8683947?v=4&s=100&s=400" width="64" height="64" alt="yutakatay"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals87_vnmrie.png" width="64" height="64" alt="kevinrambaud"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals76_g3jfjp.png" width="64" height="64" alt="tomaskallup"> +</a> +<a href="#Backers"> + <img src="https://cloudinary-a.akamaihd.net/bountysource/image/upload/d_noaoqqwxegvmulwus0un.png,c_pad,w_400,h_400,b_white/Bountysource_Animals46_qe2ye0.png" width="64" height="64" alt="LewisSteele"> +</a> + +## 微信扫码赞助者 + +- free-easy +- sarene +- tomspeak +- robtrac +- 葫芦小金刚 +- leo 陶 +- 飞翔的白斩鸡 +- mark_ll +- 火冷 +- Solomon +- 李宇星 +- Yus +- IndexXuan +- Sniper +- 陈达野 +- 胖听 +- Jimmy +- lightxue +- 小亦俊 +- 周慎敏 +- 凤鸣 +- Wilson +- Abel diff --git a/nvim/plugged/coc.nvim/CONTRIBUTING.md b/nvim/plugged/coc.nvim/CONTRIBUTING.md new file mode 100644 index 00000000..a3cac5f5 --- /dev/null +++ b/nvim/plugged/coc.nvim/CONTRIBUTING.md @@ -0,0 +1,142 @@ +# Contributing + +## How do I... <a name="toc"></a> + +- [Use This Guide](#introduction)? +- Make Something? 🤓👩🏽‍💻📜🍳 + - [Project Setup](#project-setup) + - [Contribute Documentation](#contribute-documentation) + - [Contribute Code](#contribute-code) +- Manage Something ✅🙆🏼💃👔 + - [Provide Support on Issues](#provide-support-on-issues) + - [Review Pull Requests](#review-pull-requests) + - [Join the Project Team](#join-the-project-team) + +## Introduction + +Thank you so much for your interest in contributing!. All types of contributions are encouraged and valued. See the [table of contents](#toc) for different ways to help and details about how this project handles them!📝 + +The [Project Team](#join-the-project-team) looks forward to your contributions. 🙌🏾✨ + +## Project Setup + +So you wanna contribute some code! That's great! This project uses GitHub Pull Requests to manage contributions, so [read up on how to fork a GitHub project and file a PR](https://guides.github.com/activities/forking) if you've never done it before. + +If this seems like a lot or you aren't able to do all this setup, you might also be able to [edit the files directly](https://help.github.com/articles/editing-files-in-another-user-s-repository/) without having to do any of this setup. Yes, [even code](#contribute-code). + +If you want to go the usual route and run the project locally, though: + +- [Install Node.js](https://nodejs.org/en/download/) +- [Install Yarn](https://yarnpkg.com) +- [Fork the project](https://guides.github.com/activities/forking/#fork) + +Then in your terminal: + +- Add coc.nvim to your vim's rtp by `set runtimepath^=/path/to/coc.nvim` +- `cd path/to/your/coc.nvim` +- `yarn install` +- Install [coc-tsserver](https://github.com/neoclide/coc-tsserver) by + `:CocInstall coc-tsserver` in your vim +- Install [coc-tslint-plugin](https://github.com/neoclide/coc-tslint-plugin) by + `:CocInstall coc-tslint-plugin` in your vim. + +And you should be ready to go! + +## Contribute Documentation + +Documentation is a super important, critical part of this project. Docs are how we keep track of what we're doing, how, and why. It's how we stay on the same page about our policies. And it's how we tell others everything they need in order to be able to use this project -- or contribute to it. So thank you in advance. + +Documentation contributions of any size are welcome! Feel free to file a PR even if you're just rewording a sentence to be more clear, or fixing a spelling mistake! + +To contribute documentation: + +- [Set up the project](#project-setup). +- Edit or add any relevant documentation. +- Make sure your changes are formatted correctly and consistently with the rest of the documentation. +- Re-read what you wrote, and run a spellchecker on it to make sure you didn't miss anything. +- In your commit message(s), begin the first line with `docs:`. For example: `docs: Adding a doc contrib section to CONTRIBUTING.md`. +- Write clear, concise commit message(s) using [conventional-changelog format](https://github.com/conventional-changelog/conventional-changelog-angular/blob/master/convention.md). Documentation commits should use `docs(<component>): <message>`. +- Go to https://github.com/neoclide/coc.nvim/pulls and open a new pull request with your changes. +- If your PR is connected to an open issue, add a line in your PR's description that says `Fixes: #123`, where `#123` is the number of the issue you're fixing. + +## Contribute Code + +We like code commits a lot! They're super handy, and they keep the project going and doing the work it needs to do to be useful to others. + +Code contributions of just about any size are acceptable! + +The main difference between code contributions and documentation contributions is that contributing code requires inclusion of relevant tests for the code being added or changed. Contributions without accompanying tests will be held off until a test is added, unless the maintainers consider the specific tests to be either impossible, or way too much of a burden for such a contribution. + +To contribute code: + +- [Set up the project](#project-setup). +- Make any necessary changes to the source code. +- Include any [additional documentation](#contribute-documentation) the changes might need. +- Make sure the code doesn't have lint issue by command `yarn lint` in your + terminal. +- Write tests that verify that your contribution works as expected when necessary. +- Make sure all tests passed by command `yarn jest` in your terminal. +- Write clear, concise commit message(s) using [conventional-changelog format](https://github.com/conventional-changelog/conventional-changelog-angular/blob/master/convention.md). +- Dependency updates, additions, or removals must be in individual commits, and the message must use the format: `<prefix>(deps): PKG@VERSION`, where `<prefix>` is any of the usual `conventional-changelog` prefixes, at your discretion. +- Go to https://github.com/neoclide/coc.nvim/pulls and open a new pull request with your changes. +- If your PR is connected to an open issue, add a line in your PR's description that says `Fixes: #123`, where `#123` is the number of the issue you're fixing. + +Once you've filed the PR: + +- Barring special circumstances, maintainers will not review PRs until all checks pass (Travis, AppVeyor, etc). +- One or more maintainers will use GitHub's review feature to review your PR. +- If the maintainer asks for any changes, edit your changes, push, and ask for another review. Additional tags (such as `needs-tests`) will be added depending on the review. +- If the maintainer decides to pass on your PR, they will thank you for the contribution and explain why they won't be accepting the changes. That's ok! We still really appreciate you taking the time to do it, and we don't take that lightly. 💚 +- If your PR gets accepted, it will be marked as such, and merged into the `latest` branch soon after. Your contribution will be distributed to the masses next time the maintainers [tag a release](#tag-a-release) + +## Provide Support on Issues + +[Needs Collaborator](#join-the-project-team): none + +Helping out other users with their questions is a really awesome way of contributing to any community. It's not uncommon for most of the issues on an open source projects being support-related questions by users trying to understand something they ran into, or find their way around a known bug. + +Sometimes, the `support` label will be added to things that turn out to actually be other things, like bugs or feature requests. In that case, suss out the details with the person who filed the original issue, add a comment explaining what the bug is, and change the label from `support` to `bug` or `feature`. If you can't do this yourself, @mention a maintainer so they can do it. + +In order to help other folks out with their questions: + +- Go to the issue tracker and [filter open issues by the `support` label](https://github.com/neoclide/coc.nvim/issues?q=is%3Aopen+is%3Aissue+label%3Asupport). +- Read through the list until you find something that you're familiar enough with to give an answer to. +- Respond to the issue with whatever details are needed to clarify the question, or get more details about what's going on. +- Once the discussion wraps up and things are clarified, either close the issue, or ask the original issue filer (or a maintainer) to close it for you. + +Some notes on picking up support issues: + +- Avoid responding to issues you don't know you can answer accurately. +- As much as possible, try to refer to past issues with accepted answers. Link to them from your replies with the `#123` format. +- Be kind and patient with users -- often, folks who have run into confusing things might be upset or impatient. This is ok. Try to understand where they're coming from, and if you're too uncomfortable with the tone, feel free to stay away or withdraw from the issue. (note: if the user is outright hostile or is violating the CoC, [refer to the Code of Conduct](CODE_OF_CONDUCT.md) to resolve the conflict). + +## Review Pull Requests + +[Needs Collaborator](#join-the-project-team): Issue Tracker + +While anyone can comment on a PR, add feedback, etc, PRs are only _approved_ by team members with Issue Tracker or higher permissions. + +PR reviews use [GitHub's own review feature](https://help.github.com/articles/about-pull-request-reviews/), which manages comments, approval, and review iteration. + +Some notes: + +- You may ask for minor changes ("nitpicks"), but consider whether they are really blockers to merging: try to err on the side of "approve, with comments". +- _ALL PULL REQUESTS_ should be covered by a test: either by a previously-failing test, an existing test that covers the entire functionality of the submitted code, or new tests to verify any new/changed behavior. All tests must also pass and follow established conventions. Test coverage should not drop, unless the specific case is considered reasonable by maintainers. +- Please make sure you're familiar with the code or documentation being updated, unless it's a minor change (spellchecking, minor formatting, etc). You may @mention another project member who you think is better suited for the review, but still provide a non-approving review of your own. +- Be extra kind: people who submit code/doc contributions are putting themselves in a pretty vulnerable position, and have put time and care into what they've done (even if that's not obvious to you!) -- always respond with respect, be understanding, but don't feel like you need to sacrifice your standards for their sake, either. Just don't be a jerk about it? + +## Join the Project Team + +### Ways to Join + +There are many ways to contribute! Most of them don't require any official status unless otherwise noted. That said, there's a couple of positions that grant special repository abilities, and this section describes how they're granted and what they do. + +All of the below positions are granted based on the project team's needs, as well as their consensus opinion about whether they would like to work with the person and think that they would fit well into that position. The process is relatively informal, and it's likely that people who express interest in participating can just be granted the permissions they'd like. + +You can spot a collaborator on the repo by looking for the `[Collaborator]` or `[Owner]` tags next to their names. + +| Permission | Description | +| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Issue Tracker | Granted to contributors who express a strong interest in spending time on the project's issue tracker. These tasks are mainly [labeling issues](#label-issues), [cleaning up old ones](#clean-up-issues-and-prs), and [reviewing pull requests](#review-pull-requests), as well as all the usual things non-team-member contributors can do. Issue handlers should not merge pull requests, tag releases, or directly commit code themselves: that should still be done through the usual pull request process. Becoming an Issue Handler means the project team trusts you to understand enough of the team's process and context to implement it on the issue tracker. | +| Committer | Granted to contributors who want to handle the actual pull request merges, tagging new versions, etc. Committers should have a good level of familiarity with the codebase, and enough context to understand the implications of various changes, as well as a good sense of the will and expectations of the project team. | +| Admin/Owner | Granted to people ultimately responsible for the project, its community, etc. | diff --git a/nvim/plugged/coc.nvim/LICENSE.md b/nvim/plugged/coc.nvim/LICENSE.md new file mode 100644 index 00000000..2a5396de --- /dev/null +++ b/nvim/plugged/coc.nvim/LICENSE.md @@ -0,0 +1,7 @@ +Copyright 2018-2018 by Qiming Zhao <chemzqm@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/nvim/plugged/coc.nvim/README.md b/nvim/plugged/coc.nvim/README.md new file mode 100644 index 00000000..cb410e83 --- /dev/null +++ b/nvim/plugged/coc.nvim/README.md @@ -0,0 +1,362 @@ +<p align="center"> + <a href="https://www.vim.org/scripts/script.php?script_id=5779"> + <img alt="Coc Logo" src="https://user-images.githubusercontent.com/251450/55009068-f4ed2780-501c-11e9-9a3b-cf3aa6ab9272.png" height="160" /> + </a> + <p align="center">Make your Vim/Neovim as smart as VSCode.</p> + <p align="center"> + <a href="LICENSE.md"><img alt="Software License" src="https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square"></a> + <a href="https://github.com/neoclide/coc.nvim/actions"><img alt="Actions" src="https://img.shields.io/github/workflow/status/neoclide/coc.nvim/coc.nvim%20CI?style=flat-square"></a> + <a href="https://codecov.io/gh/neoclide/coc.nvim"><img alt="Codecov Coverage Status" src="https://img.shields.io/codecov/c/github/neoclide/coc.nvim.svg?style=flat-square"></a> + <a href="doc/coc.txt"><img alt="Doc" src="https://img.shields.io/badge/doc-%3Ah%20coc.txt-brightgreen.svg?style=flat-square"></a> + <a href="https://gitter.im/neoclide/coc.nvim"><img alt="Gitter" src="https://img.shields.io/gitter/room/neoclide/coc.nvim.svg?style=flat-square"></a> + </p> +</p> + +--- + +<img alt="Gif" src="https://user-images.githubusercontent.com/251450/55285193-400a9000-53b9-11e9-8cff-ffe4983c5947.gif" width="60%" /> + +_True snippet and additional text editing support_ + +## Why? + +- 🚀 **Fast**: [instant increment completion](https://github.com/neoclide/coc.nvim/wiki/Completion-with-sources), increment buffer sync using buffer update events. +- 💎 **Reliable**: typed language, tested with CI. +- 🌟 **Featured**: [full LSP support](https://github.com/neoclide/coc.nvim/wiki/Language-servers#supported-features) +- ❤️ **Flexible**: [configured like VSCode](https://github.com/neoclide/coc.nvim/wiki/Using-the-configuration-file), [extensions work like in VSCode](https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions) + +**Gold Sponsors** + +<a href="https://opencollective.com/cocnvim#platinum-sponsors"> + <img src="https://opencollective.com/cocnvim/tiers/gold-sponsors.svg?avatarHeight=36&width=600"> +</a> + +**Silver Sponsors** + +<a href="https://opencollective.com/cocnvim#platinum-sponsors"> + <img src="https://opencollective.com/cocnvim/tiers/silver-sponsors.svg?avatarHeight=36&width=600"> +</a> + +**Bronze Sponsors** + +<a href="https://opencollective.com/cocnvim#platinum-sponsors"> + <img src="https://opencollective.com/cocnvim/tiers/bronze-sponsors.svg?avatarHeight=36&width=600"> +</a> + +## Quick Start + +Install [nodejs](https://nodejs.org/en/download/) >= 12.12: + +```bash +curl -sL install-node.vercel.app/lts | bash +``` + +For [vim-plug](https://github.com/junegunn/vim-plug) users: + +```vim +" Use release branch (recommend) +Plug 'neoclide/coc.nvim', {'branch': 'release'} + +" Or build from source code by using yarn: https://yarnpkg.com +Plug 'neoclide/coc.nvim', {'branch': 'master', 'do': 'yarn install --frozen-lockfile'} +``` + +in your `.vimrc` or `init.vim`, then restart Vim and run `:PlugInstall`. + +Checkout [Install +coc.nvim](https://github.com/neoclide/coc.nvim/wiki/Install-coc.nvim) for +more info. + +You **have to** install coc extension or configure language servers for +LSP support. + +Install extensions like: + + :CocInstall coc-json coc-tsserver + +Or configure language server in `coc-settings.json` opened by +`:CocConfig`, like: + +```json +{ + "languageserver": { + "go": { + "command": "gopls", + "rootPatterns": ["go.mod"], + "trace.server": "verbose", + "filetypes": ["go"] + } + } +} +``` + +Checkout wiki for more details: + +- [Completion with sources](https://github.com/neoclide/coc.nvim/wiki/Completion-with-sources) +- [Using the configuration file](https://github.com/neoclide/coc.nvim/wiki/Using-the-configuration-file) +- [Using coc extensions](https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions) +- [Configure language servers](https://github.com/neoclide/coc.nvim/wiki/Language-servers) +- [F.A.Q](https://github.com/neoclide/coc.nvim/wiki/F.A.Q) + +Checkout `:h coc-nvim` for vim interface. + +## Example vim configuration + +Configuration is required to make coc.nvim easier to work with, since it +doesn't change your key-mappings or Vim options. This is done as much as +possible to avoid conflict with your other plugins. + +**❗️Important**: Some Vim plugins could change key mappings. Please use +command like`:verbose imap <tab>` to make sure that your keymap has taken effect. + +```vim +" Set internal encoding of vim, not needed on neovim, since coc.nvim using some +" unicode characters in the file autoload/float.vim +set encoding=utf-8 + +" TextEdit might fail if hidden is not set. +set hidden + +" Some servers have issues with backup files, see #649. +set nobackup +set nowritebackup + +" Give more space for displaying messages. +set cmdheight=2 + +" Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable +" delays and poor user experience. +set updatetime=300 + +" Don't pass messages to |ins-completion-menu|. +set shortmess+=c + +" Always show the signcolumn, otherwise it would shift the text each time +" diagnostics appear/become resolved. +if has("nvim-0.5.0") || has("patch-8.1.1564") + " Recently vim can merge signcolumn and number column into one + set signcolumn=number +else + set signcolumn=yes +endif + +" Use tab for trigger completion with characters ahead and navigate. +" NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by +" other plugin before putting this into your config. +inoremap <silent><expr> <TAB> + \ pumvisible() ? "\<C-n>" : + \ <SID>check_back_space() ? "\<TAB>" : + \ coc#refresh() +inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" + +function! s:check_back_space() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~# '\s' +endfunction + +" Use <c-space> to trigger completion. +if has('nvim') + inoremap <silent><expr> <c-space> coc#refresh() +else + inoremap <silent><expr> <c-@> coc#refresh() +endif + +" Make <CR> auto-select the first completion item and notify coc.nvim to +" format on enter, <cr> could be remapped by other vim plugin +inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm() + \: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>" + +" Use `[g` and `]g` to navigate diagnostics +" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. +nmap <silent> [g <Plug>(coc-diagnostic-prev) +nmap <silent> ]g <Plug>(coc-diagnostic-next) + +" GoTo code navigation. +nmap <silent> gd <Plug>(coc-definition) +nmap <silent> gy <Plug>(coc-type-definition) +nmap <silent> gi <Plug>(coc-implementation) +nmap <silent> gr <Plug>(coc-references) + +" Use K to show documentation in preview window. +nnoremap <silent> K :call <SID>show_documentation()<CR> + +function! s:show_documentation() + if (index(['vim','help'], &filetype) >= 0) + execute 'h '.expand('<cword>') + elseif (coc#rpc#ready()) + call CocActionAsync('doHover') + else + execute '!' . &keywordprg . " " . expand('<cword>') + endif +endfunction + +" Highlight the symbol and its references when holding the cursor. +autocmd CursorHold * silent call CocActionAsync('highlight') + +" Symbol renaming. +nmap <leader>rn <Plug>(coc-rename) + +" Formatting selected code. +xmap <leader>f <Plug>(coc-format-selected) +nmap <leader>f <Plug>(coc-format-selected) + +augroup mygroup + autocmd! + " Setup formatexpr specified filetype(s). + autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') + " Update signature help on jump placeholder. + autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') +augroup end + +" Applying codeAction to the selected region. +" Example: `<leader>aap` for current paragraph +xmap <leader>a <Plug>(coc-codeaction-selected) +nmap <leader>a <Plug>(coc-codeaction-selected) + +" Remap keys for applying codeAction to the current buffer. +nmap <leader>ac <Plug>(coc-codeaction) +" Apply AutoFix to problem on the current line. +nmap <leader>qf <Plug>(coc-fix-current) + +" Run the Code Lens action on the current line. +nmap <leader>cl <Plug>(coc-codelens-action) + +" Map function and class text objects +" NOTE: Requires 'textDocument.documentSymbol' support from the language server. +xmap if <Plug>(coc-funcobj-i) +omap if <Plug>(coc-funcobj-i) +xmap af <Plug>(coc-funcobj-a) +omap af <Plug>(coc-funcobj-a) +xmap ic <Plug>(coc-classobj-i) +omap ic <Plug>(coc-classobj-i) +xmap ac <Plug>(coc-classobj-a) +omap ac <Plug>(coc-classobj-a) + +" Remap <C-f> and <C-b> for scroll float windows/popups. +if has('nvim-0.4.0') || has('patch-8.2.0750') + nnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>" + nnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>" + inoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(1)\<cr>" : "\<Right>" + inoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(0)\<cr>" : "\<Left>" + vnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>" + vnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>" +endif + +" Use CTRL-S for selections ranges. +" Requires 'textDocument/selectionRange' support of language server. +nmap <silent> <C-s> <Plug>(coc-range-select) +xmap <silent> <C-s> <Plug>(coc-range-select) + +" Add `:Format` command to format current buffer. +command! -nargs=0 Format :call CocActionAsync('format') + +" Add `:Fold` command to fold current buffer. +command! -nargs=? Fold :call CocAction('fold', <f-args>) + +" Add `:OR` command for organize imports of the current buffer. +command! -nargs=0 OR :call CocActionAsync('runCommand', 'editor.action.organizeImport') + +" Add (Neo)Vim's native statusline support. +" NOTE: Please see `:h coc-status` for integrations with external plugins that +" provide custom statusline: lightline.vim, vim-airline. +set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} + +" Mappings for CoCList +" Show all diagnostics. +nnoremap <silent><nowait> <space>a :<C-u>CocList diagnostics<cr> +" Manage extensions. +nnoremap <silent><nowait> <space>e :<C-u>CocList extensions<cr> +" Show commands. +nnoremap <silent><nowait> <space>c :<C-u>CocList commands<cr> +" Find symbol of current document. +nnoremap <silent><nowait> <space>o :<C-u>CocList outline<cr> +" Search workspace symbols. +nnoremap <silent><nowait> <space>s :<C-u>CocList -I symbols<cr> +" Do default action for next item. +nnoremap <silent><nowait> <space>j :<C-u>CocNext<CR> +" Do default action for previous item. +nnoremap <silent><nowait> <space>k :<C-u>CocPrev<CR> +" Resume latest coc list. +nnoremap <silent><nowait> <space>p :<C-u>CocListResume<CR> +``` + +## Articles + +- [coc.nvim 插件体系介绍](https://zhuanlan.zhihu.com/p/65524706) +- [CocList 入坑指南](https://zhuanlan.zhihu.com/p/71846145) +- [Create coc.nvim extension to improve Vim experience](https://medium.com/@chemzqm/create-coc-nvim-extension-to-improve-vim-experience-4461df269173) +- [How to write a coc.nvim extension (and why)](https://samroeca.com/coc-plugin.html) + +## Trouble shooting + +Try these steps when you have problem with coc.nvim. + +- Make sure your Vim version >= 8.0 by command `:version`. +- If service failed to start, use command `:CocInfo` or `:checkhealth` on Neovim. +- Checkout the log of coc.nvim by command `:CocOpenLog`. +- When you have issues with the language server, it's recommended to [checkout + the output](https://github.com/neoclide/coc.nvim/wiki/Debug-language-server#using-output-channel). + +## Feedback + +- If you think Coc is useful, consider giving it a star. +- If you have a question, [ask on gitter](https://gitter.im/neoclide/coc.nvim) +- 中文用户请到 [中文 gitter](https://gitter.im/neoclide/coc-cn) 讨论 +- If something is not working, [create an + issue](https://github.com/neoclide/coc.nvim/issues/new). + +## Backers + +[Become a backer](https://opencollective.com/cocnvim#backer) and get your image on our README on Github with a link to your site. + +<a href="https://opencollective.com/cocnvim/backer/0/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/0/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/1/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/1/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/2/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/2/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/3/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/3/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/4/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/4/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/5/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/5/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/6/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/6/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/7/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/7/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/8/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/8/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/9/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/9/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/10/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/10/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/11/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/11/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/12/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/12/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/13/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/13/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/14/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/14/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/15/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/15/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/16/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/16/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/17/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/17/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/18/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/18/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/19/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/19/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/20/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/20/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/21/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/21/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/22/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/22/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/23/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/23/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/24/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/24/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/25/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/25/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/26/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/26/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/27/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/27/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/28/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/28/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/29/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/29/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/30/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/30/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/31/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/31/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/32/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/32/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/33/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/33/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/34/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/34/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/35/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/35/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/36/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/36/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/37/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/37/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/38/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/38/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/39/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/39/avatar.svg?requireActive=false"></a> +<a href="https://opencollective.com/cocnvim/backer/40/website?requireActive=false" target="_blank"><img src="https://opencollective.com/cocnvim/backer/40/avatar.svg?requireActive=false"></a> + +<a href="https://opencollective.com/cocnvim#backer" target="_blank"><img src="https://images.opencollective.com/static/images/become_backer.svg"></a> + +## Support the project + +Buy cloud service from [www.vultr.com](https://www.vultr.com/?ref=8890170-6G) + +## License + +MIT diff --git a/nvim/plugged/coc.nvim/bin/prompt.js b/nvim/plugged/coc.nvim/bin/prompt.js new file mode 100644 index 00000000..2361a58e --- /dev/null +++ b/nvim/plugged/coc.nvim/bin/prompt.js @@ -0,0 +1,73 @@ +/* + * Used for prompt popup on vim + */ +const readline = require("readline") +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + escapeCodeTimeout: 0 +}) +rl.setPrompt('') +let value = process.argv[2] +if (value) { + rl.write(value) +} +rl.on('line', input => { + let text = input.replace(/"/g, '\\"') + console.log(createSequences(JSON.stringify(['call', 'CocPopupCallback', ['confirm', text]]))) + process.exit() +}) + +function createSequences(str) { + return '\033]51;' + str + '\x07' +} + +process.stdin.on('keypress', (_, key) => { + if (key) { + let k = getKey(key) + if (k == '<bs>') { + return + } + if (k == '<cr>') { + process.exit() + return + } + if (k == '<esc>') { + console.log(createSequences(JSON.stringify(['call', 'CocPopupCallback', ['exit', '']]))) + process.exit() + return + } + if (k) { + console.log(createSequences(JSON.stringify(['call', 'CocPopupCallback', ['send', k]]))) + } + } +}) + +function getKey(key) { + if (key.sequence == '\u001b') { + return '<esc>' + } + if (key.sequence == '\r') { + return '<cr>' + } + if (key.sequence == '\t') { + return key.shift ? '<s-tab>' : '<tab>' + } + // handle them can cause bug with terminal + // if (key.name == 'backspace') { + // return '<bs>' + // } + // if (key.name == 'left') { + // return '<left>' + // } + // if (key.name == 'right') { + // return '<right>' + // } + if (key.name == 'up') { + return '<up>' + } + if (key.name == 'down') { + return '<down>' + } + return '' +} diff --git a/nvim/plugged/coc.nvim/bin/terminateProcess.sh b/nvim/plugged/coc.nvim/bin/terminateProcess.sh new file mode 100755 index 00000000..513068d2 --- /dev/null +++ b/nvim/plugged/coc.nvim/bin/terminateProcess.sh @@ -0,0 +1,12 @@ +#!/bin/bash +terminateTree() { + for cpid in $(pgrep -P $1); do + terminateTree $cpid + done + kill -9 $1 > /dev/null 2>&1 +} + +for pid in $*; do + terminateTree $pid +done + diff --git a/nvim/plugged/coc.nvim/esbuild.js b/nvim/plugged/coc.nvim/esbuild.js new file mode 100644 index 00000000..9ab20185 --- /dev/null +++ b/nvim/plugged/coc.nvim/esbuild.js @@ -0,0 +1,75 @@ +const cp = require('child_process') +const fs = require('fs') +const path = require('path') +let revision = '' +try { + let res = cp.execSync('git rev-parse HEAD', {encoding: 'utf8'}) + revision = res.trim().slice(0, 10) +} catch (e) { + // ignore +} + +let envPlugin = { + name: 'env', + setup(build) { + build.onResolve({filter: /\/appenders/}, args => { + let fullpath = path.join(args.resolveDir, args.path) + return { + path: path.relative(__dirname, fullpath).replace(/\\/g, '/'), + namespace: 'env-ns' + } + }) + build.onLoad({filter: /^node_modules\/log4js\/lib\/appenders$/, namespace: 'env-ns'}, args => { + let content = fs.readFileSync(path.join(args.path, 'index.js'), 'utf8') + return { + contents: content.replace(/require\.main/g, '""'), + resolveDir: args.path + } + }) + } +} + +async function start(watch) { + await require('esbuild').build({ + entryPoints: ['src/main.ts'], + bundle: true, + watch, + minify: process.env.NODE_ENV === 'production', + sourcemap: process.env.NODE_ENV === 'development', + define: {REVISION: '"' + revision + '"', ESBUILD: 'true'}, + mainFields: ['module', 'main'], + platform: 'node', + target: 'node12.12', + outfile: 'build/index.js', + banner: { + js: `(function () { + var v = process.version + var parts = v.slice(1).split('.') + var major = parseInt(parts[0], 10) + var minor = parseInt(parts[1], 10) + if (major < 12 || (major == 12 && minor < 12)) { + throw new Error('coc.nvim requires node >= v12.12.0, current version: ' + v) + } +})(); ` + }, + plugins: [envPlugin] + }) +} + +let watch = false +if (process.argv.length > 2 && process.argv[2] === '--watch') { + console.log('watching...') + watch = { + onRebuild(error) { + if (error) { + console.error('watch build failed:', error) + } else { + console.log('watch build succeeded') + } + }, + } +} + +start(watch).catch(e => { + console.error(e) +}) diff --git a/nvim/plugged/coc.nvim/history.md b/nvim/plugged/coc.nvim/history.md new file mode 100644 index 00000000..4f79cfc3 --- /dev/null +++ b/nvim/plugged/coc.nvim/history.md @@ -0,0 +1,1191 @@ +# 2022-01-17 + +- Extend `buffer.updateHighlights` to support `priority`, `combine`, `start_incl` and `end_incl`. +- Add configuration `diagnostic.highlightPriority`. +- Add configuration `colors.filetypes` and `colors.highlightPriority`. + +# 2022-01-16 + +- Add configuration `codeLens.position`. + +# 2022-01-14 + +- Add configuration `suggest.selection`. + +# 2022-01-13 + +- `codeLens.separator` now defaults to `""` and will be placed above lines on neovim >= 0.6.0 . +- Add configurations 'diagnostic.locationlistLevel', 'diagnostic.signLevel', 'diagnostic.messageLevel'. + +# 2022-01-12 + +- Add document.lineAt(), export TextLine class. +- Upgrade node-client, support nvim.exec(). +- Add documentHighlight.priority configuration. + +# 2019-08-18 0.0.74 + +- feat(cursors): support multiple cursors. +- feat(extensions): install missing extensions by CocInstall. +- feat(extensions): add command `extensions.forceUpdateAll`. +- feat(completion): rework preselect feature. +- feat(extension): use request for fetch package info. +- feat(language-client): support disableDynamicRegister configuration. +- feat(list): paste from vim register support on insert mode #1088. +- feat(plugin): add CocHasProvider(), close #1087. +- refactor(outline): not exclude variables and callback. +- refactor(diagnostic): remove timeout on InsertLeave. + +# 2019-07-11 0.0.73 + +- fix(completion): fix map of number select +- fix(languages): fix cursor position with snippet +- fix(completion): fix cursor position with additionalTextEdits +- fix(position): fix rangeOverlap check #961 +- fix(list): not change guicursor when it's empty +- fix(list): fix filter not work on loading +- fix(list): fix custom location list command not work +- fix(util): highlight & render on vim8 +- fix(handler): fix getCommands +- fix(handler): not check lastInsert on trigger signatureHelp +- fix(handler): fix check of signature help trigger +- fix(language-client): configuration for configured server, closes #930 +- fix(diagnostic): clear diagnostics on filetype change +- feat(plugin): add download & fetch modules +- feat(plugin): add highligher module +- feat(refactor): add `<Plug>(coc-refactor)` for refactor window +- feat(extension): use mv module for folder rename +- feat(extension): support install taged extension +- feat(extension): support custom extension root `g:coc_extension_root` +- feat(handler): close signature float window on ')' +- feat(list): support `g:coc_quickfix_open_command` +- feat(list): add eval action +- feat(list): add --tab list option +- feat(list): use highligher module for showHelp +- feat(terminal): add noa on window jump +- feat(terminal): support vim8 +- feat(diagnostic): add diagnosticRelated support +- feat(diagnostic): use text properties on vim8 +- feat(handler): improve signature float window + +# 2019-07-01 + +- feat(plugin): add CocStatusChange autocmd +- feat(extension): support both npm and yarn. +- feat(plugin): work on vim 8.0 +- feat(extensions): add lock & doc actions to extension source +- feat(extension): add proxy auth support (#920) +- feat(source): not change startcol for file source +- feat(completion): no numberSelect for number input +- feat(extensions): Use yarn when npm not found +- feat(completion): no popup for command line buffer +- feat(plugin): support only for codeActions action +- feat(task): debounce stdout +- feat(plugin): add keymaps for selection ranges +- feat(plugin): add function textobj +- feat(list): restore window height, closes #905 +- feat(handler): support signature.floatTimeout +- feat(configuration): support change of workspace configuration +- feat(diagnostic): add keymaps for jump error diagnostics +- feat(plugin): delay start on gvim, fix #659 + +# 2019-06-15 + +- feat(plugin): add popup support of vim +- refactor(completion): improve float support +- refactor(floating): remove unused code +- refactor(workspace): replace find-up +- refactor(handler): improve message for fold method +- fix(virtualtext): invalid highlight tag (#874) +- fix(snippets): fix plaintext check +- fix(highlight): catch error of child_process.spawn +- fix(highlight): use v:progpath, fix #871 +- fix(floatFactory): escape feedkeys +- fix(handler): fix getCurrentFunctionSymbol not work + +# 2019-06-12 + +- feat(document): add getVar method +- fix(util): not break selection on message +- fix(workspace): fix jumpTo not work on vim8 +- fix(completion): trigger completion with word character +- refactor(handler): return boolean result +- perf(workspace): improve jump performance +- fix(util): Escape filename for jump (#862) +- refactor(plugin): not show empty hover +- feat(outline): ignore callback function +- feat(workspace): support list of events with registerAutocmd +- fix(workspace): fix jump with tab drop +- refactor(language-client): change API of selectionRanges + +# 2019-06-09 + +- **Break change** `CocHighlightText` link to `CursorColumn` by default. +- **Break change** logger folder changed to `$XDG_RUNTIME_DIR` when exists. +- Add `<PageUp>` and `<PageDown>` support for list, #825. +- Add function `coc#add_command()`. +- Add `disableDiagnostics` & `disableCompletion` to languageclient configuration. +- Add `signature.triggerSignatureWait` configuration. +- Add vim-repeat support for run command and quickfix. +- Add prefered `codeAction` support. +- Add `prompt.paste` action to list. +- Add title as argument support for `codeAction` action. +- Add `suggest.floatEnable` configuration. +- Add `editor.action.organizeImport` command. +- Add `:CocAction` and `:CocFix` commands. +- Add `codeActions` action. +- Fix issues with list. + +# 2019-05-30 + +- **Break change** logger folder changed. +- Add support of vim-repeat for `<Plug>` keymaps. +- Add `CocRegistNotification()` function. +- Add argument to rename action. +- Add `suggest.disableMenuShortcut` configuration. +- Add glob support for root patterns. +- Add `<esc>` keymap to list window. +- Add shortcut in sources list. +- Add `list.previewSplitRight` configuration. +- Add `triggerOnly` property to source. +- Add warning for duplicate extension. +- Bug fixes. + +# 2019-05-07 + +- **New feature** load extensions from coc-extensions folder. +- Add `workspace.renameCurrentFile` command. +- Add `FloatBuffer`, `FloatFactory` and `URI` to exports. +- Add `resolveItem` support to list. +- Fix prompt can't work when execute list action. +- Fix ansiparser for empty color ranges. +- Fix highlight only work with first 8 items. + +# 2019-04-27 + +- **Break change** vim-node-rpc not required on vim. +- **Break change** python not required on vim. +- **Break change** complete items would refreshed after 500ms when not finished. +- Add `additionalSchemes` for configured language server. +- Add support for jumpCommand as false. +- Fix `diagnostic.level` not work. + +# 2019-04-09 + +- **Break change** `--strictMatch` option of list renamed to `--strict` +- **Break change** `suggest.reloadPumOnInsertChar` support removed. +- **Break change** no more binary release. +- **Break change** logic for resolve workspace folder changed. +- Add `Task` module. +- Add `getCurrentFunctionSymbol` action. +- Add `list.source.outline.ctagsFilestypes` setting. +- Add `suggest.disableMenu` and `suggest.disableMenu` settings. +- Add `equal` support for complete items. +- Add support for do action with visual select lines of list. +- Add expand tilder support for language server command. +- Add switch matcher support to list. +- Add select all support to lsit. +- Add quickfix action to list. +- Add `selectionRanges` of LSP. +- Add load extentions for &rtp support. +- Add `coc#on_enter()` for formatOnType and add new lines on enter. +- Improve completion by support trigger completion when pumvisible. +- Remove document check on `BufWritePre`. + +# 2019-03-31 + +- **Break change** not using vim-node-rpc from npm modules any more. +- **Break change** rename `<Plug>_` to `<Plug>CocRefresh`. +- Fix wrong format options send to server. +- Fix throw eror when extention root not created. +- Fix MarkedString not considered as markdown. +- Fix echo message on vim exit. +- Fix error throw on file watch. +- Fix unexpected update of user configuration. + +# 2019-03-28 + +- Add `workspace.resolveRootFolder`. +- Add `diagnostic.joinMessageLines` setting. +- Add `suggest.completionItemKindLabels` setting. +- Add `memento` support for extention. +- Add `workspace.getSelectedRange`. +- Add `Terminal` module. +- Add command `workbench.action.reloadWindow`. +- Fix extention not activated by command. +- Fix broken undo with floating window. +- Fix document create possible wrong uri & filetype. +- Improve highlight with floating window. + +# 2019-03-24 + +- **Break change** make number input not trigger completion. +- **Break change** make none keywords character doesn't filter completion. +- Add functions for check snippet state. +- Add setting `diagnostic.checkCurrentLine`. +- Fix `signature.target` not work. +- Fix flick of signature window. +- Fix EPIPE error of node-client. +- Fix wrong root of FileWatchSysmtem. + +# 2019-03-19 + +- **Break change** signature settings now starts `signature`. +- **Break change** default request timeout changed to 5s. +- **Break change** `commands.executeCommand` return promise. +- Add `coc.preferences.signatureHelpTarget`. +- Add `diagnostic.maxWindowHeight` & `signature.maxWindowHeight`. +- Add `diagnostic.enableSign`. +- Add support for `$COC_NO_PLUGINS`. +- Add keymaps: `<Plug>(coc-float-hide)` and `<Plug>(coc-float-jump)`. +- Add `coc.preferences.enableFloatHighlight`. +- Fix issues with floating window. +- Fix critical performance issue on diff text. +- Improve color of `CocHighlightText`. +- Improve sort of complete items. +- Improve extention list with version and open action. + +# 2019-03-16 + +- **Break change** change vim config home on windows to '\$HOME/vimfiles'. +- Add highlights to float windows. +- Add CocLocationsAsync(). +- Add support for `b:coc_suggest_disable`. +- Add support for `b:coc_suggest_blacklist`. +- Add setting `diagnostic.messageTarget`. +- Add floating window support for signatures. +- Fix issues with diagnostic float. +- Fix info of completion item not shown. +- Fix CocUpdateSync not work without service start. +- Fix wrong indent spaces of snippets. + +# 2019-03-11 + +- **Break change** change buffers instead of disk file for `workspace.applyEdits`. +- **Break change** add config errors to diagnostic list instead of jump locations. +- **Break change** hack for popup menu flicker is remvoed, use `suggest.reloadPumOnInsertChar` to enable it. +- **Break change** use `nvim_select_popupmenu_item` for number select completion. +- Add floating window for completion items. +- Add floating window support for diagnostics. +- Add floating window support for hover documentation. +- Add `coc#on_enter()` for notify enter pressed. +- Add setting `coc.preferences.useQuickfixForLocations`. +- Add support of `g:coc_watch_extensions` for automatic reload extentions. +- Add command: `editor.action.doCodeAction`. +- Fix service on restarted on windows after rebuild. +- Fix config of airline. +- Fix relative path of watchman. +- Improve Mru model. + +# 2019-03-03 + +- **Break change** signature change of `workspace.registerKeymap`. +- **Break change** `<esc>` of CocList can't be remapped any more. +- **Break change** use `yarnpkg` command instead of `yarn` when possible. +- **Break change** `noinsert` is removed from `completeopt` when `noselect` is + enabled, `<CR>` would break line by default. +- Add setting `diagnostic.refreshAfterSave`. +- Add chinese documentation. +- Add support of multiple line placeholder. +- Fix edit of nested snippet placeholders. +- Fix possible infinite create of documents. +- Fix check for resume completion. + +# 2019-02-25 + +- **Break change** default of `suggest.detailMaxLength` changed to 100. +- **Break change** option of `workspace.registerKeymap` changed. +- Add settings: `suggest.defailField`. +- Add check for autocmd in health check. +- Add trigger patterns support for complete sources. +- Add support of `coc-snippets-expand-jump` +- Add `source` option for completion start. +- Add `sources.createSource` method. + +# 2019-02-22 + +- **Break change** some configurations have been renamed, checkout #462. +- **Break change** no longer automatic trigger for CursorHoldI #452. +- **Break change** add preview option of `completeopt` according to `suggest.enablePreview`. +- Add statusItem for CocUpdate. +- Add `-sycn` option for `:CocInstall` +- Add support for floating preview window. +- Add more module export. +- Fix check of vim-node-rpc throw error. +- Fix wrong line for TextEdit of complete item. +- Fix diagnostics not cleared on service restart. + +# 2019-02-17 + +- **Break change** completion resolve requires CompleteChanged autocmd. +- **Break change** mapping of space on insert mode of list removed. +- **Break change** kind of completion item use single letter. +- Fix snippet not works on GUI vim. +- Fix cursor vanish on vim by use timer hacks. +- Fix behavior of list preview window. +- Fix python check on vim. +- Fix CocJumpPlaceholder not fired. +- Fix vscode-open command not work. + +# 2019-02-12 + +- **Break change** function `coc#util#clearmatches` signature changed. +- Add check for python gtk module. +- Add check for vim-node-rpc update error. +- Fix source name of diagnostics. +- Fix empty buffers created on preview. +- Fix trigger of `CursorHoldI`. + +# 2019-02-11 + +- **Break change:** internal filetype of settings file changed to jsonc. +- **Break change:** `coc#util#install` changed to synchronize by default. +- **Break change:** no document highlight would be added for colored symbol. +- **Break change:** remove `coc.preferences.openResourceCommand`. +- Add fallback rename implementation which rename symbols on current buffer. +- Add command `:CocUpdateSync`. +- Add `coc.preferences.detailMaxLength` for slice detail on completion menu. +- Add cancel support for completion. +- Add `ctags` as fallback of document symbols list. +- Add default key-mappings for location actions. +- Add python check on vim. +- Add `disableSyntaxes` support for completion sources. +- Add support for change `isProgress` of `StatusBarItem` +- Add check of coc.nvim version for `CocUpdate` +- Add `coc.preferences.previewAutoClose`, default true. +- Add `workspace.add registerAutocmd`. +- Fix highlight not cleared on vim +- Fix health check of service state. +- Fix CursorHoldI not triggered on neovim. +- Fix sort of list not stable. + +# 2019-02-04 + +- **Break change:** no messages when documentSymbol and workspaceSymbol provider + not found. +- Add support for configure sign in statusline. +- Add help action for list. +- Fix parse error on extentions update. +- Fix wrong uri on windows. +- Fix cancel list without close ui. +- Improve startup time by remove jobwait. + +# 2019-02-02 + +- **Break change:** extentions now update automatically, prompt is removed. +- Add check for extention compatibility. +- Add transform support for placeholder. +- Add check for node version. +- Add error check for list. +- Add settings: `coc.preferences.diagnostic.virtualTextLines`. +- Fix preview window not shown. +- Fix highlight not cleared on vim. +- Fix highlight commands of list block vim on start. +- Improve extention load. +- Improve list experience. + +# 2019-01-28 + +- **Break change:** `coc.preferences.diagnostic.echoMessage` changed to enum. +- Add mru support for commands and lists list. +- Add `coc.preferences.diagnostic.refreshOnInsertMode` +- Add `Mru` module. +- Improve highlight for lists, support empty `filterLabel`. +- Fix `findLocations` not work with nest locations. +- Fix cursor position after apply additionalTextEdits. + +# 2019-01-24 + +- **Break change:** python code for denite support moved to seperated repo. +- **Break change:** Quickfix list no longer used. +- Add list support. +- Add configuration: `coc.preferences.diagnostic.virtualText`. +- Add watch for `&rtp` change. +- Add support for configure `g:coc_user_config` and `g:coc_global_extensions` +- Add support for send request to coc on vim start. +- Add `g:coc_start_at_startup` support. +- Add configuration: `coc.preferences.invalidInsertCharacters`. +- Add configuration: `coc.preferences.snippetStatusText`. +- Add `coc#_insert_key()` for insert keymap. +- Add `workspace.registerExprKeymap()`. +- Add detect for `vim-node-rpc` abnormal exist. +- Add `requireRootPattern` to languageserver configuration. +- Fix git check, always generate keywords. +- Fix crash when `righleft` set to 1 on neovim. +- Fix snippet position could be wrong. + +# 2019-01-09 + +- **Break change:** throw error when languageserver id is invalid. +- Add watcher for languageserver configuration change. +- Fix possible invalid package.json. +- Fix applyEdits not work sometimes. +- Fix server still started when command search failed. +- Fix log file not writeable. +- Improve completion performance. + +# 2019-01-03 + +- **Break change:** using of `g:rooter_patterns` is removed. +- **Break change:** diagnostics would be updated in insert mode now. +- Add configuration: `coc.preferences.rootPatterns` +- Add `TM_SELECTED_TEXT` and `CLIPBOARD` support for snippets. +- Fix check of latest insert char failed. +- Fix highlight not cleared sometimes. + +# 2019-01-01 + +- Fix issues with completion. + +# 2018-12-31 + +- **Break change:** created keymaps use rpcrequest instead of rpcnotify. +- **Break change:** snippets provider is removed, use `coc-snippets` for + extention snippets. +- Add command: `coc.action.insertSnippet` +- Fix position of snippets. +- Fix modifier of registered keymaps. +- Fix completion triggered on complete done. +- Fix closure function possible conflict. +- Fix unexpected snippet cancel. +- Fix document applyEdits, always use current lines. +- Fix fail of yarn global command. +- Fix check of changedtick on completion done. +- Fix line used for textEdit of completion. +- Fix snippet canceled by `formatOnType`. +- Fix `CocJumpPlaceholder` not fired +- Optimize content synchronize. + +# 2018-12-27 + +- **Break change:** no more message on service ready. +- **Break change:** vim source now registered as extention. +- **Break change:** complete item sort have reworked. +- **Break change:** request send to coc would throw when service not ready. +- Add support for check current state on diagnostic update. +- Add `env` opinion for registered command languageserver. +- Add outputChannel for watchman. +- Add `coc#_select_confirm()` for trigger select and confirm. +- Add `coc.preferences.numberSelect`. +- Add priority support for format provider. +- Add `workspace.watchGlobal` and `workspace.watchOption` methods. +- Fix cursor disappear on `TextChangedP` with vim. +- Fix coc process not killed when update on windows. +- Fix snippet broken on vim. +- Fix support of startcol of completion result. +- Fix `labelOffsetSupport` wrong position. +- Fix flicking on neovim. +- Fix unicide not considered as iskeyword. +- Fix watchman client not initialized sometimes. +- Improve performance for parse iskeyword. +- Not echo message on vim exit. +- Not send empty configuration change to languageserver. + +# 2018-12-20 + +- **Break change** configuration for module language server, transport now + require specified value. +- **Break change** new algorithm for socre complete items. +- Add command `workspace.clearWatchman`. +- Add `quickfixs`, `doCodeAction` and `doQuickfix` actions. +- Add `g:vim_node_rpc_args` for debug purpose. +- Add `coc#add_extension()` for specify extentions to install. +- Fix clients not restarted on CocRestart. +- Fix `execArgv` and `runtime` not work for node language server. +- Fix detail of complete item not echoed sometimes. +- Fix actions missing when registered with same clientId. +- Fix issues with signature echo. +- Fix uri is wrong with whitespace. +- Improve highlight performance with `nvim_call_atomic`. + +# 2018-12-17 + +- **Break change** `vim-node-rpc` now upgrade in bacground. +- Add `ignoredRootPaths` to `languageserver` option. +- Add detect of vim running state. +- Add `client.vim` for create clients. +- Fix possible wrong current line of `completeResolve`. +- Fix snippet not work with `set virtualedit=all`. +- Fix default timeout to 2000. +- Fix file mode of log file. + +# 2018-12-12 + +- **Break change** `fixInsertedWord` fix inserted word which ends with word + after. +- **Break change** `onCompleteSelect` is removed. +- Add `workspace.registerKeymap` for regist keymap. +- Add match score for sort complete items. +- Fix possible connection lost. +- Fix priority of diagnostic signs. +- Fix possible wrong uri. +- Fix `RevealOutputChannelOn` not default to `never`. +- Fix possible wrong line used for textEdit of complete item. +- Fix possible wrong cursor position of snippet after inserted. + +# 2018-12-08 + +- **Break change** default rootPath would be directory of current file, not cwd. +- **Break change** codeLens feature now disabled by default. +- **Break change** diagnostic prev/next now loop diagnostics. +- Add support of neovim highlight namespace. +- Add support for undo `additionalTextEdits` on neovim +- Fix configuration resolve could be wrong. +- Fix word of completion item could be wrong. +- Fix rootPath could be null. +- Fix highlight not cleared on restart. + +# 2018-12-06 + +- **Break change** `RevealOutputChannelOn` of language client default to + `never`. +- Fix can't install on windows vim. +- Fix `displayByAle` not clearing diagnostics. +- Add check for `vim-node-rpc` udpate on vim. +- Add `Resolver` module. +- Improve apply `WorkspaceEdit`, support `0` as document version and merge + edits for same document. + +# 2018-12-05 + +- Add `CocJumpPlaceholder` autocmd. +- Add `rootPatterns` to `languageserver` config. +- Add setting: `coc.preferences.hoverTarget`, support use echo. +- Add setting `coc.preferences.diagnostic.displayByAle` for use ale to display errors. +- Add setting `coc.preferences.extensionUpdateCheck` for control update check of + extentions. +- Add `coc#config` for set configuration in vim. +- Fix rootPath not resolved on initialize. +- Fix possible wrong `tabSize` by use `shiftwidth` option. +- Fix trigger of `documentColors` request. +- Fix `vim-node-rpc` service not work on windows vim. +- Fix `codeLens` not works. +- Fix highlight of signatureHelp. +- Fix watchman watching same root multiple times. +- Fix completion throw undefined error. +- Fix `open_terminal` not works on vim. +- Fix possible connection lost by use notification when possible. +- Fix process not terminated when connection lost. +- Rework diagnostics with task sequence. +- Rework configuration with more tests. + +# 2018-11-28 + +- _Break change_ signature help reworked, vim API for echo signature changed. +- Add `:CocInfo` command. +- Add trigger for signature help after function expand. +- Add echo message when provider not found for some actions. +- Add support for `formatexpr` +- Add support for locality bonus like VSCode. +- Add support of `applyAdditionaLEdits` on item selected by `<esc>` +- Add `coc.preferences.useQuickfixForLocations` +- Add `coc.preferences.messageLevel` +- Add support for trigger command which not registered by server. +- Add `g:coc_denite_quickfix_action` +- Fix insert unwanted word when trigger `commitCharacter`. +- Fix rpc request throw on vim. +- Fix `data` of complete item conflict. +- Fix code action not work sometime. +- Fix `coc.preferences.diagnostic.locationlist` not work. +- Fix `coc.preference.preferCompleteThanJumpPlaceholder`. +- Fix `workspace.jumpTo` not work sometime. +- Fix line indent for snippet. +- Fix trigger of `signatureHelp` and `onTypeFormat`. + +# 2018-11-24 + +- **Break change** sources exluding `around`, `buffer` or `file` are extracted + as extensions. +- **Break change** custom source not exists any more. +- Add `coc.preferences.preferCompleteThanJumpPlaceholder` to make jump + placeholder behavior as confirm completion when possible. +- Add `CocDiagnosticChange` autocmd for force statusline update. +- Add `onDidUnloadExtension` event on extention unload. +- Fix `getDiagnosticsInRange`, consider all interactive ranges. +- Fix completion throw when `data` on complete item is `string`. +- Fix `commitCharacters` not works. +- Fix workspace methods: `renameFile`, `deleteFile` and `resolveRoot`. +- Fix textEdit of builtin sources not works. + +# 2018-11-19 + +- **Break change** snippet support reworked: support nest snippets, independent + session in each buffer and lots of fixes. +- **Break change** diagnostic list now sort by severity first. +- Add commands: `:CocUninstall` and `:CocOpenLog` +- Add cterm color for highlights. +- Add line highlight support for diagnostic. +- Add `coc.preferences.fixInsertedWord` to make complete item replace current word. +- Fix check confirm not works on vim sometimes. +- Fix check of `vim-node-rpc`. +- Fix preselect complete item not first sometimes. +- Improve completion sort result by consider more abort priority and recent + selected. +- Improve colors module, only highlight current buffer and when buffer changed. +- Improve `doc/coc.txt` + +# 2018-11-13 + +- **Break change** default completion timeout changed to 2s. +- **Break change** snippet session not canceled on `InsertLeave`, use + `<esc>` in normal mode to cancel. +- Add document color support. +- Add CocAction 'pickColor' and 'colorPresentation'. +- Add prompt for install vim-node-rpc module. +- Add support for `inComplete` completion result. +- Add status item for snippet session. +- Add support for fix inserted text of snippet completion item. +- Fix document highlight not cleared. +- Fix cancel behavior of snippet. +- Fix range check of edit on snippet session. +- Fix check of completion confirm. +- Fix highlight group 'CocHighlightWrite' not work. +- Fix command `editor.action.rename` not works. +- Fix throw error before initialize. +- Fix `g:coc_node_path` not working. +- Fix file source throw undefined error. +- Improve logic of sorting completion items, strict match items comes first. + +# 2018-11-07 + +- **Break change** word source removed from custom sources, enabled for markdown + by default. +- **Break change** ignore sortText when input.length > 3. +- **Break change** show prompt for install `coc-json` when not found. +- Fix document content synchronize could be wrong. +- Fix filetype not converted on completion. +- Fix complete item possible not resolved. +- Improve document highlight, no highlight when cursor moved. +- Improve completion score, use fuzzaldrin-plus replace fuzzaldrin. + +# 2018-11-02 + +- **Break change** no items from snippets source when input is empty. +- **Break change** `javascript.jsx` would changed to `javascriptreact` as languageId. +- **Break change** `typescript.tsx` would changed to `typescriptreact` as languageId. +- Add support for `commitCharacters` and `coc.preferences.acceptSuggestionOnCommitCharacter`. +- Add setting: `coc.preferences.diagnostic.level`. +- Add `g:coc_filetype_map` for customize mapping between filetype and languageId. +- Add `g:coc_node_path` for custom node executable. +- Add `workspaceFolders` feature to language client. +- Add `~` to complete item of snippet source. +- Add `onDidChangeWorkspaceFolder` event +- Fix `eol` issue by check `eol` option. +- Fix `workspace.document` could be null. +- Fix `workspaceFolder` could be null. +- Fix diagnostic for quickfix buffer. +- Fix resolve of `coc.preferences.rootPath` + +# 2018-10-29 + +- **Break change** diagnostic reworked, no refresh on insert mode. +- **Break change** keep `sortText` on filter for better result. +- **Break change** prefer trigger completion than filter, same as VSCode. +- **Break change** filetype of document would be first part of `&filetype` split by `.`. +- **Break change** prefer label as abbr for complete item. +- Fix creating wrong `textEdit` for snippet. +- Fix `startcol` of `CompleteResult` not working. +- Fix `workspaceConfiguration.toJSON` return invalid result. +- Fix `workspace.readFile` not synchronized with buffer. +- Fix `workspace.rootPath` not resolved as expected. +- Fix `CompletionItem` resolved multiple times. +- Fix check of `latestInsert` on completion. +- Fix `formatOnType` possible add unnecessary indent. +- Fix document content synchronized on vim. +- Fix confirm check of completion for all source. +- Fix document possible register multiple times. +- Fix completion always stopped when input is empty. +- Add warning message when definition not found. +- Add `redraw` after `g:coc_status` changed. +- Remove change of `virtualedit` option of snippet. +- Improved performance of filter completion items. + +# 2018-10-25 + +- Fix `implementation` and `typeDefinition` of language client not working. +- Fix `diffLines` return wrong range. +- Fix `setqflist` and `setloclist` not works on vim. +- Fix snippets and `additionalTextEdits` not works on vim. +- Fix append lines not works on vim. +- Fix highlight action not works on vim. +- Fix null version of `TextDocumentIdentifier` not handled. +- Add `workspace.registerTextDocumentContentProvider` for handle custom uri. +- Add `workspace.createStatusBarItem` method. + +# 2018-10-21 + +- **Break change**: `triggerAfterInsertEnter` now respect `minTriggerInputLength`. +- Add `coc.preferences.minTriggerInputLength`. +- Add command: `:CocCommand`. +- Fix `position` of `provideCompletionItems`. +- Fix content change not trigger after completion. +- Fix default sorters & matchers of denite sources. +- Fix `outputChannel` wrong `buftype`. +- Fix completion not works with `textEdit` add new lines. +- Fix first item not resolved when `noselect` is disabled +- Remove using of `diff` module. + +# 2018-10-18 + +- **Break change**: all buffers are created as document. +- **Break change**: retrieve workspace root on document create. +- Fix `uri` for all buffer types. +- Fix bad performance on parse keywords. +- Fix check of language client state. +- Fix register of `renameProvider` +- Fix `CocRequestAsync` not work. +- Fix `workspace.openResource` error with `wildignore` option. +- Fix output channel can't shown if hidden. +- Fix extension activate before document create. +- Add command `vscode.open` and `editor.action.restart`. +- Add `workspace.requestInput` method. +- Add support of `g:rooter_patterns` +- Add `storagePath` to `ExtensionContext` +- Add `workspace.env` property. +- Add support of scoped configuration. +- Disable buffer highlight on vim. + +# 2018-10-14 + +- **Break change** API: `workspace.resoleModule` only does resolve. +- **Break change** extension would still be loaded even if current coc version + miss match. +- **Break change** variables are removed from view of `Denite coc-symbols` +- Fix `workspace.applyEdits` +- Fix `console.log` throws in extension. +- Fix invalid `workspace.root` with custom buffer schema. +- Fix possible crash on neovim 0.3.1 by not attach terminal buffer. +- Fix jump position not stored when jump to current buffer position. +- Fix install function not works on vim. +- Add support for custom uri schema for `workspace.jumpTo` and `workspace.openResource` +- Add `workspace.findUp` for find up file of current buffer. +- Add `env` option for custom language server config. +- Add vim function: `CocRequest` and `CocRequestAsync` for send request to + language server in vim. +- Add `coc.preferences.parseKeywordsLimitLines` and `coc.preferences.hyphenAsKeyword` + for buffer parse. +- Rework completion for performance and accuracy. + +# 2018-10-05 + +- **Break change**, `workspace.onDidChangeConfiguration` emit `ConfigurationChangeEvent` now. +- Add `position` to function `coc#util#open_terminal`. +- Improve performance of completion by use vim's filter when possible. +- Fix service start multiple times. +- Fix parse of `iskeyword` option, consider `@-@`. +- Fix completion of snippet: cancel on line change. + +# 2018-10-01 + +- Improved document `didChange` before trigger completion. +- Add option `coc.preferences.triggerCompletionWait`, default 60. +- Add watch for `iskeyword` change. +- Fix snippet jump not works sometime. +- Fix possible wrong `rootPath` of language server. +- Fix highlight of highlight action not using terminal colors. +- Fix detect for insert new line character. + +# 2018-09-30 + +- Add quickfix source of denite and fzf +- Add option `coc.preferences.rootPath` +- Add option `revealOutputChannelOn` to language server. +- Fix jump of placeholder. +- Fix empty root on language server initialize. + +# 2018-09-28 + +- **Break change**: `coc.preferences.formatOnType` default to `false`. +- **Break change**: snippet completion disabled in `string` and `comment`. +- Add support for register local extension. +- Add title for commands in `Denite coc-command` +- Fix prompt hidden by echo message. +- Fix contribute commands not shown in denite interface. +- Fix parse of `iskeyword`, support character range. +- Fix `triggerKind` of completion. +- Fix install extension from url not reloaded. + +# 2018-09-27 + +- **Break change**: `:CocDisable` disabled all events from vim. +- **Break change**: new snippet implementation. + - Support multiple line snippet. + - Support VSCode snippet extension. + - Support completion of snippets from snippet extension. +- Add highlight groups for different severity. +- Add `coc.preferences.formatOnType` option. +- Add `coc.preferences.snippets.enable` option. +- Fix snippet not works as `insertText`. +- Fix echo message with multiple lines. +- Fix `signatureHelp` with `showcmd` disabled. +- Fix location list cleared on `:lopen`. +- Fix diagnostic info not cleared on `:CocDisable` +- Fix diagnostic info not cleared on buffer unload. +- Fix buffer highlight not cleared on `highlight` action. +- Fix format on type not work as expected. + +# 2018-09-24 + +- **Break change**: use `CursorMove` instead of `CursorHold` for diagnostic + message. +- **Break change**: direct move to diagnostic position would show diagnostic + message without truncate. +- **Break change**: snippet would be canceled when mode changed to normal, no + mapping of `<esc>` any more. +- Add format document on `insertLeave` when `onTypeFormat` is supported. +- Add buffer operations on resource edit. +- Add `uninstall` action for `Denite coc-extension`. +- Fix active extension on command not working. +- Fix delete file from resource edit not works. + +# 2018-09-20 + +- Fix diagnostic check next offset for diagnostics. +- Add `<Plug>(coc-diagnostic-info)` for show diagnostic message without + truncate. + +# 2018-09-15 + +- Fix wrong configuration on update. +- Fix install command with tag version. +- Fix using of unsafe `new Buffer`. +- Add support of trace format & resource operations. +- Add support of json validation for extension. +- Add support of format on save by `coc.preferences.formatOnSaveFiletypes` + +# 2018-09-10 + +- Add `Denite coc-extension` for manage extensions. +- Add actions for manage extension including `toggleExtension` `reloadExtension` + `deactivateExtension` +- Add check for extension update everyday. +- Fix extensions using same process of coc itself. +- Fix `configurationSection` should be null if none was specified. + +# 2018-09-07 + +- **Break change**: all extension all seperated from core, checkout + [Using coc extension](https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions) +- Fix `textDocumentSync` option not work when received as object. +- Fix wrong diagnostic info when using multiple lint servers. +- Use `CursorHold` for show diagnostic message. +- Add option `coc.preferences.enableMessage` to disable showing of diagnostic + message. +- Add new events module for receive vim events. +- Add support for `prepareRename`. +- Add support for `CodeActionOptions` + +# 2018-08-30 + +- Fix wrong `triggerKind` from VSCode. +- Add `<Plug>(coc-openlink)` for open link. +- Add `typescript.jsx` as valid typescript type. + +# 2018-08-23 + +- Fix sometimes client status invalid. +- Add multiply provider support for all features. +- Add `documentLink` support +- Add `documentHighlight` support +- Add `foldingRange` support +- Add support of `documentSelector` same as VSCode + +# 2018-08-21 + +- Fix diagnostic and arguments of tsserver. +- Add `keepfocus` option for `open_terminal`. +- Improve error catch of autocmds. +- Add `onTypeFormat` feature for language server +- Add `onTypeFormat` support for tsserver. +- Refactor and more tests of workspace. +- Fix `window/showMessageRequest` request. +- Use `callAsync` for async request to vim. +- Add `CocActionAsync` function send async request to server. + +# 2018-08-17 + +- Fix exists terminal buffer not watched. +- Fix buffer not attached after `edit!`. +- Fix clean diagnostics of `tsserver.watchBuild` command. +- Fix refresh of buffer. +- Fix document not found on `BufEnter`. + + Use `rpcrequest` for `BufCreate` + +- Fix no permission of log file. + + Disable create log file for root user. + +- Add more command for tsserver: + + - `tsserver.reloadProjects` + - `tsserver.openTsServerLog` + - `tsserver.goToProjectConfig` + - `tsserver.restart` + +- Add test for workspace. + +# 2018-08-16 + +- Improved for tsserver: + + - Add `watchBuild` command for build current project with watch in terminal. + - Support of untitled buffer + - Support `projectRootPath` + +- Fix detach error of document. +- Fix trigger characters not works for some source. +- Fix document possible not sync before save. +- Fix denite errors with 0 as result. +- Fix wrong arguments of tsserver refactor command. +- Use `drop` for workspace `openResource`. +- Add clear coc signs on `:CocRestart`. +- **Break change** all buffer types except `nofile` `help` and `quickfix` are + watched for changes. + +# 2018-08-15 + +- Fix filter of completion items on fast input. +- Fix sometimes fails of include & neosnippet source. +- Fix sometimes fails to find global modules. +- Improve complete source initialization. + + - Always respect change of configuration. + +- Add ability to start standalone coc service for debugging. + + - Use `NVIM_LISTEN_ADDRESS=/tmp/nvim nvim` to start + neovim. + - Start coc server by command like `node bin/server.js` + +- Add ability to recover from unload buffer. + + Sometimes `bufReadPost` `BufEnter` could be not be fired on buffer create, + check buffer on `CursorHold` and `TextChanged` to fix this issue. + +- Add tsserver features: `tsserver.formatOnSave` and `tsserver.organizeImportOnSave` + + Both default to false. + +- Add tests for completion sources. + +# 2018-08-14 + +- Fix remote source not working. +- Fix sort of completion items. +- Fix EPIPE error from net module. +- Add `tslint.lintProject` command. +- Add config `coc.preferences.maxCompleteItemCount`. +- Add `g:coc_auto_copen`, default to `1`. + +# 2018-08-12 + +- **Break change** `:CocRefresh` replaced with `call CocAction('refreshSource')`. +- Add support filetype change of buffer. +- Add basic test for completion. +- Improve loading speed, use child process to initialize vim sources. +- Improve install.sh, install node when not exists. +- Improve interface of workspace. +- Fix loading of configuration content. + +# 2018-08-11 + +- Fix configuration content not saved on change. +- Fix thrown error on watchman not found. +- Fix incompatible options of `child_process`. +- Fix location list for diagnostics. + + - Reset on `BufWinEnter`. + - Available for all windows of single buffer. + - Use replace on change for coc location list. + - Add debounce. + +- Fix signature help behaviour, truncate messages to not overlap. +- Reworks sources use async import. + +# 2018-08-10 + +- Fix dispose for all modules. +- Add support for multiple `addWillSaveUntilListener`. +- Fix `startcol` for json server. +- Add support filetype `javascriptreact` for tsserver. + +# 2018-08-09 + +- Add `coc#util#install` for installation. +- Add `install.cmd` for windows. + +# 2018-08-08 + +- Improved location list for diagnostics. +- Add `internal` option to command. + + Commands registered by server are internal. + +- Add support for multiple save wait until requests. + +# 2018-08-07 + +- Add `forceFullSync` to language server option. + +# 2018-08-05 + +- Improve eslint extension to use workspaceFolder. +- Fix watchman not works with multiple roots. +- Add feature: dynamic root support for workspace. +- **Break change** output channel of watchman is removed. + +# 2018-08-04 + +- Fix order of document symbols. +- Fix completion snippet with `$variable`. +- Add feature: expand snippet on confirm. +- Add feature: `<Plug>(coc-complete-custom)` for complete custom sources. + + Default customs sources: `emoji`, `include` and `word` + +- **Break change** `emoji` `include` used for all filetypes by default. + +# 2018-08-03 + +- Add command `:CocErrors` for debug. +- Support `DocumentSymbol` for 'textDocument/documentSymbol' + +# 2018-08-02 + +- Fix error of language client with unsupported schema. + + No document event fired for unsupported schema (eg: fugitive://) + +- Fix update empty configuration not works. + +# 2018-07-31 + +- Improve file source triggered with dirname started path. + +# 2018-07-30 + +- Fix source ultisnip not working. +- Fix custom language client with command not working. +- Fix wrong arguments passed to `runCommand` function. +- Improve module install, add `sudo` for `npm install` on Linux. +- Improve completion on backspace. + - Completion is resumed when search is empty. + - Completion is triggered when user try to fix search. + +# 2018-07-29 + +- **Break change** all servers are decoupled from coc.nvim + + A prompt for download is shown when server not found. + +- **Break change** `vim-node-rpc` decoupled from coc.nvim + + A prompt would be shown to help user install vim-node-rpc in vim. + +- Add command `CocConfig` + +# 2018-07-28 + +- Fix uncaught exception error on windows. +- Use plugin root for assets resolve. +- Fix emoji source not triggered by `:`. +- Improve file source to recognize `~` as user home. + +# 2018-07-27 + +- Prompt user for download server module with big extension like `vetur` and `wxml-langserver` +- **Break change**, section of settings changed: `cssserver.[languageId]` moved to `[languageId]` + + For example: `cssserver.css` section is moved to `css` section. + + This makes coc settings of css languages the same as VSCode. + +- **Break change**, `stylelint` extension is disabled by default, add + + ``` + "stylelint.enable": true, + ``` + + to your `coc-settings.json` to enable it. + + User will be prompted to download server if `stylelint-langserver` is not + installed globally. + +- **Break change**, `triggerAfterInsertEnter` is always `true`, add + + ``` + "coc.preferences.triggerAfterInsertEnter": false, + ``` + + to your `coc-settings.json` to disable it. + +- **Break change**, when `autoTrigger` is `always` completion would be triggered + after completion item select. + +# 2018-07-24 + +- better statusline integration with airline and lightline. + +# 2018-07-23 + +- Coc service start much faster. +- Add vim-node-rpc module. +- **Break change** global function `CocAutocmd` and `CocResult` are removed. +- Support Vue with vetur + +# 2018-07-21 + +- Fix issue with `completeopt`. +- Add source `neosnippet`. +- Add source `gocode`. + +# 2018-07-20 + +- Add documentation for language server debug. +- Rework register of functions, avoid undefined function. + +# 2018-07-19 + +- Fix error of `isFile` check. +- Ignore undefined function on service start. + +# 2018-07-17 + +- Add `coc.preference.jumpCommand` to settings. +- Make coc service standalone. + +# 2018-07-16 + +- Support arguments for `runCommand` action. +- Add coc command `workspace.showOutput`. +- Support output channel for language server. +- Support `[extension].trace.server` setting for trace server communication. + +# 2018-07-15 + +- Support location list for diagnostic. +- Add tsserver project errors command. + +# 2018-07-14 + +- Add support for `preselect` of complete item. +- Add support for socket language server configuration. +- Fix configured language server doesn't work. +- Add `workspace.diffDocument` coc command. +- Fix buffer sometimes not attached. +- Improve completion of JSON extension. + +# 2018-07-13 + +- **Break change:** `diagnostic` in setting.json changed to `diagnostic`. +- Fix clearHighlight arguments. +- Add eslint extension https://github.com/Microsoft/vscode-eslint. +- Fix snippet break with line have \$variable. +- Use jsonc-parser replace json5. +- Add `data/schema.json` for coc-settings.json. + +# 2018-07-12 + +- Fix restart of tsserver not working. +- Fix edit of current buffer change jumplist by using `:keepjumps`. diff --git a/nvim/plugged/coc.nvim/jest.js b/nvim/plugged/coc.nvim/jest.js new file mode 100644 index 00000000..97e40400 --- /dev/null +++ b/nvim/plugged/coc.nvim/jest.js @@ -0,0 +1,17 @@ +const path = require('path') +const os = require('os') +const fs = require('fs') + +process.on('uncaughtException', function (err) { + let msg = 'Uncaught exception: ' + err.stack + console.error(msg) +}) + +module.exports = async () => { + let dataHome = path.join(os.tmpdir(), `coc-test/${process.pid}`) + fs.mkdirSync(dataHome, {recursive: true}) + process.env.NODE_ENV = 'test' + process.env.COC_DATA_HOME = dataHome + process.env.COC_VIMCONFIG = path.join(__dirname, 'src/__tests__') + process.env.TMPDIR = '/tmp/coc-test' +} diff --git a/nvim/plugged/emmet-vim/.github/FUNDING.yml b/nvim/plugged/emmet-vim/.github/FUNDING.yml new file mode 100644 index 00000000..8f804949 --- /dev/null +++ b/nvim/plugged/emmet-vim/.github/FUNDING.yml @@ -0,0 +1,8 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: mattn # Replace with a single Patreon username +open_collective: mattn # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +custom: # Replace with a single custom sponsorship URL diff --git a/nvim/plugged/emmet-vim/.gitignore b/nvim/plugged/emmet-vim/.gitignore new file mode 100644 index 00000000..0a56e3fc --- /dev/null +++ b/nvim/plugged/emmet-vim/.gitignore @@ -0,0 +1 @@ +/doc/tags diff --git a/nvim/plugged/emmet-vim/.gitmodules b/nvim/plugged/emmet-vim/.gitmodules new file mode 100644 index 00000000..2dc018d9 --- /dev/null +++ b/nvim/plugged/emmet-vim/.gitmodules @@ -0,0 +1,4 @@ +[submodule "docs"] + path = docs + url = https://github.com/mattn/emmet-vim + branch = gh-pages diff --git a/nvim/plugged/emmet-vim/.travis.yml b/nvim/plugged/emmet-vim/.travis.yml new file mode 100644 index 00000000..9bec4618 --- /dev/null +++ b/nvim/plugged/emmet-vim/.travis.yml @@ -0,0 +1,11 @@ +language: generic +sudo: false +dist: xenial +git: + depth: 10 + +script: + - uname -a + - which -a vim + - vim --cmd version --cmd quit + - make test diff --git a/nvim/plugged/emmet-vim/LICENSE b/nvim/plugged/emmet-vim/LICENSE new file mode 100644 index 00000000..5794eddc --- /dev/null +++ b/nvim/plugged/emmet-vim/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2019 Yasuhiro Matsumoto + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/nvim/plugged/emmet-vim/Makefile b/nvim/plugged/emmet-vim/Makefile new file mode 100644 index 00000000..6bd2af15 --- /dev/null +++ b/nvim/plugged/emmet-vim/Makefile @@ -0,0 +1,15 @@ +all : emmet-vim.zip + +remove-zip: + -rm doc/tags + -rm emmet-vim.zip + +emmet-vim.zip: remove-zip + zip -r emmet-vim.zip autoload plugin doc + +release: emmet-vim.zip + vimup update-script emmet.vim + +test: + @-rm -f test.log 2> /dev/null + @vim -N -c "let &rtp .= ',' . getcwd()" -c "so unittest.vim" -c EmmetUnitTest! || cat test.log || exit 1 diff --git a/nvim/plugged/emmet-vim/README.mkd b/nvim/plugged/emmet-vim/README.mkd new file mode 100644 index 00000000..2d402ea9 --- /dev/null +++ b/nvim/plugged/emmet-vim/README.mkd @@ -0,0 +1,200 @@ +# Emmet-vim + + +[![Build Status](https://travis-ci.org/mattn/emmet-vim.svg?branch=master)](https://travis-ci.org/mattn/emmet-vim) + +[emmet-vim](https://mattn.github.io/emmet-vim/) is a vim plug-in +which provides support for expanding abbreviations similar to +[emmet](http://emmet.io/). + +![screenshot](https://raw.githubusercontent.com/mattn/emmet-vim/master/doc/screenshot.gif) + +## Installation + +[Download zip file](http://www.vim.org/scripts/script.php?script_id=2981): + +```sh +cd ~/.vim +unzip emmet-vim.zip +``` + +To install using [pathogen.vim](https://github.com/tpope/vim-pathogen): + +```sh +git clone https://github.com/mattn/emmet-vim.git ~/.vim/bundle/emmet-vim +``` + +To install using [Vundle](https://github.com/gmarik/vundle): + +```vim +" add this line to your .vimrc file +Plugin 'mattn/emmet-vim' +``` + +To install using [Vim-Plug](https://github.com/junegunn/vim-plug): + +```vim +" add this line to your .vimrc file +Plug 'mattn/emmet-vim' +``` + +To checkout the source from repository: + +```sh +cd ~/.vim/bundle +git clone https://github.com/mattn/emmet-vim.git +``` + +or: + +```sh +git clone https://github.com/mattn/emmet-vim.git +cd emmet-vim +cp plugin/emmet.vim ~/.vim/plugin/ +cp autoload/emmet.vim ~/.vim/autoload/ +cp -a autoload/emmet ~/.vim/autoload/ +``` + + +## Quick Tutorial + +Open or create a New File: + +```sh +vim index.html +``` + +Type ("\_" is the cursor position): + + html:5_ + +Then type `<c-y>,` (<kbd>Ctrl</kbd><kbd>y</kbd><kbd>,</kbd>), and you should see: + +```html +<!DOCTYPE HTML> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <title> + + + _ + + +``` + +[More Tutorials](https://raw.githubusercontent.com/mattn/emmet-vim/master/TUTORIAL) + + +## Enable in different mode + +If you don't want to enable emmet in all modes, +you can use set these options in `vimrc`: + +```vim +let g:user_emmet_mode='n' "only enable normal mode functions. +let g:user_emmet_mode='inv' "enable all functions, which is equal to +let g:user_emmet_mode='a' "enable all function in all mode. +``` + +## Enable just for html/css + +```vim +let g:user_emmet_install_global = 0 +autocmd FileType html,css EmmetInstall +``` + +## Redefine trigger key +To remap the default `` leader: + +```vim +let g:user_emmet_leader_key='' +``` + +Note that the trailing `,` still needs to be entered, so the new keymap would be `,`. + +## Adding custom snippets +If you have installed the [web-api](https://github.com/mattn/webapi-vim) for **emmet-vim** you can also add your own snippets using a custom **snippets.json** file. + +Once you have installed the [web-api](https://github.com/mattn/webapi-vim) add this line to your **.vimrc**: +``` +let g:user_emmet_settings = webapi#json#decode(join(readfile(expand('~/.snippets_custom.json')), "\n")) +``` +You can change the **path** to your **snippets_custom.json** according to your preferences. + +[Here](http://docs.emmet.io/customization/snippets/) you can find instructions about creating your customized **snippets.json** file. + +## Snippet to add meta tag for responsiveness +Update this in your .vimrc file. + + + let g:user_emmet_settings = { + \ 'variables': {'lang': 'ja'}, + \ 'html': { + \ 'default_attributes': { + \ 'option': {'value': v:null}, + \ 'textarea': {'id': v:null, 'name': v:null, 'cols': 10, 'rows': 10}, + \ }, + \ 'snippets': { + \ 'html:5': "\n" + \ ."\n" + \ ."\n" + \ ."\t\n" + \ ."\t\n" + \ ."\t\n" + \ ."\n" + \ ."\n\t${child}|\n\n" + \ ."", + \ }, + \ }, + \} + + +## Project Authors + +[Yasuhiro Matsumoto](http://mattn.kaoriya.net/) + +## FAQ + +* Pressing ctrl+y+, doesn't work + + Probably you set `timeoutlen=0`. Most of Vim plugins which using key-mappings does not work with `timeoutlen=0`. + +## Links + +### Emmet official site: + +* + +### zen-coding official site: + +* + +### emmet.vim: + +* + +### development repository: + +* + +### my blog posts about zencoding-vim: + +* + +* + +### Japanese blog posts about zencoding-vim: + +* + +* + +* + +* + +### A Chinese translation of the tutorial: + +* + diff --git a/nvim/plugged/emmet-vim/TODO b/nvim/plugged/emmet-vim/TODO new file mode 100644 index 00000000..e69de29b diff --git a/nvim/plugged/emmet-vim/TUTORIAL b/nvim/plugged/emmet-vim/TUTORIAL new file mode 100644 index 00000000..7d4ba615 --- /dev/null +++ b/nvim/plugged/emmet-vim/TUTORIAL @@ -0,0 +1,212 @@ +Tutorial for Emmet.vim + + mattn + +1. Expand an Abbreviation + + Type the abbreviation as 'div>p#foo$*3>a' and type ','. + --------------------- +
+

+ +

+

+ +

+

+ +

+
+ --------------------- + +2. Wrap with an Abbreviation + + Write as below. + --------------------- + test1 + test2 + test3 + --------------------- + Then do visual select(line wise) and type ','. + Once you get to the 'Tag:' prompt, type 'ul>li*'. + --------------------- +
    +
  • test1
  • +
  • test2
  • +
  • test3
  • +
+ --------------------- + + If you type a tag, such as 'blockquote', then you'll see the following: + --------------------- +
+ test1 + test2 + test3 +
+ --------------------- + +3. Balance a Tag Inward + + type 'd' in insert mode. + +4. Balance a Tag Outward + + type 'D' in insert mode. + +5. Go to the Next Edit Point + + type 'n' in insert mode. + +6. Go to the Previous Edit Point + + type 'N' in insert mode. + +7. Update an ’s Size + + Move cursor to the img tag. + --------------------- + + --------------------- + Type 'i' on img tag + --------------------- + + --------------------- + +8. Merge Lines + + select the lines, which include '
  • ' + --------------------- +
      +
    • +
    • +
    • +
    + --------------------- + and then type 'm' + --------------------- +
      +
    • +
    + --------------------- + +9. Remove a Tag + + Move cursor in block + --------------------- + + --------------------- + Type 'k' in insert mode. + --------------------- +
    + +
    + --------------------- + + And type 'k' in there again. + --------------------- + + --------------------- + +10. Split/Join Tag + + Move the cursor inside block + --------------------- +
    + cursor is here +
    + --------------------- + Type 'j' in insert mode. + --------------------- +
    + --------------------- + + And then type 'j' in there again. + --------------------- +
    +
    + --------------------- + +11. Toggle Comment + + Move cursor inside the block + --------------------- +
    + hello world +
    + --------------------- + Type '/' in insert mode. + --------------------- + + --------------------- + Type '/' in there again. + --------------------- +
    + hello world +
    + --------------------- + +12. Make an anchor from a URL + + Move cursor to URL + --------------------- + http://www.google.com/ + --------------------- + Type 'a' + --------------------- + Google + --------------------- + +13. Make some quoted text from a URL + + Move cursor to the URL + --------------------- + http://github.com/ + --------------------- + Type 'A' + --------------------- +
    + Secure source code hosting and collaborative development - GitHub
    +

    How does it work? Get up and running in seconds by forking a project, pushing an existing repository...

    + http://github.com/ +
    + --------------------- + +14. Installing emmet.vim for the language you are using: + + # cd ~/.vim + # unzip emmet-vim.zip + + Or if you are using pathogen.vim: + + # cd ~/.vim/bundle # or make directory + # unzip /path/to/emmet-vim.zip + + Or if you get the sources from the repository: + + # cd ~/.vim/bundle # or make directory + # git clone http://github.com/mattn/emmet-vim.git + +15. Enable emmet.vim for the language you using. + + You can customize the behavior of the languages you are using. + + --------------------- + # cat >> ~/.vimrc + let g:user_emmet_settings = { + \ 'php' : { + \ 'extends' : 'html', + \ 'filters' : 'c', + \ }, + \ 'xml' : { + \ 'extends' : 'html', + \ }, + \ 'haml' : { + \ 'extends' : 'html', + \ }, + \} + --------------------- diff --git a/nvim/plugged/emmet-vim/TUTORIAL.mkd b/nvim/plugged/emmet-vim/TUTORIAL.mkd new file mode 100644 index 00000000..325a382c --- /dev/null +++ b/nvim/plugged/emmet-vim/TUTORIAL.mkd @@ -0,0 +1,247 @@ +# Tutorial for Emmet.vim + +mattn + + + +## Expand an Abbreviation + +Type the abbreviation as `div>p#foo$*3>a` and type `,` + +```html +
    +

    + +

    +

    + +

    +

    + +

    +
    +``` + +## Wrap with an Abbreviation + +Write as below: + +```html + test1 + test2 + test3 +``` + + Then do visual select(line wise) and type `,`. Once you get to the 'Tag:' prompt, type `ul>li*`. + +```html +
      +
    • test1
    • +
    • test2
    • +
    • test3
    • +
    +``` + +If you type a tag, such as `blockquote`, then you'll see the following: + +```html +
    + test1 + test2 + test3 +
    +``` + +## Balance a Tag Inward + +Just type `d` in insert mode. + +## Balance a Tag Outward + +Just type `D` in insert mode. + +## Go to the Next Edit Point + +Just type `n` in insert mode. + +## Go to the Previous Edit Point + +Just type `N` in insert mode. + +## Update an ’s Size + + Move cursor to the img tag. + +```html + +``` + + Type `i` on img tag + +## Merge Lines + +select the lines, which include `
  • ` + +```html +
      +
    • +
    • +
    • +
    +``` + +and then type `m` + +```html +
      +
    • +
    +``` + +## Remove the tag + +Move cursor in block + +```html + +``` + +Type 'k' in insert mode. + +```html +
    + +
    +``` + +And type 'k' in there again. + +```html + +``` + +## Split/Join Tag + +Move the cursor inside block + +```html +
    + cursor is here +
    +``` + +Type 'j' in insert mode. + +```html +
    +``` + +And then type 'j' in there again. + +```html +
    + cursor is here +
    +``` + +## Toggle Comment + +Move cursor inside the block + +```html +
    + hello world +
    +``` + +Type '/' in insert mode. + +```html + +``` + +Type '/' in there again. + +```html +
    + hello world +
    +``` + +## Make an anchor from a URL + +Move cursor to URL + +```http +http://www.google.com/ +``` + +Type 'a' + +```html +Google +``` + +## Make some quoted text from a URL + +Move cursor to the URL + +```http + http://github.com/ +``` + +Type 'A' + +```html +
    + Secure source code hosting and collaborative development - GitHub
    +

    How does it work? Get up and running in seconds by forking a project, pushing an existing repository...

    + http://github.com/ +
    +``` + +## Installing emmet.vim for the language you are using: + +```sh +cd ~/.vim +unzip emmet-vim.zip +``` + +Or if you are using pathogen.vim: + +```shell +cd ~/.vim/bundle # or make directory +unzip /path/to/emmet-vim.zip +``` + +Or if you get the sources from the repository: + +```sh +cd ~/.vim/bundle # or make directory +git clone http://github.com/mattn/emmet-vim.git +``` + +## Enable emmet.vim for the language you using. + +You can customize the behavior of the languages you are using. + +```sh +cat >> ~/.vimrc + let g:user_emmet_settings = { + \ 'php' : { + \ 'extends' : 'html', + \ 'filters' : 'c', + \ }, + \ 'xml' : { + \ 'extends' : 'html', + \ }, + \ 'haml' : { + \ 'extends' : 'html', + \ }, + \} +``` + diff --git a/nvim/plugged/emmet-vim/autoload/emmet.vim b/nvim/plugged/emmet-vim/autoload/emmet.vim new file mode 100644 index 00000000..efafc3f3 --- /dev/null +++ b/nvim/plugged/emmet-vim/autoload/emmet.vim @@ -0,0 +1,2148 @@ +"============================================================================= +" emmet.vim +" Author: Yasuhiro Matsumoto +" Last Change: 26-Jul-2015. + +let s:save_cpo = &cpoptions +set cpoptions&vim + +let s:filtermx = '|\(\%(bem\|html\|blade\|haml\|slim\|e\|c\|s\|fc\|xsl\|t\|\/[^ ]\+\)\s*,\{0,1}\s*\)*$' + +function! emmet#getExpandos(type, key) abort + let expandos = emmet#getResource(a:type, 'expandos', {}) + if has_key(expandos, a:key) + return expandos[a:key] + endif + return a:key +endfunction + +function! emmet#splitFilterArg(filters) abort + for f in a:filters + if f =~# '^/' + return f[1:] + endif + endfor + return '' +endfunction + +function! emmet#useFilter(filters, filter) abort + for f in a:filters + if a:filter ==# '/' && f =~# '^/' + return 1 + elseif f ==# a:filter + return 1 + endif + endfor + return 0 +endfunction + +function! emmet#getIndentation(...) abort + if a:0 > 0 + let type = a:1 + else + let type = emmet#getFileType() + endif + if has_key(s:emmet_settings, type) && has_key(s:emmet_settings[type], 'indentation') + let indent = s:emmet_settings[type].indentation + elseif has_key(s:emmet_settings, 'indentation') + let indent = s:emmet_settings.indentation + elseif has_key(s:emmet_settings.variables, 'indentation') + let indent = s:emmet_settings.variables.indentation + else + let sw = exists('*shiftwidth') ? shiftwidth() : &l:shiftwidth + let indent = (&l:expandtab || &l:tabstop !=# sw) ? repeat(' ', sw) : "\t" + endif + return indent +endfunction + +function! emmet#getBaseType(type) abort + if !has_key(s:emmet_settings, a:type) + return '' + endif + if !has_key(s:emmet_settings[a:type], 'extends') + return a:type + endif + let extends = s:emmet_settings[a:type].extends + if type(extends) ==# 1 + let tmp = split(extends, '\s*,\s*') + let ext = tmp[0] + else + let ext = extends[0] + endif + if a:type !=# ext + return emmet#getBaseType(ext) + endif + return '' +endfunction + +function! emmet#isExtends(type, extend) abort + if a:type ==# a:extend + return 1 + endif + if !has_key(s:emmet_settings, a:type) + return 0 + endif + if !has_key(s:emmet_settings[a:type], 'extends') + return 0 + endif + let extends = emmet#lang#getExtends(a:type) + for ext in extends + if a:extend ==# ext + return 1 + endif + endfor + return 0 +endfunction + +function! emmet#parseIntoTree(abbr, type) abort + let abbr = a:abbr + let type = a:type + return emmet#lang#{emmet#lang#type(type)}#parseIntoTree(abbr, type) +endfunction + +function! emmet#expandAbbrIntelligent(feedkey) abort + if !emmet#isExpandable() + return a:feedkey + endif + return "\(emmet-expand-abbr)" +endfunction + +function! emmet#isExpandable() abort + let line = getline('.') + if col('.') < len(line) + let line = matchstr(line, '^\(.*\%'.col('.').'c\)') + endif + let part = matchstr(line, '\(\S.*\)$') + let type = emmet#getFileType() + let rtype = emmet#lang#type(type) + let part = emmet#lang#{rtype}#findTokens(part) + return len(part) > 0 +endfunction + +function! emmet#mergeConfig(lhs, rhs) abort + let [lhs, rhs] = [a:lhs, a:rhs] + if type(lhs) ==# 3 + if type(rhs) ==# 3 + let lhs += rhs + if len(lhs) + call remove(lhs, 0, len(lhs)-1) + endif + for rhi in rhs + call add(lhs, rhs[rhi]) + endfor + elseif type(rhs) ==# 4 + let lhs += map(keys(rhs), '{v:val : rhs[v:val]}') + endif + elseif type(lhs) ==# 4 + if type(rhs) ==# 3 + for V in rhs + if type(V) != 4 + continue + endif + for k in keys(V) + let lhs[k] = V[k] + endfor + endfor + elseif type(rhs) ==# 4 + for key in keys(rhs) + if type(rhs[key]) ==# 3 + if !has_key(lhs, key) + let lhs[key] = [] + endif + if type(lhs[key]) == 3 + let lhs[key] += rhs[key] + elseif type(lhs[key]) == 4 + for k in keys(rhs[key]) + let lhs[key][k] = rhs[key][k] + endfor + endif + elseif type(rhs[key]) ==# 4 + if has_key(lhs, key) + call emmet#mergeConfig(lhs[key], rhs[key]) + else + let lhs[key] = rhs[key] + endif + else + let lhs[key] = rhs[key] + endif + endfor + endif + endif +endfunction + +function! emmet#newNode() abort + return { 'name': '', 'attr': {}, 'child': [], 'snippet': '', 'basevalue': 0, 'basedirect': 1, 'multiplier': 1, 'parent': {}, 'value': '', 'pos': 0, 'important': 0, 'attrs_order': ['id', 'class'], 'block': 0, 'empty': 0 } +endfunction + +function! s:itemno(itemno, current) abort + let current = a:current + if current.basedirect > 0 + return current.basevalue - 1 + a:itemno + else + return current.multiplier + current.basevalue - 2 - a:itemno + endif +endfunction + +function! s:localvar(current, key) abort + let val = '' + let cur = a:current + while !empty(cur) + if has_key(cur, 'variables') && has_key(cur.variables, a:key) + return cur.variables[a:key] + endif + let cur = cur.parent + endwhile + return '' +endfunction + +function! emmet#toString(...) abort + let current = a:1 + if a:0 > 1 + let type = a:2 + else + let type = &filetype + endif + if len(type) ==# 0 | let type = 'html' | endif + if a:0 > 2 + let inline = a:3 + else + let inline = 0 + endif + if a:0 > 3 + if type(a:4) ==# 1 + let filters = split(a:4, '\s*,\s*') + else + let filters = a:4 + endif + else + let filters = ['html'] + endif + if a:0 > 4 + let group_itemno = a:5 + else + let group_itemno = 0 + endif + if a:0 > 5 + let indent = a:6 + else + let indent = '' + endif + + let dollar_expr = emmet#getResource(type, 'dollar_expr', 1) + let itemno = 0 + let str = '' + let rtype = emmet#lang#type(type) + while itemno < current.multiplier + if len(current.name) + if current.multiplier ==# 1 + let inner = emmet#lang#{rtype}#toString(s:emmet_settings, current, type, inline, filters, s:itemno(group_itemno, current), indent) + else + let inner = emmet#lang#{rtype}#toString(s:emmet_settings, current, type, inline, filters, s:itemno(itemno, current), indent) + endif + if current.multiplier > 1 + let inner = substitute(inner, '\$#', '$line'.(itemno+1).'$', 'g') + endif + let str .= inner + else + let snippet = current.snippet + if len(snippet) ==# 0 + let snippets = emmet#getResource(type, 'snippets', {}) + if !empty(snippets) && has_key(snippets, 'emmet_snippet') + let snippet = snippets['emmet_snippet'] + endif + endif + if len(snippet) > 0 + let tmp = snippet + let tmp = substitute(tmp, '\${emmet_name}', current.name, 'g') + let snippet_node = emmet#newNode() + let snippet_node.value = '{'.tmp.'}' + let snippet_node.important = current.important + let snippet_node.multiplier = current.multiplier + let str .= emmet#lang#{rtype}#toString(s:emmet_settings, snippet_node, type, inline, filters, s:itemno(group_itemno, current), indent) + if current.multiplier > 1 + let str .= "\n" + endif + else + if len(current.name) + let str .= current.name + endif + if len(current.value) + let text = current.value[1:-2] + if dollar_expr + " TODO: regexp engine specified + if exists('®expengine') + let text = substitute(text, '\%#=1\%(\\\)\@\ 0 + let key = get(matcharr, 1) + if key !~# '^\d\+:' + let key = substitute(key, '\\{', '{', 'g') + let key = substitute(key, '\\}', '}', 'g') + let value = emmet#getDollarValueByKey(key) + if type(value) ==# type('') + let expr = get(matcharr, 0) + call add(dollar_list, {'expr': expr, 'value': value}) + endif + endif + else + break + endif + let expand = substitute(expand, dollar_reg, '', '') + endwhile + return dollar_list +endfunction + +function! emmet#getDollarValueByKey(key) abort + let ret = 0 + let key = a:key + let ftsetting = get(s:emmet_settings, emmet#getFileType()) + if type(ftsetting) ==# 4 && has_key(ftsetting, key) + let V = get(ftsetting, key) + if type(V) ==# 1 | return V | endif + endif + if type(ret) !=# 1 && has_key(s:emmet_settings.variables, key) + let V = get(s:emmet_settings.variables, key) + if type(V) ==# 1 | return V | endif + endif + if has_key(s:emmet_settings, 'custom_expands') && type(s:emmet_settings['custom_expands']) ==# 4 + for k in keys(s:emmet_settings['custom_expands']) + if key =~# k + let V = get(s:emmet_settings['custom_expands'], k) + if type(V) ==# 1 | return V | endif + if type(V) ==# 2 | return V(key) | endif + endif + endfor + endif + return ret +endfunction + +function! emmet#reExpandDollarExpr(expand, times) abort + let expand = a:expand + let dollar_exprs = emmet#getDollarExprs(expand) + if len(dollar_exprs) > 0 + if a:times < 9 + for n in range(len(dollar_exprs)) + let pair = get(dollar_exprs, n) + let pat = get(pair, 'expr') + let sub = get(pair, 'value') + let expand = substitute(expand, pat, sub, '') + endfor + return emmet#reExpandDollarExpr(expand, a:times + 1) + endif + endif + return expand +endfunction + +function! emmet#expandDollarExpr(expand) abort + return emmet#reExpandDollarExpr(a:expand, 0) +endfunction + +function! emmet#expandCursorExpr(expand, mode) abort + let expand = a:expand + if expand !~# '\${cursor}' + if a:mode ==# 2 + let expand = '${cursor}' . expand + else + let expand .= '${cursor}' + endif + endif + let expand = substitute(expand, '\${\d\+:\?\([^}]\+\)}', '$select$$cursor$\1$select$', 'g') + let expand = substitute(expand, '\${\d\+}', '$select$$cursor$$select$', 'g') + let expand = substitute(expand, '\${cursor}', '$cursor$', '') + let expand = substitute(expand, '\${cursor}', '', 'g') + let expand = substitute(expand, '\${cursor}', '', 'g') + return expand +endfunction + +function! emmet#unescapeDollarExpr(expand) abort + return substitute(a:expand, '\\\$', '$', 'g') +endfunction + +function! emmet#expandAbbr(mode, abbr) range abort + let type = emmet#getFileType(1) + let indent = emmet#getIndentation(type) + let expand = '' + let line = '' + let part = '' + let rest = '' + + let filters = emmet#getFilters(type) + if len(filters) ==# 0 + let filters = ['html'] + endif + + if a:mode ==# 2 + let leader = substitute(input('Tag: ', ''), '^\s*\(.*\)\s*$', '\1', 'g') + if len(leader) ==# 0 + return '' + endif + if leader =~# s:filtermx + let filters = map(split(matchstr(leader, s:filtermx)[1:], '\s*[^\\]\zs,\s*'), 'substitute(v:val, "\\\\\\\\zs.\\\\ze", "&", "g")') + let leader = substitute(leader, s:filtermx, '', '') + endif + if leader =~# '\*' + let query = substitute(leader, '*', '*' . (a:lastline - a:firstline + 1), '') + if query !~# '}\s*$' && query !~# '\$#' + let query .= '>{$#}' + endif + if emmet#useFilter(filters, '/') + let spl = emmet#splitFilterArg(filters) + let fline = getline(a:firstline) + let query = substitute(query, '>\{0,1}{\$#}\s*$', '{\\$column\\$}*' . len(split(fline, spl)), '') + else + let spl = '' + endif + let items = emmet#parseIntoTree(query, type).child + let itemno = 0 + for item in items + let inner = emmet#toString(item, type, 0, filters, 0, indent) + let inner = substitute(inner, '\$#', '$line'.(itemno*(a:lastline - a:firstline + 1)/len(items)+1).'$', 'g') + let expand .= inner + let itemno = itemno + 1 + endfor + if emmet#useFilter(filters, 'e') + let expand = substitute(expand, '&', '\&', 'g') + let expand = substitute(expand, '<', '\<', 'g') + let expand = substitute(expand, '>', '\>', 'g') + endif + let line = getline(a:firstline) + let part = substitute(line, '^\s*', '', '') + for n in range(a:firstline, a:lastline) + let lline = getline(n) + let lpart = substitute(lline, '^\s\+', '', '') + if emmet#useFilter(filters, 't') + let lpart = substitute(lpart, '^[0-9.-]\+\s\+', '', '') + let lpart = substitute(lpart, '\s\+$', '', '') + endif + if emmet#useFilter(filters, '/') + for column in split(lpart, spl) + let expand = substitute(expand, '\$column\$', '\=column', '') + endfor + else + let expand = substitute(expand, '\$line'.(n-a:firstline+1).'\$', '\=lpart', 'g') + endif + endfor + let expand = substitute(expand, '\$line\d*\$', '', 'g') + let expand = substitute(expand, '\$column\$', '', 'g') + let content = join(getline(a:firstline, a:lastline), "\n") + if stridx(expand, '$#') < len(expand)-2 + let expand = substitute(expand, '^\(.*\)\$#\s*$', '\1', '') + endif + let expand = substitute(expand, '\$#', '\=content', 'g') + else + let str = '' + if visualmode() ==# 'V' + let line = getline(a:firstline) + let lspaces = matchstr(line, '^\s*', '', '') + let part = substitute(line, '^\s*', '', '') + for n in range(a:firstline, a:lastline) + if len(leader) > 0 + let line = getline(a:firstline) + let spaces = matchstr(line, '^\s*', '', '') + if len(spaces) >= len(lspaces) + let str .= indent . getline(n)[len(lspaces):] . "\n" + else + let str .= getline(n) . "\n" + endif + else + let lpart = substitute(getline(n), '^\s*', '', '') + let str .= lpart . "\n" + endif + endfor + if stridx(leader, '{$#}') ==# -1 + let leader .= '{$#}' + endif + let items = emmet#parseIntoTree(leader, type).child + else + let save_regcont = @" + let save_regtype = getregtype('"') + silent! normal! gvygv + let str = @" + call setreg('"', save_regcont, save_regtype) + if stridx(leader, '{$#}') ==# -1 + let leader .= '{$#}' + endif + let items = emmet#parseIntoTree(leader, type).child + endif + for item in items + let expand .= emmet#toString(item, type, 0, filters, 0, '') + endfor + if emmet#useFilter(filters, 'e') + let expand = substitute(expand, '&', '\&', 'g') + let expand = substitute(expand, '<', '\<', 'g') + let expand = substitute(expand, '>', '\>', 'g') + endif + if stridx(leader, '{$#}') !=# -1 + let expand = substitute(expand, '\$#', '\="\n" . str', 'g') + endif + endif + elseif a:mode ==# 4 + let line = getline('.') + let spaces = matchstr(line, '^\s*') + if line !~# '^\s*$' + put =spaces.a:abbr + else + call setline('.', spaces.a:abbr) + endif + normal! $ + call emmet#expandAbbr(0, '') + return '' + else + let line = getline('.') + if col('.') < len(line) + let line = matchstr(line, '^\(.*\%'.col('.').'c\)') + endif + if a:mode ==# 1 + let part = matchstr(line, '\([a-zA-Z0-9:_\-\@|]\+\)$') + else + let part = matchstr(line, '\(\S.*\)$') + let rtype = emmet#lang#type(type) + let part = emmet#lang#{rtype}#findTokens(part) + let line = line[0: strridx(line, part) + len(part) - 1] + endif + if col('.') ==# col('$') + let rest = '' + else + let rest = getline('.')[len(line):] + endif + let str = part + if str =~# s:filtermx + let filters = split(matchstr(str, s:filtermx)[1:], '\s*,\s*') + let str = substitute(str, s:filtermx, '', '') + endif + let items = emmet#parseIntoTree(str, type).child + for item in items + let expand .= emmet#toString(item, type, 0, filters, 0, indent) + endfor + if emmet#useFilter(filters, 'e') + let expand = substitute(expand, '&', '\&', 'g') + let expand = substitute(expand, '<', '\<', 'g') + let expand = substitute(expand, '>', '\>', 'g') + endif + let expand = substitute(expand, '\$line\([0-9]\+\)\$', '\=submatch(1)', 'g') + endif + let expand = emmet#expandDollarExpr(expand) + let expand = emmet#expandCursorExpr(expand, a:mode) + if len(expand) + if has_key(s:emmet_settings, 'timezone') && len(s:emmet_settings.timezone) + let expand = substitute(expand, '${datetime}', strftime('%Y-%m-%dT%H:%M:%S') . s:emmet_settings.timezone, 'g') + else + " TODO: on windows, %z/%Z is 'Tokyo(Standard)' + let expand = substitute(expand, '${datetime}', strftime('%Y-%m-%dT%H:%M:%S %z'), 'g') + endif + let expand = emmet#unescapeDollarExpr(expand) + if a:mode ==# 2 && visualmode() ==# 'v' + if a:firstline ==# a:lastline + let expand = substitute(expand, '[\r\n]\s*', '', 'g') + else + let expand = substitute(expand, '[\n]$', '', 'g') + endif + silent! normal! gv + let col = col('''<') + silent! normal! c + let line = getline('.') + let lhs = matchstr(line, '.*\%<'.col.'c.') + let rhs = matchstr(line, '\%>'.(col-1).'c.*') + let expand = lhs.expand.rhs + let lines = split(expand, '\n') + call setline(line('.'), lines[0]) + if len(lines) > 1 + call append(line('.'), lines[1:]) + endif + else + if line[:-len(part)-1] =~# '^\s\+$' + let indent = line[:-len(part)-1] + else + let indent = '' + endif + let expand = substitute(expand, '[\r\n]\s*$', '', 'g') + if emmet#useFilter(filters, 's') + let epart = substitute(expand, '[\r\n]\s*', '', 'g') + else + let epart = substitute(expand, '[\r\n]', "\n" . indent, 'g') + endif + let expand = line[:-len(part)-1] . epart . rest + let lines = split(expand, '[\r\n]', 1) + if a:mode ==# 2 + silent! exe 'normal! gvc' + endif + call setline('.', lines[0]) + if len(lines) > 1 + call append('.', lines[1:]) + endif + endif + endif + if g:emmet_debug > 1 + call getchar() + endif + if search('\ze\$\(cursor\|select\)\$', 'c') + let oldselection = &selection + let &selection = 'inclusive' + if foldclosed(line('.')) !=# -1 + silent! foldopen + endif + let pos = emmet#util#getcurpos() + let use_selection = emmet#getResource(type, 'use_selection', 0) + try + let l:gdefault = &gdefault + let &gdefault = 0 + if use_selection && getline('.')[col('.')-1:] =~# '^\$select' + let pos[2] += 1 + silent! s/\$select\$// + let next = searchpos('.\ze\$select\$', 'nW') + silent! %s/\$\(cursor\|select\)\$//g + call emmet#util#selectRegion([pos[1:2], next]) + return "\gv" + else + silent! %s/\$\(cursor\|select\)\$//g + silent! call setpos('.', pos) + if col('.') < col('$') + return "\" + endif + endif + finally + let &gdefault = l:gdefault + endtry + let &selection = oldselection + endif + return '' +endfunction + +function! emmet#updateTag() abort + let type = emmet#getFileType() + let region = emmet#util#searchRegion('<\S', '>') + if !emmet#util#regionIsValid(region) || !emmet#util#cursorInRegion(region) + return '' + endif + let content = emmet#util#getContent(region) + let content = matchstr(content, '^<[^><]\+>') + if content !~# '^<[^><]\+>$' + return '' + endif + let current = emmet#lang#html#parseTag(content) + if empty(current) + return '' + endif + let old_tag_name = current.name + + let str = substitute(input('Enter Abbreviation: ', ''), '^\s*\(.*\)\s*$', '\1', 'g') + let tag_changed = str =~# '^\s*\w' + let item = emmet#parseIntoTree(str, type).child[0] + for k in keys(item.attr) + let current.attr[k] = item.attr[k] + endfor + if tag_changed + let current.name = item.name + endif + let html = substitute(emmet#toString(current, 'html', 1), '\n', '', '') + let html = substitute(html, '\${cursor}', '', '') + let html = matchstr(html, '^<[^><]\+>') + if tag_changed + let pos2 = searchpairpos('<' . old_tag_name . '\>[^>]*>', '', '', 'W') + if pos2 != [0, 0] + let html .= emmet#util#getContent([region[1], pos2])[1:-2] + let html .= '' + let region = [region[0], [pos2[0], pos2[1] + len(old_tag_name) + 3]] + endif + endif + call emmet#util#setContent(region, html) + return '' +endfunction + +function! emmet#moveNextPrevItem(flag) abort + let type = emmet#getFileType() + return emmet#lang#{emmet#lang#type(type)}#moveNextPrevItem(a:flag) +endfunction + +function! emmet#moveNextPrev(flag) abort + let type = emmet#getFileType() + return emmet#lang#{emmet#lang#type(type)}#moveNextPrev(a:flag) +endfunction + +function! emmet#imageSize() abort + let orgpos = emmet#util#getcurpos() + let type = emmet#getFileType() + call emmet#lang#{emmet#lang#type(type)}#imageSize() + silent! call setpos('.', orgpos) + return '' +endfunction + +function! emmet#imageEncode() abort + let type = emmet#getFileType() + return emmet#lang#{emmet#lang#type(type)}#imageEncode() +endfunction + +function! emmet#toggleComment() abort + let type = emmet#getFileType() + call emmet#lang#{emmet#lang#type(type)}#toggleComment() + return '' +endfunction + +function! emmet#balanceTag(flag) range abort + let type = emmet#getFileType() + return emmet#lang#{emmet#lang#type(type)}#balanceTag(a:flag) +endfunction + +function! emmet#splitJoinTag() abort + let type = emmet#getFileType() + return emmet#lang#{emmet#lang#type(type)}#splitJoinTag() +endfunction + +function! emmet#mergeLines() range abort + let lines = join(map(getline(a:firstline, a:lastline), 'matchstr(v:val, "^\\s*\\zs.*\\ze\\s*$")'), '') + let indent = substitute(getline('.'), '^\(\s*\).*', '\1', '') + silent! exe 'normal! gvc' + call setline('.', indent . lines) +endfunction + +function! emmet#removeTag() abort + let type = emmet#getFileType() + call emmet#lang#{emmet#lang#type(type)}#removeTag() + return '' +endfunction + +function! emmet#mergeLines() abort + let type = emmet#getFileType() + call emmet#lang#{emmet#lang#type(type)}#mergeLines() + return '' +endfunction + +function! emmet#anchorizeURL(flag) abort + let mx = 'https\=:\/\/[-!#$%&*+,./:;=?@0-9a-zA-Z_~]\+' + let pos1 = searchpos(mx, 'bcnW') + let url = matchstr(getline(pos1[0])[pos1[1]-1:], mx) + let block = [pos1, [pos1[0], pos1[1] + len(url) - 1]] + if !emmet#util#cursorInRegion(block) + return '' + endif + + let mx = '.*]*>\s*\zs\([^<]\+\)\ze\s*<\/title[^>]*>.*' + let content = emmet#util#getContentFromURL(url) + let content = substitute(content, '\r', '', 'g') + let content = substitute(content, '[ \n]\+', ' ', 'g') + let content = substitute(content, '', '', 'g') + let title = matchstr(content, mx) + + let type = emmet#getFileType() + let rtype = emmet#lang#type(type) + if &filetype ==# 'markdown' + let expand = printf('[%s](%s)', substitute(title, '[\[\]]', '\\&', 'g'), url) + elseif &filetype ==# 'rst' + let expand = printf('`%s <%s>`_', substitute(title, '[\[\]]', '\\&', 'g'), url) + elseif a:flag ==# 0 + let a = emmet#lang#html#parseTag('') + let a.attr.href = url + let a.value = '{' . title . '}' + let expand = emmet#toString(a, rtype, 0, []) + let expand = substitute(expand, '\${cursor}', '', 'g') + else + let body = emmet#util#getTextFromHTML(content) + let body = '{' . substitute(body, '^\(.\{0,100}\).*', '\1', '') . '...}' + + let blockquote = emmet#lang#html#parseTag('
    ') + let a = emmet#lang#html#parseTag('') + let a.attr.href = url + let a.value = '{' . title . '}' + call add(blockquote.child, a) + call add(blockquote.child, emmet#lang#html#parseTag('
    ')) + let p = emmet#lang#html#parseTag('

    ') + let p.value = body + call add(blockquote.child, p) + let cite = emmet#lang#html#parseTag('') + let cite.value = '{' . url . '}' + call add(blockquote.child, cite) + let expand = emmet#toString(blockquote, rtype, 0, []) + let expand = substitute(expand, '\${cursor}', '', 'g') + endif + let indent = substitute(getline('.'), '^\(\s*\).*', '\1', '') + let expand = substitute(expand, "\n", "\n" . indent, 'g') + call emmet#util#setContent(block, expand) + return '' +endfunction + +function! emmet#codePretty() range abort + let type = input('FileType: ', &filetype, 'filetype') + if len(type) ==# 0 + return + endif + let block = emmet#util#getVisualBlock() + let content = emmet#util#getContent(block) + silent! 1new + let &l:filetype = type + call setline(1, split(content, "\n")) + let old_lazyredraw = &lazyredraw + set lazyredraw + silent! TOhtml + let &lazyredraw = old_lazyredraw + let content = join(getline(1, '$'), "\n") + silent! bw! + silent! bw! + let content = matchstr(content, ']*>[\s\n]*\zs.*\ze') + call emmet#util#setContent(block, content) +endfunction + +function! emmet#expandWord(abbr, type, orig) abort + let str = a:abbr + let type = a:type + let indent = emmet#getIndentation(type) + + if len(type) ==# 0 | let type = 'html' | endif + if str =~# s:filtermx + let filters = split(matchstr(str, s:filtermx)[1:], '\s*,\s*') + let str = substitute(str, s:filtermx, '', '') + else + let filters = emmet#getFilters(a:type) + if len(filters) ==# 0 + let filters = ['html'] + endif + endif + let str = substitute(str, '|', '${cursor}', 'g') + let items = emmet#parseIntoTree(str, a:type).child + let expand = '' + for item in items + let expand .= emmet#toString(item, a:type, 0, filters, 0, indent) + endfor + if emmet#useFilter(filters, 'e') + let expand = substitute(expand, '&', '\&', 'g') + let expand = substitute(expand, '<', '\<', 'g') + let expand = substitute(expand, '>', '\>', 'g') + endif + if emmet#useFilter(filters, 's') + let expand = substitute(expand, "\n\s\*", '', 'g') + endif + if a:orig ==# 0 + let expand = emmet#expandDollarExpr(expand) + let expand = substitute(expand, '\${cursor}', '', 'g') + endif + return expand +endfunction + +function! emmet#getSnippets(type) abort + let type = a:type + if len(type) ==# 0 || !has_key(s:emmet_settings, type) + let type = 'html' + endif + return emmet#getResource(type, 'snippets', {}) +endfunction + +function! emmet#completeTag(findstart, base) abort + if a:findstart + let line = getline('.') + let start = col('.') - 1 + while start > 0 && line[start - 1] =~# '[a-zA-Z0-9:_\@\-]' + let start -= 1 + endwhile + return start + else + let type = emmet#getFileType() + let res = [] + + let snippets = emmet#getResource(type, 'snippets', {}) + for item in keys(snippets) + if stridx(item, a:base) !=# -1 + call add(res, substitute(item, '\${cursor}\||', '', 'g')) + endif + endfor + let aliases = emmet#getResource(type, 'aliases', {}) + for item in values(aliases) + if stridx(item, a:base) !=# -1 + call add(res, substitute(item, '\${cursor}\||', '', 'g')) + endif + endfor + return res + endif +endfunction + +unlet! s:emmet_settings +let s:emmet_settings = { +\ 'variables': { +\ 'lang': "en", +\ 'locale': "en-US", +\ 'charset': "UTF-8", +\ 'newline': "\n", +\ 'use_selection': 0, +\ }, +\ 'custom_expands' : { +\ '^\%(lorem\|lipsum\)\(\d*\)$' : function('emmet#lorem#en#expand'), +\ }, +\ 'css': { +\ 'snippets': { +\ "@i": "@import url(|);", +\ "@import": "@import url(|);", +\ "@m": "@media ${1:screen} {\n\t|\n}", +\ "@media": "@media ${1:screen} {\n\t|\n}", +\ "@f": "@font-face {\n\tfont-family:|;\n\tsrc:url(|);\n}", +\ "@f+": "@font-face {\n\tfont-family: '${1:FontName}';\n\tsrc: url('${2:FileName}.eot');\n\tsrc: url('${2:FileName}.eot?#iefix') format('embedded-opentype'),\n\t\t url('${2:FileName}.woff') format('woff'),\n\t\t url('${2:FileName}.ttf') format('truetype'),\n\t\t url('${2:FileName}.svg#${1:FontName}') format('svg');\n\tfont-style: ${3:normal};\n\tfont-weight: ${4:normal};\n}", +\ "@kf": "@-webkit-keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}\n@-o-keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}\n@-moz-keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}\n@keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}", +\ "anim": "animation:|;", +\ "anim-": "animation:${1:name} ${2:duration} ${3:timing-function} ${4:delay} ${5:iteration-count} ${6:direction} ${7:fill-mode};", +\ "animdel": "animation-delay:${1:time};", +\ "animdir": "animation-direction:${1:normal};", +\ "animdir:n": "animation-direction:normal;", +\ "animdir:r": "animation-direction:reverse;", +\ "animdir:a": "animation-direction:alternate;", +\ "animdir:ar": "animation-direction:alternate-reverse;", +\ "animdur": "animation-duration:${1:0}s;", +\ "animfm": "animation-fill-mode:${1:both};", +\ "animfm:f": "animation-fill-mode:forwards;", +\ "animfm:b": "animation-fill-mode:backwards;", +\ "animfm:bt": "animation-fill-mode:both;", +\ "animfm:bh": "animation-fill-mode:both;", +\ "animic": "animation-iteration-count:${1:1};", +\ "animic:i": "animation-iteration-count:infinite;", +\ "animn": "animation-name:${1:none};", +\ "animps": "animation-play-state:${1:running};", +\ "animps:p": "animation-play-state:paused;", +\ "animps:r": "animation-play-state:running;", +\ "animtf": "animation-timing-function:${1:linear};", +\ "animtf:e": "animation-timing-function:ease;", +\ "animtf:ei": "animation-timing-function:ease-in;", +\ "animtf:eo": "animation-timing-function:ease-out;", +\ "animtf:eio": "animation-timing-function:ease-in-out;", +\ "animtf:l": "animation-timing-function:linear;", +\ "animtf:cb": "animation-timing-function:cubic-bezier(${1:0.1}, ${2:0.7}, ${3:1.0}, ${3:0.1});", +\ "ap": "appearance:${none};", +\ "!": "!important", +\ "pos": "position:${1:relative};", +\ "pos:s": "position:static;", +\ "pos:a": "position:absolute;", +\ "pos:r": "position:relative;", +\ "pos:f": "position:fixed;", +\ "t": "top:|;", +\ "t:a": "top:auto;", +\ "r": "right:|;", +\ "r:a": "right:auto;", +\ "b": "bottom:|;", +\ "b:a": "bottom:auto;", +\ "l": "left:|;", +\ "l:a": "left:auto;", +\ "z": "z-index:|;", +\ "z:a": "z-index:auto;", +\ "fl": "float:${1:left};", +\ "fl:n": "float:none;", +\ "fl:l": "float:left;", +\ "fl:r": "float:right;", +\ "cl": "clear:${1:both};", +\ "cl:n": "clear:none;", +\ "cl:l": "clear:left;", +\ "cl:r": "clear:right;", +\ "cl:b": "clear:both;", +\ "colm": "columns:|;", +\ "colmc": "column-count:|;", +\ "colmf": "column-fill:|;", +\ "colmg": "column-gap:|;", +\ "colmr": "column-rule:|;", +\ "colmrc": "column-rule-color:|;", +\ "colmrs": "column-rule-style:|;", +\ "colmrw": "column-rule-width:|;", +\ "colms": "column-span:|;", +\ "colmw": "column-width:|;", +\ "d": "display:${1:block};", +\ "d:n": "display:none;", +\ "d:b": "display:block;", +\ "d:f": "display:flex;", +\ "d:if": "display:inline-flex;", +\ "d:i": "display:inline;", +\ "d:ib": "display:inline-block;", +\ "d:ib+": "display: inline-block;\n*display: inline;\n*zoom: 1;", +\ "d:li": "display:list-item;", +\ "d:ri": "display:run-in;", +\ "d:cp": "display:compact;", +\ "d:tb": "display:table;", +\ "d:itb": "display:inline-table;", +\ "d:tbcp": "display:table-caption;", +\ "d:tbcl": "display:table-column;", +\ "d:tbclg": "display:table-column-group;", +\ "d:tbhg": "display:table-header-group;", +\ "d:tbfg": "display:table-footer-group;", +\ "d:tbr": "display:table-row;", +\ "d:tbrg": "display:table-row-group;", +\ "d:tbc": "display:table-cell;", +\ "d:rb": "display:ruby;", +\ "d:rbb": "display:ruby-base;", +\ "d:rbbg": "display:ruby-base-group;", +\ "d:rbt": "display:ruby-text;", +\ "d:rbtg": "display:ruby-text-group;", +\ "v": "visibility:${1:hidden};", +\ "v:v": "visibility:visible;", +\ "v:h": "visibility:hidden;", +\ "v:c": "visibility:collapse;", +\ "ov": "overflow:${1:hidden};", +\ "ov:v": "overflow:visible;", +\ "ov:h": "overflow:hidden;", +\ "ov:s": "overflow:scroll;", +\ "ov:a": "overflow:auto;", +\ "ovx": "overflow-x:${1:hidden};", +\ "ovx:v": "overflow-x:visible;", +\ "ovx:h": "overflow-x:hidden;", +\ "ovx:s": "overflow-x:scroll;", +\ "ovx:a": "overflow-x:auto;", +\ "ovy": "overflow-y:${1:hidden};", +\ "ovy:v": "overflow-y:visible;", +\ "ovy:h": "overflow-y:hidden;", +\ "ovy:s": "overflow-y:scroll;", +\ "ovy:a": "overflow-y:auto;", +\ "ovs": "overflow-style:${1:scrollbar};", +\ "ovs:a": "overflow-style:auto;", +\ "ovs:s": "overflow-style:scrollbar;", +\ "ovs:p": "overflow-style:panner;", +\ "ovs:m": "overflow-style:move;", +\ "ovs:mq": "overflow-style:marquee;", +\ "zoo": "zoom:1;", +\ "zm": "zoom:1;", +\ "cp": "clip:|;", +\ "cp:a": "clip:auto;", +\ "cp:r": "clip:rect(${1:top} ${2:right} ${3:bottom} ${4:left});", +\ "bxz": "box-sizing:${1:border-box};", +\ "bxz:cb": "box-sizing:content-box;", +\ "bxz:bb": "box-sizing:border-box;", +\ "bxsh": "box-shadow:${1:inset }${2:hoff} ${3:voff} ${4:blur} ${5:color};", +\ "bxsh:r": "box-shadow:${1:inset }${2:hoff} ${3:voff} ${4:blur} ${5:spread }rgb(${6:0}, ${7:0}, ${8:0});", +\ "bxsh:ra": "box-shadow:${1:inset }${2:h} ${3:v} ${4:blur} ${5:spread }rgba(${6:0}, ${7:0}, ${8:0}, .${9:5});", +\ "bxsh:n": "box-shadow:none;", +\ "m": "margin:|;", +\ "m:a": "margin:auto;", +\ "mt": "margin-top:|;", +\ "mt:a": "margin-top:auto;", +\ "mr": "margin-right:|;", +\ "mr:a": "margin-right:auto;", +\ "mb": "margin-bottom:|;", +\ "mb:a": "margin-bottom:auto;", +\ "ml": "margin-left:|;", +\ "ml:a": "margin-left:auto;", +\ "p": "padding:|;", +\ "pt": "padding-top:|;", +\ "pr": "padding-right:|;", +\ "pb": "padding-bottom:|;", +\ "pl": "padding-left:|;", +\ "w": "width:|;", +\ "w:a": "width:auto;", +\ "h": "height:|;", +\ "h:a": "height:auto;", +\ "maw": "max-width:|;", +\ "maw:n": "max-width:none;", +\ "mah": "max-height:|;", +\ "mah:n": "max-height:none;", +\ "miw": "min-width:|;", +\ "mih": "min-height:|;", +\ "mar": "max-resolution:${1:res};", +\ "mir": "min-resolution:${1:res};", +\ "ori": "orientation:|;", +\ "ori:l": "orientation:landscape;", +\ "ori:p": "orientation:portrait;", +\ "ol": "outline:|;", +\ "ol:n": "outline:none;", +\ "olo": "outline-offset:|;", +\ "olw": "outline-width:|;", +\ "olw:tn": "outline-width:thin;", +\ "olw:m": "outline-width:medium;", +\ "olw:tc": "outline-width:thick;", +\ "ols": "outline-style:|;", +\ "ols:n": "outline-style:none;", +\ "ols:dt": "outline-style:dotted;", +\ "ols:ds": "outline-style:dashed;", +\ "ols:s": "outline-style:solid;", +\ "ols:db": "outline-style:double;", +\ "ols:g": "outline-style:groove;", +\ "ols:r": "outline-style:ridge;", +\ "ols:i": "outline-style:inset;", +\ "ols:o": "outline-style:outset;", +\ "olc": "outline-color:#${1:000};", +\ "olc:i": "outline-color:invert;", +\ "bfv": "backface-visibility:|;", +\ "bfv:h": "backface-visibility:hidden;", +\ "bfv:v": "backface-visibility:visible;", +\ "bd": "border:|;", +\ "bd+": "border:${1:1px} ${2:solid} ${3:#000};", +\ "bd:n": "border:none;", +\ "bdbk": "border-break:${1:close};", +\ "bdbk:c": "border-break:close;", +\ "bdcl": "border-collapse:|;", +\ "bdcl:c": "border-collapse:collapse;", +\ "bdcl:s": "border-collapse:separate;", +\ "bdc": "border-color:#${1:000};", +\ "bdc:t": "border-color:transparent;", +\ "bdi": "border-image:url(|);", +\ "bdi:n": "border-image:none;", +\ "bdti": "border-top-image:url(|);", +\ "bdti:n": "border-top-image:none;", +\ "bdri": "border-right-image:url(|);", +\ "bdri:n": "border-right-image:none;", +\ "bdbi": "border-bottom-image:url(|);", +\ "bdbi:n": "border-bottom-image:none;", +\ "bdli": "border-left-image:url(|);", +\ "bdli:n": "border-left-image:none;", +\ "bdci": "border-corner-image:url(|);", +\ "bdci:n": "border-corner-image:none;", +\ "bdci:c": "border-corner-image:continue;", +\ "bdtli": "border-top-left-image:url(|);", +\ "bdtli:n": "border-top-left-image:none;", +\ "bdtli:c": "border-top-left-image:continue;", +\ "bdtri": "border-top-right-image:url(|);", +\ "bdtri:n": "border-top-right-image:none;", +\ "bdtri:c": "border-top-right-image:continue;", +\ "bdbri": "border-bottom-right-image:url(|);", +\ "bdbri:n": "border-bottom-right-image:none;", +\ "bdbri:c": "border-bottom-right-image:continue;", +\ "bdbli": "border-bottom-left-image:url(|);", +\ "bdbli:n": "border-bottom-left-image:none;", +\ "bdbli:c": "border-bottom-left-image:continue;", +\ "bdf": "border-fit:${1:repeat};", +\ "bdf:c": "border-fit:clip;", +\ "bdf:r": "border-fit:repeat;", +\ "bdf:sc": "border-fit:scale;", +\ "bdf:st": "border-fit:stretch;", +\ "bdf:ow": "border-fit:overwrite;", +\ "bdf:of": "border-fit:overflow;", +\ "bdf:sp": "border-fit:space;", +\ "bdlen": "border-length:|;", +\ "bdlen:a": "border-length:auto;", +\ "bdsp": "border-spacing:|;", +\ "bds": "border-style:|;", +\ "bds:n": "border-style:none;", +\ "bds:h": "border-style:hidden;", +\ "bds:dt": "border-style:dotted;", +\ "bds:ds": "border-style:dashed;", +\ "bds:s": "border-style:solid;", +\ "bds:db": "border-style:double;", +\ "bds:dtds": "border-style:dot-dash;", +\ "bds:dtdtds": "border-style:dot-dot-dash;", +\ "bds:w": "border-style:wave;", +\ "bds:g": "border-style:groove;", +\ "bds:r": "border-style:ridge;", +\ "bds:i": "border-style:inset;", +\ "bds:o": "border-style:outset;", +\ "bdw": "border-width:|;", +\ "bdtw": "border-top-width:|;", +\ "bdrw": "border-right-width:|;", +\ "bdbw": "border-bottom-width:|;", +\ "bdlw": "border-left-width:|;", +\ "bdt": "border-top:|;", +\ "bt": "border-top:|;", +\ "bdt+": "border-top:${1:1px} ${2:solid} ${3:#000};", +\ "bdt:n": "border-top:none;", +\ "bdts": "border-top-style:|;", +\ "bdts:n": "border-top-style:none;", +\ "bdtc": "border-top-color:#${1:000};", +\ "bdtc:t": "border-top-color:transparent;", +\ "bdr": "border-right:|;", +\ "br": "border-right:|;", +\ "bdr+": "border-right:${1:1px} ${2:solid} ${3:#000};", +\ "bdr:n": "border-right:none;", +\ "bdrst": "border-right-style:|;", +\ "bdrst:n": "border-right-style:none;", +\ "bdrc": "border-right-color:#${1:000};", +\ "bdrc:t": "border-right-color:transparent;", +\ "bdb": "border-bottom:|;", +\ "bb": "border-bottom:|;", +\ "bdb+": "border-bottom:${1:1px} ${2:solid} ${3:#000};", +\ "bdb:n": "border-bottom:none;", +\ "bdbs": "border-bottom-style:|;", +\ "bdbs:n": "border-bottom-style:none;", +\ "bdbc": "border-bottom-color:#${1:000};", +\ "bdbc:t": "border-bottom-color:transparent;", +\ "bdl": "border-left:|;", +\ "bl": "border-left:|;", +\ "bdl+": "border-left:${1:1px} ${2:solid} ${3:#000};", +\ "bdl:n": "border-left:none;", +\ "bdls": "border-left-style:|;", +\ "bdls:n": "border-left-style:none;", +\ "bdlc": "border-left-color:#${1:000};", +\ "bdlc:t": "border-left-color:transparent;", +\ "bdrs": "border-radius:|;", +\ "bdtrrs": "border-top-right-radius:|;", +\ "bdtlrs": "border-top-left-radius:|;", +\ "bdbrrs": "border-bottom-right-radius:|;", +\ "bdblrs": "border-bottom-left-radius:|;", +\ "bg": "background:#${1:000};", +\ "bg+": "background:${1:#fff} url(${2}) ${3:0} ${4:0} ${5:no-repeat};", +\ "bg:n": "background:none;", +\ "bg:ie": "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='${1:x}.png',sizingMethod='${2:crop}');", +\ "bgc": "background-color:#${1:fff};", +\ "bgc:t": "background-color:transparent;", +\ "bgi": "background-image:url(|);", +\ "bgi:n": "background-image:none;", +\ "bgr": "background-repeat:|;", +\ "bgr:n": "background-repeat:no-repeat;", +\ "bgr:x": "background-repeat:repeat-x;", +\ "bgr:y": "background-repeat:repeat-y;", +\ "bgr:sp": "background-repeat:space;", +\ "bgr:rd": "background-repeat:round;", +\ "bga": "background-attachment:|;", +\ "bga:f": "background-attachment:fixed;", +\ "bga:s": "background-attachment:scroll;", +\ "bgp": "background-position:${1:0} ${2:0};", +\ "bgpx": "background-position-x:|;", +\ "bgpy": "background-position-y:|;", +\ "bgbk": "background-break:|;", +\ "bgbk:bb": "background-break:bounding-box;", +\ "bgbk:eb": "background-break:each-box;", +\ "bgbk:c": "background-break:continuous;", +\ "bgcp": "background-clip:${1:padding-box};", +\ "bgcp:bb": "background-clip:border-box;", +\ "bgcp:pb": "background-clip:padding-box;", +\ "bgcp:cb": "background-clip:content-box;", +\ "bgcp:nc": "background-clip:no-clip;", +\ "bgo": "background-origin:|;", +\ "bgo:pb": "background-origin:padding-box;", +\ "bgo:bb": "background-origin:border-box;", +\ "bgo:cb": "background-origin:content-box;", +\ "bgsz": "background-size:|;", +\ "bgsz:a": "background-size:auto;", +\ "bgsz:ct": "background-size:contain;", +\ "bgsz:cv": "background-size:cover;", +\ "c": "color:#${1:000};", +\ "c:r": "color:rgb(${1:0}, ${2:0}, ${3:0});", +\ "c:ra": "color:rgba(${1:0}, ${2:0}, ${3:0}, .${4:5});", +\ "cm": "/* |${child} */", +\ "cnt": "content:'|';", +\ "cnt:n": "content:normal;", +\ "cnt:oq": "content:open-quote;", +\ "cnt:noq": "content:no-open-quote;", +\ "cnt:cq": "content:close-quote;", +\ "cnt:ncq": "content:no-close-quote;", +\ "cnt:a": "content:attr(|);", +\ "cnt:c": "content:counter(|);", +\ "cnt:cs": "content:counters(|);", +\ "tbl": "table-layout:|;", +\ "tbl:a": "table-layout:auto;", +\ "tbl:f": "table-layout:fixed;", +\ "cps": "caption-side:|;", +\ "cps:t": "caption-side:top;", +\ "cps:b": "caption-side:bottom;", +\ "ec": "empty-cells:|;", +\ "ec:s": "empty-cells:show;", +\ "ec:h": "empty-cells:hide;", +\ "lis": "list-style:|;", +\ "lis:n": "list-style:none;", +\ "lisp": "list-style-position:|;", +\ "lisp:i": "list-style-position:inside;", +\ "lisp:o": "list-style-position:outside;", +\ "list": "list-style-type:|;", +\ "list:n": "list-style-type:none;", +\ "list:d": "list-style-type:disc;", +\ "list:c": "list-style-type:circle;", +\ "list:s": "list-style-type:square;", +\ "list:dc": "list-style-type:decimal;", +\ "list:dclz": "list-style-type:decimal-leading-zero;", +\ "list:lr": "list-style-type:lower-roman;", +\ "list:ur": "list-style-type:upper-roman;", +\ "lisi": "list-style-image:|;", +\ "lisi:n": "list-style-image:none;", +\ "q": "quotes:|;", +\ "q:n": "quotes:none;", +\ "q:ru": "quotes:'\\00AB' '\\00BB' '\\201E' '\\201C';", +\ "q:en": "quotes:'\\201C' '\\201D' '\\2018' '\\2019';", +\ "ct": "content:|;", +\ "ct:n": "content:normal;", +\ "ct:oq": "content:open-quote;", +\ "ct:noq": "content:no-open-quote;", +\ "ct:cq": "content:close-quote;", +\ "ct:ncq": "content:no-close-quote;", +\ "ct:a": "content:attr(|);", +\ "ct:c": "content:counter(|);", +\ "ct:cs": "content:counters(|);", +\ "coi": "counter-increment:|;", +\ "cor": "counter-reset:|;", +\ "va": "vertical-align:${1:top};", +\ "va:sup": "vertical-align:super;", +\ "va:t": "vertical-align:top;", +\ "va:tt": "vertical-align:text-top;", +\ "va:m": "vertical-align:middle;", +\ "va:bl": "vertical-align:baseline;", +\ "va:b": "vertical-align:bottom;", +\ "va:tb": "vertical-align:text-bottom;", +\ "va:sub": "vertical-align:sub;", +\ "ta": "text-align:${1:left};", +\ "ta:l": "text-align:left;", +\ "ta:c": "text-align:center;", +\ "ta:r": "text-align:right;", +\ "ta:j": "text-align:justify;", +\ "ta-lst": "text-align-last:|;", +\ "tal:a": "text-align-last:auto;", +\ "tal:l": "text-align-last:left;", +\ "tal:c": "text-align-last:center;", +\ "tal:r": "text-align-last:right;", +\ "td": "text-decoration:${1:none};", +\ "td:n": "text-decoration:none;", +\ "td:u": "text-decoration:underline;", +\ "td:o": "text-decoration:overline;", +\ "td:l": "text-decoration:line-through;", +\ "te": "text-emphasis:|;", +\ "te:n": "text-emphasis:none;", +\ "te:ac": "text-emphasis:accent;", +\ "te:dt": "text-emphasis:dot;", +\ "te:c": "text-emphasis:circle;", +\ "te:ds": "text-emphasis:disc;", +\ "te:b": "text-emphasis:before;", +\ "te:a": "text-emphasis:after;", +\ "th": "text-height:|;", +\ "th:a": "text-height:auto;", +\ "th:f": "text-height:font-size;", +\ "th:t": "text-height:text-size;", +\ "th:m": "text-height:max-size;", +\ "ti": "text-indent:|;", +\ "ti:-": "text-indent:-9999px;", +\ "tj": "text-justify:|;", +\ "tj:a": "text-justify:auto;", +\ "tj:iw": "text-justify:inter-word;", +\ "tj:ii": "text-justify:inter-ideograph;", +\ "tj:ic": "text-justify:inter-cluster;", +\ "tj:d": "text-justify:distribute;", +\ "tj:k": "text-justify:kashida;", +\ "tj:t": "text-justify:tibetan;", +\ "tov": "text-overflow:${ellipsis};", +\ "tov:e": "text-overflow:ellipsis;", +\ "tov:c": "text-overflow:clip;", +\ "to": "text-outline:|;", +\ "to+": "text-outline:${1:0} ${2:0} ${3:#000};", +\ "to:n": "text-outline:none;", +\ "tr": "text-replace:|;", +\ "tr:n": "text-replace:none;", +\ "tt": "text-transform:${1:uppercase};", +\ "tt:n": "text-transform:none;", +\ "tt:c": "text-transform:capitalize;", +\ "tt:u": "text-transform:uppercase;", +\ "tt:l": "text-transform:lowercase;", +\ "tw": "text-wrap:|;", +\ "tw:n": "text-wrap:normal;", +\ "tw:no": "text-wrap:none;", +\ "tw:u": "text-wrap:unrestricted;", +\ "tw:s": "text-wrap:suppress;", +\ "tsh": "text-shadow:${1:hoff} ${2:voff} ${3:blur} ${4:#000};", +\ "tsh:r": "text-shadow:${1:h} ${2:v} ${3:blur} rgb(${4:0}, ${5:0}, ${6:0});", +\ "tsh:ra": "text-shadow:${1:h} ${2:v} ${3:blur} rgba(${4:0}, ${5:0}, ${6:0}, .${7:5});", +\ "tsh+": "text-shadow:${1:0} ${2:0} ${3:0} ${4:#000};", +\ "tsh:n": "text-shadow:none;", +\ "trf": "transform:|;", +\ "trf:skx": "transform: skewX(${1:angle});", +\ "trf:sky": "transform: skewY(${1:angle});", +\ "trf:sc": "transform: scale(${1:x}, ${2:y});", +\ "trf:scx": "transform: scaleX(${1:x});", +\ "trf:scy": "transform: scaleY(${1:y});", +\ "trf:scz": "transform: scaleZ(${1:z});", +\ "trf:sc3": "transform: scale3d(${1:x}, ${2:y}, ${3:z});", +\ "trf:r": "transform: rotate(${1:angle});", +\ "trf:rx": "transform: rotateX(${1:angle});", +\ "trf:ry": "transform: rotateY(${1:angle});", +\ "trf:rz": "transform: rotateZ(${1:angle});", +\ "trf:t": "transform: translate(${1:x}, ${2:y});", +\ "trf:tx": "transform: translateX(${1:x});", +\ "trf:ty": "transform: translateY(${1:y});", +\ "trf:tz": "transform: translateZ(${1:z});", +\ "trf:t3": "transform: translate3d(${1:tx}, ${2:ty}, ${3:tz});", +\ "trfo": "transform-origin:|;", +\ "trfs": "transform-style:${1:preserve-3d};", +\ "trs": "transition:${1:prop} ${2:time};", +\ "trsde": "transition-delay:${1:time};", +\ "trsdu": "transition-duration:${1:time};", +\ "trsp": "transition-property:${1:prop};", +\ "trstf": "transition-timing-function:${1:tfunc};", +\ "lh": "line-height:|;", +\ "whs": "white-space:|;", +\ "whs:n": "white-space:normal;", +\ "whs:p": "white-space:pre;", +\ "whs:nw": "white-space:nowrap;", +\ "whs:pw": "white-space:pre-wrap;", +\ "whs:pl": "white-space:pre-line;", +\ "whsc": "white-space-collapse:|;", +\ "whsc:n": "white-space-collapse:normal;", +\ "whsc:k": "white-space-collapse:keep-all;", +\ "whsc:l": "white-space-collapse:loose;", +\ "whsc:bs": "white-space-collapse:break-strict;", +\ "whsc:ba": "white-space-collapse:break-all;", +\ "wob": "word-break:|;", +\ "wob:n": "word-break:normal;", +\ "wob:k": "word-break:keep-all;", +\ "wob:ba": "word-break:break-all;", +\ "wos": "word-spacing:|;", +\ "wow": "word-wrap:|;", +\ "wow:nm": "word-wrap:normal;", +\ "wow:n": "word-wrap:none;", +\ "wow:u": "word-wrap:unrestricted;", +\ "wow:s": "word-wrap:suppress;", +\ "wow:b": "word-wrap:break-word;", +\ "wm": "writing-mode:${1:lr-tb};", +\ "wm:lrt": "writing-mode:lr-tb;", +\ "wm:lrb": "writing-mode:lr-bt;", +\ "wm:rlt": "writing-mode:rl-tb;", +\ "wm:rlb": "writing-mode:rl-bt;", +\ "wm:tbr": "writing-mode:tb-rl;", +\ "wm:tbl": "writing-mode:tb-lr;", +\ "wm:btl": "writing-mode:bt-lr;", +\ "wm:btr": "writing-mode:bt-rl;", +\ "lts": "letter-spacing:|;", +\ "lts-n": "letter-spacing:normal;", +\ "f": "font:|;", +\ "f+": "font:${1:1em} ${2:Arial,sans-serif};", +\ "fw": "font-weight:|;", +\ "fw:n": "font-weight:normal;", +\ "fw:b": "font-weight:bold;", +\ "fw:br": "font-weight:bolder;", +\ "fw:lr": "font-weight:lighter;", +\ "fs": "font-style:${italic};", +\ "fs:n": "font-style:normal;", +\ "fs:i": "font-style:italic;", +\ "fs:o": "font-style:oblique;", +\ "fv": "font-variant:|;", +\ "fv:n": "font-variant:normal;", +\ "fv:sc": "font-variant:small-caps;", +\ "fz": "font-size:|;", +\ "fza": "font-size-adjust:|;", +\ "fza:n": "font-size-adjust:none;", +\ "ff": "font-family:|;", +\ "ff:s": "font-family:serif;", +\ "ff:ss": "font-family:sans-serif;", +\ "ff:c": "font-family:cursive;", +\ "ff:f": "font-family:fantasy;", +\ "ff:m": "font-family:monospace;", +\ "ff:a": "font-family: Arial, \"Helvetica Neue\", Helvetica, sans-serif;", +\ "ff:t": "font-family: \"Times New Roman\", Times, Baskerville, Georgia, serif;", +\ "ff:v": "font-family: Verdana, Geneva, sans-serif;", +\ "fef": "font-effect:|;", +\ "fef:n": "font-effect:none;", +\ "fef:eg": "font-effect:engrave;", +\ "fef:eb": "font-effect:emboss;", +\ "fef:o": "font-effect:outline;", +\ "fem": "font-emphasize:|;", +\ "femp": "font-emphasize-position:|;", +\ "femp:b": "font-emphasize-position:before;", +\ "femp:a": "font-emphasize-position:after;", +\ "fems": "font-emphasize-style:|;", +\ "fems:n": "font-emphasize-style:none;", +\ "fems:ac": "font-emphasize-style:accent;", +\ "fems:dt": "font-emphasize-style:dot;", +\ "fems:c": "font-emphasize-style:circle;", +\ "fems:ds": "font-emphasize-style:disc;", +\ "fsm": "font-smooth:|;", +\ "fsm:a": "font-smooth:auto;", +\ "fsm:n": "font-smooth:never;", +\ "fsm:aw": "font-smooth:always;", +\ "fst": "font-stretch:|;", +\ "fst:n": "font-stretch:normal;", +\ "fst:uc": "font-stretch:ultra-condensed;", +\ "fst:ec": "font-stretch:extra-condensed;", +\ "fst:c": "font-stretch:condensed;", +\ "fst:sc": "font-stretch:semi-condensed;", +\ "fst:se": "font-stretch:semi-expanded;", +\ "fst:e": "font-stretch:expanded;", +\ "fst:ee": "font-stretch:extra-expanded;", +\ "fst:ue": "font-stretch:ultra-expanded;", +\ "op": "opacity:|;", +\ "op+": "opacity: $1;\nfilter: alpha(opacity=$2);", +\ "op:ie": "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);", +\ "op:ms": "-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';", +\ "rsz": "resize:|;", +\ "rsz:n": "resize:none;", +\ "rsz:b": "resize:both;", +\ "rsz:h": "resize:horizontal;", +\ "rsz:v": "resize:vertical;", +\ "cur": "cursor:${pointer};", +\ "cur:a": "cursor:auto;", +\ "cur:d": "cursor:default;", +\ "cur:c": "cursor:crosshair;", +\ "cur:ha": "cursor:hand;", +\ "cur:he": "cursor:help;", +\ "cur:m": "cursor:move;", +\ "cur:p": "cursor:pointer;", +\ "cur:t": "cursor:text;", +\ "fxd": "flex-direction:|;", +\ "fxd:r": "flex-direction:row;", +\ "fxd:rr": "flex-direction:row-reverse;", +\ "fxd:c": "flex-direction:column;", +\ "fxd:cr": "flex-direction:column-reverse;", +\ "fxw": "flex-wrap: |;", +\ "fxw:n": "flex-wrap:nowrap;", +\ "fxw:w": "flex-wrap:wrap;", +\ "fxw:wr": "flex-wrap:wrap-reverse;", +\ "fxf": "flex-flow:|;", +\ "jc": "justify-content:|;", +\ "jc:fs": "justify-content:flex-start;", +\ "jc:fe": "justify-content:flex-end;", +\ "jc:c": "justify-content:center;", +\ "jc:sb": "justify-content:space-between;", +\ "jc:sa": "justify-content:space-around;", +\ "ai": "align-items:|;", +\ "ai:fs": "align-items:flex-start;", +\ "ai:fe": "align-items:flex-end;", +\ "ai:c": "align-items:center;", +\ "ai:b": "align-items:baseline;", +\ "ai:s": "align-items:stretch;", +\ "ac": "align-content:|;", +\ "ac:fs": "align-content:flex-start;", +\ "ac:fe": "align-content:flex-end;", +\ "ac:c": "align-content:center;", +\ "ac:sb": "align-content:space-between;", +\ "ac:sa": "align-content:space-around;", +\ "ac:s": "align-content:stretch;", +\ "ord": "order:|;", +\ "fxg": "flex-grow:|;", +\ "fxsh": "flex-shrink:|;", +\ "fxb": "flex-basis:|;", +\ "fx": "flex:|;", +\ "as": "align-self:|;", +\ "as:a": "align-self:auto;", +\ "as:fs": "align-self:flex-start;", +\ "as:fe": "align-self:flex-end;", +\ "as:c": "align-self:center;", +\ "as:b": "align-self:baseline;", +\ "as:s": "align-self:stretch;", +\ "pgbb": "page-break-before:|;", +\ "pgbb:au": "page-break-before:auto;", +\ "pgbb:al": "page-break-before:always;", +\ "pgbb:l": "page-break-before:left;", +\ "pgbb:r": "page-break-before:right;", +\ "pgbi": "page-break-inside:|;", +\ "pgbi:au": "page-break-inside:auto;", +\ "pgbi:av": "page-break-inside:avoid;", +\ "pgba": "page-break-after:|;", +\ "pgba:au": "page-break-after:auto;", +\ "pgba:al": "page-break-after:always;", +\ "pgba:l": "page-break-after:left;", +\ "pgba:r": "page-break-after:right;", +\ "orp": "orphans:|;", +\ "us": "user-select:${none};", +\ "wid": "widows:|;", +\ "wfsm": "-webkit-font-smoothing:${antialiased};", +\ "wfsm:a": "-webkit-font-smoothing:antialiased;", +\ "wfsm:s": "-webkit-font-smoothing:subpixel-antialiased;", +\ "wfsm:sa": "-webkit-font-smoothing:subpixel-antialiased;", +\ "wfsm:n": "-webkit-font-smoothing:none;" +\ }, +\ 'filters': 'fc', +\ 'ignore_embeded_filetype': 1, +\ }, +\ 'sass': { +\ 'extends': 'css', +\ 'snippets': { +\ '@if': "@if {\n\t|\n}", +\ '@e': "@else {\n\t|\n}", +\ '@in': "@include |", +\ '@ex': "@extend |", +\ '@mx': "@mixin {\n\t|\n}", +\ '@fn': "@function {\n\t|\n}", +\ '@r': "@return |", +\ }, +\ }, +\ 'scss': { +\ 'extends': 'css', +\ }, +\ 'less': { +\ 'extends': 'css', +\ }, +\ 'css.drupal': { +\ 'extends': 'css', +\ }, +\ 'styled': { +\ 'extends': 'css', +\ }, +\ 'html': { +\ 'snippets': { +\ '!': "html:5", +\ '!!!': "\n", +\ '!!!4t': "\n", +\ '!!!4s': "\n", +\ '!!!xt': "\n", +\ '!!!xs': "\n", +\ '!!!xxs': "\n", +\ 'c': "", +\ 'cc:ie6': "", +\ 'cc:ie': "", +\ 'cc:noie': "\n\t${child}|\n", +\ 'html:4t': "\n" +\ ."\n" +\ ."\n" +\ ."\t\n" +\ ."\t\n" +\ ."\n" +\ ."\n\t${child}|\n\n" +\ ."", +\ 'html:4s': "\n" +\ ."\n" +\ ."\n" +\ ."\t\n" +\ ."\t\n" +\ ."\n" +\ ."\n\t${child}|\n\n" +\ ."", +\ 'html:xt': "\n" +\ ."\n" +\ ."\n" +\ ."\t\n" +\ ."\t\n" +\ ."\n" +\ ."\n\t${child}|\n\n" +\ ."", +\ 'html:xs': "\n" +\ ."\n" +\ ."\n" +\ ."\t\n" +\ ."\t\n" +\ ."\n" +\ ."\n\t${child}|\n\n" +\ ."", +\ 'html:xxs': "\n" +\ ."\n" +\ ."\n" +\ ."\t\n" +\ ."\t\n" +\ ."\n" +\ ."\n\t${child}|\n\n" +\ ."", +\ 'html:5': "\n" +\ ."\n" +\ ."\n" +\ ."\t\n" +\ ."\t\n" +\ ."\n" +\ ."\n\t${child}|\n\n" +\ ."", +\ }, +\ 'default_attributes': { +\ 'a': [{'href': ''}], +\ 'a:blank': [{'href': 'http://|'},{'target': '_blank'},{'rel': 'noopener noreferrer'}], +\ 'a:link': [{'href': 'http://|'}], +\ 'a:mail': [{'href': 'mailto:|'}], +\ 'a:tel': [{'href': 'tel:+|'}], +\ 'abbr': [{'title': ''}], +\ 'acronym': [{'title': ''}], +\ 'acr': [{'title': ''}], +\ 'base': [{'href': ''}], +\ 'bdo': [{'dir': ''}], +\ 'bdo:r': [{'dir': 'rtl'}], +\ 'bdo:l': [{'dir': 'ltr'}], +\ 'button:disabled': [{'disabled': 'disabled'}], +\ 'button:d': [{'disabled': 'disabled'}], +\ 'btn:d': [{'disabled': 'disabled'}], +\ 'button:submit': [{'type': 'submit'}], +\ 'button:s': [{'type': 'submit'}], +\ 'btn:s': [{'type': 'submit'}], +\ 'button:reset': [{'type': 'reset'}], +\ 'button:r': [{'type': 'reset'}], +\ 'btn:r': [{'type': 'reset'}], +\ 'del': [{'datetime': '${datetime}'}], +\ 'ins': [{'datetime': '${datetime}'}], +\ 'link:css': [{'rel': 'stylesheet'}, g:emmet_html5 ? {} : {'type': 'text/css'}, {'href': '|style.css'}, {'media': 'all'}], +\ 'link:manifest': [{'rel': 'manifest'},{'href': '|manifest.json'}], +\ 'link:mf': [{'rel': 'manifest'},{'href': '|manifest.json'}], +\ 'link:print': [{'rel': 'stylesheet'}, g:emmet_html5 ? {} : {'type': 'text/css'}, {'href': '|print.css'}, {'media': 'print'}], +\ 'link:import': [{'rel': 'import'}, {'href': '|.html'}], +\ 'link:im': [{'rel': 'import'}, {'href': '|.html'}], +\ 'link:favicon': [{'rel': 'shortcut icon'}, {'type': 'image/x-icon'}, {'href': '|favicon.ico'}], +\ 'link:touch': [{'rel': 'apple-touch-icon'}, {'href': '|favicon.png'}], +\ 'link:rss': [{'rel': 'alternate'}, {'type': 'application/rss+xml'}, {'title': 'RSS'}, {'href': '|rss.xml'}], +\ 'link:atom': [{'rel': 'alternate'}, {'type': 'application/atom+xml'}, {'title': 'Atom'}, {'href': 'atom.xml'}], +\ 'marquee': [{'behavior': ''},{'direction': ''}], +\ 'meta:utf': [{'http-equiv': 'Content-Type'}, {'content': 'text/html;charset=UTF-8'}], +\ 'meta:vp': [{'name': 'viewport'}, {'content': 'width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0'}], +\ 'meta:win': [{'http-equiv': 'Content-Type'}, {'content': 'text/html;charset=Win-1251'}], +\ 'meta:compat': [{'http-equiv': 'X-UA-Compatible'}, {'content': 'IE=7'}], +\ 'meta:desc': [{'name': 'description'},{'content': ''}], +\ 'meta:edge': [{'http-equiv': 'X-UA-Compatible'}, {'content': 'ie=edge'}], +\ 'meta:kw': [{'name': 'keywords'},{'content': ''}], +\ 'meta:redirect': [{'http-equiv': 'Content-Type'}, {'content': '0; url=http://example.com'}], +\ 'style': g:emmet_html5 ? [] : [{'type': 'text/css'}], +\ 'script': g:emmet_html5 ? [] : [{'type': 'text/javascript'}], +\ 'script:src': (g:emmet_html5 ? [] : [{'type': 'text/javascript'}]) + [{'src': ''}], +\ 'img': [{'src': ''}, {'alt': ''}], +\ 'img:srcset': [{'srcset': ''},{'src': ''}, {'alt': ''}], +\ 'img:s': [{'srcset': ''},{'src': ''}, {'alt': ''}], +\ 'img:sizes': [{'sizes': ''},{'srcset': ''},{'src': ''}, {'alt': ''}], +\ 'img:z': [{'sizes': ''},{'srcset': ''},{'src': ''}, {'alt': ''}], +\ 'iframe': [{'src': ''}, {'frameborder': '0'}], +\ 'embed': [{'src': ''}, {'type': ''}], +\ 'object': [{'data': ''}, {'type': ''}], +\ 'param': [{'name': ''}, {'value': ''}], +\ 'map': {'name': ''}, +\ 'area': [{'shape': ''}, {'coords': ''}, {'href': ''}, {'alt': ''}], +\ 'area:d': [{'shape': 'default'}, {'href': ''}, {'alt': ''}], +\ 'area:c': [{'shape': 'circle'}, {'coords': ''}, {'href': ''}, {'alt': ''}], +\ 'area:r': [{'shape': 'rect'}, {'coords': ''}, {'href': ''}, {'alt': ''}], +\ 'area:p': [{'shape': 'poly'}, {'coords': ''}, {'href': ''}, {'alt': ''}], +\ 'link': [{'rel': 'stylesheet'}, {'href': ''}], +\ 'fieldset:disabled': [{'disabled': 'disabled'}], +\ 'fieldset:d': [{'disabled': 'disabled'}], +\ 'fset:d': [{'disabled': 'disabled'}], +\ 'fst:disabled': [{'disabled': 'disabled'}], +\ 'form': [{'action': ''}], +\ 'form:get': [{'action': ''}, {'method': 'get'}], +\ 'form:post': [{'action': ''}, {'method': 'post'}], +\ 'form:upload': [{'action': ''}, {'method': 'post'}, {'enctype': 'multipart/form-data'}], +\ 'label': [{'for': ''}], +\ 'input': [{'type': ''}], +\ 'input:hidden': [{'type': 'hidden'}, {'name': ''}], +\ 'input:h': [{'type': 'hidden'}, {'name': ''}], +\ 'input:text': [{'type': 'text'}, {'name': ''}, {'id': ''}], +\ 'input:t': [{'type': 'text'}, {'name': ''}, {'id': ''}], +\ 'input:search': [{'type': 'search'}, {'name': ''}, {'id': ''}], +\ 'input:email': [{'type': 'email'}, {'name': ''}, {'id': ''}], +\ 'input:tel': [{'type': 'tel'}, {'name': ''}, {'id': ''}], +\ 'input:url': [{'type': 'url'}, {'name': ''}, {'id': ''}], +\ 'input:password': [{'type': 'password'}, {'name': ''}, {'id': ''}], +\ 'input:p': [{'type': 'password'}, {'name': ''}, {'id': ''}], +\ 'input:datetime': [{'type': 'datetime'}, {'name': ''}, {'id': ''}], +\ 'input:date': [{'type': 'date'}, {'name': ''}, {'id': ''}], +\ 'input:datetime-local': [{'type': 'datetime-local'}, {'name': ''}, {'id': ''}], +\ 'input:month': [{'type': 'month'}, {'name': ''}, {'id': ''}], +\ 'input:week': [{'type': 'week'}, {'name': ''}, {'id': ''}], +\ 'input:time': [{'type': 'time'}, {'name': ''}, {'id': ''}], +\ 'input:number': [{'type': 'number'}, {'name': ''}, {'id': ''}], +\ 'input:color': [{'type': 'color'}, {'name': ''}, {'id': ''}], +\ 'input:checkbox': [{'type': 'checkbox'}, {'name': ''}, {'id': ''}], +\ 'input:c': [{'type': 'checkbox'}, {'name': ''}, {'id': ''}], +\ 'input:radio': [{'type': 'radio'}, {'name': ''}, {'id': ''}], +\ 'input:r': [{'type': 'radio'}, {'name': ''}, {'id': ''}], +\ 'input:range': [{'type': 'range'}, {'name': ''}, {'id': ''}], +\ 'input:file': [{'type': 'file'}, {'name': ''}, {'id': ''}], +\ 'input:f': [{'type': 'file'}, {'name': ''}, {'id': ''}], +\ 'input:submit': [{'type': 'submit'}, {'value': ''}], +\ 'input:s': [{'type': 'submit'}, {'value': ''}], +\ 'input:image': [{'type': 'image'}, {'src': ''}, {'alt': ''}], +\ 'input:i': [{'type': 'image'}, {'src': ''}, {'alt': ''}], +\ 'input:reset': [{'type': 'reset'}, {'value': ''}], +\ 'input:button': [{'type': 'button'}, {'value': ''}], +\ 'input:b': [{'type': 'button'}, {'value': ''}], +\ 'select': [{'name': ''}, {'id': ''}], +\ 'select:disabled': [{'name': ''}, {'id': ''}, {'disabled': 'disabled'}], +\ 'source:media': [{'media': '(minwidth: )'},{'srcset': ''}], +\ 'source:m': [{'media': '(minwidth: )'},{'srcset': ''}], +\ 'source:media:type': [{'media': '(minwidth: )'},{'srcset': ''},{'type': 'image/'}], +\ 'source:media:sizes': [{'media': '(minwidth: )'},{'srcset': ''},{'sizes': ''}], +\ 'source:sizes:type': [{'sizes': ''},{'srcset': ''},{'type': 'image/'}], +\ 'source:src': [{'src': ''},{'type': ''}], +\ 'source:sc': [{'src': ''},{'type': ''}], +\ 'source:srcset': [{'srcset': ''}], +\ 'source:s': [{'srcset': ''}], +\ 'source:type': [{'srcset': ''},{'type': 'image/'}], +\ 'source:t': [{'srcset': ''},{'type': 'image/'}], +\ 'source:sizes': [{'sizes': ''},{'srcset': ''}], +\ 'source:z': [{'sizes': ''},{'srcset': ''}], +\ 'option': [{'value': ''}], +\ 'textarea': [{'name': ''}, {'id': ''}, {'cols': '30'}, {'rows': '10'}], +\ 'menu:context': [{'type': 'context'}], +\ 'menu:c': [{'type': 'context'}], +\ 'menu:toolbar': [{'type': 'toolbar'}], +\ 'menu:t': [{'type': 'toolbar'}], +\ 'video': [{'src': ''}], +\ 'audio': [{'src': ''}], +\ 'html:xml': [{'xmlns': 'http://www.w3.org/1999/xhtml'}, {'xml:lang': '${lang}'}], +\ }, +\ 'aliases': { +\ 'link:*': 'link', +\ 'meta:*': 'meta', +\ 'area:*': 'area', +\ 'bdo:*': 'bdo', +\ 'form:*': 'form', +\ 'input:*': 'input', +\ 'script:*': 'script', +\ 'html:*': 'html', +\ 'a:*': 'a', +\ 'menu:*': 'menu', +\ 'mn': 'main', +\ 'tem': 'template', +\ 'bq': 'blockquote', +\ 'acr': 'acronym', +\ 'fig': 'figure', +\ 'figc': 'figcaption', +\ 'ifr': 'iframe', +\ 'emb': 'embed', +\ 'obj': 'object', +\ 'src:*': 'source', +\ 'cap': 'caption', +\ 'colg': 'colgroup', +\ 'fst': 'fieldset', +\ 'btn:': 'button', +\ 'optg': 'optgroup', +\ 'opt': 'option', +\ 'pic': 'picture', +\ 'tarea': 'textarea', +\ 'leg': 'legend', +\ 'sect': 'section', +\ 'art': 'article', +\ 'hdr': 'header', +\ 'ftr': 'footer', +\ 'adr': 'address', +\ 'dlg': 'dialog', +\ 'str': 'strong', +\ 'sty': 'style', +\ 'prog': 'progress', +\ 'fset': 'fieldset', +\ 'datag': 'datagrid', +\ 'datal': 'datalist', +\ 'kg': 'keygen', +\ 'out': 'output', +\ 'det': 'details', +\ 'cmd': 'command', +\ 'sum': 'summary', +\ }, +\ 'expandos': { +\ 'ol': 'ol>li', +\ 'ul': 'ul>li', +\ 'dl': 'dl>dt+dd', +\ 'map': 'map>area', +\ 'table': 'table>tr>td', +\ 'colgroup': 'colgroup>col', +\ 'colg': 'colgroup>col', +\ 'tr': 'tr>td', +\ 'select': 'select>option', +\ 'optgroup': 'optgroup>option', +\ 'optg': 'optgroup>option', +\ 'ri:dpr': 'img:s', +\ 'ri:d': 'img:s', +\ 'ri:viewport': 'img:z', +\ 'ri:vp': 'img:z', +\ 'ri:art': 'pic>source:m+img', +\ 'ri:a': 'pic>source:m+img', +\ 'ri:type': 'pic>source:t+img', +\ 'ri:t': 'pic>source:t+img', +\ }, +\ 'empty_elements': 'area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed,keygen,command', +\ 'block_elements': 'address,applet,blockquote,button,center,dd,del,dir,div,dl,dt,fieldset,form,frameset,hr,iframe,ins,isindex,li,link,map,menu,noframes,noscript,object,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul,h1,h2,h3,h4,h5,h6', +\ 'inline_elements': 'a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,small,span,strike,strong,sub,sup,textarea,tt,u,var', +\ 'empty_element_suffix': g:emmet_html5 ? '>' : ' />', +\ 'indent_blockelement': 0, +\ 'block_all_childless': 0, +\ }, +\ 'elm': { +\ 'indentation': ' ', +\ 'extends': 'html', +\ }, +\ 'xml': { +\ 'extends': 'html', +\ 'empty_elements': '', +\ 'block_elements': '', +\ 'inline_elements': '', +\ }, +\ 'htmldjango': { +\ 'extends': 'html', +\ }, +\ 'html.django_template': { +\ 'extends': 'html', +\ }, +\ 'jade': { +\ 'indentation': ' ', +\ 'extends': 'html', +\ 'snippets': { +\ '!': "html:5", +\ '!!!': "doctype html\n", +\ '!!!4t': "doctype HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"\n", +\ '!!!4s': "doctype HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\"\n", +\ '!!!xt': "doctype transitional\n", +\ '!!!xs': "doctype strict\n", +\ '!!!xxs': "doctype 1.1\n", +\ 'c': "\/\/ |${child}", +\ 'html:4t': "doctype HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"\n" +\ ."html(lang=\"${lang}\")\n" +\ ."\thead\n" +\ ."\t\tmeta(http-equiv=\"Content-Type\", content=\"text/html;charset=${charset}\")\n" +\ ."\t\ttitle\n" +\ ."\tbody\n\t\t${child}|", +\ 'html:4s': "doctype HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\"\n" +\ ."html(lang=\"${lang}\")\n" +\ ."\thead\n" +\ ."\t\tmeta(http-equiv=\"Content-Type\", content=\"text/html;charset=${charset}\")\n" +\ ."\t\ttitle\n" +\ ."\tbody\n\t\t${child}|", +\ 'html:xt': "doctype transitional\n" +\ ."html(xmlns=\"http://www.w3.org/1999/xhtml\", xml:lang=\"${lang}\")\n" +\ ."\thead\n" +\ ."\t\tmeta(http-equiv=\"Content-Type\", content=\"text/html;charset=${charset}\")\n" +\ ."\t\ttitle\n" +\ ."\tbody\n\t\t${child}|", +\ 'html:xs': "doctype strict\n" +\ ."html(xmlns=\"http://www.w3.org/1999/xhtml\", xml:lang=\"${lang}\")\n" +\ ."\thead\n" +\ ."\t\tmeta(http-equiv=\"Content-Type\", content=\"text/html;charset=${charset}\")\n" +\ ."\t\ttitle\n" +\ ."\tbody\n\t\t${child}|", +\ 'html:xxs': "doctype 1.1\n" +\ ."html(xmlns=\"http://www.w3.org/1999/xhtml\", xml:lang=\"${lang}\")\n" +\ ."\thead\n" +\ ."\t\tmeta(http-equiv=\"Content-Type\", content=\"text/html;charset=${charset}\")\n" +\ ."\t\ttitle\n" +\ ."\tbody\n\t\t${child}|", +\ 'html:5': "doctype html\n" +\ ."html(lang=\"${lang}\")\n" +\ ."\thead\n" +\ ."\t\tmeta(charset=\"${charset}\")\n" +\ ."\t\ttitle\n" +\ ."\tbody\n\t\t${child}|", +\ }, +\ }, +\ 'pug': { +\ 'extends': 'jade', +\ }, +\ 'xsl': { +\ 'extends': 'html', +\ 'default_attributes': { +\ 'tmatch': [{'match': ''}, {'mode': ''}], +\ 'tname': [{'name': ''}], +\ 'xsl:when': {'test': ''}, +\ 'var': [{'name': ''}, {'select': ''}], +\ 'vari': {'name': ''}, +\ 'if': {'test': ''}, +\ 'call': {'name': ''}, +\ 'attr': {'name': ''}, +\ 'wp': [{'name': ''}, {'select': ''}], +\ 'par': [{'name': ''}, {'select': ''}], +\ 'val': {'select': ''}, +\ 'co': {'select': ''}, +\ 'each': {'select': ''}, +\ 'ap': [{'select': ''}, {'mode': ''}] +\ }, +\ 'aliases': { +\ 'tmatch': 'xsl:template', +\ 'tname': 'xsl:template', +\ 'var': 'xsl:variable', +\ 'vari': 'xsl:variable', +\ 'if': 'xsl:if', +\ 'choose': 'xsl:choose', +\ 'call': 'xsl:call-template', +\ 'wp': 'xsl:with-param', +\ 'par': 'xsl:param', +\ 'val': 'xsl:value-of', +\ 'attr': 'xsl:attribute', +\ 'co' : 'xsl:copy-of', +\ 'each' : 'xsl:for-each', +\ 'ap' : 'xsl:apply-templates', +\ }, +\ 'expandos': { +\ 'choose': 'xsl:choose>xsl:when+xsl:otherwise', +\ } +\ }, +\ 'jsx': { +\ 'extends': 'html', +\ 'attribute_name': {'class': 'className', 'for': 'htmlFor'}, +\ 'empty_element_suffix': ' />', +\ }, +\ 'javascriptreact': { +\ 'extends': 'html', +\ 'attribute_name': {'class': 'className', 'for': 'htmlFor'}, +\ 'empty_element_suffix': ' />', +\ }, +\ 'tsx': { +\ 'extends': 'jsx', +\ }, +\ 'typescriptreact': { +\ 'extends': 'html', +\ 'attribute_name': {'class': 'className', 'for': 'htmlFor'}, +\ 'empty_element_suffix': ' />', +\ }, +\ 'xslt': { +\ 'extends': 'xsl', +\ }, +\ 'haml': { +\ 'indentation': ' ', +\ 'extends': 'html', +\ 'snippets': { +\ 'html:5': "!!! 5\n" +\ ."%html{:lang => \"${lang}\"}\n" +\ ."\t%head\n" +\ ."\t\t%meta{:charset => \"${charset}\"}\n" +\ ."\t\t%title\n" +\ ."\t%body\n" +\ ."\t\t${child}|\n", +\ }, +\ 'attribute_style': 'hash', +\ }, +\ 'slim': { +\ 'indentation': ' ', +\ 'extends': 'html', +\ 'snippets': { +\ 'html:5': "doctype 5\n" +\ ."html lang=\"${lang}\"\n" +\ ."\thead\n" +\ ."\t\tmeta charset=\"${charset}\"\n" +\ ."\t\ttitle\n" +\ ."\tbody\n" +\ ."\t\t${child}|\n", +\ }, +\ 'ignore_embeded_filetype': 1, +\ }, +\ 'xhtml': { +\ 'extends': 'html' +\ }, +\ 'mustache': { +\ 'extends': 'html' +\ }, +\ 'xsd': { +\ 'extends': 'html', +\ 'snippets': { +\ 'xsd:w3c': "\n" +\ ."\n" +\ ."\t\n" +\ ."\n" +\ } +\ }, +\} + +if exists('g:user_emmet_settings') + call emmet#mergeConfig(s:emmet_settings, g:user_emmet_settings) +endif + +let &cpoptions = s:save_cpo +unlet s:save_cpo + +" vim:set et: diff --git a/nvim/plugged/emmet-vim/autoload/emmet/lang.vim b/nvim/plugged/emmet-vim/autoload/emmet/lang.vim new file mode 100644 index 00000000..37e426b4 --- /dev/null +++ b/nvim/plugged/emmet-vim/autoload/emmet/lang.vim @@ -0,0 +1,52 @@ +let s:exists = {} +function! emmet#lang#exists(type) abort + if len(a:type) == 0 + return 0 + elseif has_key(s:exists, a:type) + return s:exists[a:type] + endif + let s:exists[a:type] = len(globpath(&rtp, 'autoload/emmet/lang/'.a:type.'.vim')) > 0 + return s:exists[a:type] +endfunction + +function! emmet#lang#type(type) abort + let type = a:type + let base = type + let settings = emmet#getSettings() + while base != '' + for b in split(base, '\.') + if emmet#lang#exists(b) + return b + endif + if has_key(settings, b) && has_key(settings[b], 'extends') + let base = settings[b].extends + break + else + let base = '' + endif + endfor + endwhile + return 'html' +endfunction + +" get all extends for a type recursively +function! emmet#lang#getExtends(type) abort + let settings = emmet#getSettings() + + if !has_key(settings[a:type], 'extends') + return [] + endif + + let extends = settings[a:type].extends + if type(extends) ==# 1 + let tmp = split(extends, '\s*,\s*') + unlet! extends + let extends = tmp + endif + + for ext in extends + let extends = extends + emmet#lang#getExtends(ext) + endfor + + return extends +endfunction diff --git a/nvim/plugged/emmet-vim/autoload/emmet/lang/css.vim b/nvim/plugged/emmet-vim/autoload/emmet/lang/css.vim new file mode 100644 index 00000000..d26f9422 --- /dev/null +++ b/nvim/plugged/emmet-vim/autoload/emmet/lang/css.vim @@ -0,0 +1,385 @@ +function! emmet#lang#css#findTokens(str) abort + let tmp = substitute(substitute(a:str, '^.*[;{]\s*', '', ''), '}\s*$', '', '') + if tmp =~ '/' && tmp =~ '^[a-zA-Z0-9/_.]\+$' + " maybe path or something + return '' + endif + return substitute(substitute(a:str, '^.*[;{]\s*', '', ''), '}\s*$', '', '') +endfunction + +function! emmet#lang#css#parseIntoTree(abbr, type) abort + let abbr = a:abbr + let type = a:type + let prefix = 0 + let value = '' + + let indent = emmet#getIndentation(type) + let aliases = emmet#getResource(type, 'aliases', {}) + let snippets = emmet#getResource(type, 'snippets', {}) + let use_pipe_for_cursor = emmet#getResource(type, 'use_pipe_for_cursor', 1) + + let root = emmet#newNode() + + " emmet + let tokens = split(abbr, '+\ze[^+)!]') + let block = emmet#util#searchRegion('{', '}') + if abbr !~# '^@' && emmet#getBaseType(type) ==# 'css' && type !=# 'sass' && type !=# 'styled' && block[0] ==# [0,0] && block[1] ==# [0,0] + let current = emmet#newNode() + let current.snippet = substitute(abbr, '\s\+$', '', '') . " {\n" . indent . "${cursor}\n}" + let current.name = '' + call add(root.child, deepcopy(current)) + else + for n in range(len(tokens)) + let token = tokens[n] + let prop = matchlist(token, '^\(-\{0,1}[a-zA-Z]\+\|[a-zA-Z0-9]\++\{0,1}\|([a-zA-Z0-9]\++\{0,1})\)\(\%([0-9.-]\+\%(p\|e\|em\|x\|vh\|vw\|re\|rem\|%\)\{0,}-\{0,1}\|-auto\)*\)$') + if len(prop) + let token = substitute(prop[1], '^(\(.*\))', '\1', '') + if token =~# '^-' + let prefix = 1 + let token = token[1:] + endif + let value = '' + for vt in split(prop[2], '\a\+\zs') + let ut = matchstr(vt, '[a-z]\+$') + if ut == 'auto' + let ut = '' + endif + for v in split(vt, '\d\zs-') + if len(value) > 0 + let value .= ' ' + endif + if v !~ '[a-z]\+$' + let v .= ut + endif + if token =~# '^[z]' + " TODO + let value .= substitute(v, '[^0-9.]*$', '', '') + elseif v =~# 'em$' + let value .= v + elseif v =~# 'ex$' + let value .= v + elseif v =~# 'vh$' + let value .= v + elseif v =~# 'vw$' + let value .= v + elseif v =~# 'rem$' + let value .= v + elseif v ==# 'auto' + let value .= v + elseif v =~# 'p$' + let value .= substitute(v, 'p$', '%', '') + elseif v =~# '%$' + let value .= v + elseif v =~# 'e$' + let value .= substitute(v, 'e$', 'em', '') + elseif v =~# 'x$' + let value .= substitute(v, 'x$', 'ex', '') + elseif v =~# 're$' + let value .= substitute(v, 're$', 'rem', '') + elseif v =~# '\.' + let value .= v . 'em' + elseif v ==# '0' + let value .= '0' + else + let value .= v . 'px' + endif + endfor + endfor + endif + + let tag_name = token + if tag_name =~# '.!$' + let tag_name = tag_name[:-2] + let important = 1 + else + let important = 0 + endif + " make default node + let current = emmet#newNode() + let current.important = important + let current.name = tag_name + + " aliases + if has_key(aliases, tag_name) + let current.name = aliases[tag_name] + endif + + " snippets + if !empty(snippets) + let snippet_name = tag_name + if !has_key(snippets, snippet_name) + let pat = '^' . join(split(tag_name, '\zs'), '\%(\|[^:-]\+-\)') + let vv = filter(sort(keys(snippets)), 'snippets[v:val] =~ pat') + if len(vv) == 0 + let vv = filter(sort(keys(snippets)), 'substitute(v:val, ":", "", "g") == snippet_name') + endif + if len(vv) > 0 + let snippet_name = vv[0] + else + let pat = '^' . join(split(tag_name, '\zs'), '\%(\|[^:-]\+-*\)') + let vv = filter(sort(keys(snippets)), 'snippets[v:val] =~ pat') + if len(vv) == 0 + let pat = '^' . join(split(tag_name, '\zs'), '[^:]\{-}') + let vv = filter(sort(keys(snippets)), 'snippets[v:val] =~ pat') + if len(vv) == 0 + let pat = '^' . join(split(tag_name, '\zs'), '.\{-}') + let vv = filter(sort(keys(snippets)), 'snippets[v:val] =~ pat') + endif + endif + let minl = -1 + for vk in vv + let vvs = snippets[vk] + if minl == -1 || len(vvs) < minl + let snippet_name = vk + let minl = len(vvs) + endif + endfor + endif + endif + if has_key(snippets, snippet_name) + let snippet = snippets[snippet_name] + if use_pipe_for_cursor + let snippet = substitute(snippet, '|', '${cursor}', 'g') + endif + let lines = split(snippet, "\n") + call map(lines, 'substitute(v:val, "\\( \\|\\t\\)", escape(indent, "\\\\"), "g")') + let current.snippet = join(lines, "\n") + let current.name = '' + let current.snippet = substitute(current.snippet, ';', value . ';', '') + if use_pipe_for_cursor && len(value) > 0 + let current.snippet = substitute(current.snippet, '\${cursor}', '', 'g') + endif + if n < len(tokens) - 1 + let current.snippet .= "\n" + endif + endif + endif + + let current.pos = 0 + let lg = matchlist(token, '^\%(linear-gradient\|lg\)(\s*\(\S\+\)\s*,\s*\([^,]\+\)\s*,\s*\([^)]\+\)\s*)$') + if len(lg) == 0 + let lg = matchlist(token, '^\%(linear-gradient\|lg\)(\s*\(\S\+\)\s*,\s*\([^,]\+\)\s*)$') + if len(lg) + let [lg[1], lg[2], lg[3]] = ['linear', lg[1], lg[2]] + endif + endif + if len(lg) + let current.name = '' + let current.snippet = printf("background-image:-webkit-gradient(%s, 0 0, 0 100%, from(%s), to(%s));\n", lg[1], lg[2], lg[3]) + call add(root.child, deepcopy(current)) + let current.snippet = printf("background-image:-webkit-linear-gradient(%s, %s);\n", lg[2], lg[3]) + call add(root.child, deepcopy(current)) + let current.snippet = printf("background-image:-moz-linear-gradient(%s, %s);\n", lg[2], lg[3]) + call add(root.child, deepcopy(current)) + let current.snippet = printf("background-image:-o-linear-gradient(%s, %s);\n", lg[2], lg[3]) + call add(root.child, deepcopy(current)) + let current.snippet = printf("background-image:linear-gradient(%s, %s);\n", lg[2], lg[3]) + call add(root.child, deepcopy(current)) + elseif prefix + let snippet = current.snippet + let current.snippet = '-webkit-' . snippet . "\n" + call add(root.child, deepcopy(current)) + let current.snippet = '-moz-' . snippet . "\n" + call add(root.child, deepcopy(current)) + let current.snippet = '-o-' . snippet . "\n" + call add(root.child, deepcopy(current)) + let current.snippet = '-ms-' . snippet . "\n" + call add(root.child, deepcopy(current)) + let current.snippet = snippet + call add(root.child, current) + elseif token =~# '^c#\([0-9a-fA-F]\{3}\|[0-9a-fA-F]\{6}\)\(\.[0-9]\+\)\?' + let cs = split(token, '\.') + let current.name = '' + let [r,g,b] = [0,0,0] + if len(cs[0]) == 5 + let rgb = matchlist(cs[0], 'c#\(.\)\(.\)\(.\)') + let r = eval('0x'.rgb[1].rgb[1]) + let g = eval('0x'.rgb[2].rgb[2]) + let b = eval('0x'.rgb[3].rgb[3]) + elseif len(cs[0]) == 8 + let rgb = matchlist(cs[0], 'c#\(..\)\(..\)\(..\)') + let r = eval('0x'.rgb[1]) + let g = eval('0x'.rgb[2]) + let b = eval('0x'.rgb[3]) + endif + if len(cs) == 1 + let current.snippet = printf('color:rgb(%d, %d, %d);', r, g, b) + else + let current.snippet = printf('color:rgb(%d, %d, %d, %s);', r, g, b, string(str2float('0.'.cs[1]))) + endif + call add(root.child, current) + elseif token =~# '^c#' + let current.name = '' + let current.snippet = 'color:\${cursor};' + call add(root.child, current) + else + call add(root.child, current) + endif + endfor + endif + return root +endfunction + +function! emmet#lang#css#toString(settings, current, type, inline, filters, itemno, indent) abort + let current = a:current + let value = current.value[1:-2] + let tmp = substitute(value, '\${cursor}', '', 'g') + if tmp !~ '.*{[ \t\r\n]*}$' + if emmet#useFilter(a:filters, 'fc') + let value = substitute(value, '\([^:]\+\):\([^;]*\)', '\1: \2', 'g') + else + let value = substitute(value, '\([^:]\+\):\([^;]*\)', '\1:\2', 'g') + endif + if current.important + let value = substitute(value, ';', ' !important;', '') + endif + endif + return value +endfunction + +function! emmet#lang#css#imageSize() abort + let img_region = emmet#util#searchRegion('{', '}') + if !emmet#util#regionIsValid(img_region) || !emmet#util#cursorInRegion(img_region) + return + endif + let content = emmet#util#getContent(img_region) + let fn = matchstr(content, '\') + if len(node) + exe "normal ciw\='/* '.node.' */'\" + endif + endif + else + if line =~# mx + let space = substitute(matchstr(line, mx), mx, '\1', '') + let line = substitute(matchstr(line, mx), mx, '\2', '') + let line = space . substitute(line, '^\s*\|\s*$', '\1', 'g') + else + let mx = '^\(\s*\)\(''[^'']*''\|[^'']*\|;\)\s*$' + " TODO multi-property + "let mx = '^\(\s*\)\(\%(''[^'']*''\|[^'';]\+\)*;\{0,1}\)' + let line = substitute(line, mx, '\1/* \2 */', '') + endif + call setline('.', line) + endif +endfunction + +function! emmet#lang#css#balanceTag(flag) range abort + if a:flag == -2 || a:flag == 2 + let curpos = [0, line("'<"), col("'<"), 0] + else + let curpos = emmet#util#getcurpos() + endif + let block = emmet#util#getVisualBlock() + if !emmet#util#regionIsValid(block) + if a:flag > 0 + let block = emmet#util#searchRegion('^', ';') + if emmet#util#regionIsValid(block) + call emmet#util#selectRegion(block) + return + endif + endif + else + if a:flag > 0 + let content = emmet#util#getContent(block) + if content !~# '^{.*}$' + let block = emmet#util#searchRegion('{', '}') + if emmet#util#regionIsValid(block) + call emmet#util#selectRegion(block) + return + endif + endif + else + let pos = searchpos('.*;', 'nW') + if pos[0] != 0 + call setpos('.', [0, pos[0], pos[1], 0]) + let block = emmet#util#searchRegion('^', ';') + if emmet#util#regionIsValid(block) + call emmet#util#selectRegion(block) + return + endif + endif + endif + endif + if a:flag == -2 || a:flag == 2 + silent! exe 'normal! gv' + else + call setpos('.', curpos) + endif +endfunction + +function! emmet#lang#css#moveNextPrevItem(flag) abort + return emmet#lang#css#moveNextPrev(a:flag) +endfunction + +function! emmet#lang#css#moveNextPrev(flag) abort + call search('""\|()\|\(:\s*\zs;\{1,0}$\)', a:flag ? 'Wbp' : 'Wp') + return '' +endfunction + +function! emmet#lang#css#splitJoinTag() abort + " nothing to do +endfunction + +function! emmet#lang#css#removeTag() abort + " nothing to do +endfunction + +function! emmet#lang#css#mergeLines() abort + " nothing to do +endfunction diff --git a/nvim/plugged/emmet-vim/autoload/emmet/lang/elm.vim b/nvim/plugged/emmet-vim/autoload/emmet/lang/elm.vim new file mode 100644 index 00000000..ce663bd0 --- /dev/null +++ b/nvim/plugged/emmet-vim/autoload/emmet/lang/elm.vim @@ -0,0 +1,241 @@ +function! emmet#lang#elm#findTokens(str) abort + return emmet#lang#html#findTokens(a:str) +endfunction + +function! emmet#lang#elm#parseIntoTree(abbr, type) abort + let tree = emmet#lang#html#parseIntoTree(a:abbr, a:type) + if len(tree.child) < 2 | return tree | endif + + " Add ',' nodes between root elements. + let new_children = [] + for child in tree.child[0:-2] + let comma = emmet#newNode() + let comma.name = ',' + call add(new_children, child) + call add(new_children, comma) + endfor + call add(new_children, tree.child[-1]) + let tree.child = new_children + return tree +endfunction + +function! emmet#lang#elm#renderNode(node) + let elm_nodes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6' + \, 'div', 'p', 'hr', 'pre', 'blockquote' + \, 'span', 'a', 'code', 'em', 'strong', 'i', 'b', 'u', 'sub', 'sup', 'br' + \, 'ol', 'ul', 'li', 'dl', 'dt', 'dd' + \, 'img', 'iframe', 'canvas', 'math' + \, 'form', 'input', 'textarea', 'button', 'select', 'option' + \, 'section', 'nav', 'article', 'aside', 'header', 'footer', 'address', 'main_', 'body' + \, 'figure', 'figcaption' + \, 'table', 'caption', 'colgroup', 'col', 'tbody', 'thead', 'tfoot', 'tr', 'td', 'th' + \, 'fieldset', 'legend', 'label', 'datalist', 'optgroup', 'keygen', 'output', 'progress', 'meter' + \, 'audio', 'video', 'source', 'track' + \, 'embed', 'object', 'param' + \, 'ins', 'del' + \, 'small', 'cite', 'dfn', 'abbr', 'time', 'var', 'samp', 'kbd', 's', 'q' + \, 'mark', 'ruby', 'rt', 'rp', 'bdi', 'bdo', 'wbr' + \, 'details', 'summary', 'menuitem', 'menu'] + + if index(elm_nodes, a:node) >= 0 + return a:node + endif + return 'node "' . a:node . '"' +endfunction + +function! emmet#lang#elm#renderParam(param) + let elm_events = ["onClick", "onDoubleClick" + \, "onMouseDown", "onMouseUp" + \, "onMouseEnter", "onMouseLeave" + \, "onMouseOver", "onMouseOut" + \, "onInput", "onCheck", "onSubmit" + \, "onBlur", "onFocus" + \, "on", "onWithOptions", "Options", "defaultOptions" + \, "targetValue", "targetChecked", "keyCode"] + if index(elm_events, a:param) >= 0 + return a:param + endif + let elm_attributes = ["style", "map" , "class", "id", "title", "hidden" + \, "type", "type_", "value", "defaultValue", "checked", "placeholder", "selected" + \, "accept", "acceptCharset", "action", "autocomplete", "autofocus" + \, "disabled", "enctype", "formaction", "list", "maxlength", "minlength", "method", "multiple" + \, "name", "novalidate", "pattern", "readonly", "required", "size", "for", "form" + \, "max", "min", "step" + \, "cols", "rows", "wrap" + \, "href", "target", "download", "downloadAs", "hreflang", "media", "ping", "rel" + \, "ismap", "usemap", "shape", "coords" + \, "src", "height", "width", "alt" + \, "autoplay", "controls", "loop", "preload", "poster", "default", "kind", "srclang" + \, "sandbox", "seamless", "srcdoc" + \, "reversed", "start" + \, "align", "colspan", "rowspan", "headers", "scope" + \, "async", "charset", "content", "defer", "httpEquiv", "language", "scoped" + \, "accesskey", "contenteditable", "contextmenu", "dir", "draggable", "dropzone" + \, "itemprop", "lang", "spellcheck", "tabindex" + \, "challenge", "keytype" + \, "cite", "datetime", "pubdate", "manifest"] + + if index(elm_attributes, a:param) >= 0 + if a:param == 'type' + return 'type_' + endif + return a:param + endif + return 'attribute "' . a:param . '"' +endfunction + +function! emmet#lang#elm#toString(settings, current, type, inline, filters, itemno, indent) abort + let settings = a:settings + let current = a:current + let type = a:type + let inline = a:inline + let filters = a:filters + let itemno = a:itemno + let indent = emmet#getIndentation(type) + let dollar_expr = emmet#getResource(type, 'dollar_expr', 1) + let str = '' + + " comma between items with *, eg. li*3 + if itemno > 0 + let str = ", " + endif + + let current_name = current.name + if dollar_expr + let current_name = substitute(current.name, '\$$', itemno+1, '') + endif + + if len(current.name) > 0 + " inserted root comma nodes + if current_name == ',' + return "\n, " + endif + let str .= emmet#lang#elm#renderNode(current_name) + let tmp = '' + for attr in emmet#util#unique(current.attrs_order + keys(current.attr)) + if !has_key(current.attr, attr) + continue + endif + let Val = current.attr[attr] + + let attr = emmet#lang#elm#renderParam(attr) + + if type(Val) == 2 && Val == function('emmet#types#true') + let tmp .= ', ' . attr . ' True' + else + if dollar_expr + while Val =~# '\$\([^#{]\|$\)' + let Val = substitute(Val, '\(\$\+\)\([^{]\|$\)', '\=printf("%0".len(submatch(1))."d", itemno+1).submatch(2)', 'g') + endwhile + let attr = substitute(attr, '\$$', itemno+1, '') + endif + let valtmp = substitute(Val, '\${cursor}', '', '') + if attr ==# 'id' && len(valtmp) > 0 + let tmp .=', id "' . Val . '"' + elseif attr ==# 'class' && len(valtmp) > 0 + let tmp .= ', class "' . substitute(Val, '\.', ' ', 'g') . '"' + else + let tmp .= ', ' . attr . ' "' . Val . '"' + endif + endif + endfor + + if ! len(tmp) + let str .= ' []' + else + let tmp = strpart(tmp, 2) + let str .= ' [ ' . tmp . ' ]' + endif + + " No children quit early + if len(current.child) == 0 && len(current.value) == 0 + "Place cursor in node with no value or children + let str .= ' [${cursor}]' + return str + endif + + let inner = '' + + " Parent contex text + if len(current.value) > 0 + let text = current.value[1:-2] + if dollar_expr + let text = substitute(text, '\%(\\\)\@\ 0 + " Text node + let text = child.value[1:-2] + if dollar_expr + let text = substitute(text, '\%(\\\)\@\ 0 + let str .= '%' . current_name + let tmp = '' + for attr in emmet#util#unique(current.attrs_order + keys(current.attr)) + if !has_key(current.attr, attr) + continue + endif + let Val = current.attr[attr] + if type(Val) == 2 && Val == function('emmet#types#true') + if attribute_style ==# 'hash' + let tmp .= ' :' . attr . ' => true' + elseif attribute_style ==# 'html' + let tmp .= attr . '=true' + end + else + if dollar_expr + while Val =~# '\$\([^#{]\|$\)' + let Val = substitute(Val, '\(\$\+\)\([^{]\|$\)', '\=printf("%0".len(submatch(1))."d", itemno+1).submatch(2)', 'g') + endwhile + let attr = substitute(attr, '\$$', itemno+1, '') + endif + let valtmp = substitute(Val, '\${cursor}', '', '') + if attr ==# 'id' && len(valtmp) > 0 + let str .= '#' . Val + elseif attr ==# 'class' && len(valtmp) > 0 + let str .= '.' . substitute(Val, ' ', '.', 'g') + else + if len(tmp) > 0 + if attribute_style ==# 'hash' + let tmp .= ',' + elseif attribute_style ==# 'html' + let tmp .= ' ' + endif + endif + if attribute_style ==# 'hash' + let tmp .= ' :' . attr . ' => "' . Val . '"' + elseif attribute_style ==# 'html' + let tmp .= attr . '="' . Val . '"' + end + endif + endif + endfor + if len(tmp) + if attribute_style ==# 'hash' + let str .= '{' . tmp . ' }' + elseif attribute_style ==# 'html' + let str .= '(' . tmp . ')' + end + endif + if stridx(','.settings.html.empty_elements.',', ','.current_name.',') != -1 && len(current.value) == 0 + let str .= '/' + endif + + let inner = '' + if len(current.value) > 0 + let text = current.value[1:-2] + if dollar_expr + let text = substitute(text, '\%(\\\)\@\ 0 + for child in current.child + let inner .= emmet#toString(child, type, inline, filters, itemno, indent) + endfor + let inner = substitute(inner, "\n", "\n" . escape(indent, '\'), 'g') + let inner = substitute(inner, "\n" . escape(indent, '\') . '$', '', 'g') + let str .= "\n" . indent . inner + endif + else + let str = current.value[1:-2] + if dollar_expr + let str = substitute(str, '\%(\\\)\@\\s*\%(\([^"'' \t]\+\)\|"\([^"]\{-}\)"\|''\([^'']\{-}\)''\)' + while len(attrs) > 0 + let match = matchstr(attrs, mx) + if len(match) ==# 0 + break + endif + let attr_match = matchlist(match, mx) + let name = attr_match[1] + let value = len(attr_match[2]) ? attr_match[2] : attr_match[3] + let current.attr[name] = value + let current.attrs_order += [name] + let attrs = attrs[stridx(attrs, match) + len(match):] + endwhile + return current +endfunction + +function! emmet#lang#haml#toggleComment() abort + let line = getline('.') + let space = matchstr(line, '^\s*') + if line =~# '^\s*-#' + call setline('.', space . matchstr(line[len(space)+2:], '^\s*\zs.*')) + elseif line =~# '^\s*%[a-z]' + call setline('.', space . '-# ' . line[len(space):]) + endif +endfunction + +function! emmet#lang#haml#balanceTag(flag) range abort + let block = emmet#util#getVisualBlock() + if a:flag == -2 || a:flag == 2 + let curpos = [0, line("'<"), col("'<"), 0] + else + let curpos = emmet#util#getcurpos() + endif + let n = curpos[1] + let ml = len(matchstr(getline(n), '^\s*')) + + if a:flag > 0 + if a:flag == 1 || !emmet#util#regionIsValid(block) + let n = line('.') + else + while n > 0 + let l = len(matchstr(getline(n), '^\s*\ze%[a-z]')) + if l > 0 && l < ml + let ml = l + break + endif + let n -= 1 + endwhile + endif + let sn = n + if n == 0 + let ml = 0 + endif + while n < line('$') + let l = len(matchstr(getline(n), '^\s*%[a-z]')) + if l > 0 && l <= ml + let n -= 1 + break + endif + let n += 1 + endwhile + call setpos('.', [0, n, 1, 0]) + normal! V + call setpos('.', [0, sn, 1, 0]) + else + while n > 0 + let l = len(matchstr(getline(n), '^\s*\ze[a-z]')) + if l > 0 && l > ml + let ml = l + break + endif + let n += 1 + endwhile + let sn = n + if n == 0 + let ml = 0 + endif + while n < line('$') + let l = len(matchstr(getline(n), '^\s*%[a-z]')) + if l > 0 && l <= ml + let n -= 1 + break + endif + let n += 1 + endwhile + call setpos('.', [0, n, 1, 0]) + normal! V + call setpos('.', [0, sn, 1, 0]) + endif +endfunction + +function! emmet#lang#haml#moveNextPrevItem(flag) abort + return emmet#lang#haml#moveNextPrev(a:flag) +endfunction + +function! emmet#lang#haml#moveNextPrev(flag) abort + let pos = search('""', a:flag ? 'Wb' : 'W') + if pos != 0 + silent! normal! l + startinsert + endif +endfunction + +function! emmet#lang#haml#splitJoinTag() abort + let n = line('.') + let sml = len(matchstr(getline(n), '^\s*%[a-z]')) + while n > 0 + if getline(n) =~# '^\s*\ze%[a-z]' + if len(matchstr(getline(n), '^\s*%[a-z]')) < sml + break + endif + let line = getline(n) + call setline(n, substitute(line, '^\s*%\w\+\%(\s*{[^}]*}\|\s\)\zs.*', '', '')) + let sn = n + let n += 1 + let ml = len(matchstr(getline(n), '^\s*%[a-z]')) + if len(matchstr(getline(n), '^\s*')) > ml + while n <= line('$') + let l = len(matchstr(getline(n), '^\s*')) + if l <= ml + break + endif + exe n 'delete' + endwhile + call setpos('.', [0, sn, 1, 0]) + else + let tag = matchstr(getline(sn), '^\s*%\zs\(\w\+\)') + let spaces = matchstr(getline(sn), '^\s*') + let settings = emmet#getSettings() + if stridx(','.settings.html.inline_elements.',', ','.tag.',') == -1 + call append(sn, spaces . ' ') + call setpos('.', [0, sn+1, 1, 0]) + else + call setpos('.', [0, sn, 1, 0]) + endif + startinsert! + endif + break + endif + let n -= 1 + endwhile +endfunction + +function! emmet#lang#haml#removeTag() abort + let n = line('.') + let ml = 0 + while n > 0 + if getline(n) =~# '^\s*\ze[a-z]' + let ml = len(matchstr(getline(n), '^\s*%[a-z]')) + break + endif + let n -= 1 + endwhile + let sn = n + while n < line('$') + let l = len(matchstr(getline(n), '^\s*%[a-z]')) + if l > 0 && l <= ml + let n -= 1 + break + endif + let n += 1 + endwhile + if sn == n + exe 'delete' + else + exe sn ',' (n-1) 'delete' + endif +endfunction + +function! emmet#lang#haml#mergeLines() abort +endfunction diff --git a/nvim/plugged/emmet-vim/autoload/emmet/lang/html.vim b/nvim/plugged/emmet-vim/autoload/emmet/lang/html.vim new file mode 100644 index 00000000..20bbf1c3 --- /dev/null +++ b/nvim/plugged/emmet-vim/autoload/emmet/lang/html.vim @@ -0,0 +1,1036 @@ +let s:bx = '{\%("[^"]*"\|''[^'']*''\|\$#\|\${\w\+}\|\$\+\|{[^{]\+\|[^{}]\)\{-}}' +let s:mx = '\([+>]\|[<^]\+\)\{-}' +\ .'\((*\)\{-}' +\ .'\([@#.]\{-}[a-zA-Z_\!][a-zA-Z0-9:_\!\-$]*\|' . s:bx . '\|\[[^\]]\+\]\)' +\ .'\(' +\ .'\%(' +\ .'\%(#{[{}a-zA-Z0-9_\-\$]\+\|#[a-zA-Z0-9_\-\$]\+\)' +\ .'\|\%(\[\%(\[[^\]]*\]\|"[^"]*"\|[^"\[\]]*\)\+\]\)' +\ .'\|\%(\.{[{}a-zA-Z0-9_\-\$\.]\+\|\.[a-zA-Z0-9_\-\$]\+\)' +\ .'\)*' +\ .'\)' +\ .'\%(\(' . s:bx . '\+\)\)\{0,1}' +\ .'\%(\(@-\{0,1}[0-9]*\)\{0,1}\*\([0-9]\+\)\)\{0,1}' +\ .'\(\%()\%(\(@-\{0,1}[0-9]*\)\{0,1}\*[0-9]\+\)\{0,1}\)*\)' + +function! emmet#lang#html#findTokens(str) abort + let str = a:str + let [pos, last_pos] = [0, 0] + while 1 + let tag = matchstr(str, '<[a-zA-Z].\{-}>', pos) + if len(tag) == 0 + break + endif + let pos = stridx(str, tag, pos) + len(tag) + endwhile + while 1 + let tag = matchstr(str, '{%[^%]\{-}%}', pos) + if len(tag) == 0 + break + endif + let pos = stridx(str, tag, pos) + len(tag) + endwhile + let last_pos = pos + while len(str) > 0 + let white = matchstr(str, '^\s\+', pos) + if white != '' + let last_pos = pos + len(white) + let pos = last_pos + endif + let token = matchstr(str, s:mx, pos) + if token ==# '' + break + endif + let pos = stridx(str, token, pos) + len(token) + endwhile + let str = a:str[last_pos :-1] + if str =~# '^\w\+="[^"]*$' + return '' + endif + return str +endfunction + +function! emmet#lang#html#parseIntoTree(abbr, type) abort + let abbr = a:abbr + let type = a:type + + let settings = emmet#getSettings() + if !has_key(settings, type) + let type = 'html' + endif + if len(type) == 0 | let type = 'html' | endif + + let indent = emmet#getIndentation(type) + let pmap = { + \'p': 'span', + \'ul': 'li', + \'ol': 'li', + \'table': 'tr', + \'tr': 'td', + \'tbody': 'tr', + \'thead': 'tr', + \'tfoot': 'tr', + \'colgroup': 'col', + \'select': 'option', + \'optgroup': 'option', + \'audio': 'source', + \'video': 'source', + \'object': 'param', + \'map': 'area' + \} + + let inlineLevel = split('a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var',',') + + let custom_expands = emmet#getResource(type, 'custom_expands', {}) + if empty(custom_expands) && has_key(settings, 'custom_expands') + let custom_expands = settings['custom_expands'] + endif + + " try 'foo' to (foo-x) + let rabbr = emmet#getExpandos(type, abbr) + if rabbr == abbr + " try 'foo+(' to (foo-x) + let rabbr = substitute(abbr, '\%(+\|^\)\([a-zA-Z][a-zA-Z0-9+]\+\)+\([(){}>]\|$\)', '\="(".emmet#getExpandos(type, submatch(1)).")".submatch(2)', 'i') + endif + let abbr = rabbr + + let root = emmet#newNode() + let root['variables'] = {} + let parent = root + let last = root + let pos = [] + while len(abbr) + " parse line + let match = matchstr(abbr, s:mx) + let str = substitute(match, s:mx, '\0', 'ig') + let operator = substitute(match, s:mx, '\1', 'ig') + let block_start = substitute(match, s:mx, '\2', 'ig') + let tag_name = substitute(match, s:mx, '\3', 'ig') + let attributes = substitute(match, s:mx, '\4', 'ig') + let value = substitute(match, s:mx, '\5', 'ig') + let basevalue = substitute(match, s:mx, '\6', 'ig') + let multiplier = 0 + substitute(match, s:mx, '\7', 'ig') + let block_end = substitute(match, s:mx, '\8', 'ig') + let custom = '' + let important = 0 + if len(str) == 0 + break + endif + if tag_name =~# '^#' + let attributes = tag_name . attributes + let tag_name = '' + endif + if tag_name =~# '[^!]!$' + let tag_name = tag_name[:-2] + let important = 1 + endif + if tag_name =~# '^\.' + let attributes = tag_name . attributes + let tag_name = '' + endif + if tag_name =~# '^\[.*\]$' + let attributes = tag_name . attributes + let tag_name = '' + endif + + for k in keys(custom_expands) + if tag_name =~ k + let custom = tag_name + let tag_name = '' + break + endif + endfor + + if empty(tag_name) + let pname = len(parent.child) > 0 ? parent.child[0].name : '' + if !empty(pname) && has_key(pmap, pname) && custom == '' + let tag_name = pmap[pname] + elseif !empty(pname) && index(inlineLevel, pname) > -1 + let tag_name = 'span' + elseif len(custom) == 0 + let tag_name = 'div' + elseif len(custom) != 0 && multiplier > 1 + let tag_name = 'div' + else + let tag_name = custom + endif + endif + + let basedirect = basevalue[1] ==# '-' ? -1 : 1 + if basevalue != '' + let basevalue = 0 + abs(basevalue[1:]) + else + let basevalue = 1 + endif + if multiplier <= 0 | let multiplier = 1 | endif + + " make default node + let current = emmet#newNode() + + let current.name = tag_name + let current.important = important + + " aliases + let aliases = emmet#getResource(type, 'aliases', {}) + if has_key(aliases, tag_name) + let current.name = aliases[tag_name] + endif + + let use_pipe_for_cursor = emmet#getResource(type, 'use_pipe_for_cursor', 1) + + " snippets + let snippets = emmet#getResource(type, 'snippets', {}) + if !empty(snippets) + let snippet_name = tag_name + if has_key(snippets, snippet_name) + let snippet = snippet_name + while has_key(snippets, snippet) + let snippet = snippets[snippet] + endwhile + if use_pipe_for_cursor + let snippet = substitute(snippet, '|', '${cursor}', 'g') + endif + " just redirect to expanding + if type == 'html' && snippet !~ '^\s*[{\[<]' + return emmet#lang#html#parseIntoTree(snippet, a:type) + endif + let lines = split(snippet, "\n", 1) + call map(lines, 'substitute(v:val, "\\( \\|\\t\\)", escape(indent, "\\\\"), "g")') + let current.snippet = join(lines, "\n") + let current.name = '' + endif + endif + + for k in keys(custom_expands) + if tag_name =~# k + let snippet = '${' . (empty(custom) ? tag_name : custom) . '}' + let current.name = '' + let current.snippet = snippet + break + elseif custom =~# k + let snippet = '${' . custom . '}' + let current.snippet = '${' . custom . '}' + if current.name != '' + let snode = emmet#newNode() + let snode.snippet = snippet + let snode.parent = current + call add(current.child, snode) + else + let current.snippet = snippet + endif + break + endif + endfor + + " default_attributes + let default_attributes = emmet#getResource(type, 'default_attributes', {}) + if !empty(default_attributes) + for pat in [current.name, tag_name] + if has_key(default_attributes, pat) + if type(default_attributes[pat]) == 4 + let a = default_attributes[pat] + let current.attrs_order += keys(a) + if use_pipe_for_cursor + for k in keys(a) + if type(a[k]) == 7 + call remove(current.attr, k) + continue + endif + let current.attr[k] = len(a[k]) ? substitute(a[k], '|', '${cursor}', 'g') : '${cursor}' + endfor + else + for k in keys(a) + if type(a[k]) == 7 + call remove(current.attr, k) + continue + endif + let current.attr[k] = a[k] + endfor + endif + else + for a in default_attributes[pat] + let current.attrs_order += keys(a) + if use_pipe_for_cursor + for k in keys(a) + if type(a[k]) == 7 + call remove(current.attr, k) + continue + endif + let current.attr[k] = len(a[k]) ? substitute(a[k], '|', '${cursor}', 'g') : '${cursor}' + endfor + else + for k in keys(a) + if type(a[k]) == 7 + call remove(current.attr, k) + continue + endif + let current.attr[k] = a[k] + endfor + endif + endfor + endif + if has_key(settings.html.default_attributes, current.name) + let current.name = substitute(current.name, ':.*$', '', '') + endif + break + endif + endfor + endif + + " parse attributes + if len(attributes) + let attr = attributes + while len(attr) + let item = matchstr(attr, '\(\%(\%(#[{}a-zA-Z0-9_\-\$]\+\)\|\%(\[\%(\[[^\]]*\]\|"[^"]*"\|[^"\[\]]*\)\+\]\)\|\%(\.[{}a-zA-Z0-9_\-\$]\+\)*\)\)') + if g:emmet_debug > 1 + echomsg 'attr=' . item + endif + if len(item) == 0 + break + endif + if item[0] ==# '#' + let current.attr.id = item[1:] + let root['variables']['id'] = current.attr.id + endif + if item[0] ==# '.' + let current.attr.class = substitute(item[1:], '\.', ' ', 'g') + let root['variables']['class'] = current.attr.class + endif + if item[0] ==# '[' + let atts = item[1:-2] + if matchstr(atts, '^\s*\zs[0-9a-zA-Z_\-:]\+\(="[^"]*"\|=''[^'']*''\|=[^ ''"]\+\)') ==# '' + let ks = [] + if has_key(default_attributes, current.name) + let dfa = default_attributes[current.name] + let ks = type(dfa) == 3 ? len(dfa) > 0 ? keys(dfa[0]) : [] : keys(dfa) + endif + if len(ks) == 0 && has_key(default_attributes, current.name . ':src') + let dfa = default_attributes[current.name . ':src'] + let ks = type(dfa) == 3 ? len(dfa) > 0 ? keys(dfa[0]) : [] : keys(dfa) + endif + if len(ks) > 0 + let current.attr[ks[0]] = atts + elseif atts =~# '\.$' + let current.attr[atts[:-2]] = function('emmet#types#true') + else + let current.attr[atts] = '' + endif + else + while len(atts) + let amat = matchstr(atts, '^\s*\zs\([0-9a-zA-Z-:]\+\%(={{.\{-}}}\|="[^"]*"\|=''[^'']*''\|=[^ ''"]\+\|[^ ''"\]]*\)\{0,1}\)') + if len(amat) == 0 + break + endif + let key = split(amat, '=')[0] + let Val = amat[len(key)+1:] + if key =~# '\.$' && Val ==# '' + let key = key[:-2] + unlet Val + let Val = function('emmet#types#true') + elseif Val =~# '^["'']' + let Val = Val[1:-2] + endif + let current.attr[key] = Val + if index(current.attrs_order, key) == -1 + let current.attrs_order += [key] + endif + let atts = atts[stridx(atts, amat) + len(amat):] + unlet Val + endwhile + endif + endif + let attr = substitute(strpart(attr, len(item)), '^\s*', '', '') + endwhile + endif + + " parse text + if tag_name =~# '^{.*}$' + let current.name = '' + let current.value = tag_name + else + let current.value = value + endif + let current.basedirect = basedirect + let current.basevalue = basevalue + let current.multiplier = multiplier + + " parse step inside/outside + if !empty(last) + if operator =~# '>' + unlet! parent + let parent = last + let current.parent = last + let current.pos = last.pos + 1 + else + let current.parent = parent + let current.pos = last.pos + endif + else + let current.parent = parent + let current.pos = 1 + endif + if operator =~# '[<^]' + for c in range(len(operator)) + let tmp = parent.parent + if empty(tmp) + break + endif + let parent = tmp + let current.parent = tmp + endfor + endif + + call add(parent.child, current) + let last = current + + " parse block + if block_start =~# '(' + if operator =~# '>' + let last.pos += 1 + endif + let last.block = 1 + for n in range(len(block_start)) + let pos += [last.pos] + endfor + endif + if block_end =~# ')' + for n in split(substitute(substitute(block_end, ' ', '', 'g'), ')', ',),', 'g'), ',') + if n ==# ')' + if len(pos) > 0 && last.pos >= pos[-1] + for c in range(last.pos - pos[-1]) + let tmp = parent.parent + if !has_key(tmp, 'parent') + break + endif + let parent = tmp + endfor + if len(pos) > 0 + call remove(pos, -1) + endif + let last = parent + let last.pos += 1 + endif + elseif len(n) + let st = 0 + for nc in range(len(last.child)) + if last.child[nc].block + let st = nc + break + endif + endfor + let cl = last.child[st :] + let cls = [] + for c in range(n[1:]) + for cc in cl + if cc.multiplier > 1 + let cc.basedirect = c + 1 + else + let cc.basevalue = c + 1 + endif + endfor + let cls += deepcopy(cl) + endfor + if st > 0 + let last.child = last.child[:st-1] + cls + else + let last.child = cls + endif + endif + endfor + endif + let abbr = abbr[stridx(abbr, match) + len(match):] + if abbr == '/' + let current.empty = 1 + endif + + if g:emmet_debug > 1 + echomsg 'str='.str + echomsg 'block_start='.block_start + echomsg 'tag_name='.tag_name + echomsg 'operator='.operator + echomsg 'attributes='.attributes + echomsg 'value='.value + echomsg 'basevalue='.basevalue + echomsg 'multiplier='.multiplier + echomsg 'block_end='.block_end + echomsg 'abbr='.abbr + echomsg 'pos='.string(pos) + echomsg '---' + endif + endwhile + return root +endfunction + +function! s:dollar_add(base,no) abort + if a:base > 0 + return a:base + a:no - 1 + elseif a:base < 0 + return a:base - a:no + 1 + else + return a:no + endif +endfunction + +function! emmet#lang#html#toString(settings, current, type, inline, filters, itemno, indent) abort + let settings = a:settings + let current = a:current + let type = a:type + let inline = a:inline + let filters = a:filters + let itemno = a:itemno + let indent = a:indent + let dollar_expr = emmet#getResource(type, 'dollar_expr', 1) + let q = emmet#getResource(type, 'quote_char', '"') + let ct = emmet#getResource(type, 'comment_type', 'both') + let an = emmet#getResource(type, 'attribute_name', {}) + let empty_elements = emmet#getResource(type, 'empty_elements', settings.html.empty_elements) + let empty_element_suffix = emmet#getResource(type, 'empty_element_suffix', settings.html.empty_element_suffix) + + if emmet#useFilter(filters, 'haml') + return emmet#lang#haml#toString(settings, current, type, inline, filters, itemno, indent) + endif + if emmet#useFilter(filters, 'slim') + return emmet#lang#slim#toString(settings, current, type, inline, filters, itemno, indent) + endif + + let comment = '' + let current_name = current.name + if dollar_expr + let current_name = substitute(current_name, '\$$', itemno+1, '') + endif + + let str = '' + if len(current_name) == 0 + let text = current.value[1:-2] + if dollar_expr + " TODO: regexp engine specified + let nr = itemno + 1 + if exists('®expengine') + let text = substitute(text, '\%#=1\%(\\\)\@\ 0 + let str .= '<' . current_name + endif + for attr in emmet#util#unique(current.attrs_order + keys(current.attr)) + if !has_key(current.attr, attr) + continue + endif + let Val = current.attr[attr] + if type(Val) == 2 && Val == function('emmet#types#true') + unlet Val + let Val = 'true' + if g:emmet_html5 + let str .= ' ' . attr + else + let str .= ' ' . attr . '=' . q . attr . q + endif + if emmet#useFilter(filters, 'c') + if attr ==# 'id' | let comment .= '#' . Val | endif + if attr ==# 'class' | let comment .= '.' . Val | endif + endif + else + if dollar_expr + while Val =~# '\$\([^#{]\|$\)' + " TODO: regexp engine specified + if exists('®expengine') + let Val = substitute(Val, '\%#=1\(\$\+\)\([^{#]\|$\)', '\=printf("%0".len(submatch(1))."d", itemno+1).submatch(2)', 'g') + else + let Val = substitute(Val, '\(\$\+\)\([^{#]\|$\)', '\=printf("%0".len(submatch(1))."d", itemno+1).submatch(2)', 'g') + endif + endwhile + let attr = substitute(attr, '\$$', itemno+1, '') + endif + if attr ==# 'class' && emmet#useFilter(filters, 'bem') + let vals = split(Val, '\s\+') + let Val = '' + let lead = '' + for _val in vals + if len(Val) > 0 + let Val .= ' ' + endif + if _val =~# '^_' + if has_key(current.parent.attr, 'class') + let lead = current.parent.attr["class"] + if _val =~# '^__' + let Val .= lead . _val + else + let Val .= lead . ' ' . lead . _val + endif + else + let lead = split(vals[0], '_')[0] + let Val .= lead . _val + endif + elseif _val =~# '^-' + for l in split(_val, '_') + if len(Val) > 0 + let Val .= ' ' + endif + let l = substitute(l, '^-', '__', '') + if len(lead) == 0 + let pattr = current.parent.attr + if has_key(pattr, 'class') + let lead = split(pattr['class'], '\s\+')[0] + endif + endif + let Val .= lead . l + let lead .= l . '_' + endfor + else + let Val .= _val + endif + endfor + endif + if has_key(an, attr) + let attr = an[attr] + endif + if emmet#isExtends(type, 'jsx') && Val =~ '^{.*}$' + let str .= ' ' . attr . '=' . Val + else + let str .= ' ' . attr . '=' . q . Val . q + endif + if emmet#useFilter(filters, 'c') + if attr ==# 'id' | let comment .= '#' . Val | endif + if attr ==# 'class' | let comment .= '.' . Val | endif + endif + endif + unlet Val + endfor + if len(comment) > 0 && ct ==# 'both' + let str = '\n" . str + endif + if current.empty + let str .= ' />' + elseif stridx(','.empty_elements.',', ','.current_name.',') != -1 + let str .= empty_element_suffix + else + let str .= '>' + let text = current.value[1:-2] + if dollar_expr + " TODO: regexp engine specified + let nr = itemno + 1 + if exists('®expengine') + let text = substitute(text, '\%#=1\%(\\\)\@\ 0 + for n in range(nc) + let child = current.child[n] + if child.multiplier > 1 || (child.multiplier == 1 && len(child.child) > 0 && stridx(','.settings.html.inline_elements.',', ','.current_name.',') == -1) || settings.html.block_all_childless + let str .= "\n" . indent + let dr = 1 + elseif len(current_name) > 0 && stridx(','.settings.html.inline_elements.',', ','.current_name.',') == -1 + if nc > 1 || (len(child.name) > 0 && stridx(','.settings.html.inline_elements.',', ','.child.name.',') == -1) + let str .= "\n" . indent + let dr = 1 + elseif current.multiplier == 1 && nc == 1 && len(child.name) == 0 + let str .= "\n" . indent + let dr = 1 + endif + endif + let inner = emmet#toString(child, type, 0, filters, itemno, indent) + let inner = substitute(inner, "^\n", '', 'g') + let inner = substitute(inner, "\n", "\n" . escape(indent, '\'), 'g') + let inner = substitute(inner, "\n" . escape(indent, '\') . '$', '', 'g') + let str .= inner + endfor + else + if settings.html.indent_blockelement && len(current_name) > 0 && stridx(','.settings.html.inline_elements.',', ','.current_name.',') == -1 || settings.html.block_all_childless + let str .= "\n" . indent . '${cursor}' . "\n" + else + let str .= '${cursor}' + endif + endif + if dr + let str .= "\n" + endif + let str .= '' + endif + if len(comment) > 0 + if ct ==# 'lastonly' + let str .= '' + else + let str .= "\n' + endif + endif + if len(current_name) > 0 && current.multiplier > 0 || stridx(','.settings.html.block_elements.',', ','.current_name.',') != -1 + let str .= "\n" + endif + return str +endfunction + +function! emmet#lang#html#imageSize() abort + let img_region = emmet#util#searchRegion('') + if !emmet#util#regionIsValid(img_region) || !emmet#util#cursorInRegion(img_region) + return + endif + let content = emmet#util#getContent(img_region) + if content !~# '^<]\+>$' + return + endif + let current = emmet#lang#html#parseTag(content) + if empty(current) || !has_key(current.attr, 'src') + return + endif + let fn = current.attr.src + if fn =~# '^\s*$' + return + elseif fn !~# '^\(/\|http\)' + let fn = simplify(expand('%:h') . '/' . fn) + endif + + let [width, height] = emmet#util#getImageSize(fn) + if width == -1 && height == -1 + return + endif + let current.attr.width = width + let current.attr.height = height + let current.attrs_order += ['width', 'height'] + let html = substitute(emmet#toString(current, 'html', 1), '\n', '', '') + let html = substitute(html, '\${cursor}', '', '') + call emmet#util#setContent(img_region, html) +endfunction + +function! emmet#lang#html#imageEncode() abort + let img_region = emmet#util#searchRegion('') + if !emmet#util#regionIsValid(img_region) || !emmet#util#cursorInRegion(img_region) + return + endif + let content = emmet#util#getContent(img_region) + if content !~# '^<]\+>$' + return + endif + let current = emmet#lang#html#parseTag(content) + if empty(current) || !has_key(current.attr, 'src') + return + endif + let fn = current.attr.src + if fn =~# '^\s*$' + return + elseif fn !~# '^\(/\|http\)' + let fn = simplify(expand('%:h') . '/' . fn) + endif + + let encoded = emmet#util#imageEncodeDecode(fn, 0) + let current.attr.src = encoded + let content = substitute(emmet#toString(current, 'html', 1), '\n', '', '') + let content = substitute(content, '\${cursor}', '', '') + call emmet#util#setContent(img_region, content) +endfunction + +function! emmet#lang#html#parseTag(tag) abort + let current = emmet#newNode() + let mx = '<\([a-zA-Z][a-zA-Z0-9-]*\)\(\%(\s[a-zA-Z][a-zA-Z0-9-]\+=\?\%([^"'' \t]\+\|"[^"]\{-}"\|''[^'']\{-}''\)\s*\)*\)\(/\{0,1}\)>' + let match = matchstr(a:tag, mx) + let current.name = substitute(match, mx, '\1', 'i') + let attrs = substitute(match, mx, '\2', 'i') + let mx = '\([a-zA-Z0-9-]\+\)\(\(=[^"'' \t]\+\)\|="\([^"]\{-}\)"\|=''\([^'']\{-}\)''\)\?' + while len(attrs) > 0 + let match = matchstr(attrs, mx) + if len(match) == 0 + break + endif + let attr_match = matchlist(match, mx) + let name = attr_match[1] + if len(attr_match[2]) + let Val = len(attr_match[3]) ? attr_match[3] : attr_match[4] + else + let Val = function('emmet#types#true') + endif + let current.attr[name] = Val + let current.attrs_order += [name] + let attrs = attrs[stridx(attrs, match) + len(match):] + endwhile + return current +endfunction + +function! emmet#lang#html#toggleComment() abort + let orgpos = getpos('.') + let curpos = getpos('.') + let mx = '<\%#[^>]*>' + while 1 + let block = emmet#util#searchRegion('') + if emmet#util#regionIsValid(block) + let block[1][1] += 2 + let content = emmet#util#getContent(block) + let content = substitute(content, '^$', '\1', '') + call emmet#util#setContent(block, content) + silent! call setpos('.', orgpos) + return + endif + let block = emmet#util#searchRegion('<[^>]', '>') + if !emmet#util#regionIsValid(block) + let pos1 = searchpos('<', 'bcW') + if pos1[0] == 0 && pos1[1] == 0 + return + endif + let curpos = getpos('.') + continue + endif + let pos1 = block[0] + let pos2 = block[1] + let content = emmet#util#getContent(block) + let tag_name = matchstr(content, '^<\zs/\{0,1}[^ \r\n>]\+') + if tag_name[0] ==# '/' + call setpos('.', [0, pos1[0], pos1[1], 0]) + let pos2 = searchpairpos('<'. tag_name[1:] . '\>[^/>]*>', '', '', 'bnW') + let pos1 = searchpos('>', 'cneW') + let block = [pos2, pos1] + elseif tag_name =~# '/$' + if !emmet#util#pointInRegion(orgpos[1:2], block) + " it's broken tree + call setpos('.', orgpos) + let block = emmet#util#searchRegion('>', '<') + let content = '><' + call emmet#util#setContent(block, content) + silent! call setpos('.', orgpos) + return + endif + else + call setpos('.', [0, pos2[0], pos2[1], 0]) + let pos3 = searchpairpos('<'. tag_name . '\>[^/>]*>', '', '', 'nW') + if pos3 == [0, 0] + let block = [pos1, pos2] + else + call setpos('.', [0, pos3[0], pos3[1], 0]) + let pos2 = searchpos('>', 'neW') + let block = [pos1, pos2] + endif + endif + if !emmet#util#regionIsValid(block) + silent! call setpos('.', orgpos) + return + endif + if emmet#util#pointInRegion(curpos[1:2], block) + let content = '' + call emmet#util#setContent(block, content) + silent! call setpos('.', orgpos) + return + endif + endwhile +endfunction + +function! emmet#lang#html#balanceTag(flag) range abort + let vblock = emmet#util#getVisualBlock() + let curpos = emmet#util#getcurpos() + let settings = emmet#getSettings() + + if a:flag > 0 + let mx = '<\([a-zA-Z][a-zA-Z0-9:_\-]*\)[^>]*' + let last = curpos[1:2] + while 1 + let pos1 = searchpos(mx, 'bW') + let content = matchstr(getline(pos1[0])[pos1[1]-1:], mx) + let tag_name = matchstr(content, '^<\zs[a-zA-Z0-9:_\-]*\ze') + if stridx(','.settings.html.empty_elements.',', ','.tag_name.',') != -1 + let pos2 = searchpos('>', 'nW') + else + let pos2 = searchpairpos('<' . tag_name . '[^>]*>', '', '', 'nW') + endif + let block = [pos1, pos2] + if pos1 == [0, 0] + break + endif + if emmet#util#pointInRegion(last, block) && emmet#util#regionIsValid(block) + call emmet#util#selectRegion(block) + return + endif + if pos1 == last + break + endif + let last = pos1 + endwhile + else + let mx = '<\([a-zA-Z][a-zA-Z0-9:_\-]*\)[^>]*>' + while 1 + let pos1 = searchpos(mx, 'W') + if pos1 == [0, 0] || pos1 == curpos[1:2] + let pos1 = searchpos('>\zs', 'W') + let pos2 = searchpos('.\ze<', 'W') + let block = [pos1, pos2] + if emmet#util#regionIsValid(block) + call emmet#util#selectRegion(block) + return + endif + endif + let content = matchstr(getline(pos1[0])[pos1[1]-1:], mx) + let tag_name = matchstr(content, '^<\zs[a-zA-Z0-9:_\-]*\ze') + if stridx(','.settings.html.empty_elements.',', ','.tag_name.',') != -1 + let pos2 = searchpos('>', 'nW') + else + let pos2 = searchpairpos('<' . tag_name . '[^>]*>', '', '', 'nW') + endif + let block = [pos1, pos2] + if pos1 == [0, 0] + break + endif + if emmet#util#regionIsValid(block) + call emmet#util#selectRegion(block) + return + endif + endwhile + endif + call setpos('.', curpos) +endfunction + +function! emmet#lang#html#moveNextPrevItem(flag) abort + silent! exe "normal \" + let mx = '\%([0-9a-zA-Z-:]\+\%(="[^"]*"\|=''[^'']*''\|[^ ''">\]]*\)\{0,1}\)' + let pos = searchpos('\s'.mx.'\zs', '') + if pos != [0,0] + call feedkeys('v?\s\zs'.mx."\", '') + endif + return '' +endfunction + +function! emmet#lang#html#moveNextPrev(flag) abort + let pos = search('\%(<\/\|\(""\)\|^\(\s*\)$', a:flag ? 'Wpb' : 'Wp') + if pos == 3 + startinsert! + elseif pos != 0 + silent! normal! l + startinsert + endif + return '' +endfunction + +function! emmet#lang#html#splitJoinTag() abort + let curpos = emmet#util#getcurpos() + let mx = '<\(/\{0,1}[a-zA-Z][-a-zA-Z0-9:_\-]*\)\%(\%(\s[a-zA-Z][a-zA-Z0-9]\+=\%([^"'' \t]\+\|"[^"]\{-}"\|''[^'']\{-}''\)\s*\)*\)\s*\%(/\{0,1}\)>' + while 1 + let old = getpos('.')[1:2] + let pos1 = searchpos(mx, 'bcnW') + let content = matchstr(getline(pos1[0])[pos1[1]-1:], mx) + let tag_name = substitute(content, '^<\(/\{0,1}[a-zA-Z][a-zA-Z0-9:_\-]*\).*$', '\1', '') + let block = [pos1, [pos1[0], pos1[1] + len(content) - 1]] + if content[-2:] ==# '/>' && emmet#util#cursorInRegion(block) + let content = substitute(content[:-3], '\s*$', '', '') . '>' + call emmet#util#setContent(block, content) + call setpos('.', [0, block[0][0], block[0][1], 0]) + return + endif + if tag_name[0] ==# '/' + let pos1 = searchpos('<' . tag_name[1:] . '[^a-zA-Z0-9]', 'bcnW') + call setpos('.', [0, pos1[0], pos1[1], 0]) + let pos2 = searchpairpos('<'. tag_name[1:] . '\>[^/>]*>', '', '', 'W') + else + let pos2 = searchpairpos('<'. tag_name . '[^/>]*>', '', '', 'W') + endif + if pos2 == [0, 0] + return + endif + let pos2 = searchpos('>', 'neW') + let block = [pos1, pos2] + if emmet#util#pointInRegion(curpos[1:2], block) + let content = matchstr(content, mx)[:-2] . ' />' + call emmet#util#setContent(block, content) + call setpos('.', [0, block[0][0], block[0][1], 0]) + return + endif + if block[0][0] > 0 + call setpos('.', [0, block[0][0]-1, block[0][1], 0]) + else + call setpos('.', curpos) + return + endif + if pos1 == old + call setpos('.', curpos) + return + endif + endwhile +endfunction + +function! emmet#lang#html#removeTag() abort + let curpos = emmet#util#getcurpos() + let mx = '<\(/\{0,1}[a-zA-Z][-a-zA-Z0-9:_\-]*\)\%(\%(\s[a-zA-Z][a-zA-Z0-9]\+=\%([^"'' \t]\+\|"[^"]\{-}"\|''[^'']\{-}''\)\s*\)*\)\s*\%(/\{0,1}\)>' + + let pos1 = searchpos(mx, 'bcnW') + let content = matchstr(getline(pos1[0])[pos1[1]-1:], mx) + let tag_name = substitute(content, '^<\(/\{0,1}[a-zA-Z][a-zA-Z0-9:_\-]*\).*$', '\1', '') + let block = [pos1, [pos1[0], pos1[1] + len(content) - 1]] + if content[-2:] ==# '/>' && emmet#util#cursorInRegion(block) + call emmet#util#setContent(block, '') + call setpos('.', [0, block[0][0], block[0][1], 0]) + return + endif + if tag_name[0] ==# '/' + let pos1 = searchpos('<' . tag_name[1:] . '[^a-zA-Z0-9]', 'bcnW') + call setpos('.', [0, pos1[0], pos1[1], 0]) + let pos2 = searchpairpos('<'. tag_name[1:] . '\>[^/>]*>', '', '', 'W') + else + let pos2 = searchpairpos('<'. tag_name . '[^/>]*>', '', '', 'W') + endif + if pos2 == [0, 0] + return + endif + let pos2 = searchpos('>', 'neW') + let block = [pos1, pos2] + if emmet#util#pointInRegion(curpos[1:2], block) + call emmet#util#setContent(block, '') + call setpos('.', [0, block[0][0], block[0][1], 0]) + return + endif + if block[0][0] > 0 + call setpos('.', [0, block[0][0]-1, block[0][1], 0]) + else + call setpos('.', curpos) + endif +endfunction + +function! emmet#lang#html#mergeLines() abort + let curpos = emmet#util#getcurpos() + let settings = emmet#getSettings() + + let mx = '<\([a-zA-Z][a-zA-Z0-9:_\-]*\)[^>]*>' + let last = curpos[1:2] + while 1 + let pos1 = searchpos(mx, 'bcW') + let content = matchstr(getline(pos1[0])[pos1[1]-1:], mx) + echomsg string(content) + let tag_name = matchstr(content, '^<\zs[a-zA-Z0-9:_\-]*\ze') + if stridx(','.settings.html.empty_elements.',', ','.tag_name.',') != -1 + let pos2 = searchpos('>', 'nW') + else + let pos2 = searchpairpos('<' . tag_name . '[^>]*>', '', '', 'nW') + endif + if pos1 == [0, 0] || pos2 == [0, 0] + call setpos('.', curpos) + return + endif + let block = [pos1, pos2] + if emmet#util#pointInRegion(last, block) && emmet#util#regionIsValid(block) + break + endif + if pos1 == last + call setpos('.', curpos) + return + endif + let last = pos1 + endwhile + + let content = emmet#util#getContent(block) + let mx = '<\(/\{0,1}[a-zA-Z][-a-zA-Z0-9:_\-]*\)\%(\%(\s[a-zA-Z][a-zA-Z0-9]\+=\%([^"'' \t]\+\|"[^"]\{-}"\|''[^'']\{-}''\)\s*\)*\)\s*\%(/\{0,1}\)>' + let content = join(map(split(content, mx . '\zs\s*'), 'trim(v:val)'), '') + call emmet#util#setContent(block, content) + if block[0][0] > 0 + call setpos('.', [0, block[0][0], block[0][1], 0]) + else + call setpos('.', curpos) + endif +endfunction diff --git a/nvim/plugged/emmet-vim/autoload/emmet/lang/jade.vim b/nvim/plugged/emmet-vim/autoload/emmet/lang/jade.vim new file mode 100644 index 00000000..f59f22dd --- /dev/null +++ b/nvim/plugged/emmet-vim/autoload/emmet/lang/jade.vim @@ -0,0 +1,335 @@ +function! emmet#lang#jade#findTokens(str) abort + return emmet#lang#html#findTokens(a:str) +endfunction + +function! emmet#lang#jade#parseIntoTree(abbr, type) abort + return emmet#lang#html#parseIntoTree(a:abbr, a:type) +endfunction + +function! emmet#lang#jade#toString(settings, current, type, inline, filters, itemno, indent) abort + let settings = a:settings + let current = a:current + let type = a:type + let inline = a:inline + let filters = a:filters + let itemno = a:itemno + let indent = emmet#getIndentation(type) + let dollar_expr = emmet#getResource(type, 'dollar_expr', 1) + let attribute_style = emmet#getResource('jade', 'attribute_style', 'hash') + let str = '' + + let current_name = current.name + if dollar_expr + let current_name = substitute(current.name, '\$$', itemno+1, '') + endif + if len(current.name) > 0 + let str .= '' . current_name + let tmp = '' + for attr in emmet#util#unique(current.attrs_order + keys(current.attr)) + if !has_key(current.attr, attr) + continue + endif + let Val = current.attr[attr] + if type(Val) == 2 && Val == function('emmet#types#true') + if attribute_style ==# 'hash' + let tmp .= ' ' . attr . ' = true' + elseif attribute_style ==# 'html' + let tmp .= attr . '=true' + end + else + if dollar_expr + while Val =~# '\$\([^#{]\|$\)' + let Val = substitute(Val, '\(\$\+\)\([^{]\|$\)', '\=printf("%0".len(submatch(1))."d", itemno+1).submatch(2)', 'g') + endwhile + let attr = substitute(attr, '\$$', itemno+1, '') + endif + let valtmp = substitute(Val, '\${cursor}', '', '') + if attr ==# 'id' && len(valtmp) > 0 + let str .= '#' . Val + elseif attr ==# 'class' && len(valtmp) > 0 + let str .= '.' . substitute(Val, ' ', '.', 'g') + else + if len(tmp) > 0 + if attribute_style ==# 'hash' + let tmp .= ', ' + elseif attribute_style ==# 'html' + let tmp .= ' ' + endif + endif + if attribute_style ==# 'hash' + let tmp .= '' . attr . '="' . Val . '"' + elseif attribute_style ==# 'html' + let tmp .= attr . '="' . Val . '"' + end + endif + endif + endfor + if len(tmp) + if attribute_style ==# 'hash' + let str .= '(' . tmp . ')' + elseif attribute_style ==# 'html' + let str .= '(' . tmp . ')' + end + endif + + let inner = '' + if len(current.value) > 0 + let text = current.value[1:-2] + if dollar_expr + let text = substitute(text, '\%(\\\)\@\ 0 + for child in current.child + let inner .= emmet#toString(child, type, inline, filters, itemno, indent) + endfor + let inner = substitute(inner, "\n", "\n" . escape(indent, '\'), 'g') + let inner = substitute(inner, "\n" . escape(indent, '\') . '$', '', 'g') + let str .= "\n" . indent . inner + endif + else + let str = current.value[1:-2] + if dollar_expr + let str = substitute(str, '\%(\\\)\@\\s*\%(\([^"'' \t]\+\)\|"\([^"]\{-}\)"\|''\([^'']\{-}\)''\)' + while len(attrs) > 0 + let match = matchstr(attrs, mx) + if len(match) ==# 0 + break + endif + let attr_match = matchlist(match, mx) + let name = attr_match[1] + let value = len(attr_match[2]) ? attr_match[2] : attr_match[3] + let current.attr[name] = value + let current.attrs_order += [name] + let attrs = attrs[stridx(attrs, match) + len(match):] + endwhile + return current +endfunction + +function! emmet#lang#jade#toggleComment() abort + let line = getline('.') + let space = matchstr(line, '^\s*') + if line =~# '^\s*-#' + call setline('.', space . matchstr(line[len(space)+2:], '^\s*\zs.*')) + elseif line =~# '^\s*%[a-z]' + call setline('.', space . '-# ' . line[len(space):]) + endif +endfunction + +function! emmet#lang#jade#balanceTag(flag) range abort + let block = emmet#util#getVisualBlock() + if a:flag == -2 || a:flag == 2 + let curpos = [0, line("'<"), col("'<"), 0] + else + let curpos = emmet#util#getcurpos() + endif + let n = curpos[1] + let ml = len(matchstr(getline(n), '^\s*')) + + if a:flag > 0 + if a:flag == 1 || !emmet#util#regionIsValid(block) + let n = line('.') + else + while n > 0 + let l = len(matchstr(getline(n), '^\s*\ze%[a-z]')) + if l > 0 && l < ml + let ml = l + break + endif + let n -= 1 + endwhile + endif + let sn = n + if n == 0 + let ml = 0 + endif + while n < line('$') + let l = len(matchstr(getline(n), '^\s*%[a-z]')) + if l > 0 && l <= ml + let n -= 1 + break + endif + let n += 1 + endwhile + call setpos('.', [0, n, 1, 0]) + normal! V + call setpos('.', [0, sn, 1, 0]) + else + while n > 0 + let l = len(matchstr(getline(n), '^\s*\ze[a-z]')) + if l > 0 && l > ml + let ml = l + break + endif + let n += 1 + endwhile + let sn = n + if n == 0 + let ml = 0 + endif + while n < line('$') + let l = len(matchstr(getline(n), '^\s*%[a-z]')) + if l > 0 && l <= ml + let n -= 1 + break + endif + let n += 1 + endwhile + call setpos('.', [0, n, 1, 0]) + normal! V + call setpos('.', [0, sn, 1, 0]) + endif +endfunction + +function! emmet#lang#jade#moveNextPrevItem(flag) abort + return emmet#lang#jade#moveNextPrev(a:flag) +endfunction + +function! emmet#lang#jade#moveNextPrev(flag) abort + let pos = search('""', a:flag ? 'Wb' : 'W') + if pos != 0 + silent! normal! l + startinsert + endif +endfunction + +function! emmet#lang#jade#splitJoinTag() abort + let n = line('.') + let sml = len(matchstr(getline(n), '^\s*%[a-z]')) + while n > 0 + if getline(n) =~# '^\s*\ze%[a-z]' + if len(matchstr(getline(n), '^\s*%[a-z]')) < sml + break + endif + let line = getline(n) + call setline(n, substitute(line, '^\s*%\w\+\%(\s*{[^}]*}\|\s\)\zs.*', '', '')) + let sn = n + let n += 1 + let ml = len(matchstr(getline(n), '^\s*%[a-z]')) + if len(matchstr(getline(n), '^\s*')) > ml + while n <= line('$') + let l = len(matchstr(getline(n), '^\s*')) + if l <= ml + break + endif + exe n 'delete' + endwhile + call setpos('.', [0, sn, 1, 0]) + else + let tag = matchstr(getline(sn), '^\s*%\zs\(\w\+\)') + let spaces = matchstr(getline(sn), '^\s*') + let settings = emmet#getSettings() + if stridx(','.settings.html.inline_elements.',', ','.tag.',') == -1 + call append(sn, spaces . ' ') + call setpos('.', [0, sn+1, 1, 0]) + else + call setpos('.', [0, sn, 1, 0]) + endif + startinsert! + endif + break + endif + let n -= 1 + endwhile +endfunction + +function! emmet#lang#jade#removeTag() abort + let n = line('.') + let ml = 0 + while n > 0 + if getline(n) =~# '^\s*\ze[a-z]' + let ml = len(matchstr(getline(n), '^\s*%[a-z]')) + break + endif + let n -= 1 + endwhile + let sn = n + while n < line('$') + let l = len(matchstr(getline(n), '^\s*%[a-z]')) + if l > 0 && l <= ml + let n -= 1 + break + endif + let n += 1 + endwhile + if sn == n + exe 'delete' + else + exe sn ',' (n-1) 'delete' + endif +endfunction + +function! emmet#lang#jade#mergeLines() abort + " nothing to do +endfunction diff --git a/nvim/plugged/emmet-vim/autoload/emmet/lang/less.vim b/nvim/plugged/emmet-vim/autoload/emmet/lang/less.vim new file mode 100644 index 00000000..ae956c42 --- /dev/null +++ b/nvim/plugged/emmet-vim/autoload/emmet/lang/less.vim @@ -0,0 +1,51 @@ +function! emmet#lang#less#findTokens(str) abort + return emmet#lang#html#findTokens(a:str) +endfunction + +function! emmet#lang#less#parseIntoTree(abbr, type) abort + return emmet#lang#scss#parseIntoTree(a:abbr, a:type) +endfunction + +function! emmet#lang#less#toString(settings, current, type, inline, filters, itemno, indent) abort + return emmet#lang#scss#toString(a:settings, a:current, a:type, a:inline, a:filters, a:itemno, a:indent) +endfunction + +function! emmet#lang#less#imageSize() abort + call emmet#lang#css#imageSize() +endfunction + +function! emmet#lang#less#imageEncode() abort + return emmet#lang#css#imageEncode() +endfunction + +function! emmet#lang#less#parseTag(tag) abort + return emmet#lang#css#parseTag(a:tag) +endfunction + +function! emmet#lang#less#toggleComment() abort + call emmet#lang#css#toggleComment() +endfunction + +function! emmet#lang#less#balanceTag(flag) range abort + call emmet#lang#scss#balanceTag(a:flag) +endfunction + +function! emmet#lang#less#moveNextPrevItem(flag) abort + return emmet#lang#less#moveNextPrev(a:flag) +endfunction + +function! emmet#lang#less#moveNextPrev(flag) abort + call emmet#lang#scss#moveNextPrev(a:flag) +endfunction + +function! emmet#lang#less#splitJoinTag() abort + call emmet#lang#css#splitJoinTag() +endfunction + +function! emmet#lang#less#removeTag() abort + call emmet#lang#css#removeTag() +endfunction + +function! emmet#lang#less#mergeLines() abort + call emmet#lang#css#mergeLines() +endfunction diff --git a/nvim/plugged/emmet-vim/autoload/emmet/lang/sass.vim b/nvim/plugged/emmet-vim/autoload/emmet/lang/sass.vim new file mode 100644 index 00000000..3d3fd58a --- /dev/null +++ b/nvim/plugged/emmet-vim/autoload/emmet/lang/sass.vim @@ -0,0 +1,163 @@ +function! emmet#lang#sass#findTokens(str) abort + return emmet#lang#css#findTokens(a:str) +endfunction + +function! emmet#lang#sass#parseIntoTree(abbr, type) abort + return emmet#lang#css#parseIntoTree(a:abbr, a:type) +endfunction + +function! emmet#lang#sass#toString(settings, current, type, inline, filters, itemno, indent) abort + let settings = a:settings + let current = a:current + let type = a:type + let inline = a:inline + let filters = a:filters + let itemno = a:itemno + let indent = a:indent + let str = '' + + let current_name = current.name + let current_name = substitute(current.name, '\$$', itemno+1, '') + if len(current.name) > 0 + let str .= current_name + let tmp = '' + for attr in keys(current.attr) + let val = current.attr[attr] + while val =~# '\$\([^#{]\|$\)' + let val = substitute(val, '\(\$\+\)\([^{]\|$\)', '\=printf("%0".len(submatch(1))."d", itemno+1).submatch(2)', 'g') + endwhile + let attr = substitute(attr, '\$$', itemno+1, '') + if attr ==# 'id' + let str .= '#' . val + elseif attr ==# 'class' + let str .= '.' . val + else + let tmp .= attr . ': ' . val + endif + endfor + if len(tmp) > 0 + let str .= "\n" + for line in split(tmp, "\n") + let str .= indent . line . "\n" + endfor + else + let str .= "\n" + endif + + let inner = '' + for child in current.child + let tmp = emmet#toString(child, type, inline, filters, itemno, indent) + let tmp = substitute(tmp, "\n", "\n" . escape(indent, '\'), 'g') + let tmp = substitute(tmp, "\n" . escape(indent, '\') . '$', '${cursor}\n', 'g') + let inner .= tmp + endfor + if len(inner) > 0 + let str .= indent . inner + endif + else + let text = emmet#lang#css#toString(settings, current, type, inline, filters, itemno, indent) + let text = substitute(text, '\s*;\ze\(\${[^}]\+}\)\?\(\n\|$\)', '', 'g') + return text + endif + return str +endfunction + +function! emmet#lang#sass#imageSize() abort +endfunction + +function! emmet#lang#sass#imageEncode() abort +endfunction + +function! emmet#lang#sass#parseTag(tag) abort +endfunction + +function! emmet#lang#sass#toggleComment() abort +endfunction + +function! emmet#lang#sass#balanceTag(flag) range abort + let block = emmet#util#getVisualBlock() + if a:flag == -2 || a:flag == 2 + let curpos = [0, line("'<"), col("'<"), 0] + else + let curpos = emmet#util#getcurpos() + endif + let n = curpos[1] + let ml = len(matchstr(getline(n), '^\s*')) + + if a:flag > 0 + if a:flag == 1 || !emmet#util#regionIsValid(block) + let n = line('.') + else + while n > 0 + let l = len(matchstr(getline(n), '^\s*\ze[a-z]')) + if l > 0 && l < ml + let ml = l + break + endif + let n -= 1 + endwhile + endif + let sn = n + if n == 0 + let ml = 0 + endif + while n < line('$') + let l = len(matchstr(getline(n), '^\s*[a-z]')) + if l > 0 && l <= ml + let n -= 1 + break + endif + let n += 1 + endwhile + call setpos('.', [0, n, 1, 0]) + normal! V + call setpos('.', [0, sn, 1, 0]) + else + while n > 0 + let l = len(matchstr(getline(n), '^\s*\ze[a-z]')) + if l > 0 && l > ml + let ml = l + break + endif + let n += 1 + endwhile + let sn = n + if n == 0 + let ml = 0 + endif + while n < line('$') + let l = len(matchstr(getline(n), '^\s*[a-z]')) + if l > 0 && l <= ml + let n -= 1 + break + endif + let n += 1 + endwhile + call setpos('.', [0, n, 1, 0]) + normal! V + call setpos('.', [0, sn, 1, 0]) + endif +endfunction + +function! emmet#lang#sass#moveNextPrevItem(flag) abort + return emmet#lang#sass#moveNextPrev(a:flag) +endfunction + +function! emmet#lang#sass#moveNextPrev(flag) abort + let pos = search('""\|\(^\s*|\s*\zs\)', a:flag ? 'Wpb' : 'Wp') + if pos == 2 + startinsert! + elseif pos != 0 + silent! normal! l + startinsert + endif +endfunction + +function! emmet#lang#sass#splitJoinTag() abort +endfunction + +function! emmet#lang#sass#removeTag() abort +endfunction + +function! emmet#lang#sass#mergeLines() abort +endfunction diff --git a/nvim/plugged/emmet-vim/autoload/emmet/lang/scss.vim b/nvim/plugged/emmet-vim/autoload/emmet/lang/scss.vim new file mode 100644 index 00000000..ae35469e --- /dev/null +++ b/nvim/plugged/emmet-vim/autoload/emmet/lang/scss.vim @@ -0,0 +1,129 @@ +function! emmet#lang#scss#findTokens(str) abort + return emmet#lang#css#findTokens(a:str) +endfunction + +function! emmet#lang#scss#parseIntoTree(abbr, type) abort + if a:abbr =~# '>' + return emmet#lang#html#parseIntoTree(a:abbr, a:type) + else + return emmet#lang#css#parseIntoTree(a:abbr, a:type) + endif +endfunction + +function! emmet#lang#scss#toString(settings, current, type, inline, filters, itemno, indent) abort + let settings = a:settings + let current = a:current + let type = a:type + let inline = a:inline + let filters = a:filters + let itemno = a:itemno + let indent = a:indent + let str = '' + + let current_name = substitute(current.name, '\$$', itemno+1, '') + if len(current.name) > 0 + let str .= current_name + let tmp = '' + for attr in keys(current.attr) + let val = current.attr[attr] + while val =~# '\$\([^#{]\|$\)' + let val = substitute(val, '\(\$\+\)\([^{]\|$\)', '\=printf("%0".len(submatch(1))."d", itemno+1).submatch(2)', 'g') + endwhile + let attr = substitute(attr, '\$$', itemno+1, '') + if attr ==# 'id' + let str .= '#' . val + elseif attr ==# 'class' + let str .= '.' . val + else + let tmp .= attr . ': ' . val . ';' + endif + endfor + if len(tmp) > 0 + let str .= " {\n" + for line in split(tmp, "\n") + let str .= indent . line . "\n" + endfor + else + let str .= " {\n" + endif + + let inner = '' + for child in current.child + let inner .= emmet#toString(child, type, inline, filters, itemno) + endfor + let inner = substitute(inner, "\n", "\n" . escape(indent, '\'), 'g') + let inner = substitute(inner, "\n" . escape(indent, '\') . '$', '', 'g') + let str .= indent . inner . "${cursor}\n}\n" + else + return emmet#lang#css#toString(settings, current, type, inline, filters, itemno, indent) + endif + return str +endfunction + +function! emmet#lang#scss#imageSize() abort + call emmet#lang#css#imageSize() +endfunction + +function! emmet#lang#scss#imageEncode() abort + return emmet#lang#css#imageEncode() +endfunction + +function! emmet#lang#scss#parseTag(tag) abort + return emmet#lang#css#parseTag(a:tag) +endfunction + +function! emmet#lang#scss#toggleComment() abort + call emmet#lang#css#toggleComment() +endfunction + +function! emmet#lang#scss#balanceTag(flag) range abort + if a:flag == -2 || a:flag == 2 + let curpos = [0, line("'<"), col("'<"), 0] + call setpos('.', curpos) + else + let curpos = emmet#util#getcurpos() + endif + if a:flag < 0 + let ret = searchpair('}', '', '.\zs{') + else + let ret = searchpair('{', '', '}', 'bW') + endif + if ret > 0 + let pos1 = emmet#util#getcurpos()[1:2] + if a:flag < 0 + let pos2 = searchpairpos('{', '', '}') + else + let pos2 = searchpairpos('{', '', '}') + endif + let block = [pos1, pos2] + if emmet#util#regionIsValid(block) + call emmet#util#selectRegion(block) + return + endif + endif + if a:flag == -2 || a:flag == 2 + silent! exe 'normal! gv' + else + call setpos('.', curpos) + endif +endfunction + +function! emmet#lang#scss#moveNextPrevItem(flag) abort + return emmet#lang#scss#moveNextPrev(a:flag) +endfunction + +function! emmet#lang#scss#moveNextPrev(flag) abort + call emmet#lang#css#moveNextPrev(a:flag) +endfunction + +function! emmet#lang#scss#splitJoinTag() abort + call emmet#lang#css#splitJoinTag() +endfunction + +function! emmet#lang#scss#removeTag() abort + call emmet#lang#css#removeTag() +endfunction + +function! emmet#lang#scss#mergeLines() abort + call emmet#lang#css#mergeLines() +endfunction diff --git a/nvim/plugged/emmet-vim/autoload/emmet/lang/slim.vim b/nvim/plugged/emmet-vim/autoload/emmet/lang/slim.vim new file mode 100644 index 00000000..c583c1c5 --- /dev/null +++ b/nvim/plugged/emmet-vim/autoload/emmet/lang/slim.vim @@ -0,0 +1,284 @@ +function! emmet#lang#slim#findTokens(str) abort + return emmet#lang#html#findTokens(a:str) +endfunction + +function! emmet#lang#slim#parseIntoTree(abbr, type) abort + return emmet#lang#html#parseIntoTree(a:abbr, a:type) +endfunction + +function! emmet#lang#slim#toString(settings, current, type, inline, filters, itemno, indent) abort + let current = a:current + let type = a:type + let inline = a:inline + let filters = a:filters + let itemno = a:itemno + let indent = emmet#getIndentation(type) + let dollar_expr = emmet#getResource(type, 'dollar_expr', 1) + let str = '' + + let current_name = current.name + if dollar_expr + let current_name = substitute(current.name, '\$$', itemno+1, '') + endif + if len(current.name) > 0 + let str .= current_name + for attr in emmet#util#unique(current.attrs_order + keys(current.attr)) + if !has_key(current.attr, attr) + continue + endif + let Val = current.attr[attr] + if type(Val) == 2 && Val == function('emmet#types#true') + let str .= ' ' . attr . '=true' + else + if dollar_expr + while Val =~# '\$\([^#{]\|$\)' + let Val = substitute(Val, '\(\$\+\)\([^{]\|$\)', '\=printf("%0".len(submatch(1))."d", itemno+1).submatch(2)', 'g') + endwhile + endif + let attr = substitute(attr, '\$$', itemno+1, '') + let str .= ' ' . attr . '="' . Val . '"' + endif + endfor + + let inner = '' + if len(current.value) > 0 + let str .= "\n" + let text = current.value[1:-2] + if dollar_expr + let text = substitute(text, '\%(\\\)\@\ 0 + for child in current.child + let inner .= emmet#toString(child, type, inline, filters, itemno, indent) + endfor + let inner = substitute(inner, "\n", "\n" . escape(indent, '\'), 'g') + let inner = substitute(inner, "\n" . escape(indent, '\') . '$', '', 'g') + let str .= "\n" . indent . inner + endif + else + let str = current.value[1:-2] + if dollar_expr + let str = substitute(str, '\%(\\\)\@\ 0 + let match = matchstr(attrs, mx) + if len(match) == 0 + break + endif + let attr_match = matchlist(match, mx) + let name = attr_match[1] + let value = len(attr_match[2]) ? attr_match[2] : attr_match[3] + let current.attr[name] = value + let current.attrs_order += [name] + let attrs = attrs[stridx(attrs, match) + len(match):] + endwhile + return current +endfunction + +function! emmet#lang#slim#toggleComment() abort + let line = getline('.') + let space = matchstr(line, '^\s*') + if line =~# '^\s*/' + call setline('.', space . line[len(space)+1:]) + elseif line =~# '^\s*[a-z]' + call setline('.', space . '/' . line[len(space):]) + endif +endfunction + +function! emmet#lang#slim#balanceTag(flag) range abort + let block = emmet#util#getVisualBlock() + if a:flag == -2 || a:flag == 2 + let curpos = [0, line("'<"), col("'<"), 0] + else + let curpos = emmet#util#getcurpos() + endif + let n = curpos[1] + let ml = len(matchstr(getline(n), '^\s*')) + + if a:flag > 0 + if a:flag == 1 || !emmet#util#regionIsValid(block) + let n = line('.') + else + while n > 0 + let l = len(matchstr(getline(n), '^\s*\ze[a-z]')) + if l > 0 && l < ml + let ml = l + break + endif + let n -= 1 + endwhile + endif + let sn = n + if n == 0 + let ml = 0 + endif + while n < line('$') + let l = len(matchstr(getline(n), '^\s*[a-z]')) + if l > 0 && l <= ml + let n -= 1 + break + endif + let n += 1 + endwhile + call setpos('.', [0, n, 1, 0]) + normal! V + call setpos('.', [0, sn, 1, 0]) + else + while n > 0 + let l = len(matchstr(getline(n), '^\s*\ze[a-z]')) + if l > 0 && l > ml + let ml = l + break + endif + let n += 1 + endwhile + let sn = n + if n == 0 + let ml = 0 + endif + while n < line('$') + let l = len(matchstr(getline(n), '^\s*[a-z]')) + if l > 0 && l <= ml + let n -= 1 + break + endif + let n += 1 + endwhile + call setpos('.', [0, n, 1, 0]) + normal! V + call setpos('.', [0, sn, 1, 0]) + endif +endfunction + +function! emmet#lang#slim#moveNextPrevItem(flag) abort + return emmet#lang#slim#moveNextPrev(a:flag) +endfunction + +function! emmet#lang#slim#moveNextPrev(flag) abort + let pos = search('""\|\(^\s*|\s*\zs\)', a:flag ? 'Wpb' : 'Wp') + if pos == 2 + startinsert! + elseif pos != 0 + silent! normal! l + startinsert + endif +endfunction + +function! emmet#lang#slim#splitJoinTag() abort + let n = line('.') + while n > 0 + if getline(n) =~# '^\s*\ze[a-z]' + let sn = n + let n += 1 + if getline(n) =~# '^\s*|' + while n <= line('$') + if getline(n) !~# '^\s*|' + break + endif + exe n 'delete' + endwhile + call setpos('.', [0, sn, 1, 0]) + else + let spaces = matchstr(getline(sn), '^\s*') + call append(sn, spaces . ' | ') + call setpos('.', [0, sn+1, 1, 0]) + startinsert! + endif + break + endif + let n -= 1 + endwhile +endfunction + +function! emmet#lang#slim#removeTag() abort + let n = line('.') + let ml = 0 + while n > 0 + if getline(n) =~# '^\s*\ze[a-z]' + let ml = len(matchstr(getline(n), '^\s*[a-z]')) + break + endif + let n -= 1 + endwhile + let sn = n + while n < line('$') + let l = len(matchstr(getline(n), '^\s*[a-z]')) + if l > 0 && l <= ml + let n -= 1 + break + endif + let n += 1 + endwhile + if sn == n + exe 'delete' + else + exe sn ',' (n-1) 'delete' + endif +endfunction + +function! emmet#lang#slim#mergeLines() abort +endfunction diff --git a/nvim/plugged/emmet-vim/autoload/emmet/lorem/en.vim b/nvim/plugged/emmet-vim/autoload/emmet/lorem/en.vim new file mode 100644 index 00000000..30713e4e --- /dev/null +++ b/nvim/plugged/emmet-vim/autoload/emmet/lorem/en.vim @@ -0,0 +1,65 @@ +function! emmet#lorem#en#expand(command) abort + let wcount = matchstr(a:command, '\(\d*\)$') + let wcount = wcount > 0 ? wcount : 30 + + let common = ['lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur', 'adipisicing', 'elit'] + let words = ['exercitationem', 'perferendis', 'perspiciatis', 'laborum', 'eveniet', + \ 'sunt', 'iure', 'nam', 'nobis', 'eum', 'cum', 'officiis', 'excepturi', + \ 'odio', 'consectetur', 'quasi', 'aut', 'quisquam', 'vel', 'eligendi', + \ 'itaque', 'non', 'odit', 'tempore', 'quaerat', 'dignissimos', + \ 'facilis', 'neque', 'nihil', 'expedita', 'vitae', 'vero', 'ipsum', + \ 'nisi', 'animi', 'cumque', 'pariatur', 'velit', 'modi', 'natus', + \ 'iusto', 'eaque', 'sequi', 'illo', 'sed', 'ex', 'et', 'voluptatibus', + \ 'tempora', 'veritatis', 'ratione', 'assumenda', 'incidunt', 'nostrum', + \ 'placeat', 'aliquid', 'fuga', 'provident', 'praesentium', 'rem', + \ 'necessitatibus', 'suscipit', 'adipisci', 'quidem', 'possimus', + \ 'voluptas', 'debitis', 'sint', 'accusantium', 'unde', 'sapiente', + \ 'voluptate', 'qui', 'aspernatur', 'laudantium', 'soluta', 'amet', + \ 'quo', 'aliquam', 'saepe', 'culpa', 'libero', 'ipsa', 'dicta', + \ 'reiciendis', 'nesciunt', 'doloribus', 'autem', 'impedit', 'minima', + \ 'maiores', 'repudiandae', 'ipsam', 'obcaecati', 'ullam', 'enim', + \ 'totam', 'delectus', 'ducimus', 'quis', 'voluptates', 'dolores', + \ 'molestiae', 'harum', 'dolorem', 'quia', 'voluptatem', 'molestias', + \ 'magni', 'distinctio', 'omnis', 'illum', 'dolorum', 'voluptatum', 'ea', + \ 'quas', 'quam', 'corporis', 'quae', 'blanditiis', 'atque', 'deserunt', + \ 'laboriosam', 'earum', 'consequuntur', 'hic', 'cupiditate', + \ 'quibusdam', 'accusamus', 'ut', 'rerum', 'error', 'minus', 'eius', + \ 'ab', 'ad', 'nemo', 'fugit', 'officia', 'at', 'in', 'id', 'quos', + \ 'reprehenderit', 'numquam', 'iste', 'fugiat', 'sit', 'inventore', + \ 'beatae', 'repellendus', 'magnam', 'recusandae', 'quod', 'explicabo', + \ 'doloremque', 'aperiam', 'consequatur', 'asperiores', 'commodi', + \ 'optio', 'dolor', 'labore', 'temporibus', 'repellat', 'veniam', + \ 'architecto', 'est', 'esse', 'mollitia', 'nulla', 'a', 'similique', + \ 'eos', 'alias', 'dolore', 'tenetur', 'deleniti', 'porro', 'facere', + \ 'maxime', 'corrupti'] + let ret = [] + let sentence = 0 + for i in range(wcount) + let arr = common + if sentence > 0 + let arr += words + endif + let r = emmet#util#rand() + let word = arr[r % len(arr)] + if sentence == 0 + let word = substitute(word, '^.', '\U&', '') + endif + let sentence += 1 + call add(ret, word) + if (sentence > 5 && emmet#util#rand() < 10000) || i == wcount - 1 + if i == wcount - 1 + let endc = '?!...'[emmet#util#rand() % 5] + call add(ret, endc) + else + let endc = '?!,...'[emmet#util#rand() % 6] + call add(ret, endc . ' ') + endif + if endc !=# ',' + let sentence = 0 + endif + else + call add(ret, ' ') + endif + endfor + return join(ret, '') +endfunction diff --git a/nvim/plugged/emmet-vim/autoload/emmet/lorem/ja.vim b/nvim/plugged/emmet-vim/autoload/emmet/lorem/ja.vim new file mode 100644 index 00000000..f99d8fa1 --- /dev/null +++ b/nvim/plugged/emmet-vim/autoload/emmet/lorem/ja.vim @@ -0,0 +1,27 @@ +scriptencoding utf-8 + +function! emmet#lorem#ja#expand(command) abort + let wcount = matchstr(a:command, '^\%(lorem\|lipsum\)\(\d*\)}$', '\1', '') + let wcount = wcount > 0 ? wcount : 30 + + let url = "http://www.aozora.gr.jp/cards/000081/files/470_15407.html" + let content = emmet#util#cache(url) + if len(content) == 0 + let content = emmet#util#getContentFromURL(url) + let content = matchstr(content, ']*>\zs.\{-}

    ') + let content = substitute(content, '[ \r]', '', 'g') + let content = substitute(content, ']*>', "\n", 'g') + let content = substitute(content, '<[^>]\+>', '', 'g') + let content = join(filter(split(content, "\n"), 'len(v:val)>0'), "\n") + call emmet#util#cache(url, content) + endif + + let content = substitute(content, "、\n", "、", "g") + let clines = split(content, '\n') + let lines = filter(clines, 'len(substitute(v:val,".",".","g"))<=wcount') + if len(lines) == 0 + let lines = clines + endif + let r = emmet#util#rand() + return lines[r % len(lines)] +endfunction diff --git a/nvim/plugged/emmet-vim/autoload/emmet/util.vim b/nvim/plugged/emmet-vim/autoload/emmet/util.vim new file mode 100644 index 00000000..78960c06 --- /dev/null +++ b/nvim/plugged/emmet-vim/autoload/emmet/util.vim @@ -0,0 +1,410 @@ +"============================================================================== +" region utils +"============================================================================== +" deleteContent : delete content in region +" if region make from between '' and '' +" -------------------- +" begin: +" :end +" -------------------- +" this function make the content as following +" -------------------- +" begin::end +" -------------------- +function! emmet#util#deleteContent(region) abort + let lines = getline(a:region[0][0], a:region[1][0]) + call setpos('.', [0, a:region[0][0], a:region[0][1], 0]) + silent! exe 'delete '.(a:region[1][0] - a:region[0][0]) + call setline(line('.'), lines[0][:a:region[0][1]-2] . lines[-1][a:region[1][1]]) +endfunction + +" change_content : change content in region +" if region make from between '' and '' +" -------------------- +" begin: +" :end +" -------------------- +" and content is +" -------------------- +" foo +" bar +" baz +" -------------------- +" this function make the content as following +" -------------------- +" begin:foo +" bar +" baz:end +" -------------------- +function! emmet#util#setContent(region, content) abort + let newlines = split(a:content, '\n', 1) + let oldlines = getline(a:region[0][0], a:region[1][0]) + call setpos('.', [0, a:region[0][0], a:region[0][1], 0]) + silent! exe 'delete '.(a:region[1][0] - a:region[0][0]) + if len(newlines) == 0 + let tmp = '' + if a:region[0][1] > 1 + let tmp = oldlines[0][:a:region[0][1]-2] + endif + if a:region[1][1] >= 1 + let tmp .= oldlines[-1][a:region[1][1]:] + endif + call setline(line('.'), tmp) + elseif len(newlines) == 1 + if a:region[0][1] > 1 + let newlines[0] = oldlines[0][:a:region[0][1]-2] . newlines[0] + endif + if a:region[1][1] >= 1 + let newlines[0] .= oldlines[-1][a:region[1][1]:] + endif + call setline(line('.'), newlines[0]) + else + if a:region[0][1] > 1 + let newlines[0] = oldlines[0][:a:region[0][1]-2] . newlines[0] + endif + if a:region[1][1] >= 1 + let newlines[-1] .= oldlines[-1][a:region[1][1]:] + endif + call setline(line('.'), newlines[0]) + call append(line('.'), newlines[1:]) + endif +endfunction + +" select_region : select region +" this function make a selection of region +function! emmet#util#selectRegion(region) abort + call setpos('.', [0, a:region[1][0], a:region[1][1], 0]) + normal! v + call setpos('.', [0, a:region[0][0], a:region[0][1], 0]) +endfunction + +" point_in_region : check point is in the region +" this function return 0 or 1 +function! emmet#util#pointInRegion(point, region) abort + if !emmet#util#regionIsValid(a:region) | return 0 | endif + if a:region[0][0] > a:point[0] | return 0 | endif + if a:region[1][0] < a:point[0] | return 0 | endif + if a:region[0][0] == a:point[0] && a:region[0][1] > a:point[1] | return 0 | endif + if a:region[1][0] == a:point[0] && a:region[1][1] < a:point[1] | return 0 | endif + return 1 +endfunction + +" cursor_in_region : check cursor is in the region +" this function return 0 or 1 +function! emmet#util#cursorInRegion(region) abort + if !emmet#util#regionIsValid(a:region) | return 0 | endif + let cur = emmet#util#getcurpos()[1:2] + return emmet#util#pointInRegion(cur, a:region) +endfunction + +" region_is_valid : check region is valid +" this function return 0 or 1 +function! emmet#util#regionIsValid(region) abort + if a:region[0][0] == 0 || a:region[1][0] == 0 | return 0 | endif + return 1 +endfunction + +" search_region : make region from pattern which is composing start/end +" this function return array of position +function! emmet#util#searchRegion(start, end) abort + let b = searchpairpos(a:start, '', a:end, 'bcnW') + if b == [0, 0] + return [searchpairpos(a:start, '', a:end, 'bnW'), searchpairpos(a:start, '\%#', a:end, 'nW')] + else + return [b, searchpairpos(a:start, '', a:end. '', 'nW')] + endif +endfunction + +" get_content : get content in region +" this function return string in region +function! emmet#util#getContent(region) abort + if !emmet#util#regionIsValid(a:region) + return '' + endif + let lines = getline(a:region[0][0], a:region[1][0]) + if a:region[0][0] == a:region[1][0] + let lines[0] = lines[0][a:region[0][1]-1:a:region[1][1]-1] + else + let lines[0] = lines[0][a:region[0][1]-1:] + let lines[-1] = lines[-1][:a:region[1][1]-1] + endif + return join(lines, "\n") +endfunction + +" region_in_region : check region is in the region +" this function return 0 or 1 +function! emmet#util#regionInRegion(outer, inner) abort + if !emmet#util#regionIsValid(a:inner) || !emmet#util#regionIsValid(a:outer) + return 0 + endif + return emmet#util#pointInRegion(a:inner[0], a:outer) && emmet#util#pointInRegion(a:inner[1], a:outer) +endfunction + +" get_visualblock : get region of visual block +" this function return region of visual block +function! emmet#util#getVisualBlock() abort + return [[line("'<"), col("'<")], [line("'>"), col("'>")]] +endfunction + +"============================================================================== +" html utils +"============================================================================== +function! emmet#util#getContentFromURL(url) abort + let res = system(printf('%s -i %s', g:emmet_curl_command, shellescape(substitute(a:url, '#.*', '', '')))) + while res =~# '^HTTP/1.\d 3' || res =~# '^HTTP/1\.\d 200 Connection established' || res =~# '^HTTP/1\.\d 100 Continue' + let pos = stridx(res, "\r\n\r\n") + if pos != -1 + let res = strpart(res, pos+4) + else + let pos = stridx(res, "\n\n") + let res = strpart(res, pos+2) + endif + endwhile + let pos = stridx(res, "\r\n\r\n") + if pos != -1 + let content = strpart(res, pos+4) + else + let pos = stridx(res, "\n\n") + let content = strpart(res, pos+2) + endif + let header = res[:pos-1] + let charset = matchstr(content, ']\+content=["''][^;"'']\+;\s*charset=\zs[^;"'']\+\ze["''][^>]*>') + if len(charset) == 0 + let charset = matchstr(content, ']*>') + endif + if len(charset) == 0 + let charset = matchstr(header, '\nContent-Type:.* charset=[''"]\?\zs[^''";\n]\+\ze') + endif + if len(charset) == 0 + let s1 = len(split(content, '?')) + let utf8 = iconv(content, 'utf-8', &encoding) + let s2 = len(split(utf8, '?')) + return (s2 == s1 || s2 >= s1 * 2) ? utf8 : content + endif + return iconv(content, charset, &encoding) +endfunction + +function! emmet#util#getTextFromHTML(buf) abort + let threshold_len = 100 + let threshold_per = 0.1 + let buf = a:buf + + let buf = strpart(buf, stridx(buf, '')) + let buf = substitute(buf, ']*>.\{-}', '', 'g') + let buf = substitute(buf, ']*>.\{-}', '', 'g') + let res = '' + let max = 0 + let mx = '\(]\{-}>\)\|\(<\/td>\)\|\(]\{-}>\)\|\(<\/div>\)' + let m = split(buf, mx) + for str in m + let c = split(str, '<[^>]*?>') + let str = substitute(str, '<[^>]\{-}>', ' ', 'g') + let str = substitute(str, '>', '>', 'g') + let str = substitute(str, '<', '<', 'g') + let str = substitute(str, '"', '"', 'g') + let str = substitute(str, ''', '''', 'g') + let str = substitute(str, ' ', ' ', 'g') + let str = substitute(str, '¥', '\¥', 'g') + let str = substitute(str, '&', '\&', 'g') + let str = substitute(str, '^\s*\(.*\)\s*$', '\1', '') + let str = substitute(str, '\s\+', ' ', 'g') + let l = len(str) + if l > threshold_len + let per = (l+0.0) / len(c) + if max < l && per > threshold_per + let max = l + let res = str + endif + endif + endfor + let res = substitute(res, '^\s*\(.*\)\s*$', '\1', 'g') + return res +endfunction + +function! emmet#util#getImageSize(fn) abort + let fn = a:fn + + if emmet#util#isImageMagickInstalled() + return emmet#util#imageSizeWithImageMagick(fn) + endif + + if filereadable(fn) + let hex = substitute(system('xxd -p "'.fn.'"'), '\n', '', 'g') + else + if fn !~# '^\w\+://' + let path = fnamemodify(expand('%'), ':p:gs?\\?/?') + if has('win32') || has('win64') | + let path = tolower(path) + endif + for k in keys(g:emmet_docroot) + let root = fnamemodify(k, ':p:gs?\\?/?') + if has('win32') || has('win64') | + let root = tolower(root) + endif + if stridx(path, root) == 0 + let v = g:emmet_docroot[k] + let fn = (len(v) == 0 ? k : v) . fn + break + endif + endfor + endif + let hex = substitute(system(g:emmet_curl_command.' "'.fn.'" | xxd -p'), '\n', '', 'g') + endif + + let [width, height] = [-1, -1] + if hex =~# '^89504e470d0a1a0a' + let width = eval('0x'.hex[32:39]) + let height = eval('0x'.hex[40:47]) + endif + if hex =~# '^ffd8' + let pos = 4 + while pos < len(hex) + let bs = hex[pos+0:pos+3] + let pos += 4 + if bs ==# 'ffc0' || bs ==# 'ffc2' + let pos += 6 + let height = eval('0x'.hex[pos+0:pos+1])*256 + eval('0x'.hex[pos+2:pos+3]) + let pos += 4 + let width = eval('0x'.hex[pos+0:pos+1])*256 + eval('0x'.hex[pos+2:pos+3]) + break + elseif bs =~# 'ffd[9a]' + break + elseif bs =~# 'ff\(e[0-9a-e]\|fe\|db\|dd\|c4\)' + let pos += (eval('0x'.hex[pos+0:pos+1])*256 + eval('0x'.hex[pos+2:pos+3])) * 2 + endif + endwhile + endif + if hex =~# '^47494638' + let width = eval('0x'.hex[14:15].hex[12:13]) + let height = eval('0x'.hex[18:19].hex[16:17]) + endif + + return [width, height] +endfunction + +function! emmet#util#imageSizeWithImageMagick(fn) abort + let img_info = system('identify -format "%wx%h" "'.a:fn.'"') + let img_size = split(substitute(img_info, '\n', '', ''), 'x') + if len(img_size) != 2 + return [-1, -1] + endif + return img_size +endfunction + +function! emmet#util#isImageMagickInstalled() abort + if !get(g:, 'emmet_use_identify', 1) + return 0 + endif + return executable('identify') +endfunction + +function! s:b64encode(bytes, table, pad) + let b64 = [] + for i in range(0, len(a:bytes) - 1, 3) + let n = a:bytes[i] * 0x10000 + \ + get(a:bytes, i + 1, 0) * 0x100 + \ + get(a:bytes, i + 2, 0) + call add(b64, a:table[n / 0x40000]) + call add(b64, a:table[n / 0x1000 % 0x40]) + call add(b64, a:table[n / 0x40 % 0x40]) + call add(b64, a:table[n % 0x40]) + endfor + if len(a:bytes) % 3 == 2 + let b64[-1] = a:pad + elseif len(a:bytes) % 3 == 1 + let b64[-1] = a:pad + let b64[-2] = a:pad + endif + return b64 +endfunction + +function! emmet#util#imageEncodeDecode(fn, flag) abort + let fn = a:fn + + if filereadable(fn) + let hex = substitute(system('xxd -p "'.fn.'"'), '\n', '', 'g') + else + if fn !~# '^\w\+://' + let path = fnamemodify(expand('%'), ':p:gs?\\?/?') + if has('win32') || has('win64') | + let path = tolower(path) + endif + for k in keys(g:emmet_docroot) + let root = fnamemodify(k, ':p:gs?\\?/?') + if has('win32') || has('win64') | + let root = tolower(root) + endif + if stridx(path, root) == 0 + let v = g:emmet_docroot[k] + let fn = (len(v) == 0 ? k : v) . fn + break + endif + endfor + endif + let hex = substitute(system(g:emmet_curl_command.' "'.fn.'" | xxd -p'), '\n', '', 'g') + endif + + let bin = map(split(hex, '..\zs'), 'eval("0x" . v:val)') + let table = split('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', '\zs') + let ret = 'data:image/' + if hex =~# '^89504e470d0a1a0a' + let ret .= 'png' + elseif hex =~# '^ffd8' + let ret .= 'jpeg' + elseif hex =~# '^47494638' + let ret .= 'gif' + else + let ret .= 'unknown' + endif + return ret . ';base64,' . join(s:b64encode(bin, table, '='), '') +endfunction + +function! emmet#util#unique(arr) abort + let m = {} + let r = [] + for i in a:arr + if !has_key(m, i) + let m[i] = 1 + call add(r, i) + endif + endfor + return r +endfunction + +let s:seed = localtime() +function! emmet#util#srand(seed) abort + let s:seed = a:seed +endfunction + +function! emmet#util#rand() abort + let s:seed = s:seed * 214013 + 2531011 + return (s:seed < 0 ? s:seed - 0x80000000 : s:seed) / 0x10000 % 0x8000 +endfunction + +function! emmet#util#cache(name, ...) abort + let content = get(a:000, 0, '') + let dir = expand('~/.emmet/cache') + if !isdirectory(dir) + call mkdir(dir, 'p', 0700) + endif + let file = dir . '/' . substitute(a:name, '\W', '_', 'g') + if len(content) == 0 + if !filereadable(file) + return '' + endif + return join(readfile(file), "\n") + endif + call writefile(split(content, "\n"), file) +endfunction + +function! emmet#util#getcurpos() abort + let pos = getpos('.') + if mode(0) ==# 'i' && pos[2] > 0 + let pos[2] -=1 + endif + return pos +endfunction + +function! emmet#util#closePopup() abort + return pumvisible() ? "\" : '' +endfunction diff --git a/nvim/plugged/emmet-vim/doc/emmet.txt b/nvim/plugged/emmet-vim/doc/emmet.txt new file mode 100644 index 00000000..224e20e3 --- /dev/null +++ b/nvim/plugged/emmet-vim/doc/emmet.txt @@ -0,0 +1,1771 @@ +*emmet.txt* *Emmet* for Vim + + ------------------------------------------------------- + Emmet: vim plugins for HTML and CSS hi-speed coding + ------------------------------------------------------- + +Author: Yasuhiro Matsumoto +WebSite: http://mattn.kaoriya.net/ +Repository: https://github.com/mattn/emmet-vim +Site: https://mattn.github.com/emmet-vim +License: BSD style license + +============================================================================== +CONTENTS *emmet-contents* + +Introduction |emmet-introduction| +Install |emmet-install| +Tutorial |emmet-tutorial| + 1. Expand abbreviation |emmet-expand-abbr| |,| + 2. Expand word |emmet-expand-word| |;| + 3. Update tag |emmet-update-tag| |u| + 4. Wrap with abbreviation |emmet-wrap-with-abbreviation| |v_,| + 5. Balance tag inward |emmet-balance-tag-inward| |d| + 6. Balance tag outward |emmet-balance-tag-outward| |D| + 7. Go to next edit point |emmet-goto-next-point| |n| + 8. Go to previous edit point |emmet-goto-previous-point| |N| + 9. Add and update size |emmet-update-image-size| |i| + 10. Merge lines |emmet-merge-lines| |m| + 11. Remove tag |emmet-remove-tag| |k| + 12. Split/join tag |emmet-split-join-tag| |j| + 13. Toggle comment |emmet-toggle-comment| |/| + 14. Make anchor from URL |emmet-make-anchor-url| |a| + 15. Make quoted text from URL |emmet-quoted-text-url| |A| + 16. Code pretty |emmet-code-pretty| |c| + 17. Lorem ipsum |emmet-lorem-ipsum| +HTML expression syntax |emmet-html-expression-syntax| + 1. Elements |emmet-html-syntax-elements| + 2. Nesting operators |emmet-html-syntax-nesting-operators| + 2.1. Child |emmet->| + 2.2. Sibling |emmet-+| + 2.3. Climb-up |emmet-^| + 2.4. Multiplication |emmet-star| + 2.5. Grouping |emmet-()| + 3. Attribute operators |emmet-html-syntax-attribute-operators| + 3.1. ID and CLASS |emmet-.| |emmet-#| + 3.2. Custom attributes |emmet-[]| + 3.3. Item numbering |emmet-$| + 3.3.1. Changing numbering origin and direction |emmet-@| + 3.4. Quote character |emmet-html-attr-quote-char| + 4. Text |emmet-{}| + 5. Implicit tag names |emmet-html-implicit-tag-names| + 6. Notes on abbreviation formatting |emmet-html-syntax-notes| + 7. Choose position to insert text when wrap abbreviation |emmet-$#| +CSS expression syntax |emmet-css-expression-syntax| + 1. Properties |emmet-css-properties| + 2. Values |emmet-css-values| + 3. Units |emmet-css-units| + 4. Vendor prefixes |emmet-css-vendor-prefixes| +Commands |emmet-commands| + :Emmet |:Emmet| + :EmmetInstall |:EmmetInstall| +Variables |emmet-variables| + g:emmet_html5 |g:emmet_html5| + g:emmet_docroot |g:emmet_docroot| + g:emmet_curl_command |g:emmet_curl_command| + g:user_emmet_complete_tag |g:user_emmet_complete_tag| + g:user_emmet_leader_key |g:user_emmet_leader_key| + g:user_emmet_install_global |g:user_emmet_install_global| + g:user_emmet_install_command |g:user_emmet_install_command| + g:user_emmet_settings |g:user_emmet_settings| + g:user_emmet_mode |g:user_emmet_mode| +Customize |emmet-customize| + 1. Key mappings |emmet-customize-key-mappings| + 2. Indent size |emmet-indent-size| + 3. Define tag's behavior |emmet-define-tags-behavior| + 4. Adding custom snippets |emmet-custom-snippets| +Filters |emmet-filters-list| + Escapes XML-unsafe characters |emmet-filter-e| + Add comments around 'important tags' |emmet-filter-c| + Outputs as a single line |emmet-filter-s| + Trim list markers |emmet-filter-t| +Links |emmet-links| +ToDo |emmet-todo| + +============================================================================== +INTRODUCTION *emmet-introduction* *emmet* + +Emmet is an editor plugin for high-speed HTML, XML, XSL (or any other +structured code format) coding and editing. The core of this plugin is a +powerful abbreviation engine which allows you to expand expressions, +similar to CSS selectors, into HTML code: +> + div#page>div.logo+ul#navigation>li*5>a +< +can be expanded into: +> +
    + + +
    +< +Read more about current Emmet syntax + |emmet-html-expression-syntax| + |emmet-css-expression-syntax| + http://docs.emmet.io/abbreviations/ + +Abbreviation engine has a modular structure which allows you +to expand abbreviations into different languages. +Emmet currently supports CSS, HTML, XML/XSL and HAML, Slim languages +via filters (see |emmet-filter|). + +============================================================================== +INSTALL *emmet-install* + +Install the distributed files into Vim runtime directory which is usually +'~/.vim/', or '$HOME/vimfiles' on Windows. + +If you install pathogen (https://github.com/tpope/vim-pathogen) +that provided by Tim Pope, you should extract the +file into 'bundle' directory. + +============================================================================== +TUTORIAL *emmet-tutorial* + +If you are seeing this file as :help, then you can't edit this file. +You should copy this section and create new buffer, paste and write as +'emmet-tutor.txt'. Formally, open the file to start tutorial. + +1. Expand abbreviation *emmet-expand-abbr* *,* + + Type abbreviation as 'div>p#foo$*3>a' and type ','. +> +
    +

    + +

    +

    + +

    +

    + +

    +
    +< +2. Expand word *emmet-expand-word* *;* + + When you want to expand word except html tokens like below, use this. +> + foo +< + This will be expanded like: +> + +< +3. Update tag *emmet-update-tag* *u* + + The beginning of tags '
    ' on below +> +
    foo
    +< + Type 'u' request 'Enter Abbreviation:'. Then type +> + .global +< + This will be expanded like: +> +
    foo
    +< +4. Wrap with abbreviation *emmet-wrap-with-abbreviation* *v_,* + + Write as below. +> + test1 + test2 + test3 +< + Then do visual select (line wise) and type ','. + If you request 'Tag:', then type +> + ul>li* +< + Result: +> +
      +
    • test1
    • +
    • test2
    • +
    • test3
    • +
    +< + If you type tag name, for example +> + blockquote +< + then you'll see as following: +> +
    + test1 + test2 + test3 +
    +< + See also: |emmet-filter-t|, |emmet-$#| + +5. Balance tag inward *emmet-balance-tag-inward* *d* + + To select inward of '
      ' tag, type 'd' in insert mode. +> +
        + *
      • +
      • +
      • +
      +< + If cursor is at '*', 'd' select from begin of '
        ' to end of '
      '. + If cursor is at first of '
    • ', it select '
    • '. + +6. Balance tag outward *emmet-balance-tag-outward* *D* + + To select outward of '
        ' tag type 'D' in insert mode. +> +
          + *
        • +
        • +
        • +
        +< + If cursor is at '*', 'D' select from next letter of '
          ' + to previous letter of '
        '. + If cursor is at first of '
      • ', it select '
      • '. + +7. Go to next edit point *emmet-goto-next-point* *n* + + To jump next point that need to edit, type 'n' in insert mode. +> + *
        foo
        +
        +< + If cursor is at '*', type 'n' to move a cursor + into attribute value of '
        ' specified id as 'foo'. + And type again 'n' to move a cursor + into inner of '
        ' specified id as 'bar'. + +8. Go to previous edit point *emmet-goto-previous-point* *N* + + To jump previous point that need to edit, type 'N' in insert mode. +> +
        foo
        +
        * +< + If cursor is at '*', type 'N' to move a cursor + into '
        ' specified id as 'bar'. + And type again 'N' to move a cursor + into attribute value of 'foo'. + +9. Add and update size *emmet-update-image-size* *i* + + To add or update 'width' and 'height' attributes of image, + type 'i' on '' tag +> + +< + Type 'i' on '' tag +> + +< + If you change image, then type it again. it will be following. +> + +< + Image size retrieved using 'identify' (ImageMagick.org) (if available) + or |xxd|. + +10. Merge lines *emmet-merge-lines* *m* + + To join multi line text like following, type |J|. +> +
          +
        • +
        • +
        • +
        +< + If you select part of line include '
      • ' and type |m|, + it will be following. +> +
          +
        • +
        +< +11. Remove tag *emmet-remove-tag* *k* + + To remove tag in the block, type 'k'. +> + +< + Type 'k' in insert mode, then +> +
        + +
        +< + And type 'k' in there again, then '
        ' will be removed. + +12. Split/join tag *emmet-split-join-tag* *j* + + To join block, type 'j'. +> +
        + cursor is here +
        +< + Type 'j' in insert mode. Then, +> +
        +< + And type 'j' in there again. +> +
        +
        +< +13. Toggle comment *emmet-toggle-comment* */* + + Move cursor to block +> +
        + hello world +
        +< + Type '/' in insert mode. +> + +< + Type '/' in there again. +> +
        + hello world +
        +< +14. Make anchor from URL *emmet-make-anchor-url* *a* + + Move cursor to URL +> + http://www.google.com/ +< + Type 'a' +> + Google +< + Text retrieved using command, specified by |g:emmet_curl_command|. + +15. Make quoted text from URL *emmet-quoted-text-url* *A* + + Move cursor to URL +> + https://github.com/ +< + Type 'A' +> +
        + Secure source code hosting and collaborative development - GitHub
        +

        How does it work? Get up and running in seconds by forking a project, pushing an existing repository...

        + https://github.com/ +
        +< + Text retrieved using command, specified by |g:emmet_curl_command|. + +16. Code pretty *emmet-code-pretty* *c* + + Select code block, for example select following code from 'int main()'. +> +

        Writing in C language

        + + int main() { + puts("hello world"); + } +< + Type 'c' +> + int main() {
        +   puts("hello world");
        + }
        +< + To convert text into html used command |:TOhtml|. + +17. Lorem ipsum *emmet-lorem-ipsum* + + To insert dummy text (30 words by default). +> + div>lorem +< + Type |,| +> +
        Adipisicing asperiores deleniti ipsum fuga deserunt perferendis + molestiae sunt excepturi aut quo nihil! Optio accusantium corporis molestiae + deserunt ab, veritatis commodi. Eius nobis ab deserunt magni iure quo + laboriosam laboriosam.
        +< + For japanese user, put like follow into your |g:user_emmet_settings|: +> + let g:user_emmet_settings = { + ... + + \ 'custom_expands1' : { + \ '^\%(lorem\|lipsum\)\(\d*\)$' : function('emmet#lorem#ja#expand'), + \ }, + + ... +< + You will get japanese dummy text. Text retrieved from url + 'http://www.aozora.gr.jp/cards/000081/files/470_15407.html' + using command, specified by |g:emmet_curl_command|. + + To insert 3 words of dummy text. +> + div>lorem3 +< + Type |,| +> +
        + Elit libero id. +
        +< +============================================================================== +HTML EXPRESSION SYNTAX *emmet-html-expression-syntax* + +Emmet uses syntax similar to CSS selectors for describing elements' positions +inside generated tree and elements' attributes. + +1. Elements *emmet-html-syntax-elements* + + You can use elements' names like 'div' or 'p' to generate HTML tags. +> + p ->

        + div ->
        +< + You can write any word and transform it into a tag: +> + foo -> + bar -> +< + Emmet knowns set of empty elements: +> + br ->
        or
        + meta -> or +< + To choose between HTML '>' and XHTML ' />' use |g:emmet_html5| or + |g:user_emmet_settings|: +> + let g:user_emmet_settings = { + \ ... + \ 'html': { + \ ... + \ 'empty_element_suffix': ' />', + \ ... + \ }, + \ ... + \} +< + Emmet will automatically insert some attributes: +> + a -> + link -> +< + Set of inserted attributes can be changed using |g:user_emmet_settings|: +> + let s:emmet_settings = { + \ ... + \ 'html': { + \ ... + \ 'default_attributes': { + \ ... + \ 'a': {'href': ''}, + \ 'ins': {'datetime': '${datetime}'}, + \ 'iframe': [{'src': ''}, {'frameborder': '0'}], + \ 'textarea': [{'name': ''}, {'id': ''}, {'cols': '30'}, {'rows': '10'}], + \ ... + \ }, + \ ... + \ }, + \ ... + \} +< +2. Nesting operators *emmet-html-syntax-nesting-operators* + + Nesting operators are used to position abbreviation elements + inside generated tree: whether it should be placed + inside or near the context element. + + Operator Description Link ~ + > Child |emmet->| + + Sibling |emmet-+| + ^ Climb-up |emmet-^| + * Multiplication |emmet-star| + () Grouping |emmet-()| + +2.1. Child *emmet->* + + You can use '>' operator to nest elements inside each other: +> + div>ul>li +< + will produce +> +
        +
          +
        • +
        +
        +< +2.2. Sibling *emmet-+* + + Use '+' operator to place elements near each other, on the same level: +> + div+p+bq +< + will output +> +
        +

        +
        +< +2.3. Climb-up *emmet-^* + + With '>' operator you're descending down the generated tree and + positions of all sibling elements will be resolved + against the most deepest element: +> + div+div>p>span+em +< + will be expanded to +> +
        +
        +

        + + +

        +
        +< + With '^' operator, you can climb one level up the tree and change context + where following elements should appear: +> + div+div>p>span+em^bq +< + outputs to +> +
        +
        +

        + + +

        +
        +
        +< + You can use as many '^' operators as you like, + each operator will move one level up: +> + div+div>p>span+em^^^bq +< + will output to +> +
        +
        +

        + + +

        +
        +
        +< +2.4. Multiplication *emmet-star* + + With '*' operator you can define how many times element should be outputted: +> + ul>li*5 +< + outputs to +> +
          +
        • +
        • +
        • +
        • +
        • +
        +< + Expression may contain several '*' operators: +> + tr*2>td*3 +< + become +> + + + + + + + + + + +< +2.5. Grouping *emmet-()* + + Parentheses '()' are used by Emmets' power users for grouping subtrees + in complex abbreviations: +> + div>(header>ul>li*2>a)+footer>p +< + expands to +> +
        +
        +
          +
        • +
        • +
        +
        +
        +

        +
        +
        +< + If you're working with browser's DOM, you may think of groups + as Document Fragments: each group contains abbreviation subtree and + all the following elements are inserted at the same level + as the first element of group. + + You can nest groups inside each other and + combine them with multiplication '*' operator: +> + (div>dl>(dt+dd)*3)+footer>p +< + produces +> +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +

        +
        +< + With groups, you can literally write full page mark-up + with a single abbreviation, but please don't do that. + +3. Attribute operators *emmet-html-syntax-attribute-operators* + + Attribute operators are used to modify attributes of outputted elements. + For example, in HTML and XML you can quickly add 'class' attribute + to generated element. + + Operator Description Link ~ + . Attribute 'class' |emmet-.| + # Attribute 'id' |emmet-#| + [] Custom attributes |emmet-[]| + $ Number |emmet-$| + @ Number origin and direction |emmet-@| + +3.1. ID and CLASS *emmet-.* *emmet-#* + + In CSS, you use 'elem#id' and 'elem.class' notation to reach the elements + with specified 'id' or 'class' attributes. + In Emmet, you can use the very same syntax to add these attributes + to specified element: +> + span.class1 -> + span.class1.class2 -> + div#wrapper ->
        + div#wrapper.content ->
        +< + More complex expression: +> + div#header+div.page+div#footer.class1.class2.class3 +< + will output +> + +
        + +< +3.2. Custom attributes *emmet-[]* + + You can use '[attr]' notation (as in CSS) + to add custom attributes to your element: +> + td[title="Hello world!" colspan=3] +< + outputs +> + +< + You can place as many attributes as you like inside square brackets. + + Attribute values may be omitted: +> + td[colspan title] +< + will produce +> + +< + You can use single or double quotes for quoting attribute values. +> + div[a='value1' b="value2"] +< + become +> +
        +< + You don't need to quote values if they don't contain spaces: +> + td[title=hello colspan=3] +< + will output +> + +< +3.3. Item numbering *emmet-$* + + With multiplication '*' operator you can repeat elements, + but with '$' you can number them. + Place '$' operator inside element's name, attribute's name or + attribute's value to output current number of repeated element: +> + ul>li.item_$*5 +< + outputs to +> +
          +
        • +
        • +
        • +
        • +
        • +
        +< + You can use multiple '$' in a row to pad number with zeroes: +> + ul>li.item_$$$*5 +< + outputs to +> +
          +
        • +
        • +
        • +
        • +
        • +
        +< + Also '$' can be used in element name and in text (|emmet-{}|): +> + h$[title=item$]{Header $}*3 +< + transformed to +> +

        Header 1

        +

        Header 2

        +

        Header 3

        +< +3.3.1. Changing numbering origin and direction *emmet-@* + + With '@' modifier, you can change + - numbering direction (ascending or descending) and + - origin (i. e. start value). + + For example, to change direction, add '@-' after '$': +> + ul>li.item_$@-*5 +< + outputs to +> +
          +
        • +
        • +
        • +
        • +
        • +
        +< + To change counter origin value, add '@N' modifier to '$': +> + ul>li.item_$@3*5 +< + transforms to +> +
          +
        • +
        • +
        • +
        • +
        • +
        +< + You can use these modifiers together: +> + ul>li.item_$@-3*5 +< + is transformed to +> +
          +
        • +
        • +
        • +
        • +
        • +
        +> +3.4. Quote character *emmet-html-attr-quote-char* + + |g:user_emmet_settings| may be used to change attribute quote character: +> + let g:user_emmet_settings = { + ... + \ 'html' : { + ... + \ 'quote_char': "'", + ... + \ }, + ... + \} +< + Then abbreviation +> + a[target=_blank] +< + will expand to +> + +< + instead of +> + +< + Default quote is '"'. + +4. Text *emmet-{}* + + You can use curly braces to add text to element: +> + a{Click me} +< + will produce +> + Click me +< + Note that '{text}' is used and parsed as a separate element + (like, 'div', 'p' etc), but has a special meaning + when written right after element. For example, +> + a{click} +< + and +> + a>{click} +< + will produce the same output, but +> + a{click}+b{here} +< + and +> + a>{click}+b{here} +< + won't: +> + + clickhere + + + clickhere +< + In second example the '' element is placed inside '' element. + And that's the difference: when '{text}' is written right after element, + it doesn't change parent context. + Here's more complex example showing why it is important: +> + p>{Click }+a{here}+{ to continue} +< + produces +> +

        Click here to continue

        +< + In this example, to write 'Click here to continue' inside '

        ' element + we have explicitly move down the tree with '>' operator after 'p', + but in case of 'a' element we don't have to, since we need '' element + with here word only, without changing parent context. + + For comparison, here's the same abbreviation + written without child '>' operator: +> + p{Click }+a{here}+{ to continue} +< + produces +> +

        Click

        + here to continue +< +5. Implicit tag names *emmet-html-implicit-tag-names* + + Even with such a powerful abbreviation engine, + which can expand large HTML structures from short abbreviation, + writing tag names may be very tedious. + + In many cases you can skip typing tag names and + Emmet will substitute it for you. + For example, instead of > + div.content +< you can simply write > + .content +< and expand it into > +
        +< + Other examples: +> + .wrapper ->
        + #popup -> +< + When you expand abbreviation, Emmet tries to grab parent context, + e. g. the HTML element, inside which you're expanding the abbreviation. + If the context was grabbed successfully, + Emmet uses its name to resolve implicit names. + Emmet looks at the parent tag name every time + you're expanding the abbreviation with an implicit name. + Here's how it resolves the names for some parent elements: + + Inserted element Parent elements ~ + li ul, ol + tr table, tbody, thead, tfoot + td tr + option select, optgroup + span Inline elements + div Block elements + + Take a look at some abbreviations equivalents + with implicit and explicit tag names: +> + .wrap>.content -> div.wrap>div.content + em>.info -> em>span.info + ul>.item*3 -> ul>li.item*3 + table>.row>.col -> table>tr.row>td.col + table>#row$*4>[colspan=2] -> table>tr#row$*4>td[colspan=2] +< +6. Notes on abbreviation formatting *emmet-html-syntax-notes* + + When you get familiar with Emmet's abbreviations syntax, + you may want to use some formatting to make your abbreviations more readable. + For example, use spaces between elements and operators, like this: +> + (header > ul.nav > li*5) + footer +< + But it won't work, because space is a stop symbol + where Emmet stops abbreviation parsing. + + Many users mistakenly think that each abbreviation + should be written in a new line, but they are wrong: + you can type and expand abbreviation anywhere in the text: + + This is why Emmet needs some indicators (like spaces) + where it should stop parsing to not expand anything that you don't need. + If you're still thinking that such formatting is required + for complex abbreviations to make them more readable: + - abbreviations are not a template language, + they don't have to be "readable", + they have to be "quickly expandable and removable"; + - you don't really need to write complex abbreviations. + Stop thinking that "typing" is the slowest process in web-development. + You'll quickly find out that constructing a single complex abbreviation + is much slower and error-prone than constructing and typing + a few short ones. + +7. Choose position to insert text when wrap abbreviation *emmet-$#* + + When wrap abbreviation (|emmet-wrap-with-abbreviation|) you can choose + position to insert text using '$#' operator. + Operator '$#' may be used only inside |emmet-[]| and/or |emmet-{}|. + + For example, do visual select (line wise) following text: +> + First + Second + Third +< + Then press ',' and type +> + ul>li[ title="[$#]" ]* +< + Result: +> +
          +
        • First
        • +
        • Second
        • +
        • Third
        • +
        +< + You may type +> + input[ type=input value=$# ] +< + to get +> + + + +< + Using '$#' you can type text (|emmet-{}|) only once: +> + a[title=$#]{foo} +< + will be expanded to +> + foo +< +============================================================================== +CSS EXPRESSION SYNTAX *emmet-css-expression-syntax* + +1. Properties *emmet-css-properties* + + Emmet has a lot of predefined snippets for CSS properties. +> + +< + become +> + +< + In above example '|' denotes a cursor (caret) position. + + Other examples: +> + t -> top: ; + d -> display: ; + o -> outline: ; + ov -> overflow: ; + cu -> cursor: ; + bdrs -> border-radius: ; +< + '+' operator may be used to insert number of properties: +> + m1+p2 +< + become +> + margin: 1px; + padding: 2px; +< +2. Values *emmet-css-values* + + Some properties have default values: +> + c -> color: #000; + bgc -> background-color: #FFF; + zoo -> zoom: 1; +< + To insert predefined property value after abbreviation + type colon ':' and first character of predefined keyword: +> + d:n -> display: none; + d:b -> display: block; + d:i -> display: inline; +< + Numerical value can be typed directly after abbreviation: +> + m10 -> margin: 10px; + m2e -> margin: 2em; +< + Use a hyphen '-' to separate some numerical values: +> + m10-20 -> margin: 10px 20px; + p1-2-3 -> padding: 1px 2px 3px; +< + To negative values + precede the first value with hyphen and all the rest with double hyphens: +> + m-10 -> margin: -10px; + m-1--2 -> margin: -1px -2px; + p-2--1-0-1 -> padding: -2px -1px 0 1px; +< + To insert '!important' append '!' to property abbreviation: +> + m! -> margin: !important; + bac! -> background: !important; +< + You can use special abbreviation 'lg(...)' + to insert definition of linear gradient. Example: +> + lg(left, #fc0 30%, red) +< + will expand to +> + background-image: -webkit-gradient(left, 0 0, 0 100, from(#fc0 30%), to(red)); + background-image: -webkit-linear-gradient(#fc0 30%, red); + background-image: -moz-linear-gradient(#fc0 30%, red); + background-image: -o-linear-gradient(#fc0 30%, red); + background-image: linear-gradient(#fc0 30%, red); +< +3. Units *emmet-css-units* + + By default, when you expand an abbreviation with integer value, + Emmet outputs it with a 'px' unit: +> + bor2 -> border: 2px; + fs100 -> font-size: 100px; + miw20 -> min-width: 20px; +< + By default, if you're expanding an abbreviation with a float value, + it is outputted with an 'em' unit: +> + fs1.5 -> font-style: 1.5em; +< + But you can explicitly provide the unit name + by putting one of characters right after value: + + Character Unit ~ + p % + e em + + Examples: +> + fs2e -> font-style: 2em; + w100p -> width: 100%; +< +4. Vendor prefixes *emmet-css-vendor-prefixes* + + To automatically create vendor-prefixed copies of property, + precede abbreviation with a hyphen '-'. For example, abbreviation +> + -bdrs +< + will be expanded into +> + -webkit-border-radius: ; + -moz-border-radius: ; + border-radius: ; +< +============================================================================== +COMMANDS *emmet-commands* + +:Emmet {expression} *:Emmet* + Expand {expression} and insert result under cursor. + {expression} is |emmet-html-expression|. + Also see |g:user_emmet_install_command|. + +:EmmetInstall *:EmmetInstall* + Create Emmet mappings to current buffer + (|mapping|, |:map-|) and, + if set |g:user_emmet_complete_tag|, + change |'omnifunc'| option to emmet#completeTag() + +============================================================================== +VARIABLES *emmet-variables* + +g:emmet_html5 *g:emmet_html5* + If set to 1, enable HTML 5 support: + - use ">" instead of "/>": > + + +< - omit some HTML 4 attributes: > +