I encounter this often. Here's a small workaround I use.

I copy/paste the struct into a new VSCode tab and do the following 
find/replace

Search: `.+#.+\n`
Replace: `` (aka nothing)

Then you can format. E.g. this turns:

```
%User{
__meta__: #Ecto.Schema.Metadata<:loaded, "users">,
id: 123,
primary_contact_id: 456,
primary_contact: #Ecto.Association.NotLoaded<association :primary_contact 
is not loaded>,
name: "Name",
created_at: ~U[2023-03-27 20:27:27.756360Z]
}
```

into

```
%User{
id: 123,
primary_contact_id: 456,
name: "Name",
created_at: ~U[2023-03-27 20:27:27.756360Z]
}
```

This doesn't really address your concern, but I do it so frequently that I 
figured I'd share.

On Tuesday, May 9, 2023 at 11:51:54 AM UTC-4 José Valim wrote:

> There is a "structs: false" option but I am not sure if that is supported 
> when diffing.
>
> But also keep in mind there are structures that represent memory data 
> (such as PIDs and REFs) and those can never really be copy and pasted. And 
> sometimes, like above, it shows in a special style because it is private 
> and you are not supposed to assert on it (i.e. you should remove it).
>
> On Tue, May 9, 2023 at 5:42 PM Adam Kirk <atom...@gmail.com> wrote:
>
>> I do this ALL the time, but heres a specific example: When I write a 
>> test, I do something like 
>>
>> assert [] = Repo.all(Thing)
>>
>> it fails, I copy what the match shows into my test and modify it to what 
>> I need.  
>>
>> except that it outputs stuff like:
>>
>> ```
>> __meta__: #Ecto.Schema.Metadata<:loaded, "thing">
>> ```
>> which isn't valid elixir, so I can't run mix format to make it nice 
>> before I modify it.
>>
>> This applies to a ton of workflows I have. I'm curious why it can't be 
>> output as valid elixir instead of this special formatting with special 
>> characters like `#` etc
>>
>> -- 
>> 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/3648f1d0-73a0-47a5-ac83-6bec7c933290n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/elixir-lang-core/3648f1d0-73a0-47a5-ac83-6bec7c933290n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/e8cab9c0-0f53-47bf-a9fe-824b1b15442bn%40googlegroups.com.

Reply via email to