branch: externals/csharp-mode commit d9d257cf9a31f2bf83196d3528f5562aac3c7f83 Author: Jostein Kjønigsen <jost...@kjonigsen.net> Commit: Jostein Kjønigsen <jost...@kjonigsen.net>
Add compilation-mode support for dotnet core &/ nuget errors. --- csharp-mode-tests.el | 7 ++++++- csharp-mode.el | 15 ++++++++++++++- test-files/dotnet-nuget-error.txt | 1 + test-files/dotnet-nuget-warning.txt | 1 + 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/csharp-mode-tests.el b/csharp-mode-tests.el index f18cf02..0cf3309 100644 --- a/csharp-mode-tests.el +++ b/csharp-mode-tests.el @@ -237,7 +237,12 @@ "C:\\inservice\\SystemTesting\\OperateDeviceProxy\\OperateDevice_Proxy\\Program.cs" "c:\\inservice\\systemtesting\\operationsproxy\\operationsproxy.cpp" "c:\\inservice\\systemtesting\\operationsproxy\\operationsproxy.cpp" - "c:\\inservice\\systemtesting\\operationsproxy\\operationsproxy.cpp")))) + "c:\\inservice\\systemtesting\\operationsproxy\\operationsproxy.cpp")) + + ("./test-files/dotnet-nuget-error.txt" ,csharp-compilation-re-dotnet-error + ("/home/jostein/build/sample-app/sample-app.csproj")) + ("./test-files/dotnet-nuget-warning.txt" ,csharp-compilation-re-dotnet-warning + ("/home/jostein/build/sample-app/sample-app.csproj")))) (let* ((file-name (car test-case)) (regexp (cadr test-case)) diff --git a/csharp-mode.el b/csharp-mode.el index a680f69..2a14bd3 100644 --- a/csharp-mode.el +++ b/csharp-mode.el @@ -370,6 +370,13 @@ casts and declarations are fontified. Used on level 2 and higher." "warning [[:alnum:]]+: .+$") "Regexp to match compilation warning from xbuild.") +(defconst csharp-compilation-re-dotnet-error + "\\([^\r\n]+\\) : error [A-Z]+[0-9]+:") + +(defconst csharp-compilation-re-dotnet-warning + "\\([^\r\n]+\\) : warning [A-Z]+[0-9]+:") + + (eval-after-load 'compile (lambda () (dolist @@ -397,7 +404,13 @@ casts and declarations are fontified. Used on level 2 and higher." 1 nil (1 compilation-warning-face) - (4 compilation-warning-face)))) + (4 compilation-warning-face)) + (dotnet-error + ,csharp-compilation-re-dotnet-error + 1) + (dotnet-warning + ,csharp-compilation-re-dotnet-warning + 1 nil nil 1))) (add-to-list 'compilation-error-regexp-alist-alist regexp) (add-to-list 'compilation-error-regexp-alist (car regexp))))) diff --git a/test-files/dotnet-nuget-error.txt b/test-files/dotnet-nuget-error.txt new file mode 100644 index 0000000..d746737 --- /dev/null +++ b/test-files/dotnet-nuget-error.txt @@ -0,0 +1 @@ +/home/jostein/build/sample-app/sample-app.csproj : error NU1102: - Found 24 version(s) in Net5 [ Nearest version: 5.0.0-rc.2.20513.86 ] [/home/jostein/build/sample-app/sample-app.sln] diff --git a/test-files/dotnet-nuget-warning.txt b/test-files/dotnet-nuget-warning.txt new file mode 100644 index 0000000..0cd5656 --- /dev/null +++ b/test-files/dotnet-nuget-warning.txt @@ -0,0 +1 @@ +/home/jostein/build/sample-app/sample-app.csproj : warning NU1604: Project dependency JetBrains.Annotations does not contain an inclusive lower bound. Include a lower bound in the dependency version to ensure consistent restore results.