|
47 | 47 | (haskell-process-set-session process session) |
48 | 48 | (haskell-process-set-cmd process nil) |
49 | 49 | (haskell-process-set (haskell-session-process session) 'is-restarting nil) |
50 | | - (let ((default-directory (haskell-session-cabal-dir session))) |
| 50 | + (let ((default-directory (haskell-session-cabal-dir session)) |
| 51 | + (log-and-command (haskell-process-compute-process-log-and-command session (haskell-process-type)))) |
51 | 52 | (haskell-session-pwd session) |
52 | 53 | (haskell-process-set-process |
53 | 54 | process |
54 | | - (cl-ecase (haskell-process-type) |
55 | | - ('ghci |
56 | | - (haskell-process-log |
57 | | - (propertize (format "Starting inferior GHCi process %s ..." |
58 | | - haskell-process-path-ghci) |
59 | | - 'face font-lock-comment-face)) |
60 | | - (apply #'start-process |
61 | | - (append (list (haskell-session-name session) |
62 | | - nil |
63 | | - haskell-process-path-ghci) |
64 | | - haskell-process-args-ghci))) |
65 | | - ('cabal-repl |
66 | | - (haskell-process-log |
67 | | - (propertize |
68 | | - (format "Starting inferior `cabal repl' process using %s ..." |
69 | | - haskell-process-path-cabal) |
70 | | - 'face font-lock-comment-face)) |
71 | | - |
72 | | - (apply #'start-process |
73 | | - (append (list (haskell-session-name session) |
74 | | - nil |
75 | | - haskell-process-path-cabal) |
76 | | - '("repl") haskell-process-args-cabal-repl |
77 | | - (let ((target (haskell-session-target session))) |
78 | | - (if target (list target) nil))))) |
79 | | - ('cabal-ghci |
80 | | - (haskell-process-log |
81 | | - (propertize |
82 | | - (format "Starting inferior cabal-ghci process using %s ..." |
83 | | - haskell-process-path-cabal-ghci) |
84 | | - 'face font-lock-comment-face)) |
85 | | - (start-process (haskell-session-name session) |
86 | | - nil |
87 | | - haskell-process-path-cabal-ghci)) |
88 | | - ('cabal-dev |
89 | | - (let ((dir (concat (haskell-session-cabal-dir session) |
90 | | - "/cabal-dev"))) |
91 | | - (haskell-process-log |
92 | | - (propertize (format "Starting inferior cabal-dev process %s -s %s ..." |
93 | | - haskell-process-path-cabal-dev |
94 | | - dir) |
95 | | - 'face font-lock-comment-face)) |
96 | | - (start-process (haskell-session-name session) |
97 | | - nil |
98 | | - haskell-process-path-cabal-dev |
99 | | - "ghci" |
100 | | - "-s" |
101 | | - dir)))))) |
| 55 | + (progn |
| 56 | + (haskell-process-log (propertize (car log-and-command))) |
| 57 | + (apply #'start-process (cdr log-and-command))))) |
102 | 58 | (progn (set-process-sentinel (haskell-process-process process) 'haskell-process-sentinel) |
103 | 59 | (set-process-filter (haskell-process-process process) 'haskell-process-filter)) |
104 | 60 | (haskell-process-send-startup process) |
|
0 commit comments