freebsd-dev/mkhelp.py
2021-04-18 18:15:19 -07:00

37 lines
1004 B
Python
Executable File

#!/usr/bin/env python
import time
import sys
time = time.gmtime()
print("/* This file was generated by mkhelp.py from less.hlp at "\
"%d:%02d GMT on %d/%d/%d */\n" %
(time.tm_hour, time.tm_min, time.tm_year, time.tm_mon, time.tm_mday))
print("#include \"less.h\"")
print("constant char helpdata[] = {")
ch = 0
while True:
prevch = ch
ch = sys.stdin.read(1)
if ch == '':
break
if (ch == "'"):
print("'\\'',", end='')
elif (ch == "\\"):
print("'\\\\',", end='')
elif (ch == "\b"):
print ("'\\b',", end='')
elif (ch == "\t"):
print ("'\\t',", end='')
elif (ch == "\n"):
if prevch != "\r": print("'\\n',")
elif (ch == "\r"):
if prevch != "\n": print("'\\n',")
else:
if ((ord(ch) >= ord(' ')) and (ord(ch) < 0x7f)):
print(f"'{ch}',", end='')
else:
print("0x%02x," % ord(ch), end='')
print(" '\\0' };")
print("constant int size_helpdata = sizeof(helpdata) - 1;")