Files
dotfiles/scripts/create-nvim-keymaps.sh
Ismo Vuorinen de773ad68f refactor(scripts): add set -euo pipefail to all installer scripts
Add strict error handling to all scripts:
- 13 scripts get `set -euo pipefail`
- install-macos-defaults.sh gets `set -uo pipefail` (without -e) because
  defaults write commands may fail on newer macOS versions
- install-cargo-packages.sh: also add missing source of shared.sh
2026-02-05 22:51:40 +02:00

34 lines
825 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# @description Create file containing key mappings for Neovim
# Usage: ./create-nvim-keymaps.sh
#
# shellcheck source=shared.sh
source "${DOTFILES}/config/shared.sh"
DEST="$HOME/.dotfiles/docs/nvim-keybindings.md"
main()
{
msg "Generating Neovim keybindings documentation"
{
printf "# nvim keybindings\n\n"
printf "\`\`\`txt"
} > "$DEST"
nvim -c "redir! >> $DEST" -c 'silent verbose map' -c 'redir END' -c 'q'
printf "\n\`\`\`\n\n- Generated on %s\n" "$(date)" >> "$DEST"
# Remove unnecessary information from the output and the last line
sed -E \
-e 's/<Lua [^:]+: ([^:>]+):[0-9]+>/\1/' \
-e '/^ Last set from/d' "$DEST" \
> "${DEST}.tmp" \
&& mv "${DEST}.tmp" "$DEST"
msg "Neovim keybindings documentation generated at $DEST"
}
main "$@"