Łukasz Samson
76d3fbad88
Disallow raw CR line ending in strings, comments and after ? ( #15307 )
2026-04-26 09:32:12 +02:00
José Valim
7945446cb4
Allow preserving sigil metadata in container cursor to quoted
...
Closes #14243 .
2026-03-13 20:03:34 +01:00
José Valim
85b1ad0764
Do not emit warnings during IEx parsing
...
Closes #15090 .
Unfortunately, I could not write a test for this as the error
only happens when using actual I/O devices. When using the mock
device we use in tests, the warning appears as expected.
2026-02-18 13:45:56 +01:00
Jean Klingler
aef3dcecd1
Warn on deprecated ~~~ unary op in tokenizer ( #14870 )
2025-10-29 19:23:31 +09:00
José Valim
0685a35c63
Address regressions on 'not in' operator
...
Closes #14783 .
2025-09-28 17:03:32 +02:00
José Valim
bedb6777c1
Revert "Bump column info on open curly in %{"
...
Otherwise tokens are emitted with the wrong information.
This reverts commit 6a7511f9af .
2025-09-02 11:23:24 +02:00
José Valim
6a7511f9af
Bump column info on open curly in %{
2025-09-02 10:17:30 +02:00
José Valim
78fb312013
Consistently treat \ followed by newlines as horizontal space
...
Closes #14713 .
Closes #14714 .
2025-08-31 20:04:24 +02:00
José Valim
33ee657a7f
Properly handle column for 'in' in 'not in' operator
...
Closes #14681 .
2025-08-31 13:08:28 +02:00
José Valim
54321de136
Update bidi/line break character checks according to UX#55
2025-08-31 10:56:33 +02:00
José Valim
6ee313a835
Only break newlines if original char is a newline
2025-08-31 10:50:57 +02:00
Lukasz Samson
c5f1c64be3
Advance line when processing ? followed by <LF> and \<LF>
...
Closes #14715 .
2025-08-31 10:14:49 +02:00
José Valim
b2d548af0e
Remove general catch on sigil token
2025-07-28 08:28:51 +02:00
Łukasz Samson
23776d9e8f
Return error on invalid unicode sequences ( #14666 )
2025-07-27 19:04:14 +02:00
Łukasz Samson
b2587e8633
Handle error result from unescape_tokens in tokenizer ( #14587 )
2025-06-19 12:02:02 -07:00
Łukasz Samson
6ca0ad84b7
Consistently raise UnicodeConversionError in tokenizer ( #14589 )
2025-06-19 12:00:43 -07:00
José Valim
468228a236
Add :indentation to Code.string_to_quoted/2 ( #14406 )
2025-04-07 16:02:01 +02:00
Jonatan Männchen
e1d171e5c7
Add inline License / Copyright to Erlang files ( #14255 )
2025-02-05 13:50:00 +01:00
José Valim
b339deb204
Simplify token pruning, closes #14139
2025-01-20 18:51:29 +01:00
Daniel Drexler
b18aaa0d71
Improve warning for charlists ( #14160 )
...
The current warning for single-quoted character lists is confusing
because it appears to be a stylistic note instead of a deprecation
warning. This commit updates the language to make the reasoning clearer
and to more clearly describe what `mix format --migrate` will change
about the users' code.
2025-01-09 09:22:02 +01:00
sobolevn
1ab6cdc2db
Deprecate single quotes in quoted atoms and calls ( #14047 )
...
Closes #13958 .
2024-12-10 19:31:11 +01:00
José Valim
66c82a2361
Fix error message around single quote keywords
2024-12-10 19:29:32 +01:00
Eksperimental
eadbd8bdf3
Fix typos ( #14023 )
...
The typos were detected by this app: https://pypi.org/project/typos/
running the following command
typos --exclude "lib/elixir/unicode/" --exclude "man/" --exclude "typos" --format brief
2024-12-01 16:59:24 +01:00
José Valim
8eba863f8f
Properly track stab inside container_cursor_to_quoted, closes #13826
2024-11-25 14:46:23 +01:00
Jonatan Kłosko
d0f7c03744
Fix delimiter metadata for single quote atoms and remote calls ( #13966 )
2024-11-05 17:11:39 +01:00
Jonatan Kłosko
ee90126527
Add delimiter meta to demote calls with quoted identifier ( #13963 )
2024-11-05 13:14:20 +01:00
Jonatan Kłosko
e54b87c181
Fix formatter adding extra escapes to remote call functions ( #13960 )
2024-11-04 14:37:46 +01:00
José Valim
5c29b7e73e
Do not crash on preemptive errors with static atoms encoder, closes #13927
2024-10-30 08:31:06 +01:00
Jean Klingler
4126cdd8ab
Add --migrate flag to mix format ( #13846 )
2024-09-21 21:47:16 +09:00
José Valim
9924afff5d
Remove highly restrictive scriptset support
2024-07-02 14:41:57 +02:00
José Valim
ba579f1410
Use simpler solution for adjusting map line
2024-05-23 19:44:22 +02:00
Bryan Paxton
496cb2c892
Add support for sigils containing integers ( #13448 )
2024-05-17 12:40:02 +02:00
José Valim
d7ea2fa2e4
Handle cursor completion inside fn/rescue/catch/else/after
2024-05-14 17:04:57 +02:00
José Valim
b8f069d08e
Fix parsing of ambiguous operators followed by containers
...
Closes #13402 .
2024-03-09 11:17:06 +01:00
José Valim
6655d40376
Streamline and document the parser
2024-02-07 15:06:48 +01:00
José Valim
d68c8d6cdd
Unify handling of .. and ...
2024-02-07 12:26:39 +01:00
José Valim
926560350b
Extract snippet in elixir_errors to simplify exception handling
2023-12-21 21:14:44 +01:00
José Valim
7f3d62108b
Consider column in snippets, closes #13199
2023-12-21 19:26:06 +01:00
José Valim
4d712b25ea
Normalize token missing and mismatched delimiter exceptions
...
Closes #13183 .
Closes #13185 .
Closes #13186 .
Closes #13187 .
2023-12-14 17:02:15 +01:00
Vinícius Müller
02b0876154
Improve diagnostics for unclosed heredocs ( #13182 )
2023-12-14 09:24:43 +01:00
Vinícius Müller
1d978bf73c
Improve unclosed delimiter messages ( #13123 )
2023-12-04 12:46:15 +01:00
José Valim
c4fa754dde
Add :emit_warnings to Code.string_to_quoted
2023-11-06 16:30:46 +01:00
José Valim
8ae45c1c6b
Fix case clause error on tokenizer
2023-11-06 13:28:53 +01:00
José Valim
14f3a1e372
Deprecate single quotes as charlists
2023-10-29 13:30:03 +01:00
Vinícius Müller
9a74a73a00
Normalize hint labels ( #12958 )
2023-09-23 18:59:08 +02:00
Vinícius Müller
3111a5b78a
Improve mismatched delimiter message ( #12928 )
2023-09-15 18:31:48 +02:00
José Valim
646577af50
Add opening_delimiter to token missing error
2023-09-15 18:18:09 +02:00
José Valim
9a3d1a0321
Include open_delimiter in TokenMissingError
2023-09-15 18:18:09 +02:00
Vinícius Müller
0349240827
Add MistmatchedDelimiterError ( #12918 )
2023-09-12 12:18:51 +02:00
Vinícius Müller
0d139c15df
Save column information on start delimiter tokens ( #12916 )
2023-09-10 13:09:56 +02:00