Skip to content

Commit 77d1f53

Browse files
committed
Chore: Improve check for CsvFile
1 parent 6266037 commit 77d1f53

File tree

1 file changed

+8
-18
lines changed

1 file changed

+8
-18
lines changed

src/main/java/net/seesharpsoft/intellij/plugins/csv/CsvHelper.java

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.intellij.lang.*;
44
import com.intellij.lexer.Lexer;
5-
import com.intellij.openapi.fileTypes.FileType;
65
import com.intellij.openapi.fileTypes.FileTypeRegistry;
76
import com.intellij.openapi.project.Project;
87
import com.intellij.openapi.vfs.VirtualFile;
@@ -22,8 +21,6 @@
2221
import net.seesharpsoft.intellij.plugins.csv.psi.CsvRecord;
2322
import net.seesharpsoft.intellij.plugins.csv.psi.CsvTypes;
2423
import net.seesharpsoft.intellij.plugins.csv.settings.CsvEditorSettings;
25-
import net.seesharpsoft.intellij.plugins.psv.PsvFileType;
26-
import net.seesharpsoft.intellij.plugins.tsv.TsvFileType;
2724
import net.seesharpsoft.intellij.psi.PsiHelper;
2825
import org.jetbrains.annotations.NotNull;
2926

@@ -58,26 +55,19 @@ public static boolean isCsvFile(String extension) {
5855
if (extension == null) {
5956
return false;
6057
}
61-
// simple check to always in include the defaults even if association was removed
62-
switch (extension.toLowerCase()) {
63-
case "csv":
64-
case "tsv":
65-
case "tab":
66-
case "psv":
67-
return true;
68-
default:
69-
// but also consider other extensions that are associated manually
70-
FileType fileType = FileTypeRegistry.getInstance().getFileTypeByExtension(extension);
71-
return fileType == CsvFileType.INSTANCE ||
72-
fileType == TsvFileType.INSTANCE ||
73-
fileType == PsvFileType.INSTANCE;
74-
}
58+
Language language = LanguageUtil.getFileTypeLanguage(
59+
FileTypeRegistry.getInstance().getFileTypeByExtension(extension)
60+
);
61+
return language != null && language.isKindOf(CsvLanguage.INSTANCE);
7562
}
7663

7764
public static boolean isCsvFile(Project project, VirtualFile file) {
78-
if (project == null || file == null || !isCsvFile(file.getExtension())) {
65+
if (file == null) {
7966
return false;
8067
}
68+
if (project == null) {
69+
return isCsvFile(file.getExtension());
70+
}
8171
final Language language = LanguageUtil.getLanguageForPsi(project, file);
8272
return language != null && language.isKindOf(CsvLanguage.INSTANCE);
8373
}

0 commit comments

Comments
 (0)