app:
  host: 127.0.0.1
  port: 8080
  cert_dir: ~/.local/share/spilltea
  project_dir: ~/.local/share/spilltea
  plugins_dir: ~/.config/spilltea/plugins
  upstream_proxy: "" # e.g. http://corporate-proxy:8888 or http://user:pass@host:8888
  proxy_auth: "" # require basic auth to use the proxy, format: user:pass (empty = disabled)
  max_body_size_mb: 50 # max response body size read into memory for large streamed responses (MB)
  external_editor: "" # override $EDITOR for external editing (e.g. nvim, code --wait)

intercept:
  default_intercept_enabled: true
  default_capture_response: false
  auto_forward_regex:
    - '\.(js|css|png|gif|ico|woff2?|ttf|svg)(\?.*)?$'

replay:
  switch_to_page_on_send: true

history:
  skip_duplicates: true # if true, skip saving entries with the same method, host, path and body
  keep_responses: false # if true, response body and headers are stored in history

tui:
  use_nerdfont_icons: false
  default_sidebar_state: "expanded" # hidden, collapsed, expanded
  pretty_print_body: true # auto-indent JSON and HTML response bodies
  colors:
    base00: "110F12" # Default Background
    base01: "1C1920" # Lighter Background (status bars, line numbers)
    base02: "1D1A26" # Selection Background
    base03: "514D63" # Comments, Invisibles, faint text
    base04: "8E8AA0" # Dark Foreground (status bars)
    base05: "C2BED6" # Default Foreground, Caret, Delimiters
    base06: "D8D5EA" # Light Foreground (rarely used)
    base07: "EAE7F7" # Light Background (rarely used)
    base08: "E07080" # Red: errors, diff deleted
    base09: "D49070" # Orange: integers, constants, warnings
    base0a: "C4B060" # Yellow: classes, search highlight
    base0b: "80B880" # Green: strings, diff inserted, success
    base0c: "70B8C0" # Cyan: support, regex, escape chars
    base0d: "9E97F8" # Blue/Accent: functions, headings, primary
    base0e: "C090E8" # Purple: keywords, storage
    base0f: "D080A0" # Pink: deprecated, embedded language tags

keybindings:
  global:
    quit: "q,ctrl+c"
    help: "?"
    open_logs: "ctrl+g"
    toggle_sidebar: "ctrl+b"
    cycle_focus: "tab"
    send_to_replay: "ctrl+r"
    send_to_diff: "ctrl+d"
    copy_as: "ctrl+y"
    copy: "y"
    up: "up,k"
    down: "down,j"
    left: "left,h"
    right: "right,l"
    goto_top: "home"
    goto_bottom: "G,end"
    scroll_up: "pgup"
    scroll_down: "pgdown"
    prev_page: "["
    next_page: "]"

  intercept:
    toggle_intercept: "i"
    capture_response: "r"
    forward: "f"
    forward_all: "F"
    drop: "d"
    drop_all: "D"
    edit: "e,enter"
    edit_external: "E"
    undo_edits: "ctrl+z"

  history:
    delete_entry: "x"
    delete_all: "X"
    sql_query: ":"
    filter: "/"
    flag: "m"

  home:
    open: "l,enter"
    delete: "x"
    filter: "/"

  replay:
    send: "s, enter"
    edit: "e"
    edit_external: "E"
    undo_edits: "ctrl+z"
    delete_entry: "x"
    delete_all: "X"

  diff:
    clear: "x"

  findings:
    dismiss: "x"

  plugins:
    toggle: "space"
    edit_config: "e,enter"
    filter: "/"

  docs:
    search: "/"
    search_reset: "r"
    search_next: "n"
    search_prev: "N"
