module Utf8_lexeme:sig..end
typet =string
val normalize : string -> (t, t) Result.tNormalize the given UTF-8 encoded string. Invalid UTF-8 sequences results in a error and are replaced by U+FFFD. Identifier characters are put in NFC normalized form. Other Unicode characters are left unchanged.
val capitalize : string -> (t, t) Result.tLike normalize, but if the string starts with a lowercase identifier
character, it is replaced by the corresponding uppercase character.
Subsequent characters are not changed.
val uncapitalize : string -> (t, t) Result.tLike normalize, but if the string starts with an uppercase identifier
character, it is replaced by the corresponding lowercase character.
Subsequent characters are not changed.
val is_capitalized : t -> boolReturns true if the given normalized string starts with an
uppercase identifier character, false otherwise. May return
wrong results if the string is not normalized.
val is_valid_identifier : t -> boolCheck whether the given normalized string is a valid OCaml identifier:
val is_lowercase : t -> boolReturns true if the given normalized string only contains lowercase
identifier character, false otherwise. May return wrong results if the
string is not normalized.
type validation_result =
| |
Valid |
|||
| |
Invalid_character of |
(* | Character not allowed | *) |
| |
Invalid_beginning of |
(* | Character not allowed as first char | *) |
val validate_identifier : ?with_dot:bool -> t -> validation_resultLike is_valid_identifier, but returns a more detailed error code. Dots
can be allowed to extend support to path-like identifiers.
val starts_like_a_valid_identifier : t -> boolChecks whether the given normalized string starts with an identifier character other than a digit or a single quote. Subsequent characters are not checked.