lazygit
lazygit copied to clipboard
CUSTOM KEY VALIDATION
I've created a custom key, but it doesn't validate if there are staged changes. It executes even if there are no staged files. Any help would be appreciated.
Here's my custom command configuration:
gui:
nerdFontsVersion: "3"
customCommands:
- key: "<c-c>"
context: "files"
description: "Commit with Gitmoji ๐ฝ"
prompts:
- type: "menu"
title: "Choose a Gitmoji"
key: "Gitmoji"
suggestions:
preset: "branches"
options:
- name: "โจ feat"
value: "โจ"
- name: "๐ fix"
value: "๐"
- name: "๐ docs"
value: "๐"
- name: "๐ style"
value: "๐"
- name: "โป๏ธ refactor"
value: "โป๏ธ"
- name: "โก perf"
value: "โก"
- name: "โ
test"
value: "โ
"
- name: "๐จ build"
value: "๐จ"
- name: "๐ ci"
value: "๐"
- name: "๐ง chore"
value: "๐ง"
- name: "โช revert"
value: "โช"
- name: "๐ง wip"
value: "๐ง"
- name: "๐ merge"
value: "๐"
- name: "โฌ๏ธ dependencies"
value: "โฌ๏ธ"
- name: "โฌ๏ธ compatibility"
value: "โฌ๏ธ"
- name: "๐ lint"
value: "๐"
- name: "๐ security"
value: "๐"
- name: "โฟ accessibility"
value: "โฟ"
- name: "๐ i18n"
value: "๐"
- name: "๐ท๏ธ release"
value: "๐ท๏ธ"
- name: "๐ init"
value: "๐"
- name: "โ dep-add"
value: "โ"
- name: "โ dep-remove"
value: "โ"
- name: "๐ analytics"
value: "๐"
- name: "๐ฑ responsive"
value: "๐ฑ"
- name: "๐จ ux/ui"
value: "๐จ"
- name: "๐ seo"
value: "๐"
- name: "๐ dead code"
value: "๐"
- type: "input"
title: "Enter the commit title"
key: "CommitSummary"
initialValue: ""
- type: "input"
title: "Enter the commit description"
key: "CommitDescription"
initialValue: ""
checkForConflicts: true
command: |
staged_files=$(git diff --cached --name-only)
if [ -z "$staged_files" ]; then
echo "No files staged for commit. Please stage your changes first."
exit 1
else
git commit -m '{{.Form.Gitmoji}} {{.Form.CommitSummary}}' -m '{{.Form.CommitDescription}}'
fi
loadingText: "Committing..."
ยดยดยด