From 803ae6c4916aac927514ef522f06bb4b854fef89 Mon Sep 17 00:00:00 2001 From: John Dallaway Date: Fri, 21 Feb 2025 11:28:36 +0000 Subject: [PATCH] Check for clangd in MinGW installation --- .../src/org/eclipse/cdt/lsp/clangd/ClangdMetadata.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bundles/org.eclipse.cdt.lsp.clangd/src/org/eclipse/cdt/lsp/clangd/ClangdMetadata.java b/bundles/org.eclipse.cdt.lsp.clangd/src/org/eclipse/cdt/lsp/clangd/ClangdMetadata.java index f6f86e99..e0b6804f 100644 --- a/bundles/org.eclipse.cdt.lsp.clangd/src/org/eclipse/cdt/lsp/clangd/ClangdMetadata.java +++ b/bundles/org.eclipse.cdt.lsp.clangd/src/org/eclipse/cdt/lsp/clangd/ClangdMetadata.java @@ -17,6 +17,7 @@ import java.util.Optional; import java.util.stream.Collectors; +import org.eclipse.cdt.internal.core.MinGW; import org.eclipse.cdt.lsp.clangd.internal.ui.LspEditorUiMessages; import org.eclipse.cdt.lsp.config.ConfigurationMetadata; import org.eclipse.cdt.utils.PathUtil; @@ -48,6 +49,8 @@ interface Predefined { PreferenceMetadata clangdPath = new PreferenceMetadata<>(String.class, // "clangd_path", //$NON-NLS-1$ Optional.ofNullable(PathUtil.findProgramLocation("clangd", null)) //$NON-NLS-1$ + .or(() -> Optional.ofNullable(MinGW.getMinGWHome()) + .map(mingw -> PathUtil.findProgramLocation("clangd", mingw + "\\bin"))) //$NON-NLS-1$ //$NON-NLS-2$ .map(IPath::toOSString).orElse("clangd"), //$NON-NLS-1$ LspEditorUiMessages.LspEditorPreferencePage_path, // LspEditorUiMessages.LspEditorPreferencePage_path_description);