#!/usr/bin/env bash # Copyright (C) 2017-2018 Luke Shumaker # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. { printf '//' printf ' %q' "$0" "$@" printf '\n// Code generated by the above command; DO NOT EDIT.\n\n' sed -rn ' 1apackage sd_messages 1aimport "git.lukeshu.com/go/libsystemd/sd_id128" 1avar ( /^#define\s+SD_MESSAGE_/ { /\\$/{N;s/\\\n//g;} s/^#define\s+SD_MESSAGE_(\S*)/\1 =/ s/SD_ID128_MAKE\(/sd_id128.ID128{0x/ s/,/,0x/g s/\)/}/ /SD_ID128_MAKE_STR/d s/(^|_)([A-Z])([A-Z]*)/\U\2\L\3/g p } /^$/p $a) ' "$@" } | gofmt