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
This commit is contained in:
Agus Zubiaga 2024-04-14 07:47:18 -03:00
parent b56f029a09
commit 3217e5a3f0
No known key found for this signature in database
18 changed files with 109 additions and 52 deletions

View file

@ -19,7 +19,9 @@ Defs {
before_name: [],
name: @8-12 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: None,
exposed: None,

View file

@ -37,7 +37,9 @@ Defs {
package: Some(
"json",
),
name: "Decode",
name: ModuleName(
"Decode",
),
},
alias: None,
exposed: None,
@ -50,7 +52,9 @@ Defs {
package: Some(
"json",
),
name: "Decode",
name: ModuleName(
"Decode",
),
},
alias: Some(
KeywordItem {
@ -74,7 +78,9 @@ Defs {
package: Some(
"json",
),
name: "Decode",
name: ModuleName(
"Decode",
),
},
alias: None,
exposed: Some(
@ -108,7 +114,9 @@ Defs {
package: Some(
"json",
),
name: "Decode",
name: ModuleName(
"Decode",
),
},
alias: Some(
KeywordItem {

View file

@ -1,2 +1,2 @@
import JsonEncode as JE
import BytesDecode as BD
import Bytes.Decode as BD

View file

@ -5,7 +5,7 @@ Defs {
],
regions: [
@0-23,
@24-49,
@24-50,
],
space_before: [
Slice(start = 0, length = 0),
@ -25,7 +25,9 @@ Defs {
before_name: [],
name: @7-17 ImportedModuleName {
package: None,
name: "JsonEncode",
name: ModuleName(
"JsonEncode",
),
},
alias: Some(
KeywordItem {
@ -45,9 +47,11 @@ Defs {
ModuleImport(
ModuleImport {
before_name: [],
name: @31-42 ImportedModuleName {
name: @31-43 ImportedModuleName {
package: None,
name: "BytesDecode",
name: ModuleName(
"Bytes.Decode",
),
},
alias: Some(
KeywordItem {
@ -56,7 +60,7 @@ Defs {
item: ImportAsKeyword,
after: [],
},
item: @47-49 ImportAlias(
item: @48-50 ImportAlias(
"BD",
),
},

View file

@ -1,2 +1,2 @@
import JsonEncode as JE
import BytesDecode as BD
import Bytes.Decode as BD

View file

@ -100,7 +100,9 @@ Defs {
],
name: @25-29 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: Some(
KeywordItem {
@ -135,7 +137,9 @@ Defs {
before_name: [],
name: @58-62 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: Some(
KeywordItem {
@ -175,7 +179,9 @@ Defs {
before_name: [],
name: @109-113 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: Some(
KeywordItem {
@ -202,7 +208,9 @@ Defs {
before_name: [],
name: @145-149 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: Some(
KeywordItem {
@ -242,7 +250,9 @@ Defs {
before_name: [],
name: @196-200 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: Some(
KeywordItem {
@ -290,7 +300,9 @@ Defs {
before_name: [],
name: @261-265 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: None,
exposed: Some(
@ -327,7 +339,9 @@ Defs {
before_name: [],
name: @321-325 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: Some(
KeywordItem {
@ -367,7 +381,9 @@ Defs {
before_name: [],
name: @372-376 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: None,
exposed: Some(
@ -396,7 +412,9 @@ Defs {
before_name: [],
name: @418-422 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: Some(
KeywordItem {
@ -436,7 +454,9 @@ Defs {
before_name: [],
name: @469-473 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: Some(
KeywordItem {
@ -489,7 +509,9 @@ Defs {
],
name: @542-546 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: Some(
KeywordItem {
@ -557,7 +579,9 @@ Defs {
before_name: [],
name: @682-683 ImportedModuleName {
package: None,
name: "A",
name: ModuleName(
"A",
),
},
alias: None,
exposed: None,
@ -568,7 +592,9 @@ Defs {
before_name: [],
name: @717-718 ImportedModuleName {
package: None,
name: "B",
name: ModuleName(
"B",
),
},
alias: None,
exposed: None,

View file

@ -30,7 +30,9 @@ Defs {
before_name: [],
name: @7-11 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: None,
exposed: Some(
@ -57,7 +59,9 @@ Defs {
before_name: [],
name: @43-47 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: None,
exposed: Some(
@ -89,7 +93,9 @@ Defs {
before_name: [],
name: @83-87 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: None,
exposed: Some(

View file

@ -6,7 +6,7 @@ Defs(
],
regions: [
@0-26,
@27-50,
@27-51,
],
space_before: [
Slice(start = 0, length = 0),
@ -26,7 +26,9 @@ Defs(
before_name: [],
name: @7-11 ImportedModuleName {
package: None,
name: "Json",
name: ModuleName(
"Json",
),
},
alias: None,
exposed: Some(
@ -48,9 +50,11 @@ Defs(
ModuleImport(
ModuleImport {
before_name: [],
name: @34-44 ImportedModuleName {
name: @34-45 ImportedModuleName {
package: None,
name: "JsonEncode",
name: ModuleName(
"Json.Encode",
),
},
alias: Some(
KeywordItem {
@ -59,7 +63,7 @@ Defs(
item: ImportAsKeyword,
after: [],
},
item: @48-50 ImportAlias(
item: @49-51 ImportAlias(
"JE",
),
},
@ -69,23 +73,23 @@ Defs(
),
],
},
@52-70 SpaceBefore(
@53-71 SpaceBefore(
Apply(
@52-61 Var {
@53-62 Var {
module_name: "JE",
ident: "encode",
suffixed: 0,
},
[
@63-69 ParensAround(
@64-70 ParensAround(
Apply(
@63-66 Var {
@64-67 Var {
module_name: "",
ident: "int",
suffixed: 0,
},
[
@67-69 Num(
@68-70 Num(
"42",
),
],

View file

@ -1,4 +1,4 @@
import Json exposing [int]
import JsonEncode as JE
import Json.Encode as JE
JE.encode (int 42)