mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
WEB-27411: support copying custom code style settings between JS-derived languages.
This commit is contained in:
+14
-7
@@ -365,11 +365,20 @@ public abstract class TabbedLanguageCodeStylePanel extends CodeStyleAbstractPane
|
||||
private void applyLanguageSettings(Language lang) {
|
||||
final Project currProject = ProjectUtil.guessCurrentProject(getPanel());
|
||||
CodeStyleSettings rootSettings = CodeStyleSettingsManager.getSettings(currProject);
|
||||
CommonCodeStyleSettings sourceSettings = rootSettings.getCommonSettings(lang);
|
||||
CommonCodeStyleSettings targetSettings = getSettings().getCommonSettings(getDefaultLanguage());
|
||||
if (sourceSettings == null || targetSettings == null) return;
|
||||
if (!(targetSettings instanceof CodeStyleSettings)) {
|
||||
CommonCodeStyleSettingsManager.copy(sourceSettings, targetSettings);
|
||||
CodeStyleSettings targetSettings = getSettings();
|
||||
if (rootSettings.getCommonSettings(lang) == null || targetSettings.getCommonSettings(getDefaultLanguage()) == null)
|
||||
return;
|
||||
|
||||
applyLanguageSettings(lang, rootSettings, targetSettings);
|
||||
reset(targetSettings);
|
||||
onSomethingChanged();
|
||||
}
|
||||
|
||||
protected void applyLanguageSettings(Language lang, CodeStyleSettings rootSettings, CodeStyleSettings targetSettings) {
|
||||
CommonCodeStyleSettings sourceCommonSettings = rootSettings.getCommonSettings(lang);
|
||||
CommonCodeStyleSettings targetCommonSettings = targetSettings.getCommonSettings(getDefaultLanguage());
|
||||
if (!(targetCommonSettings instanceof CodeStyleSettings)) {
|
||||
CommonCodeStyleSettingsManager.copy(sourceCommonSettings, targetCommonSettings);
|
||||
}
|
||||
else {
|
||||
Language targetLang = getDefaultLanguage();
|
||||
@@ -378,8 +387,6 @@ public abstract class TabbedLanguageCodeStylePanel extends CodeStyleAbstractPane
|
||||
" its own code style settings in LanguageCodeStyleSettingsProvider.getDefaultSettings()." +
|
||||
" The operation can not be applied in this case.");
|
||||
}
|
||||
reset(getSettings());
|
||||
onSomethingChanged();
|
||||
}
|
||||
|
||||
private void applyPredefinedStyle(String styleName) {
|
||||
|
||||
Reference in New Issue
Block a user