Commit Graph

208 Commits

Author SHA1 Message Date
Joshua Warner
8d6eb178b1 Fix multiline pattern heuristic 2022-01-01 18:20:05 -08:00
Joshua Warner
443d738f9b Make Position::{line, column} fields private 2022-01-01 18:20:05 -08:00
ayazhafiz
966198a6e7 Coalesce inline and normal alias headers
Unifies `As` annotations and `Alias` defs to use a common struct for
defining alias header information, i.e. the name and type variables of
the alias.
2021-12-26 09:37:56 -06:00
ayazhafiz
597a1cef3b Attach location to alias header name 2021-12-26 09:17:27 -06:00
ayazhafiz
11da888c07 Pull out alias header as its own struct 2021-12-26 09:07:12 -06:00
ayazhafiz
2cd5bf8c03 Parse "as" aliases into tag/args rather than arbitrary annotations 2021-12-26 08:44:09 -06:00
Joshua Warner
8b58d5cbc7 Switch to always encoding package names / paths as strings
This will simplify parsing and make it possible to have a uniform lexer for the language. Previously unquoted package names were allowed to include '-'s, which aren't valid identifiers.

In the future, we'll distinguish local paths from packages in the package-manager by looking for a ".roc" suffix, which should only be present in local paths.
2021-12-23 20:11:14 -08:00
Joshua Warner
22e2545fd6 format 2021-12-22 20:46:42 -08:00
Joshua Warner
4d7070ce3b Always combine line,column into Position 2021-12-22 20:32:46 -08:00
Joshua Warner
f19220473a Rename Located -> Loc 2021-12-22 19:18:22 -08:00
Joshua Warner
825b93696c Improve error message & comment 2021-12-21 18:23:04 -08:00
Joshua Warner
6786acb939 Remove redundant space in aliases 2021-12-21 18:16:58 -08:00
Joshua Warner
4fed812389 add test_fmt_examples 2021-12-21 17:25:36 -08:00
Richard Feldman
3ffe5768e1
Merge pull request #2239 from rtfeldman/joshuawarner32/pipeline-format-fail
Fix formatting of pipelined call exprs
2021-12-20 15:46:23 -05:00
Joshua Warner
48c207bb06 Remove trailing whitespace from the output of the formatter 2021-12-18 17:14:14 -08:00
Joshua Warner
61cdbd1531 Fix formatting of pipelined call exprs 2021-12-18 16:36:51 -08:00
Richard Feldman
cb4a74ac46
Merge pull request #2233 from rtfeldman/joshuawarner32/encapsulate-state
Encapsulate the `bytes` field of State in the parser
2021-12-17 14:42:06 -05:00
Joshua Warner
49818343dd extract state 2021-12-16 17:13:53 -08:00
Joshua Warner
c36b853286 Also assert module formatting is stable 2021-12-16 17:07:05 -08:00
Joshua Warner
0786e554c6 Extract spacing from parse::header::* items into explicit Spaced enum 2021-12-14 19:53:20 -08:00
Joshua Warner
86c8764012 Detangle lifetime annotations for Formattable 2021-12-14 19:52:53 -08:00
Jan Van Bruggen
d03a51c75b Rename base package to pf everywhere, to match tutorial 2021-12-12 05:57:39 -07:00
Joshua Warner
49228c8100 Refactor format_sequence to be a function 2021-12-07 18:53:47 -08:00
Folkert
873ccc5d96 remove incorrect space 2021-12-06 09:45:11 +01:00
Folkert de Vries
8459339230
Merge branch 'trunk' into joshuawarner32/keep-trailing-comments 2021-12-06 09:19:13 +01:00
Joshua Warner
f3ed335a6c Remove unused import 2021-12-05 12:59:15 -08:00
Joshua Warner
e6eb9138f7 Improve TypedIdent spacing in formatting 2021-12-05 12:58:48 -08:00
Joshua Warner
f3dd9e411f Keep trailing comments at the end of a file 2021-12-05 12:19:58 -08:00
Joshua Warner
e3f2f8d9a4 keep indent state in fmt Buf 2021-12-04 18:26:32 -08:00
Joshua Warner
4bbe1d308a rename expect_format_helper and add comment 2021-12-03 19:32:44 -08:00
Joshua Warner
5d3d4467c1 Fix indentation & stability in with formatting 2021-12-03 13:33:25 -08:00
Joshua Warner
270cc49867 Also check formatting is stable in tests; ignore a test that's invalid / incorrect 2021-12-02 17:46:50 -08:00
Richard Feldman
23fda0819f
Merge pull request #2112 from rtfeldman/joshuawarner32/fix-defs-indenting
Fix fmt_spaces indenting in the context of 3 or more newlines
2021-12-01 21:58:58 -05:00
Richard Feldman
ed40a8fc1c
Merge pull request #2114 from rtfeldman/joshuawarner32/fix-det-indentation
Fix indentation within parens
2021-12-01 19:38:07 -05:00
Joshua Warner
6edb376fdd Modify test to make the problem clear 2021-12-01 16:14:27 -08:00
Joshua Warner
c6116ba3ca Fix fmt_spaces indenting in the context of 3 or more newlines 2021-12-01 16:14:27 -08:00
Joshua Warner
8ab7b121eb Use newline in places where it should obviously be used 2021-12-01 16:14:27 -08:00
Folkert de Vries
d37ddeb162
Merge pull request #2113 from rtfeldman/joshuawarner32/fix-indentation-within-parens
Fix formatting of if as an left-hand-side of an operator
2021-12-01 13:38:22 +01:00
Joshua Warner
c0abf86f01 Fix indentation within parens 2021-11-30 17:55:50 -08:00
Joshua Warner
3228a23c98 Fix formatting of if as an left-hand-side of an operator 2021-11-30 17:53:26 -08:00
Joshua Warner
fdeafe4bab Make assert output more understandable 2021-11-30 17:48:24 -08:00
Folkert de Vries
d0da22edfa
Merge pull request #2089 from rtfeldman/joshuawarner32/fix-backpassing-formatting
Fix formatting of applies in backpassing
2021-11-27 15:46:10 +01:00
Joshua Warner
02b51bcd37 Fix formatting of applies in backpassing 2021-11-27 06:15:48 -08:00
Joshua Warner
e9d22699ed Make sure unary operators around function calls get parens 2021-11-26 20:01:45 -08:00
Richard Feldman
74b8076bab
Merge pull request #2081 from rtfeldman/joshuawarner32/private-tag-fmt
Fix formatting of private tags
2021-11-26 18:03:31 -05:00
Richard Feldman
e2e095eb69
Merge pull request #2079 from rtfeldman/joshuawarner32/type-apply-package-name-fmt
Fix formatting in the presence of a pkg name in TypeAnnotation::Apply
2021-11-26 18:02:51 -05:00
Joshua Warner
32a8222a37 Add test for formatting package type in TypeAnnotation::Apply 2021-11-26 13:58:17 -08:00
Joshua Warner
799e340c01 Fix formatting of private tags 2021-11-26 13:50:12 -08:00
Richard Feldman
8d668514e4
Merge pull request #2080 from rtfeldman/joshuawarner32/if-else-fmt
Fix formatting of if/else chains
2021-11-26 15:46:18 -05:00
Joshua Warner
a7e4861956 Fix formatting of if/else chains 2021-11-26 11:03:45 -08:00