function lpm() {
  local sw_vers=$(sw_vers -productVersion 2>/dev/null)

  autoload is-at-least
  if [[ -z "$sw_vers" ]] || ! is-at-least 12.0 $sw_vers; then
    echo "Error: Low Power Mode requires macOS 12.0 (Monterey) or later" >&2
    echo "Current version: ${sw_vers:-unknown}" >&2
    return 1
  fi

  local action="${1:-}"

  # Helper function to get current status (returns 0, 1, or empty string)
  local get_status() {
    pmset -g | grep lowpowermode | awk '{print $2}'
  }

  case "${action}" in
    on)
      sudo pmset -a lowpowermode 1
      ;;
    off)
      sudo pmset -a lowpowermode 0
      ;;
    status)
      local lpm_status=$(get_status)
      if [[ "$lpm_status" == "1" ]]; then
        echo "enabled"
      elif [[ "$lpm_status" == "0" ]]; then
        echo "disabled"
      else
        echo "unknown" >&2
        return 3
      fi
      ;;
    toggle)
      local lpm_status=$(get_status)
      if [[ "$lpm_status" == "1" ]]; then
        sudo pmset -a lowpowermode 0
      elif [[ "$lpm_status" == "0" ]]; then
        sudo pmset -a lowpowermode 1
      else
        echo "Unable to determine current status to toggle" >&2
        return 3
      fi
      ;;
    *)
      echo "usage: lpm on|off|status|toggle" >&2
      return 2
      ;;
  esac
}

function lpm-off() {
  lpm off
}

function lpm-on() {
  lpm on
}

function lpm-status() {
  lpm status
}

function lpm-toggle() {
  lpm toggle
}