Bug 549707 - Set languageId for files that don't have extension
This is useful for files like Dockerfile
Change-Id: I3843109596943a4ce3841626d921939e8e2d8a06
Signed-off-by: Mickael Istria <mistria@redhat.com>
diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/DocumentContentSynchronizer.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/DocumentContentSynchronizer.java
index 622a728..f087049 100644
--- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/DocumentContentSynchronizer.java
+++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/DocumentContentSynchronizer.java
@@ -17,6 +17,7 @@
import java.util.Collections;
import java.util.List;
+import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.content.IContentType;
import org.eclipse.jdt.annotation.NonNull;
@@ -67,8 +68,12 @@
String languageId = languageServerWrapper.getLanguageId(contentTypes.toArray(new IContentType[0]));
+ IPath fromPortableString = Path.fromPortableString(this.fileUri.getPath());
if (languageId == null) {
- languageId = Path.fromPortableString(this.fileUri.getPath()).getFileExtension();
+ languageId = fromPortableString.getFileExtension();
+ if (languageId == null) {
+ languageId = fromPortableString.lastSegment();
+ }
}
textDocument.setLanguageId(languageId);