@@ -751,6 +751,43 @@ these keybindings:
751
751
You have to load the module before it works, after that it will remember
752
752
for the current GHCi session.
753
753
754
+ @section Customizing
755
+
756
+ @cindex customizing
757
+ What kind of Haskell REPL @code {haskell-interactive-mode } will start up
758
+ depends on the value of @code {haskell-process-type }. This can be one of
759
+ the symbols @code {auto }, @code {ghci }, @code {cabal-repl }, or
760
+ @code {stack-ghci }. If it's @code {auto }, the directory contents and
761
+ available programs will be used to make a best guess at the
762
+ process type. The actual process type will then determine which
763
+ variables @code {haskell-interactive-mode } will access to determine the
764
+ program to start and its arguments:
765
+
766
+ @itemize
767
+ @item
768
+ If it's @code {ghci }, @code {haskell-process-path-ghci } and
769
+ @code {haskell-process-args-ghci } will be used.
770
+ @item
771
+ If it's @code {cabal-repl }, @code {haskell-process-path-ghci } and
772
+ @code {haskell-process-args-ghci }.
773
+ @item
774
+ If it's @code {stack-ghci }, @code {haskell-process-path-stack } and
775
+ @code {haskell-process-args-stack-ghci } will be used.
776
+ @end itemize
777
+
778
+ With each of these pairs, the the @code {haskell-process-path-... }
779
+ variable needs to be a string specifying the program path, or a list of
780
+ strings where the first element is the program path and the rest are
781
+ initial arguments. The @code {haskell-process-args-... } is a list of
782
+ strings specifying (further) command-line arguments.
783
+
784
+ @vindex haskell-process-type
785
+ @vindex haskell-process-path-ghci
786
+ @vindex haskell-process-path-cabal
787
+ @vindex haskell-process-path-stack
788
+ @vindex haskell-process-args-ghci
789
+ @vindex haskell-process-args-cabal-repl
790
+ @vindex haskell-process-args-stack-ghci
754
791
755
792
@node Editing Cabal files
756
793
@chapter Editing Cabal files
0 commit comments