Implemented a new setting, `getCaseFormat`, in the `ProjectSettings` interface, returning the naming convention used. Also extended corresponding implementations (`DefaultPreset`, `VueI18nPreset`, `ReactI18NextPreset`, `SettingsTestPreset`) to return `NamingConvention.CAMEL_CASE`. A new enum `NamingConvention` was created for this, with options `SNAKE_CASE` and `CAMEL_CASE`.
40 lines
1.2 KiB
Java
40 lines
1.2 KiB
Java
package de.marhali.easyi18n.settings;
|
|
|
|
import com.google.common.base.CaseFormat;
|
|
import de.marhali.easyi18n.io.parser.ParserStrategyType;
|
|
import de.marhali.easyi18n.io.folder.FolderStrategyType;
|
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
/**
|
|
* API to access the project-specific configuration for this plugin.
|
|
* @author marhaliu
|
|
*/
|
|
public interface ProjectSettings {
|
|
// Resource Configuration
|
|
@Nullable String getLocalesDirectory();
|
|
@NotNull FolderStrategyType getFolderStrategy();
|
|
@NotNull ParserStrategyType getParserStrategy();
|
|
@NotNull String getFilePattern();
|
|
|
|
boolean isIncludeSubDirs();
|
|
boolean isSorting();
|
|
|
|
// Editor Configuration
|
|
@Nullable String getNamespaceDelimiter();
|
|
@NotNull String getSectionDelimiter();
|
|
@Nullable String getContextDelimiter();
|
|
@Nullable String getPluralDelimiter();
|
|
@Nullable String getDefaultNamespace();
|
|
@NotNull String getPreviewLocale();
|
|
|
|
boolean isNestedKeys();
|
|
boolean isAssistance();
|
|
|
|
// Experimental Configuration
|
|
boolean isAlwaysFold();
|
|
String getFlavorTemplate();
|
|
@NotNull NamingConvention getCaseFormat();
|
|
}
|