irongit
dotfiles/broot/conf.hjson
300 lines9.6 KB
1###############################################################
2# This configuration file lets you
3# - define new commands
4# - change the shortcut or triggering keys of built-in verbs
5# - change the colors
6# - set default values for flags
7# - set special behaviors on specific paths
8# - and more...
9#
10# Configuration documentation is available at
11# https://dystroy.org/broot
12#
13# This file's format is Hjson ( https://hjson.github.io/ ). Some
14# properties are commented out. To enable them, remove the `#`.
15#
16###############################################################
17
18###############################################################
19# Default flags
20# You can set up flags you want broot to start with by
21# default, for example `default_flags="-ihp"` if you usually want
22# to see hidden and gitignored files and the permissions (then
23# if you don't want the hidden files at a specific launch,
24# you can launch broot with `br -H`).
25# A popular flag is the `g` one which displays git related info.
26#
27# default_flags:
28
29###############################################################
30# Terminal's title
31# If you want the terminal's title to be updated when you change
32# directory, set a terminal_title pattern by uncommenting one of
33# the examples below and tuning it to your taste.
34#
35# terminal_title: "[broot] {git-name}"
36# terminal_title: "{file} 🐄"
37# terminal_title: "-= {file-name} =-"
38# reset_terminal_title_on_exit: false
39
40###############################################################
41# Date/Time format
42# If you want to change the format for date/time, uncomment the
43# following line and change it according to
44# https://docs.rs/chrono/0.4.11/chrono/format/strftime/index.html
45#
46# date_time_format: %Y/%m/%d %R
47
48###############################################################
49# uncomment to activate modal mode
50#
51# (you really should read https://dystroy.org/broot/modal/
52# before as it may not suit everybody even among vim users)
53#
54# You may start either in 'command' mode, or in 'input' mode
55#
56# modal: true
57# initial_mode: command
58
59###############################################################
60# Whether to mark the selected line with a triangle
61#
62show_selection_mark: true
63
64###############################################################
65# Column order
66# cols_order, if specified, must be a permutation of the following
67# array. You should keep the name column at the end as it has a
68# variable length.
69#
70# cols_order: [
71# mark
72# git
73# size
74# permission
75# date
76# count
77# branch
78# name
79# ]
80
81###############################################################
82# True Colors
83# If this parameter isn't set, broot tries to automatically
84# determine whether true colors (24 bits) are available.
85# As this process is unreliable, you may uncomment this setting
86# and set it to false or true if you notice the colors in
87# previewed images are too off.
88#
89# true_colors: false
90
91###############################################################
92# Icons
93# If you want to display icons in broot, uncomment this line
94# (see https://dystroy.org/broot/icons for installation and
95# troubleshooting)
96#
97# icon_theme: vscode
98
99###############################################################
100# Special paths
101# If some paths must be handled specially, uncomment (and change
102# this section as per the examples)
103# Setting "list":"never" on a dir prevents broot from looking at its
104# children when searching, unless the dir is the selected root.
105# Setting "sum":"never" on a dir prevents broot from looking at its
106# children when computing the total size and count of files.
107# Setting "show":"always" makes a file visible even if its name
108# starts with a dot.
109# Setting "list":"always" may be useful on a link to a directory
110# (they're otherwise not entered by broot unless selected)
111#
112special_paths: {
113 "/media" : {
114 list: "never"
115 sum: "never"
116 }
117 "~/.config": { "show": "always" }
118 "trav": {
119 show: always
120 list: "always",
121 sum: "never"
122 }
123 # "~/useless": { "show": "never" }
124 # "~/my-link-I-want-to-explore": { "list": "always" }
125}
126
127###############################################################
128# Quit on last cancel
129# You can usually cancel the last state change on escape.
130# If you want the escape key to quit broot when there's nothing
131# to cancel (for example when you just opened broot), uncomment
132# this parameter
133#
134# quit_on_last_cancel: true
135
136###############################################################
137# Search modes
138#
139# broot allows many search modes.
140# A search mode is defined by
141# - the way to search: 'fuzzy', 'exact', 'regex', or 'tokens'.
142# - where to search: file 'name', 'path', or file 'content'
143# A search pattern may for example be "fuzzy path" (default),
144# "regex content" or "exact path".
145#
146# The search mode is selected from its prefix. For example, if
147# you type "abc", the default mode is "fuzzy path". If you type
148# "/abc", the mode is "regex path". If you type "rn/abc", the mode
149# is "regex name".
150#
151# This mapping may be modified. You may want to dedicate the
152# empty prefix (the one which doesn't need a '/') to the
153# search mode you use most often. The example below makes it
154# easy to search on name rather than on the subpath.
155#
156# More information on
157# https://dystroy.org/broot/input/#the-filtering-pattern
158#
159# search_modes: {
160# <empty>: fuzzy name
161# /: regex name
162# }
163
164###############################################################
165# File Extension Colors
166#
167# uncomment and modify the next section if you want to color
168# file name depending on their extension
169#
170# ext_colors: {
171# png: rgb(255, 128, 75)
172# rs: yellow
173# }
174
175###############################################################
176# Max file size for content search
177#
178# Bigger files are ignored when searching their content. You
179# can specify this size either in ISO units (eg 5GB) or in
180# the old binary units (eg 44Kib)
181content_search_max_file_size: 10MB
182
183###############################################################
184# Max Panels Count
185#
186# Change this if you sometimes want to have more than 2 panels
187# open
188# max_panels_count: 2
189
190###############################################################
191# Update work dir
192#
193# By default, broot process' work dir is kept in sync with the
194# current's panel root. If you want to keep it unchanged,
195# uncomment this setting
196#
197# update_work_dir: false
198
199###############################################################
200# Kitty Keyboard extension
201#
202# If you want to use advanced keyboard shortcuts in Kitty
203# compatible terminals (Kitty, Wezterm), set this to true.
204#
205# This makes it possible to use shortcuts like 'space-n',
206# 'ctrl-alt-a-b', 'shift-space', etc.
207#
208enable_kitty_keyboard: false
209
210###############################################################
211# lines around matching line in filtered preview
212#
213# When searching the content of a file, you can have either
214# only the matching lines displayed, or some of the surrounding
215# ones too.
216#
217lines_before_match_in_preview: 1
218lines_after_match_in_preview: 1
219
220###############################################################
221# transformations before preview
222#
223# It's possible to define transformations to apply to some files
224# before calling one of the default preview renderers in broot.
225# Below are two examples that you may uncomment and adapt:
226#
227preview_transformers: [
228 // # Use mutool to render any PDF file as an image
229 // # In this example we use placeholders for the input and output files
230 // {
231 // input_extensions: [ "pdf" ] // case doesn't matter
232 // output_extension: png
233 // mode: image
234 // command: [ "mutool", "draw", "-w", "1000", "-o", "{output-path}", "{input-path}" ]
235 // }
236
237 // # Use LibreOffice to render Office files as images
238 // # In this example, {output-dir} is used to specify where LibreOffice must write the result
239 // {
240 // input_extensions: [ "xls", "xlsx", "doc", "docx", "ppt", "pptx", "ods", "odt", "odp" ]
241 // output_extension: png
242 // mode: image
243 // command: [
244 // "libreoffice", "--headless",
245 // "--convert-to", "png",
246 // "--outdir", "{output-dir}",
247 // "{input-path}"
248 // ]
249 // }
250
251 // # Use jq to beautify JSON
252 // # In this example, the command refers to neither the input nor the output,
253 // # so broot pipes them to the stdin and stdout of the jq process
254 // {
255 // input_extensions: [ "json" ]
256 // output_extension: json
257 // mode: text
258 // command: [ "jq" ]
259 // }
260]
261
262###############################################################
263# Imports
264#
265# While it's possible to have all configuration in one file,
266# it's more convenient to split it in several ones.
267# Importing also allows to set a condition on the terminal's
268# color, which makes it possible to have a different skin
269# chosen when your terminal has a light background and when
270# it has a light one.
271imports: [
272
273 # Verbs are better configured in verbs.hjson. But you
274 # can also add another files for your personal verbs
275 verbs.hjson
276
277 # This file contains the skin to use when the terminal
278 # is dark (or when this couldn't be determined)
279 {
280 luma: [
281 dark
282 unknown
283 ]
284 # (un)comment to choose your preferred skin
285 file: skins/dark-blue.hjson
286 //file: skins/catppuccin-macchiato.hjson
287 //file: skins/catppuccin-mocha.hjson
288 //file: skins/dark-gruvbox.hjson
289 //file: skins/dark-orange.hjson
290 //file: skins/solarized-dark.hjson
291 }
292
293 # This skin is imported when your terminal is light
294 {
295 luma: light
296 # (un)comment to choose your preferred skin
297 //file: skins/solarized-light.hjson
298 file: skins/white.hjson
299 }
300]