about summary refs log tree commit diff stats
path: root/src/utils
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2023-06-24 23:39:55 +0200
committerbptato <nincsnevem662@gmail.com>2023-06-24 23:39:55 +0200
commitc7bfcef7e0b5b216300622b085bea417478d9c92 (patch)
tree0c63a658e656b52b3f2317c9766d42a10dd48c60 /src/utils
parent7d7f97b6da90bfed93f9dcab4b480e67715d5d5d (diff)
downloadchawan-c7bfcef7e0b5b216300622b085bea417478d9c92.tar.gz
Option -> Opt in config, return error in compileSearchRegex
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/opt.nim6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/utils/opt.nim b/src/utils/opt.nim
index 1a86af8e..15100c2e 100644
--- a/src/utils/opt.nim
+++ b/src/utils/opt.nim
@@ -69,6 +69,12 @@ template opt*[T](v: T): auto =
 template opt*(t: typedesc): auto =
   err(Result[t, void])
 
+template opt*[T, E: not void](r: Result[T, E]): Opt[T] =
+  if r.isOk:
+    Opt[T].ok(r.get)
+  else:
+    Opt[T].err()
+
 template isOk*(res: Result): bool = res.has
 template isErr*(res: Result): bool = not res.has
 template isSome*(res: Result): bool = res.isOk