feat(jobrunner): add named background job manager backed by GNU screen

Adds jobrunner (short alias jr) for running, listing, inspecting,
re-attaching to, and terminating detached background tasks. Unlike bkg
and detach, which discard output, a jobrunner job keeps a live terminal
that survives closing the shell and can be restored later with attach.

Includes the __jobrunner_sessions parser shared by the function and its
completions, dynamic job-name completions, and screen in the fish-deps
catalog.
This commit is contained in:
2026-08-02 04:40:07 -04:00
parent a2d52e1ec2
commit 674a50ea05
8 changed files with 459 additions and 5 deletions
+28
View File
@@ -0,0 +1,28 @@
# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# CATEGORY
# 08-terminal-management
#
# DEPENDENCIES
# jobrunner
#
# SYNOPSIS
# jr [<subcommand>] [<name>] [<command>...]
#
# DESCRIPTION
# Shorthand for jobrunner. Accepts the same subcommands, flags, and
# shorthands, and inherits its completions.
#
# ARGUMENTS
# See jobrunner --help for the full argument reference.
#
# EXIT STATUS
# Same as jobrunner.
#
# EXAMPLE
# jr run build make -j8
# jr list
function jr --wraps jobrunner --description 'Shorthand for jobrunner'
jobrunner $argv
end