2020import org .jetbrains .annotations .NotNull ;
2121import org .jetbrains .annotations .Nullable ;
2222
23- import java .util .Arrays ;
24- import java .util .HashMap ;
25- import java .util .Map ;
23+ import java .util .*;
2624
2725@ State (
2826 name = "CsvFileAttributes" ,
@@ -125,10 +123,15 @@ CsvValueSeparator autoDetectOrGetDefaultValueSeparator(Project project, VirtualF
125123
126124 private @ NotNull
127125 CsvValueSeparator autoDetectSeparator (Project project , VirtualFile virtualFile ) {
128- Document document = FileDocumentManager .getInstance ().getDocument (virtualFile );
126+ final Document document = FileDocumentManager .getInstance ().getDocument (virtualFile );
129127 final String text = document == null ? "" : document .getText ();
128+ final List <CsvValueSeparator > applicableValueSeparators = new ArrayList (Arrays .asList (CsvValueSeparator .values ()));
129+ final CsvValueSeparator defaultValueSeparator = CsvEditorSettings .getInstance ().getDefaultValueSeparator ();
130+ if (defaultValueSeparator .isCustom ()) {
131+ applicableValueSeparators .add (defaultValueSeparator );
132+ }
130133 Pair <CsvValueSeparator , Integer > separatorWithCount =
131- Arrays . stream ( CsvValueSeparator . values () )
134+ applicableValueSeparators . parallelStream ( )
132135 // count
133136 .map (separator -> {
134137 String character = separator .getCharacter ();
@@ -143,7 +146,7 @@ CsvValueSeparator autoDetectSeparator(Project project, VirtualFile virtualFile)
143146
144147 CsvValueSeparator valueSeparator = separatorWithCount != null ?
145148 separatorWithCount .getFirst () :
146- CsvEditorSettings . getInstance (). getDefaultValueSeparator () ;
149+ defaultValueSeparator ;
147150
148151 setFileSeparator (project , virtualFile , valueSeparator );
149152 return valueSeparator ;
0 commit comments