diff --git a/example/lib/01.minimal/main.dart b/example/lib/01.minimal/main.dart index 1a044a2e..aa673632 100644 --- a/example/lib/01.minimal/main.dart +++ b/example/lib/01.minimal/main.dart @@ -3,8 +3,8 @@ 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:highlight/themes/monokai-sublime.dart'; import '../common/snippets.dart'; diff --git a/example/lib/02.code_field/main.dart b/example/lib/02.code_field/main.dart index df64d453..feec2982 100644 --- a/example/lib/02.code_field/main.dart +++ b/example/lib/02.code_field/main.dart @@ -4,8 +4,8 @@ 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:highlight/themes/monokai-sublime.dart'; import '../common/snippets.dart'; diff --git a/example/lib/03.change_language_theme/home_screen.dart b/example/lib/03.change_language_theme/home_screen.dart index 8df0e97e..3763c420 100644 --- a/example/lib/03.change_language_theme/home_screen.dart +++ b/example/lib/03.change_language_theme/home_screen.dart @@ -6,7 +6,7 @@ import '../common/themes.dart'; import 'constants.dart'; import 'widgets/dropdown_selector.dart'; -const _defaultLanguage = 'dart'; +const _defaultLanguage = 'python'; const _defaultTheme = 'monokai-sublime'; const _defaultAnalyzer = DefaultLocalAnalyzer(); diff --git a/example/lib/common/themes.dart b/example/lib/common/themes.dart index 8b4380dc..40d6f972 100644 --- a/example/lib/common/themes.dart +++ b/example/lib/common/themes.dart @@ -1,93 +1,4 @@ -import 'package:flutter_highlight/themes/a11y-dark.dart'; -import 'package:flutter_highlight/themes/a11y-light.dart'; -import 'package:flutter_highlight/themes/agate.dart'; -import 'package:flutter_highlight/themes/an-old-hope.dart'; -import 'package:flutter_highlight/themes/androidstudio.dart'; -import 'package:flutter_highlight/themes/arduino-light.dart'; -import 'package:flutter_highlight/themes/arta.dart'; -import 'package:flutter_highlight/themes/ascetic.dart'; -import 'package:flutter_highlight/themes/atelier-cave-dark.dart'; -import 'package:flutter_highlight/themes/atelier-cave-light.dart'; -import 'package:flutter_highlight/themes/atelier-dune-dark.dart'; -import 'package:flutter_highlight/themes/atelier-dune-light.dart'; -import 'package:flutter_highlight/themes/atelier-estuary-dark.dart'; -import 'package:flutter_highlight/themes/atelier-estuary-light.dart'; -import 'package:flutter_highlight/themes/atelier-forest-dark.dart'; -import 'package:flutter_highlight/themes/atelier-forest-light.dart'; -import 'package:flutter_highlight/themes/atelier-heath-dark.dart'; -import 'package:flutter_highlight/themes/atelier-heath-light.dart'; -import 'package:flutter_highlight/themes/atelier-lakeside-dark.dart'; -import 'package:flutter_highlight/themes/atelier-lakeside-light.dart'; -import 'package:flutter_highlight/themes/atelier-plateau-dark.dart'; -import 'package:flutter_highlight/themes/atelier-plateau-light.dart'; -import 'package:flutter_highlight/themes/atelier-savanna-dark.dart'; -import 'package:flutter_highlight/themes/atelier-savanna-light.dart'; -import 'package:flutter_highlight/themes/atelier-seaside-dark.dart'; -import 'package:flutter_highlight/themes/atelier-seaside-light.dart'; -import 'package:flutter_highlight/themes/atelier-sulphurpool-dark.dart'; -import 'package:flutter_highlight/themes/atelier-sulphurpool-light.dart'; -import 'package:flutter_highlight/themes/atom-one-dark-reasonable.dart'; -import 'package:flutter_highlight/themes/atom-one-dark.dart'; -import 'package:flutter_highlight/themes/atom-one-light.dart'; -import 'package:flutter_highlight/themes/brown-paper.dart'; -import 'package:flutter_highlight/themes/codepen-embed.dart'; -import 'package:flutter_highlight/themes/color-brewer.dart'; -import 'package:flutter_highlight/themes/darcula.dart'; -import 'package:flutter_highlight/themes/dark.dart'; -import 'package:flutter_highlight/themes/default.dart'; -import 'package:flutter_highlight/themes/docco.dart'; -import 'package:flutter_highlight/themes/dracula.dart'; -import 'package:flutter_highlight/themes/far.dart'; -import 'package:flutter_highlight/themes/foundation.dart'; -import 'package:flutter_highlight/themes/github-gist.dart'; -import 'package:flutter_highlight/themes/github.dart'; -import 'package:flutter_highlight/themes/gml.dart'; -import 'package:flutter_highlight/themes/googlecode.dart'; -import 'package:flutter_highlight/themes/gradient-dark.dart'; -import 'package:flutter_highlight/themes/grayscale.dart'; -import 'package:flutter_highlight/themes/gruvbox-dark.dart'; -import 'package:flutter_highlight/themes/gruvbox-light.dart'; -import 'package:flutter_highlight/themes/hopscotch.dart'; -import 'package:flutter_highlight/themes/hybrid.dart'; -import 'package:flutter_highlight/themes/idea.dart'; -import 'package:flutter_highlight/themes/ir-black.dart'; -import 'package:flutter_highlight/themes/isbl-editor-dark.dart'; -import 'package:flutter_highlight/themes/isbl-editor-light.dart'; -import 'package:flutter_highlight/themes/kimbie.dark.dart'; -import 'package:flutter_highlight/themes/kimbie.light.dart'; -import 'package:flutter_highlight/themes/lightfair.dart'; -import 'package:flutter_highlight/themes/magula.dart'; -import 'package:flutter_highlight/themes/mono-blue.dart'; -import 'package:flutter_highlight/themes/monokai-sublime.dart'; -import 'package:flutter_highlight/themes/monokai.dart'; -import 'package:flutter_highlight/themes/night-owl.dart'; -import 'package:flutter_highlight/themes/nord.dart'; -import 'package:flutter_highlight/themes/obsidian.dart'; -import 'package:flutter_highlight/themes/ocean.dart'; -import 'package:flutter_highlight/themes/paraiso-dark.dart'; -import 'package:flutter_highlight/themes/paraiso-light.dart'; -import 'package:flutter_highlight/themes/pojoaque.dart'; -import 'package:flutter_highlight/themes/purebasic.dart'; -import 'package:flutter_highlight/themes/qtcreator_dark.dart'; -import 'package:flutter_highlight/themes/qtcreator_light.dart'; -import 'package:flutter_highlight/themes/railscasts.dart'; -import 'package:flutter_highlight/themes/rainbow.dart'; -import 'package:flutter_highlight/themes/routeros.dart'; -import 'package:flutter_highlight/themes/school-book.dart'; -import 'package:flutter_highlight/themes/shades-of-purple.dart'; -import 'package:flutter_highlight/themes/solarized-dark.dart'; -import 'package:flutter_highlight/themes/solarized-light.dart'; -import 'package:flutter_highlight/themes/sunburst.dart'; -import 'package:flutter_highlight/themes/tomorrow-night-blue.dart'; -import 'package:flutter_highlight/themes/tomorrow-night-bright.dart'; -import 'package:flutter_highlight/themes/tomorrow-night-eighties.dart'; -import 'package:flutter_highlight/themes/tomorrow-night.dart'; -import 'package:flutter_highlight/themes/tomorrow.dart'; -import 'package:flutter_highlight/themes/vs.dart'; -import 'package:flutter_highlight/themes/vs2015.dart'; -import 'package:flutter_highlight/themes/xcode.dart'; -import 'package:flutter_highlight/themes/xt256.dart'; -import 'package:flutter_highlight/themes/zenburn.dart'; +import 'package:highlight/highlight_themes.dart'; const themes = { 'a11y-dark': a11yDarkTheme, @@ -98,48 +9,22 @@ const themes = { 'arduino-light': arduinoLightTheme, 'arta': artaTheme, 'ascetic': asceticTheme, - 'atelier-cave-dark': atelierCaveDarkTheme, - 'atelier-cave-light': atelierCaveLightTheme, - 'atelier-dune-dark': atelierDuneDarkTheme, - 'atelier-dune-light': atelierDuneLightTheme, - 'atelier-estuary-dark': atelierEstuaryDarkTheme, - 'atelier-estuary-light': atelierEstuaryLightTheme, - 'atelier-forest-dark': atelierForestDarkTheme, - 'atelier-forest-light': atelierForestLightTheme, - 'atelier-heath-dark': atelierHeathDarkTheme, - 'atelier-heath-light': atelierHeathLightTheme, - 'atelier-lakeside-dark': atelierLakesideDarkTheme, - 'atelier-lakeside-light': atelierLakesideLightTheme, - 'atelier-plateau-dark': atelierPlateauDarkTheme, - 'atelier-plateau-light': atelierPlateauLightTheme, - 'atelier-savanna-dark': atelierSavannaDarkTheme, - 'atelier-savanna-light': atelierSavannaLightTheme, - 'atelier-seaside-dark': atelierSeasideDarkTheme, - 'atelier-seaside-light': atelierSeasideLightTheme, - 'atelier-sulphurpool-dark': atelierSulphurpoolDarkTheme, - 'atelier-sulphurpool-light': atelierSulphurpoolLightTheme, 'atom-one-dark-reasonable': atomOneDarkReasonableTheme, 'atom-one-dark': atomOneDarkTheme, 'atom-one-light': atomOneLightTheme, 'brown-paper': brownPaperTheme, 'codepen-embed': codepenEmbedTheme, 'color-brewer': colorBrewerTheme, - 'darcula': darculaTheme, 'dark': darkTheme, 'default': defaultTheme, 'docco': doccoTheme, - 'dracula': draculaTheme, 'far': farTheme, 'foundation': foundationTheme, - 'github-gist': githubGistTheme, 'github': githubTheme, 'gml': gmlTheme, 'googlecode': googlecodeTheme, 'gradient-dark': gradientDarkTheme, 'grayscale': grayscaleTheme, - 'gruvbox-dark': gruvboxDarkTheme, - 'gruvbox-light': gruvboxLightTheme, - 'hopscotch': hopscotchTheme, 'hybrid': hybridTheme, 'idea': ideaTheme, 'ir-black': irBlackTheme, @@ -155,29 +40,21 @@ const themes = { 'night-owl': nightOwlTheme, 'nord': nordTheme, 'obsidian': obsidianTheme, - 'ocean': oceanTheme, 'paraiso-dark': paraisoDarkTheme, 'paraiso-light': paraisoLightTheme, 'pojoaque': pojoaqueTheme, 'purebasic': purebasicTheme, 'qtcreator_dark': qtcreatorDarkTheme, 'qtcreator_light': qtcreatorLightTheme, - 'railscasts': railscastsTheme, 'rainbow': rainbowTheme, 'routeros': routerosTheme, 'school-book': schoolBookTheme, 'shades-of-purple': shadesOfPurpleTheme, - 'solarized-dark': solarizedDarkTheme, - 'solarized-light': solarizedLightTheme, 'sunburst': sunburstTheme, 'tomorrow-night-blue': tomorrowNightBlueTheme, 'tomorrow-night-bright': tomorrowNightBrightTheme, - 'tomorrow-night-eighties': tomorrowNightEightiesTheme, - 'tomorrow-night': tomorrowNightTheme, - 'tomorrow': tomorrowTheme, 'vs': vsTheme, 'vs2015': vs2015Theme, 'xcode': xcodeTheme, 'xt256': xt256Theme, - 'zenburn': zenburnTheme, }; diff --git a/example/pubspec.yaml b/example/pubspec.yaml index f06e839f..ae6f2b9c 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -10,9 +10,12 @@ environment: dependencies: flutter: { sdk: flutter } flutter_code_editor: { path: ../ } - flutter_highlight: ^0.7.0 - highlight: ^0.7.0 http: ^0.13.5 + highlight: + git: + url: https://github.com/yescorp/highlight.dart.git + ref: 4e75ac3cca4539add6dc53b93bdcb61b9af06fa1 + path: highlight/ dev_dependencies: flutter_test: { sdk: flutter } diff --git a/lib/src/code/code.dart b/lib/src/code/code.dart index 1770a9ac..ce30bfb8 100644 --- a/lib/src/code/code.dart +++ b/lib/src/code/code.dart @@ -144,7 +144,7 @@ class Code { namedSections: sectionsMap, visibleHighlighted: hiddenRanges.cutHighlighted(highlighted)?.splitLines(), - visibleText: hiddenRanges.cutString(text), + visibleText: text, visibleSectionNames: visibleSectionNames, ); } diff --git a/lib/src/folding/parsers/java.dart b/lib/src/folding/parsers/java.dart index 7ec1499f..c063d757 100644 --- a/lib/src/folding/parsers/java.dart +++ b/lib/src/folding/parsers/java.dart @@ -1,4 +1,4 @@ -import 'package:highlight/highlight.dart'; +import 'package:highlight/highlight_core.dart'; import '../../../flutter_code_editor.dart'; import '../../code/code_lines.dart'; diff --git a/lib/src/hidden_ranges/hidden_ranges.dart b/lib/src/hidden_ranges/hidden_ranges.dart index 69787e90..d28c00a0 100644 --- a/lib/src/hidden_ranges/hidden_ranges.dart +++ b/lib/src/hidden_ranges/hidden_ranges.dart @@ -138,19 +138,18 @@ class HiddenRanges { Node cutHighlightedNode(Node node) { final value = cutHighlightedString(node.value); final children = - node.children?.map(cutHighlightedNode).toList(growable: false); + node.children.map(cutHighlightedNode).toList(growable: false); return Node( className: node.className, value: value, - children: children, noPrefix: node.noPrefix, - ); + )..children = children; } final nodes = highlighted.nodes?.map(cutHighlightedNode).toList(growable: false) ?? - const []; + []; return Result( relevance: highlighted.relevance, diff --git a/lib/src/highlight/node.dart b/lib/src/highlight/node.dart index 7c4ac858..9342ecd8 100644 --- a/lib/src/highlight/node.dart +++ b/lib/src/highlight/node.dart @@ -97,8 +97,7 @@ extension MyNode on Node { className: className ?? this.className, value: value ?? this.value, noPrefix: noPrefix ?? this.noPrefix, - children: children ?? this.children, - ); + )..children = children ?? this.children; } extension NodeListExtension on List { diff --git a/pubspec.yaml b/pubspec.yaml index 4c79b9e4..1166ba08 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -14,8 +14,6 @@ dependencies: collection: ^1.16.0 equatable: ^2.0.5 flutter: { sdk: flutter } - flutter_highlight: ^0.7.0 - highlight: ^0.7.0 http: ^0.13.5 linked_scroll_controller: ^0.2.0 meta: ^1.7.0 @@ -23,6 +21,11 @@ dependencies: scrollable_positioned_list: ^0.3.5 tuple: ^2.0.1 url_launcher: ^6.1.8 + highlight: + git: + url: https://github.com/yescorp/highlight.dart.git + ref: 4e75ac3cca4539add6dc53b93bdcb61b9af06fa1 + path: highlight/ dev_dependencies: fake_async: ^1.3.1 diff --git a/test/src/code/code_get_edit_result_test.dart b/test/src/code/code_get_edit_result_test.dart index d4b3365a..9068321e 100644 --- a/test/src/code/code_get_edit_result_test.dart +++ b/test/src/code/code_get_edit_result_test.dart @@ -3,7 +3,7 @@ import 'package:flutter_code_editor/src/code/code.dart'; import 'package:flutter_code_editor/src/code/code_edit_result.dart'; import 'package:flutter_code_editor/src/named_sections/parsers/brackets_start_end.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:highlight/highlight.dart'; +import 'package:highlight/highlight_core.dart'; import 'package:highlight/languages/java.dart'; const _languageName = 'java'; diff --git a/test/src/code/code_hidden_ranges_test.dart b/test/src/code/code_hidden_ranges_test.dart index 061e767f..675ad997 100644 --- a/test/src/code/code_hidden_ranges_test.dart +++ b/test/src/code/code_hidden_ranges_test.dart @@ -3,7 +3,7 @@ import 'package:flutter_code_editor/src/hidden_ranges/hidden_range.dart'; import 'package:flutter_code_editor/src/hidden_ranges/hidden_ranges.dart'; import 'package:flutter_code_editor/src/named_sections/parsers/brackets_start_end.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:highlight/highlight.dart'; +import 'package:highlight/highlight_core.dart'; import 'package:highlight/languages/java.dart'; final _language = java; diff --git a/test/src/code_field/split_highlight_lines_test.dart b/test/src/code_field/split_highlight_lines_test.dart index ea025d7e..2aaf5b3b 100644 --- a/test/src/code_field/split_highlight_lines_test.dart +++ b/test/src/code_field/split_highlight_lines_test.dart @@ -1,7 +1,7 @@ import 'package:flutter_code_editor/src/highlight/node.dart'; import 'package:flutter_code_editor/src/highlight/result.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:highlight/highlight.dart'; +import 'package:highlight/highlight_core.dart'; import 'package:highlight/languages/dart.dart'; const examples = { diff --git a/test/src/common/create_app.dart b/test/src/common/create_app.dart index 60247a6c..fcce91f7 100644 --- a/test/src/common/create_app.dart +++ b/test/src/common/create_app.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_code_editor/flutter_code_editor.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:highlight/highlight.dart'; +import 'package:highlight/highlight_core.dart'; import 'package:highlight/languages/java.dart'; FocusNode focusNode = FocusNode(); diff --git a/test/src/folding/parsers/java_parser_test.dart b/test/src/folding/parsers/java_parser_test.dart index 9e978fa9..57caa97d 100644 --- a/test/src/folding/parsers/java_parser_test.dart +++ b/test/src/folding/parsers/java_parser_test.dart @@ -8,7 +8,7 @@ import 'package:flutter_code_editor/src/service_comment_filter/service_comment_f import 'package:flutter_code_editor/src/single_line_comments/parser/single_line_comment_parser.dart'; import 'package:flutter_code_editor/src/single_line_comments/parser/single_line_comments.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:highlight/highlight.dart'; +import 'package:highlight/highlight_core.dart'; import 'package:highlight/languages/java.dart'; void main() { diff --git a/test/src/hidden_ranges/hidden_ranges_test.dart b/test/src/hidden_ranges/hidden_ranges_test.dart index ab2c4db4..7433b37e 100644 --- a/test/src/hidden_ranges/hidden_ranges_test.dart +++ b/test/src/hidden_ranges/hidden_ranges_test.dart @@ -1,7 +1,7 @@ import 'package:flutter_code_editor/src/hidden_ranges/hidden_range.dart'; import 'package:flutter_code_editor/src/hidden_ranges/hidden_ranges.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:highlight/highlight.dart'; +import 'package:highlight/highlight_core.dart'; const _text = ''' public class MyClass {