Skip to content

Commit ce2918b

Browse files
committed
[INTERNAL] Code cleanup
1 parent 4b2a2ab commit ce2918b

20 files changed

+69
-107
lines changed

src/main/java/net/seesharpsoft/intellij/plugins/csv/Csv.bnf

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
{
22
parserClass="net.seesharpsoft.intellij.plugins.csv.parser.CsvParser"
33

4-
parserImports=["static net.seesharpsoft.intellij.plugins.csv.CsvParserUtil.*"]
5-
64
extends="com.intellij.extapi.psi.ASTWrapperPsiElement"
75

86
psiClassPrefix="Csv"
@@ -25,10 +23,10 @@
2523

2624
csvFile ::= record (CRLF record)* [CRLF]
2725

28-
record ::= field ( << separator >> COMMA field)*
26+
record ::= field (COMMA field)*
2927

3028
field ::= (escaped | nonEscaped)
3129

32-
private escaped ::= QUOTE ( TEXT | << escapeCharacter >> ESCAPED_TEXT)* QUOTE
30+
private escaped ::= QUOTE (TEXT | ESCAPED_TEXT)* QUOTE
3331

3432
private nonEscaped ::= TEXT*

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

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -151,24 +151,48 @@ public static int getFieldEndOffset(PsiElement field) {
151151
return separator == null ? field.getContainingFile().getTextLength() : separator.getTextOffset();
152152
}
153153

154-
public static CsvValueSeparator getCurrentValueSeparator(CsvFile csvFile) {
155-
return getCurrentValueSeparator(csvFile.getContainingFile());
154+
public static VirtualFile getVirtualFile(PsiFile psiFile) {
155+
return psiFile == null ? null : psiFile.getOriginalFile().getVirtualFile();
156156
}
157157

158-
public static CsvValueSeparator getCurrentValueSeparator(PsiFile psiFile) {
159-
return CsvFileAttributes.getInstance(psiFile.getProject()).getFileSeparator(psiFile);
158+
public static Project getProject(PsiFile psiFile) {
159+
return psiFile == null ? null : psiFile.getProject();
160160
}
161161

162-
public static CsvEscapeCharacter getCurrentEscapeCharacter(CsvFile csvFile) {
163-
return getCurrentEscapeCharacter(csvFile.getContainingFile());
162+
public static CsvValueSeparator getValueSeparator(CsvFile csvFile) {
163+
return getValueSeparator(csvFile.getContainingFile());
164164
}
165165

166-
public static CsvEscapeCharacter getCurrentEscapeCharacter(PsiFile psiFile) {
167-
return CsvFileAttributes.getInstance(psiFile.getProject()).getEscapeCharacter(psiFile);
166+
public static CsvValueSeparator getValueSeparator(PsiFile psiFile) {
167+
return getValueSeparator(getProject(psiFile), getVirtualFile(psiFile));
168+
}
169+
170+
public static CsvValueSeparator getValueSeparator(Project project, VirtualFile virtualFile) {
171+
return CsvFileAttributes.getInstance(project).getValueSeparator(project, virtualFile);
172+
}
173+
174+
public static boolean hasValueSeparatorAttribute(@NotNull PsiFile psiFile) {
175+
return CsvFileAttributes.getInstance(getProject(psiFile)).hasValueSeparatorAttribute(getProject(psiFile), getVirtualFile(psiFile));
176+
}
177+
178+
public static CsvEscapeCharacter getEscapeCharacter(CsvFile csvFile) {
179+
return getEscapeCharacter(csvFile.getContainingFile());
180+
}
181+
182+
public static CsvEscapeCharacter getEscapeCharacter(PsiFile psiFile) {
183+
return getEscapeCharacter(getProject(psiFile), getVirtualFile(psiFile));
184+
}
185+
186+
public static CsvEscapeCharacter getEscapeCharacter(Project project, VirtualFile virtualFile) {
187+
return CsvFileAttributes.getInstance(project).getEscapeCharacter(project, virtualFile);
188+
}
189+
190+
public static boolean hasEscapeCharacterAttribute(@NotNull PsiFile psiFile) {
191+
return CsvFileAttributes.getInstance(getProject(psiFile)).hasEscapeCharacterAttribute(getProject(psiFile), getVirtualFile(psiFile));
168192
}
169193

170194
public static CsvColumnInfoMap<PsiElement> createColumnInfoMap(CsvFile csvFile) {
171-
CsvEscapeCharacter escapeCharacter = getCurrentEscapeCharacter(csvFile);
195+
CsvEscapeCharacter escapeCharacter = getEscapeCharacter(csvFile);
172196
Map<Integer, CsvColumnInfo<PsiElement>> columnInfoMap = new HashMap<>();
173197
CsvRecord[] records = PsiTreeUtil.getChildrenOfType(csvFile, CsvRecord.class);
174198
int row = 0;

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,10 @@
1111
import com.intellij.psi.tree.IFileElementType;
1212
import com.intellij.psi.tree.TokenSet;
1313
import net.seesharpsoft.intellij.lang.FileParserDefinition;
14-
import net.seesharpsoft.intellij.plugins.csv.components.CsvFileAttributes;
1514
import net.seesharpsoft.intellij.plugins.csv.parser.CsvParser;
1615
import net.seesharpsoft.intellij.plugins.csv.psi.CsvFile;
1716
import net.seesharpsoft.intellij.plugins.csv.psi.CsvFileElementType;
1817
import net.seesharpsoft.intellij.plugins.csv.psi.CsvTypes;
19-
import net.seesharpsoft.intellij.plugins.csv.settings.CsvCodeStyleSettings;
2018
import org.jetbrains.annotations.NotNull;
2119

2220
public class CsvParserDefinition implements FileParserDefinition {
@@ -77,7 +75,7 @@ public PsiElement createElement(ASTNode node) {
7775

7876
@Override
7977
public Lexer createLexer(@NotNull PsiFile file) {
80-
return new CsvLexerAdapter(CsvHelper.getCurrentValueSeparator(file), CsvFileAttributes.getInstance(file.getProject()).getEscapeCharacter(file));
78+
return new CsvLexerAdapter(CsvHelper.getValueSeparator(file), CsvHelper.getEscapeCharacter(file));
8179
}
8280

8381
@Override

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

Lines changed: 0 additions & 42 deletions
This file was deleted.

src/main/java/net/seesharpsoft/intellij/plugins/csv/actions/CsvChangeEscapeCharacterAction.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.intellij.psi.PsiFile;
99
import com.intellij.util.FileContentUtilCore;
1010
import net.seesharpsoft.intellij.plugins.csv.CsvEscapeCharacter;
11+
import net.seesharpsoft.intellij.plugins.csv.CsvHelper;
1112
import net.seesharpsoft.intellij.plugins.csv.components.CsvFileAttributes;
1213
import org.jetbrains.annotations.NotNull;
1314

@@ -25,8 +26,7 @@ public boolean isSelected(@NotNull AnActionEvent anActionEvent) {
2526
if (psiFile == null) {
2627
return false;
2728
}
28-
CsvFileAttributes csvFileAttributes = CsvFileAttributes.getInstance(psiFile.getProject());
29-
return csvFileAttributes.hasEscapeCharacterAttribute(psiFile) && csvFileAttributes.getEscapeCharacter(psiFile).equals(myEscapeCharacter);
29+
return CsvHelper.hasEscapeCharacterAttribute(psiFile) && CsvHelper.getEscapeCharacter(psiFile).equals(myEscapeCharacter);
3030
}
3131

3232
@Override

src/main/java/net/seesharpsoft/intellij/plugins/csv/actions/CsvChangeEscapeCharacterActionGroup.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
import com.intellij.openapi.actionSystem.CommonDataKeys;
88
import com.intellij.psi.PsiFile;
99
import net.seesharpsoft.intellij.plugins.csv.CsvEscapeCharacter;
10+
import net.seesharpsoft.intellij.plugins.csv.CsvHelper;
1011
import net.seesharpsoft.intellij.plugins.csv.CsvLanguage;
11-
import net.seesharpsoft.intellij.plugins.csv.components.CsvFileAttributes;
1212
import org.jetbrains.annotations.NotNull;
1313
import org.jetbrains.annotations.Nullable;
1414

@@ -31,7 +31,7 @@ public void update(AnActionEvent anActionEvent) {
3131
anActionEvent.getPresentation().setEnabledAndVisible(psiFile != null && language != null && language.isKindOf(CsvLanguage.INSTANCE));
3232

3333
if (psiFile != null) {
34-
CsvEscapeCharacter escapeCharacter = CsvFileAttributes.getInstance(psiFile.getProject()).getEscapeCharacter(psiFile);
34+
CsvEscapeCharacter escapeCharacter = CsvHelper.getEscapeCharacter(psiFile);
3535
anActionEvent.getPresentation().setText(String.format("CSV Escape Character: %s", escapeCharacter.getDisplay()));
3636
}
3737
}

src/main/java/net/seesharpsoft/intellij/plugins/csv/actions/CsvChangeSeparatorAction.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.intellij.openapi.fileEditor.FileEditor;
1010
import com.intellij.psi.PsiFile;
1111
import com.intellij.util.FileContentUtilCore;
12+
import net.seesharpsoft.intellij.plugins.csv.CsvHelper;
1213
import net.seesharpsoft.intellij.plugins.csv.CsvLanguage;
1314
import net.seesharpsoft.intellij.plugins.csv.CsvSeparatorHolder;
1415
import net.seesharpsoft.intellij.plugins.csv.CsvValueSeparator;
@@ -29,8 +30,7 @@ public boolean isSelected(@NotNull AnActionEvent anActionEvent) {
2930
if (psiFile == null) {
3031
return false;
3132
}
32-
CsvFileAttributes csvFileAttributes = ServiceManager.getService(psiFile.getProject(), CsvFileAttributes.class);
33-
return csvFileAttributes.getFileSeparator(psiFile) != null && csvFileAttributes.getFileSeparator(psiFile).equals(mySeparator);
33+
return CsvHelper.hasValueSeparatorAttribute(psiFile) && CsvHelper.getValueSeparator(psiFile).equals(mySeparator);
3434
}
3535

3636
@Override

src/main/java/net/seesharpsoft/intellij/plugins/csv/actions/CsvChangeSeparatorActionGroup.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public void update(AnActionEvent anActionEvent) {
3636
if (psiFile != null) {
3737
anActionEvent.getPresentation()
3838
.setText(String.format("CSV Value Separator: %s",
39-
CsvHelper.getCurrentValueSeparator(psiFile).getDisplay())
39+
CsvHelper.getValueSeparator(psiFile).getDisplay())
4040
);
4141
}
4242
}

src/main/java/net/seesharpsoft/intellij/plugins/csv/actions/CsvDefaultEscapeCharacterAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.intellij.openapi.fileEditor.FileEditor;
88
import com.intellij.psi.PsiFile;
99
import com.intellij.util.FileContentUtilCore;
10+
import net.seesharpsoft.intellij.plugins.csv.CsvHelper;
1011
import net.seesharpsoft.intellij.plugins.csv.components.CsvFileAttributes;
1112
import org.jetbrains.annotations.NotNull;
1213

@@ -21,7 +22,7 @@ public boolean isSelected(@NotNull AnActionEvent anActionEvent) {
2122
if (psiFile == null) {
2223
return false;
2324
}
24-
return !CsvFileAttributes.getInstance(psiFile.getProject()).hasEscapeCharacterAttribute(psiFile);
25+
return !CsvHelper.hasEscapeCharacterAttribute(psiFile);
2526
}
2627

2728
@Override

src/main/java/net/seesharpsoft/intellij/plugins/csv/actions/CsvDefaultSeparatorAction.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
import com.intellij.openapi.actionSystem.CommonDataKeys;
55
import com.intellij.openapi.actionSystem.PlatformDataKeys;
66
import com.intellij.openapi.actionSystem.ToggleAction;
7-
import com.intellij.openapi.components.ServiceManager;
87
import com.intellij.openapi.fileEditor.FileEditor;
98
import com.intellij.psi.PsiFile;
109
import com.intellij.util.FileContentUtilCore;
10+
import net.seesharpsoft.intellij.plugins.csv.CsvHelper;
1111
import net.seesharpsoft.intellij.plugins.csv.components.CsvFileAttributes;
1212
import org.jetbrains.annotations.NotNull;
1313

@@ -22,8 +22,7 @@ public boolean isSelected(@NotNull AnActionEvent anActionEvent) {
2222
if (psiFile == null) {
2323
return false;
2424
}
25-
CsvFileAttributes csvFileAttributes = ServiceManager.getService(psiFile.getProject(), CsvFileAttributes.class);
26-
return csvFileAttributes.getFileSeparator(psiFile) == null;
25+
return CsvHelper.getValueSeparator(psiFile) == null;
2726
}
2827

2928
@Override

0 commit comments

Comments
 (0)