>From looking at the code I think:
* the compiler could be made identifier CS
* probably pragmas CI (thats a bit harder because I think they are stored the
same way as all identifiers)
* ignoring underlines removed
* allowing underlines in front and back.
This would need few fixes to existing code though but read on:
I then would love for a new "rename" (translate, trans, adapt, translit)
functionality which simply can rewrite any identifiers for imported / included
modules!
rename foo_bar fooBar # we use camel case at work
rename echo echoLn # rename it as I want echo without newline
proc echo(x: string) = stdio.write(x)
Additionally (a bit off topic) I would like to have a new "alias" functionality
which duplicates an identifier
alias foo_bar fooBar # why can't I have both?
alias weirdnamehere betterName
If you import other peoples projects and they are not to your liking, you
include the alias file. This would typically be something like "include
foo_ccstyle" and translate the foreign library.
Those could be shared by teams and the community and create what is needed for
the rules you have made up.
This could also be used by the tooling to extend search in a non fuzzy matter
or being used to remap them with a tool like Nim fix.
I think the implementation would be not too hard and it would leave it to the
programmer and teams how they want to work. THIS would truly be something other
languages don't offer and makes working with Nim more practical in a real
working environment.