mirror of
https://github.com/rkd77/elinks.git
synced 2025-02-02 15:09:23 -05:00
Highlight the 'CDATA' part of <![CDATA[ (in a bit hacky way)
This commit is contained in:
parent
c99b1cc2cc
commit
74a0a7b174
@ -613,6 +613,25 @@ render_dom_attribute_source(struct dom_stack *stack, struct dom_node *node, void
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
render_dom_cdata_source(struct dom_stack *stack, struct dom_node *node, void *data)
|
||||
{
|
||||
struct dom_renderer *renderer = stack->current->data;
|
||||
unsigned char *string = node->string.string;
|
||||
|
||||
assert(node && renderer && renderer->document);
|
||||
|
||||
/* Highlight the 'CDATA' part of <![CDATA[ if it is there. */
|
||||
if (check_dom_node_source(renderer, string - 6, 6)) {
|
||||
render_dom_flush(renderer, string - 6);
|
||||
render_dom_text(renderer, &renderer->styles[DOM_NODE_ATTRIBUTE], string - 6, 5);
|
||||
renderer->position = string - 1;
|
||||
assert_source(renderer, renderer->position, 0);
|
||||
}
|
||||
|
||||
render_dom_node_text(renderer, &renderer->styles[node->type], node);
|
||||
}
|
||||
|
||||
static void
|
||||
render_dom_document_end(struct dom_stack *stack, struct dom_node *node, void *data)
|
||||
{
|
||||
@ -634,7 +653,7 @@ static struct dom_stack_context_info dom_source_renderer_context_info = {
|
||||
/* DOM_NODE_ELEMENT */ render_dom_element_source,
|
||||
/* DOM_NODE_ATTRIBUTE */ render_dom_attribute_source,
|
||||
/* DOM_NODE_TEXT */ render_dom_node_source,
|
||||
/* DOM_NODE_CDATA_SECTION */ render_dom_node_source,
|
||||
/* DOM_NODE_CDATA_SECTION */ render_dom_cdata_source,
|
||||
/* DOM_NODE_ENTITY_REFERENCE */ render_dom_node_source,
|
||||
/* DOM_NODE_ENTITY */ render_dom_node_source,
|
||||
/* DOM_NODE_PROC_INSTRUCTION */ render_dom_element_source,
|
||||
|
Loading…
x
Reference in New Issue
Block a user