diff --git a/client/docker-finance.d/container/shell/subprofile.bash.in b/client/docker-finance.d/container/shell/subprofile.bash.in index bd77453..c9a9768 100644 --- a/client/docker-finance.d/container/shell/subprofile.bash.in +++ b/client/docker-finance.d/container/shell/subprofile.bash.in @@ -25,38 +25,38 @@ [ -z "$DOCKER_FINANCE_CONTAINER_CMD" ] && echo "DOCKER_FINANCE_CONTAINER_CMD not set, check installation" >&2 -# NOTE: ledger-based commands ending in `\`: the escape is needed so you can add more arguments as needed -# TODO: remove default 'not:' arguments to `ledger{-ui,-web}` once distributions support hledger 1.34.99-gcf0c7c2ef-20240702 or higher (--conf support) +# NOTE: hledger-based commands ending in `\`: the escape is needed so you can add more arguments as needed +# TODO: remove default 'not:' arguments to `hledger{-ui,-web}` once distributions support hledger 1.34.99-gcf0c7c2ef-20240702 or higher (--conf support) -# CLI ledger -alias @DOCKER_FINANCE_SUBPROFILE@_ledger='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ ledger' -alias @DOCKER_FINANCE_SUBPROFILE@_hledger='@DOCKER_FINANCE_SUBPROFILE@_ledger' +# CLI hledger +alias @DOCKER_FINANCE_SUBPROFILE@_hledger='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ hledger' +alias @DOCKER_FINANCE_SUBPROFILE@_ledger='@DOCKER_FINANCE_SUBPROFILE@_hledger' -alias @DOCKER_FINANCE_SUBPROFILE@_bal='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ ledger bal \ +alias @DOCKER_FINANCE_SUBPROFILE@_bal='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ hledger bal \ assets liabilities \ not:desc:balances\$ not:equity:balances\$ not:archive \ ' # Terminal UI -alias @DOCKER_FINANCE_SUBPROFILE@_ui='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ ledger-ui -w \ +alias @DOCKER_FINANCE_SUBPROFILE@_ui='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ hledger-ui -w \ assets liabilities \ not:desc:balances\$ not:equity:balances\$ not:archive \ ' -alias @DOCKER_FINANCE_SUBPROFILE@_ledger-ui='@DOCKER_FINANCE_SUBPROFILE@_ui' alias @DOCKER_FINANCE_SUBPROFILE@_hledger-ui='@DOCKER_FINANCE_SUBPROFILE@_ui' +alias @DOCKER_FINANCE_SUBPROFILE@_ledger-ui='@DOCKER_FINANCE_SUBPROFILE@_ui' # Terminal UI (visidata) -alias @DOCKER_FINANCE_SUBPROFILE@_vui='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ ledger-vui' -alias @DOCKER_FINANCE_SUBPROFILE@_ledger-vui='@DOCKER_FINANCE_SUBPROFILE@_vui' +alias @DOCKER_FINANCE_SUBPROFILE@_vui='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ hledger-vui' alias @DOCKER_FINANCE_SUBPROFILE@_hledger-vui='@DOCKER_FINANCE_SUBPROFILE@_vui' +alias @DOCKER_FINANCE_SUBPROFILE@_ledger-vui='@DOCKER_FINANCE_SUBPROFILE@_vui' # Web UI -alias @DOCKER_FINANCE_SUBPROFILE@_web='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ ledger-web --serve --host=0.0.0.0 --base-url http://127.0.0.1:5000 --allow=view \ +alias @DOCKER_FINANCE_SUBPROFILE@_web='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ hledger-web --serve --host=0.0.0.0 --base-url http://127.0.0.1:5000 --allow=view \ assets liabilities \ not:desc:balances\$ not:equity:balances\$ not:archive \ ' -alias @DOCKER_FINANCE_SUBPROFILE@_ledger-web='@DOCKER_FINANCE_SUBPROFILE@_web' alias @DOCKER_FINANCE_SUBPROFILE@_hledger-web='@DOCKER_FINANCE_SUBPROFILE@_web' +alias @DOCKER_FINANCE_SUBPROFILE@_ledger-web='@DOCKER_FINANCE_SUBPROFILE@_web' # Fetches, imports, generates taxes and reports (using defaults) alias @DOCKER_FINANCE_SUBPROFILE@_all='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ all' diff --git a/container/src/finance/completion.bash b/container/src/finance/completion.bash index 80a1fd7..89e572c 100644 --- a/container/src/finance/completion.bash +++ b/container/src/finance/completion.bash @@ -28,7 +28,7 @@ function docker-finance::completion() mapfile -t _profiles < <(pushd "${DOCKER_FINANCE_CONTAINER_FLOW}"/profiles &>/dev/null && ls -d */*) declare -r _profiles - local -r _commands=("all" "edit" "fetch" "import" "ledger" "ledger-ui" "ledger-web" "meta" "plugins" "reports" "root" "taxes" "times") + local -r _commands=("all" "edit" "fetch" "hledger" "hledger-ui" "hledger-vui" "hledger-web" "import" "ledger" "ledger-ui" "ledger-vui" "ledger-web" "meta" "plugins" "reports" "root" "taxes" "times") local _reply @@ -63,13 +63,16 @@ function docker-finance::completion() import) mapfile -t _reply < <(compgen -W "help year${global_arg_delim_2}" -- "$_cur") ;; - ledger | hledger) + hledger | ledger) mapfile -t _reply < <(compgen -W "-h" -- "$_cur") ;; - ledger-ui | hledger-ui) + hledger-ui | ledger-ui) mapfile -t _reply < <(compgen -W "-h" -- "$_cur") ;; - ledger-web | hledger-web) + hledger-vui | ledger-vui) + mapfile -t _reply < <(compgen -W "-h" -- "$_cur") + ;; + hledger-web | ledger-web) mapfile -t _reply < <(compgen -W "-h" -- "$_cur") ;; meta) diff --git a/container/src/finance/finance.bash b/container/src/finance/finance.bash index 9be6215..d2045bb 100755 --- a/container/src/finance/finance.bash +++ b/container/src/finance/finance.bash @@ -54,9 +54,10 @@ function main() edit \e[34;3mEdit existing container data\e[0m fetch \e[34;3mFetch remote accounts\e[0m import \e[34;3mImport CSVs for given year (default: current year)\e[0m - ledger \e[34;3mRun CLI accounting commands (hledger)\e[0m - ledger-ui \e[34;3mStart terminal UI (hledger-ui)\e[0m - ledger-web \e[34;3mStart web-based UI (hledger-web)\e[0m + hledger \e[34;3mRun CLI accounting commands\e[0m + hledger-ui \e[34;3mStart terminal UI\e[0m + hledger-vui \e[34;3mStart visidata terminal UI\e[0m + hledger-web \e[34;3mStart web-based UI\e[0m meta \e[34;3mSearch local financial metadata\e[0m plugins \e[34;3mExecute given plugin available in plugins' path\e[0m reports \e[34;3mGenerate balance sheet, income statement, etc.\e[0m @@ -80,7 +81,7 @@ function main() $ $global_basename family${global_arg_delim_1}bob import year${global_arg_delim_2}2022 \e[37;2m# Show Carol's total USD value of Bitcoin across all asset accounts\e[0m - $ $global_basename friends${global_arg_delim_1}carol ledger bal assets cur:BTC --value=now + $ $global_basename friends${global_arg_delim_1}carol hledger bal assets cur:BTC --value=now \e[37;2m# Generate quarterly reports for your vendor 'ABC Inc.' in the year 2023\e[0m $ $global_basename vendors${global_arg_delim_1}abc_inc reports all${global_arg_delim_2}type interval=quarterly year=2023 @@ -109,16 +110,16 @@ function main() import) lib_finance::import "${@:3}" ;; - ledger | hledger) + hledger | ledger) lib_finance::ledger "${@:3}" ;; - ledger-ui | hledger-ui) + hledger-ui | ledger) lib_finance::ledger-ui "${@:3}" ;; - ledger-vui | hledger-vui) + hledger-vui | ledger-vui) lib_finance::ledger-vui "${@:3}" ;; - ledger-web | hledger-web) + hledger-web | ledger-web) lib_finance::ledger-web "${@:3}" ;; meta)