「テーマのトグル」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
SyntaxHighlightにcopyの追加 |
||
| 15行目: | 15行目: | ||
== ソースコード == | == ソースコード == | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript" copy> | ||
if ("ReadSettings" in editor) { | if ("ReadSettings" in editor) { | ||
var currentTheme = editor.ReadSettingString("Themes", "ThemeName", ""); | var currentTheme = editor.ReadSettingString("Themes", "ThemeName", ""); | ||
2025年6月30日 (月) 00:43時点における版
概要
テーマをキーボードショートカットなどでトグルできるようになるマクロです。フォーラムでucky様が作成されたものですが、フォーラムだけだと埋没してしまい検索に苦労したので、こちらにも記載させていただきました。
変更履歴
- 2025-05-03
- Mery 3.7.13 時点の仕様に合わせて項目を追加
- 2024-12-29
- Mery 3.7.9 時点の仕様に合わせて項目を追加
- 2024-04-09
- メニュー等から変更した INI ファイルに書き込まれる前の設定が破棄されるのを修正
- 2024-03-03
- Mery 3.7.0 時点の仕様に合わせて項目を追加
- 2021-06-26
- 新規作成
ソースコード
if ("ReadSettings" in editor) {
var currentTheme = editor.ReadSettingString("Themes", "ThemeName", "");
var newTheme;
// あらかじめ [オプション] ダイアログの [表示] カテゴリの [テーマ] で
// 切り替え用1・切り替え用2・切り替え用3というテーマ名で切り替えたいテーマを「名前を付けて保存」しておきます
switch (currentTheme) {
case "切り替え用1":
newTheme = "切り替え用2";
break;
case "切り替え用2":
newTheme = "切り替え用3";
break;
default:
newTheme = "切り替え用1";
}
// Mery 3.7.13 時点での項目
// テーマの仕様変更の際には項目を見直す必要があると思います
var items = [
"GeneralForeColor",
"GeneralBackColor",
"GeneralStyle",
"SelectionForeColor",
"SelectionBackColor",
"SelectionStyle",
"MultiSelectionForeColor",
"MultiSelectionBackColor",
"MultiSelectionStyle",
"CaretColor",
"ImeCaretColor",
"CurrentLineForeColor",
"CurrentLineBackColor",
"CurrentLineStyle",
"EvenLinesForeColor",
"EvenLinesBackColor",
"EvenLinesStyle",
"HyperlinkForeColor",
"HyperlinkBackColor",
"HyperlinkStyle",
"ColorStringForeColor",
"ColorStringBackColor",
"ColorStringStyle",
"StringForeColor",
"StringBackColor",
"StringStyle",
"CommentForeColor",
"CommentBackColor",
"CommentStyle",
"ScriptForeColor",
"ScriptBackColor",
"ScriptStyle",
"BracketForeColor",
"BracketBackColor",
"BracketStyle",
"TagForeColor",
"TagBackColor",
"TagStyle",
"Keyword1ForeColor",
"Keyword1BackColor",
"Keyword1Style",
"Keyword2ForeColor",
"Keyword2BackColor",
"Keyword2Style",
"Keyword3ForeColor",
"Keyword3BackColor",
"Keyword3Style",
"Keyword4ForeColor",
"Keyword4BackColor",
"Keyword4Style",
"Keyword5ForeColor",
"Keyword5BackColor",
"Keyword5Style",
"Keyword6ForeColor",
"Keyword6BackColor",
"Keyword6Style",
"Keyword7ForeColor",
"Keyword7BackColor",
"Keyword7Style",
"Keyword8ForeColor",
"Keyword8BackColor",
"Keyword8Style",
"CRLFForeColor",
"CRLFBackColor",
"CRLFStyle",
"WrapForeColor",
"WrapBackColor",
"WrapStyle",
"TabForeColor",
"TabBackColor",
"TabStyle",
"EOFForeColor",
"EOFBackColor",
"EOFStyle",
"CaretForeColor",
"CaretBackColor",
"CaretStyle",
"LineNumbersForeColor",
"LineNumbersBackColor",
"LineNumbersStyle",
"ChangedLineNumbersForeColor",
"ChangedLineNumbersBackColor",
"ChangedLineNumbersStyle",
"SelectedLineNumbersForeColor",
"SelectedLineNumbersBackColor",
"SelectedLineNumbersStyle",
"LineNumbersLineForeColor",
"LineNumbersLineBackColor",
"LineNumbersLineStyle",
"RulerForeColor",
"RulerBackColor",
"RulerStyle",
"RulerLineForeColor",
"RulerLineBackColor",
"RulerLineStyle",
"VerticalLineForeColor",
"VerticalLineBackColor",
"VerticalLineStyle",
"IndentGuidesForeColor",
"IndentGuidesBackColor",
"IndentGuidesStyle",
"SBAlphabeticForeColor",
"SBAlphabeticBackColor",
"SBAlphabeticStyle",
"SBNumberForeColor",
"SBNumberBackColor",
"SBNumberStyle",
"SBSymbolForeColor",
"SBSymbolBackColor",
"SBSymbolStyle",
"SBKatakanaForeColor",
"SBKatakanaBackColor",
"SBKatakanaStyle",
"SBSpaceForeColor",
"SBSpaceBackColor",
"SBSpaceStyle",
"DBAlphabetForeColor",
"DBAlphabetBackColor",
"DBAlphabetStyle",
"DBNumberForeColor",
"DBNumberBackColor",
"DBNumberStyle",
"DBSymbolForeColor",
"DBSymbolBackColor",
"DBSymbolStyle",
"DBHiraganaForeColor",
"DBHiraganaBackColor",
"DBHiraganaStyle",
"DBKatakanaForeColor",
"DBKatakanaBackColor",
"DBKatakanaStyle",
"DBKanjiForeColor",
"DBKanjiBackColor",
"DBKanjiStyle",
"DBSpaceForeColor",
"DBSpaceBackColor",
"DBSpaceStyle",
"BookmarkForeColor",
"BookmarkBackColor",
"BookmarkStyle",
"SpellForeColor",
"SpellBackColor",
"SpellStyle",
"SearchStringForeColor",
"SearchStringBackColor",
"SearchStringStyle",
"AutoMarkerForeColor",
"AutoMarkerBackColor",
"AutoMarkerStyle",
"Marker1ForeColor",
"Marker1BackColor",
"Marker1Style",
"Marker2ForeColor",
"Marker2BackColor",
"Marker2Style",
"Marker3ForeColor",
"Marker3BackColor",
"Marker3Style",
"Marker4ForeColor",
"Marker4BackColor",
"Marker4Style",
"Marker5ForeColor",
"Marker5BackColor",
"Marker5Style",
"Marker6ForeColor",
"Marker6BackColor",
"Marker6Style",
"Marker7ForeColor",
"Marker7BackColor",
"Marker7Style",
"Marker8ForeColor",
"Marker8BackColor",
"Marker8Style",
"IndicatorModifiedForeColor",
"IndicatorModifiedBackColor",
"IndicatorModifiedStyle",
"IndicatorSavedForeColor",
"IndicatorSavedBackColor",
"IndicatorSavedStyle",
"ScrollBarModifiedForeColor",
"ScrollBarModifiedBackColor",
"ScrollBarModifiedStyle",
"ScrollBarSavedForeColor",
"ScrollBarSavedBackColor",
"ScrollBarSavedStyle",
"ScrollBarBookmarkForeColor",
"ScrollBarBookmarkBackColor",
"ScrollBarBookmarkStyle",
"ScrollBarFoundForeColor",
"ScrollBarFoundBackColor",
"ScrollBarFoundStyle",
"ScrollBarCaretForeColor",
"ScrollBarCaretBackColor",
"ScrollBarCaretStyle",
"ForeignForeColor",
"ForeignBackColor",
"ForeignStyle",
"OtherForeColor",
"OtherBackColor",
"OtherStyle",
"ControlForeColor",
"ControlBackColor",
"ControlStyle",
"InvalidForeColor",
"InvalidBackColor",
"InvalidStyle"
];
if (editor.ReadSettingString("Theme\\" + newTheme, "GeneralForeColor", "") !== "") {
editor.WriteSettings();
editor.WriteSettingString("Themes", "ThemeName", newTheme);
// テーマを「名前を付けて保存」したときに設定ファイルに追加される
// [Theme\テーマ名] セクションを読んで [Display] セクションの該当する項目を書き換える
for (var i = 0; i < items.length; i++) {
editor.WriteSettingString("Display", items[i],
editor.ReadSettingString("Theme\\" + newTheme, items[i], "")
);
}
editor.ReadSettings();
} else {
alert(newTheme + " という名前でテーマを保存してください");
}
} else {
alert("Version " + editor.Version + " では使えません");
}
スポンサーリンク