feat(format): add :lang csharp formatter

This commit is contained in:
Ellis Kenyő 2022-08-16 08:18:29 +01:00 committed by Ellis Kenyo
parent 078bf0dd2e
commit 53fe5df6b5
No known key found for this signature in database
GPG key ID: 298BE5D997EBAA02
2 changed files with 12 additions and 0 deletions

View file

@ -3,6 +3,11 @@
(use-package! csharp-mode (use-package! csharp-mode
:hook (csharp-mode . rainbow-delimiters-mode) :hook (csharp-mode . rainbow-delimiters-mode)
:config :config
(when (and (file-exists-p (expand-file-name "~/.dotnet/tools/dotnet-csharpier"))
(file-exists-p ".config/dotnet-tools.json")
(eq 0 (call-process-shell-command
(format "grep -q 'dotnet-csharpier' %s" (expand-file-name ".config/dotnet-tools.json")) nil nil)))
(set-formatter! 'csharpier '("dotnet" "tool" "run" "dotnet-csharpier") :modes '(csharp-mode)))
(set-electric! 'csharp-mode :chars '(?\n ?\})) (set-electric! 'csharp-mode :chars '(?\n ?\}))
(set-rotate-patterns! 'csharp-mode (set-rotate-patterns! 'csharp-mode
:symbols '(("public" "protected" "private") :symbols '(("public" "protected" "private")

View file

@ -9,3 +9,10 @@
(assert! (or (not (modulep! +tree-sitter)) (assert! (or (not (modulep! +tree-sitter))
(modulep! :tools tree-sitter)) (modulep! :tools tree-sitter))
"This module requires (:tools tree-sitter)") "This module requires (:tools tree-sitter)")
(when (modulep! :editor format)
(unless (and (file-exists-p (expand-file-name "~/.dotnet/tools/dotnet-csharpier"))
(file-exists-p ".config/dotnet-tools.json")
(eq 0 (call-process-shell-command
(format "grep -q 'dotnet-csharpier' %s" (expand-file-name ".config/dotnet-tools.json")) nil nil)))
(warn! "csharpier is not installed or setup as a local tool. Please see the module README. \nOtherwise, formatting will be disabled.")))