Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.String.Cases
Description
Exposes naming cases.
Synopsis
- data Pascal = Pascal UpperChar [AlphaNumChar]
- unPascal :: Pascal -> String
- parsePascal :: CodeParsing m => m Pascal
- pascalQ :: QuasiQuoter
- data NonEmpty = NonEmpty Char String
- unNonEmpty :: NonEmpty -> String
- parseNonEmpty :: CodeParsing m => m NonEmpty
- fromString :: String -> Maybe NonEmpty
- nonEmptyQ :: QuasiQuoter
- data Camel = Camel AlphaChar [AlphaNumChar]
- unCamel :: Camel -> String
- parseCamel :: CodeParsing m => m Camel
- camelQ :: QuasiQuoter
- data Snake = Snake SnakeHeadChar [SnakeChar]
- unSnake :: Snake -> String
- parseSnake :: CodeParsing m => m Snake
- snakeQ :: QuasiQuoter
- data UpperSnake = UpperSnake UpperSnakeHeadChar [UpperSnakeChar]
- unUpperSnake :: UpperSnake -> String
- parseUpperSnake :: CodeParsing m => m UpperSnake
- upperSnakeQ :: QuasiQuoter
- data LowerString = LowerString LowerChar [LowerChar]
- unLowerString :: LowerString -> String
- parseLowerString :: CodeParsing m => m LowerString
- lowerStringQ :: QuasiQuoter
Documentation
>>>
:set -XQuasiQuotes
Non empty PascalCase names "[A-Z][a-zA-Z0-9]*"
Constructors
Pascal UpperChar [AlphaNumChar] |
parsePascal :: CodeParsing m => m Pascal Source #
Non empty names ".+"
unNonEmpty :: NonEmpty -> String Source #
parseNonEmpty :: CodeParsing m => m NonEmpty Source #
nonEmptyQ :: QuasiQuoter Source #
Makes a non empty string from String on the compile time. Also throws compile error if the empty string is passed.
>>>
[nonEmptyQ|x|]
NonEmpty 'x' ""
>>>
[nonEmptyQ|foo|]
NonEmpty 'f' "oo"
>>>
[nonEmptyQ|Bar|]
NonEmpty 'B' "ar"
Non empty camelCase names "[a-zA-Z][a-zA-Z0-9]*"
Constructors
Camel AlphaChar [AlphaNumChar] |
parseCamel :: CodeParsing m => m Camel Source #
camelQ :: QuasiQuoter Source #
Non empty snake_case names "[a-zA-Z_][a-zA-Z0-9_]*"
Constructors
Snake SnakeHeadChar [SnakeChar] |
parseSnake :: CodeParsing m => m Snake Source #
snakeQ :: QuasiQuoter Source #
Simular to nonEmptyQ
,
but naming outsides of Snake
will be rejected.
>>>
[snakeQ|foo_bar|]
Snake (SnakeHeadAlpha (AlphaLower F_)) [SnakeAlphaNum (AlphaNumAlpha (AlphaLower O_)),SnakeAlphaNum (AlphaNumAlpha (AlphaLower O_)),SnakeUnderscore,SnakeAlphaNum (AlphaNumAlpha (AlphaLower B_)),SnakeAlphaNum (AlphaNumAlpha (AlphaLower A_)),SnakeAlphaNum (AlphaNumAlpha (AlphaLower R_))]
>>>
[snakeQ|__constructor|]
Snake SnakeHeadUnderscore [SnakeUnderscore,SnakeAlphaNum (AlphaNumAlpha (AlphaLower C_)),SnakeAlphaNum (AlphaNumAlpha (AlphaLower O_)),SnakeAlphaNum (AlphaNumAlpha (AlphaLower N_)),SnakeAlphaNum (AlphaNumAlpha (AlphaLower S_)),SnakeAlphaNum (AlphaNumAlpha (AlphaLower T_)),SnakeAlphaNum (AlphaNumAlpha (AlphaLower R_)),SnakeAlphaNum (AlphaNumAlpha (AlphaLower U_)),SnakeAlphaNum (AlphaNumAlpha (AlphaLower C_)),SnakeAlphaNum (AlphaNumAlpha (AlphaLower T_)),SnakeAlphaNum (AlphaNumAlpha (AlphaLower O_)),SnakeAlphaNum (AlphaNumAlpha (AlphaLower R_))]
>>>
[snakeQ|FOO_MEE_9|]
Snake (SnakeHeadAlpha (AlphaUpper F)) [SnakeAlphaNum (AlphaNumAlpha (AlphaUpper O)),SnakeAlphaNum (AlphaNumAlpha (AlphaUpper O)),SnakeUnderscore,SnakeAlphaNum (AlphaNumAlpha (AlphaUpper M)),SnakeAlphaNum (AlphaNumAlpha (AlphaUpper E)),SnakeAlphaNum (AlphaNumAlpha (AlphaUpper E)),SnakeUnderscore,SnakeAlphaNum (AlphaNumDigit D9)]
data UpperSnake Source #
A kind of Cases
. [A-Z_][A-Z0-9_]*
Constructors
UpperSnake UpperSnakeHeadChar [UpperSnakeChar] |
Instances
Eq UpperSnake Source # | |
Defined in Data.String.Cases | |
Show UpperSnake Source # | |
Defined in Data.String.Cases Methods showsPrec :: Int -> UpperSnake -> ShowS # show :: UpperSnake -> String # showList :: [UpperSnake] -> ShowS # | |
Pretty UpperSnake Source # | |
Defined in Data.String.Cases |
unUpperSnake :: UpperSnake -> String Source #
parseUpperSnake :: CodeParsing m => m UpperSnake Source #
upperSnakeQ :: QuasiQuoter Source #
>>>
[upperSnakeQ|FOO_BAR|]
UpperSnake (UpperSnakeHeadUpper F) [UpperSnakeUpper O,UpperSnakeUpper O,UpperSnakeUnderscore,UpperSnakeUpper B,UpperSnakeUpper A,UpperSnakeUpper R]
>>>
[upperSnakeQ|__CONSTRUCTOR|]
UpperSnake UpperSnakeHeadUnderscore [UpperSnakeUnderscore,UpperSnakeUpper C,UpperSnakeUpper O,UpperSnakeUpper N,UpperSnakeUpper S,UpperSnakeUpper T,UpperSnakeUpper R,UpperSnakeUpper U,UpperSnakeUpper C,UpperSnakeUpper T,UpperSnakeUpper O,UpperSnakeUpper R]
>>>
[upperSnakeQ|__FOO_MEE_9|]
UpperSnake UpperSnakeHeadUnderscore [UpperSnakeUnderscore,UpperSnakeUpper F,UpperSnakeUpper O,UpperSnakeUpper O,UpperSnakeUnderscore,UpperSnakeUpper M,UpperSnakeUpper E,UpperSnakeUpper E,UpperSnakeUnderscore,UpperSnakeDigit D9]
>>>
[upperSnakeQ|FOO_MEE_9|]
UpperSnake (UpperSnakeHeadUpper F) [UpperSnakeUpper O,UpperSnakeUpper O,UpperSnakeUnderscore,UpperSnakeUpper M,UpperSnakeUpper E,UpperSnakeUpper E,UpperSnakeUnderscore,UpperSnakeDigit D9]
data LowerString Source #
Non empty "veryflatten" names [a-z]+
Constructors
LowerString LowerChar [LowerChar] |
Instances
Eq LowerString Source # | |
Defined in Data.String.Cases | |
Show LowerString Source # | |
Defined in Data.String.Cases Methods showsPrec :: Int -> LowerString -> ShowS # show :: LowerString -> String # showList :: [LowerString] -> ShowS # | |
Pretty LowerString Source # | |
Defined in Data.String.Cases |
unLowerString :: LowerString -> String Source #
parseLowerString :: CodeParsing m => m LowerString Source #
lowerStringQ :: QuasiQuoter Source #
Simular to nonEmptyQ
,
but naming outsides of LowerString
will be rejected.
>>>
[lowerStringQ|imavimmer|]
LowerString I_ [M_,A_,V_,I_,M_,M_,E_,R_]