forked from I-Language-Development/I-language-rust
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
111 lines (95 loc) · 2.93 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# Note:
# All edits to this file, for example rust version updates, should be committed only on a new release.
# Uncomment line 48, 73 and 74 if you want to check for missing documentation.
[package]
name = "I-Language"
description = "The I programming language is a high level programming language written in rust."
version = "1.0.0-alpha.5"
authors = [
"ElBe-Plaq <[email protected]>",
"MasterOktagon",
"Ranastra"
]
edition = "2021"
rust-version = "1.69"
documentation = "https://i-language.readthedocs.io/"
readme = ".github/README.md"
homepage = "https://i-language-development.github.io/"
repository = "https://github.com/I-Language-Development/I-language-rust/"
license-file = "LICENSE.txt"
keywords = ["i", "i-language", "programming-language", "language", "compiler"]
categories = [
"compilers",
"development-tools",
]
build = "src/build.rs"
[workspace]
members = ["crates/*"]
[workspace.package]
edition = "2021"
rust-version = "1.69"
homepage = "https://i-language-development.github.io/"
repository = "https://github.com/I-Language-Development/I-language-rust/"
license-file = "LICENSE.txt"
keywords = ["i", "i-language", "programming-language", "language"]
publish = false
[workspace.dependencies]
annotate-snippets = "0.10.0"
log = "0.4.20"
thiserror = "1.0.57"
tools = { path = "crates/tools" }
[workspace.lints.rust]
# missing_docs = "warn"
non_snake_case = "allow"
unsafe_code = "deny"
[workspace.lints.clippy]
pedantic = "warn"
restriction = "warn"
# Explicit allows
absolute_paths = "allow"
arithmetic_side_effects = "allow"
blanket_clippy_restriction_lints = "allow"
exhaustive_enums = "allow"
exhaustive_structs = "allow"
expect_used = "allow"
implicit_return = "allow"
inline_always = "allow"
missing_trait_methods = "allow"
mod_module_files = "allow"
must_use_candidate = "allow"
print_stderr = "allow"
print_stdout = "allow"
redundant_type_annotations = "allow"
std_instead_of_core = "allow" # Doesn't work until rust-lang/cargo/12918 is fixed
# [workspace.lints.rustdoc]
# missing_crate_level_docs = "warn"
[dependencies]
# annotate-snippets = { version = "0.10.0", optional = true }
clap = { version = "4.4.11", features = ["derive", "string", "wrap_help"], optional = true }
clap-verbosity-flag = { version = "2.1.1", optional = true }
localizer-rs = { version = "1.2.0", optional = true }
log = { version = "0.4.20", optional = true }
compiler = { path = "crates/compiler" }
grammar = { path = "crates/grammar" }
lexer = { path = "crates/lexer" }
parser = { path = "crates/parser" }
tools = { path = "crates/tools" }
[dev-dependencies]
just = "1.14.0"
[features]
beta = []
cli = ["dep:clap", "dep:clap-verbosity-flag", "dep:log", "tools/cli"]
localization = [
"dep:localizer-rs",
# "compiler/localization",
# "grammar/localization",
# "lexer/localization",
# "parser/localization",
"tools/localization"
]
# Default features
default = ["localization"]
[[bin]]
name = "icomp" # icomp = I Compiler
path = "src/main.rs"
required-features = ["cli"]