Edge cases with `:camel`
Hey :wave:
Thanks for the awesome crate 🙏
Reading from the code they're seems to be some un-intentional edge cases with :camel. For example:
my__identwill be converted toMyIdentand notMy_Ident._my_identwill be convertedMyIdentintead of_MyIdent(maybe intentional)
I don't think any of the PascalCase, the CamelCase nor the snake_case conventions specify those edge cases.
My use case for 1 is the following:
We have a data base containing a table with quite a lot of colums, the columns name are therefore scoped with scope_with_multiple_words__my_name. The database is accessed with diesel, the column name is therefore taken as such. I need to convert those columns to a Grpc enum, the enum variants are scoped as: ScopeWithMultipleWords_MyName
I don't have a specific use case for 2, just found that it was weird to remove the first _ if someone intentionally put it there.
Would you be open to such change? If yes, I can submit a PR :blush:
(I do realise it's a breaking change, I just don't think there's a lot of people with ident containing two or more consecutive underscore)
@Elrendio Here's a proposed solution in https://github.com/dtolnay/paste/pull/104
You can add test cases in this playground to see it this fits your need https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=7f87df1a5cfad900ab78270d2b90e28f