diff --git a/CHANGELOG.md b/CHANGELOG.md
index 149d8c9..63249e0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,7 @@
 # 2.0.1
 
 * Support triple-shift `>>>` and `>>>=` operators (#992).
+* Support non-function type aliases (#993).
 
 # 2.0.0
 
diff --git a/lib/src/dart_formatter.dart b/lib/src/dart_formatter.dart
index d88af89..7f437a9 100644
--- a/lib/src/dart_formatter.dart
+++ b/lib/src/dart_formatter.dart
@@ -88,7 +88,11 @@
     // command line.
     var featureSet = FeatureSet.fromEnableFlags2(
         sdkLanguageVersion: Version(2, 13, 0),
-        flags: ['non-nullable', 'generic-metadata', 'triple-shift']);
+        flags: [
+          'generic-metadata',
+          'nonfunction-type-aliases',
+          'triple-shift'
+        ]);
 
     var inputOffset = 0;
     var text = source.text;
diff --git a/lib/src/source_visitor.dart b/lib/src/source_visitor.dart
index 6a2ccd4..a39e026 100644
--- a/lib/src/source_visitor.dart
+++ b/lib/src/source_visitor.dart
@@ -1819,7 +1819,7 @@
 
       space();
 
-      visit(node.functionType);
+      visit(node.type);
     });
   }
 
diff --git a/test/splitting/typedef.unit b/test/splitting/typedef.unit
index aa0760f..e2a89a0 100644
--- a/test/splitting/typedef.unit
+++ b/test/splitting/typedef.unit
@@ -60,4 +60,30 @@
         First first,
         Second second,
         Third third,
-        Fourth fourth);
\ No newline at end of file
+        Fourth fourth);
+>>> non-function split type parameters
+typedef G = SomeType<TypeOne, TypeTwo, TypeThree>;
+<<<
+typedef G = SomeType<TypeOne, TypeTwo,
+    TypeThree>;
+>>> non-function split all type parameters
+typedef G = SomeType<TypeOne, TypeTwo, TypeThree, TypeFour, TypeFive, TypeSix>;
+<<<
+typedef G = SomeType<
+    TypeOne,
+    TypeTwo,
+    TypeThree,
+    TypeFour,
+    TypeFive,
+    TypeSix>;
+>>> non-function generic typedef parameters on one line
+typedef Foo<T, S> = SomeType;
+<<<
+typedef Foo<T, S> = SomeType;
+>>> non-function generic typedef parameters that split
+typedef LongGenericType<First, Second, Third, Fourth, Fifth, Sixth> = AnotherType<First, Second, Third, Fourth>;
+<<<
+typedef LongGenericType<First, Second,
+        Third, Fourth, Fifth, Sixth>
+    = AnotherType<First, Second, Third,
+        Fourth>;
\ No newline at end of file
diff --git a/test/whitespace/metadata.unit b/test/whitespace/metadata.unit
index 87ed0b7..37a311a 100644
--- a/test/whitespace/metadata.unit
+++ b/test/whitespace/metadata.unit
@@ -270,6 +270,11 @@
 <<<
 @foo
 typedef Fn = Function();
+>>> metadata on non-function typedef
+@foo typedef Hash< @a  K, @b  (  1  )  V  >  =  Map < K ,  V >   ;
+<<<
+@foo
+typedef Hash<@a K, @b(1) V> = Map<K, V>;
 >>> single metadata on for-in loop variable
 main() {
   for (   @a    var i in list) {;}
diff --git a/test/whitespace/typedef.unit b/test/whitespace/typedef.unit
index 71d697c..077b05b 100644
--- a/test/whitespace/typedef.unit
+++ b/test/whitespace/typedef.unit
@@ -37,4 +37,16 @@
 >>> generic function
 typedef    Foo  =Function  < A ,B  >   ( A a,B b );
 <<<
-typedef Foo = Function<A, B>(A a, B b);
\ No newline at end of file
+typedef Foo = Function<A, B>(A a, B b);
+>>>
+typedef    Foo   =   Bar;
+<<<
+typedef Foo = Bar;
+>>> non-function typedef
+typedef   Json  =  Map <   String ,  Object  ? >   ;
+<<<
+typedef Json = Map<String, Object?>;
+>>> non-function generic typedef
+typedef   Hash  <  K,  V  >  =  Map < K ,  V >   ;
+<<<
+typedef Hash<K, V> = Map<K, V>;
\ No newline at end of file
