users-guide: Begin documenting --frontend
authorBen Gamari <bgamari.foss@gmail.com>
Mon, 18 Jan 2016 23:07:47 +0000 (00:07 +0100)
committerBen Gamari <ben@smart-cactus.org>
Mon, 18 Jan 2016 23:07:52 +0000 (00:07 +0100)
Reviewers: austin

Subscribers: thomie, ezyang

Differential Revision: https://phabricator.haskell.org/D1793

GHC Trac Issues: #11448

docs/users_guide/extending_ghc.rst
docs/users_guide/using.rst
utils/mkUserGuidePart/Options/Modes.hs

index 74bba91..17d061e 100644 (file)
@@ -590,7 +590,7 @@ A frontend plugin allows you to add new major modes to GHC.  You may prefer
 this over a traditional program which calls the GHC API, as GHC manages a lot
 of parsing flags and administrative nonsense which can be difficult to
 manage manually.  To load a frontend plugin exported by ``Foo.FrontendPlugin``,
-we just invoke GHC as follows:
+we just invoke GHC with the :ghc-flag:`--frontend` flag as follows:
 
 .. code-block:: none
 
index a600a13..91b6291 100644 (file)
@@ -281,12 +281,20 @@ The available mode flags are:
 .. ghc-flag:: -M
 
     .. index::
-       single: dependency-generation mode; of GHC
+        single: dependency-generation mode; of GHC
 
     Dependency-generation mode. In this mode, GHC can be used to
     generate dependency information suitable for use in a ``Makefile``.
     See :ref:`makefile-dependencies`.
 
+.. ghc-flag:: --frontend <module>
+
+    .. index::
+        single: frontend plugins; using
+
+    Run GHC using the given frontend plugin. See :ref:`frontend_plugins` for
+    details.
+
 .. ghc-flag:: --mk-dll
 
     .. index::
index 57aaef2..792ee9f 100644 (file)
@@ -32,10 +32,16 @@ modeOptions =
          }
   , flag { flagName = "-M"
          , flagDescription =
-           "denerate dependency information suitable for use in a "++
+           "generate dependency information suitable for use in a "++
            "``Makefile``; see :ref:`makefile-dependencies` for details."
          , flagType = ModeFlag
          }
+  , flag { flagName = "--frontend ⟨module⟩"
+         , flagDescription =
+           "run GHC with the given frontend plugin; see "++
+           ":ref:`frontend_plugins` for details."
+         , flagType = ModeFlag
+         }
   , flag { flagName = "--supported-extensions, --supported-languages"
          , flagDescription = "display the supported language extensions"
          , flagType = ModeFlag