diff --git a/modules/lang/csharp/config.el b/modules/lang/csharp/config.el index e15443f54..e7907a32a 100644 --- a/modules/lang/csharp/config.el +++ b/modules/lang/csharp/config.el @@ -14,6 +14,12 @@ (unless (file-exists-p (omnisharp--server-installation-path t)) (warn "csharp-mode: omnisharp server isn't installed, completion won't work")) + (defun +csharp|cleanup-omnisharp-server () + "Clean up the omnisharp server once you kill the last csharp-mode buffer." + (unless (doom-buffers-in-mode 'csharp-mode (buffer-list)) + (omnisharp-stop-server))) + (add-hook! csharp-mode (add-hook 'kill-buffer-hook #'omnisharp-stop-server nil t)) + (set! :company-backend 'csharp-mode '(company-omnisharp)) (set! :lookup 'csharp-mode