diff --git a/modules/lang/csharp/config.el b/modules/lang/csharp/config.el index 0e38143b1..5ba7960d7 100644 --- a/modules/lang/csharp/config.el +++ b/modules/lang/csharp/config.el @@ -1,9 +1,5 @@ ;;; lang/csharp/config.el -*- lexical-binding: t; -*- -;; `shader-mode' --- unity shaders -(add-to-list 'auto-mode-alist '("\\.shader$" . shader-mode)) - - (def-package! omnisharp :hook (csharp-mode . omnisharp-mode) :commands omnisharp-install-server @@ -51,3 +47,12 @@ "r" (λ! (omnisharp-unit-test "fixture")) "s" (λ! (omnisharp-unit-test "single")) "a" (λ! (omnisharp-unit-test "all"))))) + + +(when (featurep! +unity) + ;; `shader-mode' --- unity shaders + (add-to-list 'auto-mode-alist '("\\.shader$" . shader-mode)) + + (def-project-mode! +csharp-unity-mode + :modes (csharp-mode shader-mode) + :files (and "Assets" "Library/MonoManager.asset" "Library/ScriptMapper"))) diff --git a/modules/lang/csharp/packages.el b/modules/lang/csharp/packages.el index 57ba0f02e..49b94bed4 100644 --- a/modules/lang/csharp/packages.el +++ b/modules/lang/csharp/packages.el @@ -3,5 +3,6 @@ (package! csharp-mode) (package! omnisharp) -(package! shader-mode) +(when (featurep! +unity) + (package! shader-mode))