diff --git a/example/.metadata b/example/.metadata
index 417ad2f..52e942a 100644
--- a/example/.metadata
+++ b/example/.metadata
@@ -4,7 +4,7 @@
# This file should be version controlled and should not be manually edited.
version:
- revision: "ef1af02aead6fe2414f3aafa5a61087b610e1332"
+ revision: "582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536"
channel: "stable"
project_type: app
@@ -13,26 +13,26 @@ project_type: app
migration:
platforms:
- platform: root
- create_revision: ef1af02aead6fe2414f3aafa5a61087b610e1332
- base_revision: ef1af02aead6fe2414f3aafa5a61087b610e1332
+ create_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
+ base_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
- platform: android
- create_revision: ef1af02aead6fe2414f3aafa5a61087b610e1332
- base_revision: ef1af02aead6fe2414f3aafa5a61087b610e1332
+ create_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
+ base_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
- platform: ios
- create_revision: ef1af02aead6fe2414f3aafa5a61087b610e1332
- base_revision: ef1af02aead6fe2414f3aafa5a61087b610e1332
+ create_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
+ base_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
- platform: linux
- create_revision: ef1af02aead6fe2414f3aafa5a61087b610e1332
- base_revision: ef1af02aead6fe2414f3aafa5a61087b610e1332
+ create_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
+ base_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
- platform: macos
- create_revision: ef1af02aead6fe2414f3aafa5a61087b610e1332
- base_revision: ef1af02aead6fe2414f3aafa5a61087b610e1332
+ create_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
+ base_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
- platform: web
- create_revision: ef1af02aead6fe2414f3aafa5a61087b610e1332
- base_revision: ef1af02aead6fe2414f3aafa5a61087b610e1332
+ create_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
+ base_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
- platform: windows
- create_revision: ef1af02aead6fe2414f3aafa5a61087b610e1332
- base_revision: ef1af02aead6fe2414f3aafa5a61087b610e1332
+ create_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
+ base_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
# User provided section
diff --git a/example/pubspec.lock b/example/pubspec.lock
index c3e6548..b4c0c82 100644
--- a/example/pubspec.lock
+++ b/example/pubspec.lock
@@ -1,14 +1,22 @@
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
+ args:
+ dependency: transitive
+ description:
+ name: args
+ sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.7.0"
async:
dependency: transitive
description:
name: async
- sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
+ sha256: e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37
url: "https://pub.dev"
source: hosted
- version: "2.13.0"
+ version: "2.13.1"
boolean_selector:
dependency: transitive
description:
@@ -21,10 +29,18 @@ packages:
dependency: transitive
description:
name: characters
- sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
+ sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b
url: "https://pub.dev"
source: hosted
- version: "1.4.0"
+ version: "1.4.1"
+ clipboard:
+ dependency: transitive
+ description:
+ name: clipboard
+ sha256: c0ba5e7214035b824549473fa134870bc544fff0d7b89170d4756c0ac2c0239d
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.14"
clock:
dependency: transitive
description:
@@ -33,6 +49,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.1.2"
+ code_assets:
+ dependency: transitive
+ description:
+ name: code_assets
+ sha256: "83ccdaa064c980b5596c35dd64a8d3ecc68620174ab9b90b6343b753aa721687"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.0"
collection:
dependency: transitive
description:
@@ -45,34 +69,18 @@ packages:
dependency: transitive
description:
name: crypto
- sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855"
+ sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf
url: "https://pub.dev"
source: hosted
- version: "3.0.6"
+ version: "3.0.7"
cupertino_icons:
dependency: "direct main"
description:
name: cupertino_icons
- sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
- url: "https://pub.dev"
- source: hosted
- version: "1.0.8"
- device_info_plus:
- dependency: transitive
- description:
- name: device_info_plus
- sha256: "98f28b42168cc509abc92f88518882fd58061ea372d7999aecc424345c7bff6a"
+ sha256: "41e005c33bd814be4d3096aff55b1908d419fde52ca656c8c47719ec745873cd"
url: "https://pub.dev"
source: hosted
- version: "11.5.0"
- device_info_plus_platform_interface:
- dependency: transitive
- description:
- name: device_info_plus_platform_interface
- sha256: e1ea89119e34903dca74b883d0dd78eb762814f97fb6c76f35e9ff74d261a18f
- url: "https://pub.dev"
- source: hosted
- version: "7.0.3"
+ version: "1.0.9"
fake_async:
dependency: transitive
description:
@@ -85,10 +93,10 @@ packages:
dependency: transitive
description:
name: ffi
- sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418"
+ sha256: "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45"
url: "https://pub.dev"
source: hosted
- version: "2.1.4"
+ version: "2.2.0"
file:
dependency: transitive
description:
@@ -97,14 +105,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "7.0.1"
- fixnum:
- dependency: transitive
- description:
- name: fixnum
- sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be
- url: "https://pub.dev"
- source: hosted
- version: "1.1.1"
flutter:
dependency: "direct main"
description: flutter
@@ -114,36 +114,47 @@ packages:
dependency: "direct dev"
description:
name: flutter_lints
- sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
+ sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1"
url: "https://pub.dev"
source: hosted
- version: "2.0.3"
+ version: "6.0.0"
flutter_test:
dependency: "direct dev"
description: flutter
source: sdk
version: "0.0.0"
- flutter_web_plugins:
+ glob:
dependency: transitive
- description: flutter
- source: sdk
- version: "0.0.0"
+ description:
+ name: glob
+ sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.3"
google_fonts:
dependency: "direct main"
description:
name: google_fonts
- sha256: e20ff62b158b96f392bfc8afe29dee1503c94fbea2cbe8186fd59b756b8ae982
+ sha256: db9df7a5898d894eeda4c78143f35c30a243558be439518972366880b80bf88e
url: "https://pub.dev"
source: hosted
- version: "5.1.0"
+ version: "8.0.2"
+ hooks:
+ dependency: transitive
+ description:
+ name: hooks
+ sha256: e79ed1e8e1929bc6ecb6ec85f0cb519c887aa5b423705ded0d0f2d9226def388
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.2"
http:
dependency: transitive
description:
name: http
- sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007
+ sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412"
url: "https://pub.dev"
source: hosted
- version: "1.5.0"
+ version: "1.6.0"
http_parser:
dependency: transitive
description:
@@ -152,30 +163,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.1.2"
- irondash_engine_context:
+ jni:
dependency: transitive
description:
- name: irondash_engine_context
- sha256: "2bb0bc13dfda9f5aaef8dde06ecc5feb1379f5bb387d59716d799554f3f305d7"
+ name: jni
+ sha256: c2230682d5bc2362c1c9e8d3c7f406d9cbba23ab3f2e203a025dd47e0fb2e68f
url: "https://pub.dev"
source: hosted
- version: "0.5.5"
- irondash_message_channel:
+ version: "1.0.0"
+ jni_flutter:
dependency: transitive
description:
- name: irondash_message_channel
- sha256: b4101669776509c76133b8917ab8cfc704d3ad92a8c450b92934dd8884a2f060
+ name: jni_flutter
+ sha256: "8b59e590786050b1cd866677dddaf76b1ade5e7bc751abe04b86e84d379d3ba6"
url: "https://pub.dev"
source: hosted
- version: "0.7.0"
+ version: "1.0.1"
leak_tracker:
dependency: transitive
description:
name: leak_tracker
- sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0"
+ sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de"
url: "https://pub.dev"
source: hosted
- version: "11.0.1"
+ version: "11.0.2"
leak_tracker_flutter_testing:
dependency: transitive
description:
@@ -196,34 +207,66 @@ packages:
dependency: transitive
description:
name: lints
- sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
+ sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df"
url: "https://pub.dev"
source: hosted
- version: "2.1.1"
+ version: "6.1.0"
+ logging:
+ dependency: transitive
+ description:
+ name: logging
+ sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.3.0"
matcher:
dependency: transitive
description:
name: matcher
- sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
+ sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6"
url: "https://pub.dev"
source: hosted
- version: "0.12.17"
+ version: "0.12.18"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
- sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
+ sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b"
url: "https://pub.dev"
source: hosted
- version: "0.11.1"
+ version: "0.13.0"
meta:
dependency: transitive
description:
name: meta
- sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
+ sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.17.0"
+ native_toolchain_c:
+ dependency: transitive
+ description:
+ name: native_toolchain_c
+ sha256: "6ba77bb18063eebe9de401f5e6437e95e1438af0a87a3a39084fbd37c90df572"
url: "https://pub.dev"
source: hosted
- version: "1.16.0"
+ version: "0.17.6"
+ objective_c:
+ dependency: transitive
+ description:
+ name: objective_c
+ sha256: "100a1c87616ab6ed41ec263b083c0ef3261ee6cd1dc3b0f35f8ddfa4f996fe52"
+ url: "https://pub.dev"
+ source: hosted
+ version: "9.3.0"
+ package_config:
+ dependency: transitive
+ description:
+ name: package_config
+ sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.2.0"
path:
dependency: transitive
description:
@@ -244,18 +287,18 @@ packages:
dependency: transitive
description:
name: path_provider_android
- sha256: d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9
+ sha256: "69cbd515a62b94d32a7944f086b2f82b4ac40a1d45bebfc00813a430ab2dabcd"
url: "https://pub.dev"
source: hosted
- version: "2.2.17"
+ version: "2.3.1"
path_provider_foundation:
dependency: transitive
description:
name: path_provider_foundation
- sha256: "16eef174aacb07e09c351502740fa6254c165757638eba1e9116b0a781201bbd"
+ sha256: "2a376b7d6392d80cd3705782d2caa734ca4727776db0b6ec36ef3f1855197699"
url: "https://pub.dev"
source: hosted
- version: "2.4.2"
+ version: "2.6.0"
path_provider_linux:
dependency: transitive
description:
@@ -280,14 +323,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.3.0"
- pixel_snap:
- dependency: transitive
- description:
- name: pixel_snap
- sha256: "677410ea37b07cd37ecb6d5e6c0d8d7615a7cf3bd92ba406fd1ac57e937d1fb0"
- url: "https://pub.dev"
- source: hosted
- version: "0.1.5"
platform:
dependency: transitive
description:
@@ -304,6 +339,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.8"
+ pub_semver:
+ dependency: transitive
+ description:
+ name: pub_semver
+ sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.2.0"
sky_engine:
dependency: transitive
description: flutter
@@ -313,18 +356,10 @@ packages:
dependency: transitive
description:
name: source_span
- sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c"
+ sha256: "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab"
url: "https://pub.dev"
source: hosted
- version: "1.10.1"
- sprintf:
- dependency: transitive
- description:
- name: sprintf
- sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
- url: "https://pub.dev"
- source: hosted
- version: "7.0.0"
+ version: "1.10.2"
stack_trace:
dependency: transitive
description:
@@ -349,29 +384,13 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.4.1"
- super_clipboard:
- dependency: transitive
- description:
- name: super_clipboard
- sha256: e73f3bb7e66cc9260efa1dc507f979138e7e106c3521e2dda2d0311f6d728a16
- url: "https://pub.dev"
- source: hosted
- version: "0.9.1"
- super_native_extensions:
- dependency: transitive
- description:
- name: super_native_extensions
- sha256: b9611dcb68f1047d6f3ef11af25e4e68a21b1a705bbcc3eb8cb4e9f5c3148569
- url: "https://pub.dev"
- source: hosted
- version: "0.9.1"
syntax_highlight:
dependency: "direct main"
description:
path: ".."
relative: true
source: path
- version: "0.4.0"
+ version: "0.5.0"
term_glyph:
dependency: transitive
description:
@@ -384,10 +403,10 @@ packages:
dependency: transitive
description:
name: test_api
- sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00"
+ sha256: "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636"
url: "https://pub.dev"
source: hosted
- version: "0.7.6"
+ version: "0.7.9"
typed_data:
dependency: transitive
description:
@@ -396,14 +415,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.4.0"
- uuid:
- dependency: transitive
- description:
- name: uuid
- sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff
- url: "https://pub.dev"
- source: hosted
- version: "4.5.1"
vector_math:
dependency: transitive
description:
@@ -428,22 +439,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.1.1"
- win32:
- dependency: transitive
- description:
- name: win32
- sha256: "66814138c3562338d05613a6e368ed8cfb237ad6d64a9e9334be3f309acfca03"
- url: "https://pub.dev"
- source: hosted
- version: "5.14.0"
- win32_registry:
- dependency: transitive
- description:
- name: win32_registry
- sha256: "6f1b564492d0147b330dd794fee8f512cec4977957f310f9951b5f9d83618dae"
- url: "https://pub.dev"
- source: hosted
- version: "2.1.0"
xdg_directories:
dependency: transitive
description:
@@ -452,6 +447,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.1.0"
+ yaml:
+ dependency: transitive
+ description:
+ name: yaml
+ sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.1.3"
sdks:
- dart: ">=3.8.0 <4.0.0"
- flutter: ">=3.29.0"
+ dart: ">=3.10.3 <4.0.0"
+ flutter: ">=3.38.4"
diff --git a/example/pubspec.yaml b/example/pubspec.yaml
index 9054f10..31ded34 100644
--- a/example/pubspec.yaml
+++ b/example/pubspec.yaml
@@ -11,7 +11,7 @@ dependencies:
cupertino_icons: ^1.0.2
flutter:
sdk: flutter
- google_fonts: ^5.1.0
+ google_fonts: ^8.0.2
syntax_highlight:
path: ../
@@ -20,7 +20,7 @@ dev_dependencies:
flutter_test:
sdk: flutter
- flutter_lints: ^2.0.0
+ flutter_lints: ^6.0.0
flutter:
diff --git a/lib/src/code_editor.dart b/lib/src/code_editor.dart
index f3476d0..b56ac0e 100644
--- a/lib/src/code_editor.dart
+++ b/lib/src/code_editor.dart
@@ -11,7 +11,7 @@
/// 2. The main text editing area with syntax highlighting.
import 'dart:convert';
import 'dart:math' as math;
-import 'package:super_clipboard/super_clipboard.dart';
+import 'package:clipboard/clipboard.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:syntax_highlight/syntax_highlight.dart';
@@ -267,24 +267,19 @@ class _CopyAction extends Action<_CopyIntent> {
Object? invoke(_CopyIntent intent) {
final html = _getSelectedTextAsHtml(_textEditingController, _context);
- // TODO: Use the HTML output for clipboard or other purposes
- // For now, just copy the plain text
final text = _textEditingController.selection
.textInside(_textEditingController.text);
if (text.isNotEmpty) {
- final clipboard = SystemClipboard.instance;
- if (clipboard != null) {
- final item = DataWriterItem();
- item.add(Formats.plainText(text));
- if (html.isNotEmpty) {
- final wrappedHtml =
- "$html";
- item.add(Formats.htmlText(wrappedHtml));
- }
- clipboard.write([item]);
+ if (html.isNotEmpty) {
+ final wrappedHtml =
+ "$html";
+ FlutterClipboard.copyRichText(
+ text: text,
+ html: wrappedHtml,
+ );
} else {
- Clipboard.setData(ClipboardData(text: text));
+ FlutterClipboard.copy(text);
}
}
return null;
diff --git a/pubspec.yaml b/pubspec.yaml
index 1081992..4214edf 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -4,7 +4,7 @@ version: 0.5.0
repository: https://github.com/serverpod/syntax_highlight
environment:
- sdk: '>=3.0.5 <4.0.0'
+ sdk: ">=3.0.5 <4.0.0"
flutter: ">=1.17.0"
dependencies:
@@ -12,7 +12,7 @@ dependencies:
sdk: flutter
collection: ^1.17.1
string_scanner: ^1.2.0
- super_clipboard: ^0.9.1
+ clipboard: ^3.0.14
dev_dependencies:
flutter_test: