Explorar o código

Meta: Add a check to ensure grep -P stays gone

grep -P does not work on macOS, but grep -E does.
thislooksfun %!s(int64=3) %!d(string=hai) anos
pai
achega
03494ed6ba
Modificáronse 1 ficheiros con 9 adicións e 0 borrados
  1. 9 0
      Meta/lint-shell-scripts.sh

+ 9 - 0
Meta/lint-shell-scripts.sh

@@ -30,6 +30,15 @@ if (( ${#files[@]} )); then
     fi
 
     shellcheck "${files[@]}"
+
+    for file in "${files[@]}"; do
+        if (< "$file" grep -qE "grep [^|);]*-[^- ]*P"); then
+            # '\x2D' is the unicode escape sequence for '-'. This is used so
+            # that this script does not flag itself for containing grep dash P.
+            echo -e "The script '$file' contains 'grep \x2DP', which is not supported on macOS. Please use grep -E instead."
+            exit 1
+        fi
+    done
 else
     echo "No .sh files to check."
 fi