Change summary
.github/workflows/ci.yml | 3 +++
script/check-keymaps | 26 ++++++++++++++++++++++++++
script/check-todos | 2 +-
3 files changed, 30 insertions(+), 1 deletion(-)
Detailed changes
@@ -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
@@ -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
@@ -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