diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## GHC syntax highlighter 0.0.3.0
+
+* Compiles with GHC 8.6.
+
 ## GHC syntax highlighter 0.0.2.0
 
 * Added `Loc` and `tokenizeHaskellLoc`.
diff --git a/GHC/SyntaxHighlighter.hs b/GHC/SyntaxHighlighter.hs
--- a/GHC/SyntaxHighlighter.hs
+++ b/GHC/SyntaxHighlighter.hs
@@ -13,6 +13,7 @@
 -- This library uses GHC's lexer, so the result is guaranteed to be 100%
 -- correct, as if it was parsed by GHC itself.
 
+{-# LANGUAGE CPP                           #-}
 {-# LANGUAGE LambdaCase                    #-}
 {-# LANGUAGE OverloadedStrings             #-}
 {-# LANGUAGE TupleSections                 #-}
@@ -209,6 +210,9 @@
   L.ITstatic    -> KeywordTok
   L.ITstock     -> KeywordTok
   L.ITanyclass  -> KeywordTok
+#if MIN_VERSION_ghc(8,6,1)
+  L.ITvia       -> KeywordTok
+#endif
   L.ITunit      -> KeywordTok
   L.ITsignature -> KeywordTok
   L.ITdependency -> KeywordTok
@@ -234,9 +238,11 @@
   L.IToptions_prag _ -> PragmaTok
   L.ITinclude_prag _ -> PragmaTok
   L.ITlanguage_prag -> PragmaTok
+#if !MIN_VERSION_ghc(8,6,1)
   L.ITvect_prag _ -> PragmaTok
   L.ITvect_scalar_prag _ -> PragmaTok
   L.ITnovect_prag _ -> PragmaTok
+#endif
   L.ITminimal_prag _ -> PragmaTok
   L.IToverlappable_prag _ -> PragmaTok
   L.IToverlapping_prag _ -> PragmaTok
@@ -255,9 +261,14 @@
   L.ITrarrow _ -> SymbolTok
   L.ITat -> SymbolTok
   L.ITtilde -> SymbolTok
+#if !MIN_VERSION_ghc(8,6,1)
   L.ITtildehsh -> SymbolTok
+#endif
   L.ITdarrow _ -> SymbolTok
   L.ITbang -> SymbolTok
+#if MIN_VERSION_ghc(8,6,1)
+  L.ITstar _ -> SymbolTok
+#endif
   L.ITbiglam -> SymbolTok
   L.ITocurly -> SymbolTok
   L.ITccurly -> SymbolTok
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -17,7 +17,7 @@
 
 Parsing Haskell is hard, because Haskell is a complex language with
 countless features. The only way to get it right 100% is to use parser of
-GHC itself. Fortunately, now there is [`ghc`][ghc] package, which as of
+GHC itself. Fortunately, now there is the [`ghc`][ghc] package, which as of
 version 8.4.1 exports enough of GHC's source code to allow us use its lexer.
 
 Alternative approaches, even decent ones like [`highlight.js`][hljs] either
@@ -114,7 +114,7 @@
 ```
 
 `Nothing` is rarely returned if ever, because it looks like the lexer is
-capable of interpreting almost any text as some stream of GHC tokens.
+capable of interpreting almost any text as a stream of GHC tokens.
 
 ## How to use it in your blog
 
@@ -134,7 +134,7 @@
 Issues, bugs, and questions may be reported in [the GitHub issue tracker for
 this project](https://github.com/mrkkrp/ghc-syntax-highlighter/issues).
 
-Pull requests are also welcome and will be reviewed quickly.
+Pull requests are also welcome.
 
 ## License
 
diff --git a/ghc-syntax-highlighter.cabal b/ghc-syntax-highlighter.cabal
--- a/ghc-syntax-highlighter.cabal
+++ b/ghc-syntax-highlighter.cabal
@@ -1,7 +1,7 @@
 name:                 ghc-syntax-highlighter
-version:              0.0.2.0
+version:              0.0.3.0
 cabal-version:        1.18
-tested-with:          GHC==8.4.2
+tested-with:          GHC==8.4.4, GHC==8.6.2
 license:              BSD3
 license-file:         LICENSE.md
 author:               Mark Karpov <markkarpov92@gmail.com>
@@ -27,7 +27,7 @@
 
 library
   build-depends:      base             >= 4.11 && < 5.0
-                    , ghc              >= 8.4  && < 8.5
+                    , ghc              >= 8.4  && < 8.7
                     , text             >= 0.2  && < 1.3
   exposed-modules:    GHC.SyntaxHighlighter
   if flag(dev)
