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

From: Eli Zaretskii <[email-masked]>
Date: Sun, 13 Apr 2025 10:16:02 +0300

> Date: Sat, 05 Apr 2025 11:10:48 -0300
> From: Gabriel Santos <[email-masked]>
> CC: Stefan Monnier <[email-masked]>,
>  Stefan Kangas <[email-masked]>, Andrea Corallo <[email-masked]>,
>  Gabriel Santos <[email-masked]>, [email-masked]
> 
> >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.

So what do you suggest we do with this issue?  Are you still offering
this mode for addition to Emacs?