diff --git a/chuse b/chuse index 549f8d2..5a1ab0b 100755 --- a/chuse +++ b/chuse @@ -186,8 +186,8 @@ def parse_atom(atom: "A raw atom as a string") -> "The atom parts as a dict": parts = ['selector', 'cat', 'pkg', 'version', 'slot'] selector_ptrn = r'(?P>=|<=|<|=|>)' cat_ptrn = r'(?P[a-z0-9]+(-[a-z0-9]+)?)' - pkg_ptrn = r'(?P[a-z0-9]+(-[a-z0-9]+)*)' - version_ptrn = r'(?P[0-9]+(\.[0-9]+)*(-r[0-9]+)?)' + pkg_ptrn = r'(?P[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\+?)' + version_ptrn = r'(?P[0-9]+(\.[0-9]+)*(_[a-zA-Z]+)?([0-9]+)?(-r[0-9]+)?[a-z]?)' slot_ptrn = r'(?P.*)' pattern = '^' + selector_ptrn + '?' + cat_ptrn + '/' + pkg_ptrn + \