23 lines
613 B
Nim
23 lines
613 B
Nim
|
|
import
|
|
preserves
|
|
|
|
type
|
|
XdgOpen* {.preservesRecord: "xdg-open".} = object
|
|
`uri`*: string
|
|
|
|
UriRunnerConfig* {.preservesDictionary.} = object
|
|
`handlerspace`* {.preservesEmbedded.}: Preserve[void]
|
|
`urispace`* {.preservesEmbedded.}: Preserve[void]
|
|
|
|
ActionHandler* {.preservesRecord: "action-handler".} = object
|
|
`pat`*: string
|
|
`entity`* {.preservesEmbedded.}: Preserve[void]
|
|
`action`*: Preserve[void]
|
|
|
|
proc `$`*(x: XdgOpen | UriRunnerConfig | ActionHandler): string =
|
|
`$`(toPreserve(x))
|
|
|
|
proc encode*(x: XdgOpen | UriRunnerConfig | ActionHandler): seq[byte] =
|
|
encode(toPreserve(x))
|