client/container: completion: add TODOs for bash-completion

This commit is contained in:
2026-03-19 16:17:59 -07:00
parent 8bc196eff6
commit 50245cf033
2 changed files with 45 additions and 1 deletions

View File

@@ -17,6 +17,28 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# TODO:
#
# - Refactor using `bash-completion` "library" but keep backward compatibility,
# as this would otherwise break the "no more than 3 dependencies" approach to client-side `dfi`.
#
# - When possible, add completion to existing `dfi` arguments that aren't completing
# * e.g., `dfi archlinux/${USER}:default edit type=` -> `dfi archlinux/${USER}:default edit type=rules...`
#
# The not-so-straightforward resolution to this TODO hinges on the fact that
# the default delim for all `dfi` completion is the `=` character (which also exists in `COMP_WORDBREAKS`).
#
# One resolution can be found in:
#
# - https://github.com/scop/bash-completion/blob/c63826f8678e7d1fd36cf188bf1ba2eccaf2552e/completions-core/dd.bash
#
# See also:
#
# - https://github.com/scop/bash-completion/tree/main/completions-core
# - https://github.com/scop/bash-completion/blob/c63826f8678e7d1fd36cf188bf1ba2eccaf2552e/bash_completion#L1105-L1132
# - https://github.com/scop/bash-completion/blob/c63826f8678e7d1fd36cf188bf1ba2eccaf2552e/bash_completion#L1450-L1454
# - https://github.com/scop/bash-completion/blob/c63826f8678e7d1fd36cf188bf1ba2eccaf2552e/bash_completion#L2964-L2968
# WARNING: because of completion, the docker-finance environment file
# is never read. Ergo, for debugging, you'll need to run the following
# with log-level 1 or 2:

View File

@@ -2,7 +2,7 @@
# docker-finance | modern accounting for the power-user
#
# Copyright (C) 2024-2025 Aaron Fiore (Founder, Evergreen Crypto LLC)
# Copyright (C) 2024-2026 Aaron Fiore (Founder, Evergreen Crypto LLC)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,6 +17,28 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# TODO:
#
# - Refactor using `bash-completion` "library".
# * i.e., remove direct access to COMP* and use what's available, etc.
#
# - Add completion to existing `dfi` arguments that aren't completing.
# * e.g., `dfi profile/subprofile edit type=` -> `dfi profile/subprofile edit type=rules...`
#
# The not-so-straightforward resolution to this TODO hinges on the fact that
# the default delim for all `dfi` completion is the `=` character (which also exists in `COMP_WORDBREAKS`).
#
# One resolution can be found in:
#
# - https://github.com/scop/bash-completion/blob/c63826f8678e7d1fd36cf188bf1ba2eccaf2552e/completions-core/dd.bash
#
# See also:
#
# - https://github.com/scop/bash-completion/tree/main/completions-core
# - https://github.com/scop/bash-completion/blob/c63826f8678e7d1fd36cf188bf1ba2eccaf2552e/bash_completion#L1105-L1132
# - https://github.com/scop/bash-completion/blob/c63826f8678e7d1fd36cf188bf1ba2eccaf2552e/bash_completion#L1450-L1454
# - https://github.com/scop/bash-completion/blob/c63826f8678e7d1fd36cf188bf1ba2eccaf2552e/bash_completion#L2964-L2968
# shellcheck disable=SC2154
[ "$DOCKER_FINANCE_DEBUG" == 2 ] && set -xv