netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/edi.git/commit/?id=554b22c929fa41c9941d66d83b2115957b00c47c

commit 554b22c929fa41c9941d66d83b2115957b00c47c
Author: Alastair Poole <nets...@gmail.com>
Date:   Mon Sep 6 09:41:20 2021 +0100

    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";
      }

-- 


Reply via email to