| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Text.Casing
Description
Conversions between several common identifier casing conventions:
PascalCase- no spacing between words, first letter in word is uppercase, all others are lowercase.camelCase- likePascalCase, but the very first letter is lowercase.kebab-case- everything lowercase, dash delimits words.snake_Case- underscores delimit words, case is unrestricted.quiet_snake_case- underscores delimit words, everything lowercase.SCREAMING_SNAKE_CASE- underscores delimit words, everything uppercase.
Synopsis
- newtype Identifier a = Identifier {
- unIdentifier :: [a]
- fromHumps :: String -> Identifier String
- fromKebab :: String -> Identifier String
- fromSnake :: String -> Identifier String
- fromWords :: String -> Identifier String
- fromAny :: String -> Identifier String
- toCamel :: Identifier String -> String
- toPascal :: Identifier String -> String
- toSnake :: Identifier String -> String
- toQuietSnake :: Identifier String -> String
- toScreamingSnake :: Identifier String -> String
- toKebab :: Identifier String -> String
- toWords :: Identifier String -> String
- pascal :: String -> String
- camel :: String -> String
- snake :: String -> String
- quietSnake :: String -> String
- screamingSnake :: String -> String
- kebab :: String -> String
- wordify :: String -> String
- dropPrefix :: Identifier String -> Identifier String
Types
newtype Identifier a #
An opaque type that represents a parsed identifier.
Constructors
| Identifier | |
Fields
| |
Instances
Parsing
fromHumps :: String -> Identifier String #
Convert from "humped" casing (camelCase or PascalCase)
fromKebab :: String -> Identifier String #
Convert from kebab-cased-identifiers
fromSnake :: String -> Identifier String #
Convert from snake_cased (either flavor)
fromWords :: String -> Identifier String #
fromAny :: String -> Identifier String #
Convert from anything, including mixed casing.
Generating
toCamel :: Identifier String -> String #
To camelCase
toPascal :: Identifier String -> String #
To PascalCase
toSnake :: Identifier String -> String #
To snake_Case
toQuietSnake :: Identifier String -> String #
To quiet_snake_case
toScreamingSnake :: Identifier String -> String #
To SCREAMING_SNAKE_CASE
toKebab :: Identifier String -> String #
To kebab-case
toWords :: Identifier String -> String #
To word Case
Shorthand functions
quietSnake :: String -> String #
Directly convert to quiet_snake_case through fromAny
screamingSnake :: String -> String #
Directly convert to SCREAMING_SNAKE_CASE through fromAny
Miscellaneous
dropPrefix :: Identifier String -> Identifier String #
Drop the first word from a parsed identifier. Typical usage is between
parsing and writing, e.g.: toKebab . dropPrefix . fromAny $ "strHelloWorld" == "hello-world"