add fish and alacritty themes
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
[general]
|
||||||
|
import = [
|
||||||
|
"solarized_dark.toml"
|
||||||
|
]
|
||||||
|
|
||||||
[font]
|
[font]
|
||||||
size = 11.0
|
size = 11.0
|
||||||
|
|
||||||
|
|||||||
@@ -1,911 +0,0 @@
|
|||||||
# 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
|
|
||||||
|
|
||||||
#window:
|
|
||||||
# Window dimensions (changes require restart)
|
|
||||||
#
|
|
||||||
# Number of lines/columns (not pixels) in the terminal. Both lines and columns
|
|
||||||
# must be non-zero for this to take effect. 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
|
|
||||||
|
|
||||||
# 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: false
|
|
||||||
|
|
||||||
# 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: full
|
|
||||||
|
|
||||||
# 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.
|
|
||||||
#opacity: 1.0
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Decorations theme variant
|
|
||||||
#
|
|
||||||
# Override the variant of the System theme/GTK theme/Wayland client side
|
|
||||||
# decorations. Commonly supported values are `Dark`, `Light`, and `None` for
|
|
||||||
# auto pick-up. Set this to `None` to use the default theme variant.
|
|
||||||
#decorations_theme_variant: None
|
|
||||||
|
|
||||||
# Resize increments
|
|
||||||
#
|
|
||||||
# Prefer resizing window by discrete steps equal to cell dimensions.
|
|
||||||
#resize_increments: false
|
|
||||||
|
|
||||||
# Make `Option` key behave as `Alt` (macOS only):
|
|
||||||
# - OnlyLeft
|
|
||||||
# - OnlyRight
|
|
||||||
# - Both
|
|
||||||
# - None (default)
|
|
||||||
#option_as_alt: None
|
|
||||||
|
|
||||||
#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: Inconsolata LGC Nerd Font
|
|
||||||
|
|
||||||
# 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: Inconsolata LGC Nerd Font
|
|
||||||
|
|
||||||
# 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: Inconsolata LGC Nerd Font
|
|
||||||
|
|
||||||
# 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: Inconsolata LGC Nerd Font
|
|
||||||
|
|
||||||
# The `style` can be specified to pick a specific face.
|
|
||||||
style: Bold Italic
|
|
||||||
|
|
||||||
# Point size
|
|
||||||
size: 11.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: 0
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Use built-in font for box drawing characters.
|
|
||||||
#
|
|
||||||
# If `true`, Alacritty will use a custom built-in font for box drawing
|
|
||||||
# characters (Unicode points 2500 - 259f).
|
|
||||||
#
|
|
||||||
#builtin_box_drawing: true
|
|
||||||
|
|
||||||
# If `true`, bold text is drawn using the bright color variants.
|
|
||||||
#draw_bold_text_with_bright_colors: false
|
|
||||||
|
|
||||||
# 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, which reference the
|
|
||||||
# affected cell, or hexadecimal colors like #ff00ff.
|
|
||||||
#matches:
|
|
||||||
# foreground: '#000000'
|
|
||||||
# background: '#ffffff'
|
|
||||||
#focused_match:
|
|
||||||
# foreground: '#ffffff'
|
|
||||||
# background: '#000000'
|
|
||||||
|
|
||||||
# Keyboard 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
|
|
||||||
|
|
||||||
# Footer bar
|
|
||||||
#
|
|
||||||
# Color used for the footer bar on the bottom, used by search regex input,
|
|
||||||
# hyperlink URI preview, etc.
|
|
||||||
#
|
|
||||||
#footer_bar:
|
|
||||||
# background: '#c5c8c6'
|
|
||||||
# foreground: '#1d1f21'
|
|
||||||
|
|
||||||
# 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: '#1d1f21'
|
|
||||||
# red: '#cc6666'
|
|
||||||
# green: '#b5bd68'
|
|
||||||
# yellow: '#f0c674'
|
|
||||||
# blue: '#81a2be'
|
|
||||||
# magenta: '#b294bb'
|
|
||||||
# cyan: '#8abeb7'
|
|
||||||
# white: '#c5c8c6'
|
|
||||||
|
|
||||||
# Bright colors
|
|
||||||
#bright:
|
|
||||||
# black: '#666666'
|
|
||||||
# red: '#d54e53'
|
|
||||||
# green: '#b9ca4a'
|
|
||||||
# yellow: '#e7c547'
|
|
||||||
# blue: '#7aa6da'
|
|
||||||
# magenta: '#c397d8'
|
|
||||||
# cyan: '#70c0b1'
|
|
||||||
# white: '#eaeaea'
|
|
||||||
|
|
||||||
# Dim colors
|
|
||||||
#
|
|
||||||
# If the dim colors are not set, they will be calculated automatically based
|
|
||||||
# on the `normal` colors.
|
|
||||||
#dim:
|
|
||||||
# black: '#131415'
|
|
||||||
# red: '#864343'
|
|
||||||
# green: '#777c44'
|
|
||||||
# yellow: '#9e824c'
|
|
||||||
# blue: '#556a7d'
|
|
||||||
# magenta: '#75617b'
|
|
||||||
# cyan: '#5b7d78'
|
|
||||||
# white: '#828482'
|
|
||||||
|
|
||||||
# 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: false
|
|
||||||
|
|
||||||
#cursor:
|
|
||||||
# Cursor style
|
|
||||||
#style:
|
|
||||||
# Cursor shape
|
|
||||||
#
|
|
||||||
# Values for `shape`:
|
|
||||||
# - ▇ Block
|
|
||||||
# - _ Underline
|
|
||||||
# - | Beam
|
|
||||||
#shape: Block
|
|
||||||
|
|
||||||
# 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: None
|
|
||||||
|
|
||||||
# Cursor blinking interval in milliseconds.
|
|
||||||
#blink_interval: 750
|
|
||||||
|
|
||||||
# Time after which cursor stops blinking, in seconds.
|
|
||||||
#
|
|
||||||
# Specifying '0' will disable timeout for blinking.
|
|
||||||
#blink_timeout: 5
|
|
||||||
|
|
||||||
# If this is `true`, the cursor will be rendered as a hollow box when the
|
|
||||||
# window is not focused.
|
|
||||||
#unfocused_hollow: true
|
|
||||||
|
|
||||||
# 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:
|
|
||||||
# - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset
|
|
||||||
# - (Windows) powershell
|
|
||||||
#shell:
|
|
||||||
# program: /bin/bash
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Hints
|
|
||||||
#
|
|
||||||
# Terminal hints can be used to find text or hyperlink 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 any of `regex` or `hyperlinks` field and either an
|
|
||||||
# `action` or a `command` field. The fields `mouse`, `binding` and
|
|
||||||
# `post_processing` are optional.
|
|
||||||
#
|
|
||||||
# The `hyperlinks` option will cause OSC 8 escape sequence hyperlinks to be
|
|
||||||
# highlighted.
|
|
||||||
#
|
|
||||||
# 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 and applies only to
|
|
||||||
# `regex` matches.
|
|
||||||
#
|
|
||||||
# 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{-}\\^⟨⟩`]+"
|
|
||||||
# hyperlinks: true
|
|
||||||
# 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: Right, mods: Control, 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/winit/*/winit/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
|
|
||||||
# - ToggleMaximized
|
|
||||||
# - 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`.
|
|
||||||
# - CenterAroundViCursor
|
|
||||||
# Center view around vi mode cursor
|
|
||||||
#
|
|
||||||
# - 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: ClearLogNotice }
|
|
||||||
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
|
|
||||||
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp }
|
|
||||||
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
|
|
||||||
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop }
|
|
||||||
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
|
|
||||||
|
|
||||||
# Vi Mode
|
|
||||||
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
|
|
||||||
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
|
|
||||||
#- { 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: Z, mode: Vi|~Search, action: CenterAroundViCursor }
|
|
||||||
#- { 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 }
|
|
||||||
|
|
||||||
# (Windows only)
|
|
||||||
#- { key: Return, mods: Alt, 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: CreateNewWindow }
|
|
||||||
#- { 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
|
|
||||||
|
|
||||||
# Renderer override.
|
|
||||||
# - glsl3
|
|
||||||
# - gles2
|
|
||||||
# - gles2_pure
|
|
||||||
#renderer: None
|
|
||||||
|
|
||||||
# Print all received window events.
|
|
||||||
#print_events: false
|
|
||||||
|
|
||||||
# Highlight window damage information.
|
|
||||||
#highlight_damage: false
|
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
# Colors (Solarized Dark)
|
||||||
|
|
||||||
|
# Default colors
|
||||||
|
[colors.primary]
|
||||||
|
background = '#002b36'
|
||||||
|
foreground = '#839496'
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
[colors.normal]
|
||||||
|
black = '#073642'
|
||||||
|
red = '#dc322f'
|
||||||
|
green = '#859900'
|
||||||
|
yellow = '#b58900'
|
||||||
|
blue = '#268bd2'
|
||||||
|
magenta = '#d33682'
|
||||||
|
cyan = '#2aa198'
|
||||||
|
white = '#eee8d5'
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
[colors.bright]
|
||||||
|
black = '#002b36'
|
||||||
|
red = '#cb4b16'
|
||||||
|
green = '#586e75'
|
||||||
|
yellow = '#657b83'
|
||||||
|
blue = '#839496'
|
||||||
|
magenta = '#6c71c4'
|
||||||
|
cyan = '#93a1a1'
|
||||||
|
white = '#fdf6e3'
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# Redefine fish_mode_prompt function as empty to hide fish-shell mode indicator
|
||||||
|
function fish_mode_prompt
|
||||||
|
end
|
||||||
@@ -0,0 +1,389 @@
|
|||||||
|
# name: Agnoster
|
||||||
|
# agnoster's Theme - https://gist.github.com/3712874
|
||||||
|
# A Powerline-inspired theme for FISH
|
||||||
|
#
|
||||||
|
# # README
|
||||||
|
#
|
||||||
|
# In order for this theme to render correctly, you will need a
|
||||||
|
# [Powerline-patched font](https://gist.github.com/1595572).
|
||||||
|
|
||||||
|
## Set this options in your config.fish (if you want to :])
|
||||||
|
# set -g theme_display_user yes
|
||||||
|
# set -g theme_hide_hostname yes
|
||||||
|
# set -g theme_hide_hostname no
|
||||||
|
# set -g default_user your_normal_user
|
||||||
|
# set -g theme_svn_prompt_enabled yes
|
||||||
|
# set -g theme_mercurial_prompt_enabled yes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set -g current_bg NONE
|
||||||
|
set -g segment_separator \uE0B0
|
||||||
|
set -g right_segment_separator \uE0B0
|
||||||
|
set -q scm_prompt_blacklist; or set -g scm_prompt_blacklist
|
||||||
|
set -q max_package_count_visible_in_prompt; or set -g max_package_count_visible_in_prompt 10
|
||||||
|
# We support trimming the version only in simple cases, such as "1.2.3".
|
||||||
|
set -q try_to_trim_nix_package_version; or set -g try_to_trim_nix_package_version yes
|
||||||
|
|
||||||
|
# ===========================
|
||||||
|
# Color setting
|
||||||
|
|
||||||
|
# You can set these variables in config.fish like:
|
||||||
|
# set -g color_dir_bg red
|
||||||
|
# If not set, default color from agnoster will be used.
|
||||||
|
# ===========================
|
||||||
|
|
||||||
|
set -q color_virtual_env_bg; or set -g color_virtual_env_bg white
|
||||||
|
set -q color_virtual_env_str; or set -g color_virtual_env_str black
|
||||||
|
set -q color_user_bg; or set -g color_user_bg black
|
||||||
|
set -q color_user_str; or set -g color_user_str yellow
|
||||||
|
set -q color_dir_bg; or set -g color_dir_bg blue
|
||||||
|
set -q color_dir_str; or set -g color_dir_str black
|
||||||
|
set -q color_hg_changed_bg; or set -g color_hg_changed_bg yellow
|
||||||
|
set -q color_hg_changed_str; or set -g color_hg_changed_str black
|
||||||
|
set -q color_hg_bg; or set -g color_hg_bg green
|
||||||
|
set -q color_hg_str; or set -g color_hg_str black
|
||||||
|
set -q color_git_dirty_bg; or set -g color_git_dirty_bg yellow
|
||||||
|
set -q color_git_dirty_str; or set -g color_git_dirty_str black
|
||||||
|
set -q color_git_bg; or set -g color_git_bg green
|
||||||
|
set -q color_git_str; or set -g color_git_str black
|
||||||
|
set -q color_svn_bg; or set -g color_svn_bg green
|
||||||
|
set -q color_svn_str; or set -g color_svn_str black
|
||||||
|
set -q color_status_nonzero_bg; or set -g color_status_nonzero_bg black
|
||||||
|
set -q color_status_nonzero_str; or set -g color_status_nonzero_str red
|
||||||
|
set -q glyph_status_nonzero; or set -g glyph_status_nonzero "✘"
|
||||||
|
set -q color_status_superuser_bg; or set -g color_status_superuser_bg black
|
||||||
|
set -q color_status_superuser_str; or set -g color_status_superuser_str yellow
|
||||||
|
set -q glyph_status_superuser; or set -g glyph_status_superuser "🔒"
|
||||||
|
set -q color_status_jobs_bg; or set -g color_status_jobs_bg black
|
||||||
|
set -q color_status_jobs_str; or set -g color_status_jobs_str cyan
|
||||||
|
set -q glyph_status_jobs; or set -g glyph_status_jobs "⚡"
|
||||||
|
set -q color_status_private_bg; or set -g color_status_private_bg black
|
||||||
|
set -q color_status_private_str; or set -g color_status_private_str purple
|
||||||
|
set -q glyph_status_private; or set -g glyph_status_private "⚙"
|
||||||
|
|
||||||
|
# ===========================
|
||||||
|
# General VCS settings
|
||||||
|
|
||||||
|
set -q fish_vcs_branch_name_length; or set -g fish_vcs_branch_name_length 15
|
||||||
|
|
||||||
|
# ===========================
|
||||||
|
# Git settings
|
||||||
|
# set -g color_dir_bg red
|
||||||
|
|
||||||
|
set -q fish_git_prompt_untracked_files; or set -g fish_git_prompt_untracked_files normal
|
||||||
|
|
||||||
|
# ===========================
|
||||||
|
# Subversion settings
|
||||||
|
|
||||||
|
set -q theme_svn_prompt_enabled; or set -g theme_svn_prompt_enabled no
|
||||||
|
|
||||||
|
# ===========================
|
||||||
|
# Mercurial settings
|
||||||
|
|
||||||
|
set -q theme_mercurial_prompt_enabled; or set -g theme_mercurial_prompt_enabled no
|
||||||
|
|
||||||
|
# ===========================
|
||||||
|
# Helper methods
|
||||||
|
# ===========================
|
||||||
|
|
||||||
|
set -g __fish_git_prompt_showdirtystate 'yes'
|
||||||
|
set -g __fish_git_prompt_char_dirtystate '±'
|
||||||
|
set -g __fish_git_prompt_char_cleanstate ''
|
||||||
|
|
||||||
|
function shorten_branch_name -a branch_name
|
||||||
|
set new_branch_name $branch_name
|
||||||
|
|
||||||
|
if test (string length $branch_name) -gt $fish_vcs_branch_name_length
|
||||||
|
# Round up length before dot (+0.5)
|
||||||
|
# Remove half the length of dots (-1)
|
||||||
|
# -> Total offset: -0.5
|
||||||
|
set pre_dots_length (math -s0 $fish_vcs_branch_name_length / 2 - 0.5)
|
||||||
|
# Round down length after dot (-0.5)
|
||||||
|
# Remove half the length of dots (-1)
|
||||||
|
# -> Total offset: -1.5
|
||||||
|
set post_dots_length (math -s0 $fish_vcs_branch_name_length / 2 - 1.5)
|
||||||
|
set new_branch_name (string replace -r "(.{$pre_dots_length}).*(.{$post_dots_length})" '$1..$2' $branch_name)
|
||||||
|
end
|
||||||
|
|
||||||
|
echo $new_branch_name
|
||||||
|
end
|
||||||
|
|
||||||
|
function parse_git_dirty
|
||||||
|
if [ $__fish_git_prompt_showdirtystate = "yes" ]
|
||||||
|
set -l submodule_syntax
|
||||||
|
set submodule_syntax "--ignore-submodules=dirty"
|
||||||
|
set untracked_syntax "--untracked-files=$fish_git_prompt_untracked_files"
|
||||||
|
set git_dirty (command git status --porcelain $submodule_syntax $untracked_syntax 2> /dev/null)
|
||||||
|
if [ -n "$git_dirty" ]
|
||||||
|
echo -n "$__fish_git_prompt_char_dirtystate"
|
||||||
|
else
|
||||||
|
echo -n "$__fish_git_prompt_char_cleanstate"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function cwd_in_scm_blacklist
|
||||||
|
for entry in $scm_prompt_blacklist
|
||||||
|
pwd | grep "^$entry" -
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# ===========================
|
||||||
|
# Segments functions
|
||||||
|
# ===========================
|
||||||
|
|
||||||
|
function prompt_segment -d "Function to draw a segment"
|
||||||
|
set -l bg
|
||||||
|
set -l fg
|
||||||
|
if [ -n "$argv[1]" ]
|
||||||
|
set bg $argv[1]
|
||||||
|
else
|
||||||
|
set bg normal
|
||||||
|
end
|
||||||
|
if [ -n "$argv[2]" ]
|
||||||
|
set fg $argv[2]
|
||||||
|
else
|
||||||
|
set fg normal
|
||||||
|
end
|
||||||
|
if [ "$current_bg" != 'NONE' -a "$argv[1]" != "$current_bg" ]
|
||||||
|
set_color -b $bg
|
||||||
|
set_color $current_bg
|
||||||
|
echo -n "$segment_separator "
|
||||||
|
set_color -b $bg
|
||||||
|
set_color $fg
|
||||||
|
else
|
||||||
|
set_color -b $bg
|
||||||
|
set_color $fg
|
||||||
|
echo -n " "
|
||||||
|
end
|
||||||
|
set current_bg $argv[1]
|
||||||
|
if [ -n "$argv[3]" ]
|
||||||
|
echo -n -s $argv[3] " "
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function prompt_finish -d "Close open segments"
|
||||||
|
if [ -n $current_bg ]
|
||||||
|
set_color normal
|
||||||
|
set_color $current_bg
|
||||||
|
echo -n "$segment_separator "
|
||||||
|
set_color normal
|
||||||
|
end
|
||||||
|
set -g current_bg NONE
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
# ===========================
|
||||||
|
# Theme components
|
||||||
|
# ===========================
|
||||||
|
|
||||||
|
function prompt_virtual_env -d "Display Python or Nix virtual environment"
|
||||||
|
set envs
|
||||||
|
|
||||||
|
if test "$CONDA_DEFAULT_ENV"
|
||||||
|
set envs $envs "conda[$CONDA_DEFAULT_ENV]"
|
||||||
|
end
|
||||||
|
|
||||||
|
if test "$VIRTUAL_ENV"
|
||||||
|
set py_env (basename $VIRTUAL_ENV)
|
||||||
|
set envs $envs "py[$py_env]"
|
||||||
|
end
|
||||||
|
|
||||||
|
# Support for `nix shell` command in nix 2.4+. Only the packages passed on the command line are
|
||||||
|
# available in PATH, so it is useful to print them all.
|
||||||
|
set nix_packages
|
||||||
|
for p in $PATH
|
||||||
|
set package_name_version (string match --regex '/nix/store/\w+-([^/]+)/.*' $p)[2]
|
||||||
|
if test "$package_name_version"
|
||||||
|
set package_name (string match --regex '^(.*)-(\d+(\.\d)+|unstable-20\d{2}-\d{2}-\d{2})' $package_name_version)[2]
|
||||||
|
if test "$try_to_trim_nix_package_version" = "yes" -a -n "$package_name"
|
||||||
|
set package $package_name
|
||||||
|
else
|
||||||
|
set package $package_name_version
|
||||||
|
end
|
||||||
|
if not contains $package $nix_packages
|
||||||
|
set nix_packages $nix_packages $package
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if test (count $nix_packages) -gt $max_package_count_visible_in_prompt
|
||||||
|
set nix_packages $nix_packages[1..$max_package_count_visible_in_prompt] "..."
|
||||||
|
end
|
||||||
|
|
||||||
|
if [ "$IN_NIX_SHELL" = "impure" ]
|
||||||
|
# Support for
|
||||||
|
# 1) `nix-shell` command
|
||||||
|
# 2) `nix develop` command in nix 2.4+.
|
||||||
|
# These commands are typically dumping too many packages into PATH for it be useful to print
|
||||||
|
# them. Thus we only print "nix[impure]".
|
||||||
|
set envs $envs "nix[impure]"
|
||||||
|
else if test "$nix_packages"
|
||||||
|
# Support for `nix-shell -p`. Would print "nix[foo bar baz]".
|
||||||
|
# We check for this case after checking for "impure" because impure brings too many packages
|
||||||
|
# into PATH.
|
||||||
|
set envs $envs "nix[$nix_packages]"
|
||||||
|
else if test "$IN_NIX_SHELL"
|
||||||
|
# Support for `nix-shell --pure`. Would print "nix[pure]".
|
||||||
|
# We check for this case after checking for individual packages because it otherwise might
|
||||||
|
# confuse the user into believing when they are in a pure shell, after they have invoked
|
||||||
|
# `nix shell` from within it.
|
||||||
|
set envs $envs "nix[$IN_NIX_SHELL]"
|
||||||
|
end
|
||||||
|
|
||||||
|
if test "$envs"
|
||||||
|
prompt_segment $color_virtual_env_bg $color_virtual_env_str (string join " " $envs)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function prompt_user -d "Display current user if different from $default_user"
|
||||||
|
if [ "$theme_display_user" = "yes" ]
|
||||||
|
if [ "$USER" != "$default_user" -o -n "$SSH_CLIENT" ]
|
||||||
|
set USER (whoami)
|
||||||
|
get_hostname
|
||||||
|
if [ $HOSTNAME_PROMPT ]
|
||||||
|
set USER_PROMPT $USER@$HOSTNAME_PROMPT
|
||||||
|
else
|
||||||
|
set USER_PROMPT $USER
|
||||||
|
end
|
||||||
|
prompt_segment $color_user_bg $color_user_str $USER_PROMPT
|
||||||
|
end
|
||||||
|
else
|
||||||
|
get_hostname
|
||||||
|
if [ $HOSTNAME_PROMPT ]
|
||||||
|
prompt_segment $color_user_bg $color_user_str $HOSTNAME_PROMPT
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function get_hostname -d "Set current hostname to prompt variable $HOSTNAME_PROMPT if connected via SSH"
|
||||||
|
set -g HOSTNAME_PROMPT ""
|
||||||
|
if [ "$theme_hide_hostname" = "no" -o \( "$theme_hide_hostname" != "yes" -a -n "$SSH_CLIENT" \) ]
|
||||||
|
set -g HOSTNAME_PROMPT (uname -n)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function prompt_dir -d "Display the current directory"
|
||||||
|
prompt_segment $color_dir_bg $color_dir_str (prompt_pwd)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function prompt_hg -d "Display mercurial state"
|
||||||
|
not set -l root (fish_print_hg_root); and return
|
||||||
|
|
||||||
|
set -l state
|
||||||
|
set -l branch (cat $root/branch 2>/dev/null; or echo default)
|
||||||
|
set -l bookmark (cat $root/bookmarks.current 2>/dev/null)
|
||||||
|
set state (hg_get_state)
|
||||||
|
set revision (command hg id -n)
|
||||||
|
set branch_symbol \uE0A0
|
||||||
|
set prompt_text "$branch_symbol $branch$bookmark:$revision"
|
||||||
|
if [ "$state" = "0" ]
|
||||||
|
prompt_segment $color_hg_changed_bg $color_hg_changed_str $prompt_text " ±"
|
||||||
|
else
|
||||||
|
prompt_segment $color_hg_bg $color_hg_str $prompt_text
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function hg_get_state -d "Get mercurial working directory state"
|
||||||
|
if hg status | grep --quiet -e "^[A|M|R|!|?]"
|
||||||
|
echo 0
|
||||||
|
else
|
||||||
|
echo 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function prompt_git -d "Display the current git state"
|
||||||
|
set -l ref
|
||||||
|
set -l dirty
|
||||||
|
if command git rev-parse --is-inside-work-tree >/dev/null 2>&1
|
||||||
|
set dirty (parse_git_dirty)
|
||||||
|
set ref (command git symbolic-ref HEAD 2> /dev/null)
|
||||||
|
if [ $status -gt 0 ]
|
||||||
|
set -l branch (command git show-ref --head -s --abbrev |head -n1 2> /dev/null)
|
||||||
|
set ref "➦ $branch "
|
||||||
|
end
|
||||||
|
set branch_symbol \uE0A0
|
||||||
|
set -l long_branch (echo $ref | sed "s#refs/heads/##")
|
||||||
|
set -l branch (shorten_branch_name $long_branch)
|
||||||
|
if [ "$dirty" != "" ]
|
||||||
|
prompt_segment $color_git_dirty_bg $color_git_dirty_str "$branch_symbol $branch $dirty"
|
||||||
|
else
|
||||||
|
prompt_segment $color_git_bg $color_git_str "$branch_symbol $branch $dirty"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function prompt_svn -d "Display the current svn state"
|
||||||
|
set -l ref
|
||||||
|
if command svn info >/dev/null 2>&1
|
||||||
|
set long_branch (svn_get_branch)
|
||||||
|
set -l branch (shorten_branch_name $long_branch)
|
||||||
|
set branch_symbol \uE0A0
|
||||||
|
set revision (svn_get_revision)
|
||||||
|
prompt_segment $color_svn_bg $color_svn_str "$branch_symbol $branch:$revision"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function svn_get_branch -d "get the current branch name"
|
||||||
|
svn info 2> /dev/null | awk -F/ \
|
||||||
|
'/^URL:/ { \
|
||||||
|
for (i=0; i<=NF; i++) { \
|
||||||
|
if ($i == "branches" || $i == "tags" ) { \
|
||||||
|
print $(i+1); \
|
||||||
|
break;\
|
||||||
|
}; \
|
||||||
|
if ($i == "trunk") { print $i; break; } \
|
||||||
|
} \
|
||||||
|
}'
|
||||||
|
end
|
||||||
|
|
||||||
|
function svn_get_revision -d "get the current revision number"
|
||||||
|
svn info 2> /dev/null | sed -n 's/Revision:\ //p'
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function prompt_status -d "the symbols for a non zero exit status, root and background jobs"
|
||||||
|
if [ $RETVAL -ne 0 ]
|
||||||
|
prompt_segment $color_status_nonzero_bg $color_status_nonzero_str $glyph_status_nonzero
|
||||||
|
end
|
||||||
|
|
||||||
|
if [ "$fish_private_mode" ]
|
||||||
|
prompt_segment $color_status_private_bg $color_status_private_str $glyph_status_private
|
||||||
|
end
|
||||||
|
|
||||||
|
# if superuser (uid == 0)
|
||||||
|
set -l uid (id -u $USER)
|
||||||
|
if [ $uid -eq 0 ]
|
||||||
|
prompt_segment $color_status_superuser_bg $color_status_superuser_str $glyph_status_superuser
|
||||||
|
end
|
||||||
|
|
||||||
|
# Jobs display
|
||||||
|
if [ (jobs -l | wc -l) -gt 0 ]
|
||||||
|
prompt_segment $color_status_jobs_bg $color_status_jobs_str $glyph_status_jobs
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# ===========================
|
||||||
|
# Apply theme
|
||||||
|
# ===========================
|
||||||
|
|
||||||
|
function fish_prompt
|
||||||
|
set -g RETVAL $status
|
||||||
|
prompt_status
|
||||||
|
prompt_user
|
||||||
|
prompt_dir
|
||||||
|
prompt_virtual_env
|
||||||
|
if [ (cwd_in_scm_blacklist | wc -c) -eq 0 ]
|
||||||
|
type -q git; and prompt_git
|
||||||
|
if [ "$theme_mercurial_prompt_enabled" = "yes" ]
|
||||||
|
prompt_hg
|
||||||
|
end
|
||||||
|
if [ "$theme_svn_prompt_enabled" = "yes" ]
|
||||||
|
prompt_svn
|
||||||
|
end
|
||||||
|
end
|
||||||
|
prompt_finish
|
||||||
|
end
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
# right prompt for agnoster theme
|
||||||
|
# shows vim mode status
|
||||||
|
|
||||||
|
# ===========================
|
||||||
|
# Color setting
|
||||||
|
|
||||||
|
# You can set these variables in config.fish like:
|
||||||
|
# set -g color_dir_bg red
|
||||||
|
# If not set, default color from agnoster will be used.
|
||||||
|
# ===========================
|
||||||
|
set -q color_vi_mode_indicator; or set color_vi_mode_indicator black
|
||||||
|
set -q color_vi_mode_normal; or set color_vi_mode_normal green
|
||||||
|
set -q color_vi_mode_insert; or set color_vi_mode_insert blue
|
||||||
|
set -q color_vi_mode_visual; or set color_vi_mode_visual red
|
||||||
|
|
||||||
|
|
||||||
|
# ===========================
|
||||||
|
# Cursor setting
|
||||||
|
|
||||||
|
# You can set these variables in config.fish like:
|
||||||
|
# set -g cursor_vi_mode_insert bar_blinking
|
||||||
|
# ===========================
|
||||||
|
set -q cursor_vi_mode_normal; or set cursor_vi_mode_normal box_steady
|
||||||
|
set -q cursor_vi_mode_insert; or set cursor_vi_mode_insert bar_steady
|
||||||
|
set -q cursor_vi_mode_visual; or set cursor_vi_mode_visual box_steady
|
||||||
|
|
||||||
|
|
||||||
|
function fish_cursor_name_to_code -a cursor_name -d "Translate cursor name to a cursor code"
|
||||||
|
# these values taken from
|
||||||
|
# https://github.com/gnachman/iTerm2/blob/master/sources/VT100Terminal.m#L1646
|
||||||
|
# Beginning with the statement "case VT100CSI_DECSCUSR:"
|
||||||
|
if [ $cursor_name = "box_blinking" ]
|
||||||
|
echo 1
|
||||||
|
else if [ $cursor_name = "box_steady" ]
|
||||||
|
echo 2
|
||||||
|
else if [ $cursor_name = "underline_blinking" ]
|
||||||
|
echo 3
|
||||||
|
else if [ $cursor_name = "underline_steady" ]
|
||||||
|
echo 4
|
||||||
|
else if [ $cursor_name = "bar_blinking" ]
|
||||||
|
echo 5
|
||||||
|
else if [ $cursor_name = "bar_steady" ]
|
||||||
|
echo 6
|
||||||
|
else
|
||||||
|
echo 2
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function prompt_vi_mode -d 'vi mode status indicator'
|
||||||
|
set -l right_segment_separator \uE0B2
|
||||||
|
switch $fish_bind_mode
|
||||||
|
case default
|
||||||
|
set -l mode (fish_cursor_name_to_code $cursor_vi_mode_normal)
|
||||||
|
echo -e "\e[\x3$mode q"
|
||||||
|
set_color $color_vi_mode_normal
|
||||||
|
echo "$right_segment_separator"
|
||||||
|
set_color -b $color_vi_mode_normal $color_vi_mode_indicator
|
||||||
|
echo " N "
|
||||||
|
case insert
|
||||||
|
set -l mode (fish_cursor_name_to_code $cursor_vi_mode_insert)
|
||||||
|
echo -e "\e[\x3$mode q"
|
||||||
|
set_color $color_vi_mode_insert
|
||||||
|
echo "$right_segment_separator"
|
||||||
|
set_color -b $color_vi_mode_insert $color_vi_mode_indicator
|
||||||
|
echo " I "
|
||||||
|
case visual
|
||||||
|
set -l mode (fish_cursor_name_to_code $cursor_vi_mode_visual)
|
||||||
|
echo -e "\e[\x3$mode q"
|
||||||
|
set_color $color_vi_mode_visual
|
||||||
|
echo "$right_segment_separator"
|
||||||
|
set_color -b $color_vi_mode_visual $color_vi_mode_indicator
|
||||||
|
echo " V "
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function fish_right_prompt -d 'Prints right prompt'
|
||||||
|
if not test "$fish_key_bindings" = "fish_default_key_bindings"
|
||||||
|
prompt_vi_mode
|
||||||
|
set_color normal
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user