Commit Graph
4126 Commits
Author SHA1 Message Date
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