anchor.diff:    /// Run button
     fl.Button runButton;
   
  -  /// Console output
  -  fl.TextDisplay console;
  -
  -  /// Console buffer and stylebuffer
  -  fl.TextBuffer consoleBuffer, consoleStyleBuffer;
  -
  -  /// Console styletable
  +  /// Dart keywords
  +  static const dartKeywords = const [
  +    // Types
  +    'num', 'int', 'double', 'String', 'List', 'Map',
  +
  +    // Keywords
  +    'abstract', 'continue', 'false', 'new', 'this',
  +    //
  +    'as', 'default', 'final', 'null', 'throw',
  +    //
  +    'assert', 'deferred', 'finally', 'operator', 'true',
  +    //
  +    'async', 'do', 'for', 'part', 'try',
  +    //
  +    'async*', 'dynamic', 'get', 'rethrow', 'typedef',
  +    //
  +    'await', 'else', 'if', 'return', 'var',
  +    //
  +    'break', 'enum', 'implements', 'set', 'void',
  +    //
  +    'case', 'export', 'import', 'static', 'while',
  +    //
  +    'catch', 'external', 'in', 'super', 'with',
  +    //
  +    'class', 'extends', 'is', 'switch', 'yield',
  +    //
  +    'const', 'factory', 'library', 'sync*', 'yield*'
  +  ];
  +
  +  /// Editor style table
  +  final editorStyleTable = [
  +    // A - Normal text
  +    new fl.StyleEntry(color: fl.grayscale(223), font: fl.COURIER, size: 18),
  +
  +    // B - Comments
  +    new fl.StyleEntry(
  +        color: fl.grayscale(151), font: fl.COURIER_BOLD_ITALIC, size: 18),
  +
  +    // C - Keywords
  +    new fl.StyleEntry(
  +        color: fl.rgbColor(255, 160, 255), font: fl.COURIER_BOLD, size: 18),
  +
  +    // D - Strings
  +    new fl.StyleEntry(
  +        color: fl.rgbColor(80, 223, 80), font: fl.COURIER, size: 18)
  +  ];
  +
  +  /// Console style table
     final consoleStyleTable = [
  +    // A - Normal text
       new fl.StyleEntry(color: fl.grayscale(223), font: fl.COURIER, size: 18),
  +
  +    // B - Errors
       new fl.StyleEntry(
           color: fl.rgbColor(255, 80, 80), font: fl.COURIER, size: 18)
     ];
  
positive.code:   pad.show();
    return fl.runAsync();
  }
  
negative.code:   return dst;
  }
  
  /// Class to manage a single text display or editor.
  class StyledText<T extends fl.TextDisplay> {
    T d;
  
    /// Text buffer and style buffer
    fl.TextBuffer textBuffer, styleBuffer;
  
    StyledText() {
      textBuffer = new fl.TextBuffer();
      styleBuffer = new fl.TextBuffer();
    }
  
    /// Initialize
    void init(List<fl.StyleEntry> styletable) {
      d.highlightData(styleBuffer, styletable);
      d.buffer = textBuffer;
      d.box = fl.FLAT_BOX;
      d.cursorStyle = fl.TextDisplay.SIMPLE_CURSOR;
      d.textFont = fl.COURIER;
      d.textSize = 18;
      d.linenumberFont = fl.COURIER_BOLD;
      d.scrollbarBox = fl.FLAT_BOX;
      d.scrollbarTrackColor = fl.grayscale(51);
    }
  }
  
  /// DartPad in Dart!
  class DartPad extends fl.DoubleWindow {
    /// Code editor
    final editor = new StyledText<fl.TextEditor>();
  
    /// Console output
    final console = new StyledText<fl.TextDisplay>();
  
    /// Toolbar group
    fl.Group toolbar;
  