diff --git a/api b/api
Binary files a/api and b/api differ
diff --git a/library/Neovim/API/Parser.hs b/library/Neovim/API/Parser.hs
--- a/library/Neovim/API/Parser.hs
+++ b/library/Neovim/API/Parser.hs
@@ -30,9 +30,6 @@
 import           UnliftIO.Exception                        (SomeException,
                                                             catch)
 
-import           Data.Text.Prettyprint.Doc                 (Doc, Pretty(..), (<+>))
-import           Data.Text.Prettyprint.Doc.Render.Terminal (AnsiStyle)
-
 import           Prelude
 
 data NeovimType = SimpleType String
diff --git a/library/Neovim/API/TH.hs b/library/Neovim/API/TH.hs
--- a/library/Neovim/API/TH.hs
+++ b/library/Neovim/API/TH.hs
@@ -57,7 +57,7 @@
 import           Data.Monoid
 import qualified Data.Set                 as Set
 import           Data.Text                (Text)
-import           Data.Text.Prettyprint.Doc ((<+>), Doc, viaShow, Pretty(..))
+import           Data.Text.Prettyprint.Doc (viaShow)
 import           Data.Vector              (Vector)
 import           UnliftIO.Exception
 
diff --git a/library/Neovim/Context/Internal.hs b/library/Neovim/Context/Internal.hs
--- a/library/Neovim/Context/Internal.hs
+++ b/library/Neovim/Context/Internal.hs
@@ -39,9 +39,7 @@
 import           System.Log.Logger
 import           UnliftIO
 
-import           Data.Text.Prettyprint.Doc                 (Doc, Pretty (..),
-                                                            viaShow)
-import           Data.Text.Prettyprint.Doc.Render.Terminal (AnsiStyle)
+import           Data.Text.Prettyprint.Doc                 (viaShow)
 
 import qualified Control.Monad.Fail as Fail
 import           Prelude
diff --git a/library/Neovim/Debug.hs b/library/Neovim/Debug.hs
--- a/library/Neovim/Debug.hs
+++ b/library/Neovim/Debug.hs
@@ -46,7 +46,6 @@
 
 import           Data.Text.Prettyprint.Doc                 (nest, softline,
                                                             vcat, vsep)
-import           Data.Text.Prettyprint.Doc.Render.Terminal (putDoc)
 
 import           Prelude
 
diff --git a/library/Neovim/Plugin/Classes.hs b/library/Neovim/Plugin/Classes.hs
--- a/library/Neovim/Plugin/Classes.hs
+++ b/library/Neovim/Plugin/Classes.hs
@@ -191,6 +191,8 @@
                    --
                    -- Stringliteral: \"!\"
 
+                   | CmdComplete String
+                   -- ^ Verbatim string passed to the @-complete=@ command attribute
     deriving (Eq, Ord, Show, Read, Generic)
 
 instance NFData CommandOption
@@ -216,7 +218,10 @@
         CmdBang ->
             "!"
 
+        CmdComplete cs ->
+          pretty cs
 
+
 instance IsString CommandOption where
     fromString = \case
         "%"     -> CmdRange WholeFile
@@ -268,12 +273,13 @@
         (toObject :: Dictionary -> Object) . Map.fromList $ mapMaybe addOption opts
       where
         addOption = \case
-            CmdRange r    -> Just ("range"   , toObject r)
-            CmdCount n    -> Just ("count"   , toObject n)
-            CmdBang       -> Just ("bang"    , ObjectBinary "")
-            CmdRegister   -> Just ("register", ObjectBinary "")
-            CmdNargs n    -> Just ("nargs"   , toObject n)
-            _             -> Nothing
+            CmdRange r     -> Just ("range"   , toObject r)
+            CmdCount n     -> Just ("count"   , toObject n)
+            CmdBang        -> Just ("bang"    , ObjectBinary "")
+            CmdRegister    -> Just ("register", ObjectBinary "")
+            CmdNargs n     -> Just ("nargs"   , toObject n)
+            CmdComplete cs -> Just ("complete", toObject cs)
+            _              -> Nothing
 
     fromObject o = throwError $
         "Did not expect to receive a CommandOptions object:" <+> viaShow o
diff --git a/library/Neovim/Plugin/IPC/Classes.hs b/library/Neovim/Plugin/IPC/Classes.hs
--- a/library/Neovim/Plugin/IPC/Classes.hs
+++ b/library/Neovim/Plugin/IPC/Classes.hs
@@ -39,7 +39,7 @@
 import           Data.MessagePack
 import           Data.Time                 (UTCTime, formatTime, getCurrentTime)
 import           Data.Time.Locale.Compat   (defaultTimeLocale)
-import           Data.Text.Prettyprint.Doc (Pretty (..), nest, hardline, (<+>), (<>), viaShow)
+import           Data.Text.Prettyprint.Doc (nest, hardline, viaShow)
 
 import           Prelude
 
diff --git a/library/Neovim/Quickfix.hs b/library/Neovim/Quickfix.hs
--- a/library/Neovim/Quickfix.hs
+++ b/library/Neovim/Quickfix.hs
@@ -24,8 +24,7 @@
 import           Neovim.API.String
 import           Neovim.Classes
 import           Neovim.Context
-import           Data.Text.Prettyprint.Doc (Doc, viaShow, (<+>))
-import           Data.Text.Prettyprint.Doc.Render.Terminal (AnsiStyle)
+import           Data.Text.Prettyprint.Doc (viaShow)
 
 import           Prelude
 
diff --git a/library/Neovim/RPC/Classes.hs b/library/Neovim/RPC/Classes.hs
--- a/library/Neovim/RPC/Classes.hs
+++ b/library/Neovim/RPC/Classes.hs
@@ -24,11 +24,9 @@
 import           Control.Applicative
 import           Control.Monad.Error.Class
 import           Data.Data                 (Typeable)
-import           Data.Int                  (Int64)
 import           Data.MessagePack          (Object (..))
 
-import           Data.Text.Prettyprint.Doc (Pretty (..), hardline, nest,
-                                            viaShow, (<+>), (<>))
+import           Data.Text.Prettyprint.Doc (hardline, nest, viaShow)
 
 import           Prelude
 
diff --git a/library/Neovim/RPC/SocketReader.hs b/library/Neovim/RPC/SocketReader.hs
--- a/library/Neovim/RPC/SocketReader.hs
+++ b/library/Neovim/RPC/SocketReader.hs
@@ -33,7 +33,6 @@
 import           Control.Applicative
 import           Control.Concurrent.STM
 import           Control.Monad              (void)
-import           Control.Monad.Trans.Class  (lift)
 import           Conduit               as C
 import           Data.Conduit.Cereal        (conduitGet2)
 import           Data.Default               (def)
diff --git a/library/Neovim/Test.hs b/library/Neovim/Test.hs
--- a/library/Neovim/Test.hs
+++ b/library/Neovim/Test.hs
@@ -24,7 +24,7 @@
 import Control.Monad.Reader                      (runReaderT)
 import Control.Monad.Trans.Resource              (runResourceT)
 import Data.Text.Prettyprint.Doc                 (annotate, vsep)
-import Data.Text.Prettyprint.Doc.Render.Terminal (Color (..), color, putDoc)
+import Data.Text.Prettyprint.Doc.Render.Terminal (Color (..), color)
 import GHC.IO.Exception                          (ioe_filename)
 import Path
 import Path.IO
diff --git a/nvim-hs.cabal b/nvim-hs.cabal
--- a/nvim-hs.cabal
+++ b/nvim-hs.cabal
@@ -1,5 +1,5 @@
 name:                nvim-hs
-version:             2.1.0.2
+version:             2.1.0.3
 synopsis:            Haskell plugin backend for neovim
 description:
   This package provides a plugin provider for neovim. It allows you to write
@@ -117,7 +117,7 @@
                       , mtl >= 2.2.1 && < 2.3
                       , optparse-applicative
                       , time-locale-compat
-                      , megaparsec < 8
+                      , megaparsec < 9
                       , prettyprinter >= 1.2 && < 2
                       , prettyprinter-ansi-terminal
                       , resourcet >= 1.1.11
