Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .vscode/cli.code-snippets
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"import \"package:discloud/cli/disposable.dart\";",
"import \"package:discloud/extensions/command.dart\";",
"",
"class ${1:${TM_FILENAME_BASE/(^\\w+)/${1:/pascalcase}/}}Command extends Command<void> with Disposable {",
"final class ${1:${TM_FILENAME_BASE/(^\\w+)/${1:/pascalcase}/}}Command extends Command<void> with Disposable {",
"\t${1:${TM_FILENAME_BASE/(^\\w+)/${1:/pascalcase}/}}Command() {$4}",
"",
"\t@override",
Expand Down
5 changes: 3 additions & 2 deletions docs/commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -561,8 +561,9 @@ Usage: discloud user info [arguments]
Set your locale

Usage: discloud user locale [arguments]
-h, --help Print this usage information.
-l, --locale=<en-US> (mandatory)
-h, --help Print this usage information.
-l, --locale=<en-US>
-s, --system Use current system language (C.UTF-8)
```

### zip
Expand Down
6 changes: 4 additions & 2 deletions lib/cli/context.dart
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ class CliContext implements Disposable {
required this.printer,
required this.store,
required this.subscriptions,
required Stopwatch stopwatch,
}) : _stopwatch = stopwatch;
required this._stopwatch,
});

final List<Disposable> subscriptions;

Expand All @@ -64,6 +64,8 @@ class CliContext implements Disposable {
final LocalStore store;
final IPrinter<CLISpin> printer;

String get locale => Platform.localeName;

Directory get workspaceFolder => _workspaceFolder;

String get rootFilePath => _rootFilePath;
Expand Down
20 changes: 4 additions & 16 deletions lib/cli/printer/console_printer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -36,37 +36,25 @@ class ConsolePrinter implements IPrinter<CLISpin> {

@override
void error(Object? object) {
if (_spin case final spin?) {
spin.fail(object.toString());
return;
}
if (_spin case final spin?) return spin.fail(object.toString());
stderr.writeln(object);
}

@override
void info(Object? object) {
if (_spin case final spin?) {
spin.info(object.toString());
return;
}
if (_spin case final spin?) return spin.info(object.toString());
writeln(object);
}

@override
void success(Object? object) {
if (_spin case final spin?) {
spin.success(object.toString());
return;
}
if (_spin case final spin?) return spin.success(object.toString());
writeln(object);
}

@override
void warn(Object? object) {
if (_spin case final spin?) {
spin.warn(object.toString());
return;
}
if (_spin case final spin?) return spin.warn(object.toString());
writeln(object);
}

Expand Down
1 change: 1 addition & 0 deletions lib/cli/runner.dart
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ class CliCommandRunner extends CommandRunner<void> {
addCommand(InitCommand());
addCommand(LoginCommand());
addCommand(SubdomainCommand());
addCommand(SystemCommand());
addCommand(TeamCommand());
addCommand(UserCommand());
addCommand(WaitCommand());
Expand Down
4 changes: 1 addition & 3 deletions lib/cli/spin/cli_spin.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,11 @@ import "package:tint/tint.dart";

part "timer_cli_spin.dart";

const _defaultTimerInterval = 100;

void _noop() {}

class CLISpin implements ISpin {
factory CLISpin({String? text, bool showDuration = false}) =>
showDuration ? _TimerCliSpin._(text: text) : ._(.new(text: text));
showDuration ? _TimerCLISpin._(text: text) : ._(.new(text: text));

const CLISpin._(this._spin);

Expand Down
15 changes: 5 additions & 10 deletions lib/cli/spin/timer_cli_spin.dart
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
part of "cli_spin.dart";

class _TimerCliSpin extends CLISpin {
class _TimerCLISpin extends CLISpin {
static String? _resolveSuffixText(Stopwatch stopwatch) {
if (stopwatch.isRunning) return stopwatch.elapsed.pretty().dim();
return null;
}

_TimerCliSpin._({String? text})
_TimerCLISpin._({String? text})
: _stopwatch = .new()..start(),
_timer = .new(.zero, _noop),
super._(.new(text: text)) {
_interval = _spin.spinner?.interval ?? _defaultTimerInterval;
_timerInterval = .new(milliseconds: _interval);
_timerDuration = .new(milliseconds: _spin.interval);
}

final Stopwatch _stopwatch;

Timer _timer;
late final int _interval;
late final Duration _timerInterval;
late final Duration _timerDuration;

void _setSuffixTextAndStopTimers() {
_timer.cancel();
Expand All @@ -40,14 +38,13 @@ class _TimerCliSpin extends CLISpin {
void info([String? text]) {
_setSuffixTextAndStopTimers();
super.info(text);
_stopwatch.stop();
}

@override
void start([String? text]) {
_stopwatch.resetAndStart();
_timer.cancel();
_timer = .periodic(_timerInterval, _timerCallback);
_timer = .periodic(_timerDuration, _timerCallback);
super.start(text);
}

Expand All @@ -69,13 +66,11 @@ class _TimerCliSpin extends CLISpin {
void success([String? text]) {
_setSuffixTextAndStopTimers();
super.success(text);
_stopwatch.stop();
}

@override
void warn([String? text]) {
_setSuffixTextAndStopTimers();
super.warn(text);
_stopwatch.stop();
}
}
2 changes: 1 addition & 1 deletion lib/commands/app.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import "package:discloud/commands/app/status.dart";
import "package:discloud/commands/app/stop.dart";
import "package:discloud/commands/app/upload.dart";

class AppCommand extends Command<void> {
final class AppCommand extends Command<void> {
AppCommand() {
addSubcommand(AppAptCommand());
addSubcommand(AppBackupCommand());
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/apt.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import "package:args/command_runner.dart";
import "package:discloud/commands/app/apt/install.dart";
import "package:discloud/commands/app/apt/uninstall.dart";

class AppAptCommand extends Command<void> {
final class AppAptCommand extends Command<void> {
AppAptCommand() {
addSubcommand(AppAptInstallCommand());
addSubcommand(AppAptUninstallCommand());
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/apt/install.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import "package:discloud/extensions/command.dart";
import "package:discloud/services/discloud/constants.dart";
import "package:discloud/utils/messages.dart";

class AppAptInstallCommand extends Command<void> {
final class AppAptInstallCommand extends Command<void> {
AppAptInstallCommand() {
argParser
..addOption("app", mandatory: true)
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/apt/uninstall.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import "package:discloud/extensions/command.dart";
import "package:discloud/services/discloud/constants.dart";
import "package:discloud/utils/messages.dart";

class AppAptUninstallCommand extends Command<void> {
final class AppAptUninstallCommand extends Command<void> {
AppAptUninstallCommand() {
argParser
..addOption("app", mandatory: true)
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/backup.dart
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import "package:discloud/utils/speed_monitor.dart";

const _pSep = "/";

class AppBackupCommand extends Command<void> with Disposable {
final class AppBackupCommand extends Command<void> with Disposable {
AppBackupCommand() {
argParser
..addOption("app", mandatory: true, valueHelp: "all")
Expand Down
3 changes: 2 additions & 1 deletion lib/commands/app/commit.dart
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import "package:discloud/utils/zip.dart";
import "package:discloud_config/discloud_config.dart";
import "package:path/path.dart" hide context;

class AppCommitCommand extends Command<void> with Disposable {
final class AppCommitCommand extends Command<void> with Disposable {
AppCommitCommand() {
argParser
..addOption(
Expand Down Expand Up @@ -82,6 +82,7 @@ class AppCommitCommand extends Command<void> with Disposable {
);
},
onUploadDone: () {
_file = null;
spinner.start("Processing...");
},
);
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/console.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import "package:discloud/services/discloud/exception.dart";
import "package:discloud/utils/messages.dart";
import "package:tint/tint.dart";

class AppConsoleCommand extends Command<void> {
final class AppConsoleCommand extends Command<void> {
AppConsoleCommand() {
argParser
..addOption("app", mandatory: true)
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/delete.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import "package:discloud/extensions/command.dart";
import "package:discloud/utils/messages.dart";
import "package:interact/interact.dart";

class AppDeleteCommand extends Command<void> {
final class AppDeleteCommand extends Command<void> {
AppDeleteCommand() {
argParser
..addFlag(
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/info.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const _keysIgnore = {
"type",
};

class AppInfoCommand extends Command<void> {
final class AppInfoCommand extends Command<void> {
AppInfoCommand() {
argParser.addOption("app", defaultsTo: "all");
}
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/logs.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import "package:discloud/extensions/command.dart";
import "package:discloud/utils/messages.dart";
import "package:path/path.dart" hide context;

class AppLogsCommand extends Command<void> {
final class AppLogsCommand extends Command<void> {
AppLogsCommand() {
argParser
..addOption(
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/mod.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import "package:discloud/commands/app/mod/delete.dart";
import "package:discloud/commands/app/mod/edit.dart";
import "package:discloud/commands/app/mod/info.dart";

class AppModCommand extends Command<void> {
final class AppModCommand extends Command<void> {
AppModCommand() {
addSubcommand(AppModAddCommand());
addSubcommand(AppModDeleteCommand());
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/mod/add.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import "package:discloud/extensions/command.dart";
import "package:discloud/services/discloud/constants.dart";
import "package:discloud/utils/messages.dart";

class AppModAddCommand extends Command<void> {
final class AppModAddCommand extends Command<void> {
AppModAddCommand() {
argParser
..addOption("app", mandatory: true)
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/mod/delete.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import "package:args/command_runner.dart";
import "package:discloud/extensions/command.dart";
import "package:discloud/utils/messages.dart";

class AppModDeleteCommand extends Command<void> {
final class AppModDeleteCommand extends Command<void> {
AppModDeleteCommand() {
argParser
..addOption("app", mandatory: true)
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/mod/edit.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import "package:discloud/extensions/command.dart";
import "package:discloud/services/discloud/constants.dart";
import "package:discloud/utils/messages.dart";

class AppModEditCommand extends Command<void> {
final class AppModEditCommand extends Command<void> {
AppModEditCommand() {
argParser
..addOption("app", mandatory: true)
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/mod/info.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import "package:discloud/extensions/command.dart";
import "package:discloud/utils/ascii_table.dart";
import "package:discloud/utils/messages.dart";

class AppModInfoCommand extends Command<void> {
final class AppModInfoCommand extends Command<void> {
AppModInfoCommand() {
argParser.addOption("app", mandatory: true);
}
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/profile.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import "package:args/command_runner.dart";
import "package:discloud/extensions/command.dart";
import "package:discloud/utils/messages.dart";

class AppProfileCommand extends Command<void> {
final class AppProfileCommand extends Command<void> {
AppProfileCommand() {
argParser
..addOption("app", mandatory: true)
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/ram.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import "package:discloud/extensions/command.dart";
import "package:discloud/utils/messages.dart";
import "package:discloud_config/discloud_config.dart";

class AppRamCommand extends Command<void> {
final class AppRamCommand extends Command<void> {
AppRamCommand() {
argParser
..addOption("app", mandatory: true)
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/restart.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import "package:args/command_runner.dart";
import "package:discloud/extensions/command.dart";
import "package:discloud/utils/messages.dart";

class AppRestartCommand extends Command<void> {
final class AppRestartCommand extends Command<void> {
AppRestartCommand() {
argParser.addOption("app", valueHelp: "all");
}
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/start.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import "package:args/command_runner.dart";
import "package:discloud/extensions/command.dart";
import "package:discloud/utils/messages.dart";

class AppStartCommand extends Command<void> {
final class AppStartCommand extends Command<void> {
AppStartCommand() {
argParser.addOption("app", valueHelp: "all");
}
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/status.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import "package:discloud/utils/messages.dart";

const _keysToIgnore = {"netIO"};

class AppStatusCommand extends Command<void> {
final class AppStatusCommand extends Command<void> {
AppStatusCommand() {
argParser.addOption("app", mandatory: true);
}
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/app/stop.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import "package:args/command_runner.dart";
import "package:discloud/extensions/command.dart";
import "package:discloud/utils/messages.dart";

class AppStopCommand extends Command<void> {
final class AppStopCommand extends Command<void> {
AppStopCommand() {
argParser.addOption("app", valueHelp: "all");
}
Expand Down
3 changes: 2 additions & 1 deletion lib/commands/app/upload.dart
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import "package:discloud/utils/zip.dart";
import "package:discloud_config/discloud_config.dart";
import "package:path/path.dart" hide context;

class AppUploadCommand extends Command<void> with Disposable {
final class AppUploadCommand extends Command<void> with Disposable {
AppUploadCommand() {
argParser.addMultiOption("glob", abbr: "g", defaultsTo: const ["**"]);
}
Expand Down Expand Up @@ -77,6 +77,7 @@ class AppUploadCommand extends Command<void> with Disposable {
);
},
onUploadDone: () {
_file = null;
spinner.start("Processing...");
},
);
Expand Down
1 change: 1 addition & 0 deletions lib/commands/commands.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@ export "domain.dart";
export "init.dart";
export "login.dart";
export "subdomain.dart";
export "system.dart";
export "user.dart";
export "zip.dart";
2 changes: 1 addition & 1 deletion lib/commands/domain.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import "package:discloud/commands/domain/edit.dart";
import "package:discloud/commands/domain/info.dart";
import "package:discloud/commands/domain/verify.dart";

class DomainCommand extends Command<void> {
final class DomainCommand extends Command<void> {
DomainCommand() {
addSubcommand(CustomdomainCreateCommand());
addSubcommand(CustomdomainDeleteCommand());
Expand Down
Loading