From 882f3bf9544f9f0f9a67270a1301a1d578d9952b Mon Sep 17 00:00:00 2001 From: Daniel Flanagan Date: Thu, 27 Jul 2023 21:25:50 -0500 Subject: [PATCH] Broooooot --- common/bin/dotfiles-setup | 1 + common/broot/conf.hjson | 197 ++++++++++++++++++ common/broot/launcher/bash/br | 1 + common/broot/launcher/installed-v4 | 4 + common/broot/skins/catppuccin-macchiato.hjson | 169 +++++++++++++++ common/broot/skins/catppuccin-mocha.hjson | 169 +++++++++++++++ common/broot/skins/dark-blue.hjson | 115 ++++++++++ common/broot/skins/dark-gruvbox.hjson | 87 ++++++++ common/broot/skins/dark-orange.hjson | 110 ++++++++++ common/broot/skins/solarized-dark.hjson | 66 ++++++ common/broot/skins/solarized-light.hjson | 113 ++++++++++ common/broot/skins/white.hjson | 83 ++++++++ common/broot/verbs.hjson | 126 +++++++++++ 13 files changed, 1241 insertions(+) create mode 100644 common/broot/conf.hjson create mode 120000 common/broot/launcher/bash/br create mode 100644 common/broot/launcher/installed-v4 create mode 100644 common/broot/skins/catppuccin-macchiato.hjson create mode 100644 common/broot/skins/catppuccin-mocha.hjson create mode 100644 common/broot/skins/dark-blue.hjson create mode 100644 common/broot/skins/dark-gruvbox.hjson create mode 100644 common/broot/skins/dark-orange.hjson create mode 100644 common/broot/skins/solarized-dark.hjson create mode 100644 common/broot/skins/solarized-light.hjson create mode 100644 common/broot/skins/white.hjson create mode 100644 common/broot/verbs.hjson diff --git a/common/bin/dotfiles-setup b/common/bin/dotfiles-setup index 77d778d..550223e 100755 --- a/common/bin/dotfiles-setup +++ b/common/bin/dotfiles-setup @@ -41,6 +41,7 @@ test -d ~/.tmux/pluginx/tpm || \ l common/zellij $c/zellij l common/tmux/conf $h/.tmux.conf l common/fish $c/fish +l common/broot $c/broot l common/bat $c/bat l common/bash/rc $h/.bashrc l common/wezterm $c/wezterm diff --git a/common/broot/conf.hjson b/common/broot/conf.hjson new file mode 100644 index 0000000..b0ea3a8 --- /dev/null +++ b/common/broot/conf.hjson @@ -0,0 +1,197 @@ +############################################################### +# 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 you can launch `br -H`) +# A popular flag is the `g` one which displays git related info. +# +default_flags: ihp + +############################################################### +# 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) +# +# modal: true + +############################################################### +# 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) +# +special_paths: { + "/media" : "no-enter" // comment it if desired + # "/media/slow-backup-disk" : no-enter + # "/home/dys/useless" : hide + # "/home/dys/my-link-I-want-to-explore" : enter +} + +############################################################### +# 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: { +# : 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 + +############################################################### +# 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 + } +] diff --git a/common/broot/launcher/bash/br b/common/broot/launcher/bash/br new file mode 120000 index 0000000..314254a --- /dev/null +++ b/common/broot/launcher/bash/br @@ -0,0 +1 @@ +/home/daniel/.home/.local/share/broot/launcher/bash/1 \ No newline at end of file diff --git a/common/broot/launcher/installed-v4 b/common/broot/launcher/installed-v4 new file mode 100644 index 0000000..3f026af --- /dev/null +++ b/common/broot/launcher/installed-v4 @@ -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 diff --git a/common/broot/skins/catppuccin-macchiato.hjson b/common/broot/skins/catppuccin-macchiato.hjson new file mode 100644 index 0000000..897faec --- /dev/null +++ b/common/broot/skins/catppuccin-macchiato.hjson @@ -0,0 +1,169 @@ +############################################################### +# 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 +# +# 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 +# +### 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 +} diff --git a/common/broot/skins/catppuccin-mocha.hjson b/common/broot/skins/catppuccin-mocha.hjson new file mode 100644 index 0000000..514ac3a --- /dev/null +++ b/common/broot/skins/catppuccin-mocha.hjson @@ -0,0 +1,169 @@ +############################################################### +# 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 +# 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 +# +### 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 +} diff --git a/common/broot/skins/dark-blue.hjson b/common/broot/skins/dark-blue.hjson new file mode 100644 index 0000000..0ceb2b9 --- /dev/null +++ b/common/broot/skins/dark-blue.hjson @@ -0,0 +1,115 @@ +############################################################### +# 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_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 + diff --git a/common/broot/skins/dark-gruvbox.hjson b/common/broot/skins/dark-gruvbox.hjson new file mode 100644 index 0000000..2804729 --- /dev/null +++ b/common/broot/skins/dark-gruvbox.hjson @@ -0,0 +1,87 @@ +############################################################### +# 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_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) +} diff --git a/common/broot/skins/dark-orange.hjson b/common/broot/skins/dark-orange.hjson new file mode 100644 index 0000000..9fb0eee --- /dev/null +++ b/common/broot/skins/dark-orange.hjson @@ -0,0 +1,110 @@ +############################################################### +# 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_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 + diff --git a/common/broot/skins/solarized-dark.hjson b/common/broot/skins/solarized-dark.hjson new file mode 100644 index 0000000..fdea579 --- /dev/null +++ b/common/broot/skins/solarized-dark.hjson @@ -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 +} diff --git a/common/broot/skins/solarized-light.hjson b/common/broot/skins/solarized-light.hjson new file mode 100644 index 0000000..d83f3d5 --- /dev/null +++ b/common/broot/skins/solarized-light.hjson @@ -0,0 +1,113 @@ +// contributed by [@danieltrautmann](https://github.com/danieltrautmann) +// +// +// The Solarized Light skin uses RGB values, so it might not work well with some +// terminals +// +// Doc at https://dystroy.org/broot/skins/ + +skin: { + // base00 base3 / base1 base2 + default: "rgb(101, 123, 131) rgb(253, 246, 227) / rgb(147, 161, 161) rgb(238, 232, 213)" + // 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_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) +} diff --git a/common/broot/skins/white.hjson b/common/broot/skins/white.hjson new file mode 100644 index 0000000..1e8d9b9 --- /dev/null +++ b/common/broot/skins/white.hjson @@ -0,0 +1,83 @@ +############################################################### +# 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_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) +} diff --git a/common/broot/verbs.hjson b/common/broot/verbs.hjson new file mode 100644 index 0000000..3cc533a --- /dev/null +++ b/common/broot/verbs.hjson @@ -0,0 +1,126 @@ +############################################################### +# This file contains the verb definitions for broot +# +# Doc at https://dystroy.org/broot/verbs/ +############################################################### + +verbs: [ + + # 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 standard recommended command for editing files, that you + # can customize. + # 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. + # Example: + # execution: nvim +{line} {file} + { + invocation: edit + shortcut: e + execution: "$EDITOR +{line} {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 not executed 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}" + } + + # 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 shortcut bringing you to your home directory + # { + # invocation: home + # key: ctrl-home + # execution: ":focus ~" + # } + + # 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: ctrl-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 + # } +] +