1
0
Fork 0
chezmoi/dot_config/broot/conf.hjson
2022-05-06 10:08:57 +02:00

360 lines
12 KiB
Text
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

###############################################################
# 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 `#`.
#
###############################################################
{
capture_mouse: false
###############################################################
# 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:
###############################################################
# 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: false
###############################################################
# 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 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/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: {
# <empty>: fuzzy name
# /: regex name
# }
###############################################################
# Verbs and shortcuts
# You can define your own commands which would be applied to
# the selection.
# You'll also find below verbs that you can customize or enable.
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=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
# }
]
###############################################################
# 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
###############################################################
# If you only want to set the default color and a transparent
# background, uncomment this simplified skin:
# skin: {
# default: none none / gray(20) none
# }
#
# To experiment with a whole skin, uncomment this one:
# skin: {
# default: gray(23) 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
# }
###############################################################
# 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 Panels Count
#
# Change this if you sometimes want to have more than 2 panels
# open
# max_panels_count: 2
}