diff options
author | bptato <nincsnevem662@gmail.com> | 2024-12-17 20:58:05 +0100 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2024-12-17 20:58:20 +0100 |
commit | cca92e2646d6decb59aa473aece834a81511cb3a (patch) | |
tree | fda357e92fac17b28a97d3c841455cbf2879f955 /src/server | |
parent | e3356585518e11b27175ac89f5cf3a85d1826c6f (diff) | |
download | chawan-cca92e2646d6decb59aa473aece834a81511cb3a.tar.gz |
css: add :target pseudo class
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/buffer.nim | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/buffer.nim b/src/server/buffer.nim index bbae50f2..501a5d94 100644 --- a/src/server/buffer.nim +++ b/src/server/buffer.nim @@ -715,6 +715,8 @@ proc gotoAnchor*(buffer: Buffer; anchor: string; autofocus: bool): if buffer.document == nil: return GotoAnchorResult(found: false) var anchor = buffer.document.findAnchor(anchor) + if anchor != nil: + buffer.document.setTarget(anchor) var focus: ReadLineResult = nil # Do not use buffer.config.autofocus when we just want to check if the # anchor can be found. @@ -1032,6 +1034,11 @@ proc clone*(buffer: Buffer; newurl: URL): int {.proxy.} = for it in connecting: # connecting: just reconnect buffer.loader.reconnect(it) + # Set target now, because it's convenient. + # (It is also possible that newurl has no hash, and then gotoAnchor + # isn't called at all.) + let target = buffer.document.findAnchor(newurl.hash) + buffer.document.setTarget(target) return 0 else: # parent discard close(pipefd[1]) # close write |