From c022de5a1eac6ea94ad98403e90747fa29877301 Mon Sep 17 00:00:00 2001 From: Matthias Puchstein Date: Thu, 11 Sep 2025 15:11:34 +0200 Subject: [PATCH] feat(zsh): Implement aliases for git diff, commit message generation, and AI-generated commits --- .config/gtk-3.0/settings.ini | 4 ++-- .config/zsh/.zprofile | 1 + .config/zsh/.zshrc | 5 +++++ .config/zsh/aliases.zsh | 37 ++++++++++++++++++++++++++++++++++++ 4 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 .config/zsh/.zprofile create mode 100644 .config/zsh/aliases.zsh diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini index 1611c14..1234958 100644 --- a/.config/gtk-3.0/settings.ini +++ b/.config/gtk-3.0/settings.ini @@ -2,7 +2,7 @@ gtk-theme-name=rose-pine-gtk gtk-icon-theme-name=rose-pine-icons gtk-font-name=InconsolataGo Nerd Font 9 -gtk-cursor-theme-name=AC-Volantes +gtk-cursor-theme-name=volantes gtk-cursor-theme-size=24 gtk-toolbar-style=GTK_TOOLBAR_ICONS gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR @@ -14,4 +14,4 @@ gtk-xft-antialias=1 gtk-xft-hinting=1 gtk-xft-hintstyle=hintslight gtk-xft-rgba=rgb -gtk-application-prefer-dark-theme=1 +gtk-application-prefer-dark-theme=0 diff --git a/.config/zsh/.zprofile b/.config/zsh/.zprofile new file mode 100644 index 0000000..6bfcdf7 --- /dev/null +++ b/.config/zsh/.zprofile @@ -0,0 +1 @@ +emulate sh -c 'source /etc/profile' diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index dc0128b..7ee943b 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -5,6 +5,11 @@ if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]] source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" fi +# Load personal aliases +if [[ -f "${HOME}/.config/zsh/aliases.zsh" ]]; then + source "${HOME}/.config/zsh/aliases.zsh" +fi + # Variables for ZIM ZIM_CONFIG_FILE=${ZDOTDIR}/.zimrc ZIM_HOME=${ZDOTDIR}/zim diff --git a/.config/zsh/aliases.zsh b/.config/zsh/aliases.zsh new file mode 100644 index 0000000..0853f86 --- /dev/null +++ b/.config/zsh/aliases.zsh @@ -0,0 +1,37 @@ +# Basic git diff summarizer +alias gai-summary="git diff | ollama run git-diff-summarizer" + +# Full git commit message generation pipeline +alias gai-msg="git diff --cached | ollama run git-diff-summarizer | ollama run commit-msg-generator" + +# Alternative: analyze all changes (not just staged) +alias gai-all="git diff | ollama run git-diff-summarizer | ollama run commit-msg-generator" + +# Interactive version - shows summary first, then generates commit message +alias gai-interactive='echo "=== DIFF SUMMARY ===" && git diff --cached | ollama run git-diff-summarizer && echo -e "\n=== COMMIT MESSAGE OPTIONS ===" && git diff --cached | ollama run git-diff-summarizer | ollama run commit-msg-generator' + +# Shorter aliases for frequent use +alias gaids="git diff --cached | ollama run git-diff-summarizer" +alias gaicm="git diff --cached | ollama run git-diff-summarizer | ollama run commit-msg-generator" + +# Function for creating commit with AI-generated message +gai-commit() { + if [[ -z $(git diff --cached --name-only) ]]; then + echo "No staged changes found. Stage your changes first with 'git add'." + return 1 + fi + + echo "Analyzing staged changes..." + local commit_msg=$(git diff --cached | ollama run git-diff-summarizer | ollama run commit-msg-generator) + + echo -e "\nGenerated commit message:\n$commit_msg" + echo -e "\nProceed with this commit? (y/n)" + read -r response + + if [[ "$response" =~ ^[Yy]$ ]]; then + git commit -m "$commit_msg" + echo "Committed successfully!" + else + echo "Commit cancelled." + fi +}