vim-abolish icon indicating copy to clipboard operation
vim-abolish copied to clipboard

Missing and/or faulty coercion cases

Open reegnz opened this issue 1 year ago • 2 comments

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

reegnz avatar Feb 15 '24 13:02 reegnz

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.

reegnz avatar Feb 15 '24 13:02 reegnz