|
1 | 1 | package net.seesharpsoft.intellij.plugins.csv; |
2 | 2 |
|
3 | 3 | import com.intellij.ide.scratch.ScratchFileType; |
| 4 | +import com.intellij.ide.scratch.ScratchUtil; |
4 | 5 | import com.intellij.lang.*; |
5 | 6 | import com.intellij.lexer.Lexer; |
6 | 7 | import com.intellij.openapi.fileTypes.FileType; |
|
22 | 23 | import net.seesharpsoft.intellij.plugins.csv.psi.CsvFile; |
23 | 24 | import net.seesharpsoft.intellij.plugins.csv.psi.CsvRecord; |
24 | 25 | import net.seesharpsoft.intellij.plugins.csv.psi.CsvTypes; |
| 26 | +import net.seesharpsoft.intellij.plugins.csv.settings.CsvEditorSettings; |
25 | 27 | import org.jetbrains.annotations.NotNull; |
26 | 28 |
|
27 | 29 | import java.util.HashMap; |
@@ -50,7 +52,7 @@ public static PsiElement createEmptyCsvField(PsiFile psiFile) { |
50 | 52 | public static boolean isCsvFile(Project project, VirtualFile file) { |
51 | 53 | final FileType fileType = file.getFileType(); |
52 | 54 | 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)); |
54 | 56 | } |
55 | 57 |
|
56 | 58 | public static IElementType getElementType(PsiElement element) { |
@@ -158,32 +160,36 @@ public static Project getProject(PsiFile psiFile) { |
158 | 160 | return psiFile == null ? null : psiFile.getProject(); |
159 | 161 | } |
160 | 162 |
|
161 | | - public static CsvValueSeparator getValueSeparator(CsvFile csvFile) { |
| 163 | + public static @NotNull CsvValueSeparator getValueSeparator(CsvFile csvFile) { |
162 | 164 | return getValueSeparator(csvFile.getContainingFile()); |
163 | 165 | } |
164 | 166 |
|
165 | | - public static CsvValueSeparator getValueSeparator(PsiFile psiFile) { |
| 167 | + public static @NotNull CsvValueSeparator getValueSeparator(PsiFile psiFile) { |
166 | 168 | return getValueSeparator(getProject(psiFile), getVirtualFile(psiFile)); |
167 | 169 | } |
168 | 170 |
|
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); |
171 | 175 | } |
172 | 176 |
|
173 | 177 | public static boolean hasValueSeparatorAttribute(@NotNull PsiFile psiFile) { |
174 | 178 | return CsvFileAttributes.getInstance(getProject(psiFile)).hasValueSeparatorAttribute(getProject(psiFile), getVirtualFile(psiFile)); |
175 | 179 | } |
176 | 180 |
|
177 | | - public static CsvEscapeCharacter getEscapeCharacter(CsvFile csvFile) { |
| 181 | + public static @NotNull CsvEscapeCharacter getEscapeCharacter(CsvFile csvFile) { |
178 | 182 | return getEscapeCharacter(csvFile.getContainingFile()); |
179 | 183 | } |
180 | 184 |
|
181 | | - public static CsvEscapeCharacter getEscapeCharacter(PsiFile psiFile) { |
| 185 | + public static @NotNull CsvEscapeCharacter getEscapeCharacter(PsiFile psiFile) { |
182 | 186 | return getEscapeCharacter(getProject(psiFile), getVirtualFile(psiFile)); |
183 | 187 | } |
184 | 188 |
|
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); |
187 | 193 | } |
188 | 194 |
|
189 | 195 | public static boolean hasEscapeCharacterAttribute(@NotNull PsiFile psiFile) { |
|
0 commit comments