diff --git a/lib/src/editor/spellchecker/default_spellchecker_service.dart b/lib/src/editor/spellchecker/default_spellchecker_service.dart new file mode 100644 index 00000000..6e1baeb0 --- /dev/null +++ b/lib/src/editor/spellchecker/default_spellchecker_service.dart @@ -0,0 +1,11 @@ +import 'package:flutter/services.dart'; +import 'spellchecker_service.dart'; + +class DefaultSpellcheckerService extends SpellcheckerService{ + DefaultSpellcheckerService() : super(language: 'en'); + + @override + List? getSuggestions(String text) { + return null; + } +} diff --git a/lib/src/editor/spellchecker/spellchecker_service.dart b/lib/src/editor/spellchecker/spellchecker_service.dart new file mode 100644 index 00000000..38f34ac5 --- /dev/null +++ b/lib/src/editor/spellchecker/spellchecker_service.dart @@ -0,0 +1,12 @@ +import 'package:flutter/services.dart'; + +abstract class SpellcheckerService { + SpellcheckerService({ + required this.language, + }); + + final String language; + List? getSuggestions(String text); +} + + diff --git a/lib/src/editor/spellchecker/spellchecker_service_provider.dart b/lib/src/editor/spellchecker/spellchecker_service_provider.dart new file mode 100644 index 00000000..2e4eb2f0 --- /dev/null +++ b/lib/src/editor/spellchecker/spellchecker_service_provider.dart @@ -0,0 +1,19 @@ +import 'package:flutter/foundation.dart' show immutable; +import 'default_spellchecker_service.dart'; +import 'spellchecker_service.dart'; + +@immutable +class SpellcheckerServiceProvider { + const SpellcheckerServiceProvider._(); + static SpellcheckerService _instance = DefaultSpellcheckerService(); + + static SpellcheckerService get instance => _instance; + + static void setInstance(SpellcheckerService service) { + _instance = service; + } + + static void setInstanceToDefault() { + _instance = DefaultSpellcheckerService(); + } +}