akalongman / sublimetext-stringutilities

Sublime Text 2/3 plugin for string manipulations
MIT License
83 stars 24 forks source link

Regarding Underscores conversion and uppercase characters #32

Open jfsawin opened 7 years ago

jfsawin commented 7 years ago

As it stands, converting from Underscores to either camelCase or PascalCase requires only an underscore somewhere in the selection, and for the first character to be lowercase. The current implementation cannot handle strings like a_LL_pointer, turning them into aLlPointer or ALlPointer. What behavior should there be when handling Underscored strings with uppercase letters in these converters? Should the conversion try to support and preserve acronyms (i.e. multiple uppercase characters in a row with at least one underscore before or after)? In light of this, does the requirement for the first letter to be lowercase even make sense? The logic for handling these sorts of cases correctly seems a bit tricky...

An issue remains that the original underscored form wouldn't be discernible from the converted form (e.g. ALLPointer couldn't tell us if we want al_l_pointer or a_ll_pointer, which is even disregarding capitalization). Given this limitation, should attempts be made to modify the behavior of Underscores-> conversion to support strings with capital letters even if camelCase/PascalCase-> conversion cannot reasonably reverse the transformation?