Commit graph

612 commits

Author SHA1 Message Date
Agus Zubiaga
979aff8bf7
Explicit builtin import warning
We will now show a warning if a builtin is imported explicitly,
since this is unncessary.

We will not show the warning if they expose functions from the builtin:

	import Dict exposing [isEmpty]

However, we will show a special warning if they expose types from it:

	import Dict exposing [Dict, isEmpty]
2024-04-20 12:35:46 -03:00
Agus Zubiaga
3217e5a3f0
Allow dots in import module names
We found some issues with the private submodules part of the proposal [1],
and we decided to keep module directories for now.

[1] https://docs.google.com/document/d/1E_77fO-44BtoBtXoVeWyGh1xN2KRTWTu8q6i25RNNx0/edit#heading=h.x84bh32l37em
2024-04-20 12:33:02 -03:00
Agus Zubiaga
b56f029a09
Fix unqualified unused import false positive
If we exposed a symbol in an import and used it both unqualified
and qualified, we'd produce an unused warning false positive.

This happened because we were using a single bit flag to determine
whether a value was used qualified or unqualified.
2024-04-20 12:18:52 -03:00
Agus Zubiaga
1f347f6ca1
Fix package module resolution in inline imports
We were still passing `ModuleIds` from `load` to `can`, but now
that imports can appear in any scope, we don't know which package
an unqualified module name belongs to from the top level.

We now pass `PackageModuleIds` instead  and keep a Map of `ModuleName` to
`ModuleId` in `Scope`.

This also allow us to import multiple modules with the same name from different
packages as long as a unique alias is provided.
2024-04-20 12:16:37 -03:00
Agus Zubiaga
842a256907
Implement import aliases
Allows a module to be imported with an alias:

    import JsonDecode as JD

Import aliases must be unique and they cannot have the same name
as an imported module.
2024-04-20 12:07:01 -03:00
Agus Zubiaga
d5a38a26db
Merge branch 'main' into inline-imports 2024-04-20 12:01:11 -03:00
Luke Boswell
c5cba98381
Merge remote-tracking branch 'remote/main' into suffixed-bang 2024-04-16 06:42:31 +10:00
Luke Boswell
f9771a9983
split test_utils 2024-04-15 20:30:34 +10:00
Luke Boswell
0143035dc0
cleanup, improve docs 2024-04-14 13:45:06 +10:00
Luke Boswell
5bb44fcce5
most tests passing 2024-04-14 13:45:05 +10:00
Luke Boswell
8b9e08bd76
WIP try simplification 2024-04-14 13:45:05 +10:00
Luke Boswell
b8ec53738a
fix desugar for suffixed nodes 2024-04-14 13:45:01 +10:00
Luke Boswell
3c3e523b45
add suffixed to Identifer and QualifiedIdentifier 2024-04-14 13:45:00 +10:00
Anton-4
e4e1d7116c
update to basic-cli 0.9.0 2024-04-13 12:28:16 +02:00
Anton-4
62cc19c64b
Merge pull request #6597 from jschear/js/double_hash_is_a_doc_comment
Add spaces to doc comments
2024-04-01 16:20:54 +02:00
Brendan Hansknecht
6dc5bfb1b7
Use roc_target over target_lexicon
Tailors a target class for our needs.
Replaces tons of uses across the entire compiler.
This is a base for later adding new targets like thumb.
2024-03-31 10:50:26 -07:00
Jonathan Schear
61f3de4b8f
Run formatter 2024-03-24 18:33:57 -04:00
Jonathan Schear
f511c061ab
Add blank line to test_load for Docs 2024-03-24 14:34:40 -04:00
Richard Feldman
14ba398b5d
Merge pull request #6569 from faldor20/docs
Add docs to completions and hover
2024-03-16 11:22:58 -04:00
Anton-4
3fadcf7bcb
style changes 2024-03-16 14:41:08 +01:00
Anton-4
121c585681
Merge pull request #6567 from jschear/js/expects_per_module
Run expects separately per module, report test results per module behind `--verbose` flag
2024-03-15 19:15:00 +01:00
Eli Dowling
cc4453b301
remove alias 2024-03-12 06:42:37 +10:00
Eli Dowling
15faf59c6b
removed unneeded imported modules info 2024-03-12 06:42:34 +10:00
Eli Dowling
3027fc2284
working completions 2024-03-12 06:42:22 +10:00
faldor20
be71514435
spelling 2024-03-12 00:26:29 +10:00
faldor20
45d994d7d7
clippy 2024-03-12 00:18:01 +10:00
faldor20
ee264981b6
cleanup getting docs for symbol 2024-03-12 00:13:57 +10:00
faldor20
321baf86d1
moved exposed module filtering into docs 2024-03-12 00:02:19 +10:00
faldor20
899dbdd7ec
cleanup tests and whitespace 2024-03-11 16:25:46 +10:00
faldor20
64c25cf4d5
remove prints 2024-03-11 15:35:36 +10:00
faldor20
3fe3a3439a
cleanup fetching module docs 2024-03-11 15:17:46 +10:00
Eli Dowling
3d80b82973
Delete crates/compiler/load_internal/log.log
Signed-off-by: Eli Dowling <eli.jambu@yahoo.com>
2024-03-11 11:12:07 +10:00
faldor20
f6799cae92
support docs in app, platform and packages 2024-03-11 11:10:36 +10:00
faldor20
0c463555f4
module docs 2024-03-11 11:10:35 +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
faldor20
6d3fd89f8e remove alias 2024-03-11 10:18:58 +10:00
Eli Dowling
a21f987e64 removed unneeded imported modules info 2024-03-11 10:18:58 +10:00
Eli Dowling
e809beb882 working completions 2024-03-11 10:18:58 +10:00
Anton-4
76c47c5d6f
stylistic improvements 2024-03-09 20:47:19 +01:00
Jonathan Schear
504e00d44d
Group toplevel expects by module, run them separately 2024-03-08 14:56:32 -05:00
Anton-4
f620508a37
misc improvements 2024-03-04 17:10:59 +01: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
Richard Feldman
739565e836
Revert "Remove obsolete ListLenUsize"
This reverts commit ad1bca4ac9c40d336522f944df60d61a814435dd.
2024-02-17 13:20:34 -05:00
Richard Feldman
87d4760356
Remove obsolete ListLenUsize 2024-02-17 13:20:34 -05:00
Anton-4
f66711d53e
re-use strip_colors 2024-02-16 16:32:46 +01:00
Richard Feldman
ada83561e5
Split ListLen into ListLenU64 and ListLenUsize
The usize one gets used internally for things like
pattern matches. This is both more efficient (means
they don't have to do unnecessary casts) and also
less error-prone due to e.g. comparing length to
capacity, which is usize.
2024-02-14 21:00:49 -05: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
Anton-4
2b64123dbb
clippy 2024-02-09 19:20:41 +01:00