From 3ac5f13f181152a71cd4f249c7ff0320144871e3 Mon Sep 17 00:00:00 2001 From: Evgenii Alekseev Date: Tue, 13 Oct 2026 12:44:51 +0300 Subject: [PATCH] Release 2.22.2 --- .../bash-completion/completions/_ahriman | 37 +++++++++++++------ ahriman-core/package/share/man/man1/ahriman.1 | 2 +- .../package/share/zsh/site-functions/_ahriman | 5 +++ ahriman-core/src/ahriman/__init__.py | 2 +- archlinux/PKGBUILD | 2 +- docs/_static/architecture.dot | 11 ++---- frontend/package.json | 2 +- 7 files changed, 37 insertions(+), 24 deletions(-) diff --git a/ahriman-core/package/share/bash-completion/completions/_ahriman b/ahriman-core/package/share/bash-completion/completions/_ahriman index 9fd66b1e..b3fd8ae5 100644 --- a/ahriman-core/package/share/bash-completion/completions/_ahriman +++ b/ahriman-core/package/share/bash-completion/completions/_ahriman @@ -1,4 +1,9 @@ # AUTOMATICALLY GENERATED by https://github.com/tqdm/shtab +# Usage: +# 1) Copy this to somewhere (e.g. ~/.local/share/bash_completion/ahriman). +# 2) Add the following line to your .bashrc: +# source ~/.local/share/bash_completion/ahriman +# See also: https://github.com/scop/bash-completion/blob/main/doc/configuration.md _shtab_ahriman_subparsers=(add aur-search check clean config config-validate copy daemon help help-commands-unsafe help-updates help-version init key-import package-add package-archives package-changes package-changes-remove package-copy package-hold package-pkgbuild package-pkgbuild-remove package-remove package-rollback package-status package-status-remove package-status-update package-unhold package-update patch-add patch-list patch-remove patch-set-add rebuild remove remove-unknown repo-backup repo-check repo-clean repo-config repo-config-validate repo-create-keyring repo-create-mirrorlist repo-daemon repo-init repo-rebuild repo-remove-unknown repo-report repo-restore repo-setup repo-sign repo-statistics repo-status-update repo-sync repo-tree repo-triggers repo-update report run search service-clean service-config service-config-validate service-key-import service-repositories service-run service-setup service-shell service-tree-migrate setup shell sign status status-update sync update user-add user-list user-remove version web web-reload) @@ -626,7 +631,7 @@ _set_parser_defaults() { completed_positional_actions=0 - _set_new_action "pos_${completed_positional_actions}" true + _set_new_action "pos_$completed_positional_actions" true } # $1=action identifier @@ -686,13 +691,13 @@ _shtab_ahriman() { local this_word="${COMP_WORDS[$word_index]}" if [[ $pos_only = 1 || " $this_word " != " -- " ]]; then - if [[ -n $sub_parsers && " ${sub_parsers[@]} " == *" ${this_word} "* ]]; then + if [[ -n $sub_parsers && " ${sub_parsers[@]} " == *" $this_word "* ]]; then # valid subcommand: add it to the prefix & reset the current action prefix="${prefix}_$(_shtab_replace_nonword $this_word)" _set_parser_defaults fi - if [[ " ${current_option_strings[@]} " == *" ${this_word} "* ]]; then + if [[ " ${current_option_strings[@]} " == *" $this_word "* ]]; then # a new action should be acquired (due to recognised option string or # no more input expected from current action); # the next positional action can fill in here @@ -706,7 +711,7 @@ _shtab_ahriman() { (( $word_index + 1 - $current_action_args_start_index - $pos_only >= \ $current_action_nargs )); then $current_action_is_positional && let "completed_positional_actions += 1" - _set_new_action "pos_${completed_positional_actions}" true + _set_new_action "pos_$completed_positional_actions" true fi else pos_only=1 # "--" delimiter encountered @@ -718,23 +723,31 @@ _shtab_ahriman() { # Generate the completions COMPREPLY=() - if [[ $pos_only = 0 && "${completing_word}" == -* ]]; then + if [[ $pos_only = 0 && "$completing_word" == -* && + ( -z "$current_action_compgen" || "$current_action_is_positional" = true ) ]]; then # optional argument started: use option strings while IFS= read -r line; do COMPREPLY+=("$line"); done < <( - compgen -W "${current_option_strings[*]}" -- "${completing_word}") - elif [[ "${previous_word}" =~ ^[0-9\&]*[\<\>]\>?$ ]]; then + compgen -W "${current_option_strings[*]}" -- "$completing_word") + elif [[ "$previous_word" =~ ^[0-9\&]*[\<\>]\>?$ ]]; then # handle redirection operators - while IFS= read -r line; do COMPREPLY+=("$line"); done < <(compgen -f -- "${completing_word}") + compopt -o filenames 2>/dev/null || : # bash>=4 + while IFS= read -r line; do COMPREPLY+=("$line"); done < <(compgen -f -- "$completing_word") else # use choices & compgen - [ -n "${current_action_compgen}" ] && + local action_compgen_word="$completing_word" + # handle tab-completing in the middle of a line (#248 <- #116) + [[ -n "$current_action_compgen" && "$completing_word" == -* ]] && action_compgen_word="" + [ -n "$current_action_compgen" ] && { + [[ "$current_action_compgen" =~ _(file|dir|glob|FILE|DIR|GLOB)|File|Dir|Glob ]] && + compopt -o filenames 2>/dev/null || : # bash>=4 while IFS= read -r line; do COMPREPLY+=("$line"); done < <( - "${current_action_compgen}" "${completing_word}") + "$current_action_compgen" "$action_compgen_word") + } while IFS= read -r line; do COMPREPLY+=("$line"); done < <( - compgen -W "${current_action_choices[*]}" -- "${completing_word}") + compgen -W "${current_action_choices[*]}" -- "$completing_word") fi return 0 } -complete -o filenames -F _shtab_ahriman ahriman +complete -F _shtab_ahriman ahriman diff --git a/ahriman-core/package/share/man/man1/ahriman.1 b/ahriman-core/package/share/man/man1/ahriman.1 index feae4ce1..c3a76be3 100644 --- a/ahriman-core/package/share/man/man1/ahriman.1 +++ b/ahriman-core/package/share/man/man1/ahriman.1 @@ -1,4 +1,4 @@ -.TH AHRIMAN "1" "2026\-08\-18" "ahriman 2.22.1" "ArcH linux ReposItory MANager" +.TH AHRIMAN "1" "2026\-10\-13" "ahriman 2.22.2" "ArcH linux ReposItory MANager" .SH NAME ahriman \- ArcH linux ReposItory MANager .SH SYNOPSIS diff --git a/ahriman-core/package/share/zsh/site-functions/_ahriman b/ahriman-core/package/share/zsh/site-functions/_ahriman index 948e6f56..741f3083 100644 --- a/ahriman-core/package/share/zsh/site-functions/_ahriman +++ b/ahriman-core/package/share/zsh/site-functions/_ahriman @@ -1,6 +1,11 @@ #compdef ahriman # AUTOMATICALLY GENERATED by https://github.com/tqdm/shtab +# Usage: +# 1) Copy this to a file named _ahriman (e.g. ~/.local/share/zsh_completion/_ahriman). +# 2) Add the following line to your .zshrc: +# fpath=(~/.local/share/zsh_completion $fpath) +# See also: https://github.com/zsh-users/zsh-completions/blob/master/zsh-completions-howto.org _shtab_ahriman_commands() { diff --git a/ahriman-core/src/ahriman/__init__.py b/ahriman-core/src/ahriman/__init__.py index bcefade5..3524fd45 100644 --- a/ahriman-core/src/ahriman/__init__.py +++ b/ahriman-core/src/ahriman/__init__.py @@ -17,4 +17,4 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . # -__version__ = "2.22.1" +__version__ = "2.22.2" diff --git a/archlinux/PKGBUILD b/archlinux/PKGBUILD index 87038ea8..50ca9861 100644 --- a/archlinux/PKGBUILD +++ b/archlinux/PKGBUILD @@ -2,7 +2,7 @@ pkgbase='ahriman' pkgname=('ahriman' 'ahriman-core' 'ahriman-triggers' 'ahriman-web') -pkgver=2.22.1 +pkgver=2.22.2 pkgrel=1 pkgdesc="ArcH linux ReposItory MANager" arch=('any') diff --git a/docs/_static/architecture.dot b/docs/_static/architecture.dot index e5f723eb..d11dcee5 100644 --- a/docs/_static/architecture.dot +++ b/docs/_static/architecture.dot @@ -5,7 +5,7 @@ digraph G { rankdir = TB; node [style=filled,fillcolor="#ffffff",fontcolor="#000000",fontname=Helvetica,fontsize=10]; - ahriman_application_ahriman [fillcolor="#814b37",fontcolor="#ffffff",label="ahriman\.\napplication\.\nahriman"]; + ahriman_application_ahriman [fillcolor="#884f3a",fontcolor="#ffffff",label="ahriman\.\napplication\.\nahriman"]; ahriman_application_application [fillcolor="blue",fontcolor="white",label="ahriman\.\napplication\.\napplication",shape="box"]; ahriman_application_application_application [fillcolor="blue",fontcolor="white",label="ahriman\.\napplication\.\napplication\.\napplication",shape="box"]; ahriman_application_application_application_packages [fillcolor="blue",fontcolor="white",label="ahriman\.\napplication\.\napplication\.\napplication_packages",shape="box"]; @@ -41,12 +41,12 @@ digraph G { ahriman_application_handlers_run [fillcolor="#8f533d",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nrun"]; ahriman_application_handlers_search [fillcolor="#6b3e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nsearch"]; ahriman_application_handlers_service_updates [fillcolor="#814b37",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nservice_updates"]; - ahriman_application_handlers_setup [fillcolor="#6b3e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nsetup"]; + ahriman_application_handlers_setup [fillcolor="#724331",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nsetup"]; ahriman_application_handlers_shell [fillcolor="#814b37",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nshell"]; ahriman_application_handlers_sign [fillcolor="#884f3a",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nsign"]; ahriman_application_handlers_statistics [fillcolor="#6b3e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nstatistics"]; ahriman_application_handlers_status [fillcolor="#6b3e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nstatus"]; - ahriman_application_handlers_status_update [fillcolor="#724331",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nstatus_update"]; + ahriman_application_handlers_status_update [fillcolor="#794734",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nstatus_update"]; ahriman_application_handlers_structure [fillcolor="#794734",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nstructure"]; ahriman_application_handlers_tree_migrate [fillcolor="#814b37",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\ntree_migrate"]; ahriman_application_handlers_triggers [fillcolor="#8a472e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\ntriggers"]; @@ -1080,19 +1080,14 @@ digraph G { ahriman_core_upload_upload -> ahriman_core_upload_s3 [fillcolor="blue",weight="3"]; ahriman_core_upload_upload -> ahriman_core_upload_upload_trigger [fillcolor="blue",weight="3"]; ahriman_core_upload_upload_trigger -> ahriman_core_upload [fillcolor="blue",weight="3"]; - ahriman_core_utils -> ahriman_application_ahriman [fillcolor="#db4005",minlen="2"]; ahriman_core_utils -> ahriman_application_application_application_packages [fillcolor="#db4005",minlen="3"]; ahriman_core_utils -> ahriman_application_handlers_add [fillcolor="#db4005",minlen="3"]; ahriman_core_utils -> ahriman_application_handlers_daemon [fillcolor="#db4005",minlen="3"]; ahriman_core_utils -> ahriman_application_handlers_rebuild [fillcolor="#db4005",minlen="3"]; ahriman_core_utils -> ahriman_application_handlers_rollback [fillcolor="#db4005",minlen="3"]; - ahriman_core_utils -> ahriman_application_handlers_setup [fillcolor="#db4005",minlen="3"]; ahriman_core_utils -> ahriman_application_handlers_statistics [fillcolor="#db4005",minlen="3"]; - ahriman_core_utils -> ahriman_application_handlers_status [fillcolor="#db4005",minlen="3"]; - ahriman_core_utils -> ahriman_application_handlers_status_update [fillcolor="#db4005",minlen="3"]; ahriman_core_utils -> ahriman_application_handlers_tree_migrate [fillcolor="#db4005",minlen="3"]; ahriman_core_utils -> ahriman_application_handlers_update [fillcolor="#db4005",minlen="3"]; - ahriman_core_utils -> ahriman_application_handlers_users [fillcolor="#db4005",minlen="3"]; ahriman_core_utils -> ahriman_application_lock [fillcolor="#db4005",minlen="2"]; ahriman_core_utils -> ahriman_core_alpm_pacman [fillcolor="#db4005",minlen="2",weight="2"]; ahriman_core_utils -> ahriman_core_alpm_repo [fillcolor="#db4005",minlen="2",weight="2"]; diff --git a/frontend/package.json b/frontend/package.json index 65afe960..7a896092 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -42,5 +42,5 @@ "preview": "vite preview" }, "type": "module", - "version": "2.22.1" + "version": "2.22.2" }