José Valim
4dd1301d03
Warn on ::: to avoid ambiguity
...
The formatter already rewrote it to :"::" since
its conception.
2021-12-05 10:40:19 +01:00
José Valim
c2578c9370
Add Map.from_keys/2 and Keyword.from_keys/2 ( #11432 )
...
The map operation is optimized since Erlang/OTP 24+
as we don't need to do an additional traversal to
create tuples.
2021-12-02 21:51:22 +01:00
Dorgan
2dede8ea2b
Fix normalization of kw list in blocks ( #11431 )
2021-12-02 08:21:59 +01:00
Eksperimental
a1e794fce5
Improve Version.compile_requirement/1 ( #11427 )
2021-11-30 11:25:19 +01:00
José Valim
b131f87464
Warn if an outdated lexical tracker is given on eval
2021-11-26 23:00:18 +01:00
José Valim
3b93c6f969
Move syntax errors to parser file
2021-11-26 21:02:07 +01:00
José Valim
adab68df21
Do not print control chars as unexpected tokens
2021-11-26 21:02:07 +01:00
Eric Meadows-Jönsson
0fd981a498
Add Version.to_string/1 ( #11422 )
2021-11-26 15:38:52 +01:00
José Valim
209688fc52
Handle outdated anonymous functions in Erlang/OTP 25 ( #11421 )
2021-11-26 06:47:10 +01:00
José Valim
f5208a39a3
Emit checker warnings on compile_string/compile_quoted, closes #11417
2021-11-25 21:14:14 +01:00
José Valim
4a88be86f8
Preserve opts while formatting failed inspect struct
...
Also make formatting consistent.
2021-11-25 18:11:05 +01:00
Eksperimental
6fa5018f9e
Improve user experience when there is a faulty Inspect implementation ( #11403 )
2021-11-25 17:41:03 +01:00
José Valim
d0e4af9353
Skip errors on head of generated clauses, closes #11407
2021-11-21 19:33:14 +01:00
Rudolf
d6b0fcacb0
Add Registry.count_select/2 ( #11405 )
2021-11-20 14:35:02 +01:00
José Valim
3b52a04354
Warn on trailing commas on calls, closes #11399
2021-11-19 11:46:46 +01:00
Eksperimental
916cf08069
Make all Inspect tests asyncronous ( #11402 )
2021-11-18 23:09:49 +01:00
Dorgan
2270c95ab3
Fix normalizer not preserving user choice on module attribute lists ( #11397 )
2021-11-17 15:05:37 +01:00
José Valim
39121adb57
Reject bidirectional formatting characters ( #11391 )
2021-11-15 21:08:37 +01:00
José Valim
a618213616
Support escaping of terminators in uppercase sigils heredocs for consistency, closes #11390
2021-11-15 14:21:12 +01:00
José Valim
58455c1872
Do not raise on variable looking like an empty tuple
2021-11-13 12:37:01 +01:00
Eksperimental
3947ab7117
Allow Application.compile_env* to accept attributes ( #11383 )
2021-11-11 22:04:20 +01:00
José Valim
34368b2680
Do not crash on duplicate bindings, closes #11378
2021-11-10 19:27:53 +01:00
José Valim
e0c60c68a0
Do not extract comments without a newline
2021-11-08 18:01:25 +01:00
José Valim
64c2248aa4
Use keyword syntax by default in tuple formatting
2021-11-08 17:25:25 +01:00
Guillaume Duboc
f9ec2e7c5b
Fix formatting of map-like types in warnings ( #11351 )
...
This came up in issue #11204 :
When emitting a warning for a type unification error,
the compiler overly simplifies the formatting of types
when these are maps or unions of maps.
To address this, we recursively check for maps inside
of a union type when comparing it to another map-like type.
2021-11-07 09:30:08 +01:00
José Valim
6ce87e28b9
Fix regression on URI.parse/1, closes #11363
2021-11-04 08:46:16 +01:00
Tyler A. Young
368c311077
Improvements to Enum.slide/3 ( #11361 )
...
- Support negative insertion indices
- Give a clear RuntimeError, rather than a baffling CondClauseError, when you ask for an insertion point that matches the last element of your range
2021-11-03 23:41:57 +01:00
Dorgan
34f32ef8a0
Keep keyword format of tuple last element ( #11354 )
2021-10-31 22:26:59 +01:00
Tyler A. Young
c1d2bc7cc4
Add Enum.slide/3 ( #11349 )
2021-10-31 12:24:35 +01:00
felipe stival
c5269a5230
Typespecs: show expanded module name on inexistent struct field error ( #11353 )
...
Closes #11352 .
2021-10-30 09:39:44 +02:00
Maarten van Vliet
b166e8e184
Pass sigil/modifiers through to formatter ( #11348 )
...
This allows the formatter plugins to format content
based on whether it's a file or a sigil being formatted.
The modifiers could be used for additional options.
2021-10-26 14:06:06 +02:00
José Valim
e5e5170426
Use algebra concat instead of binary concat
2021-10-25 23:22:00 +02:00
Michał Łępicki
dec273346a
Ensure Code.string_to_quoted input only needs the List.Chars protocol ( #11344 )
2021-10-25 22:07:55 +02:00
José Valim
f2ad9823d8
Only consider StartColumn on first line
2021-10-25 16:33:16 +02:00
felipe stival
edcb9096d5
Show code snippet on syntax and token missing errors ( #11332 )
...
Closes #11280 .
2021-10-25 16:18:29 +02:00
José Valim
e414cc0e83
Add URI.new/1 and URI.new!/1 ( #11341 )
...
Closes #10865 .
2021-10-25 13:10:14 +02:00
Udo Kramer
95357ff453
Fix a few typos ( #11342 )
2021-10-25 12:32:42 +02:00
José Valim
5a4c03c02e
Handle more incomplete expressions in cursor_context_to_quoted
2021-10-24 17:22:01 +02:00
José Valim
9154c8b240
Include column in warnings emitted by compiler ( #11339 )
...
We also extend Mix.Tasks.Compiler.Diagnostic
to include {line, column} as possible position.
We also explicitly document the behaviour of
line=0, which is equivalent to unknown line.
Elixir was already setting the line to zero in
multiple occasions prior to this patch, so this
patch makes it official and we stop returning `nil`
for said cases.
2021-10-24 16:28:36 +02:00
José Valim
f3155007dd
Include column in more errors whenever possible
2021-10-24 15:58:19 +02:00
José Valim
7693b05016
Revert "Default to including columns by default"
...
This reverts commit 213cba2baa .
Including columns by default make Ecto test suite
consistently 10% slower and that's likely to replicate
across the board.
2021-10-23 10:28:02 +02:00
José Valim
213cba2baa
Default to including columns by default
...
This changes the default for Code.string_to_quoted/2
and friends, so it may break tests matching explicitly
on the output, but the functionality wise the AST should
still be the same. The reason why it is important to make
this change is to provide better error messages throughout
Elixir.
2021-10-22 21:21:19 +02:00
Eksperimental
fe372a8e5a
Add specs and improve guards to Calendar.ISO.parse_*/2 functions ( #11329 )
2021-10-22 21:19:15 +02:00
José Valim
727cd8a318
Refactor and format code
2021-10-16 21:14:17 +02:00
José Valim
b2b0d895e3
Support token_metadata in container_cursor_to_quoted
2021-10-16 20:56:08 +02:00
José Valim
78bbaf8c6e
Add Macro.postwalker/1
2021-10-16 18:22:18 +02:00
José Valim
4fc23d0300
Add Macro.prewalker/1
2021-10-16 16:09:21 +02:00
José Valim
23bb08885f
Add Code.Fragment.container_cursor_to_quoted/2 ( #11315 )
2021-10-16 15:12:09 +02:00
sabiwara
8203cf171a
Tokenizer uses static_atoms_encoder on quoted keyword keys ( #11313 )
...
Closes #11312
2021-10-15 08:10:18 +02:00
José Valim
fdd6ef8570
Also mention pattern matching on hint
2021-10-10 19:21:06 +02:00