Not for normies
| 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 | # |
| 62 | show_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 | # |
| 112 | special_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) |
| 181 | content_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 | # |
| 208 | enable_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 | # |
| 217 | lines_before_match_in_preview: 1 |
| 218 | lines_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 | # |
| 227 | preview_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. |
| 271 | imports: [ |
| 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 | ] |