From f011fa6f5e1e3e8d8c72b0602845e5fa4cdb2913 Mon Sep 17 00:00:00 2001 From: ksyasuda Date: Tue, 2 Nov 2021 02:23:00 -0700 Subject: [PATCH] add updated alacrity config and changed emacs cfg --- alacritty/alacritty.onedark.yml | 788 ++++++++++++++++++++++++++++++++ alacritty/alacritty.yml | 719 +++++++++++++++-------------- alacritty/doom_one.yml | 19 + alacritty/dracula.yaml | 28 ++ alacritty/one_dark.yaml | 28 ++ doom/config.el | 141 ++++-- doom/init.el | 10 +- doom/packages.el | 2 + scripts/emc | 5 + 9 files changed, 1344 insertions(+), 396 deletions(-) create mode 100644 alacritty/alacritty.onedark.yml create mode 100644 alacritty/doom_one.yml create mode 100644 alacritty/dracula.yaml create mode 100644 alacritty/one_dark.yaml create mode 100755 scripts/emc diff --git a/alacritty/alacritty.onedark.yml b/alacritty/alacritty.onedark.yml new file mode 100644 index 0000000..56b7954 --- /dev/null +++ b/alacritty/alacritty.onedark.yml @@ -0,0 +1,788 @@ +# Configuration for Alacritty, the GPU enhanced terminal emulator. + +# Import additional configuration files +# +# These configuration files will be loaded in order, replacing values in files +# loaded earlier with those loaded later in the chain. The file itself will +# always be loaded last. +#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. 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: 180 + lines: 45 + + # 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: full + + # 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. +window.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: "FiraCode 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: "FiraCode 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: "FiraCode 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: "FiraCode 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 + + # 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: true + +# 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: '#282c34' +# 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 and 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 and CellBackground, which reference the +# affected cell, or hexadecimal colors like #ff00ff. +#vi_mode_cursor: +# text: CellBackground +# cursor: CellForeground + +# Selection colors +# +# Colors which should be used to draw the selection area. +# +# Allowed values are CellForeground and CellBackground, which reference the +# affected cell, or hexadecimal colors like #ff00ff. +#selection: +# text: CellBackground +# background: CellForeground + +# Search colors +# +# Colors used for the search bar and match highlighting. +#search: +# Allowed values are CellForeground and CellBackground, which reference the +# affected cell, or hexadecimal colors like #ff00ff. +#matches: +# foreground: '#000000' +# background: '#ffffff' + +#bar: +# background: '#c5c8c6' +# foreground: '#1d1f21' + +import: ~/.config/alacritty/one_dark.yaml + +# Colors (One Dark) +# colors: +# primary: +# background: "#282c34" +# foreground: "#abb2bf" +# cursor: +# text: CellBackground +# cursor: "#82aaff" # syntax-cursor-color +# selection: +# text: CellForeground +# background: "#6d6d6d" # syntax-selection-color +# normal: +# black: "#464b55" +# red: "#e06c75" +# green: "#98c379" +# yellow: "#e5c07b" +# blue: "#296dff" +# magenta: "#ff20ff" +# cyan: "#56b6c2" +# white: "#e6e6e6" +# bright: +# black: "#282c34" +# red: "#ff5820" +# green: "#b1e18b" +# yellow: "#eee25a" +# blue: "#2f71ff" +# magenta: "#ff00ff" +# cyan: "#63d4e0" +# white: "#ffffff" + +# Colors (Material Theme) +# colors: +# # Default colors +# primary: +# background: '#263238' +# foreground: '#eeffff' +# +# # Normal colors +# normal: +# black: '#000000' # Arbitrary +# red: '#e53935' +# green: '#91b859' +# yellow: '#ffb62c' +# blue: '#6182b8' +# magenta: '#ff5370' # Dark pink of the original material theme +# cyan: '#39adb5' +# white: '#a0a0a0' # Arbitrary +# +# # Bright colors +# bright: +# black: '#4e4e4e' # Arbitrary +# red: '#ff5370' +# green: '#c3e88d' +# yellow: '#ffcb6b' +# blue: '#82aaff' +# magenta: '#f07178' # Pink of the original material theme +# cyan: '#89ddff' +# white: '#ffffff' # Arbitrary + +# 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: [] + +# 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 + +# 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: 1.0 +#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 +# +# Values for `style`: +# - ▇ Block +# - _ Underline +# - | Beam +#style: Block + +# 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 + +# 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: +# - (macOS) /bin/bash --login +# - (Linux/BSD) user login shell +# - (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 + +# WinPTY backend (Windows only) +# +# Alacritty defaults to using the newer ConPTY backend if it is available, +# since it resolves a lot of bugs and is quite a bit faster. If it is not +# available, the WinPTY backend will be used instead. +# +# Setting this option to `true` makes Alacritty use the legacy WinPTY backend, +# even if the ConPTY backend is available. +#winpty_backend: false + +# Send ESC (\x1b) before characters when alt is pressed. +#alt_send_esc: 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 + +#url: +# URL launcher +# +# This program is executed when clicking on a text which is recognized as a +# URL. The URL is always added to the command as the last parameter. +# +# When set to `launcher: None`, URL launching will be disabled completely. +# +# Default: +# - (macOS) open +# - (Linux/BSD) xdg-open +# - (Windows) explorer +#launcher: +# program: xdg-open +# args: [] + +# URL modifiers +# +# These are the modifiers that need to be held down for opening URLs when +# clicking on them. The available modifiers are documented in the key +# binding section. +#modifiers: None + +# 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) +# +# And optionally: +# +# - `mods` (see key bindings) +#mouse_bindings: +# - { mouse: Middle, 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. +# - ClearLogNotice +# Clear Alacritty's UI warning and error notice. +# - ClearSelection +# Remove the active selection. +# - ReceiveChar +# - None +# +# - Vi mode exclusive actions: +# +# - Open +# Open URLs at the cursor location with the launcher configured in +# `url.launcher`. +# - 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. +# +# - 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 +# - 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, 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: Vi, action: ScrollToBottom } +#- { key: Space, mods: Shift|Control, action: ToggleViMode } +#- { key: Escape, mode: Vi, action: ClearSelection } +#- { key: I, mode: Vi, action: ScrollToBottom } +#- { key: I, mode: Vi, action: ToggleViMode } +#- { key: C, mods: Control, mode: Vi, action: ToggleViMode } +#- { key: Y, mods: Control, mode: Vi, action: ScrollLineUp } +#- { key: E, mods: Control, mode: Vi, action: ScrollLineDown } +#- { key: G, mode: Vi, action: ScrollToTop } +#- { key: G, mods: Shift, mode: Vi, action: ScrollToBottom } +#- { key: B, mods: Control, mode: Vi, action: ScrollPageUp } +#- { key: F, mods: Control, mode: Vi, action: ScrollPageDown } +#- { key: U, mods: Control, mode: Vi, action: ScrollHalfPageUp } +#- { key: D, mods: Control, mode: Vi, action: ScrollHalfPageDown } +#- { key: Y, mode: Vi, action: Copy } +#- { key: Y, mode: Vi, action: ClearSelection } +#- { key: Copy, mode: Vi, action: ClearSelection } +#- { key: V, mode: Vi, action: ToggleNormalSelection } +#- { key: V, mods: Shift, mode: Vi, action: ToggleLineSelection } +#- { key: V, mods: Control, mode: Vi, action: ToggleBlockSelection } +#- { key: V, mods: Alt, mode: Vi, action: ToggleSemanticSelection } +#- { key: Return, mode: Vi, action: Open } +#- { key: K, mode: Vi, action: Up } +#- { key: J, mode: Vi, action: Down } +#- { key: H, mode: Vi, action: Left } +#- { key: L, mode: Vi, action: Right } +#- { key: Up, mode: Vi, action: Up } +#- { key: Down, mode: Vi, action: Down } +#- { key: Left, mode: Vi, action: Left } +#- { key: Right, mode: Vi, action: Right } +#- { key: Key0, mode: Vi, action: First } +#- { key: Key4, mods: Shift, mode: Vi, action: Last } +#- { key: Key6, mods: Shift, mode: Vi, action: FirstOccupied } +#- { key: H, mods: Shift, mode: Vi, action: High } +#- { key: M, mods: Shift, mode: Vi, action: Middle } +#- { key: L, mods: Shift, mode: Vi, action: Low } +#- { key: B, mode: Vi, action: SemanticLeft } +#- { key: W, mode: Vi, action: SemanticRight } +#- { key: E, mode: Vi, action: SemanticRightEnd } +#- { key: B, mods: Shift, mode: Vi, action: WordLeft } +#- { key: W, mods: Shift, mode: Vi, action: WordRight } +#- { key: E, mods: Shift, mode: Vi, action: WordRightEnd } +#- { key: Key5, mods: Shift, mode: Vi, action: Bracket } +#- { key: Slash, mode: Vi, action: SearchForward } +#- { key: Slash, mods: Shift, mode: Vi, action: SearchBackward } +#- { key: N, mode: Vi, action: SearchNext } +#- { key: N, mods: Shift, mode: Vi, action: SearchPrevious } + +# (Windows, Linux, and BSD only) +#- { key: V, mods: Control|Shift, action: Paste } +#- { key: C, mods: Control|Shift, action: Copy } +#- { key: F, mods: Control|Shift, action: SearchForward } +#- { key: B, mods: Control|Shift, action: SearchBackward } +#- { key: C, mods: Control|Shift, mode: Vi, 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, chars: "\x0c" } +#- { 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: K, mods: Command, action: ClearHistory } +#- { key: V, mods: Command, action: Paste } +#- { key: C, mods: Command, action: Copy } +#- { key: C, mods: Command, mode: Vi, action: ClearSelection } +#- { key: H, mods: Command, action: Hide } +#- { 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, action: SearchForward } +#- { key: B, mods: Command, 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`: +# - None +# - Error +# - Warn +# - Info +# - Debug +# - Trace +#log_level: Warn + +# Print all received window events. +#print_events: false diff --git a/alacritty/alacritty.yml b/alacritty/alacritty.yml index 9451d46..9056fea 100644 --- a/alacritty/alacritty.yml +++ b/alacritty/alacritty.yml @@ -12,13 +12,13 @@ # 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 +# 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|xterm-256color" window: # Window dimensions (changes require restart) @@ -26,9 +26,9 @@ window: # 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 + dimensions: + columns: 180 + lines: 45 # Window position (changes require restart) # @@ -43,11 +43,11 @@ window: # 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: 10 - y: 10 + x: 0 + y: 0 - # Spread additional padding evenly around the terminal content. - dynamic_padding: true + # Spread additional padding evenly around the terminal content. + # dynamic_padding: true # Window decorations # @@ -72,17 +72,19 @@ window: #startup_mode: Windowed # Window title -title: Alacritty +title: + Alacritty # Allow terminal applications to change Alacritty's window title. -window.dynamic_title: true +window.dynamic_title: + true # Window class (Linux/BSD only): #class: - # Application instance name - #instance: Alacritty - # General application class - #general: Alacritty + # Application instance name + #instance: Alacritty + # General application class + #general: Alacritty # GTK theme variant (Linux/BSD only) # @@ -91,12 +93,12 @@ window.dynamic_title: true gtk_theme_variant: dark #scrolling: - # Maximum number of lines in the scrollback buffer. - # Specifying '0' will disable scrolling. - #history: 10000 +# Maximum number of lines in the scrollback buffer. +# Specifying '0' will disable scrolling. +#history: 10000 - # Scrolling distance multiplier. - #multiplier: 3 +# Scrolling distance multiplier. +#multiplier: 3 # Font configuration font: @@ -126,28 +128,28 @@ font: # 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: "FiraCode Nerd Font" + # Font family + # + # If the italic family is not specified, it will fall back to the + # value specified for the normal font. + # family: "FiraCode Nerd Font" - # The `style` can be specified to pick a specific face. - # style: Italic + # 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: "FiraCode Nerd Font" + # Font family + # + # If the bold italic family is not specified, it will fall back to the + # value specified for the normal font. + # family: "FiraCode Nerd Font" - # The `style` can be specified to pick a specific face. - # style: Bold Italic + # The `style` can be specified to pick a specific face. + # style: Bold Italic # Point size - size: 11.0 + size: 12.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 @@ -174,212 +176,217 @@ draw_bold_text_with_bright_colors: true # Colors (Tomorrow Night) #colors: - # Default colors - #primary: - # background: '#282c34' - # foreground: '#c5c8c6' +# Default colors +#primary: +# background: '#282c34' +# 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' +# 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 and CellBackground, which reference the - # affected cell, or hexadecimal colors like #ff00ff. - #cursor: - # text: CellBackground - # cursor: CellForeground +# Cursor colors +# +# Colors which should be used to draw the terminal cursor. +# +# Allowed values are CellForeground and 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 and CellBackground, which reference the - # affected cell, or hexadecimal colors like #ff00ff. - #vi_mode_cursor: - # text: CellBackground - # cursor: CellForeground +# Vi mode cursor colors +# +# Colors for the cursor when the vi mode is active. +# +# Allowed values are CellForeground and CellBackground, which reference the +# affected cell, or hexadecimal colors like #ff00ff. +#vi_mode_cursor: +# text: CellBackground +# cursor: CellForeground - # Selection colors - # - # Colors which should be used to draw the selection area. - # - # Allowed values are CellForeground and CellBackground, which reference the - # affected cell, or hexadecimal colors like #ff00ff. - #selection: - # text: CellBackground - # background: CellForeground +# Selection colors - # Search colors - # - # Colors used for the search bar and match highlighting. - #search: - # Allowed values are CellForeground and CellBackground, which reference the - # affected cell, or hexadecimal colors like #ff00ff. - #matches: - # foreground: '#000000' - # background: '#ffffff' +import: + # - ~/.config/alacritty/one_dark.yaml + # - ~/.config/alacritty/dracula.yaml + - ~/.config/alacritty/doom_one.yml - #bar: - # background: '#c5c8c6' - # foreground: '#1d1f21' +# +# Colors which should be used to draw the selection area. +# +# Allowed values are CellForeground and CellBackground, which reference the +# affected cell, or hexadecimal colors like #ff00ff. +#selection: +# text: CellBackground +# background: CellForeground - # Colors (One Dark) -colors: - primary: - background: '#282c34' - foreground: '#abb2bf' - cursor: - text: CellBackground - cursor: '#82aaff' # syntax-cursor-color - selection: - text: CellForeground - background: '#6d6d6d' # syntax-selection-color - normal: - black: '#464b55' - red: '#e06c75' - green: '#98c379' - yellow: '#e5c07b' - blue: '#296dff' - magenta: '#ff20ff' - cyan: '#56b6c2' - white: '#e6e6e6' - bright: - black: '#282c34' - red: '#ff5820' - green: '#b1e18b' - yellow: '#eee25a' - blue: '#2f71ff' - magenta: '#ff00ff' - cyan: '#63d4e0' - white: '#ffffff' - - # Colors (Material Theme) - # colors: - # # Default colors - # primary: - # background: '#263238' - # foreground: '#eeffff' - # - # # Normal colors - # normal: - # black: '#000000' # Arbitrary - # red: '#e53935' - # green: '#91b859' - # yellow: '#ffb62c' - # blue: '#6182b8' - # magenta: '#ff5370' # Dark pink of the original material theme - # cyan: '#39adb5' - # white: '#a0a0a0' # Arbitrary - # - # # Bright colors - # bright: - # black: '#4e4e4e' # Arbitrary - # red: '#ff5370' - # green: '#c3e88d' - # yellow: '#ffcb6b' - # blue: '#82aaff' - # magenta: '#f07178' # Pink of the original material theme - # cyan: '#89ddff' - # white: '#ffffff' # Arbitrary - - # 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: [] +# Search colors +# +# Colors used for the search bar and match highlighting. +#search: +# Allowed values are CellForeground and CellBackground, which reference the +# affected cell, or hexadecimal colors like #ff00ff. +#matches: +# foreground: '#000000' +# background: '#ffffff' + +#bar: +# background: '#c5c8c6' +# foreground: '#1d1f21' + +# Colors (One Dark) +# colors: +# primary: +# background: "#282c34" +# foreground: "#abb2bf" +# cursor: +# text: CellBackground +# cursor: "#82aaff" # syntax-cursor-color +# selection: +# text: CellForeground +# background: "#6d6d6d" # syntax-selection-color +# normal: +# black: "#464b55" +# red: "#e06c75" +# green: "#98c379" +# yellow: "#e5c07b" +# blue: "#296dff" +# magenta: "#ff20ff" +# cyan: "#56b6c2" +# white: "#e6e6e6" +# bright: +# black: "#282c34" +# red: "#ff5820" +# green: "#b1e18b" +# yellow: "#eee25a" +# blue: "#2f71ff" +# magenta: "#ff00ff" +# cyan: "#63d4e0" +# white: "#ffffff" + +# Colors (Material Theme) +# colors: +# # Default colors +# primary: +# background: '#263238' +# foreground: '#eeffff' +# +# # Normal colors +# normal: +# black: '#000000' # Arbitrary +# red: '#e53935' +# green: '#91b859' +# yellow: '#ffb62c' +# blue: '#6182b8' +# magenta: '#ff5370' # Dark pink of the original material theme +# cyan: '#39adb5' +# white: '#a0a0a0' # Arbitrary +# +# # Bright colors +# bright: +# black: '#4e4e4e' # Arbitrary +# red: '#ff5370' +# green: '#c3e88d' +# yellow: '#ffcb6b' +# blue: '#82aaff' +# magenta: '#f07178' # Pink of the original material theme +# cyan: '#89ddff' +# white: '#ffffff' # Arbitrary + +# 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: [] # 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 +# 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 +# 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' +# 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 +# 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 # 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: 1.0 - #selection: - # This string contains all characters that are used as separators for - # "semantic words" in Alacritty. - #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t" +# 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 +# When set to `true`, selected text will be copied to the primary clipboard. +#save_to_clipboard: false #cursor: - # Cursor style - # - # Values for `style`: - # - ▇ Block - # - _ Underline - # - | Beam - #style: Block +# Cursor style +# +# Values for `style`: +# - ▇ Block +# - _ Underline +# - | Beam +#style: Block - # 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 +# 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 - # If this is `true`, the cursor will be rendered as a hollow box when the - # window is not focused. - #unfocused_hollow: true +# 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 +# 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 @@ -419,39 +426,39 @@ background_opacity: 1.0 #alt_send_esc: 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 } +# 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 +# If this is `true`, the cursor is temporarily hidden when typing. +#hide_when_typing: false - #url: - # URL launcher - # - # This program is executed when clicking on a text which is recognized as a - # URL. The URL is always added to the command as the last parameter. - # - # When set to `launcher: None`, URL launching will be disabled completely. - # - # Default: - # - (macOS) open - # - (Linux/BSD) xdg-open - # - (Windows) explorer - #launcher: - # program: xdg-open - # args: [] +#url: +# URL launcher +# +# This program is executed when clicking on a text which is recognized as a +# URL. The URL is always added to the command as the last parameter. +# +# When set to `launcher: None`, URL launching will be disabled completely. +# +# Default: +# - (macOS) open +# - (Linux/BSD) xdg-open +# - (Windows) explorer +#launcher: +# program: xdg-open +# args: [] - # URL modifiers - # - # These are the modifiers that need to be held down for opening URLs when - # clicking on them. The available modifiers are documented in the key - # binding section. - #modifiers: None +# URL modifiers +# +# These are the modifiers that need to be held down for opening URLs when +# clicking on them. The available modifiers are documented in the key +# binding section. +#modifiers: None # Mouse bindings # @@ -667,119 +674,121 @@ background_opacity: 1.0 # 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, 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 } +#- { key: Paste, action: Paste } +#- { key: Copy, action: Copy } +#- { key: L, mods: Control, action: ClearLogNotice } +#- { key: L, mods: Control, mode: ~Vi, 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: Vi, action: ScrollToBottom } - #- { key: Space, mods: Shift|Control, action: ToggleViMode } - #- { key: Escape, mode: Vi, action: ClearSelection } - #- { key: I, mode: Vi, action: ScrollToBottom } - #- { key: I, mode: Vi, action: ToggleViMode } - #- { key: C, mods: Control, mode: Vi, action: ToggleViMode } - #- { key: Y, mods: Control, mode: Vi, action: ScrollLineUp } - #- { key: E, mods: Control, mode: Vi, action: ScrollLineDown } - #- { key: G, mode: Vi, action: ScrollToTop } - #- { key: G, mods: Shift, mode: Vi, action: ScrollToBottom } - #- { key: B, mods: Control, mode: Vi, action: ScrollPageUp } - #- { key: F, mods: Control, mode: Vi, action: ScrollPageDown } - #- { key: U, mods: Control, mode: Vi, action: ScrollHalfPageUp } - #- { key: D, mods: Control, mode: Vi, action: ScrollHalfPageDown } - #- { key: Y, mode: Vi, action: Copy } - #- { key: Y, mode: Vi, action: ClearSelection } - #- { key: Copy, mode: Vi, action: ClearSelection } - #- { key: V, mode: Vi, action: ToggleNormalSelection } - #- { key: V, mods: Shift, mode: Vi, action: ToggleLineSelection } - #- { key: V, mods: Control, mode: Vi, action: ToggleBlockSelection } - #- { key: V, mods: Alt, mode: Vi, action: ToggleSemanticSelection } - #- { key: Return, mode: Vi, action: Open } - #- { key: K, mode: Vi, action: Up } - #- { key: J, mode: Vi, action: Down } - #- { key: H, mode: Vi, action: Left } - #- { key: L, mode: Vi, action: Right } - #- { key: Up, mode: Vi, action: Up } - #- { key: Down, mode: Vi, action: Down } - #- { key: Left, mode: Vi, action: Left } - #- { key: Right, mode: Vi, action: Right } - #- { key: Key0, mode: Vi, action: First } - #- { key: Key4, mods: Shift, mode: Vi, action: Last } - #- { key: Key6, mods: Shift, mode: Vi, action: FirstOccupied } - #- { key: H, mods: Shift, mode: Vi, action: High } - #- { key: M, mods: Shift, mode: Vi, action: Middle } - #- { key: L, mods: Shift, mode: Vi, action: Low } - #- { key: B, mode: Vi, action: SemanticLeft } - #- { key: W, mode: Vi, action: SemanticRight } - #- { key: E, mode: Vi, action: SemanticRightEnd } - #- { key: B, mods: Shift, mode: Vi, action: WordLeft } - #- { key: W, mods: Shift, mode: Vi, action: WordRight } - #- { key: E, mods: Shift, mode: Vi, action: WordRightEnd } - #- { key: Key5, mods: Shift, mode: Vi, action: Bracket } - #- { key: Slash, mode: Vi, action: SearchForward } - #- { key: Slash, mods: Shift, mode: Vi, action: SearchBackward } - #- { key: N, mode: Vi, action: SearchNext } - #- { key: N, mods: Shift, mode: Vi, action: SearchPrevious } +# Vi Mode +#- { key: Space, mods: Shift|Control, mode: Vi, action: ScrollToBottom } +#- { key: Space, mods: Shift|Control, action: ToggleViMode } +#- { key: Escape, mode: Vi, action: ClearSelection } +#- { key: I, mode: Vi, action: ScrollToBottom } +#- { key: I, mode: Vi, action: ToggleViMode } +#- { key: C, mods: Control, mode: Vi, action: ToggleViMode } +#- { key: Y, mods: Control, mode: Vi, action: ScrollLineUp } +#- { key: E, mods: Control, mode: Vi, action: ScrollLineDown } +#- { key: G, mode: Vi, action: ScrollToTop } +#- { key: G, mods: Shift, mode: Vi, action: ScrollToBottom } +#- { key: B, mods: Control, mode: Vi, action: ScrollPageUp } +#- { key: F, mods: Control, mode: Vi, action: ScrollPageDown } +#- { key: U, mods: Control, mode: Vi, action: ScrollHalfPageUp } +#- { key: D, mods: Control, mode: Vi, action: ScrollHalfPageDown } +#- { key: Y, mode: Vi, action: Copy } +#- { key: Y, mode: Vi, action: ClearSelection } +#- { key: Copy, mode: Vi, action: ClearSelection } +#- { key: V, mode: Vi, action: ToggleNormalSelection } +#- { key: V, mods: Shift, mode: Vi, action: ToggleLineSelection } +#- { key: V, mods: Control, mode: Vi, action: ToggleBlockSelection } +#- { key: V, mods: Alt, mode: Vi, action: ToggleSemanticSelection } +#- { key: Return, mode: Vi, action: Open } +#- { key: K, mode: Vi, action: Up } +#- { key: J, mode: Vi, action: Down } +#- { key: H, mode: Vi, action: Left } +#- { key: L, mode: Vi, action: Right } +#- { key: Up, mode: Vi, action: Up } +#- { key: Down, mode: Vi, action: Down } +#- { key: Left, mode: Vi, action: Left } +#- { key: Right, mode: Vi, action: Right } +#- { key: Key0, mode: Vi, action: First } +#- { key: Key4, mods: Shift, mode: Vi, action: Last } +#- { key: Key6, mods: Shift, mode: Vi, action: FirstOccupied } +#- { key: H, mods: Shift, mode: Vi, action: High } +#- { key: M, mods: Shift, mode: Vi, action: Middle } +#- { key: L, mods: Shift, mode: Vi, action: Low } +#- { key: B, mode: Vi, action: SemanticLeft } +#- { key: W, mode: Vi, action: SemanticRight } +#- { key: E, mode: Vi, action: SemanticRightEnd } +#- { key: B, mods: Shift, mode: Vi, action: WordLeft } +#- { key: W, mods: Shift, mode: Vi, action: WordRight } +#- { key: E, mods: Shift, mode: Vi, action: WordRightEnd } +#- { key: Key5, mods: Shift, mode: Vi, action: Bracket } +#- { key: Slash, mode: Vi, action: SearchForward } +#- { key: Slash, mods: Shift, mode: Vi, action: SearchBackward } +#- { key: N, mode: Vi, action: SearchNext } +#- { key: N, mods: Shift, mode: Vi, action: SearchPrevious } - # (Windows, Linux, and BSD only) - #- { key: V, mods: Control|Shift, action: Paste } - #- { key: C, mods: Control|Shift, action: Copy } - #- { key: F, mods: Control|Shift, action: SearchForward } - #- { key: B, mods: Control|Shift, action: SearchBackward } - #- { key: C, mods: Control|Shift, mode: Vi, 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, Linux, and BSD only) +#- { key: V, mods: Control|Shift, action: Paste } +#- { key: C, mods: Control|Shift, action: Copy } +#- { key: F, mods: Control|Shift, action: SearchForward } +#- { key: B, mods: Control|Shift, action: SearchBackward } +#- { key: C, mods: Control|Shift, mode: Vi, 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 } +# (Windows only) +#- { key: Return, mods: Alt, action: ToggleFullscreen } - # (macOS only) - #- { key: K, mods: Command, mode: ~Vi, chars: "\x0c" } - #- { 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: K, mods: Command, action: ClearHistory } - #- { key: V, mods: Command, action: Paste } - #- { key: C, mods: Command, action: Copy } - #- { key: C, mods: Command, mode: Vi, action: ClearSelection } - #- { key: H, mods: Command, action: Hide } - #- { 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, action: SearchForward } - #- { key: B, mods: Command, action: SearchBackward } +# (macOS only) +#- { key: K, mods: Command, mode: ~Vi, chars: "\x0c" } +#- { 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: K, mods: Command, action: ClearHistory } +#- { key: V, mods: Command, action: Paste } +#- { key: C, mods: Command, action: Copy } +#- { key: C, mods: Command, mode: Vi, action: ClearSelection } +#- { key: H, mods: Command, action: Hide } +#- { 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, action: SearchForward } +#- { key: B, mods: Command, action: SearchBackward } +mouse_bindings: + - { mouse: Right, action: PasteSelection } #debug: - # Display the time it takes to redraw each frame. - #render_timer: false +# Display the time it takes to redraw each frame. +#render_timer: false - # Keep the log file after quitting Alacritty. - #persistent_logging: false +# Keep the log file after quitting Alacritty. +#persistent_logging: false - # Log level - # - # Values for `log_level`: - # - None - # - Error - # - Warn - # - Info - # - Debug - # - Trace - #log_level: Warn +# Log level +# +# Values for `log_level`: +# - None +# - Error +# - Warn +# - Info +# - Debug +# - Trace +#log_level: Warn - # Print all received window events. - #print_events: false +# Print all received window events. +#print_events: false diff --git a/alacritty/doom_one.yml b/alacritty/doom_one.yml new file mode 100644 index 0000000..f0f9ec4 --- /dev/null +++ b/alacritty/doom_one.yml @@ -0,0 +1,19 @@ +# Colors (Doom One) +colors: + # Default colors + primary: + background: "#282c34" + foreground: "#bbc2cf" + cursor: + text: CellBackground + cursor: "#82aaff" # syntax-cursor-color + # Normal colors + normal: + black: "#464b55" + red: "#ff6c6b" + green: "#98be65" + yellow: "#ecbe7b" + blue: "#51afef" + magenta: "#c678dd" + cyan: "#46d9ff" + white: "#bbc2cf" diff --git a/alacritty/dracula.yaml b/alacritty/dracula.yaml new file mode 100644 index 0000000..f060800 --- /dev/null +++ b/alacritty/dracula.yaml @@ -0,0 +1,28 @@ +# Colors (Dracula) +colors: + # Default colors + primary: + background: "#282a36" + foreground: "#f8f8f2" + + # Normal colors + normal: + black: "#000000" + red: "#ff5555" + green: "#50fa7b" + yellow: "#f1fa8c" + blue: "#bd93f9" + magenta: "#ff79c6" + cyan: "#8be9fd" + white: "#bbbbbb" + + # Bright colors + bright: + black: "#555555" + red: "#ff5555" + green: "#50fa7b" + yellow: "#f1fa8c" + blue: "#caa9fa" + magenta: "#ff79c6" + cyan: "#8be9fd" + white: "#ffffff" diff --git a/alacritty/one_dark.yaml b/alacritty/one_dark.yaml new file mode 100644 index 0000000..f3ee72a --- /dev/null +++ b/alacritty/one_dark.yaml @@ -0,0 +1,28 @@ +colors: + primary: + background: "#282c34" + foreground: "#abb2bf" + cursor: + text: CellBackground + cursor: "#82aaff" # syntax-cursor-color + selection: + text: CellForeground + background: "#6d6d6d" # syntax-selection-color + normal: + black: "#464b55" + red: "#e06c75" + green: "#98c379" + yellow: "#d19a66" + blue: "#1E90FF" + magenta: "#c678dd" + cyan: "#56b6c2" + white: "#bbc2cf" + bright: + black: "#5c6370" + red: "#e06c75" + green: "#98c379" + yellow: "#d19a66" + blue: "#61afef" + magenta: "#c678dd" + cyan: "#56b6c2" + white: "#ffffff" diff --git a/doom/config.el b/doom/config.el index bb39f78..88f36a4 100644 --- a/doom/config.el +++ b/doom/config.el @@ -33,22 +33,6 @@ ;; change `org-directory'. It must be set before org loads! (setq org-directory "~/org/") -;; This determines the style of line numbers in effect. If set to `nil', line -;; numbers are disabled. For relative line numbers, set this to `relative'. -(setq display-line-numbers-type t) - -(setq rainbow-delimiters-mode t) -(setq rainbow-mode t) -(setq confirm-kill-emacs nil) -(setq prettify-symbols-mode nil) -(setq global-prettify-symbols-mode nil) - -(setq browse-url-browser-function 'browse-url-firefox) - -(use-package wakatime-mode :ensure t) - - -(global-wakatime-mode) ;; Here are some additional functions/macros that could help you configure Doom: ;; @@ -68,6 +52,36 @@ ;; they are implemented. + +(setq python-prettify-symbols-alist + '(("lambda" . ?λ) + ("and" . ?∧) + ("or" . ?∨) + ("in" . ?∈) + ("for" . ?∀) + ("def" . ?ƒ) + ("int" . ?ℤ) + ("not" . ?¬))) + +(setq prettify-symbols-alist + '(("lambda" . ?λ) + ("&&" . ?∧) + ("||" . ?∨) + ("in" . ?∈) + ("for" . ?∀) + ("function" . ?ƒ) + ("int" . ?ℤ) + ("not" . ?¬))) + + +(use-package! wakatime-mode :ensure t) +(global-wakatime-mode) + + +(use-package! fira-code-mode + :hook prog-mode) + +;;; LSP (use-package! lsp :init (setq lsp-pyls-plugins-pylint-enabled t) @@ -76,6 +90,8 @@ (setq lsp-pyls-plugins-pyflakes-enabled t) ) +(lsp-ui-mode) + (use-package! lsp-mode :commands lsp @@ -84,42 +100,33 @@ (setq lsp-enable-folding t) -(add-hook 'python-mode 'python-pylint) - -(add-hook 'sh-mode-hook 'flycheck-mode) - - -; enable bash language server -;(setq lsp-auto-configure nil) - -(add-hook 'org-mode-hook #'org-bullets-mode) - -(add-hook 'before-save-hook 'py-isort-before-save) - -;; (setq python-shell-interpreter "ipython" -;; python-shell-interpreter-args "-i --simple-prompt --InteractiveShell.display_page=True") - (org-babel-do-load-languages 'org-babel-load-languages '((python . t))) +;; (setq python-shell-interpreter "ipython" +;; python-shell-interpreter-args "-i --simple-prompt --InteractiveShell.display_page=True") + (setf (lsp-session-folders-blacklist (lsp-session)) nil) (lsp--persist-session (lsp-session)) (advice-add 'lsp :before (lambda (&rest _args) (eval '(setf (lsp-session-server-id->folders (lsp-session)) (ht))))) +;;; all the icons (add-load-path! (expand-file-name "~/Downloads/all-the-icons-dired")) (load "all-the-icons-dired.el") (add-hook 'dired-mode-hook 'all-the-icons-dired-mode) +;;; peep dired (use-package! peep-dired :ensure t :defer t ; don't access `dired-mode-map' until `peep-dired' is loaded :bind (:map dired-mode-map ("P" . peep-dired))) +;;; company tabnine (use-package! company-tabnine :ensure t) @@ -127,10 +134,12 @@ (setq +lsp-company-backends '(company-tabnine :separate company-capf company-yasnippet company-shell)) (setq company-show-quick-access t) (setq company-idle-delay 0) + (define-key company-active-map (kbd "C-c h") #'company-quickhelp-manual-begin) ) (require 'company-tabnine) +;;; lsp jedi (use-package! lsp-jedi :ensure t) @@ -143,13 +152,73 @@ ;; (add-to-list 'company-backends 'company-jedi)) +;;; HOOKS + + +(add-hook 'python-mode 'python-pylint) +(add-hook 'sh-mode-hook 'flycheck-mode) + +; enable bash language server +;(setq lsp-auto-configure nil) + +(add-hook 'org-mode-hook #'org-bullets-mode) +(add-hook 'before-save-hook 'py-isort-before-save) + +;;; VARIABLES +;; This determines the style of line numbers in effect. If set to `nil', line +;; numbers are disabled. For relative line numbers, set this to `relative'. +(setq display-line-numbers-type t) +(setq rainbow-delimiters-mode t) +(setq rainbow-mode t) +(setq confirm-kill-emacs nil) +(setq prettify-symbols-mode nil) +(setq global-prettify-symbols-mode nil) +(setq browse-url-browser-function 'browse-url-firefox) + + (setq jedi:setup-keys t) (setq jedi:complete-on-dot t) (setq jedi:environment-virtualenv ["source", "./env/bin/activate"]) (setq jedi:key-complete ["Tab"]) -(add-hook 'python-mode-hook 'jedi:setup) - (setq format-all-debug nil) -;; (global-fira-code-mode) -;; Enable fira-code-mode automatically for programming major modes -(add-hook 'prog-mode-hook 'fira-code-mode) + +(setq lsp-ui-doc-position 'bottom) +(setq lsp-ui-doc-alignment 'window) +(setq lsp-ui-doc-max-height 25) +(setq lsp-ui-doc-max-width 350) +(setq lsp-ui-doc-mode t) +(setq lsp-ui-peek-mode t) +(setq lsp-ui-peek-enable t) +(setq lsp-ui-doc-delay 0.25) +(setq company-quickhelp-delay 0.5) +(setq lsp-jedi-python-library-directories '(/usr .env/lib/)) + + +;;; KEYBINDINGS + +(map! :leader + (:prefix ("o" . "+open") + :desc "Launch lsp-ui-imenu" + "i" #'lsp-ui-imenu)) + +(map! :leader + (:prefix ("c" . "+code") + :desc "LSP Peek" + (:prefix ("p" . "+peek") + :desc "Find references" + "r" #'lsp-ui-peek-find-references))) + +(map! :leader + (:prefix ("c" . "+code") + :desc "Peek definition of thing under the cursor" + (:prefix ("p" . "+peek") + :desc "Find definitions" + "d" #'lsp-ui-peek-find-definitions))) + +(map! :leader + :desc "nohls" + "s c" #'evil-ex-nohighlight) + +(map! :leader + :desc "Restart LSP server" + "c R" #'lsp-workspace-restart) diff --git a/doom/init.el b/doom/init.el index a1f1796..ce8dc07 100644 --- a/doom/init.el +++ b/doom/init.el @@ -16,22 +16,22 @@ (doom! :input ;;chinese - ;;japanese + japanese ;;layout ; auie,ctsrnm is the superior home row :completion - company ; the ultimate code completion backend + (company +childframe) ; the ultimate code completion backend ;;helm ; the *other* search engine for love and life ;;ido ; the other *other* search engine... ;;ivy ; a search engine for love and life - vertico ; the search engine of the future + (vertico +icons) ; the search engine of the future :ui - ;;deft ; notational velocity for Emacs + ;; deft ; notational velocity for Emacs doom ; what makes DOOM look the way it does doom-dashboard ; a nifty splash screen for Emacs doom-quit ; DOOM quit-message prompts when you quit Emacs - (emoji +unicode) ; 🙂 + (emoji +unicode +github +ascii) ; 🙂 hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW ;;hydra indent-guides ; highlighted indent columns diff --git a/doom/packages.el b/doom/packages.el index 3a93873..7414076 100644 --- a/doom/packages.el +++ b/doom/packages.el @@ -69,3 +69,5 @@ (package! peep-dired) (package! fira-code-mode) +(package! lsp-ui) +(package! company-quickhelp) diff --git a/scripts/emc b/scripts/emc new file mode 100755 index 0000000..7b50f69 --- /dev/null +++ b/scripts/emc @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +for filename in "$@"; do + emacsclient -n -c "$@" +done