「テーマのトグル」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
Ucky (トーク | 投稿記録)
編集の要約なし
Ucky (トーク | 投稿記録)
編集の要約なし
3行目: 3行目:


== 変更履歴 ==
== 変更履歴 ==
* 2025-05-03
** Mery 3.7.13 時点の仕様に合わせて項目を追加
* 2024-12-29
* 2024-12-29
** Mery 3.7.9 時点の仕様に合わせて項目を追加
** Mery 3.7.9 時点の仕様に合わせて項目を追加
31行目: 33行目:
   }
   }


   // Mery 3.7.3 時点での項目。Mery 3.7.9 現在変更なし
   // Mery 3.7.13 時点での項目
   // テーマの仕様変更の際には項目を見直す必要があると思います
   // テーマの仕様変更の際には項目を見直す必要があると思います
   var items = [
   var items = [
54行目: 56行目:
     "HyperlinkBackColor",
     "HyperlinkBackColor",
     "HyperlinkStyle",
     "HyperlinkStyle",
    "ColorStringForeColor",
    "ColorStringBackColor",
    "ColorStringStyle",
     "StringForeColor",
     "StringForeColor",
     "StringBackColor",
     "StringBackColor",

2025年5月3日 (土) 00:45時点における版

概要

テーマをキーボードショートカットなどでトグルできるようになるマクロです。フォーラムで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 + " では使えません");
}
スポンサーリンク