Merge branch 'main' of ssh://git.clustercockpit.org:1073/moebiusband/dotfiles

This commit is contained in:
Jan Eitzinger 2024-12-25 12:33:21 +01:00
commit a335d91934
135 changed files with 1672 additions and 1426 deletions

View File

@ -14,4 +14,7 @@ LICENSE
{{ else }}
.config/fish/conf.d/fish-ssh-agent.fish
.config/fish/functions/__ssh_agent_*
.config/zed/*
.config/nvim/lazy-lock.json
.config/nvim/lazyvim.json
{{ end }}

299
dot_config/broot/conf.hjson Normal file
View File

@ -0,0 +1,299 @@
###############################################################
# This configuration file lets you
# - define new commands
# - change the shortcut or triggering keys of built-in verbs
# - change the colors
# - set default values for flags
# - set special behaviors on specific paths
# - and more...
#
# Configuration documentation is available at
# https://dystroy.org/broot
#
# This file's format is Hjson ( https://hjson.github.io/ ). Some
# properties are commented out. To enable them, remove the `#`.
#
###############################################################
###############################################################
# Default flags
# You can set up flags you want broot to start with by
# default, for example `default_flags="-ihp"` if you usually want
# to see hidden and gitignored files and the permissions (then
# if you don't want the hidden files at a specific launch,
# you can launch broot with `br -H`).
# A popular flag is the `g` one which displays git related info.
#
# default_flags:
###############################################################
# Terminal's title
# If you want the terminal's title to be updated when you change
# directory, set a terminal_title pattern by uncommenting one of
# the examples below and tuning it to your taste.
#
# terminal_title: "[broot] {git-name}"
# terminal_title: "{file} 🐄"
# terminal_title: "-= {file-name} =-"
###############################################################
# Date/Time format
# If you want to change the format for date/time, uncomment the
# following line and change it according to
# https://docs.rs/chrono/0.4.11/chrono/format/strftime/index.html
#
# date_time_format: %Y/%m/%d %R
###############################################################
# uncomment to activate modal mode
#
# (you really should read https://dystroy.org/broot/modal/
# before as it may not suit everybody even among vim users)
#
# You may start either in 'command' mode, or in 'input' mode
#
# modal: true
# initial_mode: command
###############################################################
# Whether to mark the selected line with a triangle
#
show_selection_mark: true
###############################################################
# Column order
# cols_order, if specified, must be a permutation of the following
# array. You should keep the name column at the end as it has a
# variable length.
#
# cols_order: [
# mark
# git
# size
# permission
# date
# count
# branch
# name
# ]
###############################################################
# True Colors
# If this parameter isn't set, broot tries to automatically
# determine whether true colors (24 bits) are available.
# As this process is unreliable, you may uncomment this setting
# and set it to false or true if you notice the colors in
# previewed images are too off.
#
# true_colors: false
###############################################################
# Icons
# If you want to display icons in broot, uncomment this line
# (see https://dystroy.org/broot/icons for installation and
# troubleshooting)
#
# icon_theme: vscode
###############################################################
# Special paths
# If some paths must be handled specially, uncomment (and change
# this section as per the examples)
# Setting "list":"never" on a dir prevents broot from looking at its
# children when searching, unless the dir is the selected root.
# Setting "sum":"never" on a dir prevents broot from looking at its
# children when computing the total size and count of files.
# Setting "show":"always" makes a file visible even if its name
# starts with a dot.
# Setting "list":"always" may be useful on a link to a directory
# (they're otherwise not entered by broot unless selected)
#
special_paths: {
"/media" : {
list: "never"
sum: "never"
}
"~/.config": { "show": "always" }
"trav": {
show: always
list: "always",
sum: "never"
}
# "~/useless": { "show": "never" }
# "~/my-link-I-want-to-explore": { "list": "always" }
}
###############################################################
# Quit on last cancel
# You can usually cancel the last state change on escape.
# If you want the escape key to quit broot when there's nothing
# to cancel (for example when you just opened broot), uncomment
# this parameter
#
# quit_on_last_cancel: true
###############################################################
# Search modes
#
# broot allows many search modes.
# A search mode is defined by
# - the way to search: 'fuzzy', 'exact', 'regex', or 'tokens'.
# - where to search: file 'name', 'path', or file 'content'
# A search pattern may for example be "fuzzy path" (default),
# "regex content" or "exact path".
#
# The search mode is selected from its prefix. For example, if
# you type "abc", the default mode is "fuzzy path". If you type
# "/abc", the mode is "regex path". If you type "rn/abc", the mode
# is "regex name".
#
# This mapping may be modified. You may want to dedicate the
# empty prefix (the one which doesn't need a '/') to the
# search mode you use most often. The example below makes it
# easy to search on name rather than on the subpath.
#
# More information on
# https://dystroy.org/broot/input/#the-filtering-pattern
#
# search_modes: {
# <empty>: fuzzy name
# /: regex name
# }
###############################################################
# File Extension Colors
#
# uncomment and modify the next section if you want to color
# file name depending on their extension
#
# ext_colors: {
# png: rgb(255, 128, 75)
# rs: yellow
# }
###############################################################
# Max file size for content search
#
# Bigger files are ignored when searching their content. You
# can specify this size either in ISO units (eg 5GB) or in
# the old binary units (eg 44Kib)
content_search_max_file_size: 10MB
###############################################################
# Max Panels Count
#
# Change this if you sometimes want to have more than 2 panels
# open
# max_panels_count: 2
###############################################################
# Update work dir
#
# By default, broot process' work dir is kept in sync with the
# current's panel root. If you want to keep it unchanged,
# uncomment this setting
#
# update_work_dir: false
###############################################################
# Kitty Keyboard extension
#
# If you want to use advanced keyboard shortcuts in Kitty
# compatible terminals (Kitty, Wezterm), set this to true.
#
# This makes it possible to use shortcuts like 'space-n',
# 'ctrl-alt-a-b', 'shift-space', etc.
#
enable_kitty_keyboard: false
###############################################################
# lines around matching line in filtered preview
#
# When searching the content of a file, you can have either
# only the matching lines displayed, or some of the surrounding
# ones too.
#
lines_before_match_in_preview: 1
lines_after_match_in_preview: 1
###############################################################
# transformations before preview
#
# It's possible to define transformations to apply to some files
# before calling one of the default preview renderers in broot.
# Below are two examples that you may uncomment and adapt:
#
preview_transformers: [
// # Use mutool to render any PDF file as an image
// # In this example we use placeholders for the input and output files
// {
// input_extensions: [ "pdf" ] // case doesn't matter
// output_extension: png
// mode: image
// command: [ "mutool", "draw", "-w", "1000", "-o", "{output-path}", "{input-path}" ]
// }
// # Use LibreOffice to render Office files as images
// # In this example, {output-dir} is used to specify where LibreOffice must write the result
// {
// input_extensions: [ "xls", "xlsx", "doc", "docx", "ppt", "pptx", "ods", "odt", "odp" ]
// output_extension: png
// mode: image
// command: [
// "libreoffice", "--headless",
// "--convert-to", "png",
// "--outdir", "{output-dir}",
// "{input-path}"
// ]
// }
// # Use jq to beautify JSON
// # In this example, the command refers to neither the input nor the output,
// # so broot pipes them to the stdin and stdout of the jq process
// {
// input_extensions: [ "json" ]
// output_extension: json
// mode: text
// command: [ "jq" ]
// }
]
###############################################################
# Imports
#
# While it's possible to have all configuration in one file,
# it's more convenient to split it in several ones.
# Importing also allows to set a condition on the terminal's
# color, which makes it possible to have a different skin
# chosen when your terminal has a light background and when
# it has a light one.
imports: [
# Verbs are better configured in verbs.hjson. But you
# can also add another files for your personal verbs
verbs.hjson
# This file contains the skin to use when the terminal
# is dark (or when this couldn't be determined)
{
luma: [
dark
unknown
]
# (un)comment to choose your preferred skin
//file: skins/dark-blue.hjson
//file: skins/catppuccin-macchiato.hjson
file: skins/catppuccin-mocha.hjson
//file: skins/dark-gruvbox.hjson
//file: skins/dark-orange.hjson
//file: skins/solarized-dark.hjson
}
# This skin is imported when your terminal is light
{
luma: light
# (un)comment to choose your preferred skin
//file: skins/solarized-light.hjson
file: skins/white.hjson
}
]

View File

@ -5,15 +5,16 @@
# it produces, if any.
# It's needed because some shell commands, like `cd`,
# have no useful effect if executed in a subshell.
function br --wraps=broot
set -l cmd_file (mktemp)
if broot --outcmd $cmd_file $argv
read --local --null cmd < $cmd_file
rm -f $cmd_file
eval $cmd
function br {
local cmd cmd_file code
cmd_file=$(mktemp)
if broot --outcmd "$cmd_file" "$@"; then
cmd=$(<"$cmd_file")
command rm -f "$cmd_file"
eval "$cmd"
else
set -l code $status
rm -f $cmd_file
return $code
end
end
code=$?
command rm -f "$cmd_file"
return "$code"
fi
}

View File

@ -0,0 +1,4 @@
This file tells broot the installation of the br function was done.
If there's a problem and you want to install it again run
broot -- install

View File

@ -0,0 +1,171 @@
###############################################################
# A skin for a terminal with a dark background
# This skin uses RGB values so won't work for some
# terminals.
#
# Created by Majixed
# Based on the catppuccin-mocha theme by A. Taha Baki <atahabaki@pm.me>
#
# Doc at https://dystroy.org/broot/skins/
###############################################################
skin: {
input: rgb(202, 211, 245) none
# fg:none bg:$surface2
selected_line: none rgb(91, 96, 120)
# fg:$text bg:none
default: rgb(202, 211, 245) none
# fg:$overlay0 bg:none
tree: rgb(110, 115, 141) none
# fg:$sapphire bg:none
parent: rgb(125, 196, 228) none
file: none none
#
### PERMISSIONS
#
perm__: rgb(184, 192, 224) none
# $peach
perm_r: rgb(245, 169, 127) none
# $maroon
perm_w: rgb(238, 153, 160) none
# $green
perm_x: rgb(166, 218, 149) none
# $teal
owner: rgb(139, 213, 202) none
# $sky
group: rgb(145, 215, 227) none
#
### DATE
#
# $subtext1
dates: rgb(184, 192, 224) none
#
### DIRECTORY
#
# $lavender
directory: rgb(183, 189, 248) none Bold
# $green
exe: rgb(166, 218, 149) none
# $yellow
link: rgb(238, 212, 159) none
# $subtext0
pruning: rgb(165, 173, 203) none Italic
#
### PREVIEW
#
# fg:$text bg:$mantle
preview_title: rgb(202, 211, 245) rgb(30, 32, 48)
# fg:$text bg:$mantle
preview: rgb(202, 211, 245) rgb(30, 32, 48)
# fg:$overlay0
preview_line_number: rgb(110, 115, 141) none
# fg:$overlay0
preview_separator: rgb(110, 115, 141) none
#
### MATCH
#
char_match: rgb(238, 212, 159) rgb(73, 77, 100) Bold Italic
content_match: rgb(238, 212, 159) rgb(73, 77, 100) Bold Italic
preview_match: rgb(238, 212, 159) rgb(73, 77, 100) Bold Italic
# children count
# fg:$yellow bg:none
count: rgb(238, 212, 159) none
sparse: rgb(237, 135, 150) none
content_extract: rgb(237, 135, 150) none Italic
#
### GIT
#
git_branch: rgb(245, 169, 127) none
git_insertions: rgb(245, 169, 127) none
git_deletions: rgb(245, 169, 127) none
git_status_current: rgb(245, 169, 127) none
git_status_modified: rgb(245, 169, 127) none
git_status_new: rgb(245, 169, 127) none Bold
git_status_ignored: rgb(245, 169, 127) none
git_status_conflicted: rgb(245, 169, 127) none
git_status_other: rgb(245, 169, 127) none
staging_area_title: rgb(245, 169, 127) none
#
### FLAG
#
flag_label: rgb(237, 135, 150) none
flag_value: rgb(237, 135, 150) none Bold
#
### STATUS
#
# fg:none #bg:$mantle
status_normal: none rgb(30, 32, 48)
# fg:$red bg:$mantle
status_italic: rgb(237, 135, 150) rgb(30, 32, 48) Italic
# fg:$maroon bg:$mantle
status_bold: rgb(238, 153, 160) rgb(30, 32, 48) Bold
# fg:$maroon bg:$mantle
status_ellipsis: rgb(238, 153, 160) rgb(30, 32, 48) Bold
# fg:$text bg:$red
status_error: rgb(202, 211, 245) rgb(237, 135, 150)
# fg:$maroon bg:$mantle
status_job: rgb(238, 153, 160) rgb(40, 38, 37)
# fg:$maroon bg:$mantle
status_code: rgb(238, 153, 160) rgb(30, 32, 48) Italic
# fg:$maroon bg:$mantle
mode_command_mark: rgb(238, 153, 160) rgb(30, 32, 48) Bold
#
### HELP
#
# fg:$text
help_paragraph: rgb(202, 211, 245) none
# fg:$red
help_headers: rgb(237, 135, 150) none Bold
# fg:$peach
help_bold: rgb(245, 169, 127) none Bold
# fg:$yellow
help_italic: rgb(238, 212, 159) none Italic
# fg:green bg:$surface0
help_code: rgb(166, 218, 149) rgb(54, 58, 79)
# fg:$overlay0
help_table_border: rgb(110, 115, 141) none
#
### HEX
#
# fg:$text
hex_null: rgb(202, 211, 245) none
# fg:$peach
hex_ascii_graphic: rgb(245, 169, 127) none
# fg:$green
hex_ascii_whitespace: rgb(166, 218, 149) none
# fg: teal
hex_ascii_other: rgb(139, 213, 202) none
# fg: red
hex_non_ascii: rgb(237, 135, 150) none
# fg:$text bg:$red
file_error: rgb(243, 60, 44) none
#
### PURPOSE
#
purpose_normal: none none
purpose_italic: rgb(169, 90, 127) none Italic
purpose_bold: rgb(169, 90, 127) none Bold
purpose_ellipsis: none none
#
### SCROLLBAR
#
# fg:$surface0
scrollbar_track: rgb(54, 58, 79) none
# fg:$surface1
scrollbar_thumb: rgb(91, 96, 120) none
#
### GOODTOBAD
#
good_to_bad_0: rgb(166, 218, 149) none
good_to_bad_1: rgb(139, 213, 202) none
good_to_bad_2: rgb(145, 215, 227) none
good_to_bad_3: rgb(125, 196, 228) none
good_to_bad_4: rgb(138, 173, 244) none
good_to_bad_5: rgb(183, 189, 248) none
good_to_bad_6: rgb(198, 160, 246) none
good_to_bad_7: rgb(245, 169, 127) none
good_to_bad_8: rgb(238, 153, 160) none
good_to_bad_9: rgb(237, 135, 150) none
}

View File

@ -0,0 +1,171 @@
###############################################################
# A skin for a terminal with a dark background
# This skin uses RGB values so won't work for some
# terminals.
#
# Created by A. Taha Baki <atahabaki@pm.me>
# Based on the built-in gruvbox theme.
#
# Doc at https://dystroy.org/broot/skins/
###############################################################
skin: {
input: rgb(205, 214, 244) none
# fg:none bg:$surface2
selected_line: none rgb(88, 91, 112)
# fg:$text bg:none
default: rgb(205, 214, 244) none
# fg:$overlay0 bg:none
tree: rgb(108, 112, 134) none
# fg:$sapphire bg:none
parent: rgb(116, 199, 236) none
file: none none
#
### PERMISSIONS
#
perm__: rgb(186, 194, 222) none
# $peach
perm_r: rgb(250, 179, 135) none
# $maroon
perm_w: rgb(235, 160, 172) none
# $green
perm_x: rgb(166, 227, 161) none
# $teal
owner: rgb(148, 226, 213) none
# $sky
group: rgb(137, 220, 235) none
#
### DATE
#
# $subtext1
dates: rgb(186, 194, 222) none
#
### DIRECTORY
#
# $lavender
directory: rgb(180, 190, 254) none Bold
# $green
exe: rgb(166, 227, 161) none
# $yellow
link: rgb(249, 226, 175) none
# $subtext0
pruning: rgb(166, 173, 200) none Italic
#
### PREVIEW
#
# fg:$text bg:$mantle
preview_title: rgb(205, 214, 244) rgb(24, 24, 37)
# fg:$text bg:$mantle
preview: rgb(205, 214, 244) rgb(24, 24, 37)
# fg:$overlay0
preview_line_number: rgb(108, 112, 134) none
# fg:$overlay0
preview_separator: rgb(108, 112, 134) none
#
### MATCH
#
char_match: rgb(249, 226, 175) rgb(69, 71, 90) Bold Italic
content_match: rgb(249, 226, 175) rgb(69, 71, 90) Bold Italic
preview_match: rgb(249, 226, 175) rgb(69, 71, 90) Bold Italic
# children count
# fg:$yellow bg:none
count: rgb(249, 226, 175) none
sparse: rgb(243, 139, 168) none
content_extract: rgb(243, 139, 168) none Italic
#
### GIT
#
git_branch: rgb(250, 179, 135) none
git_insertions: rgb(250, 179, 135) none
git_deletions: rgb(250, 179, 135) none
git_status_current: rgb(250, 179, 135) none
git_status_modified: rgb(250, 179, 135) none
git_status_new: rgb(250, 179, 135) none Bold
git_status_ignored: rgb(250, 179, 135) none
git_status_conflicted: rgb(250, 179, 135) none
git_status_other: rgb(250, 179, 135) none
staging_area_title: rgb(250, 179, 135) none
#
### FLAG
#
flag_label: rgb(243, 139, 168) none
flag_value: rgb(243, 139, 168) none Bold
#
### STATUS
#
# fg:none #bg:$mantle
status_normal: none rgb(24, 24, 37)
# fg:$red bg:$mantle
status_italic: rgb(243, 139, 168) rgb(24, 24, 37) Italic
# fg:$maroon bg:$mantle
status_bold: rgb(235, 160, 172) rgb(24, 24, 37) Bold
# fg:$maroon bg:$mantle
status_ellipsis: rgb(235, 160, 172) rgb(24, 24, 37) Bold
# fg:$text bg:$red
status_error: rgb(205, 214, 244) rgb(243, 139, 168)
# fg:$maroon bg:$mantle
status_job: rgb(235, 160, 172) rgb(40, 38, 37)
# fg:$maroon bg:$mantle
status_code: rgb(235, 160, 172) rgb(24, 24, 37) Italic
# fg:$maroon bg:$mantle
mode_command_mark: rgb(235, 160, 172) rgb(24, 24, 37) Bold
#
### HELP
#
# fg:$text
help_paragraph: rgb(205, 214, 244) none
# fg:$red
help_headers: rgb(243, 139, 168) none Bold
# fg:$peach
help_bold: rgb(250, 179, 135) none Bold
# fg:$yellow
help_italic: rgb(249, 226, 175) none Italic
# fg:green bg:$surface0
help_code: rgb(166, 227, 161) rgb(49, 50, 68)
# fg:$overlay0
help_table_border: rgb(108, 112, 134) none
#
### HEX
#
# fg:$text
hex_null: rgb(205, 214, 244) none
# fg:$peach
hex_ascii_graphic: rgb(250, 179, 135) none
# fg:$green
hex_ascii_whitespace: rgb(166, 227, 161) none
# fg: teal
hex_ascii_other: rgb(148, 226, 213) none
# fg: red
hex_non_ascii: rgb(243, 139, 168) none
# fg:$text bg:$red
file_error: rgb(251, 73, 52) none
#
### PURPOSE
#
purpose_normal: none none
purpose_italic: rgb(177, 98, 134) none Italic
purpose_bold: rgb(177, 98, 134) none Bold
purpose_ellipsis: none none
#
### SCROLLBAR
#
# fg:$surface0
scrollbar_track: rgb(49, 50, 68) none
# fg:$surface1
scrollbar_thumb: rgb(88, 91, 112) none
#
### GOODTOBAD
#
good_to_bad_0: rgb(166, 227, 161) none
good_to_bad_1: rgb(148, 226, 213) none
good_to_bad_2: rgb(137, 220, 235) none
good_to_bad_3: rgb(116, 199, 236) none
good_to_bad_4: rgb(137, 180, 250) none
good_to_bad_5: rgb(180, 190, 254) none
good_to_bad_6: rgb(203, 166, 247) none
good_to_bad_7: rgb(250, 179, 135) none
good_to_bad_8: rgb(235, 160, 172) none
good_to_bad_9: rgb(243, 139, 168) none
}

View File

@ -0,0 +1,116 @@
###############################################################
# A skin for a terminal with a dark background
#
# To create your own skin, copy this file, change the entries
# and import your skin file from the main conf file (look
# for "imports")
#
# Doc at https://dystroy.org/broot/skins/
###############################################################
###############################################################
# Skin
# If you want to change the colors of broot,
# uncomment the following block and start messing
# with the various values.
# A skin entry value is made of two parts separated with a '/':
# The first one is the skin for the active panel.
# The second one, optional, is the skin for non active panels.
# You may find explanations and other skins on
# https://dystroy.org/broot/skins
###############################################################
skin: {
default: gray(22) none / gray(20) none
tree: gray(8) None / gray(4) None
parent: gray(18) None / gray(13) None
file: gray(22) None / gray(15) None
directory: ansi(110) None bold / ansi(110) None
exe: Cyan None
link: Magenta None
pruning: gray(12) None Italic
perm__: gray(5) None
perm_r: ansi(94) None
perm_w: ansi(132) None
perm_x: ansi(65) None
owner: ansi(138) None
group: ansi(131) None
count: ansi(138) gray(4)
dates: ansi(66) None
sparse: ansi(214) None
content_extract: ansi(29) None
content_match: ansi(34) None
device_id_major: ansi(138) None
device_id_sep: ansi(102) None
device_id_minor: ansi(138) None
git_branch: ansi(178) None
git_insertions: ansi(28) None
git_deletions: ansi(160) None
git_status_current: gray(5) None
git_status_modified: ansi(28) None
git_status_new: ansi(94) None bold
git_status_ignored: gray(17) None
git_status_conflicted: ansi(88) None
git_status_other: ansi(88) None
selected_line: None gray(6) / None gray(4)
char_match: Green None
file_error: Red None
flag_label: gray(15) gray(2)
flag_value: ansi(178) gray(2) bold
input: White gray(2) / gray(15) None
status_error: gray(22) ansi(124)
status_job: ansi(220) gray(5)
status_normal: gray(20) gray(4) / gray(2) gray(2)
status_italic: ansi(178) gray(4) / gray(2) gray(2)
status_bold: ansi(178) gray(4) bold / gray(2) gray(2)
status_code: ansi(229) gray(4) / gray(2) gray(2)
status_ellipsis: gray(19) gray(1) / gray(2) gray(2)
purpose_normal: gray(20) gray(2)
purpose_italic: ansi(178) gray(2)
purpose_bold: ansi(178) gray(2) bold
purpose_ellipsis: gray(20) gray(2)
scrollbar_track: gray(7) None / gray(4) None
scrollbar_thumb: gray(22) None / gray(14) None
help_paragraph: gray(20) None
help_bold: ansi(178) None bold
help_italic: ansi(229) None
help_code: gray(21) gray(3)
help_headers: ansi(178) None
help_table_border: ansi(239) None
preview: gray(20) gray(1) / gray(18) gray(2)
preview_title: gray(23) gray(2) / gray(21) gray(2)
preview_line_number: gray(12) gray(3)
preview_separator: gray(5) None
preview_match: None ansi(29)
hex_null: gray(8) None
hex_ascii_graphic: gray(18) None
hex_ascii_whitespace: ansi(143) None
hex_ascii_other: ansi(215) None
hex_non_ascii: ansi(167) None
staging_area_title: gray(22) gray(2) / gray(20) gray(3)
mode_command_mark: gray(5) ansi(204) bold
good_to_bad_0: ansi(28)
good_to_bad_1: ansi(29)
good_to_bad_2: ansi(29)
good_to_bad_3: ansi(29)
good_to_bad_4: ansi(29)
good_to_bad_5: ansi(100)
good_to_bad_6: ansi(136)
good_to_bad_7: ansi(172)
good_to_bad_8: ansi(166)
good_to_bad_9: ansi(196)
}
###############################################################
# Syntax Theme
#
# If you want to choose the theme used for preview, uncomment
# one of the following lines:
#
# syntax_theme: GitHub
# syntax_theme: SolarizedDark
# syntax_theme: SolarizedLight
syntax_theme: MochaDark
# syntax_theme: MochaDark
# syntax_theme: OceanDark
# syntax_theme: OceanLight

View File

@ -0,0 +1,88 @@
###############################################################
# A skin for a terminal with a dark background
# This skin uses RGB values so won't work for some
# terminals.
#
#
# (initially contributed by @basbebe)
#
# Doc at https://dystroy.org/broot/skins/
###############################################################
skin: {
default: rgb(235, 219, 178) none / rgb(189, 174, 147) none
tree: rgb(70, 70, 80) None / rgb(60, 60, 60) None
parent: rgb(235, 219, 178) none / rgb(189, 174, 147) none Italic
file: None None / None None Italic
directory: rgb(131, 165, 152) None Bold / rgb(131, 165, 152) None
exe: rgb(184, 187, 38) None
link: rgb(104, 157, 106) None
pruning: rgb(124, 111, 100) None Italic
perm__: None None
perm_r: rgb(215, 153, 33) None
perm_w: rgb(204, 36, 29) None
perm_x: rgb(152, 151, 26) None
owner: rgb(215, 153, 33) None Bold
group: rgb(215, 153, 33) None
count: rgb(69, 133, 136) rgb(50, 48, 47)
dates: rgb(168, 153, 132) None
sparse: rgb(250, 189,47) None
content_extract: ansi(29) None Italic
content_match: ansi(34) None Bold
git_branch: rgb(251, 241, 199) None
git_insertions: rgb(152, 151, 26) None
git_deletions: rgb(190, 15, 23) None
git_status_current: rgb(60, 56, 54) None
git_status_modified: rgb(152, 151, 26) None
git_status_new: rgb(104, 187, 38) None Bold
git_status_ignored: rgb(213, 196, 161) None
git_status_conflicted: rgb(204, 36, 29) None
git_status_other: rgb(204, 36, 29) None
selected_line: None rgb(60, 56, 54) / None rgb(50, 48, 47)
char_match: rgb(250, 189, 47) None
file_error: rgb(251, 73, 52) None
flag_label: rgb(189, 174, 147) None
flag_value: rgb(211, 134, 155) None Bold
input: rgb(251, 241, 199) None / rgb(189, 174, 147) None Italic
status_error: rgb(213, 196, 161) rgb(204, 36, 29)
status_job: rgb(250, 189, 47) rgb(60, 56, 54)
status_normal: None rgb(40, 38, 37) / None None
status_italic: rgb(211, 134, 155) rgb(40, 38, 37) Italic / None None
status_bold: rgb(211, 134, 155) rgb(40, 38, 37) Bold / None None
status_code: rgb(251, 241, 199) rgb(40, 38, 37) / None None
status_ellipsis: rgb(251, 241, 199) rgb(40, 38, 37) Bold / None None
purpose_normal: None None
purpose_italic: rgb(177, 98, 134) None Italic
purpose_bold: rgb(177, 98, 134) None Bold
purpose_ellipsis: None None
scrollbar_track: rgb(80, 73, 69) None / rgb(50, 48, 47) None
scrollbar_thumb: rgb(213, 196, 161) None / rgb(102, 92, 84) None
help_paragraph: None None
help_bold: rgb(214, 93, 14) None Bold
help_italic: rgb(211, 134, 155) None Italic
help_code: rgb(142, 192, 124) rgb(50, 48, 47)
help_headers: rgb(254, 128, 25) None Bold
help_table_border: rgb(80, 73, 69) None
preview_title: rgb(235, 219, 178) rgb(40, 40, 40) / rgb(189, 174, 147) rgb(40, 40, 40)
preview: rgb(235, 219, 178) rgb(40, 40, 40) / rgb(235, 219, 178) rgb(40, 40, 40)
preview_line_number: rgb(124, 111, 100) None / rgb(124, 111, 100) rgb(40, 40, 40)
preview_separator: rgb(70, 70, 80) None / rgb(60, 60, 60) None
preview_match: None ansi(29) Bold
hex_null: rgb(189, 174, 147) None
hex_ascii_graphic: rgb(213, 196, 161) None
hex_ascii_whitespace: rgb(152, 151, 26) None
hex_ascii_other: rgb(254, 128, 25) None
hex_non_ascii: rgb(214, 93, 14) None
staging_area_title: rgb(235, 219, 178) rgb(40, 40, 40) / rgb(189, 174, 147) rgb(40, 40, 40)
mode_command_mark: gray(5) ansi(204) Bold
good_to_bad_0: ansi(28)
good_to_bad_1: ansi(29)
good_to_bad_2: ansi(29)
good_to_bad_3: ansi(29)
good_to_bad_4: ansi(29)
good_to_bad_5: ansi(100)
good_to_bad_6: ansi(136)
good_to_bad_7: ansi(172)
good_to_bad_8: ansi(166)
good_to_bad_9: ansi(196)
}

View File

@ -0,0 +1,111 @@
###############################################################
# A skin for a terminal with a dark background
#
# To create your own skin, copy this file, change the entries
# and import your skin file from the main conf file (look
# for "imports")
#
# Doc at https://dystroy.org/broot/skins/
###############################################################
###############################################################
# Skin
# If you want to change the colors of broot,
# uncomment the following bloc and start messing
# with the various values.
# A skin entry value is made of two parts separated with a '/':
# The first one is the skin for the active panel.
# The second one, optional, is the skin for non active panels.
# You may find explanations and other skins on
# https://dystroy.org/broot/skins
###############################################################
skin: {
default: none none / gray(20) none
tree: ansi(94) None / gray(3) None
parent: gray(18) None / gray(13) None
file: gray(20) None / gray(15) None
directory: ansi(208) None Bold / ansi(172) None bold
exe: Cyan None
link: Magenta None
pruning: gray(12) None Italic
perm__: gray(5) None
perm_r: ansi(94) None
perm_w: ansi(132) None
perm_x: ansi(65) None
owner: ansi(138) None
group: ansi(131) None
count: ansi(136) gray(3)
dates: ansi(66) None
sparse: ansi(214) None
content_extract: ansi(29) None
content_match: ansi(34) None
git_branch: ansi(229) None
git_insertions: ansi(28) None
git_deletions: ansi(160) None
git_status_current: gray(5) None
git_status_modified: ansi(28) None
git_status_new: ansi(94) None Bold
git_status_ignored: gray(17) None
git_status_conflicted: ansi(88) None
git_status_other: ansi(88) None
selected_line: None gray(5) / None gray(4)
char_match: Yellow None
file_error: Red None
flag_label: gray(15) None
flag_value: ansi(208) None Bold
input: White None / gray(15) gray(2)
status_error: gray(22) ansi(124)
status_job: ansi(220) gray(5)
status_normal: gray(20) gray(3) / gray(2) gray(2)
status_italic: ansi(208) gray(3) / gray(2) gray(2)
status_bold: ansi(208) gray(3) Bold / gray(2) gray(2)
status_code: ansi(229) gray(3) / gray(2) gray(2)
status_ellipsis: gray(19) gray(1) / gray(2) gray(2)
purpose_normal: gray(20) gray(2)
purpose_italic: ansi(178) gray(2)
purpose_bold: ansi(178) gray(2) Bold
purpose_ellipsis: gray(20) gray(2)
scrollbar_track: gray(7) None / gray(4) None
scrollbar_thumb: gray(22) None / gray(14) None
help_paragraph: gray(20) None
help_bold: ansi(208) None Bold
help_italic: ansi(166) None
help_code: gray(21) gray(3)
help_headers: ansi(208) None
help_table_border: ansi(239) None
preview: gray(20) gray(1) / gray(18) gray(2)
preview_line_number: gray(12) gray(3)
preview_separator: ansi(94) None / gray(3) None
preview_match: None ansi(29)
hex_null: gray(11) None
hex_ascii_graphic: gray(18) None
hex_ascii_whitespace: ansi(143) None
hex_ascii_other: ansi(215) None
hex_non_ascii: ansi(167) None
good_to_bad_0: ansi(28)
good_to_bad_1: ansi(29)
good_to_bad_2: ansi(29)
good_to_bad_3: ansi(29)
good_to_bad_4: ansi(29)
good_to_bad_5: ansi(100)
good_to_bad_6: ansi(136)
good_to_bad_7: ansi(172)
good_to_bad_8: ansi(166)
good_to_bad_9: ansi(196)
}
###############################################################
# Syntax Theme
#
# If you want to choose the theme used for preview, uncomment
# one of the following lines:
#
# syntax_theme: GitHub
# syntax_theme: SolarizedDark
# syntax_theme: SolarizedLight
syntax_theme: SolarizedDark
# syntax_theme: MochaDark
# syntax_theme: OceanDark
# syntax_theme: OceanLight

View File

@ -0,0 +1,132 @@
###############################################################
# 16 ANSI color theme. Colors in this theme are restricted from
# ANSI color 0 - 15. This will allow the theme to adapt to your
# terminal emulator's theme. Note that, for now, the preview
# mode does not yet support this theme because of syntect not
# having a 16 ansi color theme.
#
# More info at https://jeffkreeftmeijer.com/vim-16-color/
# Doc at https://dystroy.org/broot/skins/
###############################################################
skin: {
directory: ansi(12)
file: ansi(7)
pruning: ansi(8) none italic
selected_line: none ansi(0)
tree: ansi(8)
# Search
char_match: ansi(3) none underlined
parent: ansi(4) none bold
# File properties
exe: ansi(2)
link: ansi(13)
sparse: ansi(12)
# Prompt
input: ansi(6)
# Status bar
status_bold: ansi(7) ansi(8) bold
status_code: ansi(10) ansi(8)
status_ellipsis: ansi(7) ansi(8)
status_error: ansi(7) ansi(8)
status_italic: ansi(7) ansi(8) italic
status_job: ansi(7) ansi(8)
status_normal: ansi(7) ansi(8)
# Flag status
flag_label: ansi(6)
flag_value: ansi(14) none bold
# Background
default: none none
# Scrollbar
scrollbar_track: ansi(0)
scrollbar_thumb: ansi(3)
# Git
git_branch: ansi(13)
git_deletions: ansi(1)
git_insertions: ansi(2)
git_status_conflicted: ansi(1)
git_status_current: ansi(6)
git_status_ignored: ansi(8)
git_status_modified: ansi(3)
git_status_new: ansi(2) none bold
git_status_other: ansi(5)
# Staging area
staging_area_title: ansi(3)
# Documentation
help_bold: ansi(7) none bold
help_code: ansi(4)
help_headers: ansi(3)
help_italic: ansi(7) none italic
help_paragraph: ansi(7)
help_table_border: ansi(8)
# Device column
device_id_major: ansi(5)
device_id_minor: ansi(5)
device_id_sep: ansi(5)
# Counts column
count: ansi(13)
# Dates column
dates: ansi(6)
# Permissions column
group: ansi(3)
owner: ansi(3)
perm__: ansi(8)
perm_r: ansi(3)
perm_w: ansi(1)
perm_x: ansi(2)
# Hex preview
hex_null: ansi(8)
hex_ascii_graphic: ansi(2)
hex_ascii_whitespace: ansi(3)
hex_ascii_other: ansi(4)
hex_non_ascii: ansi(5)
# Preview
# preview: none
# preview_line_number: none
# preview_match: none
# preview_title: none
# Used for displaying errors
file_error: ansi(1)
# Content searches
content_extract: ansi(7)
content_match: ansi(3) none underlined
# Used in status line
purpose_bold: ansi(0) ansi(7) bold
purpose_ellipsis: ansi(0)
purpose_italic: ansi(0) ansi(7) italic
purpose_normal: ansi(0)
# Modal indicator
mode_command_mark: ansi(7) ansi(4)
# File system occupation
good_to_bad_0: ansi(2)
good_to_bad_1: ansi(2)
good_to_bad_2: ansi(2)
good_to_bad_3: ansi(2)
good_to_bad_4: ansi(2)
good_to_bad_5: ansi(1)
good_to_bad_6: ansi(1)
good_to_bad_7: ansi(1)
good_to_bad_8: ansi(1)
good_to_bad_9: ansi(1)
}

View File

@ -0,0 +1,66 @@
// contributed by [@danieltrautmann](https://github.com/danieltrautmann)
//
//
// The Solarized Dark skin uses RGB values, so it might not work well with some
// terminals
//
// Doc at https://dystroy.org/broot/skins/
skin: {
default: "rgb(131, 148, 150) rgb(0, 43, 54) / rgb(131, 148, 150) rgb(7, 54, 66)" // base0 base03 / base01 base02
tree: "rgb(88, 110, 117) none" // base01 default
file: "none none" // default default
directory: "rgb(38, 139, 210) none bold" // blue default bold
exe: "rgb(211, 1, 2) none" // red default
link: "rgb(211, 54, 130) none" // magenta default
pruning: "rgb(88, 110, 117) none italic" // base01 default italic
perm__: "rgb(88, 110, 117) none" // base01 default
perm_r: "none none" // default default
perm_w: "none none" // default default
perm_x: "none none" // default default
owner: "rgb(88, 110, 117) none" // base01 default
group: "rgb(88, 110, 117) none" // base01 default
sparse: "none none" // default default
git_branch: "rgb(147, 161, 161) none" // base1 default
git_insertions: "rgb(133, 153, 0) none" // green default
git_deletions: "rgb(211, 1, 2) none" // red default
git_status_current: "none none" // default default
git_status_modified: "rgb(181, 137, 0) none" // yellow default
git_status_new: "rgb(133, 153, 0) none" // green default
git_status_ignored: "rgb(88, 110, 117) none" // base01 default
git_status_conflicted: "rgb(211, 1, 2) none" // red default
git_status_other: "rgb(211, 1, 2) none" // red default
selected_line: "none rgb(7, 54, 66)" // default base02
char_match: "rgb(133, 153, 0) none underlined" // green default underlined
file_error: "rgb(203, 75, 22) none italic" // orange default italic
flag_label: "none none" // default default
flag_value: "rgb(181, 137, 0) none bold" // yellow default bold
input: "none none" // default default
status_error: "rgb(203, 75, 22) rgb(7, 54, 66)" // orange base02
status_job: "rgb(108, 113, 196) rgb(7, 54, 66) bold" // violet base02 bold
status_normal: "none rgb(7, 54, 66)" // default base02
status_italic: "rgb(181, 137, 0) rgb(7, 54, 66)" // yellow base02
status_bold: "rgb(147, 161, 161) rgb(7, 54, 66) bold" // base1 base02 bold
status_code: "rgb(108, 113, 196) rgb(7, 54, 66)" // violet base02
status_ellipsis: "none rgb(7, 54, 66)" // default base02
scrollbar_track: "rgb(7, 54, 66) none" // base02 default
scrollbar_thumb: "none none" // default default
help_paragraph: "none none" // default default
help_bold: "rgb(147, 161, 161) none bold" // base1 default bold
help_italic: "rgb(147, 161, 161) none italic" // base1 default italic
help_code: "rgb(147, 161, 161) rgb(7, 54, 66)" // base1 base02
help_headers: "rgb(181, 137, 0) none" // yellow default
help_table_border: "none none" // default default
preview_title: "gray(20) rgb(0, 43, 54)"
staging_area_title: "gray(22) rgb(0, 43, 54)"
good_to_bad_0: "ansi(28)" // green
good_to_bad_1: "ansi(29)"
good_to_bad_2: "ansi(29)"
good_to_bad_3: "ansi(29)"
good_to_bad_4: "ansi(29)"
good_to_bad_5: "ansi(100)"
good_to_bad_6: "ansi(136)"
good_to_bad_7: "ansi(172)"
good_to_bad_8: "ansi(166)"
good_to_bad_9: "ansi(196)" // red
}

View File

@ -0,0 +1,118 @@
// contributed by [@danieltrautmann](https://github.com/danieltrautmann)
//
//
// The Solarized Light skin uses RGB values, so it might not work well with some
// terminals
//
// If you prefer to keep the background the same as your terminal background, change
// the "default" entry to
// default: "none none / rgb(147, 161, 161) none"
//
// Doc at https://dystroy.org/broot/skins/
skin: {
// base00 default / base1 base2
default: "rgb(101, 123, 131) none / rgb(147, 161, 161) none"
// base1 default
tree: "rgb(147, 161, 161) none"
// default default
file: "none none"
// blue default bold
directory: "rgb(38, 139, 210) none bold"
// red default
exe: "rgb(211, 1, 2) none"
// magenta default
link: "rgb(211, 54, 130) none"
// base1 default italic
pruning: "rgb(147, 161, 161) none italic"
// base1 default
perm__: "rgb(147, 161, 161) none"
// default default
perm_r: "none none"
// default default
perm_w: "none none"
// default default
perm_x: "none none"
// base1 default
owner: "rgb(147, 161, 161) none"
// base1 default
group: "rgb(147, 161, 161) none"
// default default
sparse: "none none"
// base01 default
git_branch: "rgb(88, 110, 117) none"
// green default
git_insertions: "rgb(133, 153, 0) none"
// red default
git_deletions: "rgb(211, 1, 2) none"
// default default
git_status_current: "none none"
// yellow default
git_status_modified: "rgb(181, 137, 0) none"
// green default
git_status_new: "rgb(133, 153, 0) none"
// base1 default
git_status_ignored: "rgb(147, 161, 161) none"
// red default
git_status_conflicted: "rgb(211, 1, 2) none"
// red default
git_status_other: "rgb(211, 1, 2) none"
// default base2
selected_line: "none rgb(238, 232, 213)"
// green default underlined
char_match: "rgb(133, 153, 0) none underlined"
// orange default italic
file_error: "rgb(203, 75, 22) none italic"
// default default
flag_label: "none none"
// yellow default bold
flag_value: "rgb(181, 137, 0) none bold"
// default default
input: "none none"
// orange base2
status_error: "rgb(203, 75, 22) rgb(238, 232, 213)"
// violet base2 bold
status_job: "rgb(108, 113, 196) rgb(238, 232, 213) bold"
// default base2
status_normal: "none rgb(238, 232, 213)"
// yellow base2
status_italic: "rgb(181, 137, 0) rgb(238, 232, 213)"
// base01 base2 bold
status_bold: "rgb(88, 110, 117) rgb(238, 232, 213) bold"
// violet base2
status_code: "rgb(108, 113, 196) rgb(238, 232, 213)"
// default base2
status_ellipsis: "none rgb(238, 232, 213)"
// base2 default
scrollbar_track: "rgb(238, 232, 213) none"
// default default
scrollbar_thumb: "none none"
// default default
help_paragraph: "none none"
// base01 default bold
help_bold: "rgb(88, 110, 117) none bold"
// base01 default italic
help_italic: "rgb(88, 110, 117) none italic"
// base01 base2
help_code: "rgb(88, 110, 117) rgb(238, 232, 213)"
// yellow default
help_headers: "rgb(181, 137, 0) none"
// default default
help_table_border: "none none"
preview_title: "rgb(147, 161, 161) rgb(238, 232, 213)"
preview: "rgb(101, 123, 131) rgb(253, 246, 227) / rgb(147, 161, 161) rgb(238, 232, 213)"
preview_line_number: "rgb(147, 161, 161) rgb(238, 232, 213)"
preview_separator: "rgb(147, 161, 161) rgb(238, 232, 213)"
preview_match: "None ansi(29)"
staging_area_title: "gray(22) rgb(253, 246, 227)"
good_to_bad_0: ansi(28)
good_to_bad_1: ansi(29)
good_to_bad_2: ansi(29)
good_to_bad_3: ansi(29)
good_to_bad_4: ansi(29)
good_to_bad_5: ansi(100)
good_to_bad_6: ansi(136)
good_to_bad_7: ansi(172)
good_to_bad_8: ansi(166)
good_to_bad_9: ansi(196)
}

View File

@ -0,0 +1,84 @@
###############################################################
# A skin for a terminal with a white background
#
# To create your own skin, copy this file, change the entries
# and import your skin file from the main conf file (look
# for "imports")
#
# Doc at https://dystroy.org/broot/skins/
###############################################################
syntax_theme: base16-ocean.light
skin: {
default: gray(1) None
tree: gray(7) None / gray(18) None
file: gray(3) None / gray(8) None
directory: ansi(25) None Bold / ansi(25) None
exe: ansi(130) None
link: Magenta None
pruning: gray(12) None Italic
perm__: gray(5) None
perm_r: ansi(94) None
perm_w: ansi(132) None
perm_x: ansi(65) None
owner: ansi(138) None
group: ansi(131) None
dates: ansi(66) None
sparse: ansi(214) None
git_branch: ansi(229) None
git_insertions: ansi(28) None
git_deletions: ansi(160) None
git_status_current: gray(5) None
git_status_modified: ansi(28) None
git_status_new: ansi(94) None Bold
git_status_ignored: gray(17) None
git_status_conflicted: ansi(88) None
git_status_other: ansi(88) None
selected_line: None gray(19) / None gray(21)
char_match: ansi(22) None
file_error: Red None
flag_label: gray(9) None
flag_value: ansi(166) None Bold
input: gray(1) None / gray(4) gray(20)
status_error: gray(22) ansi(124)
status_normal: gray(2) gray(20)
status_job: ansi(220) gray(5)
status_italic: ansi(166) gray(20)
status_bold: ansi(166) gray(20)
status_code: ansi(17) gray(20)
status_ellipsis: gray(19) gray(15)
purpose_normal: gray(20) gray(2)
purpose_italic: ansi(178) gray(2)
purpose_bold: ansi(178) gray(2) Bold
purpose_ellipsis: gray(20) gray(2)
scrollbar_track: gray(20) none
scrollbar_thumb: ansi(238) none
help_paragraph: gray(2) none
help_bold: ansi(202) none bold
help_italic: ansi(202) none italic
help_code: gray(5) gray(22)
help_headers: ansi(202) none
help_table_border: ansi(239) None
preview_title: gray(3) None / gray(5) None
preview: gray(5) gray(23) / gray(7) gray(23)
preview_line_number: gray(6) gray(20)
preview_separator: gray(7) None / gray(18) None
preview_match: None ansi(29) Underlined
hex_null: gray(15) None
hex_ascii_graphic: gray(2) None
hex_ascii_whitespace: ansi(143) None
hex_ascii_other: ansi(215) None
hex_non_ascii: ansi(167) None
staging_area_title: gray(8) None / gray(13) None
mode_command_mark: gray(15) ansi(204) Bold
good_to_bad_0: ansi(28)
good_to_bad_1: ansi(29)
good_to_bad_2: ansi(29)
good_to_bad_3: ansi(29)
good_to_bad_4: ansi(29)
good_to_bad_5: ansi(100)
good_to_bad_6: ansi(136)
good_to_bad_7: ansi(172)
good_to_bad_8: ansi(166)
good_to_bad_9: ansi(196)
}

View File

@ -0,0 +1,161 @@
###############################################################
# This file contains the verb definitions for broot
#
# Some verbs here are examples and not enabled by default: you
# need to uncomment them if you want to use them.
#
# Documentation at https://dystroy.org/broot/verbs/
###############################################################
verbs: [
# You should customize this standard opening of text files.
# If you edit text files in your terminal (vi, emacs, helix, eg.), then
# you'll find it convenient to change the 'key' from 'ctrl-e' to 'enter'.
#
# If $EDITOR isn't set on your computer, you should either set it using
# something similar to
# export EDITOR=/usr/local/bin/nvim
# or just replace it with your editor of choice in the 'execution'
# pattern.
# If your editor is able to open a file on a specific line, use {line}
# so that you may jump directly at the right line from a preview or
# a content search.
# Examples depending on your favourite editor:
# execution: "nvim +{line} {file}"
# execution: "helix {file}:{line}"
{
invocation: edit
shortcut: e
key: ctrl-e
apply_to: text_file
execution: "$EDITOR {file}"
leave_broot: false
}
# Example 1: launching `tail -n` on the selected file (leaving broot)
# {
# name: tail_lines
# invocation: tl {lines_count}
# execution: "tail -f -n {lines_count} {file}"
# }
# Example 2: creating a new file without leaving broot
# {
# name: touch
# invocation: touch {new_file}
# execution: "touch {directory}/{new_file}"
# leave_broot: false
# }
# A convenient shortcut to create new text files in
# the current directory or below
{
invocation: create {subpath}
execution: "$EDITOR {directory}/{subpath}"
leave_broot: false
}
{
invocation: git_diff
shortcut: gd
leave_broot: false
execution: "git difftool -y {file}"
}
# On ctrl-b, propose the creation of a copy of the selection.
# While this might occasionally be useful, this verb is mostly here
# as an example to demonstrate rare standard groups like {file-stem}
# and {file-dot-extension} and the auto_exec verb property which
# allows verbs to stay unexecuted until you hit enter
{
invocation: "backup {version}"
key: ctrl-b
leave_broot: false
auto_exec: false
execution: "cp -r {file} {parent}/{file-stem}-{version}{file-dot-extension}"
}
# By default, `rm` does the system rm, and completely removes
# the file. If you prefer to have the file moved to the system
# trash, you may use the ':trash' internal with the verb below:
# {
# invocation: "rm"
# internal: "trash"
# leave_broot: false
# }
# This verb lets you launch a terminal on ctrl-T
# (on exit you'll be back in broot)
{
invocation: terminal
key: ctrl-t
execution: "$SHELL"
set_working_dir: true
leave_broot: false
}
# Here's an example of a verb needing the shell capabilities.
# It copies all children of the currently selected directory
# to a destination you type.
# It uses a star, which needs the shell for expansion. That's
# why such verb must have the `from_shell: true` parameter.
# {
# invocation: "cpa {dest}"
# external: "cp -r {directory}/* {dest}"
# from_shell: true
# }
# Here's an example of a shortcut bringing you to your home directory
# {
# invocation: home
# key: ctrl-home
# execution: ":focus ~"
# }
# Here's going to the work-dir root of the current git repository
# {
# invocation: gtr
# execution: ":focus {git-root}"
# }
# A popular set of shortcuts for going up and down:
#
# {
# key: ctrl-k
# execution: ":line_up"
# }
# {
# key: ctrl-j
# execution: ":line_down"
# }
# {
# key: ctrl-u
# execution: ":page_up"
# }
# {
# key: ctrl-d
# execution: ":page_down"
# }
# If you develop using git, you might like to often switch
# to the git status filter:
# {
# key: alt-g
# execution: ":toggle_git_status"
# }
# You can reproduce the bindings of Norton Commander
# on copying or moving to the other panel:
# {
# key: F5
# external: "cp -r {file} {other-panel-directory}"
# leave_broot: false
# }
# {
# key: F6
# external: "mv {file} {other-panel-directory}"
# leave_broot: false
# }
]

View File

@ -1,7 +0,0 @@
if test -z "$SSH_ENV"
set -xg SSH_ENV $HOME/.ssh/environment
end
if not __ssh_agent_is_started
__ssh_agent_start
end

View File

@ -6,10 +6,7 @@ if status is-interactive
set -gx GOPATH $HOME/go
set -gx GPG_TTY $(tty)
set -gx CC clang
set -g PERL5LIB $HOME/perl5/lib/perl5
set -g PERL_LOCAL_LIB_ROOT $HOME/perl5
set -g PERL_MB_OPT '--install_base "/home/jan/perl5"'
set -g PERL_MM_OPT 'INSTALL_BASE=/home/jan/perl5'
set -gx ZK_NOTEBOOK_DIR doc/notebook/
set -U fish_greeting
fish_add_path -g {{ .path }}

View File

@ -1,4 +0,0 @@
danhper/fish-ssh-agent
plttn/fish-eza
patrickf1/fzf.fish
jorgebucaran/fisher

View File

@ -1,62 +0,0 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR --export EZA_LAAD_OPTIONS:\x2d\x2dall\x1e\x2d\x2dall\x1e\x2d\x2dbinary\x1e\x2d\x2donly\x2ddirs
SETUVAR --export EZA_LAAID_OPTIONS:\x2d\x2dall\x1e\x2d\x2dall\x1e\x2d\x2dbinary\x1e\x2d\x2dicons\x1e\x2d\x2donly\x2ddirs
SETUVAR --export EZA_LAAI_OPTIONS:\x2d\x2dall\x1e\x2d\x2dall\x1e\x2d\x2dbinary\x1e\x2d\x2dicons
SETUVAR --export EZA_LAA_OPTIONS:\x2d\x2dall\x1e\x2d\x2dall\x1e\x2d\x2dbinary
SETUVAR --export EZA_LAD_OPTIONS:\x2d\x2dall\x1e\x2d\x2dbinary\x1e\x2d\x2donly\x2ddirs
SETUVAR --export EZA_LAID_OPTIONS:\x2d\x2dall\x1e\x2d\x2dbinary\x1e\x2d\x2dicons\x1e\x2d\x2donly\x2ddirs
SETUVAR --export EZA_LAI_OPTIONS:\x2d\x2dall\x1e\x2d\x2dbinary\x1e\x2d\x2dicons
SETUVAR --export EZA_LA_OPTIONS:\x2d\x2dall\x1e\x2d\x2dbinary
SETUVAR --export EZA_LC_OPTIONS:\x2d\x2dacross
SETUVAR --export EZA_LD_OPTIONS:\x2d\x2donly\x2ddirs
SETUVAR --export EZA_LE_OPTIONS:\x2d\x2dextended\x1e\x2d\x2dlong
SETUVAR --export EZA_LG_OPTIONS:\x2d\x2dgit\x1e\x2d\x2dgit\x2dignore\x1e\x2d\x2dlong
SETUVAR --export EZA_LID_OPTIONS:\x2d\x2dicons\x1e\x2d\x2donly\x2ddirs
SETUVAR --export EZA_LI_OPTIONS:\x2d\x2dicons
SETUVAR --export EZA_LL_OPTIONS:\x2d\x2dlong
SETUVAR --export EZA_LO_OPTIONS:\x2d\x2doneline
SETUVAR --export EZA_LT_OPTIONS:\x2d\x2dtree\x1e\x2d\x2dlevel
SETUVAR --export EZA_L_OPTIONS:\x1d
SETUVAR --export EZA_STANDARD_OPTIONS:\x2d\x2dgroup\x1e\x2d\x2dheader\x1e\x2d\x2dgroup\x2ddirectories\x2dfirst
SETUVAR --export __FISH_EZA_ALIASES:l\x1ela\x1eld\x1eli\x1elid\x1elaa\x1elad\x1elai\x1elaid\x1elaad\x1elaai\x1elaaid\x1ell\x1ella\x1elld\x1elli\x1ellid\x1ellaa\x1ellad\x1ellai\x1ellaid\x1ellaad\x1ellaai\x1ellaaid\x1elg\x1elga\x1elgd\x1elgi\x1elgid\x1elgaa\x1elgad\x1elgai\x1elgaid\x1elgaad\x1elgaai\x1elgaaid\x1ele\x1elea\x1eled\x1elei\x1eleid\x1eleaa\x1elead\x1eleai\x1eleaid\x1eleaad\x1eleaai\x1eleaaid\x1elt\x1elta\x1eltd\x1elti\x1eltid\x1eltad\x1eltai\x1eltaid\x1eltaad\x1eltaai\x1eltaaid\x1elc\x1elca\x1elcd\x1elci\x1elcid\x1elcaa\x1elcad\x1elcai\x1elcaid\x1elcaad\x1elcaai\x1elcaaid\x1elo\x1eloa\x1elod\x1eloi\x1eloid\x1eloaa\x1eload\x1eloai\x1eloaid\x1eloaad\x1eloaai\x1eloaaid
SETUVAR --export __FISH_EZA_BASE_ALIASES:l\x1ell\x1elg\x1ele\x1elt\x1elc\x1elo
SETUVAR --export __FISH_EZA_EXPANDED:a\x1ed\x1ei\x1eid\x1eaa\x1ead\x1eai\x1eaid\x1eaad\x1eaai\x1eaaid
SETUVAR --export __FISH_EZA_EXPANDED_OPT_NAME:LA\x1eLD\x1eLI\x1eLID\x1eLAA\x1eLAD\x1eLAI\x1eLAID\x1eLAAD\x1eLAAI\x1eLAAID
SETUVAR --export __FISH_EZA_OPT_NAMES:EZA_L_OPTIONS\x1eEZA_LA_OPTIONS\x1eEZA_LD_OPTIONS\x1eEZA_LI_OPTIONS\x1eEZA_LID_OPTIONS\x1eEZA_LAA_OPTIONS\x1eEZA_LAD_OPTIONS\x1eEZA_LAI_OPTIONS\x1eEZA_LAID_OPTIONS\x1eEZA_LAAD_OPTIONS\x1eEZA_LAAI_OPTIONS\x1eEZA_LAAID_OPTIONS\x1eEZA_LL_OPTIONS\x1eEZA_LG_OPTIONS\x1eEZA_LE_OPTIONS\x1eEZA_LT_OPTIONS\x1eEZA_LC_OPTIONS\x1eEZA_LO_OPTIONS
SETUVAR --export __FISH_EZA_SORT_OPTIONS:name\x1e\x2ename\x1esize\x1eext\x1emod\x1eold\x1eacc\x1ecr\x1einode
SETUVAR __fish_initialized:3400
SETUVAR _fisher_danhper_2F_fish_2D_ssh_2D_agent_files:\x7e/\x2econfig/fish/functions/__ssh_agent_is_started\x2efish\x1e\x7e/\x2econfig/fish/functions/__ssh_agent_start\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/fish\x2dssh\x2dagent\x2efish
SETUVAR _fisher_jorgebucaran_2F_fisher_files:\x7e/\x2econfig/fish/functions/fisher\x2efish\x1e\x7e/\x2econfig/fish/completions/fisher\x2efish
SETUVAR _fisher_patrickf1_2F_fzf_2E_fish_files:\x7e/\x2econfig/fish/functions/_fzf_configure_bindings_help\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_extract_var_info\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_preview_changed_file\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_preview_file\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_report_diff_type\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_report_file_type\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_directory\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_git_log\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_git_status\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_history\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_processes\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_variables\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_wrapper\x2efish\x1e\x7e/\x2econfig/fish/functions/fzf_configure_bindings\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/fzf\x2efish\x1e\x7e/\x2econfig/fish/completions/fzf_configure_bindings\x2efish
SETUVAR _fisher_plttn_2F_fish_2D_eza_files:\x7e/\x2econfig/fish/functions/eza_git\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/fish\x2deza\x2efish
SETUVAR _fisher_plugins:danhper/fish\x2dssh\x2dagent\x1eplttn/fish\x2deza\x1epatrickf1/fzf\x2efish\x1ejorgebucaran/fisher
SETUVAR _fisher_upgraded_to_4_4:\x1d
SETUVAR fish_color_autosuggestion:brblack
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:blue
SETUVAR fish_color_comment:red
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:green
SETUVAR fish_color_error:brred
SETUVAR fish_color_escape:brcyan
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:brcyan
SETUVAR fish_color_param:cyan
SETUVAR fish_color_quote:yellow
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline
SETUVAR fish_greeting:\x1d
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:yellow\x1e\x2di
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_selected_background:\x2dr

View File

@ -1,14 +0,0 @@
function __ssh_agent_is_started -d "check if ssh agent is already started"
if begin; test -f $SSH_ENV; and test -z "$SSH_AGENT_PID"; end
source $SSH_ENV > /dev/null
end
if begin; test -z "$SSH_AGENT_PID"; and test -z "$SSH_CONNECTION"; end
return 1
end
ssh-add -l > /dev/null 2>&1
if test $status -eq 2
return 1
end
end

View File

@ -1,5 +0,0 @@
function __ssh_agent_start -d "start a new ssh agent"
ssh-agent -c | sed 's/^echo/#echo/' > $SSH_ENV
chmod 600 $SSH_ENV
source $SSH_ENV > /dev/null
end

View File

@ -1,43 +0,0 @@
function _fzf_configure_bindings_help --description "Prints the help message for fzf_configure_bindings."
echo "\
USAGE:
fzf_configure_bindings [--COMMAND=[KEY_SEQUENCE]...]
DESCRIPTION
fzf_configure_bindings installs key bindings for fzf.fish's commands and erases any bindings it
previously installed. It installs bindings for both default and insert modes. fzf.fish executes
it without options on fish startup to install the out-of-the-box key bindings.
By default, commands are bound to a mnemonic key sequence, shown below. Each command's binding
can be configured using a namesake corresponding option:
COMMAND | DEFAULT KEY SEQUENCE | CORRESPONDING OPTION
Search Directory | Ctrl+Alt+F (F for file) | --directory
Search Git Log | Ctrl+Alt+L (L for log) | --git_log
Search Git Status | Ctrl+Alt+S (S for status) | --git_status
Search History | Ctrl+R (R for reverse) | --history
Search Processes | Ctrl+Alt+P (P for process) | --processes
Search Variables | Ctrl+V (V for variable) | --variables
Override a command's binding by specifying its corresponding option with the desired key
sequence. Disable a command's binding by specifying its corresponding option with no value.
Because fzf_configure_bindings erases bindings it previously installed, it can be cleanly
executed multiple times. Once the desired fzf_configure_bindings command has been found, add it
to your config.fish in order to persist the customized bindings.
In terms of validation, fzf_configure_bindings fails if passed unknown options. It expects an
equals sign between an option's name and value. However, it does not validate key sequences.
Pass -h or --help to print this help message and exit.
EXAMPLES
Default bindings but bind Search Directory to Ctrl+F and Search Variables to Ctrl+Alt+V
\$ fzf_configure_bindings --directory=\cf --variables=\e\cv
Default bindings but disable Search History
\$ fzf_configure_bindings --history=
An agglomeration of different options
\$ fzf_configure_bindings --git_status=\cg --history=\ch --variables= --processes=
SEE Also
To learn more about fish key bindings, see bind(1) and fish_key_reader(1).
"
end

View File

@ -1,15 +0,0 @@
# helper function for _fzf_search_variables
function _fzf_extract_var_info --argument-names variable_name set_show_output --description "Extract and reformat lines pertaining to \$variable_name from \$set_show_output."
# Extract only the lines about the variable, all of which begin with either
# $variable_name: ...or... $variable_name[
string match --regex "^\\\$$variable_name(?::|\[).*" <$set_show_output |
# Strip the variable name prefix, including ": " for scope info lines
string replace --regex "^\\\$$variable_name(?:: )?" '' |
# Distill the lines of values, replacing...
# [1]: |value|
# ...with...
# [1] value
string replace --regex ": \|(.*)\|" ' $1'
end

View File

@ -1,49 +0,0 @@
# helper for _fzf_search_git_status
# arg should be a line from git status --short, e.g.
# MM functions/_fzf_preview_changed_file.fish
# D README.md
# R LICENSE -> "New License"
function _fzf_preview_changed_file --argument-names path_status --description "Show the git diff of the given file."
# remove quotes because they'll be interpreted literally by git diff
# no need to requote when referencing $path because fish does not perform word splitting
# https://fishshell.com/docs/current/fish_for_bash_users.html
set -f path (string unescape (string sub --start 4 $path_status))
# first letter of short format shows index, second letter shows working tree
# https://git-scm.com/docs/git-status/2.35.0#_short_format
set -f index_status (string sub --length 1 $path_status)
set -f working_tree_status (string sub --start 2 --length 1 $path_status)
set -f diff_opts --color=always
if test $index_status = '?'
_fzf_report_diff_type Untracked
_fzf_preview_file $path
else if contains {$index_status}$working_tree_status DD AU UD UA DU AA UU
# Unmerged statuses taken directly from git status help's short format table
# Unmerged statuses are mutually exclusive with other statuses, so if we see
# these, then safe to assume the path is unmerged
_fzf_report_diff_type Unmerged
git diff $diff_opts -- $path
else
if test $index_status != ' '
_fzf_report_diff_type Staged
# renames are only detected in the index, never working tree, so only need to test for it here
# https://stackoverflow.com/questions/73954214
if test $index_status = R
# diff the post-rename path with the original path, otherwise the diff will show the entire file as being added
set -f orig_and_new_path (string split --max 1 -- ' -> ' $path)
git diff --staged $diff_opts -- $orig_and_new_path[1] $orig_and_new_path[2]
# path currently has the form of "original -> current", so we need to correct it before it's used below
set path $orig_and_new_path[2]
else
git diff --staged $diff_opts -- $path
end
end
if test $working_tree_status != ' '
_fzf_report_diff_type Unstaged
git diff $diff_opts -- $path
end
end
end

View File

@ -1,43 +0,0 @@
# helper function for _fzf_search_directory and _fzf_search_git_status
function _fzf_preview_file --description "Print a preview for the given file based on its file type."
# because there's no way to guarantee that _fzf_search_directory passes the path to _fzf_preview_file
# as one argument, we collect all the arguments into one single variable and treat that as the path
set -f file_path $argv
if test -L "$file_path" # symlink
# notify user and recurse on the target of the symlink, which can be any of these file types
set -l target_path (realpath "$file_path")
set_color yellow
echo "'$file_path' is a symlink to '$target_path'."
set_color normal
_fzf_preview_file "$target_path"
else if test -f "$file_path" # regular file
if set --query fzf_preview_file_cmd
# need to escape quotes to make sure eval receives file_path as a single arg
eval "$fzf_preview_file_cmd '$file_path'"
else
bat --style=numbers --color=always "$file_path"
end
else if test -d "$file_path" # directory
if set --query fzf_preview_dir_cmd
# see above
eval "$fzf_preview_dir_cmd '$file_path'"
else
# -A list hidden files as well, except for . and ..
# -F helps classify files by appending symbols after the file name
command ls -A -F "$file_path"
end
else if test -c "$file_path"
_fzf_report_file_type "$file_path" "character device file"
else if test -b "$file_path"
_fzf_report_file_type "$file_path" "block device file"
else if test -S "$file_path"
_fzf_report_file_type "$file_path" socket
else if test -p "$file_path"
_fzf_report_file_type "$file_path" "named pipe"
else
echo "$file_path doesn't exist." >&2
end
end

View File

@ -1,18 +0,0 @@
# helper for _fzf_preview_changed_file
# prints out something like
# ╭────────╮
# │ Staged │
# ╰────────╯
function _fzf_report_diff_type --argument-names diff_type --description "Print a distinct colored header meant to preface a git patch."
# number of "-" to draw is the length of the string to box + 2 for padding
set -f repeat_count (math 2 + (string length $diff_type))
set -f line (string repeat --count $repeat_count)
set -f top_border$line
set -f btm_border$line
set_color yellow
echo $top_border
echo "$diff_type"
echo $btm_border
set_color normal
end

View File

@ -1,6 +0,0 @@
# helper function for _fzf_preview_file
function _fzf_report_file_type --argument-names file_path file_type --description "Explain the file type for a file."
set_color red
echo "Cannot preview '$file_path': it is a $file_type."
set_color normal
end

View File

@ -1,33 +0,0 @@
function _fzf_search_directory --description "Search the current directory. Replace the current token with the selected file paths."
# Directly use fd binary to avoid output buffering delay caused by a fd alias, if any.
# Debian-based distros install fd as fdfind and the fd package is something else, so
# check for fdfind first. Fall back to "fd" for a clear error message.
set -f fd_cmd (command -v fdfind || command -v fd || echo "fd")
set -f --append fd_cmd --color=always $fzf_fd_opts
set -f fzf_arguments --multi --ansi $fzf_directory_opts
set -f token (commandline --current-token)
# expand any variables or leading tilde (~) in the token
set -f expanded_token (eval echo -- $token)
# unescape token because it's already quoted so backslashes will mess up the path
set -f unescaped_exp_token (string unescape -- $expanded_token)
# If the current token is a directory and has a trailing slash,
# then use it as fd's base directory.
if string match --quiet -- "*/" $unescaped_exp_token && test -d "$unescaped_exp_token"
set --append fd_cmd --base-directory=$unescaped_exp_token
# use the directory name as fzf's prompt to indicate the search is limited to that directory
set --prepend fzf_arguments --prompt="Directory $unescaped_exp_token> " --preview="_fzf_preview_file $expanded_token{}"
set -f file_paths_selected $unescaped_exp_token($fd_cmd 2>/dev/null | _fzf_wrapper $fzf_arguments)
else
set --prepend fzf_arguments --prompt="Directory> " --query="$unescaped_exp_token" --preview='_fzf_preview_file {}'
set -f file_paths_selected ($fd_cmd 2>/dev/null | _fzf_wrapper $fzf_arguments)
end
if test $status -eq 0
commandline --current-token --replace -- (string escape -- $file_paths_selected | string join ' ')
end
commandline --function repaint
end

View File

@ -1,36 +0,0 @@
function _fzf_search_git_log --description "Search the output of git log and preview commits. Replace the current token with the selected commit hash."
if not git rev-parse --git-dir >/dev/null 2>&1
echo '_fzf_search_git_log: Not in a git repository.' >&2
else
if not set --query fzf_git_log_format
# %h gives you the abbreviated commit hash, which is useful for saving screen space, but we will have to expand it later below
set -f fzf_git_log_format '%C(bold blue)%h%C(reset) - %C(cyan)%ad%C(reset) %C(yellow)%d%C(reset) %C(normal)%s%C(reset) %C(dim normal)[%an]%C(reset)'
end
set -f preview_cmd 'git show --color=always --stat --patch {1}'
if set --query fzf_diff_highlighter
set preview_cmd "$preview_cmd | $fzf_diff_highlighter"
end
set -f selected_log_lines (
git log --no-show-signature --color=always --format=format:$fzf_git_log_format --date=short | \
_fzf_wrapper --ansi \
--multi \
--scheme=history \
--prompt="Git Log> " \
--preview=$preview_cmd \
--query=(commandline --current-token) \
$fzf_git_log_opts
)
if test $status -eq 0
for line in $selected_log_lines
set -f abbreviated_commit_hash (string split --field 1 " " $line)
set -f full_commit_hash (git rev-parse $abbreviated_commit_hash)
set -f --append commit_hashes $full_commit_hash
end
commandline --current-token --replace (string join ' ' $commit_hashes)
end
end
commandline --function repaint
end

View File

@ -1,41 +0,0 @@
function _fzf_search_git_status --description "Search the output of git status. Replace the current token with the selected file paths."
if not git rev-parse --git-dir >/dev/null 2>&1
echo '_fzf_search_git_status: Not in a git repository.' >&2
else
set -f preview_cmd '_fzf_preview_changed_file {}'
if set --query fzf_diff_highlighter
set preview_cmd "$preview_cmd | $fzf_diff_highlighter"
end
set -f selected_paths (
# Pass configuration color.status=always to force status to use colors even though output is sent to a pipe
git -c color.status=always status --short |
_fzf_wrapper --ansi \
--multi \
--prompt="Git Status> " \
--query=(commandline --current-token) \
--preview=$preview_cmd \
--nth="2.." \
$fzf_git_status_opts
)
if test $status -eq 0
# git status --short automatically escapes the paths of most files for us so not going to bother trying to handle
# the few edges cases of weird file names that should be extremely rare (e.g. "this;needs;escaping")
set -f cleaned_paths
for path in $selected_paths
if test (string sub --length 1 $path) = R
# path has been renamed and looks like "R LICENSE -> LICENSE.md"
# extract the path to use from after the arrow
set --append cleaned_paths (string split -- "-> " $path)[-1]
else
set --append cleaned_paths (string sub --start=4 $path)
end
end
commandline --current-token --replace -- (string join ' ' $cleaned_paths)
end
end
commandline --function repaint
end

View File

@ -1,39 +0,0 @@
function _fzf_search_history --description "Search command history. Replace the command line with the selected command."
# history merge incorporates history changes from other fish sessions
# it errors out if called in private mode
if test -z "$fish_private_mode"
builtin history merge
end
if not set --query fzf_history_time_format
# Reference https://devhints.io/strftime to understand strftime format symbols
set -f fzf_history_time_format "%m-%d %H:%M:%S"
end
# Delinate time from command in history entries using the vertical box drawing char (U+2502).
# Then, to get raw command from history entries, delete everything up to it. The ? on regex is
# necessary to make regex non-greedy so it won't match into commands containing the char.
set -f time_prefix_regex '^.*? │ '
# Delinate commands throughout pipeline using null rather than newlines because commands can be multi-line
set -f commands_selected (
builtin history --null --show-time="$fzf_history_time_format" |
_fzf_wrapper --read0 \
--print0 \
--multi \
--scheme=history \
--prompt="History> " \
--query=(commandline) \
--preview="string replace --regex '$time_prefix_regex' '' -- {} | fish_indent --ansi" \
--preview-window="bottom:3:wrap" \
$fzf_history_opts |
string split0 |
# remove timestamps from commands selected
string replace --regex $time_prefix_regex ''
)
if test $status -eq 0
commandline --replace -- $commands_selected
end
commandline --function repaint
end

View File

@ -1,32 +0,0 @@
function _fzf_search_processes --description "Search all running processes. Replace the current token with the pid of the selected process."
# Directly use ps command because it is often aliased to a different command entirely
# or with options that dirty the search results and preview output
set -f ps_cmd (command -v ps || echo "ps")
# use all caps to be consistent with ps default format
# snake_case because ps doesn't seem to allow spaces in the field names
set -f ps_preview_fmt (string join ',' 'pid' 'ppid=PARENT' 'user' '%cpu' 'rss=RSS_IN_KB' 'start=START_TIME' 'command')
set -f processes_selected (
$ps_cmd -A -opid,command | \
_fzf_wrapper --multi \
--prompt="Processes> " \
--query (commandline --current-token) \
--ansi \
# first line outputted by ps is a header, so we need to mark it as so
--header-lines=1 \
# ps uses exit code 1 if the process was not found, in which case show an message explaining so
--preview="$ps_cmd -o '$ps_preview_fmt' -p {1} || echo 'Cannot preview {1} because it exited.'" \
--preview-window="bottom:4:wrap" \
$fzf_processes_opts
)
if test $status -eq 0
for process in $processes_selected
set -f --append pids_selected (string split --no-empty --field=1 -- " " $process)
end
# string join to replace the newlines outputted by string split with spaces
commandline --current-token --replace -- (string join ' ' $pids_selected)
end
commandline --function repaint
end

View File

@ -1,47 +0,0 @@
# This function expects the following two arguments:
# argument 1 = output of (set --show | psub), i.e. a file with the scope info and values of all variables
# argument 2 = output of (set --names | psub), i.e. a file with all variable names
function _fzf_search_variables --argument-names set_show_output set_names_output --description "Search and preview shell variables. Replace the current token with the selected variable."
if test -z "$set_names_output"
printf '%s\n' '_fzf_search_variables requires 2 arguments.' >&2
commandline --function repaint
return 22 # 22 means invalid argument in POSIX
end
# Exclude the history variable from being piped into fzf because
# 1. it's not included in $set_names_output
# 2. it tends to be a very large value => increases computation time
# 3._fzf_search_history is a much better way to examine history anyway
set -f all_variable_names (string match --invert history <$set_names_output)
set -f current_token (commandline --current-token)
# Use the current token to pre-populate fzf's query. If the current token begins
# with a $, remove it from the query so that it will better match the variable names
set -f cleaned_curr_token (string replace -- '$' '' $current_token)
set -f variable_names_selected (
printf '%s\n' $all_variable_names |
_fzf_wrapper --preview "_fzf_extract_var_info {} $set_show_output" \
--prompt="Variables> " \
--preview-window="wrap" \
--multi \
--query=$cleaned_curr_token \
$fzf_variables_opts
)
if test $status -eq 0
# If the current token begins with a $, do not overwrite the $ when
# replacing the current token with the selected variable.
# Uses brace expansion to prepend $ to each variable name.
commandline --current-token --replace (
if string match --quiet -- '$*' $current_token
string join " " \${$variable_names_selected}
else
string join " " $variable_names_selected
end
)
end
commandline --function repaint
end

View File

@ -1,21 +0,0 @@
function _fzf_wrapper --description "Prepares some environment variables before executing fzf."
# Make sure fzf uses fish to execute preview commands, some of which
# are autoloaded fish functions so don't exist in other shells.
# Use --function so that it doesn't clobber SHELL outside this function.
set -f --export SHELL (command --search fish)
# If neither FZF_DEFAULT_OPTS nor FZF_DEFAULT_OPTS_FILE are set, then set some sane defaults.
# See https://github.com/junegunn/fzf#environment-variables
set --query FZF_DEFAULT_OPTS FZF_DEFAULT_OPTS_FILE
if test $status -eq 2
# cycle allows jumping between the first and last results, making scrolling faster
# layout=reverse lists results top to bottom, mimicking the familiar layouts of git log, history, and env
# border shows where the fzf window begins and ends
# height=90% leaves space to see the current command and some scrollback, maintaining context of work
# preview-window=wrap wraps long lines in the preview window, making reading easier
# marker=* makes the multi-select marker more distinguishable from the pointer (since both default to >)
set --export FZF_DEFAULT_OPTS '--cycle --layout=reverse --border --height=90% --preview-window=wrap --marker="*"'
end
fzf $argv
end

View File

@ -1,7 +0,0 @@
function eza_git -d "Use exa and its git options if in a git repo"
if git rev-parse --is-inside-work-tree &>/dev/null
eza $EZA_STANDARD_OPTIONS {$EZA_LL_OPTIONS} --git $argv
else
eza $EZA_STANDARD_OPTIONS {$EZA_LL_OPTIONS} $argv
end
end

View File

@ -1,240 +0,0 @@
function fisher --argument-names cmd --description "A plugin manager for Fish"
set --query fisher_path || set --local fisher_path $__fish_config_dir
set --local fisher_version 4.4.5
set --local fish_plugins $__fish_config_dir/fish_plugins
switch "$cmd"
case -v --version
echo "fisher, version $fisher_version"
case "" -h --help
echo "Usage: fisher install <plugins...> Install plugins"
echo " fisher remove <plugins...> Remove installed plugins"
echo " fisher update <plugins...> Update installed plugins"
echo " fisher update Update all installed plugins"
echo " fisher list [<regex>] List installed plugins matching regex"
echo "Options:"
echo " -v, --version Print version"
echo " -h, --help Print this help message"
echo "Variables:"
echo " \$fisher_path Plugin installation path. Default: $__fish_config_dir" | string replace --regex -- $HOME \~
case ls list
string match --entire --regex -- "$argv[2]" $_fisher_plugins
case install update remove
isatty || read --local --null --array stdin && set --append argv $stdin
set --local install_plugins
set --local update_plugins
set --local remove_plugins
set --local arg_plugins $argv[2..-1]
set --local old_plugins $_fisher_plugins
set --local new_plugins
test -e $fish_plugins && set --local file_plugins (string match --regex -- '^[^\s]+$' <$fish_plugins | string replace -- \~ ~)
if ! set --query argv[2]
if test "$cmd" != update
echo "fisher: Not enough arguments for command: \"$cmd\"" >&2 && return 1
else if ! set --query file_plugins
echo "fisher: \"$fish_plugins\" file not found: \"$cmd\"" >&2 && return 1
end
set arg_plugins $file_plugins
end
for plugin in $arg_plugins
set plugin (test -e "$plugin" && realpath $plugin || string lower -- $plugin)
contains -- "$plugin" $new_plugins || set --append new_plugins $plugin
end
if set --query argv[2]
for plugin in $new_plugins
if contains -- "$plugin" $old_plugins
test "$cmd" = remove &&
set --append remove_plugins $plugin ||
set --append update_plugins $plugin
else if test "$cmd" = install
set --append install_plugins $plugin
else
echo "fisher: Plugin not installed: \"$plugin\"" >&2 && return 1
end
end
else
for plugin in $new_plugins
contains -- "$plugin" $old_plugins &&
set --append update_plugins $plugin ||
set --append install_plugins $plugin
end
for plugin in $old_plugins
contains -- "$plugin" $new_plugins || set --append remove_plugins $plugin
end
end
set --local pid_list
set --local source_plugins
set --local fetch_plugins $update_plugins $install_plugins
set --local fish_path (status fish-path)
echo (set_color --bold)fisher $cmd version $fisher_version(set_color normal)
for plugin in $fetch_plugins
set --local source (command mktemp -d)
set --append source_plugins $source
command mkdir -p $source/{completions,conf.d,themes,functions}
$fish_path --command "
if test -e $plugin
command cp -Rf $plugin/* $source
else
set temp (command mktemp -d)
set repo (string split -- \@ $plugin) || set repo[2] HEAD
if set path (string replace --regex -- '^(https://)?gitlab.com/' '' \$repo[1])
set name (string split -- / \$path)[-1]
set url https://gitlab.com/\$path/-/archive/\$repo[2]/\$name-\$repo[2].tar.gz
else
set url https://api.github.com/repos/\$repo[1]/tarball/\$repo[2]
end
echo Fetching (set_color --underline)\$url(set_color normal)
if command curl -q --silent -L \$url | command tar -xzC \$temp -f - 2>/dev/null
command cp -Rf \$temp/*/* $source
else
echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2
command rm -rf $source
end
command rm -rf \$temp
end
set files $source/* && string match --quiet --regex -- .+\.fish\\\$ \$files
" &
set --append pid_list (jobs --last --pid)
end
wait $pid_list 2>/dev/null
for plugin in $fetch_plugins
if set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] && test ! -e $source
if set --local index (contains --index -- "$plugin" $install_plugins)
set --erase install_plugins[$index]
else
set --erase update_plugins[(contains --index -- "$plugin" $update_plugins)]
end
end
end
for plugin in $update_plugins $remove_plugins
if set --local index (contains --index -- "$plugin" $_fisher_plugins)
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
if contains -- "$plugin" $remove_plugins
for name in (string replace --filter --regex -- '.+/conf\.d/([^/]+)\.fish$' '$1' $$plugin_files_var)
emit {$name}_uninstall
end
printf "%s\n" Removing\ (set_color red --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
set --erase _fisher_plugins[$index]
end
command rm -rf (string replace -- \~ ~ $$plugin_files_var)
functions --erase (string replace --filter --regex -- '.+/functions/([^/]+)\.fish$' '$1' $$plugin_files_var)
for name in (string replace --filter --regex -- '.+/completions/([^/]+)\.fish$' '$1' $$plugin_files_var)
complete --erase --command $name
end
set --erase $plugin_files_var
end
end
if set --query update_plugins[1] || set --query install_plugins[1]
command mkdir -p $fisher_path/{functions,themes,conf.d,completions}
end
for plugin in $update_plugins $install_plugins
set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)]
set --local files $source/{functions,themes,conf.d,completions}/*
if set --local index (contains --index -- $plugin $install_plugins)
set --local user_files $fisher_path/{functions,themes,conf.d,completions}/*
set --local conflict_files
for file in (string replace -- $source/ $fisher_path/ $files)
contains -- $file $user_files && set --append conflict_files $file
end
if set --query conflict_files[1] && set --erase install_plugins[$index]
echo -s "fisher: Cannot install \"$plugin\": please remove or move conflicting files first:" \n" "$conflict_files >&2
continue
end
end
for file in (string replace -- $source/ "" $files)
command cp -RLf $source/$file $fisher_path/$file
end
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
set --query files[1] && set --universal $plugin_files_var (string replace -- $source $fisher_path $files | string replace -- ~ \~)
contains -- $plugin $_fisher_plugins || set --universal --append _fisher_plugins $plugin
contains -- $plugin $install_plugins && set --local event install || set --local event update
printf "%s\n" Installing\ (set_color --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
for file in (string match --regex -- '.+/[^/]+\.fish$' $$plugin_files_var | string replace -- \~ ~)
source $file
if set --local name (string replace --regex -- '.+conf\.d/([^/]+)\.fish$' '$1' $file)
emit {$name}_$event
end
end
end
command rm -rf $source_plugins
if set --query _fisher_plugins[1]
set --local commit_plugins
for plugin in $file_plugins
contains -- (string lower -- $plugin) (string lower -- $_fisher_plugins) && set --append commit_plugins $plugin
end
for plugin in $_fisher_plugins
contains -- (string lower -- $plugin) (string lower -- $commit_plugins) || set --append commit_plugins $plugin
end
string replace --regex -- $HOME \~ $commit_plugins >$fish_plugins
else
set --erase _fisher_plugins
command rm -f $fish_plugins
end
set --local total (count $install_plugins) (count $update_plugins) (count $remove_plugins)
test "$total" != "0 0 0" && echo (string join ", " (
test $total[1] = 0 || echo "Installed $total[1]") (
test $total[2] = 0 || echo "Updated $total[2]") (
test $total[3] = 0 || echo "Removed $total[3]")
) plugin/s
case \*
echo "fisher: Unknown command: \"$cmd\"" >&2 && return 1
end
end
if ! set --query _fisher_upgraded_to_4_4
set --universal _fisher_upgraded_to_4_4
if functions --query _fisher_list
set --query XDG_DATA_HOME[1] || set --local XDG_DATA_HOME ~/.local/share
command rm -rf $XDG_DATA_HOME/fisher
functions --erase _fisher_{list,plugin_parse}
fisher update >/dev/null 2>/dev/null
else
for var in (set --names | string match --entire --regex '^_fisher_.+_files$')
set $var (string replace -- ~ \~ $$var)
end
functions --erase _fisher_fish_postexec
end
end

View File

@ -1,46 +0,0 @@
# Always installs bindings for insert and default mode for simplicity and b/c it has almost no side-effect
# https://gitter.im/fish-shell/fish-shell?at=60a55915ee77a74d685fa6b1
function fzf_configure_bindings --description "Installs the default key bindings for fzf.fish with user overrides passed as options."
# no need to install bindings if not in interactive mode or running tests
status is-interactive || test "$CI" = true; or return
set -f options_spec h/help 'directory=?' 'git_log=?' 'git_status=?' 'history=?' 'processes=?' 'variables=?'
argparse --max-args=0 --ignore-unknown $options_spec -- $argv 2>/dev/null
if test $status -ne 0
echo "Invalid option or a positional argument was provided." >&2
_fzf_configure_bindings_help
return 22
else if set --query _flag_help
_fzf_configure_bindings_help
return
else
# Initialize with default key sequences and then override or disable them based on flags
# index 1 = directory, 2 = git_log, 3 = git_status, 4 = history, 5 = processes, 6 = variables
set -f key_sequences \e\cf \e\cl \e\cs \cr \e\cp \cv # \c = control, \e = escape
set --query _flag_directory && set key_sequences[1] "$_flag_directory"
set --query _flag_git_log && set key_sequences[2] "$_flag_git_log"
set --query _flag_git_status && set key_sequences[3] "$_flag_git_status"
set --query _flag_history && set key_sequences[4] "$_flag_history"
set --query _flag_processes && set key_sequences[5] "$_flag_processes"
set --query _flag_variables && set key_sequences[6] "$_flag_variables"
# If fzf bindings already exists, uninstall it first for a clean slate
if functions --query _fzf_uninstall_bindings
_fzf_uninstall_bindings
end
for mode in default insert
test -n $key_sequences[1] && bind --mode $mode $key_sequences[1] _fzf_search_directory
test -n $key_sequences[2] && bind --mode $mode $key_sequences[2] _fzf_search_git_log
test -n $key_sequences[3] && bind --mode $mode $key_sequences[3] _fzf_search_git_status
test -n $key_sequences[4] && bind --mode $mode $key_sequences[4] _fzf_search_history
test -n $key_sequences[5] && bind --mode $mode $key_sequences[5] _fzf_search_processes
test -n $key_sequences[6] && bind --mode $mode $key_sequences[6] "$_fzf_search_vars_command"
end
function _fzf_uninstall_bindings --inherit-variable key_sequences
bind --erase -- $key_sequences
bind --erase --mode insert -- $key_sequences
end
end
end

View File

@ -1,4 +0,0 @@
function l --wraps='eza $EZA_STANDARD_OPTIONS $EZA_L_OPTIONS' --description 'alias l eza $EZA_STANDARD_OPTIONS $EZA_L_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_L_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function la --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LA_OPTIONS $EZA_L_OPTIONS' --description 'alias la eza $EZA_STANDARD_OPTIONS $EZA_LA_OPTIONS $EZA_L_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LA_OPTIONS $EZA_L_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function laa --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAA_OPTIONS $EZA_L_OPTIONS' --description 'alias laa eza $EZA_STANDARD_OPTIONS $EZA_LAA_OPTIONS $EZA_L_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAA_OPTIONS $EZA_L_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function laad --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAAD_OPTIONS $EZA_L_OPTIONS' --description 'alias laad eza $EZA_STANDARD_OPTIONS $EZA_LAAD_OPTIONS $EZA_L_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAAD_OPTIONS $EZA_L_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function laai --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAAI_OPTIONS $EZA_L_OPTIONS' --description 'alias laai eza $EZA_STANDARD_OPTIONS $EZA_LAAI_OPTIONS $EZA_L_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAAI_OPTIONS $EZA_L_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function laaid --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAAID_OPTIONS $EZA_L_OPTIONS' --description 'alias laaid eza $EZA_STANDARD_OPTIONS $EZA_LAAID_OPTIONS $EZA_L_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAAID_OPTIONS $EZA_L_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lad --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAD_OPTIONS $EZA_L_OPTIONS' --description 'alias lad eza $EZA_STANDARD_OPTIONS $EZA_LAD_OPTIONS $EZA_L_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAD_OPTIONS $EZA_L_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lai --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAI_OPTIONS $EZA_L_OPTIONS' --description 'alias lai eza $EZA_STANDARD_OPTIONS $EZA_LAI_OPTIONS $EZA_L_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAI_OPTIONS $EZA_L_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function laid --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAID_OPTIONS $EZA_L_OPTIONS' --description 'alias laid eza $EZA_STANDARD_OPTIONS $EZA_LAID_OPTIONS $EZA_L_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAID_OPTIONS $EZA_L_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lc --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LC_OPTIONS' --description 'alias lc eza $EZA_STANDARD_OPTIONS $EZA_LC_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LC_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lca --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LA_OPTIONS $EZA_LC_OPTIONS' --description 'alias lca eza $EZA_STANDARD_OPTIONS $EZA_LA_OPTIONS $EZA_LC_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LA_OPTIONS $EZA_LC_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lcaa --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAA_OPTIONS $EZA_LC_OPTIONS' --description 'alias lcaa eza $EZA_STANDARD_OPTIONS $EZA_LAA_OPTIONS $EZA_LC_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAA_OPTIONS $EZA_LC_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lcaad --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAAD_OPTIONS $EZA_LC_OPTIONS' --description 'alias lcaad eza $EZA_STANDARD_OPTIONS $EZA_LAAD_OPTIONS $EZA_LC_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAAD_OPTIONS $EZA_LC_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lcaai --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAAI_OPTIONS $EZA_LC_OPTIONS' --description 'alias lcaai eza $EZA_STANDARD_OPTIONS $EZA_LAAI_OPTIONS $EZA_LC_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAAI_OPTIONS $EZA_LC_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lcaaid --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAAID_OPTIONS $EZA_LC_OPTIONS' --description 'alias lcaaid eza $EZA_STANDARD_OPTIONS $EZA_LAAID_OPTIONS $EZA_LC_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAAID_OPTIONS $EZA_LC_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lcad --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAD_OPTIONS $EZA_LC_OPTIONS' --description 'alias lcad eza $EZA_STANDARD_OPTIONS $EZA_LAD_OPTIONS $EZA_LC_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAD_OPTIONS $EZA_LC_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lcai --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAI_OPTIONS $EZA_LC_OPTIONS' --description 'alias lcai eza $EZA_STANDARD_OPTIONS $EZA_LAI_OPTIONS $EZA_LC_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAI_OPTIONS $EZA_LC_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lcaid --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAID_OPTIONS $EZA_LC_OPTIONS' --description 'alias lcaid eza $EZA_STANDARD_OPTIONS $EZA_LAID_OPTIONS $EZA_LC_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAID_OPTIONS $EZA_LC_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lcd --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LD_OPTIONS $EZA_LC_OPTIONS' --description 'alias lcd eza $EZA_STANDARD_OPTIONS $EZA_LD_OPTIONS $EZA_LC_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LD_OPTIONS $EZA_LC_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lci --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LI_OPTIONS $EZA_LC_OPTIONS' --description 'alias lci eza $EZA_STANDARD_OPTIONS $EZA_LI_OPTIONS $EZA_LC_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LI_OPTIONS $EZA_LC_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lcid --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LID_OPTIONS $EZA_LC_OPTIONS' --description 'alias lcid eza $EZA_STANDARD_OPTIONS $EZA_LID_OPTIONS $EZA_LC_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LID_OPTIONS $EZA_LC_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function ld --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LD_OPTIONS $EZA_L_OPTIONS' --description 'alias ld eza $EZA_STANDARD_OPTIONS $EZA_LD_OPTIONS $EZA_L_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LD_OPTIONS $EZA_L_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function le --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LE_OPTIONS' --description 'alias le eza $EZA_STANDARD_OPTIONS $EZA_LE_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LE_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lea --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LA_OPTIONS $EZA_LE_OPTIONS' --description 'alias lea eza $EZA_STANDARD_OPTIONS $EZA_LA_OPTIONS $EZA_LE_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LA_OPTIONS $EZA_LE_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function leaa --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAA_OPTIONS $EZA_LE_OPTIONS' --description 'alias leaa eza $EZA_STANDARD_OPTIONS $EZA_LAA_OPTIONS $EZA_LE_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAA_OPTIONS $EZA_LE_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function leaad --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAAD_OPTIONS $EZA_LE_OPTIONS' --description 'alias leaad eza $EZA_STANDARD_OPTIONS $EZA_LAAD_OPTIONS $EZA_LE_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAAD_OPTIONS $EZA_LE_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function leaai --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAAI_OPTIONS $EZA_LE_OPTIONS' --description 'alias leaai eza $EZA_STANDARD_OPTIONS $EZA_LAAI_OPTIONS $EZA_LE_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAAI_OPTIONS $EZA_LE_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function leaaid --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAAID_OPTIONS $EZA_LE_OPTIONS' --description 'alias leaaid eza $EZA_STANDARD_OPTIONS $EZA_LAAID_OPTIONS $EZA_LE_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAAID_OPTIONS $EZA_LE_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lead --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAD_OPTIONS $EZA_LE_OPTIONS' --description 'alias lead eza $EZA_STANDARD_OPTIONS $EZA_LAD_OPTIONS $EZA_LE_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAD_OPTIONS $EZA_LE_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function leai --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAI_OPTIONS $EZA_LE_OPTIONS' --description 'alias leai eza $EZA_STANDARD_OPTIONS $EZA_LAI_OPTIONS $EZA_LE_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAI_OPTIONS $EZA_LE_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function leaid --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAID_OPTIONS $EZA_LE_OPTIONS' --description 'alias leaid eza $EZA_STANDARD_OPTIONS $EZA_LAID_OPTIONS $EZA_LE_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAID_OPTIONS $EZA_LE_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function led --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LD_OPTIONS $EZA_LE_OPTIONS' --description 'alias led eza $EZA_STANDARD_OPTIONS $EZA_LD_OPTIONS $EZA_LE_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LD_OPTIONS $EZA_LE_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lei --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LI_OPTIONS $EZA_LE_OPTIONS' --description 'alias lei eza $EZA_STANDARD_OPTIONS $EZA_LI_OPTIONS $EZA_LE_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LI_OPTIONS $EZA_LE_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function leid --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LID_OPTIONS $EZA_LE_OPTIONS' --description 'alias leid eza $EZA_STANDARD_OPTIONS $EZA_LID_OPTIONS $EZA_LE_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LID_OPTIONS $EZA_LE_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lg --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LG_OPTIONS' --description 'alias lg eza $EZA_STANDARD_OPTIONS $EZA_LG_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LG_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lga --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LA_OPTIONS $EZA_LG_OPTIONS' --description 'alias lga eza $EZA_STANDARD_OPTIONS $EZA_LA_OPTIONS $EZA_LG_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LA_OPTIONS $EZA_LG_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lgaa --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAA_OPTIONS $EZA_LG_OPTIONS' --description 'alias lgaa eza $EZA_STANDARD_OPTIONS $EZA_LAA_OPTIONS $EZA_LG_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAA_OPTIONS $EZA_LG_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lgaad --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAAD_OPTIONS $EZA_LG_OPTIONS' --description 'alias lgaad eza $EZA_STANDARD_OPTIONS $EZA_LAAD_OPTIONS $EZA_LG_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAAD_OPTIONS $EZA_LG_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lgaai --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAAI_OPTIONS $EZA_LG_OPTIONS' --description 'alias lgaai eza $EZA_STANDARD_OPTIONS $EZA_LAAI_OPTIONS $EZA_LG_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAAI_OPTIONS $EZA_LG_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lgaaid --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAAID_OPTIONS $EZA_LG_OPTIONS' --description 'alias lgaaid eza $EZA_STANDARD_OPTIONS $EZA_LAAID_OPTIONS $EZA_LG_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAAID_OPTIONS $EZA_LG_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lgad --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAD_OPTIONS $EZA_LG_OPTIONS' --description 'alias lgad eza $EZA_STANDARD_OPTIONS $EZA_LAD_OPTIONS $EZA_LG_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAD_OPTIONS $EZA_LG_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lgai --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAI_OPTIONS $EZA_LG_OPTIONS' --description 'alias lgai eza $EZA_STANDARD_OPTIONS $EZA_LAI_OPTIONS $EZA_LG_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAI_OPTIONS $EZA_LG_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lgaid --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAID_OPTIONS $EZA_LG_OPTIONS' --description 'alias lgaid eza $EZA_STANDARD_OPTIONS $EZA_LAID_OPTIONS $EZA_LG_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAID_OPTIONS $EZA_LG_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lgd --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LD_OPTIONS $EZA_LG_OPTIONS' --description 'alias lgd eza $EZA_STANDARD_OPTIONS $EZA_LD_OPTIONS $EZA_LG_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LD_OPTIONS $EZA_LG_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lgi --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LI_OPTIONS $EZA_LG_OPTIONS' --description 'alias lgi eza $EZA_STANDARD_OPTIONS $EZA_LI_OPTIONS $EZA_LG_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LI_OPTIONS $EZA_LG_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lgid --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LID_OPTIONS $EZA_LG_OPTIONS' --description 'alias lgid eza $EZA_STANDARD_OPTIONS $EZA_LID_OPTIONS $EZA_LG_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LID_OPTIONS $EZA_LG_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function li --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LI_OPTIONS $EZA_L_OPTIONS' --description 'alias li eza $EZA_STANDARD_OPTIONS $EZA_LI_OPTIONS $EZA_L_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LI_OPTIONS $EZA_L_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lid --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LID_OPTIONS $EZA_L_OPTIONS' --description 'alias lid eza $EZA_STANDARD_OPTIONS $EZA_LID_OPTIONS $EZA_L_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LID_OPTIONS $EZA_L_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function ll --wraps=eza_git --description 'alias ll eza_git'
eza_git $argv
end

View File

@ -1,4 +0,0 @@
function lla --wraps='eza_git $EZA_LA_OPTIONS' --description 'alias lla eza_git $EZA_LA_OPTIONS'
eza_git $EZA_LA_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function llaa --wraps='eza_git $EZA_LAA_OPTIONS' --description 'alias llaa eza_git $EZA_LAA_OPTIONS'
eza_git $EZA_LAA_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function llaad --wraps='eza_git $EZA_LAAD_OPTIONS' --description 'alias llaad eza_git $EZA_LAAD_OPTIONS'
eza_git $EZA_LAAD_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function llaai --wraps='eza_git $EZA_LAAI_OPTIONS' --description 'alias llaai eza_git $EZA_LAAI_OPTIONS'
eza_git $EZA_LAAI_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function llaaid --wraps='eza_git $EZA_LAAID_OPTIONS' --description 'alias llaaid eza_git $EZA_LAAID_OPTIONS'
eza_git $EZA_LAAID_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function llad --wraps='eza_git $EZA_LAD_OPTIONS' --description 'alias llad eza_git $EZA_LAD_OPTIONS'
eza_git $EZA_LAD_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function llai --wraps='eza_git $EZA_LAI_OPTIONS' --description 'alias llai eza_git $EZA_LAI_OPTIONS'
eza_git $EZA_LAI_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function llaid --wraps='eza_git $EZA_LAID_OPTIONS' --description 'alias llaid eza_git $EZA_LAID_OPTIONS'
eza_git $EZA_LAID_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lld --wraps='eza_git $EZA_LD_OPTIONS' --description 'alias lld eza_git $EZA_LD_OPTIONS'
eza_git $EZA_LD_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lli --wraps='eza_git $EZA_LI_OPTIONS' --description 'alias lli eza_git $EZA_LI_OPTIONS'
eza_git $EZA_LI_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function llid --wraps='eza_git $EZA_LID_OPTIONS' --description 'alias llid eza_git $EZA_LID_OPTIONS'
eza_git $EZA_LID_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function lo --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LO_OPTIONS' --description 'alias lo eza $EZA_STANDARD_OPTIONS $EZA_LO_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LO_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function loa --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LA_OPTIONS $EZA_LO_OPTIONS' --description 'alias loa eza $EZA_STANDARD_OPTIONS $EZA_LA_OPTIONS $EZA_LO_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LA_OPTIONS $EZA_LO_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function loaa --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAA_OPTIONS $EZA_LO_OPTIONS' --description 'alias loaa eza $EZA_STANDARD_OPTIONS $EZA_LAA_OPTIONS $EZA_LO_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAA_OPTIONS $EZA_LO_OPTIONS $argv
end

View File

@ -1,4 +0,0 @@
function loaad --wraps='eza $EZA_STANDARD_OPTIONS $EZA_LAAD_OPTIONS $EZA_LO_OPTIONS' --description 'alias loaad eza $EZA_STANDARD_OPTIONS $EZA_LAAD_OPTIONS $EZA_LO_OPTIONS'
eza $EZA_STANDARD_OPTIONS $EZA_LAAD_OPTIONS $EZA_LO_OPTIONS $argv
end

Some files were not shown because too many files have changed in this diff Show More