first commit
This commit is contained in:
commit
d337afb250
31
.chezmoi.toml.tmpl
Normal file
31
.chezmoi.toml.tmpl
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{{- $email := "" -}}
|
||||||
|
{{- if hasKey . "email" -}}
|
||||||
|
{{- $email = .email -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- $email = promptString "email" -}}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{- $gitUser := "" -}}
|
||||||
|
{{- if hasKey . "gitUser" -}}
|
||||||
|
{{- $gitUser = .gitUser -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- $gitUser = promptString "gitUser" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- $jsLinter := promptString "jsLinter" -}}
|
||||||
|
{{- if eq $jsLinter "" -}}
|
||||||
|
{{- $jsLinter = "standard" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- $jsFixer := promptString "jsFixer" -}}
|
||||||
|
{{- if eq $jsFixer "" -}}
|
||||||
|
{{- $jsFixer = "standard" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
[data.gitconfig]
|
||||||
|
email = {{ $email | quote }}
|
||||||
|
username = {{ $gitUser | quote }}
|
||||||
|
|
||||||
|
[data.nvim]
|
||||||
|
js_linter = {{ $jsLinter | quote }}
|
||||||
|
js_fixer = {{ $jsFixer | quote }}
|
13
bin/executable_get-volume.sh
Normal file
13
bin/executable_get-volume.sh
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
muted=$(pactl get-sink-mute @DEFAULT_SINK@ | awk -F ' ' '{print $2}')
|
||||||
|
|
||||||
|
if [ $muted == "yes" ]; then
|
||||||
|
echo "{\"alt\": \"mute\", \"class\": \"muted\", \"tooltip\": \"muted\"}"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
VOL=$(pactl get-sink-volume @DEFAULT_SINK@ | grep Volume | awk -F' ' '{print $5}' | sed -e 's/%$//')
|
||||||
|
|
||||||
|
echo "{\"percentage\": $VOL, \"tooltip\": \"$VOL%\"}"
|
||||||
|
|
26
bin/executable_screenshot
Normal file
26
bin/executable_screenshot
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
# Get the picture from maim
|
||||||
|
# flameshot gui -r > $HOME/.cache/src.png &
|
||||||
|
grim -g "$(slurp)" $HOME/ramdisk/src.png &
|
||||||
|
wait $!
|
||||||
|
|
||||||
|
# add shadow, round corner, border and watermark
|
||||||
|
convert $HOME/ramdisk/src.png \
|
||||||
|
\( +clone -alpha extract \
|
||||||
|
-draw 'fill black polygon 0,0 0,8 8,0 fill white circle 8,8 8,0' \
|
||||||
|
\( +clone -flip \) -compose Multiply -composite \
|
||||||
|
\( +clone -flop \) -compose Multiply -composite \
|
||||||
|
\) -alpha off -compose CopyOpacity -composite $HOME/ramdisk/output.png
|
||||||
|
|
||||||
|
convert $HOME/ramdisk/output.png -bordercolor none -border 20 \( +clone -background black -shadow 80x8+15+15 \) \
|
||||||
|
+swap -background transparent -layers merge +repage $HOME/ramdisk/des.png
|
||||||
|
|
||||||
|
# composite -gravity South ~/.local/bin/watermark.png $HOME/ramdisk/des.png $HOME/ramdisk/des.png
|
||||||
|
|
||||||
|
# Send the Picture to clipboard
|
||||||
|
# xclip -selection clipboard -t image/png -i $HOME/ramdisk/des.png
|
||||||
|
wl-copy -t image/png < $HOME/ramdisk/des.png
|
||||||
|
|
||||||
|
# remove the other pictures
|
||||||
|
rm $HOME/ramdisk/src.png $HOME/ramdisk/output.png
|
26
bin/executable_screenshot-monitor
Normal file
26
bin/executable_screenshot-monitor
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
# Get the picture from maim
|
||||||
|
# flameshot gui -r > $HOME/.cache/src.png &
|
||||||
|
grim -g "$(slurp -or)" $HOME/ramdisk/src.png &
|
||||||
|
wait $!
|
||||||
|
|
||||||
|
# add shadow, round corner, border and watermark
|
||||||
|
convert $HOME/ramdisk/src.png \
|
||||||
|
\( +clone -alpha extract \
|
||||||
|
-draw 'fill black polygon 0,0 0,8 8,0 fill white circle 8,8 8,0' \
|
||||||
|
\( +clone -flip \) -compose Multiply -composite \
|
||||||
|
\( +clone -flop \) -compose Multiply -composite \
|
||||||
|
\) -alpha off -compose CopyOpacity -composite $HOME/ramdisk/output.png
|
||||||
|
|
||||||
|
convert $HOME/ramdisk/output.png -bordercolor none -border 20 \( +clone -background black -shadow 80x8+15+15 \) \
|
||||||
|
+swap -background transparent -layers merge +repage $HOME/ramdisk/des.png
|
||||||
|
|
||||||
|
# composite -gravity South ~/.local/bin/watermark.png $HOME/ramdisk/des.png $HOME/ramdisk/des.png
|
||||||
|
|
||||||
|
# Send the Picture to clipboard
|
||||||
|
# xclip -selection clipboard -t image/png -i $HOME/ramdisk/des.png
|
||||||
|
wl-copy -t image/png < $HOME/ramdisk/des.png
|
||||||
|
|
||||||
|
# remove the other pictures
|
||||||
|
rm $HOME/ramdisk/src.png $HOME/ramdisk/output.png
|
874
dot_config/alacritty/alacritty.yml
Normal file
874
dot_config/alacritty/alacritty.yml
Normal file
@ -0,0 +1,874 @@
|
|||||||
|
# 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: xterm-256color
|
||||||
|
|
||||||
|
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: 210
|
||||||
|
# lines: 65
|
||||||
|
|
||||||
|
# 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: 1
|
||||||
|
y: 1
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Startup Mode (changes require restart)
|
||||||
|
#
|
||||||
|
# Values for `startup_mode`:
|
||||||
|
# - Windowed
|
||||||
|
# - Maximized
|
||||||
|
# - Fullscreen
|
||||||
|
#
|
||||||
|
# Values for `startup_mode` (macOS only):
|
||||||
|
# - SimpleFullscreen
|
||||||
|
#startup_mode: Windowed
|
||||||
|
|
||||||
|
opacity: 0.85
|
||||||
|
|
||||||
|
# Window title
|
||||||
|
#title: Alacritty
|
||||||
|
|
||||||
|
# Allow terminal applications to change Alacritty's window title.
|
||||||
|
#dynamic_title: true
|
||||||
|
|
||||||
|
# Window class (Linux/BSD only):
|
||||||
|
#class:
|
||||||
|
# Application instance name
|
||||||
|
#instance: Alacritty
|
||||||
|
# General application class
|
||||||
|
#general: Alacritty
|
||||||
|
|
||||||
|
# GTK theme variant (Linux/BSD only)
|
||||||
|
#
|
||||||
|
# Override the variant of the GTK theme. Commonly supported values are `dark`
|
||||||
|
# and `light`. Set this to `None` to use the default theme variant.
|
||||||
|
#gtk_theme_variant: 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: JetBrainsMono 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: monospace
|
||||||
|
|
||||||
|
# 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: monospace
|
||||||
|
|
||||||
|
# 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: monospace
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
#style: Bold Italic
|
||||||
|
|
||||||
|
# Point size
|
||||||
|
size: 7.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: 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'
|
||||||
|
|
||||||
|
#bar:
|
||||||
|
# background: '#c5c8c6'
|
||||||
|
# foreground: '#1d1f21'
|
||||||
|
|
||||||
|
# Keyboard regex hints
|
||||||
|
#hints:
|
||||||
|
# First character in the hint label
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#start:
|
||||||
|
# foreground: '#1d1f21'
|
||||||
|
# background: '#e9ff5e'
|
||||||
|
|
||||||
|
# All characters after the first one in the hint label
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#end:
|
||||||
|
# foreground: '#e9ff5e'
|
||||||
|
# background: '#1d1f21'
|
||||||
|
|
||||||
|
# Line indicator
|
||||||
|
#
|
||||||
|
# Color used for the indicator displaying the position in history during
|
||||||
|
# search and vi mode.
|
||||||
|
#
|
||||||
|
# By default, these will use the opposing primary color.
|
||||||
|
#line_indicator:
|
||||||
|
# foreground: None
|
||||||
|
# background: None
|
||||||
|
|
||||||
|
# Selection colors
|
||||||
|
#
|
||||||
|
# Colors which should be used to draw the selection area.
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#selection:
|
||||||
|
# text: CellBackground
|
||||||
|
# background: CellForeground
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
#normal:
|
||||||
|
# black: '#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: []
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Regex hints
|
||||||
|
#
|
||||||
|
# Terminal hints can be used to find text in the visible part of the terminal
|
||||||
|
# and pipe it to other applications.
|
||||||
|
#hints:
|
||||||
|
# Keys used for the hint labels.
|
||||||
|
#alphabet: "jfkdls;ahgurieowpq"
|
||||||
|
|
||||||
|
# List with all available hints
|
||||||
|
#
|
||||||
|
# Each hint must have a `regex` and either an `action` or a `command` field.
|
||||||
|
# The fields `mouse`, `binding` and `post_processing` are optional.
|
||||||
|
#
|
||||||
|
# The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
|
||||||
|
# `mouse.mods` accept the same values as they do in the `key_bindings` section.
|
||||||
|
#
|
||||||
|
# The `mouse.enabled` field controls if the hint should be underlined while
|
||||||
|
# the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
|
||||||
|
#
|
||||||
|
# If the `post_processing` field is set to `true`, heuristics will be used to
|
||||||
|
# shorten the match if there are characters likely not to be part of the hint
|
||||||
|
# (e.g. a trailing `.`). This is most useful for URIs.
|
||||||
|
#
|
||||||
|
# Values for `action`:
|
||||||
|
# - Copy
|
||||||
|
# Copy the hint's text to the clipboard.
|
||||||
|
# - Paste
|
||||||
|
# Paste the hint's text to the terminal or search.
|
||||||
|
# - Select
|
||||||
|
# Select the hint's text.
|
||||||
|
# - MoveViModeCursor
|
||||||
|
# Move the vi mode cursor to the beginning of the hint.
|
||||||
|
#enabled:
|
||||||
|
# - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
|
||||||
|
# [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
|
||||||
|
# command: xdg-open
|
||||||
|
# post_processing: true
|
||||||
|
# mouse:
|
||||||
|
# enabled: true
|
||||||
|
# mods: None
|
||||||
|
# binding:
|
||||||
|
# key: U
|
||||||
|
# mods: Control|Shift
|
||||||
|
|
||||||
|
# Mouse bindings
|
||||||
|
#
|
||||||
|
# Mouse bindings are specified as a list of objects, much like the key
|
||||||
|
# bindings further below.
|
||||||
|
#
|
||||||
|
# To trigger mouse bindings when an application running within Alacritty
|
||||||
|
# captures the mouse, the `Shift` modifier is automatically added as a
|
||||||
|
# requirement.
|
||||||
|
#
|
||||||
|
# Each mouse binding will specify a:
|
||||||
|
#
|
||||||
|
# - `mouse`:
|
||||||
|
#
|
||||||
|
# - Middle
|
||||||
|
# - Left
|
||||||
|
# - Right
|
||||||
|
# - Numeric identifier such as `5`
|
||||||
|
#
|
||||||
|
# - `action` (see key bindings)
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
# Perform the action of the first matching hint under the vi mode cursor
|
||||||
|
# with `mouse.enabled` set to `true`.
|
||||||
|
# - ToggleNormalSelection
|
||||||
|
# - ToggleLineSelection
|
||||||
|
# - ToggleBlockSelection
|
||||||
|
# - ToggleSemanticSelection
|
||||||
|
# Toggle semantic selection based on `selection.semantic_escape_chars`.
|
||||||
|
#
|
||||||
|
# - Vi mode exclusive cursor motion actions:
|
||||||
|
#
|
||||||
|
# - Up
|
||||||
|
# One line up.
|
||||||
|
# - Down
|
||||||
|
# One line down.
|
||||||
|
# - Left
|
||||||
|
# One character left.
|
||||||
|
# - Right
|
||||||
|
# One character right.
|
||||||
|
# - First
|
||||||
|
# First column, or beginning of the line when already at the first column.
|
||||||
|
# - Last
|
||||||
|
# Last column, or beginning of the line when already at the last column.
|
||||||
|
# - FirstOccupied
|
||||||
|
# First non-empty cell in this terminal row, or first non-empty cell of
|
||||||
|
# the line when already at the first cell of the row.
|
||||||
|
# - High
|
||||||
|
# Top of the screen.
|
||||||
|
# - Middle
|
||||||
|
# Center of the screen.
|
||||||
|
# - Low
|
||||||
|
# Bottom of the screen.
|
||||||
|
# - SemanticLeft
|
||||||
|
# Start of the previous semantically separated word.
|
||||||
|
# - SemanticRight
|
||||||
|
# Start of the next semantically separated word.
|
||||||
|
# - SemanticLeftEnd
|
||||||
|
# End of the previous semantically separated word.
|
||||||
|
# - SemanticRightEnd
|
||||||
|
# End of the next semantically separated word.
|
||||||
|
# - WordLeft
|
||||||
|
# Start of the previous whitespace separated word.
|
||||||
|
# - WordRight
|
||||||
|
# Start of the next whitespace separated word.
|
||||||
|
# - WordLeftEnd
|
||||||
|
# End of the previous whitespace separated word.
|
||||||
|
# - WordRightEnd
|
||||||
|
# End of the next whitespace separated word.
|
||||||
|
# - Bracket
|
||||||
|
# Character matching the bracket at the cursor's location.
|
||||||
|
# - SearchNext
|
||||||
|
# Beginning of the next match.
|
||||||
|
# - SearchPrevious
|
||||||
|
# Beginning of the previous match.
|
||||||
|
# - SearchStart
|
||||||
|
# Start of the match to the left of the vi mode cursor.
|
||||||
|
# - SearchEnd
|
||||||
|
# End of the match to the right of the vi mode cursor.
|
||||||
|
#
|
||||||
|
# - Search mode exclusive actions:
|
||||||
|
# - SearchFocusNext
|
||||||
|
# Move the focus to the next search match.
|
||||||
|
# - SearchFocusPrevious
|
||||||
|
# Move the focus to the previous search match.
|
||||||
|
# - SearchConfirm
|
||||||
|
# - SearchCancel
|
||||||
|
# - SearchClear
|
||||||
|
# Reset the search regex.
|
||||||
|
# - SearchDeleteWord
|
||||||
|
# Delete the last word in the search regex.
|
||||||
|
# - SearchHistoryPrevious
|
||||||
|
# Go to the previous regex in the search history.
|
||||||
|
# - SearchHistoryNext
|
||||||
|
# Go to the next regex in the search history.
|
||||||
|
#
|
||||||
|
# - macOS exclusive actions:
|
||||||
|
# - ToggleSimpleFullscreen
|
||||||
|
# Enter fullscreen without occupying another space.
|
||||||
|
#
|
||||||
|
# - Linux/BSD exclusive actions:
|
||||||
|
#
|
||||||
|
# - CopySelection
|
||||||
|
# Copy from the selection buffer.
|
||||||
|
# - PasteSelection
|
||||||
|
# Paste from the selection buffer.
|
||||||
|
#
|
||||||
|
# - `command`: Fork and execute a specified command plus arguments
|
||||||
|
#
|
||||||
|
# The `command` field must be a map containing a `program` string and an
|
||||||
|
# `args` array of command line parameter strings. For example:
|
||||||
|
# `{ program: "alacritty", args: ["-e", "vttest"] }`
|
||||||
|
#
|
||||||
|
# And optionally:
|
||||||
|
#
|
||||||
|
# - `mods`: Key modifiers to filter binding actions
|
||||||
|
#
|
||||||
|
# - Command
|
||||||
|
# - Control
|
||||||
|
# - Option
|
||||||
|
# - Super
|
||||||
|
# - Shift
|
||||||
|
# - Alt
|
||||||
|
#
|
||||||
|
# Multiple `mods` can be combined using `|` like this:
|
||||||
|
# `mods: Control|Shift`.
|
||||||
|
# Whitespace and capitalization are relevant and must match the example.
|
||||||
|
#
|
||||||
|
# - `mode`: Indicate a binding for only specific terminal reported modes
|
||||||
|
#
|
||||||
|
# This is mainly used to send applications the correct escape sequences
|
||||||
|
# when in different modes.
|
||||||
|
#
|
||||||
|
# - AppCursor
|
||||||
|
# - AppKeypad
|
||||||
|
# - Search
|
||||||
|
# - Alt
|
||||||
|
# - Vi
|
||||||
|
#
|
||||||
|
# A `~` operator can be used before a mode to apply the binding whenever
|
||||||
|
# the mode is *not* active, e.g. `~Alt`.
|
||||||
|
#
|
||||||
|
# Bindings are always filled by default, but will be replaced when a new
|
||||||
|
# binding with the same triggers is defined. To unset a default binding, it can
|
||||||
|
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
|
||||||
|
# a no-op if you do not wish to receive input characters for that binding.
|
||||||
|
#
|
||||||
|
# If the same trigger is assigned to multiple actions, all of them are executed
|
||||||
|
# in the order they were defined in.
|
||||||
|
# key_bindings:
|
||||||
|
# - { key: A, mods: Alt, chars: '\x1ba' }
|
||||||
|
# - { key: B, mods: Alt, chars: '\x1bb' }
|
||||||
|
# - { key: C, mods: Alt, chars: '\x1bc' }
|
||||||
|
# - { key: D, mods: Alt, chars: '\x1bd' }
|
||||||
|
# - { key: E, mods: Alt, chars: '\x1be' }
|
||||||
|
# - { key: F, mods: Alt, chars: '\x1bf' }
|
||||||
|
# - { key: G, mods: Alt, chars: '\x1bg' }
|
||||||
|
# - { key: H, mods: Alt, chars: '\x1bh' }
|
||||||
|
# - { key: I, mods: Alt, chars: '\x1bi' }
|
||||||
|
# - { key: J, mods: Alt, chars: '\x1bj' }
|
||||||
|
# - { key: K, mods: Alt, chars: '\x1bk' }
|
||||||
|
# - { key: L, mods: Alt, chars: '\x1bl' }
|
||||||
|
# - { key: M, mods: Alt, chars: '\x1bm' }
|
||||||
|
# - { key: N, mods: Alt, chars: '\x1bn' }
|
||||||
|
# - { key: O, mods: Alt, chars: '\x1bo' }
|
||||||
|
# - { key: P, mods: Alt, chars: '\x1bp' }
|
||||||
|
# - { key: Q, mods: Alt, chars: '\x1bq' }
|
||||||
|
# - { key: R, mods: Alt, chars: '\x1br' }
|
||||||
|
# - { key: S, mods: Alt, chars: '\x1bs' }
|
||||||
|
# - { key: T, mods: Alt, chars: '\x1bt' }
|
||||||
|
# - { key: U, mods: Alt, chars: '\x1bu' }
|
||||||
|
# - { key: V, mods: Alt, chars: '\x1bv' }
|
||||||
|
# - { key: W, mods: Alt, chars: '\x1bw' }
|
||||||
|
# - { key: X, mods: Alt, chars: '\x1bx' }
|
||||||
|
# - { key: Y, mods: Alt, chars: '\x1by' }
|
||||||
|
# - { key: Z, mods: Alt, chars: '\x1bz' }
|
||||||
|
#- { 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: 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: SpawnNewInstance }
|
||||||
|
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
|
||||||
|
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
|
||||||
|
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
|
||||||
|
|
||||||
|
#debug:
|
||||||
|
# Display the time it takes to redraw each frame.
|
||||||
|
#render_timer: false
|
||||||
|
|
||||||
|
# Keep the log file after quitting Alacritty.
|
||||||
|
#persistent_logging: false
|
||||||
|
|
||||||
|
# Log level
|
||||||
|
#
|
||||||
|
# Values for `log_level`:
|
||||||
|
# - Off
|
||||||
|
# - Error
|
||||||
|
# - Warn
|
||||||
|
# - Info
|
||||||
|
# - Debug
|
||||||
|
# - Trace
|
||||||
|
#log_level: Warn
|
||||||
|
|
||||||
|
# Print all received window events.
|
||||||
|
#print_events: false
|
10
dot_config/environment.d/wayland.conf
Normal file
10
dot_config/environment.d/wayland.conf
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
|
||||||
|
GTK_IM_MODULE=fcitx
|
||||||
|
QT_IM_MODULE=fcitx
|
||||||
|
XMODIFIERS=@im=fcitx
|
||||||
|
GLFW_IM_MODULE=fcitx
|
||||||
|
SDL_IM_MODULE=fcitx
|
||||||
|
MOZ_ENABLE_WAYLAND=1
|
||||||
|
#XDG_CURRENT_DESKTOP=sway
|
||||||
|
#XDG_SESSION_DESKTOP=sway
|
||||||
|
RTC_USE_PIPEWIRE=true
|
507
dot_config/nvim/init.vim.tmpl
Normal file
507
dot_config/nvim/init.vim.tmpl
Normal file
@ -0,0 +1,507 @@
|
|||||||
|
"*****************************************************************************
|
||||||
|
""" Vim-Plug core
|
||||||
|
"*****************************************************************************
|
||||||
|
let vimplug_exists=expand('~/.config/nvim/autoload/plug.vim')
|
||||||
|
let curl_exists=expand('curl')
|
||||||
|
|
||||||
|
if !filereadable(vimplug_exists)
|
||||||
|
if !executable(curl_exists)
|
||||||
|
echoerr "You have to install curl or first install vim-plug yourself!"
|
||||||
|
execute "q!"
|
||||||
|
endif
|
||||||
|
echo "Installing Vim-Plug..."
|
||||||
|
echo ""
|
||||||
|
silent exec "!"curl_exists" -fLo " . shellescape(vimplug_exists) . " --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
|
||||||
|
let g:not_finish_vimplug = "yes"
|
||||||
|
|
||||||
|
autocmd VimEnter * PlugInstall
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Required:
|
||||||
|
call plug#begin(expand('~/.config/nvim/plugged'))
|
||||||
|
|
||||||
|
Plug 'neovim/nvim-lspconfig'
|
||||||
|
Plug 'hrsh7th/nvim-cmp'
|
||||||
|
Plug 'hrsh7th/cmp-nvim-lsp'
|
||||||
|
Plug 'hrsh7th/cmp-buffer'
|
||||||
|
Plug 'hrsh7th/cmp-path'
|
||||||
|
Plug 'hrsh7th/cmp-cmdline'
|
||||||
|
" For vsnip users.
|
||||||
|
Plug 'hrsh7th/cmp-vsnip'
|
||||||
|
Plug 'hrsh7th/vim-vsnip'
|
||||||
|
|
||||||
|
Plug 'ray-x/lsp_signature.nvim'
|
||||||
|
|
||||||
|
Plug 'tomasr/molokai'
|
||||||
|
Plug 'scrooloose/nerdcommenter'
|
||||||
|
Plug 'vim-scripts/DrawIt'
|
||||||
|
|
||||||
|
Plug 'easymotion/vim-easymotion'
|
||||||
|
Plug 'mattn/emmet-vim'
|
||||||
|
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
|
||||||
|
Plug 'pangloss/vim-javascript'
|
||||||
|
" tagbar
|
||||||
|
" golang install go get -u github.com/jstemmer/gotags
|
||||||
|
Plug 'majutsushi/tagbar'
|
||||||
|
Plug 'w0rp/ale'
|
||||||
|
Plug 'godlygeek/tabular'
|
||||||
|
Plug 'plasticboy/vim-markdown'
|
||||||
|
Plug 'ctrlpvim/ctrlp.vim'
|
||||||
|
|
||||||
|
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
|
||||||
|
Plug 'junegunn/fzf.vim'
|
||||||
|
|
||||||
|
" defx file explorer
|
||||||
|
" require python package pynvim
|
||||||
|
" install `pip3 install --user pynvim`
|
||||||
|
" Plug 'Shougo/defx.nvim', { 'do': ':UpdateRemotePlugins' }
|
||||||
|
|
||||||
|
Plug 'kyazdani42/nvim-web-devicons' " for file icons
|
||||||
|
Plug 'kyazdani42/nvim-tree.lua'
|
||||||
|
|
||||||
|
Plug 'vim-airline/vim-airline'
|
||||||
|
Plug 'kien/tabman.vim'
|
||||||
|
|
||||||
|
" for git
|
||||||
|
Plug 'tpope/vim-fugitive'
|
||||||
|
Plug 'christoomey/vim-conflicted'
|
||||||
|
|
||||||
|
" for mark
|
||||||
|
Plug 'inkarkat/vim-ingo-library'
|
||||||
|
Plug 'inkarkat/vim-mark'
|
||||||
|
|
||||||
|
Plug 'rking/ag.vim'
|
||||||
|
Plug 'terryma/vim-multiple-cursors'
|
||||||
|
|
||||||
|
Plug 'lukas-reineke/indent-blankline.nvim'
|
||||||
|
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
|
||||||
|
|
||||||
|
" temp plugin
|
||||||
|
Plug 'tpope/vim-surround'
|
||||||
|
Plug 'buoto/gotests-vim'
|
||||||
|
Plug 'chr4/nginx.vim'
|
||||||
|
Plug 'cespare/vim-toml'
|
||||||
|
Plug 'zah/nim.vim'
|
||||||
|
Plug 'rust-lang/rust.vim'
|
||||||
|
Plug 'danilo-augusto/vim-afterglow'
|
||||||
|
Plug 'vim-scripts/TaskList.vim'
|
||||||
|
Plug 'google/vim-jsonnet'
|
||||||
|
|
||||||
|
call plug#end()
|
||||||
|
|
||||||
|
syntax on
|
||||||
|
set number
|
||||||
|
set tabstop=2
|
||||||
|
set shiftwidth=2
|
||||||
|
set expandtab
|
||||||
|
set nofoldenable
|
||||||
|
set pastetoggle=<F2>
|
||||||
|
" always show status
|
||||||
|
set laststatus=2
|
||||||
|
" show cursor position
|
||||||
|
set ruler
|
||||||
|
set cursorline
|
||||||
|
set cursorcolumn
|
||||||
|
set hlsearch
|
||||||
|
" no wrap line
|
||||||
|
set nowrap
|
||||||
|
" enable backspace
|
||||||
|
set backspace=indent,eol,start
|
||||||
|
set encoding=utf-8
|
||||||
|
set completeopt=menu,menuone,noselect
|
||||||
|
set noswapfile
|
||||||
|
set mouse=
|
||||||
|
|
||||||
|
" set guifont=Hack\ Nerd\ Font:h11
|
||||||
|
|
||||||
|
set background=dark
|
||||||
|
|
||||||
|
function! AdaptColorscheme()
|
||||||
|
highlight clear CursorLine
|
||||||
|
highlight Normal ctermbg=none
|
||||||
|
highlight LineNr ctermbg=none
|
||||||
|
highlight Folded ctermbg=none
|
||||||
|
highlight NonText ctermbg=none
|
||||||
|
highlight SpecialKey ctermbg=none
|
||||||
|
highlight VertSplit ctermbg=none
|
||||||
|
highlight SignColumn ctermbg=none
|
||||||
|
endfunction
|
||||||
|
autocmd ColorScheme * call AdaptColorscheme()
|
||||||
|
|
||||||
|
" colorscheme turtles
|
||||||
|
colorscheme afterglow
|
||||||
|
|
||||||
|
|
||||||
|
" define leader key
|
||||||
|
let mapleader=";"
|
||||||
|
filetype indent on
|
||||||
|
" 開啟檔案類型偵測
|
||||||
|
filetype on
|
||||||
|
" 根據檔案類型載入plugin
|
||||||
|
filetype plugin on
|
||||||
|
|
||||||
|
" split window
|
||||||
|
nmap <leader>sw <c-w>
|
||||||
|
nmap <leader>sww <c-w>k
|
||||||
|
nmap <leader>sws <c-w>j
|
||||||
|
nmap <leader>swa <c-w>h
|
||||||
|
nmap <leader>swd <c-w>l
|
||||||
|
|
||||||
|
nnoremap <leader>fl :Lines
|
||||||
|
nnoremap <leader>fb :BLines
|
||||||
|
nnoremap <leader>ff :Files
|
||||||
|
nnoremap <leader>fg :GFiles
|
||||||
|
nnoremap <leader>f? :GFiles?
|
||||||
|
nnoremap <leader>ft :Tags<cr>
|
||||||
|
nnoremap <leader>fa :Ag
|
||||||
|
nnoremap <leader>fc :Commits
|
||||||
|
|
||||||
|
nmap <leader>aa gT
|
||||||
|
nmap <leader>dd gt
|
||||||
|
|
||||||
|
nnoremap <leader>me :NvimTreeToggle<CR>
|
||||||
|
nnoremap <F3> :NvimTreeToggle<CR>
|
||||||
|
|
||||||
|
|
||||||
|
function! TabCloseRight(bang)
|
||||||
|
let cur=tabpagenr()
|
||||||
|
while cur < tabpagenr('$')
|
||||||
|
exe 'tabclose' . a:bang . ' ' . (cur + 1)
|
||||||
|
endwhile
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! TabCloseLeft(bang)
|
||||||
|
while tabpagenr() > 1
|
||||||
|
exe 'tabclose' . a:bang . ' 1'
|
||||||
|
endwhile
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
command! -bang Tabcloseright call TabCloseRight('<bang>')
|
||||||
|
command! -bang Tabcloseleft call TabCloseLeft('<bang>')
|
||||||
|
|
||||||
|
" tagbar
|
||||||
|
nmap <F8> :TagbarToggle<CR>
|
||||||
|
nmap <F9> :%!jq .<CR>
|
||||||
|
|
||||||
|
" NeoComplete
|
||||||
|
let g:neocomplete#enable_at_startup = 1
|
||||||
|
|
||||||
|
let g:airline_powerline_fonts = 1
|
||||||
|
|
||||||
|
" <Leader>f{char} to move to {char}
|
||||||
|
map <Leader>f <Plug>(easymotion-bd-f)
|
||||||
|
nmap <Leader>f <Plug>(easymotion-overwin-f)
|
||||||
|
" s{char}{char} to move to {char}{char}
|
||||||
|
nmap s <Plug>(easymotion-overwin-f2)
|
||||||
|
" Move to line
|
||||||
|
map <Leader>L <Plug>(easymotion-bd-jk)
|
||||||
|
nmap <Leader>L <Plug>(easymotion-overwin-line)
|
||||||
|
" Move to word
|
||||||
|
map <Leader>w <Plug>(easymotion-bd-w)
|
||||||
|
nmap <Leader>w <Plug>(easymotion-overwin-w)
|
||||||
|
|
||||||
|
" lint
|
||||||
|
let g:ale_linters = {
|
||||||
|
\ 'javascript': ["{{ if .nvim.js_linter }}{{- .nvim.js_linter }}{{ else }}standard{{ end }}"],
|
||||||
|
\ 'go': ['gopls'],
|
||||||
|
\ 'rust': ['analyzer'],
|
||||||
|
\}
|
||||||
|
let g:ale_fixers = {'javascript': ["{{ if .nvim.js_fixer }}{{- .nvim.js_fixer }}{{ else }}standard{{ end }}"]}
|
||||||
|
let g:ale_linters_explicit = 1
|
||||||
|
let g:ale_lint_on_save = 1
|
||||||
|
let g:ale_fix_on_save = 1
|
||||||
|
nmap <leader>= <Plug>(ale_fix)
|
||||||
|
|
||||||
|
" NERDCommenter
|
||||||
|
let g:NERDSpaceDelims=1
|
||||||
|
let g:NERDDefaultAlign='left'
|
||||||
|
|
||||||
|
let g:tagbar_type_go = {
|
||||||
|
\ 'ctagstype' : 'go',
|
||||||
|
\ 'kinds' : [
|
||||||
|
\ 'p:package',
|
||||||
|
\ 'i:imports:1',
|
||||||
|
\ 'c:constants',
|
||||||
|
\ 'v:variables',
|
||||||
|
\ 't:types',
|
||||||
|
\ 'n:interfaces',
|
||||||
|
\ 'w:fields',
|
||||||
|
\ 'e:embedded',
|
||||||
|
\ 'm:methods',
|
||||||
|
\ 'r:constructor',
|
||||||
|
\ 'f:functions'
|
||||||
|
\ ],
|
||||||
|
\ 'sro' : '.',
|
||||||
|
\ 'kind2scope' : {
|
||||||
|
\ 't' : 'ctype',
|
||||||
|
\ 'n' : 'ntype'
|
||||||
|
\ },
|
||||||
|
\ 'scope2kind' : {
|
||||||
|
\ 'ctype' : 't',
|
||||||
|
\ 'ntype' : 'n'
|
||||||
|
\ },
|
||||||
|
\ 'ctagsbin' : 'gotags',
|
||||||
|
\ 'ctagsargs' : '-sort -silent'
|
||||||
|
\ }
|
||||||
|
|
||||||
|
" copilot setup
|
||||||
|
imap <silent><script><expr> <C-J> copilot#Accept("\<CR>")
|
||||||
|
let g:copilot_no_tab_map = v:true
|
||||||
|
|
||||||
|
" vim-go setting
|
||||||
|
autocmd FileType go nmap <leader>err <Plug>(go-iferr)
|
||||||
|
let g:go_fmt_fail_silently = 1
|
||||||
|
let g:go_fmt_command = "goimports"
|
||||||
|
let g:go_def_mode = 'godef'
|
||||||
|
let g:go_decls_includes = "func,type"
|
||||||
|
let g:go_highlight_types = 1
|
||||||
|
let g:go_highlight_fields = 1
|
||||||
|
let g:go_highlight_functions = 1
|
||||||
|
let g:go_highlight_function_calls = 1
|
||||||
|
let g:go_highlight_operators = 1
|
||||||
|
let g:go_highlight_extra_types = 1
|
||||||
|
|
||||||
|
" for rust-vim
|
||||||
|
let g:rust_recommended_style = 0
|
||||||
|
let g:rustfmt_autosave = 1
|
||||||
|
let g:syntastic_rust_checkers = ['cargo']
|
||||||
|
|
||||||
|
let g:airline#extensions#tabline#enabled = 1
|
||||||
|
let g:airline#extensions#tabline#show_buffers = 0
|
||||||
|
let g:airline#extensions#tabline#show_splits = 0
|
||||||
|
let g:airline#extensions#tabline#show_tabs = 1
|
||||||
|
let g:airline#extensions#tabline#show_tab_nr = 0
|
||||||
|
let g:airline#extensions#tabline#show_tab_type = 0
|
||||||
|
let g:airline#extensions#tabline#close_symbol = '×'
|
||||||
|
let g:airline#extensions#tabline#show_close_button = 0
|
||||||
|
|
||||||
|
let g:multi_cursor_use_default_mapping=0
|
||||||
|
|
||||||
|
" Default mapping
|
||||||
|
let g:multi_cursor_start_word_key = "<C-n>"
|
||||||
|
let g:multi_cursor_select_all_word_key = '<A-n>'
|
||||||
|
let g:multi_cursor_start_key = "g<C-n>"
|
||||||
|
let g:multi_cursor_select_all_key = 'g<A-n>'
|
||||||
|
let g:multi_cursor_next_key = "<C-n>"
|
||||||
|
" let g:multi_cursor_prev_key = '<C-p>'
|
||||||
|
let g:multi_cursor_skip_key = '<C-x>'
|
||||||
|
let g:multi_cursor_quit_key = '<Esc>'
|
||||||
|
|
||||||
|
let g:javascript_plugin_jsdoc = 1
|
||||||
|
|
||||||
|
" fzf settings
|
||||||
|
" This is the default extra key bindings
|
||||||
|
let g:fzf_action = {
|
||||||
|
\ 'ctrl-t': 'tab split',
|
||||||
|
\ 'ctrl-x': 'split',
|
||||||
|
\ 'ctrl-v': 'vsplit' }
|
||||||
|
|
||||||
|
" Default fzf layout
|
||||||
|
" - down / up / left / right
|
||||||
|
let g:fzf_layout = { 'down': '~40%' }
|
||||||
|
|
||||||
|
" Customize fzf colors to match your color scheme
|
||||||
|
let g:fzf_colors =
|
||||||
|
\ { 'fg': ['fg', 'Normal'],
|
||||||
|
\ 'bg': ['bg', 'Normal'],
|
||||||
|
\ 'hl': ['fg', 'Comment'],
|
||||||
|
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
|
||||||
|
\ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
|
||||||
|
\ 'hl+': ['fg', 'Statement'],
|
||||||
|
\ 'info': ['fg', 'PreProc'],
|
||||||
|
\ 'prompt': ['fg', 'Conditional'],
|
||||||
|
\ 'pointer': ['fg', 'Exception'],
|
||||||
|
\ 'marker': ['fg', 'Keyword'],
|
||||||
|
\ 'spinner': ['fg', 'Label'],
|
||||||
|
\ 'header': ['fg', 'Comment'] }
|
||||||
|
|
||||||
|
" Enable per-command history.
|
||||||
|
" CTRL-N and CTRL-P will be automatically bound to next-history and
|
||||||
|
" previous-history instead of down and up. If you don't like the change,
|
||||||
|
" explicitly bind the keys to down and up in your $FZF_DEFAULT_OPTS.
|
||||||
|
let g:fzf_history_dir = '~/.local/share/fzf-history'
|
||||||
|
|
||||||
|
lua << EOF
|
||||||
|
|
||||||
|
vim.opt.list = true
|
||||||
|
vim.opt.listchars:append "eol:↴"
|
||||||
|
|
||||||
|
require("indent_blankline").setup {
|
||||||
|
show_end_of_line = true,
|
||||||
|
show_current_context = true,
|
||||||
|
show_current_context_start = true,
|
||||||
|
}
|
||||||
|
|
||||||
|
local nvlsp = require'lspconfig'
|
||||||
|
|
||||||
|
local lspSig = require'lsp_signature'
|
||||||
|
|
||||||
|
lspSig.setup{
|
||||||
|
hint_enable = true,
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Add additional capabilities supported by nvim-cmp
|
||||||
|
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||||
|
|
||||||
|
-- Use an on_attach function to only map the following keys
|
||||||
|
-- after the language server attaches to the current buffer
|
||||||
|
local on_attach = function(client, bufnr)
|
||||||
|
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
|
||||||
|
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
|
||||||
|
|
||||||
|
lspSig.on_attach()
|
||||||
|
|
||||||
|
-- Enable completion triggered by <c-x><c-o>
|
||||||
|
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||||
|
|
||||||
|
-- Mappings.
|
||||||
|
local opts = { noremap=true, silent=true }
|
||||||
|
|
||||||
|
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||||
|
-- buf_set_keymap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
|
||||||
|
buf_set_keymap('n', '<leader>gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
||||||
|
buf_set_keymap('n', '<leader>gt', '<cmd>tab split<CR><cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
||||||
|
buf_set_keymap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
||||||
|
buf_set_keymap('n', '<leader>gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
||||||
|
buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
||||||
|
-- buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
|
||||||
|
-- buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
|
||||||
|
-- buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
|
||||||
|
buf_set_keymap('n', '<leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
||||||
|
buf_set_keymap('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
||||||
|
buf_set_keymap('n', '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
||||||
|
buf_set_keymap('n', '<leader>gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
||||||
|
buf_set_keymap('n', '<leader>ge', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
|
||||||
|
-- buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
|
||||||
|
-- buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
|
||||||
|
-- buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
|
||||||
|
-- buf_set_keymap('n', '<space>f', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
nvlsp['gopls'].setup{
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
}
|
||||||
|
nvlsp['tsserver'].setup{
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
}
|
||||||
|
nvlsp['rust_analyzer'].setup{
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
}
|
||||||
|
nvlsp['bashls'].setup{
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
}
|
||||||
|
|
||||||
|
-- nvim-cmp setup
|
||||||
|
local cmp = require 'cmp'
|
||||||
|
cmp.setup {
|
||||||
|
mapping = cmp.mapping.preset.insert({
|
||||||
|
['<CR>'] = cmp.mapping.confirm({
|
||||||
|
-- behavior = cmp.ConfirmBehavior.Insert,
|
||||||
|
select = true,
|
||||||
|
}),
|
||||||
|
['<C-e>'] = cmp.mapping.abort(),
|
||||||
|
-- ['<Tab>'] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 's' }),
|
||||||
|
}),
|
||||||
|
snippet = {
|
||||||
|
-- REQUIRED - you must specify a snippet engine
|
||||||
|
expand = function(args)
|
||||||
|
vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
|
||||||
|
-- require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
|
||||||
|
-- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users.
|
||||||
|
-- require'snippy'.expand_snippet(args.body) -- For `snippy` users.
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'nvim_lsp' },
|
||||||
|
}, {
|
||||||
|
{name = 'buffer'},
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
|
||||||
|
require'nvim-tree'.setup {
|
||||||
|
auto_reload_on_write = true,
|
||||||
|
disable_netrw = false,
|
||||||
|
hijack_cursor = false,
|
||||||
|
hijack_netrw = true,
|
||||||
|
hijack_unnamed_buffer_when_opening = false,
|
||||||
|
ignore_buffer_on_setup = false,
|
||||||
|
open_on_setup = false,
|
||||||
|
open_on_setup_file = false,
|
||||||
|
open_on_tab = false,
|
||||||
|
sort_by = "name",
|
||||||
|
update_cwd = false,
|
||||||
|
view = {
|
||||||
|
width = 40,
|
||||||
|
side = "left",
|
||||||
|
preserve_window_proportions = false,
|
||||||
|
number = false,
|
||||||
|
relativenumber = false,
|
||||||
|
signcolumn = "yes",
|
||||||
|
mappings = {
|
||||||
|
custom_only = false,
|
||||||
|
list = {
|
||||||
|
-- user mappings go here
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
renderer = {
|
||||||
|
indent_markers = {
|
||||||
|
enable = false,
|
||||||
|
icons = {
|
||||||
|
corner = "└ ",
|
||||||
|
edge = "│ ",
|
||||||
|
none = " ",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
hijack_directories = {
|
||||||
|
enable = true,
|
||||||
|
auto_open = true,
|
||||||
|
},
|
||||||
|
update_focused_file = {
|
||||||
|
enable = false,
|
||||||
|
update_cwd = false,
|
||||||
|
ignore_list = {},
|
||||||
|
},
|
||||||
|
ignore_ft_on_setup = {},
|
||||||
|
system_open = {
|
||||||
|
cmd = nil,
|
||||||
|
args = {},
|
||||||
|
},
|
||||||
|
filters = {
|
||||||
|
dotfiles = false,
|
||||||
|
custom = {},
|
||||||
|
exclude = {},
|
||||||
|
},
|
||||||
|
git = {
|
||||||
|
enable = true,
|
||||||
|
ignore = true,
|
||||||
|
timeout = 400,
|
||||||
|
},
|
||||||
|
actions = {
|
||||||
|
use_system_clipboard = true,
|
||||||
|
change_dir = {
|
||||||
|
enable = true,
|
||||||
|
global = false,
|
||||||
|
},
|
||||||
|
open_file = {
|
||||||
|
quit_on_open = false,
|
||||||
|
resize_window = false,
|
||||||
|
window_picker = {
|
||||||
|
enable = true,
|
||||||
|
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
|
||||||
|
exclude = {
|
||||||
|
filetype = { "notify", "packer", "qf", "diff", "fugitive", "fugitiveblame" },
|
||||||
|
buftype = { "nofile", "terminal", "help" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
EOF
|
211
dot_config/pgcli/config
Normal file
211
dot_config/pgcli/config
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
# vi: ft=dosini
|
||||||
|
[main]
|
||||||
|
|
||||||
|
# Enables context sensitive auto-completion. If this is disabled, all
|
||||||
|
# possible completions will be listed.
|
||||||
|
smart_completion = True
|
||||||
|
|
||||||
|
# Display the completions in several columns. (More completions will be
|
||||||
|
# visible.)
|
||||||
|
wider_completion_menu = False
|
||||||
|
|
||||||
|
# Multi-line mode allows breaking up the sql statements into multiple lines. If
|
||||||
|
# this is set to True, then the end of the statements must have a semi-colon.
|
||||||
|
# If this is set to False then sql statements can't be split into multiple
|
||||||
|
# lines. End of line (return) is considered as the end of the statement.
|
||||||
|
multi_line = True
|
||||||
|
|
||||||
|
# If multi_line_mode is set to "psql", in multi-line mode, [Enter] will execute
|
||||||
|
# the current input if the input ends in a semicolon.
|
||||||
|
# If multi_line_mode is set to "safe", in multi-line mode, [Enter] will always
|
||||||
|
# insert a newline, and [Esc] [Enter] or [Alt]-[Enter] must be used to execute
|
||||||
|
# a command.
|
||||||
|
multi_line_mode = psql
|
||||||
|
|
||||||
|
# Destructive warning mode will alert you before executing a sql statement
|
||||||
|
# that may cause harm to the database such as "drop table", "drop database",
|
||||||
|
# "shutdown", "delete", or "update".
|
||||||
|
# Possible values:
|
||||||
|
# "all" - warn on data definition statements, server actions such as SHUTDOWN, DELETE or UPDATE
|
||||||
|
# "moderate" - skip warning on UPDATE statements, except for unconditional updates
|
||||||
|
# "off" - skip all warnings
|
||||||
|
destructive_warning = all
|
||||||
|
|
||||||
|
# Enables expand mode, which is similar to `\x` in psql.
|
||||||
|
expand = False
|
||||||
|
|
||||||
|
# Enables auto expand mode, which is similar to `\x auto` in psql.
|
||||||
|
auto_expand = False
|
||||||
|
|
||||||
|
# If set to True, table suggestions will include a table alias
|
||||||
|
generate_aliases = False
|
||||||
|
|
||||||
|
# log_file location.
|
||||||
|
# In Unix/Linux: ~/.config/pgcli/log
|
||||||
|
# In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\log
|
||||||
|
# %USERPROFILE% is typically C:\Users\{username}
|
||||||
|
log_file = default
|
||||||
|
|
||||||
|
# keyword casing preference. Possible values: "lower", "upper", "auto"
|
||||||
|
keyword_casing = auto
|
||||||
|
|
||||||
|
# casing_file location.
|
||||||
|
# In Unix/Linux: ~/.config/pgcli/casing
|
||||||
|
# In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\casing
|
||||||
|
# %USERPROFILE% is typically C:\Users\{username}
|
||||||
|
casing_file = default
|
||||||
|
|
||||||
|
# If generate_casing_file is set to True and there is no file in the above
|
||||||
|
# location, one will be generated based on usage in SQL/PLPGSQL functions.
|
||||||
|
generate_casing_file = False
|
||||||
|
|
||||||
|
# Casing of column headers based on the casing_file described above
|
||||||
|
case_column_headers = True
|
||||||
|
|
||||||
|
# history_file location.
|
||||||
|
# In Unix/Linux: ~/.config/pgcli/history
|
||||||
|
# In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\history
|
||||||
|
# %USERPROFILE% is typically C:\Users\{username}
|
||||||
|
history_file = default
|
||||||
|
|
||||||
|
# Default log level. Possible values: "CRITICAL", "ERROR", "WARNING", "INFO"
|
||||||
|
# and "DEBUG". "NONE" disables logging.
|
||||||
|
log_level = INFO
|
||||||
|
|
||||||
|
# Order of columns when expanding * to column list
|
||||||
|
# Possible values: "table_order" and "alphabetic"
|
||||||
|
asterisk_column_order = table_order
|
||||||
|
|
||||||
|
# Whether to qualify with table alias/name when suggesting columns
|
||||||
|
# Possible values: "always", "never" and "if_more_than_one_table"
|
||||||
|
qualify_columns = if_more_than_one_table
|
||||||
|
|
||||||
|
# When no schema is entered, only suggest objects in search_path
|
||||||
|
search_path_filter = False
|
||||||
|
|
||||||
|
# Default pager.
|
||||||
|
# By default 'PAGER' environment variable is used
|
||||||
|
# pager = less -SRXF
|
||||||
|
|
||||||
|
# Timing of sql statements and table rendering.
|
||||||
|
timing = True
|
||||||
|
|
||||||
|
# Show/hide the informational toolbar with function keymap at the footer.
|
||||||
|
show_bottom_toolbar = True
|
||||||
|
|
||||||
|
# Table format. Possible values: psql, plain, simple, grid, fancy_grid, pipe,
|
||||||
|
# ascii, double, github, orgtbl, rst, mediawiki, html, latex, latex_booktabs,
|
||||||
|
# textile, moinmoin, jira, vertical, tsv, csv.
|
||||||
|
# Recommended: psql, fancy_grid and grid.
|
||||||
|
table_format = psql
|
||||||
|
|
||||||
|
# Syntax Style. Possible values: manni, igor, xcode, vim, autumn, vs, rrt,
|
||||||
|
# native, perldoc, borland, tango, emacs, friendly, monokai, paraiso-dark,
|
||||||
|
# colorful, murphy, bw, pastie, paraiso-light, trac, default, fruity
|
||||||
|
syntax_style = default
|
||||||
|
|
||||||
|
# Keybindings:
|
||||||
|
# When Vi mode is enabled you can use modal editing features offered by Vi in the REPL.
|
||||||
|
# When Vi mode is disabled emacs keybindings such as Ctrl-A for home and Ctrl-E
|
||||||
|
# for end are available in the REPL.
|
||||||
|
vi = False
|
||||||
|
|
||||||
|
# Error handling
|
||||||
|
# When one of multiple SQL statements causes an error, choose to either
|
||||||
|
# continue executing the remaining statements, or stopping
|
||||||
|
# Possible values "STOP" or "RESUME"
|
||||||
|
on_error = STOP
|
||||||
|
|
||||||
|
# Set threshold for row limit. Use 0 to disable limiting.
|
||||||
|
row_limit = 1000
|
||||||
|
|
||||||
|
# Truncate long text fields to this value for tabular display (does not apply to csv).
|
||||||
|
# Leave unset to disable truncation. Example: "max_field_width = "
|
||||||
|
# Be aware that formatting might get slow with values larger than 500 and tables with
|
||||||
|
# lots of records.
|
||||||
|
max_field_width = 500
|
||||||
|
|
||||||
|
# Skip intro on startup and goodbye on exit
|
||||||
|
less_chatty = False
|
||||||
|
|
||||||
|
# Postgres prompt
|
||||||
|
# \t - Current date and time
|
||||||
|
# \u - Username
|
||||||
|
# \h - Short hostname of the server (up to first '.')
|
||||||
|
# \H - Hostname of the server
|
||||||
|
# \d - Database name
|
||||||
|
# \p - Database port
|
||||||
|
# \i - Postgres PID
|
||||||
|
# \# - "@" sign if logged in as superuser, '>' in other case
|
||||||
|
# \n - Newline
|
||||||
|
# \dsn_alias - name of dsn alias if -D option is used (empty otherwise)
|
||||||
|
# \x1b[...m - insert ANSI escape sequence
|
||||||
|
# eg: prompt = '\x1b[35m\u@\x1b[32m\h:\x1b[36m\d>'
|
||||||
|
prompt = '\u@\h:\d> '
|
||||||
|
|
||||||
|
# Number of lines to reserve for the suggestion menu
|
||||||
|
min_num_menu_lines = 4
|
||||||
|
|
||||||
|
# Character used to left pad multi-line queries to match the prompt size.
|
||||||
|
multiline_continuation_char = ''
|
||||||
|
|
||||||
|
# The string used in place of a null value.
|
||||||
|
null_string = '<null>'
|
||||||
|
|
||||||
|
# manage pager on startup
|
||||||
|
enable_pager = True
|
||||||
|
|
||||||
|
# Use keyring to automatically save and load password in a secure manner
|
||||||
|
keyring = True
|
||||||
|
|
||||||
|
# Custom colors for the completion menu, toolbar, etc.
|
||||||
|
[colors]
|
||||||
|
completion-menu.completion.current = 'bg:#ffffff #000000'
|
||||||
|
completion-menu.completion = 'bg:#008888 #ffffff'
|
||||||
|
completion-menu.meta.completion.current = 'bg:#44aaaa #000000'
|
||||||
|
completion-menu.meta.completion = 'bg:#448888 #ffffff'
|
||||||
|
completion-menu.multi-column-meta = 'bg:#aaffff #000000'
|
||||||
|
scrollbar.arrow = 'bg:#003333'
|
||||||
|
scrollbar = 'bg:#00aaaa'
|
||||||
|
selected = '#ffffff bg:#6666aa'
|
||||||
|
search = '#ffffff bg:#4444aa'
|
||||||
|
search.current = '#ffffff bg:#44aa44'
|
||||||
|
bottom-toolbar = 'bg:#222222 #aaaaaa'
|
||||||
|
bottom-toolbar.off = 'bg:#222222 #888888'
|
||||||
|
bottom-toolbar.on = 'bg:#222222 #ffffff'
|
||||||
|
search-toolbar = 'noinherit bold'
|
||||||
|
search-toolbar.text = 'nobold'
|
||||||
|
system-toolbar = 'noinherit bold'
|
||||||
|
arg-toolbar = 'noinherit bold'
|
||||||
|
arg-toolbar.text = 'nobold'
|
||||||
|
bottom-toolbar.transaction.valid = 'bg:#222222 #00ff5f bold'
|
||||||
|
bottom-toolbar.transaction.failed = 'bg:#222222 #ff005f bold'
|
||||||
|
# These three values can be used to further refine the syntax highlighting.
|
||||||
|
# They are commented out by default, since they have priority over the theme set
|
||||||
|
# with the `syntax_style` setting and overriding its behavior can be confusing.
|
||||||
|
# literal.string = '#ba2121'
|
||||||
|
# literal.number = '#666666'
|
||||||
|
# keyword = 'bold #008000'
|
||||||
|
|
||||||
|
# style classes for colored table output
|
||||||
|
output.header = "#00ff5f bold"
|
||||||
|
output.odd-row = ""
|
||||||
|
output.even-row = ""
|
||||||
|
output.null = "#808080"
|
||||||
|
|
||||||
|
# Named queries are queries you can execute by name.
|
||||||
|
[named queries]
|
||||||
|
|
||||||
|
# DSN to call by -D option
|
||||||
|
[alias_dsn]
|
||||||
|
# example_dsn = postgresql://[user[:password]@][netloc][:port][/dbname]
|
||||||
|
local = postgresql://postgres:chuxu7ec@localhost
|
||||||
|
ln-prod = postgresql://postgres:CyMrS127VIx@10.140.0.90
|
||||||
|
professorx-dev = postgresql://postgres:e8b960296e22@192.168.88.6
|
||||||
|
|
||||||
|
# Format for number representation
|
||||||
|
# for decimal "d" - 12345678, ",d" - 12,345,678
|
||||||
|
# for float "g" - 123456.78, ",g" - 123,456.78
|
||||||
|
[data_formats]
|
||||||
|
decimal = ""
|
||||||
|
float = ""
|
BIN
dot_config/sway/bg.png
Normal file
BIN
dot_config/sway/bg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 25 MiB |
BIN
dot_config/sway/bg2.png
Normal file
BIN
dot_config/sway/bg2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 86 KiB |
297
dot_config/sway/config
Normal file
297
dot_config/sway/config
Normal file
@ -0,0 +1,297 @@
|
|||||||
|
# Default config for sway
|
||||||
|
#
|
||||||
|
# Copy this to ~/.config/sway/config and edit it to your liking.
|
||||||
|
#
|
||||||
|
# Read `man 5 sway` for a complete reference.
|
||||||
|
|
||||||
|
### Variables
|
||||||
|
#
|
||||||
|
# Logo key. Use Mod1 for Alt.
|
||||||
|
set $alt Mod1
|
||||||
|
set $mod Mod4
|
||||||
|
# Home row direction keys, like vim
|
||||||
|
set $left h
|
||||||
|
set $down j
|
||||||
|
set $up k
|
||||||
|
set $right l
|
||||||
|
# Your preferred terminal emulator
|
||||||
|
set $term env WINIT_UNIX_BACKEND=x11 alacritty
|
||||||
|
# Your preferred application launcher
|
||||||
|
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||||
|
# on the original workspace that the command was run on.
|
||||||
|
# set $menu dmenu_path | dmenu | xargs swaymsg exec --
|
||||||
|
set $menu wofi --show drun
|
||||||
|
|
||||||
|
### Output configuration
|
||||||
|
#
|
||||||
|
# Default wallpaper (more resolutions are available in @datadir@/backgrounds/sway/)
|
||||||
|
# output * bg @datadir@/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
|
||||||
|
output * bg ~/.config/sway/bg.png fill
|
||||||
|
#
|
||||||
|
# Example configuration:
|
||||||
|
#
|
||||||
|
# output HDMI-A-1 resolution 1920x1080 position 1920,0
|
||||||
|
#
|
||||||
|
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||||
|
|
||||||
|
# exec_always xdg-desktop-portal -r
|
||||||
|
# exec_always xdg-desktop-portal-wlr
|
||||||
|
exec --no-startup-id dbus-update-activation-environment --all
|
||||||
|
exec_always kanshi
|
||||||
|
exec dex -a -e sway
|
||||||
|
|
||||||
|
# for sway overview
|
||||||
|
# exec_always rm -f /tmp/sovpipe && mkfifo /tmp/sovpipe && tail -f /tmp/sovpipe | sov -t 100
|
||||||
|
|
||||||
|
### Idle configuration
|
||||||
|
#
|
||||||
|
# Example configuration:
|
||||||
|
#
|
||||||
|
exec swayidle -w \
|
||||||
|
timeout 300 'swaylock -f -i ~/.config/swaylock/bg.png -s fill' \
|
||||||
|
timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
|
||||||
|
before-sleep 'swaylock -f -i ~/.config/swaylock/bg.png -s fill'
|
||||||
|
|
||||||
|
# This will lock your screen after 300 seconds of inactivity, then turn off
|
||||||
|
# your displays after another 300 seconds, and turn your screens back on when
|
||||||
|
# resumed. It will also lock your screen before your computer goes to sleep.
|
||||||
|
|
||||||
|
### Input configuration
|
||||||
|
#
|
||||||
|
# Example configuration:
|
||||||
|
#
|
||||||
|
# input "2:14:SynPS/2_Synaptics_TouchPad" {
|
||||||
|
# dwt enabled
|
||||||
|
# tap enabled
|
||||||
|
# natural_scroll enabled
|
||||||
|
# middle_emulation enabled
|
||||||
|
# }
|
||||||
|
|
||||||
|
input type:touchpad {
|
||||||
|
drag enabled
|
||||||
|
drag_lock enabled
|
||||||
|
tap enabled
|
||||||
|
scroll_factor 0.6
|
||||||
|
}
|
||||||
|
#
|
||||||
|
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||||
|
# Read `man 5 sway-input` for more information about this section.
|
||||||
|
|
||||||
|
### Key bindings
|
||||||
|
#
|
||||||
|
# Basics:
|
||||||
|
#
|
||||||
|
bindsym $alt+Shift+c exec ~/bin/screenshot
|
||||||
|
bindsym $alt+Shift+m exec ~/bin/screenshot-monitor
|
||||||
|
# Start a terminal
|
||||||
|
bindsym $mod+Return exec $term
|
||||||
|
|
||||||
|
# Kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# Start your launcher
|
||||||
|
bindsym $mod+d exec $menu
|
||||||
|
|
||||||
|
# Drag floating windows by holding down $mod and left mouse button.
|
||||||
|
# Resize them with right mouse button + $mod.
|
||||||
|
# Despite the name, also works for non-floating windows.
|
||||||
|
# Change normal to inverse to use left mouse button for resizing and right
|
||||||
|
# mouse button for dragging.
|
||||||
|
floating_modifier $mod normal
|
||||||
|
|
||||||
|
# Reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
|
||||||
|
bindsym $mod+Shift+x exec swaylock -f -i ~/.config/swaylock/bg.png -s fill
|
||||||
|
|
||||||
|
# Exit sway (logs you out of your Wayland session)
|
||||||
|
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
|
||||||
|
|
||||||
|
bindsym $mod+Shift+p exec ~/.config/wofi/wofi-power.sh
|
||||||
|
|
||||||
|
bindsym XF86AudioRaiseVolume exec "pactl set-sink-volume @DEFAULT_SINK@ +10%; pkill -RTMIN+8 waybar"
|
||||||
|
bindsym XF86AudioLowerVolume exec "pactl set-sink-volume @DEFAULT_SINK@ -10%; pkill -RTMIN+8 waybar"
|
||||||
|
bindsym XF86AudioMute exec "pactl set-sink-mute @DEFAULT_SINK@ toggle; pkill -RTMIN+8 waybar"
|
||||||
|
|
||||||
|
bindsym XF86MonBrightnessUp exec "/home/jay/bin/backlight-control --path /sys/class/backlight/intel_backlight set +10%"
|
||||||
|
bindsym XF86MonBrightnessDown exec "/home/jay/bin/backlight-control --path /sys/class/backlight/intel_backlight set -- -10%"
|
||||||
|
#
|
||||||
|
# Moving around:
|
||||||
|
#
|
||||||
|
# Move your focus around
|
||||||
|
bindsym $mod+$left focus left
|
||||||
|
bindsym $mod+$down focus down
|
||||||
|
bindsym $mod+$up focus up
|
||||||
|
bindsym $mod+$right focus right
|
||||||
|
# Or use $mod+[up|down|left|right]
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# Move the focused window with the same, but add Shift
|
||||||
|
bindsym $mod+Shift+$left move left
|
||||||
|
bindsym $mod+Shift+$down move down
|
||||||
|
bindsym $mod+Shift+$up move up
|
||||||
|
bindsym $mod+Shift+$right move right
|
||||||
|
# Ditto, with arrow keys
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
#
|
||||||
|
# Workspaces:
|
||||||
|
#
|
||||||
|
# Switch to workspace
|
||||||
|
bindsym $mod+1 workspace number 1
|
||||||
|
bindsym $mod+2 workspace number 2
|
||||||
|
bindsym $mod+3 workspace number 3
|
||||||
|
bindsym $mod+4 workspace number 4
|
||||||
|
bindsym $mod+5 workspace number 5
|
||||||
|
bindsym $mod+6 workspace number 6
|
||||||
|
bindsym $mod+7 workspace number 7
|
||||||
|
bindsym $mod+8 workspace number 8
|
||||||
|
bindsym $mod+9 workspace number 9
|
||||||
|
bindsym $mod+0 workspace number 10
|
||||||
|
# bindsym --no-repeat $mod+1 workspace number 1; exec "echo 1 > /tmp/sovpipe"
|
||||||
|
# bindsym --no-repeat $mod+2 workspace number 2; exec "echo 1 > /tmp/sovpipe"
|
||||||
|
# bindsym --no-repeat $mod+3 workspace number 3; exec "echo 1 > /tmp/sovpipe"
|
||||||
|
# bindsym --no-repeat $mod+4 workspace number 4; exec "echo 1 > /tmp/sovpipe"
|
||||||
|
# bindsym --no-repeat $mod+5 workspace number 5; exec "echo 1 > /tmp/sovpipe"
|
||||||
|
# bindsym --no-repeat $mod+6 workspace number 6; exec "echo 1 > /tmp/sovpipe"
|
||||||
|
# bindsym --no-repeat $mod+7 workspace number 7; exec "echo 1 > /tmp/sovpipe"
|
||||||
|
# bindsym --no-repeat $mod+8 workspace number 8; exec "echo 1 > /tmp/sovpipe"
|
||||||
|
# bindsym --no-repeat $mod+9 workspace number 9; exec "echo 1 > /tmp/sovpipe"
|
||||||
|
# bindsym --no-repeat $mod+0 workspace number 10; exec "echo 1 > /tmp/sovpipe"
|
||||||
|
|
||||||
|
# bindsym --release $mod+1 exec "echo 0 > /tmp/sovpipe"
|
||||||
|
# bindsym --release $mod+2 exec "echo 0 > /tmp/sovpipe"
|
||||||
|
# bindsym --release $mod+3 exec "echo 0 > /tmp/sovpipe"
|
||||||
|
# bindsym --release $mod+4 exec "echo 0 > /tmp/sovpipe"
|
||||||
|
# bindsym --release $mod+5 exec "echo 0 > /tmp/sovpipe"
|
||||||
|
# bindsym --release $mod+6 exec "echo 0 > /tmp/sovpipe"
|
||||||
|
# bindsym --release $mod+7 exec "echo 0 > /tmp/sovpipe"
|
||||||
|
# bindsym --release $mod+8 exec "echo 0 > /tmp/sovpipe"
|
||||||
|
# bindsym --release $mod+9 exec "echo 0 > /tmp/sovpipe"
|
||||||
|
# bindsym --release $mod+0 exec "echo 0 > /tmp/sovpipe"
|
||||||
|
|
||||||
|
# Move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace number 1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace number 2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace number 3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace number 4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace number 5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace number 6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace number 7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace number 8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace number 9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace number 10
|
||||||
|
# Note: workspaces can have any name you want, not just numbers.
|
||||||
|
# We just use 1-10 as the default.
|
||||||
|
#
|
||||||
|
# Layout stuff:
|
||||||
|
#
|
||||||
|
# You can "split" the current object of your focus with
|
||||||
|
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||||
|
# respectively.
|
||||||
|
bindsym $mod+b splith
|
||||||
|
bindsym $mod+v splitv
|
||||||
|
|
||||||
|
# Switch the current container between different layout styles
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# Make the current focus fullscreen
|
||||||
|
bindsym $mod+f fullscreen
|
||||||
|
|
||||||
|
# Toggle the current focus between tiling and floating mode
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# Swap focus between the tiling area and the floating area
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# Move focus to the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
#
|
||||||
|
# Scratchpad:
|
||||||
|
#
|
||||||
|
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||||
|
# You can send windows there and get them back later.
|
||||||
|
|
||||||
|
# Move the currently focused window to the scratchpad
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||||
|
# If there are multiple scratchpad windows, this command cycles through them.
|
||||||
|
bindsym $mod+minus scratchpad show
|
||||||
|
#
|
||||||
|
# Resizing containers:
|
||||||
|
#
|
||||||
|
mode "resize" {
|
||||||
|
# left will shrink the containers width
|
||||||
|
# right will grow the containers width
|
||||||
|
# up will shrink the containers height
|
||||||
|
# down will grow the containers height
|
||||||
|
bindsym $left resize shrink width 10px
|
||||||
|
bindsym $down resize grow height 10px
|
||||||
|
bindsym $up resize shrink height 10px
|
||||||
|
bindsym $right resize grow width 10px
|
||||||
|
|
||||||
|
# Ditto, with arrow keys
|
||||||
|
bindsym Left resize shrink width 10px
|
||||||
|
bindsym Down resize grow height 10px
|
||||||
|
bindsym Up resize shrink height 10px
|
||||||
|
bindsym Right resize grow width 10px
|
||||||
|
|
||||||
|
# Return to default mode
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# set workspace monitor
|
||||||
|
workspace 1 output eDP-1
|
||||||
|
workspace 2 output HDMI-A-1 DP-1 eDP-1
|
||||||
|
workspace 3 output HDMI-A-1 DP-1 eDP-1
|
||||||
|
workspace 4 output HDMI-A-1 DP-1 eDP-1
|
||||||
|
workspace 5 output HDMI-A-1 DP-1 eDP-1
|
||||||
|
workspace 6 output HDMI-A-1 DP-1 eDP-1
|
||||||
|
workspace 7 output eDP-1
|
||||||
|
workspace 8 output eDP-1
|
||||||
|
workspace 9 output eDP-1
|
||||||
|
workspace 10 output eDP-1
|
||||||
|
|
||||||
|
#
|
||||||
|
# Status Bar:
|
||||||
|
#
|
||||||
|
# Read `man 5 sway-bar` for more information about this section.
|
||||||
|
bar {
|
||||||
|
# position top
|
||||||
|
|
||||||
|
# When the status_command prints a new line to stdout, swaybar updates.
|
||||||
|
# The default just shows the current date and time.
|
||||||
|
# status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done
|
||||||
|
# status_command ~/.config/waybar/launch.sh
|
||||||
|
swaybar_command waybar
|
||||||
|
|
||||||
|
colors {
|
||||||
|
statusline #ffffff
|
||||||
|
background #323232
|
||||||
|
inactive_workspace #32323200 #32323200 #5c5c5c
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
gaps outer 5
|
||||||
|
gaps inner 5
|
||||||
|
|
||||||
|
# default_border pixel 5
|
||||||
|
for_window [app_id="^.*"] border pixel 4
|
||||||
|
for_window [class="^.*"] border pixel 4
|
||||||
|
for_window [workspace=8] floating enable
|
||||||
|
for_window [workspace=6] floating enable
|
||||||
|
|
||||||
|
focus_follows_mouse no
|
||||||
|
|
||||||
|
xwayland enable
|
||||||
|
# include @sysconfdir@/sway/config.d/*
|
BIN
dot_config/swaylock/bg.png
Normal file
BIN
dot_config/swaylock/bg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 332 KiB |
5
dot_config/systemd/user/sway-session.target
Normal file
5
dot_config/systemd/user/sway-session.target
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Unit]
|
||||||
|
ConditionEnvironment=WAYLAND_DISPLAY
|
||||||
|
Description=sway.target
|
||||||
|
Requires=graphical-session.target
|
||||||
|
|
177
dot_config/waybar/config
Normal file
177
dot_config/waybar/config
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
// vim: set ft=jsonc:
|
||||||
|
{
|
||||||
|
// "layer": "top", // Waybar at top layer
|
||||||
|
"position": "top", // Waybar position (top|bottom|left|right)
|
||||||
|
"height": 30, // Waybar height (to be removed for auto height)
|
||||||
|
// "width": 1280, // Waybar width
|
||||||
|
"spacing": 2, // Gaps between modules (4px)
|
||||||
|
// Choose the order of the modules
|
||||||
|
"modules-left": ["sway/workspaces", "sway/mode", "sway/window"],
|
||||||
|
"modules-center": [],
|
||||||
|
"modules-right": [
|
||||||
|
"idle_inhibitor",
|
||||||
|
"custom/sep",
|
||||||
|
"custom/pipewire",
|
||||||
|
"custom/sep",
|
||||||
|
"network",
|
||||||
|
"custom/sep",
|
||||||
|
"cpu",
|
||||||
|
"custom/sep",
|
||||||
|
"memory",
|
||||||
|
"custom/sep",
|
||||||
|
"disk",
|
||||||
|
"custom/sep",
|
||||||
|
"temperature",
|
||||||
|
"custom/sep",
|
||||||
|
"backlight",
|
||||||
|
"custom/sep",
|
||||||
|
"keyboard-state",
|
||||||
|
"custom/sep",
|
||||||
|
"battery",
|
||||||
|
"custom/sep",
|
||||||
|
"clock",
|
||||||
|
"custom/sep",
|
||||||
|
"tray"
|
||||||
|
],
|
||||||
|
// Modules configuration
|
||||||
|
"custom/sep": {
|
||||||
|
"format": "|",
|
||||||
|
"interval": "once",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/pipewire": {
|
||||||
|
"exec": "/home/jay/bin/get-volume.sh",
|
||||||
|
"interval": "once",
|
||||||
|
"return-type": "json",
|
||||||
|
"signal": 8,
|
||||||
|
"format": "{icon} {percentage}%",
|
||||||
|
"format-icons": {
|
||||||
|
"mute": "",
|
||||||
|
"default": ["", "", ""]
|
||||||
|
},
|
||||||
|
"on-click": "pavucontrol"
|
||||||
|
},
|
||||||
|
"sway/window": {
|
||||||
|
"max-length": 40
|
||||||
|
},
|
||||||
|
"sway/workspaces": {
|
||||||
|
"disable-scroll": true,
|
||||||
|
// "all-outputs": true,
|
||||||
|
// "persistent_workspaces": {
|
||||||
|
// "1": [],
|
||||||
|
// "2": [],
|
||||||
|
// "3": [],
|
||||||
|
// "4": [],
|
||||||
|
// "5": [],
|
||||||
|
// "6": [],
|
||||||
|
// "7": [],
|
||||||
|
// "8": [],
|
||||||
|
// "9": [],
|
||||||
|
// "10": [],
|
||||||
|
// },
|
||||||
|
// "format": "{name}: {icon}",
|
||||||
|
// "format-icons": {
|
||||||
|
// "1": "",
|
||||||
|
// "2": "",
|
||||||
|
// "3": "",
|
||||||
|
// "4": "",
|
||||||
|
// "5": "",
|
||||||
|
// "urgent": "",
|
||||||
|
// "focused": "",
|
||||||
|
// "default": ""
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
"keyboard-state": {
|
||||||
|
// "numlock": true,
|
||||||
|
"capslock": true,
|
||||||
|
"format": "{name} {icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"locked": "",
|
||||||
|
"unlocked": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sway/mode": {
|
||||||
|
"format": "<span style=\"italic\">{}</span>"
|
||||||
|
},
|
||||||
|
"sway/scratchpad": {
|
||||||
|
"format": "{icon} {count}",
|
||||||
|
"show-empty": false,
|
||||||
|
"format-icons": ["", ""],
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "{app}: {title}"
|
||||||
|
},
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"activated": "",
|
||||||
|
"deactivated": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
// "icon-size": 21,
|
||||||
|
"spacing": 10,
|
||||||
|
"show-passive-items": true
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
// "timezone": "America/New_York",
|
||||||
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"format": "{:%Y-%m-%d %H:%M:%S}",
|
||||||
|
"format-alt": "{:%Y-%m-%d}",
|
||||||
|
"interval": 1
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"format": " {usage}%({load})",
|
||||||
|
"interval": 2,
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"interval": 10,
|
||||||
|
"format": " {used}G/{total}G",
|
||||||
|
"tooltip-format": "{percentage}% used"
|
||||||
|
},
|
||||||
|
"temperature": {
|
||||||
|
// "thermal-zone": 2,
|
||||||
|
"hwmon-path": "/sys/class/hwmon/hwmon5/temp1_input",
|
||||||
|
"critical-threshold": 80,
|
||||||
|
// "format-critical": "{temperatureC}°C {icon}",
|
||||||
|
"format": " {temperatureC}°C",
|
||||||
|
"format-icons": ["", "", ""]
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
// "device": "acpi_video1",
|
||||||
|
"format": "{icon} {percent}%",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
// "good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{capacity}% {icon}",
|
||||||
|
"format-charging": "{capacity}% ",
|
||||||
|
"format-plugged": "{capacity}% ",
|
||||||
|
"format-alt": "{time} {icon}",
|
||||||
|
// "format-good": "", // An empty format will hide the module
|
||||||
|
// "format-full": "",
|
||||||
|
"format-icons": ["", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"battery#bat2": {
|
||||||
|
"bat": "BAT2"
|
||||||
|
},
|
||||||
|
"network": {
|
||||||
|
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||||
|
"format-wifi": "{essid} ({signalStrength}%) ",
|
||||||
|
"format-ethernet": "{ipaddr}/{cidr} ",
|
||||||
|
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||||
|
"format-linked": "{ifname} (No IP) ",
|
||||||
|
"format-disconnected": "Disconnected ⚠",
|
||||||
|
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||||
|
},
|
||||||
|
"disk": {
|
||||||
|
"interval": 30,
|
||||||
|
"path": "/",
|
||||||
|
"format": " {used}/{total}"
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
11
dot_config/waybar/executable_launch.sh
Normal file
11
dot_config/waybar/executable_launch.sh
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
CONFIG_FILES="$HOME/.config/waybar/config $HOME/.config/waybar/style.css"
|
||||||
|
|
||||||
|
trap "killall waybar" EXIT
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
waybar &
|
||||||
|
inotifywait -e create,modify $CONFIG_FILES
|
||||||
|
killall waybar
|
||||||
|
done
|
99
dot_config/waybar/style.css
Normal file
99
dot_config/waybar/style.css
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
* {
|
||||||
|
font-family: "Ubuntu Mono Nerd Font";
|
||||||
|
font-size: 13px;
|
||||||
|
min-height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
/* background: transparent; */
|
||||||
|
/* background: black; */
|
||||||
|
background: rgba(40, 44, 52, 0.85);
|
||||||
|
color: white;
|
||||||
|
border: 1px solid #8fd4ff;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
font-family: "Ubuntu Mono";
|
||||||
|
padding: 0 5px;
|
||||||
|
border: 1px solid #8fd4ff;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.empty #window {
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
border: 0px;
|
||||||
|
/* background-color: rgba(66,66,66,0.5); */ /* transparent */
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
color: gray;
|
||||||
|
/* border: 1px solid #8fd4ff; */
|
||||||
|
/* border-radius: 5px; */
|
||||||
|
}
|
||||||
|
#workspaces button.focused {
|
||||||
|
color: white;
|
||||||
|
border: 1px solid #8fd4ff;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray,
|
||||||
|
#custom-japan,
|
||||||
|
#custom-germany,
|
||||||
|
#temperature,
|
||||||
|
#clock,
|
||||||
|
#battery,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#network,
|
||||||
|
#pulseaudio {
|
||||||
|
padding: 0 5px;
|
||||||
|
margin-right: 5px;
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature.critical {
|
||||||
|
color: #b62d66;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery icon {
|
||||||
|
color: #b62d66;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging {
|
||||||
|
border-bottom: 1px dotted #8fd4ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: #8fd4ff;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.warning:not(.charging) {
|
||||||
|
color: white;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 2s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.warning:not(.charging) {
|
||||||
|
color: white;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.disconnected {
|
||||||
|
color: #b62d66;
|
||||||
|
}
|
14
dot_config/wofi/config
Normal file
14
dot_config/wofi/config
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
width=600
|
||||||
|
height=400
|
||||||
|
mode=drun
|
||||||
|
filter_rate=100
|
||||||
|
matching=contains
|
||||||
|
insensitive=true
|
||||||
|
term=alacritty
|
||||||
|
allow_images=true
|
||||||
|
allow_markup=true
|
||||||
|
dmenu-parse_action=true
|
||||||
|
drun-display_generic=true
|
||||||
|
key_down=Tab
|
||||||
|
key_expand=Right
|
||||||
|
key_forward=Down
|
16
dot_config/wofi/executable_wofi-power.sh
Normal file
16
dot_config/wofi/executable_wofi-power.sh
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
entries="⇠ Logout\n⏾ Suspend\n⭮ Reboot\n⏻ Shutdown"
|
||||||
|
|
||||||
|
selected=$(echo -e $entries|wofi --width 350 --height 250 --dmenu --cache-file /dev/null | awk '{print tolower($2)}')
|
||||||
|
|
||||||
|
case $selected in
|
||||||
|
logout)
|
||||||
|
swaymsg exit;;
|
||||||
|
suspend)
|
||||||
|
exec systemctl suspend;;
|
||||||
|
reboot)
|
||||||
|
exec systemctl reboot;;
|
||||||
|
shutdown)
|
||||||
|
exec systemctl poweroff -i;;
|
||||||
|
esac
|
62
dot_config/wofi/style.css
Normal file
62
dot_config/wofi/style.css
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
window {
|
||||||
|
margin: 5px;
|
||||||
|
background-color: #282a36;
|
||||||
|
opacity: 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#outer-box {
|
||||||
|
margin: 5px;
|
||||||
|
border: 2px solid #44475a;
|
||||||
|
background-color: #282a36;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input {
|
||||||
|
margin: 5px;
|
||||||
|
border: 2px solid #6272a4;
|
||||||
|
background-color: #44475a;
|
||||||
|
color: #f8f8f2;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#inner-box {
|
||||||
|
margin: 5px;
|
||||||
|
background-color: #282a36;
|
||||||
|
}
|
||||||
|
|
||||||
|
#scroll {
|
||||||
|
margin: 5px;
|
||||||
|
border: 2px solid #6272a4;
|
||||||
|
background-color: #282a36;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #f8f8f2;
|
||||||
|
}
|
||||||
|
|
||||||
|
#scroll label {
|
||||||
|
margin: 2px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry {
|
||||||
|
margin: 5px;
|
||||||
|
background-color: #282a36;
|
||||||
|
}
|
||||||
|
#entry:selected {
|
||||||
|
background-color: #44475a;
|
||||||
|
border: 2px solid #BD93F9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#img {
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
#img:selected {
|
||||||
|
background-color: #44475a;
|
||||||
|
}
|
||||||
|
|
||||||
|
#text {
|
||||||
|
margin: 5px;
|
||||||
|
border: none;
|
||||||
|
color: #f8f8f2;
|
||||||
|
}
|
||||||
|
#text:selected {
|
||||||
|
background-color: #44475a;
|
||||||
|
}
|
||||||
|
|
5
dot_config/xdg-desktop-portal-wlr/config
Normal file
5
dot_config/xdg-desktop-portal-wlr/config
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[screencast]
|
||||||
|
output_name=
|
||||||
|
max_fps=60
|
||||||
|
chooser_cmd=slurp -f %o -or
|
||||||
|
chooser_type=simple
|
146
dot_ctags
Normal file
146
dot_ctags
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
--langmap=javascript:.js.es6.es.jsx.mjs
|
||||||
|
--javascript-kinds=-c-f-m-p-v
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*\[/\1/A,Array,Arrays/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*\[/\1/A,Array,Arrays/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*\[/\1/A,Array,Arrays/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*class[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/C,Class,Classes/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\3/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\5/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\7/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}function[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}async[ \t]function[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,Export,Exports/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\3/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\5/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\7/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}function[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}async[ \t]function[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,Export,Exports/b
|
||||||
|
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,Export,Exports/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*function[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t(]/\1/F,Function,Functions/b
|
||||||
|
--regex-javascript=/^[ \t]*[(]function[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t(]/\1/F,Function,Functions/b
|
||||||
|
--regex-javascript=/^[ \t]*async[ \t]function[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t(]/\1/F,Function,Functions/b
|
||||||
|
--regex-javascript=/^[ \t]*[(]async[ \t]function[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t(]/\1/F,Function,Functions/b
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*\(async[ \t]\{1,\}\)*function[^\*][^\*]/\1/F,Function,Functions/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*\(async[ \t]\{1,\}\)*function[^\*][^\*]/\1/F,Function,Functions/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*\(async[ \t]\{1,\}\)*function[^\*][^\*]/\1/F,Function,Functions/b
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*([^)]*$/\1/F,Function,Functions/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*([^)]*$/\1/F,Function,Functions/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*([^)]*$/\1/F,Function,Functions/b
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=.\{1,\}=>/\1/F,Function,Functions/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=.\{1,\}=>/\1/F,Function,Functions/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=.\{1,\}=>/\1/F,Function,Functions/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*function[ \t]*\*[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\1/G,Generator,Generators/b
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*function\([ \t]*\*\)/\1/G,Generator,Generators/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*function\([ \t]*\*\)/\1/G,Generator,Generators/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*function\([ \t]*\*\)/\1/G,Generator,Generators/b
|
||||||
|
--regex-javascript=/^[ \t]*\(\*[ \t]\)\([A-Za-z0-9_$]\{1,\}\)[ \t]*(.*)[ \t]*[{]/\2/G,Generator,Generators/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*import[ \t]\{1,\}\([{][ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\3/I,Import,Imports/b
|
||||||
|
--regex-javascript=/^[ \t]*import[ \t]\{1,\}\([{][ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\5/I,Import,Imports/b
|
||||||
|
--regex-javascript=/^[ \t]*import[ \t]\{1,\}\([{][ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\7/I,Import,Imports/b
|
||||||
|
--regex-javascript=/^[ \t]*import[ \t]\{1,\}type[ \t]\{1,\}\([{][ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\3/I,Import,Imports/b
|
||||||
|
--regex-javascript=/^[ \t]*import[ \t]\{1,\}typeof[ \t]\{1,\}\([{][ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\3/I,Import,Imports/b
|
||||||
|
--regex-javascript=/^[ \t]*[A-Za-z0-9_]\{1,\}[ \t]as[ \t]\([A-Za-z0-9_]\{1,\}\)/\1/I,Import,Imports/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)\.\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*function/\2/M,Method,Methods/b
|
||||||
|
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)\.\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*(/\2/M,Method,Methods/b
|
||||||
|
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)\.\([A-Za-z0-9_$]\{1,\}\)\.\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*function/\3/M,Method,Methods/b
|
||||||
|
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)\.\([A-Za-z0-9_$]\{1,\}\)\.\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*(/\3/M,Method,Methods/b
|
||||||
|
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[:=][ \t]*[(]*function[ \t]*(/\1/M,Method,Methods/b
|
||||||
|
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[:=][ \t](\{1,\}/\1/M,Method,Methods/b
|
||||||
|
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[:=][ \t]\{1,\}async[ \t](\{1,\}/\1/M,Method,Methods/b
|
||||||
|
--regex-javascript=/^[ \t]*static[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*(/\1/M,Method,Methods/b
|
||||||
|
--regex-javascript=/^[ \t]*async[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*(/\1/M,Method,Methods/b
|
||||||
|
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)(.*)[ \t]*[{]/\1/M,Method,Methods/b
|
||||||
|
--regex-javascript=/^[ \t]*get[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*(/\1/M,Method,Methods/b
|
||||||
|
--regex-javascript=/^[ \t]*set[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*(/\1/M,Method,Methods/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)\.\([A-Za-z0-9_$]\{1,\}\)[ \t]*[=][ \t]*{/\2/P,Property,Properties/b
|
||||||
|
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*:[ \t]*[{"\/\[]/\1/P,Property,Properties/b
|
||||||
|
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*:[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t,]*$/\1/P,Property,Properties/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*[{]/\1/O,Object,Objects/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*[{]/\1/O,Object,Objects/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*[{]/\1/O,Object,Objects/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*styled/\1/S,StyledComponent,StyledComponents/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*styled/\1/S,StyledComponent,StyledComponents/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*styled/\1/S,StyledComponent,StyledComponents/b
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*createGlobalStyle/\1/S,StyledComponent,StyledComponents/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*createGlobalStyle/\1/S,StyledComponent,StyledComponents/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*createGlobalStyle/\1/S,StyledComponent,StyledComponents/b
|
||||||
|
|
||||||
|
--regex-javascript=/\/\/[ \t]*\(FIXME\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
|
||||||
|
--regex-javascript=/\/\/[ \t]*\(TODO\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
|
||||||
|
--regex-javascript=/\/\/[ \t]*\(BUG\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
|
||||||
|
--regex-javascript=/\/\/[ \t]*\(NOBUG\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
|
||||||
|
--regex-javascript=/\/\/[ \t]*\(???\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
|
||||||
|
--regex-javascript=/\/\/[ \t]*\(!!!\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
|
||||||
|
--regex-javascript=/\/\/[ \t]*\(HACK\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
|
||||||
|
--regex-javascript=/\/\/[ \t]*\(XXX\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*[0-9\"'\/]/\1/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*[0-9\"'\/]/\1/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*[0-9\"'\/]/\1/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*new/\1/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*new/\1/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*new/\1/V,Variable,Variables/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[,;]/\1/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[,;]/\1/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/V,Variable,Variables/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\1/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\2/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\3/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\4/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\1/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\2/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\3/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\4/V,Variable,Variables/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\1/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\2/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\3/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\4/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\1/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\2/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\3/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\4/V,Variable,Variables/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\1/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\2/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\3/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\4/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\1/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\2/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\3/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\4/V,Variable,Variables/b
|
||||||
|
|
||||||
|
--regex-javascript=/^[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\),$/\1/V,Variable,Variables/b
|
||||||
|
--regex-javascript=/^[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)$/\1/V,Variable,Variables/b
|
30
dot_gitconfig.tmpl
Normal file
30
dot_gitconfig.tmpl
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
[user]
|
||||||
|
name = jay
|
||||||
|
email = jay@lawsnote.com
|
||||||
|
[merge]
|
||||||
|
tool = vimdiff
|
||||||
|
[diff]
|
||||||
|
tool = vimdiff
|
||||||
|
trustExitCode = true
|
||||||
|
[difftool]
|
||||||
|
prompt = true
|
||||||
|
[alias]
|
||||||
|
d = difftool
|
||||||
|
co = checkout
|
||||||
|
ci = commit -v
|
||||||
|
l = log --oneline --graph --all
|
||||||
|
ls = log --graph --pretty=format:\"%h <%an> %ar %s\" --all
|
||||||
|
st = status
|
||||||
|
br = branch
|
||||||
|
wt = worktree
|
||||||
|
wta = worktree add
|
||||||
|
wtr = worktree remove
|
||||||
|
wtl = worktree list
|
||||||
|
[mergetool]
|
||||||
|
keepBackup = false
|
||||||
|
[mergetool "vimdiff"]
|
||||||
|
cmd = nvim -d $LOCAL $REMOTE $MERGED -c '$wincmd w' -c 'wincmd J'
|
||||||
|
[core]
|
||||||
|
editor = nvim
|
||||||
|
|
||||||
|
# vim: ft=gitconfig
|
155
dot_tmux.conf
Normal file
155
dot_tmux.conf
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
# =============================
|
||||||
|
|
||||||
|
run-shell "tmux setenv -g TMUX_VERSION $(tmux -V | sed 's/[^0-9.]//g')"
|
||||||
|
run-shell "tmux setenv -g TMUX_VERSION_29 $(awk 'BEGIN {print (\"'$(tmux -V | sed 's/[^0-9.]//g')'\" >= 2.9)}')"
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# Global settings
|
||||||
|
# -----------------------------
|
||||||
|
# set -g default-terminal xterm-256color
|
||||||
|
set -g default-terminal screen-256color
|
||||||
|
set-option -ga terminal-overrides ",*256col*:Tc"
|
||||||
|
|
||||||
|
# scrollback buffer n lines
|
||||||
|
set -g history-limit 10000
|
||||||
|
|
||||||
|
# listen for activity on all windows
|
||||||
|
set -g bell-action any
|
||||||
|
|
||||||
|
# start window indexing at 1 window so the <prefix> 1 is easier to reach
|
||||||
|
set -g base-index 1
|
||||||
|
|
||||||
|
# xterm-style function key sequences
|
||||||
|
setw -g xterm-keys on
|
||||||
|
|
||||||
|
# control automatic window renaming
|
||||||
|
setw -g automatic-rename off
|
||||||
|
|
||||||
|
# enable wm window titles
|
||||||
|
set -g set-titles on
|
||||||
|
|
||||||
|
# remove <esc> key press delay
|
||||||
|
set -sg escape-time 0
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# Key bindings
|
||||||
|
# -----------------------------
|
||||||
|
unbind-key C-v
|
||||||
|
|
||||||
|
# Create window
|
||||||
|
bind-key C-n new-window
|
||||||
|
# use C-n to create new windows because C-c is to interrupt
|
||||||
|
|
||||||
|
# split windows (create pane)
|
||||||
|
bind-key _ split-window -v -c '#{pane_current_path}'
|
||||||
|
bind-key | split-window -h -c '#{pane_current_path}'
|
||||||
|
|
||||||
|
# kill current pane when the inner process is unable to exit for whatever reason
|
||||||
|
# bind-key q confirm-before kill-pane
|
||||||
|
|
||||||
|
# <prefix> or Ctrl- or <prefix> Ctrl-
|
||||||
|
# k --- previous pane
|
||||||
|
# h l --- previous window / next window
|
||||||
|
# j --- next pane
|
||||||
|
|
||||||
|
# navigate windows
|
||||||
|
unbind-key l
|
||||||
|
bind-key h select-window -t :-
|
||||||
|
bind-key C-h select-window -t :-
|
||||||
|
bind-key -n C-h select-window -t :-
|
||||||
|
bind-key l select-window -t :+
|
||||||
|
bind-key C-l select-window -t :+
|
||||||
|
bind-key -n C-l select-window -t :+
|
||||||
|
|
||||||
|
# navigate panes
|
||||||
|
# bind-key j select-pane -t :.-
|
||||||
|
# bind-key C-j select-pane -t :.-
|
||||||
|
# bind-key -n C-j select-pane -t :.-
|
||||||
|
# bind-key k select-pane -t :.+
|
||||||
|
# bind-key C-k select-pane -t :.+
|
||||||
|
# bind-key -n C-k select-pane -t :.+
|
||||||
|
|
||||||
|
# Copy-mode (vi-mode)
|
||||||
|
#
|
||||||
|
|
||||||
|
# vi-style controls for copy mode
|
||||||
|
setw -g mode-keys vi
|
||||||
|
|
||||||
|
# C-v (the original '[' is still availible) to enter vi-mode
|
||||||
|
bind-key [ copy-mode
|
||||||
|
|
||||||
|
# select and copy like vi in vi-mode
|
||||||
|
bind-key -T copy-mode-vi v send -X begin-selection
|
||||||
|
bind-key -T copy-mode-vi y send -X copy-selection
|
||||||
|
# if encounter incompatible with send-keys/send -X, use lagacy setting:
|
||||||
|
# bind-key -t vi-copy 'v' begin-selection
|
||||||
|
# bind-key -t vi-copy 'y' copy-selection
|
||||||
|
|
||||||
|
# enable navigation in vi mode
|
||||||
|
bind-key -T copy-mode-vi C-h select-window -t :-
|
||||||
|
bind-key -T copy-mode-vi C-l select-window -t :+
|
||||||
|
bind-key -T copy-mode-vi C-j select-pane -t :.-
|
||||||
|
bind-key -T copy-mode-vi C-k select-pane -t :.+
|
||||||
|
|
||||||
|
# reload settings
|
||||||
|
bind-key R source-file ~/.tmux.conf
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# Statusbar settings
|
||||||
|
# -----------------------------
|
||||||
|
|
||||||
|
# use vi-style key bindings in the status line
|
||||||
|
set -g status-keys vi
|
||||||
|
|
||||||
|
# amount of time for which status line messages and other indicators
|
||||||
|
# are displayed. time is in milliseconds.
|
||||||
|
set -g display-time 2000
|
||||||
|
|
||||||
|
# default statusbar colors
|
||||||
|
if-shell -b '[ "$TMUX_VERSION_29" = 0 ]' \
|
||||||
|
"set -g status-fg white \
|
||||||
|
set -g status-bg default \
|
||||||
|
set -g status-attr default"
|
||||||
|
if-shell -b '[ "$TMUX_VERSION_29" = 1 ]' \
|
||||||
|
"set -g status-style fg=white,bg=default"
|
||||||
|
|
||||||
|
# default window title colors
|
||||||
|
if-shell -b '[ "$TMUX_VERSION_29" = 0 ]' \
|
||||||
|
"setw -g window-status-fg white \
|
||||||
|
setw -g window-status-bg default \
|
||||||
|
setw -g window-status-attr dim"
|
||||||
|
if-shell -b '[ "$TMUX_VERSION_29" = 1 ]' \
|
||||||
|
"set -g window-status-style fg=white,bg=default,dim"
|
||||||
|
|
||||||
|
# active window title colors
|
||||||
|
if-shell -b '[ "$TMUX_VERSION_29" = 0 ]' \
|
||||||
|
"setw -g window-status-current-fg cyan \
|
||||||
|
setw -g window-status-current-bg default \
|
||||||
|
setw -g window-status-current-attr bright \
|
||||||
|
setw -g window-status-current-attr underscore"
|
||||||
|
if-shell -b '[ "$TMUX_VERSION_29" = 1 ]' \
|
||||||
|
"set -g window-status-current-style fg=cyan,bg=default,bright,underscore"
|
||||||
|
|
||||||
|
# command/message line colors
|
||||||
|
if-shell -b '[ "$TMUX_VERSION_29" = 0 ]' \
|
||||||
|
"set -g message-fg white \
|
||||||
|
set -g message-bg black \
|
||||||
|
set -g message-attr bright"
|
||||||
|
if-shell -b '[ "$TMUX_VERSION_29" = 1 ]' \
|
||||||
|
"set -g message-style fg=white,bg=black,bright"
|
||||||
|
|
||||||
|
# what to be displayed on the right status
|
||||||
|
set -g status-interval 1
|
||||||
|
set -g status-right ' } %Y-%m-%d %H:%M:%S'
|
||||||
|
set -g status-right-length 60
|
||||||
|
|
||||||
|
# what to be displayed on the left status
|
||||||
|
set -g status-left-length 30
|
||||||
|
set-option -g status-left "#[fg=green]#(echo $USER)#[default].#[fg=blue]#h#[default] { "
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# Platform fix
|
||||||
|
# -----------------------------
|
||||||
|
|
||||||
|
if-shell "hash reattach-to-user-namespace 2> /dev/null" 'set-option -g default-command "reattach-to-user-namespace bash"'
|
||||||
|
|
101
dot_zprofile
Normal file
101
dot_zprofile
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
# `$HOME/bin/start-agent`
|
||||||
|
SSH_ENV="$HOME/.ssh/agent-environment"
|
||||||
|
|
||||||
|
function start_agent {
|
||||||
|
echo "Initialising new SSH agent..."
|
||||||
|
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
|
||||||
|
echo succeeded
|
||||||
|
chmod 600 "${SSH_ENV}"
|
||||||
|
. "${SSH_ENV}" > /dev/null
|
||||||
|
/usr/bin/ssh-add;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Source SSH settings, if applicable
|
||||||
|
|
||||||
|
if [ -f "${SSH_ENV}" ]; then
|
||||||
|
. "${SSH_ENV}" > /dev/null
|
||||||
|
#ps ${SSH_AGENT_PID} doesn't work under cywgin
|
||||||
|
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
|
||||||
|
start_agent;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
start_agent;
|
||||||
|
fi
|
||||||
|
|
||||||
|
function envf {
|
||||||
|
if [ ! -f "$1" ]; then
|
||||||
|
echo "File $1 does not exist"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
export $(cat $1 | grep -v '^#' | xargs)
|
||||||
|
}
|
||||||
|
|
||||||
|
function save-image {
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "usage: save-image <image-name>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
imageName=$(echo ${1##*/} | sed 's/:/_/' | xargs -I {} echo "{}.tar")
|
||||||
|
|
||||||
|
lima nerdctl pull $1
|
||||||
|
lima nerdctl image save -o $imageName $1
|
||||||
|
lima nerdctl image rm $1
|
||||||
|
}
|
||||||
|
|
||||||
|
function ttySize {
|
||||||
|
echo "-e COLUMNS=$(tput cols) -e LINES=$(tput lines)"
|
||||||
|
}
|
||||||
|
|
||||||
|
export HISTORY_SUBSTRING_SEARCH_PREFIXED=1
|
||||||
|
export GOPATH="$HOME/go"
|
||||||
|
export GOROOT="$HOME/apps/go"
|
||||||
|
export NODE_ROOT="$HOME/apps/node"
|
||||||
|
|
||||||
|
export PATH="$GOPATH/bin:$GOROOT/bin:$NODE_ROOT/bin:${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
|
||||||
|
|
||||||
|
if [ -f "$HOME/.cargo/env" ]; then
|
||||||
|
. "$HOME/.cargo/env"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d "$HOME/bin" ]; then
|
||||||
|
export PATH="$HOME/bin:$PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d "$HOME/.local/bin" ]; then
|
||||||
|
export PATH="$PATH:$HOME/.local/bin"
|
||||||
|
fi
|
||||||
|
|
||||||
|
function ln-image-tags {
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "usage: ln-image-tags <image-name>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
curlie -L https://registry.lawsnote.com/v2/$1/tags/list
|
||||||
|
}
|
||||||
|
|
||||||
|
function ln-save-image {
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "usage: ln-save-image <image-name:tag>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker-save --rm -p -o . -i registry.lawsnote.com/$1
|
||||||
|
}
|
||||||
|
|
||||||
|
function minio-size {
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "usage: minio-size <alias or alias/bucket-path>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mc ls -r --json $1 | jq -s 'map(.size) | add' | numfmt --to=iec-i --suffix=B --padding=7
|
||||||
|
}
|
||||||
|
|
||||||
|
# The next line updates PATH for the Google Cloud SDK.
|
||||||
|
if [ -f '/home/jay/apps/google-cloud-sdk/path.zsh.inc' ]; then . '/home/jay/apps/google-cloud-sdk/path.zsh.inc'; fi
|
||||||
|
|
||||||
|
# The next line enables shell command completion for gcloud.
|
||||||
|
if [ -f '/home/jay/apps/google-cloud-sdk/completion.zsh.inc' ]; then . '/home/jay/apps/google-cloud-sdk/completion.zsh.inc'; fi
|
54
dot_zsh/20_keybind.zsh
Normal file
54
dot_zsh/20_keybind.zsh
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
# Vim-like keybind as default
|
||||||
|
bindkey -v
|
||||||
|
|
||||||
|
autoload -U edit-command-line
|
||||||
|
zle -N edit-command-line
|
||||||
|
|
||||||
|
bindkey '^[,' autosuggest-accept
|
||||||
|
|
||||||
|
bindkey '^[[A' history-substring-search-up
|
||||||
|
bindkey '^[[B' history-substring-search-down
|
||||||
|
|
||||||
|
bindkey -M viins '^X^E' edit-command-line
|
||||||
|
# Add emacs-like keybind to viins mode
|
||||||
|
bindkey -M viins '^F' forward-char
|
||||||
|
bindkey -M viins '^B' backward-char
|
||||||
|
# bindkey -M viins '^P' up-line-or-history
|
||||||
|
# bindkey -M viins '^N' down-line-or-history
|
||||||
|
bindkey -M viins '^A' beginning-of-line
|
||||||
|
bindkey -M viins '^E' end-of-line
|
||||||
|
bindkey -M viins '^K' kill-line
|
||||||
|
bindkey -M viins '^R' history-incremental-pattern-search-backward
|
||||||
|
# bindkey -M viins '\er' history-incremental-pattern-search-forward
|
||||||
|
bindkey -M viins '^Y' yank
|
||||||
|
bindkey -M viins '^W' backward-kill-word
|
||||||
|
bindkey -M viins '^U' backward-kill-line
|
||||||
|
bindkey -M viins '^H' backward-delete-char
|
||||||
|
bindkey -M viins '^?' backward-delete-char
|
||||||
|
bindkey -M viins '^G' send-break
|
||||||
|
bindkey -M viins '^D' delete-char-or-list
|
||||||
|
|
||||||
|
bindkey -M vicmd '^A' beginning-of-line
|
||||||
|
bindkey -M vicmd '^E' end-of-line
|
||||||
|
bindkey -M vicmd '^K' kill-line
|
||||||
|
# bindkey -M vicmd '^P' up-line-or-history
|
||||||
|
# bindkey -M vicmd '^N' down-line-or-history
|
||||||
|
bindkey -M vicmd '^Y' yank
|
||||||
|
bindkey -M vicmd '^W' backward-kill-word
|
||||||
|
bindkey -M vicmd '^U' backward-kill-line
|
||||||
|
bindkey -M vicmd '/' vi-history-search-forward
|
||||||
|
bindkey -M vicmd '?' vi-history-search-backward
|
||||||
|
|
||||||
|
bindkey -M vicmd 'gg' beginning-of-line
|
||||||
|
bindkey -M vicmd 'G' end-of-line
|
||||||
|
|
||||||
|
if is-at-least 5.0.8; then
|
||||||
|
autoload -Uz surround
|
||||||
|
zle -N delete-surround surround
|
||||||
|
zle -N change-surround surround
|
||||||
|
zle -N add-surround surround
|
||||||
|
bindkey -a cs change-surround
|
||||||
|
bindkey -a ds delete-surround
|
||||||
|
bindkey -a ys add-surround
|
||||||
|
bindkey -a S add-surround
|
||||||
|
fi
|
11
dot_zsh/30_alias.zsh
Normal file
11
dot_zsh/30_alias.zsh
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
alias k="kubectl"
|
||||||
|
alias nv="nvim"
|
||||||
|
alias ls="ls --color=auto"
|
||||||
|
|
||||||
|
# alias docker="lima nerdctl"
|
||||||
|
# alias ds="lima sudo nerdctl"
|
||||||
|
|
||||||
|
alias wgup="sudo wg-quick up"
|
||||||
|
alias wgdown="sudo wg-quick down"
|
||||||
|
|
||||||
|
alias lg="lazygit"
|
160
dot_zsh/50_setopt.zsh
Normal file
160
dot_zsh/50_setopt.zsh
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
# Do not print the directory stack after pushd or popd.
|
||||||
|
#setopt pushd_silent
|
||||||
|
# Replace 'cd -' with 'cd +'
|
||||||
|
setopt pushd_minus
|
||||||
|
|
||||||
|
# Ignore duplicates to add to pushd
|
||||||
|
setopt pushd_ignore_dups
|
||||||
|
|
||||||
|
# pushd no arg == pushd $HOME
|
||||||
|
setopt pushd_to_home
|
||||||
|
|
||||||
|
# Check spell command
|
||||||
|
# setopt correct
|
||||||
|
|
||||||
|
# Check spell all
|
||||||
|
# setopt correct_all
|
||||||
|
|
||||||
|
# Prohibit overwrite by redirection(> & >>) (Use >! and >>! to bypass.)
|
||||||
|
# setopt no_clobber
|
||||||
|
|
||||||
|
# Deploy {a-c} -> a b c
|
||||||
|
setopt brace_ccl
|
||||||
|
|
||||||
|
# Enable 8bit
|
||||||
|
setopt print_eight_bit
|
||||||
|
|
||||||
|
# sh_word_split
|
||||||
|
setopt sh_word_split
|
||||||
|
|
||||||
|
# Change
|
||||||
|
#~$ echo 'hoge' \' 'fuga'
|
||||||
|
# to
|
||||||
|
#~$ echo 'hoge '' fuga'
|
||||||
|
setopt rc_quotes
|
||||||
|
|
||||||
|
# Case of multi redirection and pipe,
|
||||||
|
# use 'tee' and 'cat', if needed
|
||||||
|
# ~$ < file1 # cat
|
||||||
|
# ~$ < file1 < file2 # cat 2 files
|
||||||
|
# ~$ < file1 > file3 # copy file1 to file3
|
||||||
|
# ~$ < file1 > file3 | cat # copy and put to stdout
|
||||||
|
# ~$ cat file1 > file3 > /dev/stdin # tee
|
||||||
|
setopt multios
|
||||||
|
|
||||||
|
# Automatically delete slash complemented by supplemented by inserting a space.
|
||||||
|
setopt auto_remove_slash
|
||||||
|
|
||||||
|
# No Beep
|
||||||
|
setopt no_beep
|
||||||
|
setopt no_list_beep
|
||||||
|
setopt no_hist_beep
|
||||||
|
|
||||||
|
# Expand '=command' as path of command
|
||||||
|
# e.g.) '=ls' -> '/bin/ls'
|
||||||
|
setopt equals
|
||||||
|
|
||||||
|
# Do not use Ctrl-s/Ctrl-q as flow control
|
||||||
|
setopt no_flow_control
|
||||||
|
|
||||||
|
# Look for a sub-directory in $PATH when the slash is included in the command
|
||||||
|
setopt path_dirs
|
||||||
|
|
||||||
|
# Show exit status if it's except zero.
|
||||||
|
setopt print_exit_value
|
||||||
|
|
||||||
|
# Show expaning and executing in what way
|
||||||
|
#setopt xtrace
|
||||||
|
|
||||||
|
# Confirm when executing 'rm *'
|
||||||
|
# setopt rm_star_wait
|
||||||
|
|
||||||
|
# Let me know immediately when terminating job
|
||||||
|
setopt notify
|
||||||
|
|
||||||
|
# Show process ID
|
||||||
|
setopt long_list_jobs
|
||||||
|
|
||||||
|
# Resume when executing the same name command as suspended process name
|
||||||
|
setopt auto_resume
|
||||||
|
|
||||||
|
# Disable Ctrl-d (Use 'exit', 'logout')
|
||||||
|
#setopt ignore_eof
|
||||||
|
|
||||||
|
# Ignore case when glob
|
||||||
|
setopt no_case_glob
|
||||||
|
|
||||||
|
# Use '*, ~, ^' as regular expression
|
||||||
|
# Match without pattern
|
||||||
|
# ex. > rm *~398
|
||||||
|
# remove * without a file "398". For test, use "echo *~398"
|
||||||
|
setopt extended_glob
|
||||||
|
|
||||||
|
# If the path is directory, add '/' to path tail when generating path by glob
|
||||||
|
setopt mark_dirs
|
||||||
|
|
||||||
|
# Automaticall escape URL when copy and paste
|
||||||
|
autoload -Uz url-quote-magic
|
||||||
|
zle -N self-insert url-quote-magic
|
||||||
|
|
||||||
|
# Prevent overwrite prompt from output withour cr
|
||||||
|
setopt no_prompt_cr
|
||||||
|
|
||||||
|
# Let me know mail arrival
|
||||||
|
setopt mail_warning
|
||||||
|
|
||||||
|
# Do not record an event that was just recorded again.
|
||||||
|
setopt hist_ignore_dups
|
||||||
|
|
||||||
|
# Delete an old recorded event if a new event is a duplicate.
|
||||||
|
setopt hist_ignore_all_dups
|
||||||
|
setopt hist_save_nodups
|
||||||
|
|
||||||
|
# Expire a duplicate event first when trimming history.
|
||||||
|
setopt hist_expire_dups_first
|
||||||
|
|
||||||
|
# Do not display a previously found event.
|
||||||
|
setopt hist_find_no_dups
|
||||||
|
|
||||||
|
# Shere history
|
||||||
|
setopt share_history
|
||||||
|
|
||||||
|
# Pack extra blank
|
||||||
|
setopt hist_reduce_blanks
|
||||||
|
|
||||||
|
# Write to the history file immediately, not when the shell exits.
|
||||||
|
setopt inc_append_history
|
||||||
|
|
||||||
|
# Remove comannd of 'hostory' or 'fc -l' from history list
|
||||||
|
setopt hist_no_store
|
||||||
|
|
||||||
|
# Remove functions from history list
|
||||||
|
setopt hist_no_functions
|
||||||
|
|
||||||
|
# Record start and end time to history file
|
||||||
|
setopt extended_history
|
||||||
|
|
||||||
|
# Ignore the beginning space command to history file
|
||||||
|
setopt hist_ignore_space
|
||||||
|
|
||||||
|
# Append to history file
|
||||||
|
setopt append_history
|
||||||
|
|
||||||
|
# Edit history file during call history before executing
|
||||||
|
setopt hist_verify
|
||||||
|
|
||||||
|
# Enable history system like a Bash
|
||||||
|
setopt bang_hist
|
||||||
|
|
||||||
|
setopt always_last_prompt
|
||||||
|
# setopt auto_cd
|
||||||
|
setopt auto_menu
|
||||||
|
setopt auto_param_keys
|
||||||
|
setopt auto_param_slash
|
||||||
|
setopt auto_pushd
|
||||||
|
setopt complete_in_word
|
||||||
|
setopt globdots
|
||||||
|
setopt interactive_comments
|
||||||
|
setopt list_types
|
||||||
|
setopt magic_equal_subst
|
||||||
|
setopt monitor
|
46
dot_zsh/70_misc.zsh
Normal file
46
dot_zsh/70_misc.zsh
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# Important
|
||||||
|
zstyle ':completion:*:default' menu select=2
|
||||||
|
|
||||||
|
# Completing Groping
|
||||||
|
zstyle ':completion:*:options' description 'yes'
|
||||||
|
zstyle ':completion:*:descriptions' format '%F{yellow}Completing %B%d%b%f'
|
||||||
|
zstyle ':completion:*' group-name ''
|
||||||
|
|
||||||
|
# Completing misc
|
||||||
|
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
||||||
|
zstyle ':completion:*' verbose yes
|
||||||
|
zstyle ':completion:*' completer _expand _complete _match _prefix _approximate _list _history
|
||||||
|
zstyle ':completion:*:*files' ignored-patterns '*?.o' '*?~' '*\#'
|
||||||
|
zstyle ':completion:*' use-cache true
|
||||||
|
zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters
|
||||||
|
|
||||||
|
# Directory
|
||||||
|
zstyle ':completion:*:cd:*' ignore-parents parent pwd
|
||||||
|
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
|
||||||
|
|
||||||
|
# default: --
|
||||||
|
zstyle ':completion:*' list-separator '-->'
|
||||||
|
zstyle ':completion:*:manuals' separate-sections true
|
||||||
|
|
||||||
|
# Menu select
|
||||||
|
zmodload -i zsh/complist
|
||||||
|
bindkey -M menuselect '^h' vi-backward-char
|
||||||
|
bindkey -M menuselect '^j' vi-down-line-or-history
|
||||||
|
bindkey -M menuselect '^k' vi-up-line-or-history
|
||||||
|
bindkey -M menuselect '^l' vi-forward-char
|
||||||
|
#bindkey -M menuselect '^k' accept-and-infer-next-history
|
||||||
|
|
||||||
|
autoload -Uz cdr
|
||||||
|
autoload -Uz history-search-end
|
||||||
|
autoload -Uz modify-current-argument
|
||||||
|
autoload -Uz smart-insert-last-word
|
||||||
|
autoload -Uz terminfo
|
||||||
|
autoload -Uz vcs_info
|
||||||
|
autoload -Uz zcalc
|
||||||
|
autoload -Uz zmv
|
||||||
|
autoload -Uz run-help-git
|
||||||
|
autoload -Uz run-help-svk
|
||||||
|
autoload -Uz run-help-svn
|
||||||
|
|
||||||
|
autoload -Uz compinit
|
||||||
|
compinit
|
8
dot_zsh/zsh.sh
Normal file
8
dot_zsh/zsh.sh
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
dir=$(dirname $0)
|
||||||
|
|
||||||
|
for i in $(ls $dir/*.zsh);
|
||||||
|
do
|
||||||
|
source "$i"
|
||||||
|
done
|
47
dot_zshrc
Normal file
47
dot_zshrc
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
export ZSH_TMUX_AUTOSTART=true
|
||||||
|
export ZSH_TMUX_AUTOSTART_ONCE=true
|
||||||
|
export ZSH_TMUX_AUTOCONNECT=true
|
||||||
|
# install zinit
|
||||||
|
# git clone https://github.com/zdharma-continuum/zinit.git ~/.zinit/bin
|
||||||
|
source ~/.zinit/bin/zinit.zsh
|
||||||
|
|
||||||
|
zinit light zsh-users/zsh-completions
|
||||||
|
zinit light zsh-users/zsh-autosuggestions
|
||||||
|
zinit light mattbangert/kubectl-zsh-plugin
|
||||||
|
|
||||||
|
zinit light zdharma-continuum/fast-syntax-highlighting
|
||||||
|
|
||||||
|
zinit light zsh-users/zsh-history-substring-search
|
||||||
|
|
||||||
|
# OhMyZSH Plugs
|
||||||
|
zinit snippet OMZ::lib/completion.zsh
|
||||||
|
zinit snippet OMZ::lib/git.zsh
|
||||||
|
zinit snippet OMZ::lib/theme-and-appearance.zsh
|
||||||
|
zinit ice as="completion"
|
||||||
|
zinit snippet OMZ::plugins/docker/_docker
|
||||||
|
zinit snippet OMZP::composer
|
||||||
|
zinit snippet OMZP::aws
|
||||||
|
zinit snippet OMZ::plugins/sudo/sudo.plugin.zsh
|
||||||
|
zinit snippet OMZP::kubectl
|
||||||
|
zinit ice lucid wait='1'
|
||||||
|
zinit snippet OMZ::plugins/git/git.plugin.zsh
|
||||||
|
|
||||||
|
# Load OMZ extract folder
|
||||||
|
zinit ice svn
|
||||||
|
zinit snippet OMZ::plugins/extract
|
||||||
|
zinit ice svn
|
||||||
|
zinit snippet OMZ::plugins/tmux
|
||||||
|
|
||||||
|
# theme
|
||||||
|
zinit light "otakukaze/zsh-ys-theme"
|
||||||
|
|
||||||
|
# auto load other zshfiles
|
||||||
|
[ -f "$HOME/.zsh/zsh.sh" ] && source "$HOME/.zsh/zsh.sh"
|
||||||
|
|
||||||
|
[ -f "$HOME/.zprofile" ] && source "$HOME/.zprofile"
|
||||||
|
|
||||||
|
# vim: set ft=zsh:
|
||||||
|
|
||||||
|
|
||||||
|
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|
||||||
|
export PATH="/usr/local/opt/openjdk/bin:$PATH"
|
21
private_dot_ssh/config
Normal file
21
private_dot_ssh/config
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
Host *
|
||||||
|
StrictHostKeyChecking no
|
||||||
|
UserKnownHostsFile /dev/null
|
||||||
|
ForwardAgent yes
|
||||||
|
|
||||||
|
Host git.lawsnote.com
|
||||||
|
Port 2222
|
||||||
|
User git
|
||||||
|
HostName git.lawsnote.com
|
||||||
|
|
||||||
|
Host dev
|
||||||
|
User jay
|
||||||
|
HostName 192.168.200.15
|
||||||
|
|
||||||
|
Host vpn
|
||||||
|
User root
|
||||||
|
HostName 192.168.201.254
|
||||||
|
|
||||||
|
Host lndev
|
||||||
|
User jay
|
||||||
|
HostName 192.168.88.12
|
Loading…
Reference in New Issue
Block a user