Skip to content

Commit

Permalink
PairTagHighlighter: add empty tags checking
Browse files Browse the repository at this point in the history
All empty tags according to html5 standard + <!DOCTYPE>
  • Loading branch information
vmkononenko committed Oct 30, 2013
1 parent 9586c57 commit 32dbb15
Showing 1 changed file with 20 additions and 2 deletions.
22 changes: 20 additions & 2 deletions pairtaghighlighter/src/pair_tag_highlighter.c
Expand Up @@ -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;
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 32dbb15

Please sign in to comment.