Saltar a contenido

Configuración

Un solo archivo JSON: ~/Library/Application Support/Prchum/config.json — editable a mano, con las reglas de escape de textchum: un archivo ausente significa valores por defecto; un archivo roto significa valores por defecto más un aviso registrado, y el archivo en disco nunca se toca; las claves desconocidas se toleran.

{
  "keys": {
    "next-hunk": "cmd+alt+n",
    "toggle-wrap": ""
  },
  "keymap": "mio",
  "keymaps": {
    "mio": { "reply": "cmd+alt+r" }
  },
  "forges": { "git.example.com": "forgejo" },
  "forgejo_api_command": "fj -H {host} api {method} {path}",
  "list_engine": "gh",
  "list_filter": "is:open review-requested:@me",
  "list_host": ""
}

Teclas

keymap selecciona un mapa con nombre de keymaps como capa base; las keys de nivel superior lo sobrescriben — capas de capas. Un nombre desconocido se registra y no aporta nada.

keys asocia nombres de acción con especificaciones de tecla. Una especificación son modificadores más una tecla: cmd/command, alt/opt/option, ctrl/control, shift, y después un carácter único o una tecla con nombre (up, down, left, right, pageup, pagedown, home, end, return, space, tab, esc, delete). Una cadena vacía desasigna el valor por defecto. Las acciones desconocidas y las especificaciones ilegibles se registran y el valor por defecto se mantiene.

Nombres de acción: open, open-pr, open-git, review-queue, export, next-change, prev-change, next-hunk, prev-hunk, next-file, prev-file, toggle-sidebar, toggle-layout, toggle-wrap, toggle-syntax, toggle-fold, expand-all, collapse-all, find, comment, edit-comment, delete-comment, dismiss-comment, reply, open-at-caret, suggest, comments, general, toggle-context, toggle-fold, expand-all, collapse-all… — every menu item names its action; the full list lives in the Keymap source.

Apariencia y tema

  • appearancesystem (por defecto), light o dark.
  • theme — uno integrado (default, high-contrast, graphite, molokai, solarized, dracula, gruvbox — cada uno con paleta clara y oscura) o el nombre de un archivo themes/<name>.json junto a config.json. Settings (⌘,) escribe ambos.

Forjas

  • forges — servidor → clase (github | gitlab | forgejo) para instancias propias cuyo nombre no dice nada.
  • forgejo_api_command — la plantilla de transporte de Forgejo; vacía significa el fj por defecto. Véase Forjas.

Edición local

  • clonesowner/repo → el clon local que lo contiene ({"perrito666/prchum": "/Users/yo/src/prchum"}), sin distinguir mayúsculas. Settings (⌘,) gestiona la lista, y Edit File Locally ofrece elegir uno cuando el repositorio no lo tiene.
  • editor_command — cómo abrir un archivo: una URL o un comando, con {path}, {line} y {dir}. Vacío significa textchum://open?path={path}&line={line}; code -g {path}:{line} y nvim +{line} {path} son la forma de comando.

Los worktrees que prchum crea viven en worktrees/ junto a los borradores y se registran en worktrees.json — el registro de lo que prchum posee y, por tanto, de lo que puede eliminar.

Descubrimiento

  • list_enginegh (por defecto) o forgejo.
  • list_filter — una consulta de búsqueda de GitHub, o calificadores de query string de Forgejo; vacío significa el valor por defecto del motor (is:open review-requested:@me).
  • list_filters — filtros con nombre ({"bugs": "is:open label:bug"}), elegibles en el desplegable de la cola de revisión; Settings (⌘,) los gestiona, y la cola acepta además un filtro puntual.
  • list_host — el servidor Forgejo donde busca la cola (obligatorio con el motor forgejo).

Estado en disco

  • Borradores: ~/Library/Application Support/Prchum/drafts/, un archivo JSON por fuente, escrito atómicamente en cada cambio.
  • Las sesiones de intercambio reescriben además su propio *.review.json en su sitio.