1
0
mirror of https://github.com/flutter/samples.git synced 2025-11-10 23:08:59 +00:00

Merge in the flutter gallery (#176)

This commit is contained in:
rami-a
2019-12-10 16:59:49 -05:00
committed by GitHub
parent 428041b253
commit 6673acc6d7
734 changed files with 198940 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
A command-line application to highlight dart source code.
## Overview
Code segments are highlighted before the app is compiled.
This is done because the highlighting process can take 300ms to finish, creating a noticeable delay when the demo switches to code page.
The highlighter takes all files in the `gallery/lib/demos/` folder and scans each.
Highlighted code widgets are stored in the `gallery/lib/codeviewer/code_segments.dart` file.
Under the root directory, run `make update-code-segments` to run the highlighter.
Wrap a block of code with lines `// BEGIN yourDemoName` and `// END` to mark it for highlighting. The block in between, as well as any copyright notice and imports at the beginning of the file, are automatically taken and highlighted, and stored as `static TextSpan yourDemoName(BuildContext context)` in `gallery/lib/codeviewer/code_segments.dart`.
To display the code, go to `gallery/lib/data/demos.dart`, and add `code: CodeSegments.yourDemoName,` to your `GalleryDemoConfiguration` object.
## Multiple blocks of code
Use the following method to join multiple blocks of code into a single segment:
```
// BEGIN yourDemo#2
a();
// END
b();
// BEGIN yourDemo#1
c();
// END
```
The generated code will be
```
c();
a();
```
Code blocks can nest or overlap. In these cases, specify which file(s) to `END`.
The following source file
```
// BEGIN demoOne
a();
// BEGIN demoTwo
b();
// END demoOne
c();
// END demoTwo
```
will create the following segments:
(demoOne)
```
a();
b();
```
(demoTwo)
```
b();
c();
```