aboutsummaryrefslogtreecommitdiffstats
path: root/src/Data/Char
diff options
context:
space:
mode:
Diffstat (limited to 'src/Data/Char')
-rw-r--r--src/Data/Char/Extended.hs12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/Data/Char/Extended.hs b/src/Data/Char/Extended.hs
index add079d..34d0c3e 100644
--- a/src/Data/Char/Extended.hs
+++ b/src/Data/Char/Extended.hs
@@ -1,9 +1,19 @@
module Data.Char.Extended
( module Data.Char
, isAsciiLetter
+ , isNick
) where
import Data.Char
isAsciiLetter :: Char -> Bool
-isAsciiLetter c = Data.Char.isAsciiUpper c || Data.Char.isAsciiLower c
+isAsciiLetter c = isAsciiUpper c || isAsciiLower c
+
+-- RFC1459
+isNick :: Char -> Bool
+isNick c =
+ 0x41 <= i && i <= 0x7D || -- letters / specials
+ 0x30 <= i && i <= 0x39 || -- digits
+ 0x2D == i -- minus
+ where
+ i = ord c