diff --git a/snippets/README.md b/snippets/README.md index 8264e8e2e..f8263b088 100644 --- a/snippets/README.md +++ b/snippets/README.md @@ -1,20 +1,20 @@ -## Available Dart 1 and Dart 2 Backwards Compatible Code Snippets +## Available Code Snippets Below is a list of all available Dart 2 builder-compatible over_react snippets and their
triggers for Webstorm/IntelliJ and VS Code. -| Trigger | Content | -| -------: | ------- | -| `orStless` | Dart 2 stateless component skeleton | -| `orCStless` | Dart 2 commented stateless component skeleton | -| `orAbsStless` | Dart 2 abstract stateless component skeleton | -| `orCAbsStless` | Dart 2 commented abstract stateless component skeleton | -| `orStful` | Dart 2 stateful component skeleton | -| `orCStful` | Dart 2 commented stateful component skeleton | -| `orAbsStful` | Dart 2 abstract stateful component skeleton | -| `orCAbsStful` | Dart 2 commented abstract stateful component skeleton | -| `orPropsMixin` | Dart 2 prop mixin skeleton | -| `orStateMixin` | Dart 2 state mixin skeleton | +| Trigger - Dart 1/2 Compatible | Trigger - Dart 2 Only | Content | +| -------: | ------- | ------- | +| `orStless` | `ord2Stless` | Dart 2 stateless component skeleton | +| `orCStless` | `ord2CStless` | Dart 2 commented stateless component skeleton | +| `orAbsStless` | `ord2AbsStless` | Dart 2 abstract stateless component skeleton | +| `orCAbsStless` | `ord2CAbsStless` | Dart 2 commented abstract stateless component skeleton | +| `orStful` | `ord2Stful` | Dart 2 stateful component skeleton | +| `orCStful` | `ord2CStful` | Dart 2 commented stateful component skeleton | +| `orAbsStful` | `ord2AbsStful` | Dart 2 abstract stateful component skeleton | +| `orCAbsStful` | `orCAbsStful` | Dart 2 commented abstract stateful component skeleton | +| `orPropsMixin` | N/A | Dart 2 prop mixin skeleton (unnecessary in Dart 2 only) | +| `orStateMixin` | N/A | Dart 2 state mixin skeleton (unnecessary in Dart 2 only) | ## WebStorm and IntelliJ Snippets @@ -24,10 +24,16 @@ triggers for Webstorm/IntelliJ and VS Code. 1. Copy the command below and run it in your terminal. + For Dart 1/2 compatible snippets: ```bash - curl https://raw.githubusercontent.com/Workiva/over_react/master/snippets/snippets.xml | pbcopy + curl https://raw.githubusercontent.com/Workiva/over_react/master/snippets/dart1-2/snippets.xml | pbcopy ``` + For Dart 2 only snippets: + ```bash + curl https://raw.githubusercontent.com/Workiva/over_react/master/snippets/dart2-only/snippets.xml | pbcopy + ``` + 2. Open preferences and select "Editor" > "Live Templates" 3. (Optional) Create a new "OverReact Snippets" group by clicking the "+" button in the
upper right corner and selecting "Template Group..." @@ -43,8 +49,14 @@ triggers for Webstorm/IntelliJ and VS Code. 1. Copy the command below and run it in your terminal. + For Dart 1/2 compatible snippets: + ```bash + curl https://raw.githubusercontent.com/Workiva/over_react/master/snippets/dart1-2/snippets.json | pbcopy + ``` + + For Dart 2 only snippets: ```bash - curl https://raw.githubusercontent.com/Workiva/over_react/master/snippets/snippets.json | pbcopy + curl https://raw.githubusercontent.com/Workiva/over_react/master/snippets/dart2-only/snippets.json | pbcopy ``` 2. Click on "Code", select "Preferences" and select "User Snippets" diff --git a/snippets/snippets.json b/snippets/dart1-2/snippets.json similarity index 100% rename from snippets/snippets.json rename to snippets/dart1-2/snippets.json diff --git a/snippets/snippets.xml b/snippets/dart1-2/snippets.xml similarity index 100% rename from snippets/snippets.xml rename to snippets/dart1-2/snippets.xml diff --git a/snippets/dart2-only/snippets.json b/snippets/dart2-only/snippets.json new file mode 100644 index 000000000..b5b2a0edb --- /dev/null +++ b/snippets/dart2-only/snippets.json @@ -0,0 +1,302 @@ +{ + "statelessComponentsDart2": { + "prefix": "ord2Stless", + "body": [ + "import 'package:over_react/over_react.dart';", + "", + "part '${1:FileName}.over_react.g.dart';", + "", + "@Factory()", + "UiFactory<${2:MyComponent}Props> ${2:MyComponent} = _$${2:MyComponent};", + "", + "@Props()", + "class _$${2:MyComponent}Props extends UiProps {", + "", + "}", + "", + "@Component()", + "class ${2:MyComponent}Component extends UiComponent<${2:MyComponent}Props> {", + "\t@override", + "\tMap getDefaultProps() => (newProps());", + "", + "\t@override", + "\trender() { }", + "}" + ], + "description": "Creates a stateless OverReact component compatible with Dart 2" + }, + "statelessCommentedComponentsDart2": { + "prefix": "ord2CStless", + "body": [ + "import 'package:over_react/over_react.dart';", + "", + "part '${1:FileName}.over_react.g.dart';", + "", + "@Factory()", + "UiFactory<${2:MyComponent}Props> ${2:MyComponent} = _$${2:MyComponent};", + "", + "@Props()", + "class _$${2:MyComponent}Props extends UiProps {", + "", + "}", + "", + "@Component()", + "class ${2:MyComponent}Component extends UiComponent<${2:MyComponent}Props> {", + "\t// Refs", + "", + "\t// --------------------------------------------------------------------------", + "\t// React Component Specifications and Lifecycle Methods", + "\t// --------------------------------------------------------------------------", + "", + "\t@override", + "\tMap getDefaultProps() => (newProps());", + "", + "\t@override", + "\trender() { }", + "", + "\t// --------------------------------------------------------------------------", + "\t// Private Utility Methods", + "\t// --------------------------------------------------------------------------", + "", + "\t// --------------------------------------------------------------------------", + "\t// Public Utility Methods", + "\t// --------------------------------------------------------------------------", + "", + "\t// --------------------------------------------------------------------------", + "\t// Public API Methods", + "\t// --------------------------------------------------------------------------", + "}" + ], + "description": "Creates a commented stateless OverReact component compatible with Dart 2" + }, + "abstractStatelessComponentsDart2": { + "prefix": "ord2AbsStless", + "body": [ + "import 'package:over_react/over_react.dart';", + "", + "part '${1:FileName}.over_react.g.dart';", + "", + "@AbstractProps()", + "abstract class _$${2:MyComponent}Props extends UiProps {", + "", + "}", + "", + "@AbstractComponent()", + "abstract class ${2:MyComponent}Component extends UiComponent {", + "\t@override", + "\tMap getDefaultProps() => (newProps());", + "", + "\t@override", + "\trender() { }", + "}" + ], + "description": "Creates an abstract stateless OverReact component compatible with Dart 2" + }, + "abstractCommentedStatelessComponentsDart2": { + "prefix": "ord2CAbsStless", + "body": [ + "import 'package:over_react/over_react.dart';", + "", + "part '${1:FileName}.over_react.g.dart';", + "", + "@AbstractProps()", + "abstract class _$${2:MyComponent}Props extends UiProps {", + "", + "}", + "", + "@AbstractComponent()", + "abstract class ${2:MyComponent}Component extends UiComponent {", + "\t// Refs", + "", + "\t// --------------------------------------------------------------------------", + "\t// React Component Specifications and Lifecycle Methods", + "\t// --------------------------------------------------------------------------", + "", + "\t@override", + "\tMap getDefaultProps() => (newProps());", + "", + "\t@override", + "\trender() { }", + "", + "\t// --------------------------------------------------------------------------", + "\t// Private Utility Methods", + "\t// --------------------------------------------------------------------------", + "", + "\t// --------------------------------------------------------------------------", + "\t// Public Utility Methods", + "\t// --------------------------------------------------------------------------", + "", + "\t// --------------------------------------------------------------------------", + "\t// Public API Methods", + "\t// --------------------------------------------------------------------------", + "}" + ], + "description": "Creates an commented abstract stateless OverReact component compatible with Dart 2" + }, + "statefulComponentsDart2": { + "prefix": "ord2Stful", + "body": [ + "import 'package:over_react/over_react.dart';", + "", + "part '${1:FileName}.over_react.g.dart';", + "", + "@Factory()", + "UiFactory<${2:MyComponent}Props> ${2:MyComponent} = _$${2:MyComponent};", + "", + "@Props()", + "class _$${2:MyComponent}Props extends UiProps {", + "", + "}", + "", + "@State()", + "class _$${2:MyComponent}State extends UiState {", + "", + "}", + "", + "@Component()", + "class ${2:MyComponent}Component extends UiStatefulComponent<${2:MyComponent}Props, ${2:MyComponent}State> {", + "\t@override", + "\tMap getDefaultProps() => (newProps());", + "", + "\t@override", + "\tMap getInitialState() => (newState());", + "", + "\t@override", + "\trender() { }", + "}" + ], + "description": "Creates a stateful OverReact component compatible with Dart 2" + }, + "statefulCommentedComponentsDart2": { + "prefix": "ord2CStful", + "body": [ + "import 'package:over_react/over_react.dart';", + "", + "part '${1:FileName}.over_react.g.dart';", + "", + "@Factory()", + "UiFactory<${2:MyComponent}Props> ${2:MyComponent} = _$${2:MyComponent};", + "", + "@Props()", + "class _$${2:MyComponent}Props extends UiProps {", + "", + "}", + "", + "@State()", + "class _$${2:MyComponent}State extends UiState {", + "", + "}", + "", + "@Component()", + "class ${2:MyComponent}Component extends UiStatefulComponent<${2:MyComponent}Props, ${2:MyComponent}State> {", + "\t// Refs", + "", + "\t// --------------------------------------------------------------------------", + "\t// React Component Specifications and Lifecycle Methods", + "\t// --------------------------------------------------------------------------", + "", + "\t@override", + "\tMap getDefaultProps() => (newProps());", + "", + "\t@override", + "\tMap getInitialState() => (newState());", + "", + "\t@override", + "\trender() { }", + "", + "\t// --------------------------------------------------------------------------", + "\t// Private Utility Methods", + "\t// --------------------------------------------------------------------------", + "", + "\t// --------------------------------------------------------------------------", + "\t// Public Utility Methods", + "\t// --------------------------------------------------------------------------", + "", + "\t// --------------------------------------------------------------------------", + "\t// Public API Methods", + "\t// --------------------------------------------------------------------------", + "}" + ], + "description": "Creates a commented stateful OverReact component compatible with Dart 2" + }, + "abstractStatefulComponentsDart2": { + "prefix": "ord2AbsStful", + "body": [ + "import 'package:over_react/over_react.dart';", + "", + "part '${1:FileName}.over_react.g.dart';", + "", + "@AbstractProps()", + "abstract class _$${2:MyComponent}Props extends UiProps {", + "", + "}", + "", + "@AbstractState()", + "abstract class _$${2:MyComponent}State extends UiState {", + "", + "}", + "", + "@AbstractComponent()", + "abstract class ${2:MyComponent}Component extends UiStatefulComponent {", + "\t@override", + "\tMap getDefaultProps() => (newProps());", + "", + "\t@override", + "\tMap getInitialState() => (newState());", + "", + "\t@override", + "\trender() { }", + "}" + ], + "description": "Creates an abstract stateful OverReact component compatible with Dart 2" + }, + "abstractCommentedStatefulComponentsDart2": { + "prefix": "ord2CAbsStful", + "body": [ + "import 'package:over_react/over_react.dart';", + "", + "part '${1:FileName}.over_react.g.dart';", + "", + "@AbstractProps()", + "abstract class _$${2:MyComponent}Props extends UiProps {", + "", + "}", + "", + "@AbstractState()", + "abstract class _$${2:MyComponent}State extends UiState {", + "", + "}", + "", + "@AbstractComponent()", + "abstract class ${2:MyComponent}Component extends UiStatefulComponent {", + "\t// Refs", + "", + "\t// --------------------------------------------------------------------------", + "\t// React Component Specifications and Lifecycle Methods", + "\t// --------------------------------------------------------------------------", + "", + "\t@override", + "\tMap getDefaultProps() => (newProps());", + "", + "\t@override", + "\tMap getInitialState() => (newState());", + "", + "\t@override", + "\trender() { }", + "", + "\t// --------------------------------------------------------------------------", + "\t// Private Utility Methods", + "\t// --------------------------------------------------------------------------", + "", + "\t// --------------------------------------------------------------------------", + "\t// Public Utility Methods", + "\t// --------------------------------------------------------------------------", + "", + "\t// --------------------------------------------------------------------------", + "\t// Public API Methods", + "\t// --------------------------------------------------------------------------", + "}" + ], + "description": "Creates an commented abstract stateful OverReact component compatible with Dart 2" + } +} \ No newline at end of file diff --git a/snippets/dart2-only/snippets.xml b/snippets/dart2-only/snippets.xml new file mode 100644 index 000000000..86cb3a3f7 --- /dev/null +++ b/snippets/dart2-only/snippets.xml @@ -0,0 +1,56 @@ + + + + + + + + \ No newline at end of file