From 1bb036d45187e560c19d186b5d9b6c37f5d1db02 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Sun, 24 Aug 2025 10:17:32 +0200 Subject: [PATCH] feat: rename csharp functions with prefix, use built-in functions --- init.el | 46 ++++++++++++++-------------------------------- 1 file changed, 14 insertions(+), 32 deletions(-) diff --git a/init.el b/init.el index 7bcb3c0d4b150dba7929bc37f5558f22a777e8e3..cf28f8a2f311b4740f303dc983382d04622b3c9c 100644 --- a/init.el +++ b/init.el @@ -1385,48 +1385,30 @@ minibuffer, even without explicitly focusing it." (my/indent-variable-mode-alist-add csharp-mode c-basic-offset) (my/indent-variable-mode-alist-add csharp-ts-mode csharp-ts-mode-indent-offset) - (defun find-project-root () - (interactive) - (if (ignore-errors (eproject-root)) - (eproject-root) - (or (find-git-repo (buffer-file-name)) (file-name-directory (buffer-file-name))))) - - (defun find-git-repo (dir) - (if (string= "/" dir) - nil - (if (file-exists-p (expand-file-name "./.git/" dir)) - dir - (find-git-repo (file-name-parent-directory dir))))) - - (defun get-csproj-in-directory (dir) + (defun csharp--get-csproj-in-directory (dir) (car (directory-files dir :mach-regexp ".*\\.csproj" :count 1))) ;; Finds .csproj above current buffer directory, and returns path to the csproj - (defun find-csproj (dir root) - (if (string-match-p (regexp-quote root) dir) - (let ((csproj (get-csproj-in-directory dir))) - (if csproj - csproj - (find-csproj (file-name-parent-directory dir) root))) - nil)) - - (defun find-current-csproj () - (let ((root (find-project-root)) - (dir (file-name-directory buffer-file-name))) - (find-csproj dir root))) - - (defun extract-project-name () + (defun csharp--find-csproj (dir) + (csharp--get-csproj-in-directory + (locate-dominating-file + dir #'get-csproj-in-directory))) + + (defun csharp--find-current-csproj () + (csharp--find-csproj buffer-file-name)) + + (defun csharp--extract-project-name () (interactive) - (let ((csproj (find-current-csproj))) + (let ((csproj (csharp--find-current-csproj))) (file-name-base csproj))) - (defun file-path-to-namespace () + (defun csharp-file-path-to-namespace () (interactive) - (let* ((root (file-name-directory (find-current-csproj))) + (let* ((root (file-name-directory (csharp--find-current-csproj))) (base (file-name-nondirectory buffer-file-name)) - (project-name (extract-project-name)) + (project-name (csharp--extract-project-name)) (subdirectory (replace-regexp-in-string "/" "\." (substring buffer-file-name (length root) (* -1 (length base))) t t))) (concat