From 554b22c929fa41c9941d66d83b2115957b00c47c Mon Sep 17 00:00:00 2001 From: Alastair Poole Date: Mon, 6 Sep 2021 09:41:20 +0100 Subject: [PATCH] edi: hook in shell highlighting. Added initial shell highlighting to the widget. Add here to tweak as needed. What a keyword is, is debatable. --- src/bin/language/edi_language_provider.c | 8 ++++++++ src/lib/edi_mime.c | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/bin/language/edi_language_provider.c b/src/bin/language/edi_language_provider.c index 230bc3d..8b735d7 100644 --- a/src/bin/language/edi_language_provider.c +++ b/src/bin/language/edi_language_provider.c @@ -13,6 +13,7 @@ #include "edi_language_provider_rust.c" #include "edi_language_provider_go.c" #include "edi_language_provider_csharp.c" +#include "edi_language_provider_shell.c" static Edi_Language_Provider _edi_language_provider_registry[] = { @@ -41,6 +42,11 @@ static Edi_Language_Provider _edi_language_provider_registry[] = _edi_language_csharp_mime_name, _edi_language_csharp_snippet_get, NULL, NULL }, + { + "shell", _edi_language_shell_add, _edi_language_shell_refresh, _edi_language_shell_del, + _edi_language_shell_mime_name, _edi_language_shell_snippet_get, + NULL, NULL + }, {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL} @@ -71,6 +77,8 @@ Edi_Language_Provider *edi_language_provider_for_mime_get(const char *mime) id = "go"; if (!strcasecmp(mime, "text/x-csharp")) id = "csharp"; + if (!strcasecmp(mime, "application/x-shellscript")) + id = "shell"; if (!id) return NULL; diff --git a/src/lib/edi_mime.c b/src/lib/edi_mime.c index 2c12c9a..20d5b9d 100644 --- a/src/lib/edi_mime.c +++ b/src/lib/edi_mime.c @@ -54,7 +54,8 @@ edi_mime_type_get(const char *path) eina_file_close(f); mime = efreet_mime_type_get(path); - if (mime && (strncmp(mime, "text/", 5)) && likely_text) + if (!strcmp(mime, "application/x-shellscript")) return mime; + if ((mime) && (strncmp(mime, "text/", 5)) && (likely_text)) { return "text/plain"; }