A versatile text editor widget for Flutter applications, supporting syntax highlighting, editable regions, and customizable appearance.
Include the necessary imports in your Dart file:
import 'package:phone_ide/editor/editor.dart'; import 'package:phone_ide/editor/editor_options.dart';Here's a basic example of how to integrate the Editor widget into your Flutter app:
Editor( options: EditorOptions( backgroundColor: Colors.black, linebarColor: Colors.grey.shade800, linebarTextColor: Colors.white, showLinebar: true, takeFullHeight: true, fontFamily: 'Courier', regionOptions: EditorRegionOptions( start: 3, end: 10, color: Colors.grey.shade900, ), ), defaultLanguage: 'dart', defaultValue: ''' void main() { print('Hello, World!'); } ''', path: 'main.dart', );- options (
EditorOptions): Customize appearance and behavior of the editor. - defaultLanguage (
String): Initial programming language setting (for syntax highlighting). - defaultValue (
String): Initial content displayed in the editor. - path (
String): Identifier for the file, typically the filename.
You can adjust the appearance by tweaking the EditorOptions:
EditorOptions( backgroundColor: Colors.blueGrey, linebarColor: Colors.black54, fontFamily: 'Monaco', isEditable: false, );You can listen for changes in the editor content through the provided streams:
final editor = Editor( options: EditorOptions(), defaultLanguage: 'dart', defaultValue: '', path: 'script.dart', ); editor.onTextChange.stream.listen((content) { print('Editor content changed: \$content'); }); editor.editableRegion.stream.listen((editableContent) { print('Editable region content: \$editableContent'); });This project is licensed under the MIT License.