vim-abolish
vim-abolish copied to clipboard
Missing and/or faulty coercion cases
When using coercion I've run onto an edge-case on dot.case not properly converted back to camelCase. I decided to dig deeper, and found a few more, so here's a result of faulty behaviours with I managed to find:
input:
snake_case
kebab-case
camelCase
PascalCase
dot.case
UPPER_CASE
space case
Converting to snake_case (1 fault):
snake_case
kebab_case
camel_case
pascal_case
dot_case
upper_case
space case # not converted to snake_case
Converting to kebab-case (1 fault):
snake-case
kebab-case
camel-case
pascal-case
dot-case
upper-case
space case # not converted to kebab-case
Converting to camelCase (4 faults):
snakeCase
kebabCase
camelcase # messed up output, losing all casing information
pascalcase # messed up output, losing all casing information
dot.case # not converted to camelCase
upperCase
space case # not converted to camelCase
Converting to PascalCase (6 faults):
SnakeCase
kebabCase # converted to camelCase instead
camelcase # messed up output, losing all casing information
pascalcase # messed up output, losing all casing information
dot.case # not converted to PascalCase
upperCase # converted to camelCase instead
space case # not converted to PascalCase
Connverting to UPPER_CASE (1 fault):
SNAKE_CASE
KEBAB_CASE
CAMEL_CASE
PASCAL_CASE
DOT_CASE
UPPER_CASE
SPACE CASE # only partial conversion, failed to add _
Converting to dot.case (1 fault):
snake.case
kebab.case
camel.case
pascal.case
dot.case
upper.case
space case # not converted to dot.case
Converting to space case (no faults):
snake case
kebab case
camel case
pascal case
dot case
upper case
space case
I think the space case issues have a single root cause which is that there is no code path converting space case to snake case.