@devaloop/devalang 0.0.1-beta.2 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +177 -146
- package/out-tsc/api.d.ts +180 -0
- package/out-tsc/api.d.ts.map +1 -0
- package/out-tsc/api.js +286 -0
- package/out-tsc/api.js.map +1 -0
- package/out-tsc/bin/index.d.ts +12 -0
- package/out-tsc/bin/index.d.ts.map +1 -0
- package/out-tsc/bin/index.js +20 -54
- package/out-tsc/bin/index.js.map +1 -0
- package/out-tsc/examples/basic-usage.d.ts +8 -0
- package/out-tsc/examples/basic-usage.d.ts.map +1 -0
- package/out-tsc/examples/basic-usage.js +113 -0
- package/out-tsc/examples/basic-usage.js.map +1 -0
- package/out-tsc/index.d.ts +19 -5
- package/out-tsc/index.d.ts.map +1 -0
- package/out-tsc/index.js +24 -6
- package/out-tsc/index.js.map +1 -0
- package/out-tsc/scripts/copy-wasm-dts.d.ts +7 -0
- package/out-tsc/scripts/copy-wasm-dts.d.ts.map +1 -0
- package/out-tsc/scripts/copy-wasm-dts.js +36 -32
- package/out-tsc/scripts/copy-wasm-dts.js.map +1 -0
- package/out-tsc/scripts/postinstall.d.ts +1 -0
- package/out-tsc/scripts/postinstall.d.ts.map +1 -0
- package/out-tsc/scripts/postinstall.js +4 -1
- package/out-tsc/scripts/postinstall.js.map +1 -0
- package/out-tsc/scripts/version/bump.d.ts +5 -1
- package/out-tsc/scripts/version/bump.d.ts.map +1 -0
- package/out-tsc/scripts/version/bump.js +114 -44
- package/out-tsc/scripts/version/bump.js.map +1 -0
- package/out-tsc/scripts/version/fetch.d.ts +12 -1
- package/out-tsc/scripts/version/fetch.d.ts.map +1 -0
- package/out-tsc/scripts/version/fetch.js +68 -24
- package/out-tsc/scripts/version/fetch.js.map +1 -0
- package/out-tsc/scripts/version/index.d.ts +6 -0
- package/out-tsc/scripts/version/index.d.ts.map +1 -0
- package/out-tsc/scripts/version/index.js +44 -22
- package/out-tsc/scripts/version/index.js.map +1 -0
- package/out-tsc/scripts/version/sync.d.ts +5 -1
- package/out-tsc/scripts/version/sync.d.ts.map +1 -0
- package/out-tsc/scripts/version/sync.js +78 -29
- package/out-tsc/scripts/version/sync.js.map +1 -0
- package/out-tsc/types.d.ts +68 -0
- package/out-tsc/types.d.ts.map +1 -0
- package/out-tsc/{core/types/value.js → types.js} +4 -0
- package/out-tsc/types.js.map +1 -0
- package/out-tsc/wasm.d.ts +8 -0
- package/out-tsc/wasm.d.ts.map +1 -0
- package/out-tsc/{core/index.js → wasm.js} +9 -6
- package/out-tsc/wasm.js.map +1 -0
- package/package.json +50 -37
- package/.cargo/config.toml +0 -2
- package/.devalang +0 -9
- package/.github/workflows/ci.yml +0 -103
- package/Cargo.toml +0 -81
- package/docs/CHANGELOG.md +0 -581
- package/docs/CONTRIBUTING.md +0 -101
- package/docs/ROADMAP.md +0 -38
- package/docs/TODO.md +0 -71
- package/examples/automation.deva +0 -42
- package/examples/bank.deva +0 -7
- package/examples/bus.deva +0 -10
- package/examples/condition.deva +0 -20
- package/examples/duration.deva +0 -9
- package/examples/effect.deva +0 -2
- package/examples/events.deva +0 -12
- package/examples/filter.deva +0 -11
- package/examples/function.deva +0 -15
- package/examples/group.deva +0 -12
- package/examples/index.deva +0 -63
- package/examples/lfo.deva +0 -9
- package/examples/loop.deva +0 -10
- package/examples/pattern.deva +0 -8
- package/examples/plugin.deva +0 -16
- package/examples/samples/hat-808.wav +0 -0
- package/examples/samples/kick-808.wav +0 -0
- package/examples/synth.deva +0 -24
- package/examples/synth_types.deva +0 -17
- package/examples/variables.deva +0 -9
- package/out-tsc/core/functions/index.d.ts +0 -42
- package/out-tsc/core/functions/index.js +0 -87
- package/out-tsc/core/index.d.ts +0 -6
- package/out-tsc/core/types/index.d.ts +0 -4
- package/out-tsc/core/types/index.js +0 -20
- package/out-tsc/core/types/plugin.d.ts +0 -18
- package/out-tsc/core/types/plugin.js +0 -2
- package/out-tsc/core/types/result.d.ts +0 -27
- package/out-tsc/core/types/result.js +0 -2
- package/out-tsc/core/types/statement.d.ts +0 -106
- package/out-tsc/core/types/statement.js +0 -2
- package/out-tsc/core/types/value.d.ts +0 -43
- package/out-tsc/pkg/devalang_core.d.ts +0 -15
- package/out-tsc/pkg/devalang_core.js +0 -65
- package/out-tsc/pkg/devalang_core_bg.wasm.d.ts +0 -34
- package/project-version.json +0 -6
- package/rust/cli/bank/api.rs +0 -122
- package/rust/cli/bank/commands.rs +0 -306
- package/rust/cli/bank/mod.rs +0 -29
- package/rust/cli/build/commands.rs +0 -153
- package/rust/cli/build/mod.rs +0 -2
- package/rust/cli/build/process.rs +0 -165
- package/rust/cli/check/mod.rs +0 -208
- package/rust/cli/discover/commands.rs +0 -253
- package/rust/cli/discover/config.rs +0 -111
- package/rust/cli/discover/fs.rs +0 -19
- package/rust/cli/discover/install.rs +0 -103
- package/rust/cli/discover/metadata.rs +0 -48
- package/rust/cli/discover/mod.rs +0 -5
- package/rust/cli/init/commands.rs +0 -88
- package/rust/cli/init/mod.rs +0 -1
- package/rust/cli/install/addon.rs +0 -118
- package/rust/cli/install/bank.rs +0 -72
- package/rust/cli/install/commands.rs +0 -35
- package/rust/cli/install/mod.rs +0 -4
- package/rust/cli/install/plugin.rs +0 -80
- package/rust/cli/login/commands.rs +0 -124
- package/rust/cli/login/mod.rs +0 -1
- package/rust/cli/mod.rs +0 -12
- package/rust/cli/parser.rs +0 -359
- package/rust/cli/play/commands.rs +0 -375
- package/rust/cli/play/io.rs +0 -17
- package/rust/cli/play/mod.rs +0 -5
- package/rust/cli/play/process.rs +0 -159
- package/rust/cli/play/realtime.rs +0 -91
- package/rust/cli/play/utils.rs +0 -23
- package/rust/cli/telemetry/commands.rs +0 -22
- package/rust/cli/telemetry/event_creator.rs +0 -80
- package/rust/cli/telemetry/mod.rs +0 -3
- package/rust/cli/telemetry/send.rs +0 -51
- package/rust/cli/template/commands.rs +0 -69
- package/rust/cli/template/mod.rs +0 -1
- package/rust/cli/update/commands.rs +0 -6
- package/rust/cli/update/mod.rs +0 -1
- package/rust/config/driver.rs +0 -112
- package/rust/config/mod.rs +0 -3
- package/rust/config/ops.rs +0 -26
- package/rust/config/settings.rs +0 -101
- package/rust/core/audio/engine/driver.rs +0 -220
- package/rust/core/audio/engine/export.rs +0 -169
- package/rust/core/audio/engine/helpers.rs +0 -178
- package/rust/core/audio/engine/mod.rs +0 -56
- package/rust/core/audio/engine/notes/dsp.rs +0 -85
- package/rust/core/audio/engine/notes/mod.rs +0 -44
- package/rust/core/audio/engine/notes/params.rs +0 -294
- package/rust/core/audio/engine/sample/insert.rs +0 -199
- package/rust/core/audio/engine/sample/mod.rs +0 -40
- package/rust/core/audio/engine/sample/padding.rs +0 -170
- package/rust/core/audio/evaluator/condition.rs +0 -61
- package/rust/core/audio/evaluator/mod.rs +0 -9
- package/rust/core/audio/evaluator/numeric.rs +0 -152
- package/rust/core/audio/evaluator/rhs.rs +0 -16
- package/rust/core/audio/evaluator/string_expr.rs +0 -94
- package/rust/core/audio/interpreter/driver.rs +0 -574
- package/rust/core/audio/interpreter/mod.rs +0 -2
- package/rust/core/audio/interpreter/statements/arrow_call/interprete.rs +0 -175
- package/rust/core/audio/interpreter/statements/arrow_call/methods/chord.rs +0 -384
- package/rust/core/audio/interpreter/statements/arrow_call/methods/mod.rs +0 -2
- package/rust/core/audio/interpreter/statements/arrow_call/methods/note.rs +0 -316
- package/rust/core/audio/interpreter/statements/arrow_call/mod.rs +0 -3
- package/rust/core/audio/interpreter/statements/arrow_call/types/arp.rs +0 -192
- package/rust/core/audio/interpreter/statements/arrow_call/types/mod.rs +0 -24
- package/rust/core/audio/interpreter/statements/arrow_call/types/pad.rs +0 -116
- package/rust/core/audio/interpreter/statements/arrow_call/types/pluck.rs +0 -97
- package/rust/core/audio/interpreter/statements/arrow_call/types/sub.rs +0 -100
- package/rust/core/audio/interpreter/statements/automate.rs +0 -16
- package/rust/core/audio/interpreter/statements/call.rs +0 -295
- package/rust/core/audio/interpreter/statements/condition.rs +0 -72
- package/rust/core/audio/interpreter/statements/function.rs +0 -24
- package/rust/core/audio/interpreter/statements/let_.rs +0 -36
- package/rust/core/audio/interpreter/statements/load.rs +0 -17
- package/rust/core/audio/interpreter/statements/loop_.rs +0 -115
- package/rust/core/audio/interpreter/statements/mod.rs +0 -12
- package/rust/core/audio/interpreter/statements/sleep.rs +0 -28
- package/rust/core/audio/interpreter/statements/spawn.rs +0 -253
- package/rust/core/audio/interpreter/statements/tempo.rs +0 -40
- package/rust/core/audio/interpreter/statements/trigger.rs +0 -239
- package/rust/core/audio/loader/mod.rs +0 -1
- package/rust/core/audio/loader/trigger.rs +0 -98
- package/rust/core/audio/mod.rs +0 -6
- package/rust/core/audio/player.rs +0 -70
- package/rust/core/audio/special/easing.rs +0 -189
- package/rust/core/audio/special/env.rs +0 -45
- package/rust/core/audio/special/math.rs +0 -134
- package/rust/core/audio/special/mod.rs +0 -9
- package/rust/core/audio/special/modulator.rs +0 -143
- package/rust/core/builder/mod.rs +0 -129
- package/rust/core/debugger/lexer.rs +0 -27
- package/rust/core/debugger/logs.rs +0 -52
- package/rust/core/debugger/mod.rs +0 -30
- package/rust/core/debugger/preprocessor.rs +0 -27
- package/rust/core/debugger/store.rs +0 -38
- package/rust/core/error/mod.rs +0 -269
- package/rust/core/lexer/driver.rs +0 -59
- package/rust/core/lexer/handler/arrow.rs +0 -82
- package/rust/core/lexer/handler/at.rs +0 -21
- package/rust/core/lexer/handler/brace.rs +0 -41
- package/rust/core/lexer/handler/colon.rs +0 -21
- package/rust/core/lexer/handler/comment.rs +0 -30
- package/rust/core/lexer/handler/dot.rs +0 -21
- package/rust/core/lexer/handler/driver.rs +0 -337
- package/rust/core/lexer/handler/identifier.rs +0 -47
- package/rust/core/lexer/handler/indent.rs +0 -66
- package/rust/core/lexer/handler/mod.rs +0 -15
- package/rust/core/lexer/handler/newline.rs +0 -23
- package/rust/core/lexer/handler/number.rs +0 -31
- package/rust/core/lexer/handler/operator.rs +0 -46
- package/rust/core/lexer/handler/parenthesis.rs +0 -41
- package/rust/core/lexer/handler/slash.rs +0 -21
- package/rust/core/lexer/handler/string.rs +0 -63
- package/rust/core/lexer/mod.rs +0 -3
- package/rust/core/lexer/token.rs +0 -91
- package/rust/core/mod.rs +0 -9
- package/rust/core/parser/driver/block.rs +0 -111
- package/rust/core/parser/driver/cursor.rs +0 -82
- package/rust/core/parser/driver/driver_impl.rs +0 -139
- package/rust/core/parser/driver/mod.rs +0 -6
- package/rust/core/parser/driver/parse_array.rs +0 -120
- package/rust/core/parser/driver/parse_map.rs +0 -223
- package/rust/core/parser/driver/parser.rs +0 -160
- package/rust/core/parser/handler/arrow_call.rs +0 -277
- package/rust/core/parser/handler/at.rs +0 -279
- package/rust/core/parser/handler/bank.rs +0 -104
- package/rust/core/parser/handler/condition.rs +0 -83
- package/rust/core/parser/handler/dot.rs +0 -148
- package/rust/core/parser/handler/identifier/automate.rs +0 -254
- package/rust/core/parser/handler/identifier/call.rs +0 -91
- package/rust/core/parser/handler/identifier/emit.rs +0 -70
- package/rust/core/parser/handler/identifier/function.rs +0 -113
- package/rust/core/parser/handler/identifier/group.rs +0 -89
- package/rust/core/parser/handler/identifier/let_.rs +0 -173
- package/rust/core/parser/handler/identifier/mod.rs +0 -55
- package/rust/core/parser/handler/identifier/on.rs +0 -107
- package/rust/core/parser/handler/identifier/print.rs +0 -49
- package/rust/core/parser/handler/identifier/sleep.rs +0 -96
- package/rust/core/parser/handler/identifier/spawn.rs +0 -91
- package/rust/core/parser/handler/identifier/synth.rs +0 -135
- package/rust/core/parser/handler/loop_.rs +0 -194
- package/rust/core/parser/handler/mod.rs +0 -9
- package/rust/core/parser/handler/pattern.rs +0 -74
- package/rust/core/parser/handler/tempo.rs +0 -105
- package/rust/core/parser/mod.rs +0 -3
- package/rust/core/parser/statement.rs +0 -10
- package/rust/core/plugin/loader.rs +0 -137
- package/rust/core/plugin/mod.rs +0 -2
- package/rust/core/plugin/runner/mod.rs +0 -11
- package/rust/core/plugin/runner/non_wasm.rs +0 -297
- package/rust/core/plugin/runner/wasm32.rs +0 -43
- package/rust/core/preprocessor/loader/inject.rs +0 -278
- package/rust/core/preprocessor/loader/loader_helpers.rs +0 -110
- package/rust/core/preprocessor/loader/mod.rs +0 -235
- package/rust/core/preprocessor/mod.rs +0 -4
- package/rust/core/preprocessor/module.rs +0 -55
- package/rust/core/preprocessor/processor/handlers.rs +0 -107
- package/rust/core/preprocessor/processor/mod.rs +0 -1
- package/rust/core/preprocessor/resolver/bank.rs +0 -49
- package/rust/core/preprocessor/resolver/call.rs +0 -124
- package/rust/core/preprocessor/resolver/condition.rs +0 -95
- package/rust/core/preprocessor/resolver/driver.rs +0 -324
- package/rust/core/preprocessor/resolver/function.rs +0 -69
- package/rust/core/preprocessor/resolver/group.rs +0 -122
- package/rust/core/preprocessor/resolver/let_.rs +0 -32
- package/rust/core/preprocessor/resolver/loop_.rs +0 -318
- package/rust/core/preprocessor/resolver/mod.rs +0 -16
- package/rust/core/preprocessor/resolver/pattern.rs +0 -83
- package/rust/core/preprocessor/resolver/spawn.rs +0 -99
- package/rust/core/preprocessor/resolver/synth.rs +0 -54
- package/rust/core/preprocessor/resolver/tempo.rs +0 -48
- package/rust/core/preprocessor/resolver/trigger.rs +0 -116
- package/rust/core/preprocessor/resolver/value.rs +0 -176
- package/rust/core/store/global.rs +0 -57
- package/rust/core/store/mod.rs +0 -1
- package/rust/lib.rs +0 -323
- package/rust/main.rs +0 -388
- package/rust/types/Cargo.toml +0 -11
- package/rust/types/src/addons.rs +0 -55
- package/rust/types/src/ast.rs +0 -202
- package/rust/types/src/config.rs +0 -84
- package/rust/types/src/lib.rs +0 -15
- package/rust/types/src/plugin.rs +0 -20
- package/rust/types/src/store.rs +0 -139
- package/rust/types/src/telemetry.rs +0 -85
- package/rust/utils/Cargo.toml +0 -26
- package/rust/utils/src/error.rs +0 -186
- package/rust/utils/src/file.rs +0 -94
- package/rust/utils/src/first_usage.rs +0 -97
- package/rust/utils/src/lib.rs +0 -9
- package/rust/utils/src/logger.rs +0 -200
- package/rust/utils/src/path.rs +0 -129
- package/rust/utils/src/signature.rs +0 -41
- package/rust/utils/src/spinner.rs +0 -20
- package/rust/utils/src/version.rs +0 -27
- package/rust/utils/src/watcher.rs +0 -46
- package/rust/web/api.rs +0 -5
- package/rust/web/cdn.rs +0 -34
- package/rust/web/mod.rs +0 -3
- package/rust/web/sso.rs +0 -5
- package/templates/minimal/.devalang +0 -5
- package/templates/minimal/README.md +0 -218
- package/templates/minimal/src/index.deva +0 -2
- package/templates/welcome/.devalang +0 -5
- package/templates/welcome/README.md +0 -218
- package/templates/welcome/samples/kick-808.wav +0 -0
- package/templates/welcome/src/index.deva +0 -61
- package/templates/welcome/src/variables.deva +0 -3
- package/tests/integration.rs +0 -21
- package/tests/rust/cli_check_build.rs +0 -21
- package/tests/rust/cli_help.rs +0 -12
- package/tests/rust/cli_template_list.rs +0 -10
- package/tests/rust/cli_version.rs +0 -11
- package/tests/typescript/index.spec.ts +0 -136
- package/tests/typescript/playhead.spec.ts +0 -36
- package/tests/typescript/render_e2e.spec.ts +0 -77
- package/tsconfig.json +0 -115
- package/typescript/bin/index.ts +0 -28
- package/typescript/core/functions/index.ts +0 -94
- package/typescript/core/index.ts +0 -6
- package/typescript/core/types/index.ts +0 -4
- package/typescript/core/types/plugin.ts +0 -19
- package/typescript/core/types/result.ts +0 -29
- package/typescript/core/types/statement.ts +0 -47
- package/typescript/core/types/value.ts +0 -29
- package/typescript/index.ts +0 -8
- package/typescript/pkg/devalang_core.d.ts +0 -4
- package/typescript/pkg/devalang_core.ts +0 -65
- package/typescript/scripts/copy-wasm-dts.ts +0 -41
- package/typescript/scripts/postinstall.ts +0 -85
- package/typescript/scripts/version/bump.ts +0 -44
- package/typescript/scripts/version/fetch.ts +0 -18
- package/typescript/scripts/version/index.ts +0 -25
- package/typescript/scripts/version/sync.ts +0 -24
package/rust/cli/parser.rs
DELETED
|
@@ -1,359 +0,0 @@
|
|
|
1
|
-
use clap::{Parser, Subcommand, ValueEnum};
|
|
2
|
-
|
|
3
|
-
#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, ValueEnum, Debug)]
|
|
4
|
-
pub enum OutputFormat {
|
|
5
|
-
Wav,
|
|
6
|
-
Mid,
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, ValueEnum, Debug)]
|
|
10
|
-
pub enum AudioFormat {
|
|
11
|
-
Wav16,
|
|
12
|
-
Wav24,
|
|
13
|
-
Wav32,
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
#[derive(Parser)]
|
|
17
|
-
#[command(name = "devalang")]
|
|
18
|
-
#[command(author = "Devaloop")]
|
|
19
|
-
#[command(about = "🦊 Devalang – A programming language for music and sound.")]
|
|
20
|
-
pub struct Cli {
|
|
21
|
-
#[arg(long, global = true)]
|
|
22
|
-
/// Skips loading the configuration file.
|
|
23
|
-
pub no_config: bool,
|
|
24
|
-
|
|
25
|
-
#[command(subcommand)]
|
|
26
|
-
pub command: Commands,
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
#[derive(Subcommand)]
|
|
30
|
-
pub enum TelemetryCommand {
|
|
31
|
-
/// Enables telemetry data collection.
|
|
32
|
-
Enable {},
|
|
33
|
-
/// Disables telemetry data collection.
|
|
34
|
-
Disable {},
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
#[derive(Subcommand)]
|
|
38
|
-
pub enum InstallCommand {
|
|
39
|
-
/// Installs a template.
|
|
40
|
-
Template { name: String },
|
|
41
|
-
/// Installs a bank.
|
|
42
|
-
Bank { name: String },
|
|
43
|
-
/// Installs a plugin.
|
|
44
|
-
Plugin { name: String },
|
|
45
|
-
/// Installs a preset.
|
|
46
|
-
Preset { name: String },
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
#[derive(Subcommand)]
|
|
50
|
-
pub enum TemplateCommand {
|
|
51
|
-
/// Lists all available templates for Devalang projects.
|
|
52
|
-
List,
|
|
53
|
-
/// Displays information about a specific template.
|
|
54
|
-
Info { name: String },
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
#[derive(Subcommand)]
|
|
58
|
-
pub enum BankCommand {
|
|
59
|
-
/// Lists installed banks.
|
|
60
|
-
List,
|
|
61
|
-
/// Lists all available banks.
|
|
62
|
-
Available,
|
|
63
|
-
/// Displays information about a specific bank.
|
|
64
|
-
Info { name: String },
|
|
65
|
-
/// Removes a bank.
|
|
66
|
-
Remove { name: String },
|
|
67
|
-
/// Updates a specific or all banks.
|
|
68
|
-
Update { name: Option<String> },
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
#[derive(Subcommand)]
|
|
72
|
-
pub enum Commands {
|
|
73
|
-
/// Create a new Devalang project.
|
|
74
|
-
///
|
|
75
|
-
/// ### Arguments
|
|
76
|
-
/// - `name` - The name of the project to create.
|
|
77
|
-
/// - `template` - The template to use for the project. Defaults to "default".
|
|
78
|
-
///
|
|
79
|
-
/// ### Example
|
|
80
|
-
/// ```bash
|
|
81
|
-
/// devalang init --name my_project --template default
|
|
82
|
-
///
|
|
83
|
-
Init {
|
|
84
|
-
#[arg(short, long)]
|
|
85
|
-
/// The optional name (directory) of the project to create.
|
|
86
|
-
name: Option<String>,
|
|
87
|
-
|
|
88
|
-
#[arg(short, long)]
|
|
89
|
-
/// The template to use for the project.
|
|
90
|
-
///
|
|
91
|
-
/// ### Default value
|
|
92
|
-
/// - `default`
|
|
93
|
-
///
|
|
94
|
-
template: Option<String>,
|
|
95
|
-
},
|
|
96
|
-
|
|
97
|
-
/// Manage templates for Devalang projects.
|
|
98
|
-
///
|
|
99
|
-
/// ### Subcommands
|
|
100
|
-
/// - `list` - Lists all available templates.
|
|
101
|
-
/// - `info <name>` - Displays information about a specific template.
|
|
102
|
-
///
|
|
103
|
-
/// ### Example
|
|
104
|
-
/// ```bash
|
|
105
|
-
/// devalang template list
|
|
106
|
-
/// devalang template info my_template
|
|
107
|
-
/// ```bash
|
|
108
|
-
///
|
|
109
|
-
Template {
|
|
110
|
-
#[command(subcommand)]
|
|
111
|
-
/// The template command to execute.
|
|
112
|
-
command: TemplateCommand,
|
|
113
|
-
},
|
|
114
|
-
|
|
115
|
-
/// Build the program and generate output files.
|
|
116
|
-
///
|
|
117
|
-
/// ### Arguments
|
|
118
|
-
/// - `entry` - The entry point of the program to build. Defaults to "./src".
|
|
119
|
-
/// - `output` - The directory where the output files will be generated. Defaults to "./output".
|
|
120
|
-
/// - `watch` - Whether to watch for changes and rebuild. Defaults to "true".
|
|
121
|
-
/// - `debug` - Whether to print debug information. Defaults to "false".
|
|
122
|
-
/// - `compress` - Whether to compress the output files. Defaults to "false".
|
|
123
|
-
///
|
|
124
|
-
/// ### Example
|
|
125
|
-
/// ```bash
|
|
126
|
-
/// devalang build --entry ./src --output ./output --watch true --debug false --compress false
|
|
127
|
-
/// ```
|
|
128
|
-
///
|
|
129
|
-
Build {
|
|
130
|
-
#[arg(short, long)]
|
|
131
|
-
/// The entry point of the program to build.
|
|
132
|
-
///
|
|
133
|
-
entry: Option<String>,
|
|
134
|
-
|
|
135
|
-
#[arg(short, long)]
|
|
136
|
-
/// The directory where the output files will be generated.
|
|
137
|
-
///
|
|
138
|
-
output: Option<String>,
|
|
139
|
-
|
|
140
|
-
#[arg(long, value_enum, value_delimiter = ',', default_value = "wav,mid")]
|
|
141
|
-
/// Which output formats to generate. Comma-separated list is accepted.
|
|
142
|
-
///
|
|
143
|
-
/// ### Default value
|
|
144
|
-
/// - `wav,mid`
|
|
145
|
-
///
|
|
146
|
-
output_format: Vec<OutputFormat>,
|
|
147
|
-
|
|
148
|
-
#[arg(long, default_value = "wav16")]
|
|
149
|
-
/// Audio format to use for file outputs (affects WAV export).
|
|
150
|
-
///
|
|
151
|
-
/// ### Default value
|
|
152
|
-
/// - `wav16`
|
|
153
|
-
///
|
|
154
|
-
audio_format: AudioFormat,
|
|
155
|
-
|
|
156
|
-
#[arg(long, default_value_t = 44100u32)]
|
|
157
|
-
/// Sample rate to use for audio export and playback (e.g. 44100, 48000)
|
|
158
|
-
sample_rate: u32,
|
|
159
|
-
|
|
160
|
-
#[arg(long, default_value_t = false)]
|
|
161
|
-
/// Whether to watch for changes and rebuild.
|
|
162
|
-
///
|
|
163
|
-
/// ### Default value
|
|
164
|
-
/// - `false`
|
|
165
|
-
///
|
|
166
|
-
watch: bool,
|
|
167
|
-
|
|
168
|
-
#[arg(short, long, default_value_t = false)]
|
|
169
|
-
/// Whether to print debug information.
|
|
170
|
-
///
|
|
171
|
-
/// ### Default value
|
|
172
|
-
/// - `false`
|
|
173
|
-
///
|
|
174
|
-
debug: bool,
|
|
175
|
-
|
|
176
|
-
#[arg(short, long, default_value_t = false)]
|
|
177
|
-
/// Whether to compress the output files.
|
|
178
|
-
///
|
|
179
|
-
/// ### Default value
|
|
180
|
-
/// - `false`
|
|
181
|
-
///
|
|
182
|
-
compress: bool,
|
|
183
|
-
},
|
|
184
|
-
|
|
185
|
-
/// Analyze the program for errors and warnings.
|
|
186
|
-
///
|
|
187
|
-
/// ### Arguments
|
|
188
|
-
/// - `entry` - The entry point of the program to analyze. Defaults to "./src".
|
|
189
|
-
/// - `output` - The directory where the output files will be generated. Defaults to "./output".
|
|
190
|
-
/// - `watch` - Whether to watch for changes and re-analyze. Defaults to "true".
|
|
191
|
-
/// - `debug` - Whether to print debug information. Defaults to "false".
|
|
192
|
-
///
|
|
193
|
-
/// ### Example
|
|
194
|
-
/// ```bash
|
|
195
|
-
/// devalang check --entry ./src --output ./output --watch true --debug false
|
|
196
|
-
/// ```
|
|
197
|
-
///
|
|
198
|
-
Check {
|
|
199
|
-
#[arg(short, long)]
|
|
200
|
-
/// The entry point of the program to analyze.
|
|
201
|
-
entry: Option<String>,
|
|
202
|
-
|
|
203
|
-
#[arg(short, long)]
|
|
204
|
-
/// The directory where the output files will be generated.
|
|
205
|
-
output: Option<String>,
|
|
206
|
-
|
|
207
|
-
#[arg(long, default_value_t = false)]
|
|
208
|
-
/// Whether to watch for changes and re-analyze.
|
|
209
|
-
///
|
|
210
|
-
/// ### Default value
|
|
211
|
-
/// - `false`
|
|
212
|
-
///
|
|
213
|
-
watch: bool,
|
|
214
|
-
|
|
215
|
-
#[arg(short, long, default_value_t = false)]
|
|
216
|
-
/// Whether to print debug information.
|
|
217
|
-
///
|
|
218
|
-
/// ### Default value
|
|
219
|
-
/// - `false`
|
|
220
|
-
///
|
|
221
|
-
debug: bool,
|
|
222
|
-
},
|
|
223
|
-
|
|
224
|
-
/// Play the program and generate output files.
|
|
225
|
-
///
|
|
226
|
-
/// ### Arguments
|
|
227
|
-
/// - `entry` - The entry point of the program to play. Defaults to "./src".
|
|
228
|
-
/// - `output` - The directory where the output files will be generated. Defaults to "./output".
|
|
229
|
-
/// - `watch` - Whether to watch for changes and re-play. Defaults to "false".
|
|
230
|
-
/// - `repeat` - Whether to replay the program after it finishes. Defaults to "false".
|
|
231
|
-
/// - `debug` - Whether to print debug information. Defaults to "false".
|
|
232
|
-
///
|
|
233
|
-
/// Note: `--repeat` and `--watch` cannot be used together. Instead use `repeat` to watch for changes and replay the program.
|
|
234
|
-
///
|
|
235
|
-
/// ### Example
|
|
236
|
-
/// ```bash
|
|
237
|
-
/// devalang play --entry ./src --output ./output --repeat true --debug false
|
|
238
|
-
/// ```
|
|
239
|
-
///
|
|
240
|
-
Play {
|
|
241
|
-
#[arg(short, long)]
|
|
242
|
-
/// The entry point of the program to play.
|
|
243
|
-
entry: Option<String>,
|
|
244
|
-
|
|
245
|
-
#[arg(short, long)]
|
|
246
|
-
/// The directory where the output files will be generated.
|
|
247
|
-
output: Option<String>,
|
|
248
|
-
|
|
249
|
-
#[arg(long, default_value_t = 44100u32)]
|
|
250
|
-
/// Sample rate to use for playback (e.g. 44100, 48000)
|
|
251
|
-
sample_rate: u32,
|
|
252
|
-
|
|
253
|
-
#[arg(long, default_value = "wav16")]
|
|
254
|
-
/// Audio format to use for file outputs (affects WAV export).
|
|
255
|
-
///
|
|
256
|
-
/// ### Default value
|
|
257
|
-
/// - `wav16`
|
|
258
|
-
///
|
|
259
|
-
audio_format: AudioFormat,
|
|
260
|
-
|
|
261
|
-
#[arg(long, default_value_t = false)]
|
|
262
|
-
/// Whether to watch for changes and re-play.
|
|
263
|
-
///
|
|
264
|
-
/// ### Default value
|
|
265
|
-
/// - `false`
|
|
266
|
-
///
|
|
267
|
-
watch: bool,
|
|
268
|
-
|
|
269
|
-
#[arg(long, default_value_t = false)]
|
|
270
|
-
/// Whether to replay the program after it finishes.
|
|
271
|
-
///
|
|
272
|
-
/// ### Default value
|
|
273
|
-
/// - `false`
|
|
274
|
-
///
|
|
275
|
-
repeat: bool,
|
|
276
|
-
|
|
277
|
-
#[arg(short, long, default_value_t = false)]
|
|
278
|
-
/// Whether to print debug information.
|
|
279
|
-
///
|
|
280
|
-
/// ### Default value
|
|
281
|
-
/// - `false`
|
|
282
|
-
///
|
|
283
|
-
debug: bool,
|
|
284
|
-
},
|
|
285
|
-
|
|
286
|
-
/// Update the Devalang CLI to the latest version.
|
|
287
|
-
///
|
|
288
|
-
/// ### Arguments
|
|
289
|
-
/// - `only` - Selects what to update (separated by commas). Defaults to updating all components.
|
|
290
|
-
///
|
|
291
|
-
Update {
|
|
292
|
-
// #[arg(long, default_value_t = false)]
|
|
293
|
-
/// Whether to allow updates when the working directory is dirty.
|
|
294
|
-
// allow_dirty: bool,
|
|
295
|
-
|
|
296
|
-
#[arg(long, default_value = "")]
|
|
297
|
-
/// Selects what to update (separated by commas).
|
|
298
|
-
only: Option<String>,
|
|
299
|
-
},
|
|
300
|
-
|
|
301
|
-
/// Install templates, banks, or plugins.
|
|
302
|
-
///
|
|
303
|
-
/// ### Subcommands
|
|
304
|
-
/// - `template` - Installs a template.
|
|
305
|
-
/// - `bank` - Installs a bank.
|
|
306
|
-
/// - `plugin` - Installs a plugin.
|
|
307
|
-
/// - `preset` - Installs a preset.
|
|
308
|
-
///
|
|
309
|
-
Install {
|
|
310
|
-
#[command(subcommand)]
|
|
311
|
-
command: InstallCommand,
|
|
312
|
-
},
|
|
313
|
-
|
|
314
|
-
/// Discover available local addons for Devalang.
|
|
315
|
-
///
|
|
316
|
-
Discover {},
|
|
317
|
-
|
|
318
|
-
/// Manage banks for Devalang projects.
|
|
319
|
-
///
|
|
320
|
-
/// ### Subcommands
|
|
321
|
-
/// - `list` - Lists all available banks.
|
|
322
|
-
/// - `info <name>` - Displays information about a specific bank.
|
|
323
|
-
///
|
|
324
|
-
Bank {
|
|
325
|
-
#[command(subcommand)]
|
|
326
|
-
command: BankCommand,
|
|
327
|
-
},
|
|
328
|
-
|
|
329
|
-
/// Telemetry settings for Devalang.
|
|
330
|
-
///
|
|
331
|
-
/// ### Subcommands
|
|
332
|
-
/// - `enable` - Enables telemetry data collection.
|
|
333
|
-
/// - `disable` - Disables telemetry data collection.
|
|
334
|
-
///
|
|
335
|
-
Telemetry {
|
|
336
|
-
#[command(subcommand)]
|
|
337
|
-
command: TelemetryCommand,
|
|
338
|
-
},
|
|
339
|
-
|
|
340
|
-
/// Generate addon scaffolding for Devalang.
|
|
341
|
-
///
|
|
342
|
-
/// ### Subcommands
|
|
343
|
-
/// - `bank` - Generates a bank scaffold.
|
|
344
|
-
/// - `plugin` - Generates a plugin scaffold.
|
|
345
|
-
/// - `preset` - Generates a preset scaffold.
|
|
346
|
-
///
|
|
347
|
-
// Scaffold {
|
|
348
|
-
// #[command(subcommand)]
|
|
349
|
-
// command: ScaffoldCommand,
|
|
350
|
-
// },
|
|
351
|
-
|
|
352
|
-
/// Log in to your Devaloop account.
|
|
353
|
-
///
|
|
354
|
-
Login {},
|
|
355
|
-
|
|
356
|
-
/// Log out of your Devaloop account.
|
|
357
|
-
///
|
|
358
|
-
Logout {},
|
|
359
|
-
}
|