Support clock handles.

Change-Id: I30970f19b565ff49fbe6978ee0173636de9f1a96
diff --git a/resources/META-INF/plugin.xml b/resources/META-INF/plugin.xml
index a6ae9b2..f5537ed 100644
--- a/resources/META-INF/plugin.xml
+++ b/resources/META-INF/plugin.xml
@@ -24,6 +24,7 @@
             <li>Support union ordinals and remove xunion.</li>
             <li>Support service declarations.</li>
             <li>Improve compatibility with IJ 2019.3, and shrink JAR size</li>
+            <li>Support clock handle type.</li>
           </ul>
         </li>
         <li><b>0.13</b>
diff --git a/src/fuchsia/developer/plugin/fidl/ContextAwareHighlighter.java b/src/fuchsia/developer/plugin/fidl/ContextAwareHighlighter.java
index 091ef85..c9af9f2 100644
--- a/src/fuchsia/developer/plugin/fidl/ContextAwareHighlighter.java
+++ b/src/fuchsia/developer/plugin/fidl/ContextAwareHighlighter.java
@@ -50,6 +50,7 @@
             "thread",
             "vmo",
             "channel",
+            "clock",
             "event",
             "port",
             "interrupt",
diff --git a/src/fuchsia/developer/plugin/fidl/Fidl.bnf b/src/fuchsia/developer/plugin/fidl/Fidl.bnf
index 05546b2..fc5ef13 100644
--- a/src/fuchsia/developer/plugin/fidl/Fidl.bnf
+++ b/src/fuchsia/developer/plugin/fidl/Fidl.bnf
@@ -116,7 +116,7 @@
 
 handle-type ::= HANDLE ( LANGLE handle-subtype RANGLE )? ( QUESTION )?
 
-handle-subtype ::= PROCESS | THREAD | VMO | CHANNEL | EVENT | PORT |
+handle-subtype ::= PROCESS | THREAD | VMO | CHANNEL | CLOCK |  EVENT | PORT |
                    INTERRUPT | LOG | SOCKET | RESOURCE | EVENTPAIR |
                    JOB | VMAR | FIFO | GUEST | TIMER | EXCEPTION
 
@@ -138,4 +138,5 @@
                      TIMER | UNION | USING_T | VECTOR | VMAR | VMO | XUNION | BOOL | FLOAT32 |
                      FLOAT64 | INT8 | INT16 | INT32 | INT64 | UINT8 | UINT16 | UINT32 | UINT64 |
                      TRUE | FALSE | PROTOCOL | COMPOSE | BITS | BYTES | EXCEPTION | STRICT |
-                     IOMMU | PAGER | PCIDEVICE | PMT | SUSPENDTOKEN | VCPU | SERVICE | FLEXIBLE
+                     IOMMU | PAGER | PCIDEVICE | PMT | SUSPENDTOKEN | VCPU | SERVICE | FLEXIBLE |
+                     CLOCK
diff --git a/src/fuchsia/developer/plugin/fidl/FidlLexer.flex b/src/fuchsia/developer/plugin/fidl/FidlLexer.flex
index 45d0e9e..1bb298b 100644
--- a/src/fuchsia/developer/plugin/fidl/FidlLexer.flex
+++ b/src/fuchsia/developer/plugin/fidl/FidlLexer.flex
@@ -57,6 +57,7 @@
 
 // Handle subtypes
 CHANNEL=channel
+CLOCK=clock
 EVENT=event
 EVENTPAIR=eventpair
 EXCEPTION=exception
@@ -154,6 +155,7 @@
   {FLEXIBLE} { return FLEXIBLE; }
 
   {CHANNEL} { return CHANNEL; }
+  {CLOCK} { return CLOCK; }
   {EVENT}  { return EVENT; }
   {EVENTPAIR} { return EVENTPAIR; }
   {EXCEPTION} { return EXCEPTION; }