[Proposal] add an option to disable underscore_ints on formatter

87 views
Skip to first unread message

Federico Bianchi

unread,
Feb 22, 2022, 3:31:47 AM2/22/22
to elixir-lang-core
currently we are using this patch:
 
  defp state(comments, opts) do
    underscore_ints = Keyword.get(opts, :underscore_ints, true)
 
  defp integer_to_algebra(text, state) do
    case text do
      <<?0, ?x, rest::binary>> ->
        "0x" <> String.upcase(rest)

      <<?0, base, _::binary>> = digits when base in [?b, ?o] ->
        digits

      <<??, _::binary>> = char ->
        char

      decimal ->
        if state[:underscore_ints] do
          insert_underscores(decimal)
        else
          decimal
        end
    end
  end

José Valim

unread,
Feb 23, 2022, 7:03:11 AM2/23/22
to elixir-lang-core
Why would you want to disable it? Can you please expand on the _needs_ for the feature? Thank you.

--
You received this message because you are subscribed to the Google Groups "elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-co...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/ea1f6f33-0709-4001-abe2-f3b8402622d1n%40googlegroups.com.

Federico Bianchi

unread,
Feb 26, 2022, 11:54:22 AM2/26/22
to elixir-lang-core
our code relies on many large numeric constants, and we want to be able to copypaste them between elixir and other environments (python, and similar), which usually means deleting the underscores, a few of my co workers would not agree to use the formatter without the custom patch to disable it, then maintaining the patch for each version and making sure it works for everyone is a bit cumbersome

Wiebe-Marten Wijnja

unread,
Feb 28, 2022, 7:17:59 AM2/28/22
to elixir-l...@googlegroups.com

It might not work for other environments, but Python in particular supports the same kind of separators for numeric constants as Elixir (c.f. PEP 515).

OpenPGP_signature

Federico Bianchi

unread,
Mar 4, 2022, 9:15:16 AM3/4/22
to elixir-l...@googlegroups.com
ok, to clarify, numbers are identifiers, gotta be searched on jsons, on tables on excel, etc, since i am a coder, my daily work is almost unrelated to these, but other people apparently has to deal with it
as an example u can't coypaste an ID to grep on the jsons folder if it got mangled by the formatter
on my personal experience, i contribute with rust which gets interfaced thought rustler, if more accurate problem sources are needed can ask around, however shouldn't be hard to visualize the problem

You received this message because you are subscribed to a topic in the Google Groups "elixir-lang-core" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/elixir-lang-core/60dSYPCEVbU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to elixir-lang-co...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/ce8451a3-6ed2-779a-8fe9-66d5e670acbc%40resilia.nl.
Reply all
Reply to author
Forward
0 new messages