Commit graph

120 commits

Author SHA1 Message Date
Anton-4
3fadcf7bcb
style changes 2024-03-16 14:41:08 +01:00
faldor20
45d994d7d7
clippy 2024-03-12 00:18:01 +10:00
faldor20
899dbdd7ec
cleanup tests and whitespace 2024-03-11 16:25:46 +10:00
faldor20
0b56882785
Unannotated types hover 2024-03-11 11:10:35 +10:00
faldor20
cdf218fe7a
first working version of docs hover 2024-03-11 11:10:34 +10:00
Anton-4
b5f68bc020
Merge pull request #6525 from roc-lang/fix_text_contrast
less colors and more contrast in terminal
2024-02-20 15:46:13 +01:00
Anton-4
f66711d53e
re-use strip_colors 2024-02-16 16:32:46 +01:00
Richard Feldman
24a38c4a26
Merge remote-tracking branch 'origin/main' into remove-nat 2024-02-11 12:26:36 -05:00
Anton-4
d08bda6b01
update filenames to new rules 2024-02-09 19:46:39 +01:00
Trevor Settles
cd4adeb9c1
added nicer indentation 2024-02-08 16:37:46 -07:00
Trevor Settles
5f6d259e5d
updated error messages 2024-02-08 15:25:15 -07:00
Trevor Settles
4b4ad47312
added test for no file ext or shebang 2024-02-07 10:18:33 -07:00
Trevor Settles
50c8adbbbb
added test for non roc file 2024-02-06 23:10:18 -07:00
Agus Zubiaga
eb68bf943a
Merge branch 'main' into module-params 2024-01-27 09:36:20 -03:00
Richard Feldman
7e51dfd526
Update test fixtures to not use Nat indices 2024-01-26 16:06:07 -05:00
Richard Feldman
07ddd272e2
Merge pull request #6361 from faldor20/fix-lang-server-hang
Fix hang from bad imports
2024-01-21 22:06:48 -05:00
Agus Zubiaga
002493e32c
Load and can ingested file imports
Moves handling of ingested file imports from load to can, so that they
can be properly introduced in the scope they appear.

Example:

  import "input.txt" as input : Str

  image =
      import "image.png" as bytes : List U8
      # `bytes` is only available under `image`
      decodePng bytes

  ...
2024-01-20 08:43:40 -03:00
Agus Zubiaga
7b3317dbb6
Update unused warnings for inline imports
Now that imports can be limited to smaller scopes than the entire module,
unused import warnings need to work like unused def warnings.

This commit moves unused import warnings discovery and reporting from load
to canonicalization where we can track their usage per scope.

This also fixes a longstanding bug where unused exposed names from an import
were not reported if they were only used in a qualified manner.
2024-01-20 08:43:36 -03:00
Agus Zubiaga
c617963b22
Load and can imports inside defs
After parsing a module, we now recursively traverse the tree to find
all imports inside Defs, not just the top-level ones.

Previously, imported modules were available in the entire file,
but that's no longer the case. Therefore, Scope now keeps track of
imported modules and Env::qualified_lookup checks whether a module
is available in the provided scope.

Note: Unused import warnings are still global and need to be updated.
2024-01-20 08:39:33 -03:00
Agus Zubiaga
710d62f754
Load and can new top-level imports
Previously, all imports were available in the header, so we could start
processing dependencies as soon as we parsed it. However, the new imports
are treated as defs, so we have to parse the whole module to find them.

This commit essentially moves the dependency resolution from the `LoadHeader`
phase to the `Parse` phase, and it updates canonicalization to introduce
module symbols into scope when a `ValueDef::ModuleImport` is encountered.

NOTE:
- The `imports` header still parses, but it's no longer wired up. I will remove
it in an upcoming commit.
- Ingested files and imports that appear in nested expressions are not
yet supported by load
2024-01-20 08:39:31 -03:00
William Barbosa
3882262b70 Fix remaining test cases 2024-01-18 08:15:02 +01:00
faldor20
7de39df63e Just stopping typechecking in interfaces when we have a package import 2024-01-09 06:21:35 +10:00
faldor20
ff7c2cf21b Fixed in interfaces properly 2024-01-07 14:18:32 +10:00
faldor20
d2c3d346ad added test for package 2024-01-07 12:52:31 +10:00
faldor20
f4d71a5485 Finialised error and tested 2024-01-07 12:32:21 +10:00
faldor20
f36befdd4c made nicer error 2024-01-07 11:28:05 +10:00
faldor20
124abc3620 kill process when would hang 2024-01-07 08:26:22 +10:00
Anton-4
1126f85b5a
fix clippy unnecessary hashes 2024-01-01 16:38:36 +01:00
Richard Feldman
dc7e8b43bd
Rename Float to Frac in more places 2023-09-11 08:50:13 -04:00
Richard Feldman
15a6bc34f4
Merge remote-tracking branch 'origin/main' into inspect-builtin 2023-08-14 15:03:27 -04:00
Richard Feldman
545c07157d
Fix a test 2023-08-10 22:33:29 -04:00
Richard Feldman
2da41be29f
Merge remote-tracking branch 'origin/main' into abilities-syntax 2023-08-10 20:36:01 -04:00
Ayaz Hafiz
44c4797d9a
Parameterize program solving on a FunctionKind
This new flag determines whether we should introduce a new kind to
represent lambda sets, or whether lambdas should be erased. The latter
is not yet implemented.
2023-07-12 13:53:50 -05:00
Folkert
ef39bad7c6
auto clippy fixes 2023-07-10 18:27:08 +02:00
Richard Feldman
40f2dd7030
Extract some modules out of file.rs 2023-06-28 22:35:59 -04:00
Bryce Miller
cb08225bf0
| -> where 2023-06-05 20:19:00 -04:00
Bryce Miller
91e37293a2
abilities syntax has -> implements 2023-05-24 21:29:38 -04:00
Brendan Hansknecht
21d063da26
add load tests from ingested files 2023-04-09 14:03:33 -07:00
Ayaz Hafiz
56d14b8b32
Fix load tests 2023-01-16 11:17:59 -06:00
Ayaz Hafiz
3d0a0a4a99
Update more dict/set references 2023-01-14 15:33:54 +01:00
Joshua Warner
0da50a612d
Be more lenient with required indentation in collections
... and also remove a bunch of now-dead errors that can't be triggered.
2023-01-01 17:49:51 -08:00
Richard Feldman
ecf7bea259
Temporarily disable an assertion.
I'm going to go back and revise all this LoadingProblem logic
later, but for now this unblocks things.
2022-12-18 06:19:33 -05:00
Brendan Hansknecht
28835d5bf3
some bug fixes 2022-12-03 13:17:34 -08:00
Richard Feldman
721841fa1f
Provide roc_cache_dir everywhere 2022-11-20 19:53:48 -05:00
Brian Carroll
ed048c7c93
Fix more tests 2022-11-12 09:12:28 +00:00
Ayaz Hafiz
bedb26124d
Update load tests 2022-10-31 09:38:21 -05:00
Ayaz Hafiz
d55dbbf0ae
Update load test to work around constraining bug 2022-10-31 09:37:41 -05:00
Ayaz Hafiz
d77080529a
Introduce polarity for extension variable printing 2022-10-31 09:37:39 -05:00
Ayaz Hafiz
7fa2778ecf
Fix even more load tests 2022-10-12 16:38:37 -05:00
Ayaz Hafiz
ccfb85325d
Update load tests 2022-10-12 16:38:37 -05:00