summary refs log tree commit diff stats
path: root/src/nre.nim
diff options
context:
space:
mode:
Diffstat (limited to 'src/nre.nim')
-rw-r--r--src/nre.nim9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/nre.nim b/src/nre.nim
index 631be2176..5a5cbaa45 100644
--- a/src/nre.nim
+++ b/src/nre.nim
@@ -215,10 +215,7 @@ proc initRegex*(pattern: string, options = "Sx"): Regex =
   result.captureNameToId = result.getNameToNumberTable()
 # }}}
 
-proc exec*(self: Regex, str: string, start = 0): RegexMatch =
-  ## Tries to match the regex on the string `str` starting at `start`.
-  ## On fail, returns `nil`
-  ## On success, returns RegexMatch
+proc exec*(self: Regex, str: string, start = 0): Option[RegexMatch] =
   var result: RegexMatch
   new(result)
   result.pattern = self
@@ -239,8 +236,8 @@ proc exec*(self: Regex, str: string, start = 0): RegexMatch =
                           cint(0),
                           cast[ptr cint](addr result.pcreMatchBounds[0]), cint(vecsize))
   if execRet >= 0:
-    return result
+    return Some(result)
   elif execRet == pcre.ERROR_NOMATCH:
-    return nil
+    return None[RegexMatch]()
   else:
     raise newException(AssertionError, "Internal error: errno " & $execRet)
cs/ranger/blame/ranger/ext/shell_escape.py?id=84a22ae0c78b087b0cb080f47620291833586e6f'>^
c58fdd0e ^

8f2f1767 ^

ab41c776 ^
d906b0dd ^
d1a1173d ^

8f2f1767 ^
ab41c776 ^
d906b0dd ^
d1a1173d ^



39e5b4c6 ^
b3d031a9 ^

d1a1173d ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30