34 lines
		
	
	
		
			871 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			871 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
#
 | 
						|
# opt_find
 | 
						|
# Find one or more Marlin options - Configuration lines starting with #define
 | 
						|
#
 | 
						|
 | 
						|
MYNAME=$(basename $0)
 | 
						|
 | 
						|
[[ $# == 0 ]] && ONE="-h" || ONE=$1
 | 
						|
 | 
						|
COMM="(//\\s*)?" ; TYPE=""
 | 
						|
case "$ONE" in
 | 
						|
  -d|--disabled )
 | 
						|
      shift ; COMM="(//\\s*)" ; TYPE="disabled " ;;
 | 
						|
  -e|--enabled )
 | 
						|
      shift ; COMM="" ; TYPE="enabled " ;;
 | 
						|
  -h|--help )
 | 
						|
      echo "$MYNAME [-d|--disabled|-e|--enabled] STRING ... Find matching Marlin configuration options."
 | 
						|
      echo ; shift ;;
 | 
						|
  -* )
 | 
						|
      echo "Unknown option $ONE" ; shift ;;
 | 
						|
esac
 | 
						|
 | 
						|
while [[ $# > 0 ]]; do
 | 
						|
  DID=0
 | 
						|
  for FN in Configuration Configuration_adv; do
 | 
						|
    FOUND=$( grep -HEn "^\s*${COMM}#define\s+[A-Z0-9_]*${1}" "Marlin/$FN.h" 2>/dev/null )
 | 
						|
    [[ -n "$FOUND" ]] && { echo "$FOUND" ; DID=1 ; }
 | 
						|
  done
 | 
						|
  ((DID)) || { echo "ERROR: ${MYNAME} - No ${TYPE}match for ${1}" ; exit 9; }
 | 
						|
  shift
 | 
						|
  echo
 | 
						|
done
 |