Commit graph

656 commits

Author SHA1 Message Date
carlfriedrich 4f884bd9bd feat: resolve a relative FORGIT_WORKTREE_ADD_DIR per repository
A relative FORGIT_WORKTREE_ADD_DIR is resolved against the root of the
main worktree on every invocation, so a single setting such as
`.worktrees` is valid in every repository. Absolute paths keep their
meaning.

The variable previously only took a full path, so users resolved the
repository root in their shell startup files, which runs git outside a
repository on every new shell and freezes the path for the whole
session.
2026-09-07 14:12:12 +02:00
dependabot[bot] d7d53288f9 chore(deps): bump TypedDevs/bashunit from 0.40.0 to 0.50.1
Some checks failed
ci / build (macos-latest) (push) Has been cancelled
ci / build (ubuntu-latest) (push) Has been cancelled
ci / commitlint (push) Has been cancelled
ci / format (push) Has been cancelled
ci / rumdl-check (push) Has been cancelled
ci / actionlint (push) Has been cancelled
Bumps [TypedDevs/bashunit](https://github.com/typeddevs/bashunit) from 0.40.0 to 0.50.1.
- [Release notes](https://github.com/typeddevs/bashunit/releases)
- [Changelog](https://github.com/TypedDevs/bashunit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/typeddevs/bashunit/compare/0.40.0...0.50.1)

---
updated-dependencies:
- dependency-name: TypedDevs/bashunit
  dependency-version: 0.50.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-05 13:42:40 +02:00
sandroid 0fbd9edd87
feat: add option to disable auto creating branches (#552)
Some checks failed
ci / build (macos-latest) (push) Has been cancelled
ci / build (ubuntu-latest) (push) Has been cancelled
ci / commitlint (push) Has been cancelled
ci / format (push) Has been cancelled
ci / rumdl-check (push) Has been cancelled
ci / actionlint (push) Has been cancelled
Adds `$FORGIT_SWITCH_AUTO_CREATE_BRANCH` and `$FORGIT_CHECKOUT_BRANCH_AUTO_CREATE_BRANCH`
environment variables that can be set to `false` to prevent `checkout_branch <BRANCH_NAME>` and
`switch_brach <BRANCH_NAME>` from creating new branches when they do not exist. With the environment
variables set to `false`, new branches can still be created explicitly using
`switch_branch -c <BRANCH_NAME>` and `<checkout_branch> -c <BRANCH_NAME>` respectively.
2026-09-02 00:58:17 +02:00
sandroid 503c60ea35 docs: always use latest bashunit version in dev dependencies
Now that we use the bashunit GitHub Action and get updates from dependabot, we can always assume to
be on the latest version. This way we don't have to update the docs constantly.
2026-09-02 00:53:48 +02:00
sandroid 512056d470 ci: allow bashunit GitHub action updates from dependabot 2026-09-02 00:53:48 +02:00
dependabot[bot] 3fe2a16334
chore(deps): bump rvben/rumdl from 0.2.27 to 0.2.62 in the rumdl group (#547)
Some checks failed
ci / actionlint (push) Has been cancelled
ci / build (macos-latest) (push) Has been cancelled
ci / build (ubuntu-latest) (push) Has been cancelled
ci / commitlint (push) Has been cancelled
ci / format (push) Has been cancelled
ci / rumdl-check (push) Has been cancelled
2026-08-29 17:45:33 +02:00
Wenxuan Zhang 2420155e23 fix: preserve LESS options in enter pager
Some checks are pending
ci / build (macos-latest) (push) Waiting to run
ci / build (ubuntu-latest) (push) Waiting to run
ci / commitlint (push) Waiting to run
ci / format (push) Waiting to run
ci / rumdl-check (push) Waiting to run
ci / actionlint (push) Waiting to run
Pass the required color and stay-open flags directly to less so forgit no longer
replaces users' LESS environment options.

Add regression coverage and document the default behavior.
2026-08-25 13:57:48 +08:00
Chris Apple 15db001662
perf: avoid listing modified files twice in checkout-file (#546)
_forgit_checkout_file called _forgit_list_modified_files once to check for
an empty result and again to feed fzf, running git diff twice on every
invocation. Cache the result and reuse it for both checks.
2026-07-15 15:06:19 -07:00
Yang Zhao 9fa93b0861
perf(fish): migrate FORGIT_ vars without spawning subprocesses (#543)
The backwards-compatibility block that exports unexported FORGIT_ config
variables ran `set | awk | grep` plus a `set -x | grep` for every variable,
forking multiple external processes on every interactive fish startup.

Replace the pipeline with fish's built-in `set -n`/`set -xn` and
`string match`, which run in-process. Behavior is unchanged: unexported
FORGIT_ variables are still detected, warned about, and exported; nothing
is emitted when all variables are already exported.

Co-authored-by: AllanZyne <AllanZyne@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 21:42:17 +02:00
Chris Apple a8e9d8bf57
perf: speed up modified file lookup in large repositories (#544)
Use a modified-file-only path for `git-forgit restore` (`grs`) and
`git-forgit checkout_file` (`gcf`) so these interactive selectors do not scan
large sets of untracked files. This keeps both commands responsive in
repositories with many untracked files.
2026-07-13 10:05:53 -07:00
dependabot[bot] e0c7b844b5
chore(deps): bump rvben/rumdl from 0.2.7 to 0.2.27 in the rumdl group (#542)
Some checks failed
ci / build (macos-latest) (push) Has been cancelled
ci / build (ubuntu-latest) (push) Has been cancelled
ci / commitlint (push) Has been cancelled
ci / format (push) Has been cancelled
ci / rumdl-check (push) Has been cancelled
ci / actionlint (push) Has been cancelled
Bumps the rumdl group with 1 update: [rvben/rumdl](https://github.com/rvben/rumdl).


Updates `rvben/rumdl` from 0.2.7 to 0.2.27
- [Release notes](https://github.com/rvben/rumdl/releases)
- [Changelog](https://github.com/rvben/rumdl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rvben/rumdl/compare/v0.2.7...v0.2.27)
chore(deps): bump https://github.com/rvben/rumdl-pre-commit

Bumps the rumdl group with 1 update: [https://github.com/rvben/rumdl-pre-commit](https://github.com/rvben/rumdl-pre-commit).


Updates `https://github.com/rvben/rumdl-pre-commit` from v0.2.7 to 0.2.27
- [Release notes](https://github.com/rvben/rumdl-pre-commit/releases)
- [Commits](https://github.com/rvben/rumdl-pre-commit/compare/v0.2.7...v0.2.27)

---
updated-dependencies:
- dependency-name: rvben/rumdl
  dependency-version: 0.2.27
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rumdl
- dependency-name: https://github.com/rvben/rumdl-pre-commit
  dependency-version: 0.2.27
  dependency-type: direct:production
  dependency-group: rumdl
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-03 00:37:11 +02:00
carlfriedrich efa8c39b0d fix: support arbitrary whitespace in _forgit_parse_array
Values spanning multiple lines (e.g. a multi-line FORGIT_*_GIT_OPTS
export) were silently dropped: read stopped at the first newline and
IFS only split on spaces, so the resulting array came out empty.

Split on spaces, tabs and newlines and consume the whole value with an
empty delimiter, ignoring leading/trailing whitespace.

Add unit tests covering space-, tab- and newline-separated inputs.
2026-06-28 14:04:02 +02:00
dependabot[bot] f2ea9d14ec
chore(deps): bump actions/checkout from 6 to 7 (#540)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-19 20:07:13 +02:00
sandroid d296099c0a
ci: use bashunit GitHub action (#539) 2026-06-17 17:50:50 +02:00
sandroid 3dbcacd3f2
feat: add interactive git restore selector (#537)
Co-authored-by: Javier Tia <floss@jetm.me>
2026-06-16 21:16:26 +02:00
dependabot[bot] e789afed64
chore(deps): bump rvben/rumdl from 0.2.3 to 0.2.7 in the rumdl group (#536)
Bumps the rumdl group with 1 update: [rvben/rumdl](https://github.com/rvben/rumdl).


Updates `rvben/rumdl` from 0.2.3 to 0.2.7
- [Release notes](https://github.com/rvben/rumdl/releases)
- [Changelog](https://github.com/rvben/rumdl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rvben/rumdl/compare/v0.2.3...v0.2.7)
chore(deps): bump https://github.com/rvben/rumdl-pre-commit

Bumps the rumdl group with 1 update: [https://github.com/rvben/rumdl-pre-commit](https://github.com/rvben/rumdl-pre-commit).


Updates `https://github.com/rvben/rumdl-pre-commit` from v0.2.0 to 0.2.7
- [Release notes](https://github.com/rvben/rumdl-pre-commit/releases)
- [Commits](https://github.com/rvben/rumdl-pre-commit/compare/v0.2.0...v0.2.7)

---
updated-dependencies:
- dependency-name: rvben/rumdl
  dependency-version: 0.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rumdl
- dependency-name: https://github.com/rvben/rumdl-pre-commit
  dependency-version: 0.2.7
  dependency-type: direct:production
  dependency-group: rumdl
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-04 20:57:22 +02:00
sandroid ad46f9773b
chore(dependabot): group rumdl action and pre-commit updates and update them only once per month (#534) 2026-06-04 20:52:49 +02:00
sandroid f2df10d461
chore: add 'ci change' as an option to the pull request template (#535) 2026-06-04 20:51:42 +02:00
dependabot[bot] 6a0130bee8 chore(deps): bump rvben/rumdl from 0.1.93 to 0.2.3
Bumps [rvben/rumdl](https://github.com/rvben/rumdl) from 0.1.93 to 0.2.3.
- [Release notes](https://github.com/rvben/rumdl/releases)
- [Changelog](https://github.com/rvben/rumdl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rvben/rumdl/compare/v0.1.93...v0.2.3)

---
updated-dependencies:
- dependency-name: rvben/rumdl
  dependency-version: 0.2.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-01 10:48:45 +08:00
dependabot[bot] 2e8fe57257 chore(deps): bump https://github.com/rvben/rumdl-pre-commit
Bumps the pre-commit group with 1 update: [https://github.com/rvben/rumdl-pre-commit](https://github.com/rvben/rumdl-pre-commit).


Updates `https://github.com/rvben/rumdl-pre-commit` from v0.1.93 to 0.2.0
- [Release notes](https://github.com/rvben/rumdl-pre-commit/releases)
- [Commits](https://github.com/rvben/rumdl-pre-commit/compare/v0.1.93...v0.2.0)

---
updated-dependencies:
- dependency-name: https://github.com/rvben/rumdl-pre-commit
  dependency-version: 0.2.0
  dependency-type: direct:production
  dependency-group: pre-commit
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-01 10:47:06 +08:00
dependabot[bot] 0f709682f3 chore(deps): bump rvben/rumdl from 0.1.91 to 0.1.93
Bumps [rvben/rumdl](https://github.com/rvben/rumdl) from 0.1.91 to 0.1.93.
- [Release notes](https://github.com/rvben/rumdl/releases)
- [Changelog](https://github.com/rvben/rumdl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rvben/rumdl/compare/v0.1.91...v0.1.93)

---
updated-dependencies:
- dependency-name: rvben/rumdl
  dependency-version: 0.1.93
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-17 22:45:04 +08:00
dependabot[bot] 1ff12920df chore(deps): bump https://github.com/rvben/rumdl-pre-commit
Bumps the pre-commit group with 1 update: [https://github.com/rvben/rumdl-pre-commit](https://github.com/rvben/rumdl-pre-commit).


Updates `https://github.com/rvben/rumdl-pre-commit` from v0.1.86 to 0.1.93
- [Release notes](https://github.com/rvben/rumdl-pre-commit/releases)
- [Commits](https://github.com/rvben/rumdl-pre-commit/compare/v0.1.86...v0.1.93)

---
updated-dependencies:
- dependency-name: https://github.com/rvben/rumdl-pre-commit
  dependency-version: 0.1.93
  dependency-type: direct:production
  dependency-group: pre-commit
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-17 22:44:50 +08:00
dependabot[bot] 4d54a03fd2
chore(deps): bump rvben/rumdl from 0.1.80 to 0.1.91 (#528)
Bumps [rvben/rumdl](https://github.com/rvben/rumdl) from 0.1.80 to 0.1.91.
- [Release notes](https://github.com/rvben/rumdl/releases)
- [Changelog](https://github.com/rvben/rumdl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rvben/rumdl/compare/v0.1.80...v0.1.91)

---
updated-dependencies:
- dependency-name: rvben/rumdl
  dependency-version: 0.1.91
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-09 21:44:57 +02:00
dependabot[bot] 0f3f94d38b
chore(deps): bump https://github.com/rvben/rumdl-pre-commit (#527)
Bumps the pre-commit group with 1 update: [https://github.com/rvben/rumdl-pre-commit](https://github.com/rvben/rumdl-pre-commit).


Updates `https://github.com/rvben/rumdl-pre-commit` from v0.1.80 to 0.1.86
- [Release notes](https://github.com/rvben/rumdl-pre-commit/releases)
- [Commits](https://github.com/rvben/rumdl-pre-commit/compare/v0.1.80...v0.1.86)

---
updated-dependencies:
- dependency-name: https://github.com/rvben/rumdl-pre-commit
  dependency-version: 0.1.86
  dependency-type: direct:production
  dependency-group: pre-commit
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-09 21:43:51 +02:00
dependabot[bot] 7a37fadf92
chore(deps): bump rvben/rumdl from 0.1.74 to 0.1.80 (#524)
Bumps [rvben/rumdl](https://github.com/rvben/rumdl) from 0.1.74 to 0.1.80.
- [Release notes](https://github.com/rvben/rumdl/releases)
- [Changelog](https://github.com/rvben/rumdl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rvben/rumdl/compare/v0.1.74...v0.1.80)

---
updated-dependencies:
- dependency-name: rvben/rumdl
  dependency-version: 0.1.80
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-24 19:28:05 +02:00
dependabot[bot] 80f09592ee
chore(deps): bump https://github.com/rvben/rumdl-pre-commit (#525)
Bumps the pre-commit group with 1 update: [https://github.com/rvben/rumdl-pre-commit](https://github.com/rvben/rumdl-pre-commit).


Updates `https://github.com/rvben/rumdl-pre-commit` from v0.1.74 to 0.1.80
- [Release notes](https://github.com/rvben/rumdl-pre-commit/releases)
- [Commits](https://github.com/rvben/rumdl-pre-commit/compare/v0.1.74...v0.1.80)

---
updated-dependencies:
- dependency-name: https://github.com/rvben/rumdl-pre-commit
  dependency-version: 0.1.80
  dependency-type: direct:production
  dependency-group: pre-commit
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-24 19:27:01 +02:00
Akira Funahashi 650318dc51 fix: use ERE (-E) for grep to fix POSIX-strict compatibility 2026-04-21 08:50:50 +08:00
dependabot[bot] a56a6a40f2 chore(deps): bump https://github.com/rvben/rumdl-pre-commit
Bumps the pre-commit group with 1 update: [https://github.com/rvben/rumdl-pre-commit](https://github.com/rvben/rumdl-pre-commit).


Updates `https://github.com/rvben/rumdl-pre-commit` from v0.1.68 to 0.1.74
- [Release notes](https://github.com/rvben/rumdl-pre-commit/releases)
- [Commits](https://github.com/rvben/rumdl-pre-commit/compare/v0.1.68...v0.1.74)

---
updated-dependencies:
- dependency-name: https://github.com/rvben/rumdl-pre-commit
  dependency-version: 0.1.74
  dependency-type: direct:production
  dependency-group: pre-commit
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-19 09:38:55 +08:00
dependabot[bot] 04c9912465 chore(deps): bump rvben/rumdl from 0.1.73 to 0.1.74
Bumps [rvben/rumdl](https://github.com/rvben/rumdl) from 0.1.73 to 0.1.74.
- [Release notes](https://github.com/rvben/rumdl/releases)
- [Changelog](https://github.com/rvben/rumdl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rvben/rumdl/compare/v0.1.73...v0.1.74)

---
updated-dependencies:
- dependency-name: rvben/rumdl
  dependency-version: 0.1.74
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-19 09:38:27 +08:00
sandroid 0eebd5ed1e
fix: fix typo (#520) 2026-04-19 00:04:39 +02:00
sandroid b6a64099b9
chore(dependabot): update pre-commit hooks using dependabot (#519) 2026-04-19 00:04:26 +02:00
dependabot[bot] 817244e07b
chore(deps): bump softprops/action-gh-release from 2 to 3 (#517)
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2 to 3.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/v2...v3)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: '3'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-18 23:31:08 +02:00
dependabot[bot] 61a866626c
chore(deps): bump rvben/rumdl from 0.1.68 to 0.1.73 (#518)
Bumps [rvben/rumdl](https://github.com/rvben/rumdl) from 0.1.68 to 0.1.73.
- [Release notes](https://github.com/rvben/rumdl/releases)
- [Changelog](https://github.com/rvben/rumdl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rvben/rumdl/compare/v0.1.68...v0.1.73)

---
updated-dependencies:
- dependency-name: rvben/rumdl
  dependency-version: 0.1.73
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-18 23:28:33 +02:00
sandroid 1d6552e576 docs: add shfmt as developer dependency 2026-04-15 20:38:51 +02:00
sandroid 52da215f11 ci: lint GitHub actions with actionlint 2026-04-15 20:38:51 +02:00
sandroid 9280ebbb01
ci: enforce consistent markdown formatting with rumdl (#511) 2026-04-12 22:18:43 +02:00
sandroid b784738a3e
ci: do not install recommended packages when using apt (#513) 2026-04-12 22:16:39 +02:00
sandr01d 3c09fad398
docs: raise required fzf version to 0.60 (#515) 2026-04-11 18:19:17 +02:00
sandr01d dfe682e113
ci: enforce consistent shell formatting with shfmt (#514) 2026-04-11 17:51:34 +02:00
sandroid 7663f3a809 fix: branch preview of worktree_add 2026-04-09 21:34:56 +02:00
sandroid 0353f58b0b fix: log preview of checkout_file_from_commit 2026-04-09 21:34:56 +02:00
sandr01d 8a6dc7cdb2
chore: fix end of file of .commitlintrc.json (#512) 2026-04-09 19:09:17 +02:00
Wenxuan 17110bfc61
fix: preserve add paths across special filenames (#506)
Keep `forgit add` on the porcelain `git status --porcelain -zs` path so
filenames containing backslashes continue to work, while restoring the
behaviors that regressed when we moved away from Git's cwd-relative output.

This change makes the status picker emit a display label and a hidden
absolute-path payload separately. That lets the UI keep showing intuitive
cwd-relative paths, while preview, edit, and add actions operate on the real
path instead of reparsing the rendered status line. As a result, untracked
files, subdirectory workflows, and special filenames now share one consistent
path flow.

It also restores the old-Git fallback for plain `?? path` output before status
filtering, raises the required fzf version for `--accept-nth`, and adds
regression coverage for backslashes, spaces, tabs, subdirectory entries,
sibling directories, and logical symlink paths.

We explored a few alternatives before landing here. Keeping a single
human-readable line and reparsing it downstream remained too fragile for
quoted paths and backslashes. Shell-only display-path rewriting worked for
some cases but stayed brittle across logical vs physical paths and still
failed in macOS CI. A per-path `realpath` approach would have been easier to
read, but GNU-style relative-path support is not portable across the
platforms we test and would add one external process per file in a hot path.

The final tradeoff keeps the pipeline batch-oriented and portable by doing
the path normalization once in a single helper step, even though that is less
lightweight than the earlier shell-only versions. That complexity is
justified here because it fixes the old-Git untracked regression, preserves
correct preview/add behavior from subdirectories, and avoids reintroducing
long-standing filename parsing bugs.
2026-04-08 10:40:03 +08:00
Wenxuan Zhang d4bece432b
chore: bump pre-commit-hooks from v3.4.0 to v6.0.0 2026-03-25 09:45:54 +08:00
sandroid 2c17635d4f fix: handle backslashes in filenames in _forgit_worktree_changes
Git escapes backslashes with `git status` even when
`core.quotepath=false` is set. Use `--porcelain -z` with `git status` as
a more robust approach to fix this.

Fixes #467
2026-03-17 17:22:32 +01:00
sandroid 1bc93a2c3a refactor: extract _forgit_worktree_changes from _forgit_add 2026-03-17 17:22:32 +01:00
sandroid 12ec178093 feat: add interactive checkout file from commit selector
closes #476
2026-03-17 17:21:28 +01:00
sandroid b82812007c refactor: extract _forgit_git_show from _forgit_show 2026-03-17 17:21:28 +01:00
sandroid 41912c2907 refactor: extract _forgit_git_log from _forgit_log 2026-03-17 17:21:28 +01:00
sandr01d 30aff90e30
refactor: remove command specific previews from PRIVATE_COMMANDS (#501)
These are no longer necessary due to the new `preview` function
2026-03-17 09:33:24 +08:00