mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-21 16:05:02 +02:00
Generate the rowcol diacrticis for Go as well
This commit is contained in:
@@ -532,17 +532,22 @@ def gen_wcwidth() -> None:
|
||||
def gen_rowcolumn_diacritics() -> None:
|
||||
# codes of all row/column diacritics
|
||||
codes = []
|
||||
with open("./rowcolumn-diacritics.txt", "r") as file:
|
||||
with open("./rowcolumn-diacritics.txt") as file:
|
||||
for line in file.readlines():
|
||||
if line.startswith('#'):
|
||||
continue
|
||||
code = int(line.split(";")[0], 16)
|
||||
codes.append(code)
|
||||
|
||||
with create_header('kitty/rowcolumn-diacritics.c') as p:
|
||||
go_file = 'tools/utils/images/rowcolumn_diacritics.go'
|
||||
with create_header('kitty/rowcolumn-diacritics.c') as p, create_header(go_file, include_data_types=False) as g:
|
||||
p('#include "unicode-data.h"')
|
||||
p('int diacritic_to_num(char_type code) {')
|
||||
p('\tswitch (code) {')
|
||||
g('package images')
|
||||
g(f'var NumberToDiacritic = [{len(codes)}]rune''{')
|
||||
g(', '.join(f'0x{x:x}' for x in codes) + ',')
|
||||
g('}')
|
||||
|
||||
range_start_num = 1
|
||||
range_start = 0
|
||||
@@ -568,11 +573,7 @@ def gen_rowcolumn_diacritics() -> None:
|
||||
p('\t}')
|
||||
p('\treturn 0;')
|
||||
p('}')
|
||||
|
||||
with open('kittens/icat/rowcolumn_diacritics.py', 'w') as f:
|
||||
f.write('# generated by gen-wcwidth.py, do not edit\n\n')
|
||||
strings_utf8 = ', '.join(repr(chr(c).encode('utf-8')) for c in codes)
|
||||
f.write("rowcolumn_diacritics_utf8 = ({}) # noqa\n".format(strings_utf8))
|
||||
subprocess.check_call(['gofmt', '-w', '-s', go_file])
|
||||
|
||||
|
||||
parse_ucd()
|
||||
|
||||
Reference in New Issue
Block a user