From 218b12f48ccefd6649841beb7d1f97b168496f9bcaa92dc9f692dc53c72a0fdb Mon Sep 17 00:00:00 2001 From: Nicholas Johnson <> Date: Mon, 9 Feb 2026 00:00:00 +0000 Subject: Add grammar checking script A Markdown parser will eventually be added to prevent language_tool_python from grammar checking markup. Also the output will be reduced to just the errors and the script will not prompt for confirmation if no errors are detected. Currently, it always prompts. --- hooks/pre-commit | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 hooks/pre-commit (limited to 'hooks') diff --git a/hooks/pre-commit b/hooks/pre-commit new file mode 100755 index 0000000..317ed48 --- /dev/null +++ b/hooks/pre-commit @@ -0,0 +1,30 @@ +#!/bin/sh + +# automatically configured by git-annex +git annex pre-commit . + +# check grammar of staged Markdown files +check_grammar() { + # get list of staged Markdown files (added or modified) + staged_files=$(git diff --cached --name-only --diff-filter=AM | grep '\.md$') + + [ -z "$staged_files" ] && return 0 + + printf "Checking grammar of staged files.\n" + language_tool_python --picky $staged_files + + printf "Proceed with commit? (y/n): " + read yn < /dev/tty + + [ "$yn" == "${yn#[Yy]}" ] && return 1 + + return 0 +} + +# run grammar check +check_grammar + +if [ $? -ne 0 ]; then + printf "Aborted.\n" + exit 1 +fi -- cgit v1.2.3