Skip to content

Commit 0a845e7

Browse files
committed
[FIX] build & compatibility
1 parent b705da6 commit 0a845e7

File tree

3 files changed

+18
-12
lines changed

3 files changed

+18
-12
lines changed

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

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package net.seesharpsoft.intellij.plugins.csv;
22

33
import com.intellij.ide.scratch.ScratchFileType;
4+
import com.intellij.ide.scratch.ScratchUtil;
45
import com.intellij.lang.*;
56
import com.intellij.lexer.Lexer;
67
import com.intellij.openapi.fileTypes.FileType;
@@ -22,6 +23,7 @@
2223
import net.seesharpsoft.intellij.plugins.csv.psi.CsvFile;
2324
import net.seesharpsoft.intellij.plugins.csv.psi.CsvRecord;
2425
import net.seesharpsoft.intellij.plugins.csv.psi.CsvTypes;
26+
import net.seesharpsoft.intellij.plugins.csv.settings.CsvEditorSettings;
2527
import org.jetbrains.annotations.NotNull;
2628

2729
import java.util.HashMap;
@@ -50,7 +52,7 @@ public static PsiElement createEmptyCsvField(PsiFile psiFile) {
5052
public static boolean isCsvFile(Project project, VirtualFile file) {
5153
final FileType fileType = file.getFileType();
5254
return (fileType instanceof LanguageFileType && ((LanguageFileType) fileType).getLanguage().isKindOf(CsvLanguage.INSTANCE)) ||
53-
(fileType == ScratchFileType.INSTANCE && LanguageUtil.getLanguageForPsi(project, file).isKindOf(CsvLanguage.INSTANCE));
55+
(ScratchUtil.isScratch(file) && LanguageUtil.getLanguageForPsi(project, file).isKindOf(CsvLanguage.INSTANCE));
5456
}
5557

5658
public static IElementType getElementType(PsiElement element) {
@@ -158,32 +160,36 @@ public static Project getProject(PsiFile psiFile) {
158160
return psiFile == null ? null : psiFile.getProject();
159161
}
160162

161-
public static CsvValueSeparator getValueSeparator(CsvFile csvFile) {
163+
public static @NotNull CsvValueSeparator getValueSeparator(CsvFile csvFile) {
162164
return getValueSeparator(csvFile.getContainingFile());
163165
}
164166

165-
public static CsvValueSeparator getValueSeparator(PsiFile psiFile) {
167+
public static @NotNull CsvValueSeparator getValueSeparator(PsiFile psiFile) {
166168
return getValueSeparator(getProject(psiFile), getVirtualFile(psiFile));
167169
}
168170

169-
public static CsvValueSeparator getValueSeparator(Project project, VirtualFile virtualFile) {
170-
return CsvFileAttributes.getInstance(project).getValueSeparator(project, virtualFile);
171+
public static @NotNull CsvValueSeparator getValueSeparator(Project project, VirtualFile virtualFile) {
172+
return project == null ?
173+
CsvEditorSettings.getInstance().getDefaultValueSeparator() :
174+
CsvFileAttributes.getInstance(project).getValueSeparator(project, virtualFile);
171175
}
172176

173177
public static boolean hasValueSeparatorAttribute(@NotNull PsiFile psiFile) {
174178
return CsvFileAttributes.getInstance(getProject(psiFile)).hasValueSeparatorAttribute(getProject(psiFile), getVirtualFile(psiFile));
175179
}
176180

177-
public static CsvEscapeCharacter getEscapeCharacter(CsvFile csvFile) {
181+
public static @NotNull CsvEscapeCharacter getEscapeCharacter(CsvFile csvFile) {
178182
return getEscapeCharacter(csvFile.getContainingFile());
179183
}
180184

181-
public static CsvEscapeCharacter getEscapeCharacter(PsiFile psiFile) {
185+
public static @NotNull CsvEscapeCharacter getEscapeCharacter(PsiFile psiFile) {
182186
return getEscapeCharacter(getProject(psiFile), getVirtualFile(psiFile));
183187
}
184188

185-
public static CsvEscapeCharacter getEscapeCharacter(Project project, VirtualFile virtualFile) {
186-
return CsvFileAttributes.getInstance(project).getEscapeCharacter(project, virtualFile);
189+
public static @NotNull CsvEscapeCharacter getEscapeCharacter(Project project, VirtualFile virtualFile) {
190+
return project == null ?
191+
CsvEditorSettings.getInstance().getDefaultEscapeCharacter() :
192+
CsvFileAttributes.getInstance(project).getEscapeCharacter(project, virtualFile);
187193
}
188194

189195
public static boolean hasEscapeCharacterAttribute(@NotNull PsiFile psiFile) {

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public static final CsvLexerFactory getInstance() {
1313
return INSTANCE;
1414
}
1515

16-
protected Lexer createLexer(CsvValueSeparator separator, CsvEscapeCharacter escapeCharacter) {
16+
protected Lexer createLexer(@NotNull CsvValueSeparator separator, @NotNull CsvEscapeCharacter escapeCharacter) {
1717
if (separator.isCustom()) {
1818
return new CsvSharpLexer(new CsvSharpLexer.Configuration(
1919
separator.getCharacter(),
@@ -24,7 +24,7 @@ protected Lexer createLexer(CsvValueSeparator separator, CsvEscapeCharacter esca
2424
return new CsvLexerAdapter(separator, escapeCharacter);
2525
}
2626

27-
public Lexer createLexer(@NotNull Project project, @NotNull VirtualFile file) {
27+
public Lexer createLexer(Project project, VirtualFile file) {
2828
return createLexer(CsvHelper.getValueSeparator(project, file), CsvHelper.getEscapeCharacter(project, file));
2929
}
3030

src/main/java/net/seesharpsoft/intellij/plugins/csv/highlighter/CsvSyntaxHighlighter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public class CsvSyntaxHighlighter extends SyntaxHighlighterBase {
3737
private final Project myProject;
3838
private final VirtualFile myVirtualFile;
3939

40-
public CsvSyntaxHighlighter(@NotNull Project project, @NotNull VirtualFile virtualFile) {
40+
public CsvSyntaxHighlighter(Project project, VirtualFile virtualFile) {
4141
this.myProject = project;
4242
this.myVirtualFile = virtualFile;
4343
}

0 commit comments

Comments
 (0)