diff --git a/src/html/highlighter.ts b/src/html/highlighter.ts index 56fc93e..89b42b1 100644 --- a/src/html/highlighter.ts +++ b/src/html/highlighter.ts @@ -37,7 +37,11 @@ export class Highlighter { this.spans.push(Span.createFromRange(attribute, attribute.nameRange, Color.Attribute, Font.Italic)); if (attribute.valueRange !== undefined) { - if (attribute.name === 'href') { + if ((token.name === 'a' || token.name === 'link') && attribute.name === 'href') { + this.spans.push(Span.createAnchorFromRange(attribute, attribute.valueRange, Color.String, Font.Underline, Cursor.Pointer, Link.of(attribute.value))); + } else if (token.name === 'head' && attribute.name === 'profile') { + // FIXME: This does not support multiple profiles separated by white space. See + // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head#attr-profile (non standard so no link to a specification) this.spans.push(Span.createAnchorFromRange(attribute, attribute.valueRange, Color.String, Font.Underline, Cursor.Pointer, Link.of(attribute.value))); } else { this.spans.push(Span.createFromRange(attribute, attribute.valueRange, Color.String));