Skip to content

Instantly share code, notes, and snippets.

@sonnny
Created January 1, 2024 09:00
Show Gist options
  • Select an option

  • Save sonnny/18c682f228dda403772be0d943ed6f85 to your computer and use it in GitHub Desktop.

Select an option

Save sonnny/18c682f228dda403772be0d943ed6f85 to your computer and use it in GitHub Desktop.
flutter demo of syntax view showing source file
import 'package:flutter/material.dart';
import 'package:flutter_syntax_view/flutter_syntax_view.dart';
import 'package:get/get.dart';
import './dark_light.dart';
void main() {
runApp(MaterialApp(home:MyApp(),
debugShowCheckedModeBanner:false));}
class MyApp extends StatelessWidget{
@override Widget build(BuildContext context) {
DarkLight dl = Get.put(DarkLight());
return Scaffold(
appBar: AppBar(title: Text('syntax demo'),
actions: [IconButton(icon: Icon(Icons.lightbulb),
onPressed: dl.toggle)]),
body: Column(children:[Container(
height: MediaQuery.of(context).size.height * 0.80,
child: Obx(() => SyntaxView(
code: code,
syntax: Syntax.DART,
syntaxTheme: (dl.dark.value == 'OFF')
? SyntaxTheme.ayuLight()
: SyntaxTheme.monokaiSublime(),
fontSize: 12.0,
withZoom: true,
withLinesCount: true,
expanded: true))),],),);}}
const String code = r"""
// demo of flutter using flutter_syntax_view plugin
// also shows getx plugin example
// to create this flutter app
//
// flutter create syntax_test --empty
// cd syntax_test
// flutter pub add flutter_syntax_view
// flutter pub add get
// cut and paste main.dart below to main.dart
// create a new file dark_light.dart
// copy contents of dark_light.dart below to the file
//
// flutter run
/******************
* main.dart
*****************/
import 'package:flutter/material.dart';
import 'package:flutter_syntax_view/flutter_syntax_view.dart';
import 'package:get/get.dart';
import './dark_light.dart';
void main() {
runApp(MaterialApp(home:MyApp(),
debugShowCheckedModeBanner:false));}
class MyApp extends StatelessWidget{
@override Widget build(BuildContext context) {
DarkLight dl = Get.put(DarkLight());
return Scaffold(
appBar: AppBar(title: Text('syntax demo'),
actions: [IconButton(icon: Icon(Icons.lightbulb),
onPressed: dl.toggle)]),
body: Column(children:[Container(
height: MediaQuery.of(context).size.height * 0.80,
child: Obx(() => SyntaxView(
code: code,
syntax: Syntax.DART,
syntaxTheme: (dl.dark.value == 'OFF')
? SyntaxTheme.ayuLight()
: SyntaxTheme.monokaiSublime(),
fontSize: 12.0,
withZoom: true,
withLinesCount: true,
expanded: true))),],),);}}
/************************
* dark_light.dart
***********************/
import 'package:get/get.dart';
class DarkLight {
var dark = 'OFF'.obs;
toggle() => dark.value = (dark.value == 'OFF') ? 'ON' : 'OFF';}
""";
@sonnny
Copy link
Author

sonnny commented Jan 1, 2024

flutter demo how to show source code in an app using plugins flutter_syntax_view and getx.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment