diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5b166111a6..de7b77059e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -183,6 +183,9 @@ jobs: - name: Check for todo! and FIXME comments run: script/check-todos + - name: Check modifier use in keymaps + run: script/check-keymaps + - name: Run style checks uses: ./.github/actions/check_style diff --git a/script/check-keymaps b/script/check-keymaps new file mode 100755 index 0000000000..44745fa8b8 --- /dev/null +++ b/script/check-keymaps @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +set -euo pipefail + +pattern='cmd-' +result=$(git grep --no-color --line-number --fixed-strings -e "$pattern" -- \ + 'assets/keymaps/' \ + ':(exclude)assets/keymaps/storybook.json' \ + ':(exclude)assets/keymaps/default-macos.json' \ + ':(exclude)assets/keymaps/macos/*.json' || true) + +if [[ -n "${result}" ]]; then + echo "${result}" + echo "Error: Found 'cmd-' in non-macOS keymap files." + exit 1 +fi + +pattern='super-|win-|fn-' +result=$(git grep --no-color --line-number --fixed-strings -e "$pattern" -- \ + 'assets/keymaps/' || true) + +if [[ -n "${result}" ]]; then + echo "${result}" + echo "Error: Found 'super-', 'win-', or 'fn-' in keymap files. Currently these aren't used." + exit 1 +fi diff --git a/script/check-todos b/script/check-todos index f6edb849bd..4bdf328329 100755 --- a/script/check-todos +++ b/script/check-todos @@ -8,7 +8,7 @@ result=$(git grep --no-color --ignore-case --line-number --extended-regexp -e $p ':(exclude).github/workflows/ci.yml' \ ':(exclude)*criteria.md' \ ':(exclude)*prompt.md' || true) -echo "${result}" if [[ -n "${result}" ]]; then + echo "${result}" exit 1 fi