View difference between Paste ID: CaSa5ihz and SFZfC8xx
SHOW: | | - or go back to the newest paste.
1
2-
import re, macros
2+
import re, macros, strutils
3
4
macro `/` (s: string, flagSym: expr): expr {.immediate.} =
5-
    var flagList = {reStudy}
5+
    let flags = astToStr(flagSym)
6-
    # here the compiler complains `i` is undefined
6+
    var re_flags = newNimNode(nnkCurly).add(ident"reStudy")
7-
    let flags = $flagSym
7+
    if 'i' in flags: re_flags.add(ident"reIgnoreCase")
8-
    # if flags.contains('i'):
8+
    
9-
    #     echo("here")
9+
    result = newCall("re", s, re_flags)
10-
    #     flagList.add(reIgnoreCase)
10+
    
11
 
12-
    result = newCall("re", s, parseExpr"{reStudy}")
12+
13
 
14
echo("  ".match(re1))