diff --git a/style.go b/style.go index 669f8791..d9c44475 100644 --- a/style.go +++ b/style.go @@ -289,12 +289,23 @@ func (s Style) Render(strs ...string) string { useSpaceStyler = (underline && !underlineSpaces) || (strikethrough && !strikethroughSpaces) || underlineSpaces || strikethroughSpaces transform = s.getAsTransform(transformKey) + + hyperlinkURL = s.getAsHyperlinkURL(hyperlinkURLKey) + hyperlinkParams = s.getAsHyperlinkParams(hyperlinkParamsKey) ) if transform != nil { str = transform(str) } + if hyperlinkURL != "" { + var params []string + for k, v := range hyperlinkParams { + params = append(params, k, v) + } + str = ansi.SetHyperlink(hyperlinkURL, params...) + str + } + if s.props == 0 { return s.maybeConvertTabs(str) } @@ -471,6 +482,10 @@ func (s Style) Render(strs ...string) string { } } + if hyperlinkURL != "" { + str += ansi.ResetHyperlink() + } + return str }