package com.vgmlr.wedge
object WedgeRegex {
val ALARM_TIME = Regex("""^(\d{2}):(\d{2})\s*.*(?<!\s)\((-\d+(\.\d+)?|0)?\)$""")
val BOLD_LINE = Regex("""(?m)^.*!$""")
val COMMENT_LINE = Regex("""(?m)(?<!\S)//.*$""")
val COUNTDOWN_TIME = Regex("""^(\d{2}):(\d{2})\s*.*(?<!\s)(?:\((-\d+(\.\d+)?|0)?\)|\[(-\d+(\.\d+)?|0)?])$""")
val DASH_TRIGGER = Regex("""(?<=\s|^)dash\((\d+)\)$""")
val DATE_MATH_REFRESH = Regex("""(?<=\s|^)(\d{1,2})([a-zA-Z]{3})\(\d*\)=\d*""")
val DATE_MATH_TRIGGER = Regex("""(?<=\s|^)(\d{1,2})([a-zA-Z]{3})\(\)=$""")
val HR_TRIGGER = Regex("""(?<=\s|^)hr\((\d+)\)$""")
val ITALIC_LINE = Regex("""(?m)^.*\?$""")
val LIST_TRIGGER = Regex("""^(\s*)(\d+)\.\s""")
val MATH_SPLIT = Regex("[+\\-/*=]")
val MATH_TRIGGER = Regex("""(?<=\s|^|=)((\d+(\.\d+)?[+\-/*])+(\d+(\.\d+)?%?)=)$""")
val STRIKE_LINE = Regex("""(?m)^[^\S\r\n]*(\S.*?)~$""")
val TIME_ENTRY = Regex("""^(\d{2}):(\d{2})""")
val UNDERLINE_LINE = Regex("""(?m)^[^\S\r\n]*(\S.*?)\*$""")
val URL = Regex("""https?://\S+?(?=[.,;:!?)\]}]*(?:\s|$))""")
}