diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 069dca47..8964abba 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -360,7 +360,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 328; + CURRENT_PROJECT_VERSION = 329; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -368,7 +368,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.328; + MARKETING_VERSION = 1.0.329; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -491,7 +491,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 328; + CURRENT_PROJECT_VERSION = 329; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -499,7 +499,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.328; + MARKETING_VERSION = 1.0.329; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -516,7 +516,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 328; + CURRENT_PROJECT_VERSION = 329; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -524,7 +524,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.328; + MARKETING_VERSION = 1.0.329; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; diff --git a/lib/data/model/ssh/terminal_color.dart b/lib/data/model/ssh/terminal_color.dart deleted file mode 100644 index cacbc32f..00000000 --- a/lib/data/model/ssh/terminal_color.dart +++ /dev/null @@ -1,90 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:xterm/ui.dart' hide TerminalColors; - -class TerminalUITheme { - final Color cursor; - final Color selection; - final Color foreground; - final Color background; - final Color searchHitBackground; - final Color searchHitBackgroundCurrent; - final Color searchHitForeground; - - const TerminalUITheme({ - required this.cursor, - required this.selection, - required this.foreground, - required this.background, - required this.searchHitBackground, - required this.searchHitBackgroundCurrent, - required this.searchHitForeground, - }); - - TerminalTheme toTerminalTheme(TerminalColors termColor) { - return TerminalTheme( - cursor: cursor, - selection: selection, - foreground: foreground, - background: background, - black: termColor.black, - red: termColor.red, - green: termColor.green, - yellow: termColor.yellow, - blue: termColor.blue, - magenta: termColor.magenta, - cyan: termColor.cyan, - white: termColor.white, - brightBlack: termColor.brightBlack, - brightRed: termColor.brightRed, - brightGreen: termColor.brightGreen, - brightYellow: termColor.brightYellow, - brightBlue: termColor.brightBlue, - brightMagenta: termColor.brightMagenta, - brightCyan: termColor.brightCyan, - brightWhite: termColor.brightWhite, - searchHitBackground: searchHitBackground, - searchHitBackgroundCurrent: searchHitBackgroundCurrent, - searchHitForeground: searchHitForeground, - ); - } -} - -class TerminalColors { - final Color black; - final Color red; - final Color green; - final Color yellow; - final Color blue; - final Color magenta; - final Color cyan; - final Color white; - - /// Also called grey - final Color brightBlack; - final Color brightRed; - final Color brightGreen; - final Color brightYellow; - final Color brightBlue; - final Color brightMagenta; - final Color brightCyan; - final Color brightWhite; - - const TerminalColors( - this.red, - this.green, - this.yellow, - this.blue, - this.magenta, - this.cyan, - this.white, - this.brightBlack, - this.brightRed, - this.brightGreen, - this.brightYellow, - this.brightBlue, - this.brightMagenta, - this.brightCyan, { - this.black = const Color(0x00000000), - this.brightWhite = const Color(0xFFFFFFFF), - }); -} diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index 3fd5de22..a82f4ab8 100644 --- a/lib/data/res/build_data.dart +++ b/lib/data/res/build_data.dart @@ -2,8 +2,8 @@ class BuildData { static const String name = "ServerBox"; - static const int build = 328; + static const int build = 329; static const String engine = "3.10.0"; - static const String buildAt = "2023-05-27 19:03:35.177457"; - static const int modifications = 3; + static const String buildAt = "2023-05-27 22:51:11.684423"; + static const int modifications = 7; } diff --git a/lib/data/res/terminal.dart b/lib/data/res/terminal.dart index 60063ef5..54274d78 100644 --- a/lib/data/res/terminal.dart +++ b/lib/data/res/terminal.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; -import 'package:toolbox/data/model/ssh/terminal_color.dart'; +import 'package:xterm/ui.dart'; -const termDarkTheme = TerminalUITheme( +const termDarkTheme = TerminalTheme( cursor: Color.fromARGB(137, 174, 175, 173), selection: Color.fromARGB(147, 174, 175, 173), foreground: Color(0XFFCCCCCC), @@ -9,9 +9,25 @@ const termDarkTheme = TerminalUITheme( searchHitBackground: Color(0XFFFFFF2B), searchHitBackgroundCurrent: Color(0XFF31FF26), searchHitForeground: Color(0XFF000000), + red: Color.fromARGB(255, 194, 54, 33), + green: Color.fromARGB(255, 37, 188, 36), + yellow: Color.fromARGB(255, 173, 173, 39), + blue: Color.fromARGB(255, 73, 46, 225), + magenta: Color.fromARGB(255, 211, 56, 211), + cyan: Color.fromARGB(255, 51, 187, 200), + white: Color.fromARGB(255, 203, 204, 205), + brightBlack: Color.fromARGB(255, 129, 131, 131), + brightRed: Color.fromARGB(255, 252, 57, 31), + brightGreen: Color.fromARGB(255, 49, 231, 34), + brightYellow: Color.fromARGB(255, 234, 236, 35), + brightBlue: Color.fromARGB(255, 88, 51, 255), + brightMagenta: Color.fromARGB(255, 249, 53, 248), + brightCyan: Color.fromARGB(255, 20, 240, 240), + brightWhite: Color.fromARGB(255, 233, 235, 235), + black: Colors.black, ); -const termLightTheme = TerminalUITheme( +const termLightTheme = TerminalTheme( cursor: Color.fromARGB(153, 174, 175, 173), selection: Color.fromARGB(102, 174, 175, 173), foreground: Color(0XFF000000), @@ -19,25 +35,20 @@ const termLightTheme = TerminalUITheme( searchHitBackground: Color(0XFFFFFF2B), searchHitBackgroundCurrent: Color(0XFF31FF26), searchHitForeground: Color(0XFF000000), + red: Color.fromARGB(255, 194, 54, 33), + green: Color.fromARGB(255, 37, 188, 36), + yellow: Color.fromARGB(255, 173, 173, 39), + blue: Color.fromARGB(255, 73, 46, 225), + magenta: Color.fromARGB(255, 211, 56, 211), + cyan: Color.fromARGB(255, 51, 187, 200), + white: Color.fromARGB(255, 203, 204, 205), + brightBlack: Color.fromARGB(255, 129, 131, 131), + brightRed: Color.fromARGB(255, 252, 57, 31), + brightGreen: Color.fromARGB(255, 49, 231, 34), + brightYellow: Color.fromARGB(255, 234, 236, 35), + brightBlue: Color.fromARGB(255, 88, 51, 255), + brightMagenta: Color.fromARGB(255, 249, 53, 248), + brightCyan: Color.fromARGB(255, 20, 240, 240), + brightWhite: Color.fromARGB(255, 233, 235, 235), + black: Colors.black, ); - -class MacOSTerminalColor extends TerminalColors { - MacOSTerminalColor() - : super( - const Color.fromARGB(255, 194, 54, 33), - const Color.fromARGB(255, 37, 188, 36), - const Color.fromARGB(255, 173, 173, 39), - const Color.fromARGB(255, 73, 46, 225), - const Color.fromARGB(255, 211, 56, 211), - const Color.fromARGB(255, 51, 187, 200), - const Color.fromARGB(255, 203, 204, 205), - const Color.fromARGB(255, 129, 131, 131), - const Color.fromARGB(255, 252, 57, 31), - const Color.fromARGB(255, 49, 231, 34), - const Color.fromARGB(255, 234, 236, 35), - const Color.fromARGB(255, 88, 51, 255), - const Color.fromARGB(255, 249, 53, 248), - const Color.fromARGB(255, 20, 240, 240), - brightWhite: const Color.fromARGB(255, 233, 235, 235), - ); -} diff --git a/lib/view/page/editor.dart b/lib/view/page/editor.dart new file mode 100644 index 00000000..6c217fd8 --- /dev/null +++ b/lib/view/page/editor.dart @@ -0,0 +1,66 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_code_editor/flutter_code_editor.dart'; +import 'package:flutter_highlight/themes/monokai-sublime.dart'; +import 'package:highlight/languages/java.dart'; +import 'package:toolbox/core/extension/navigator.dart'; + +class EditorPage extends StatefulWidget { + final String? initCode; + const EditorPage({Key? key, this.initCode}) : super(key: key); + + @override + _EditorPageState createState() => _EditorPageState(); +} + +class _EditorPageState extends State { + late CodeController _controller; + late final _focusNode = FocusNode(); + + @override + void initState() { + super.initState(); + _focusNode.requestFocus(); + _controller = CodeController( + text: widget.initCode, + language: java, + analyzer: const DefaultLocalAnalyzer(), +); + } + + @override + void dispose() { + _controller.dispose(); + _focusNode.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: monokaiSublimeTheme['root']!.backgroundColor, + appBar: AppBar( + title: const Text('Editor'), + actions: [ + IconButton( + icon: const Icon(Icons.done), + onPressed: () { + context.pop(_controller.fullText); + }, + ), + ], + ), + body: CodeTheme( + data: CodeThemeData(styles: monokaiSublimeTheme), + child: SingleChildScrollView( + child: CodeField( + controller: _controller, + gutterStyle: const GutterStyle( + width: 37, + showLineNumbers: false, + ), + ), + ), + ), + ); + } +} diff --git a/lib/view/page/sftp/downloaded.dart b/lib/view/page/sftp/downloaded.dart index aaf12dcc..9249fc5a 100644 --- a/lib/view/page/sftp/downloaded.dart +++ b/lib/view/page/sftp/downloaded.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:toolbox/core/extension/navigator.dart'; +import 'package:toolbox/view/page/editor.dart'; import '../../../core/extension/numx.dart'; import '../../../core/extension/stringx.dart'; @@ -172,6 +173,21 @@ class _SFTPDownloadedPageState extends State { shareFiles(context, [file.absolute.path]); }, ), + ListTile( + leading: const Icon(Icons.edit), + title: Text(_s.edit), + onTap: () async { + context.pop(); + final stat = await file.stat(); + if (stat.size > 1024 * 1024) { + showRoundDialog(context: context, child: Text('too big')); + return; + } + final f = await File(file.absolute.path).readAsString(); + AppRoute(EditorPage(initCode: f), 'sftp dled editor') + .go(context); + }, + ) ], ), actions: [ diff --git a/lib/view/page/ssh.dart b/lib/view/page/ssh.dart index 31e374fb..c10d6c77 100644 --- a/lib/view/page/ssh.dart +++ b/lib/view/page/ssh.dart @@ -10,7 +10,6 @@ import 'package:toolbox/core/extension/navigator.dart'; import 'package:xterm/xterm.dart'; import '../../core/utils/platform.dart'; -import '../../data/model/ssh/terminal_color.dart'; import '../../core/utils/misc.dart'; import '../../core/utils/ui.dart'; import '../../core/utils/server.dart'; @@ -44,7 +43,6 @@ class _SSHPageState extends State { late TextStyle _menuTextStyle; late S _s; late TerminalStyle _terminalStyle; - late TerminalUITheme _termUITheme; late TerminalTheme _terminalTheme; var _isDark = false; @@ -68,8 +66,7 @@ class _SSHPageState extends State { _media = MediaQuery.of(context); _menuTextStyle = TextStyle(color: contentColor.resolve(context)); _s = S.of(context)!; - _termUITheme = _isDark ? termDarkTheme : termLightTheme; - _terminalTheme = _termUITheme.toTerminalTheme(MacOSTerminalColor()); + _terminalTheme = _isDark ? termDarkTheme : termLightTheme; } @override @@ -81,7 +78,7 @@ class _SSHPageState extends State { @override Widget build(BuildContext context) { Widget child = Scaffold( - backgroundColor: _termUITheme.background, + backgroundColor: _terminalTheme.background, body: _buildBody(), bottomNavigationBar: _buildBottom(), ); @@ -120,7 +117,7 @@ class _SSHPageState extends State { duration: const Duration(milliseconds: 23), curve: Curves.fastOutSlowIn, child: Container( - color: _termUITheme.background, + color: _terminalTheme.background, height: _virtualKeyboardHeight, child: Consumer( builder: (_, __, ___) => _buildVirtualKey(), diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index ebde6145..286b5ed9 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -475,9 +475,9 @@ baseConfigurationReference = C1C758C41C4E208965A68933 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 328; + CURRENT_PROJECT_VERSION = 329; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.328; + MARKETING_VERSION = 1.0.329; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -490,9 +490,9 @@ baseConfigurationReference = 15AF97DF993E8968098D6EBE /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 328; + CURRENT_PROJECT_VERSION = 329; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.328; + MARKETING_VERSION = 1.0.329; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -505,9 +505,9 @@ baseConfigurationReference = 7CFA7DE7FABA75685DFB6948 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 328; + CURRENT_PROJECT_VERSION = 329; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.328; + MARKETING_VERSION = 1.0.329; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; diff --git a/make.dart b/make.dart index d1e2e965..dc2c59b9 100755 --- a/make.dart +++ b/make.dart @@ -8,9 +8,9 @@ const appName = 'ServerBox'; const buildDataFilePath = 'lib/data/res/build_data.dart'; const apkPath = 'build/app/outputs/flutter-apk/app-release.apk'; -const xcarchivePath = 'build/ios/archive/Runner.xcarchive'; +const ipaPath = 'build/ios/ipa/$appName.ipa'; const appleXCConfigPath = 'Runner.xcodeproj/project.pbxproj'; -const releaseDirPath = './release'; +const releaseDirPath = '/Volumes/bc4/releases'; var regAppleProjectVer = RegExp(r'CURRENT_PROJECT_VERSION = .+;'); var regAppleMarketVer = RegExp(r'MARKETING_VERSION = .+'); @@ -148,12 +148,11 @@ Future flutterBuild( } Future flutterBuildIOS() async { - await flutterBuild(xcarchivePath, '${appName}_ios_build.xcarchive', 'ipa'); + await flutterBuild(ipaPath, '${appName}_ios_build.ipa', 'ios'); } Future flutterBuildMacOS() async { - await flutterBuild( - xcarchivePath, '${appName}_macos_build.xcarchive', 'macos'); + await flutterBuild(ipaPath, '${appName}_macos_build.ipa', 'macos'); } Future flutterBuildAndroid() async { diff --git a/pubspec.lock b/pubspec.lock index 240f4fc3..d73ea419 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -57,6 +57,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.11.0" + autotrie: + dependency: transitive + description: + name: autotrie + sha256: "55da6faefb53cfcb0abb2f2ca8636123fb40e35286bb57440d2cf467568188f8" + url: "https://pub.dev" + source: hosted + version: "2.0.0" boolean_selector: dependency: transitive description: @@ -137,6 +145,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" + charcode: + dependency: transitive + description: + name: charcode + sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306 + url: "https://pub.dev" + source: hosted + version: "1.3.1" checked_yaml: dependency: transitive description: @@ -194,6 +210,14 @@ packages: url: "https://pub.dev" source: hosted version: "22.09.0" + coverage: + dependency: transitive + description: + name: coverage + sha256: "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097" + url: "https://pub.dev" + source: hosted + version: "1.6.3" cross_file: dependency: transitive description: @@ -319,6 +343,22 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_code_editor: + dependency: "direct main" + description: + name: flutter_code_editor + sha256: "5cd0337a24155dcac85d4f5b0cc8fa022ab19785a968a86726cdc62e363ee428" + url: "https://pub.dev" + source: hosted + version: "0.2.23" + flutter_highlight: + dependency: "direct main" + description: + name: flutter_highlight + sha256: "7b96333867aa07e122e245c033b8ad622e4e3a42a1a2372cbb098a2541d8782c" + url: "https://pub.dev" + source: hosted + version: "0.7.0" flutter_lints: dependency: "direct dev" description: @@ -398,6 +438,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.2.0" + highlight: + dependency: "direct main" + description: + name: highlight + sha256: "5353a83ffe3e3eca7df0abfb72dcf3fa66cc56b953728e7113ad4ad88497cf21" + url: "https://pub.dev" + source: hosted + version: "0.7.0" hive: dependency: transitive description: @@ -502,6 +550,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.8.1" + linked_scroll_controller: + dependency: transitive + description: + name: linked_scroll_controller + sha256: e6020062bcf4ffc907ee7fd090fa971e65d8dfaac3c62baf601a3ced0b37986a + url: "https://pub.dev" + source: hosted + version: "0.2.0" lints: dependency: transitive description: @@ -550,6 +606,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.4" + mocktail: + dependency: transitive + description: + name: mocktail + sha256: "80a996cd9a69284b3dc521ce185ffe9150cde69767c2d3a0720147d93c0cef53" + url: "https://pub.dev" + source: hosted + version: "0.3.0" nested: dependency: transitive description: @@ -558,6 +622,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.0" + node_preamble: + dependency: transitive + description: + name: node_preamble + sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" + url: "https://pub.dev" + source: hosted + version: "2.0.2" package_config: dependency: transitive description: @@ -742,6 +814,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.3.8+2" + scrollable_positioned_list: + dependency: transitive + description: + name: scrollable_positioned_list + sha256: "1b54d5f1329a1e263269abc9e2543d90806131aa14fe7c6062a8054d57249287" + url: "https://pub.dev" + source: hosted + version: "0.3.8" share_plus: dependency: "direct main" description: @@ -774,6 +854,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.1" + shelf_packages_handler: + dependency: transitive + description: + name: shelf_packages_handler + sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + shelf_static: + dependency: transitive + description: + name: shelf_static + sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e + url: "https://pub.dev" + source: hosted + version: "1.1.2" shelf_web_socket: dependency: transitive description: @@ -803,6 +899,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.3" + source_map_stack_trace: + dependency: transitive + description: + name: source_map_stack_trace + sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + source_maps: + dependency: transitive + description: + name: source_maps + sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" + url: "https://pub.dev" + source: hosted + version: "0.10.12" source_span: dependency: transitive description: @@ -851,6 +963,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.1" + test: + dependency: transitive + description: + name: test + sha256: "3dac9aecf2c3991d09b9cdde4f98ded7b30804a88a0d7e4e7e1678e78d6b97f4" + url: "https://pub.dev" + source: hosted + version: "1.24.1" test_api: dependency: transitive description: @@ -859,6 +979,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.1" + test_core: + dependency: transitive + description: + name: test_core + sha256: "5138dbffb77b2289ecb12b81c11ba46036590b72a64a7a90d6ffb880f1a29e93" + url: "https://pub.dev" + source: hosted + version: "0.5.1" timing: dependency: transitive description: @@ -867,6 +995,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.1" + tuple: + dependency: transitive + description: + name: tuple + sha256: "0ea99cd2f9352b2586583ab2ce6489d1f95a5f6de6fb9492faaf97ae2060f0aa" + url: "https://pub.dev" + source: hosted + version: "2.0.1" typed_data: dependency: transitive description: @@ -963,6 +1099,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: f3743ca475e0c9ef71df4ba15eb2d7684eecd5c8ba20a462462e4e8b561b2e11 + url: "https://pub.dev" + source: hosted + version: "11.6.0" watcher: dependency: transitive description: @@ -979,6 +1123,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.4.0" + webkit_inspection_protocol: + dependency: transitive + description: + name: webkit_inspection_protocol + sha256: "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d" + url: "https://pub.dev" + source: hosted + version: "1.2.0" win32: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 4cc58090..831b07fa 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -63,6 +63,9 @@ dependencies: url: https://github.com/lollipopkit/xterm.dart file_picker: ^5.2.5 plain_notification_token: ^0.0.4 + highlight: ^0.7.0 + flutter_highlight: ^0.7.0 + flutter_code_editor: ^0.2.23 dev_dependencies: flutter_native_splash: ^2.1.6