@@ -100,13 +100,17 @@ runLanguageServer options userHandlers getIdeState = do
100100 -- out of order to be useful. Existing handlers are run afterwards.
101101 handlers <- parts WithMessage{withResponse, withNotification} def
102102
103+ let initializeCallbacks = LSP.InitializeCallbacks
104+ { LSP.onInitialConfiguration = const $ Right ()
105+ , LSP.onConfigurationChange = const $ Right ()
106+ , LSP.onStartup = handleInit (signalBarrier clientMsgBarrier ()) clearReqId waitForCancel clientMsgChan
107+ }
108+
103109 void $ waitAnyCancel =<< traverse async
104110 [ void $ LSP.runWithHandles
105111 stdin
106112 newStdout
107− ( const $ Right ()
108− , handleInit (signalBarrier clientMsgBarrier ()) clearReqId waitForCancel clientMsgChan
109− )
113+ initializeCallbacks
110114 handlers
111115 (modifyOptions options)
112116 Nothing