Subject: Re: bug#77326: [PATCH] Add symbol-mode

From: Gabriel Santos <[email-masked]>
Date: Sat, 05 Apr 2025 11:10:48 -0300

>One nice feature this patch could have is to cycle among symbol naming
>conventions: CamelCase, snakeCase, hyphen-case, underscore_case (any
>others?) and that would make it convenient when a variable name with the
>same components are used across modalities; e.g. in config files, json,
>xml, protobufs, C/C++ vs. python, and in emacs-lisp-mode and Emacs C code,
>cycling among to Fsymbol_name or Ssymbol_name?

There are multiple packages like this[1, 2, 3, 4, 5, 6].

Despite that, I think I could give it a try, I just have to
avoid looking into them because of copyright.

So a comnand that changes between different symbol naming conventions,
Like how the capitalization commands work?

Point is "|":

>M-x cycle-convention-symbol
>|this-is-a-symbol
>thisIsASymbol|

>cycle among symbol naming conventions:

So subsequent calls would switch to another convention? I think this
would be ok if the point didn't move.

>M-x mark-sexp
>this-is-a-symbol
>M-x cycle-convention-symbol
>thisIsASymbol
>M-x cycle-convention-symbol
>this_is_a_symbol
>M-x cycle-convention-symbol
>ThisIsASymbol

Besides cycling, maybe choosing a convention with
completion?

>CamelCase, snakeCase, hyphen-case, underscore_case

This could be another issue. The names I know these as
are, respectively:

- PascalCase
- camelCase
- kebab-case (yes, really)
- snake_case

>There are multiple packages like this[1, 2, 3, 4, 5, 6].

Another interesting option would be to contact the author
of one of these packages for inclusion in this file.

[1] <https://github.com/HKey/caseformat>
[2] <https://hg.sr.ht/~zck/caser.el>
[3] <https://github.com/TakesxiSximada/change-case.el>
[4] <https://github.com/jcs-elpa/cycle-case-style>
[5] <https://codeberg.org/acdw/titlecase.el>
[6] <https://github.com/akicho8/string-inflection>

-- 
Gabriel Santos