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:
55
gallery/codeviewer_cli/README.md
Normal file
55
gallery/codeviewer_cli/README.md
Normal 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();
|
||||
```
|
||||
Reference in New Issue
Block a user