| // Copyright 2014 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import 'package:flutter/material.dart'; |
| |
| class CodeStyle extends InheritedWidget { |
| const CodeStyle({ |
| super.key, |
| this.baseStyle, |
| this.numberStyle, |
| this.commentStyle, |
| this.keywordStyle, |
| this.stringStyle, |
| this.punctuationStyle, |
| this.classStyle, |
| this.constantStyle, |
| required super.child, |
| }); |
| |
| final TextStyle? baseStyle; |
| final TextStyle? numberStyle; |
| final TextStyle? commentStyle; |
| final TextStyle? keywordStyle; |
| final TextStyle? stringStyle; |
| final TextStyle? punctuationStyle; |
| final TextStyle? classStyle; |
| final TextStyle? constantStyle; |
| |
| static CodeStyle of(BuildContext context) { |
| return context.dependOnInheritedWidgetOfExactType<CodeStyle>()!; |
| } |
| |
| @override |
| bool updateShouldNotify(CodeStyle oldWidget) => |
| oldWidget.baseStyle != baseStyle || |
| oldWidget.numberStyle != numberStyle || |
| oldWidget.commentStyle != commentStyle || |
| oldWidget.keywordStyle != keywordStyle || |
| oldWidget.stringStyle != stringStyle || |
| oldWidget.punctuationStyle != punctuationStyle || |
| oldWidget.classStyle != classStyle || |
| oldWidget.constantStyle != constantStyle; |
| } |