From 22d562ca41876a3359dd91881d6370e8676256ec Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 25 Jan 2023 15:38:23 +0530 Subject: [PATCH] DRYer --- gen-go-code.py | 12 ++++++++++++ tools/cmd/clipboard/write.go | 17 +---------------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/gen-go-code.py b/gen-go-code.py index f01fa13e4..85b1f9306 100755 --- a/gen-go-code.py +++ b/gen-go-code.py @@ -26,6 +26,7 @@ from kitty.options.types import Options from kitty.rc.base import RemoteCommand, all_command_names, command_for_name from kitty.remote_control import global_options_spec from kitty.rgb import color_names +from kitty.guess_mime_type import text_mimes changed: List[str] = [] @@ -574,6 +575,14 @@ def generate_mimetypes() -> str: return '\n'.join(ans) +def generate_textual_mimetypes() -> str: + ans = ['package utils', 'var KnownTextualMimes = map[string]bool{',] + for k in text_mimes: + ans.append(f' "{serialize_as_go_string(k)}": true,') + ans.append('}') + return '\n'.join(ans) + + def main() -> None: with replace_if_needed('constants_generated.go') as f: f.write(generate_constants()) @@ -585,6 +594,9 @@ def main() -> None: f.write(generate_spinners()) with replace_if_needed('tools/utils/mimetypes_generated.go') as f: f.write(generate_mimetypes()) + with replace_if_needed('tools/utils/mimetypes_textual_generated.go') as f: + f.write(generate_textual_mimetypes()) + update_completion() update_at_commands() kitten_clis() diff --git a/tools/cmd/clipboard/write.go b/tools/cmd/clipboard/write.go index 4b0d83806..479e0b282 100644 --- a/tools/cmd/clipboard/write.go +++ b/tools/cmd/clipboard/write.go @@ -25,23 +25,8 @@ type Input struct { extra_mime_types []string } -var known_textual_mimes = map[string]bool{ - "application/x-sh": true, - "application/x-csh": true, - "application/x-shellscript": true, - "application/javascript": true, - "application/json": true, - "application/xml": true, - "application/x-yaml": true, - "application/yaml": true, - "application/x-toml": true, - "application/toml": true, - "application/rss+xml": true, - "application/xhtml+xml": true, -} - func is_textual_mime(x string) bool { - return strings.HasPrefix(x, "text/") || known_textual_mimes[x] + return strings.HasPrefix(x, "text/") || utils.KnownTextualMimes[x] } func is_text_plain_mime(x string) bool {