[geany/geany-plugins] 32dbb1: PairTagHighlighter: add empty tags checking

Volodymyr Kononenko git-noreply at xxxxx
Wed Oct 30 21:21:40 UTC 2013


Branch:      refs/heads/master
Author:      Volodymyr Kononenko <vm at kononenko.ws>
Committer:   Volodymyr Kononenko <vm at kononenko.ws>
Date:        Wed, 30 Oct 2013 21:21:40 UTC
Commit:      32dbb1561889dd0d728ce62e6443e59f8bbc489c
             https://github.com/geany/geany-plugins/commit/32dbb1561889dd0d728ce62e6443e59f8bbc489c

Log Message:
-----------
PairTagHighlighter: add empty tags checking

All empty tags according to html5 standard + <!DOCTYPE>


Modified Paths:
--------------
    pairtaghighlighter/src/pair_tag_highlighter.c

Modified: pairtaghighlighter/src/pair_tag_highlighter.c
22 files changed, 20 insertions(+), 2 deletions(-)
===================================================================
@@ -138,6 +138,23 @@ static gboolean is_tag_self_closing(ScintillaObject *sci, gint closingBracket)
 }
 
 
+static gboolean is_tag_empty(gchar *tagName)
+{
+    const char *emptyTags[] = {"area", "base", "br", "col", "embed",
+                         "hr", "img", "input", "keygen", "link", "meta",
+                         "param", "source", "track", "wbr", "!DOCTYPE"};
+
+    int i;
+    for(i=0; i<(sizeof(emptyTags)/sizeof(emptyTags[0])); i++)
+    {
+        if(strcmp(tagName, emptyTags[i]) == 0)
+            return TRUE;
+    }
+
+    return FALSE;
+}
+
+
 static gboolean is_tag_opening(ScintillaObject *sci, gint openingBracket)
 {
     gboolean isTagOpening = TRUE;
@@ -281,10 +298,11 @@ static void findMatchingTag(ScintillaObject *sci, gint openingBracket, gint clos
     gchar tagName[MAX_TAG_NAME];
     gboolean isTagOpening = is_tag_opening(sci, openingBracket);
 
-    if(is_tag_self_closing(sci, closingBracket)) {
+    get_tag_name(sci, openingBracket, closingBracket, tagName, isTagOpening);
+
+    if(is_tag_self_closing(sci, closingBracket) || is_tag_empty(tagName)) {
         highlight_tag(sci, openingBracket, closingBracket, EMPTY_TAG_COLOR);
     } else {
-        get_tag_name(sci, openingBracket, closingBracket, tagName, isTagOpening);
         if(isTagOpening)
             findMatchingClosingTag(sci, tagName, closingBracket);
         else



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Plugins-Commits mailing list