From e205f68717e960a929e5657e8351ba6ef0e5f480 Mon Sep 17 00:00:00 2001 From: Theodor Thornhill Date: Sat, 6 May 2023 21:13:15 +0200 Subject: [PATCH] Fix indent for enums in csharp-mode * lisp/progmodes/csharp-mode.el (csharp-guess-basic-syntax): Check for keywords containing 'enum' on the line before an opening bracket, and make it behave like a class-open token. --- lisp/progmodes/csharp-mode.el | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lisp/progmodes/csharp-mode.el b/lisp/progmodes/csharp-mode.el index 4f7cbc3d51d..869a207c567 100644 --- a/lisp/progmodes/csharp-mode.el +++ b/lisp/progmodes/csharp-mode.el @@ -464,6 +464,15 @@ compilation and evaluation time conflicts." (defun csharp-guess-basic-syntax (orig-fun &rest args) (cond + (;; enum + (save-excursion + (goto-char (c-point 'boi)) + (and + (eq (char-after) ?\{) + (save-excursion + (goto-char (c-point 'iopl)) + (looking-at ".*enum.*")))) + `((class-open ,(c-point 'iopl)))) (;; Attributes (save-excursion (goto-char (c-point 'iopl)) -- 2.39.2