テーマのトグル

2024年3月2日 (土) 20:23時点におけるStarworshipper (トーク | 投稿記録)による版 (ページの作成:「== 概要 == https://www.haijin-boys.com/discussions/6141 テーマをキーボードショートカットなどでトグルできるようになるマクロです。 フォーラム上でusky様が作成されたものですが、 フォーラムだけだと埋没してしまい検索に苦労したので、こちらにも記載させていただきました。 == ソースコード == 2021年6月26日 21:21 | ucky 様 <syntaxhighlight lang="bs"> if ("ReadSett…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

概要

https://www.haijin-boys.com/discussions/6141

テーマをキーボードショートカットなどでトグルできるようになるマクロです。 フォーラム上でusky様が作成されたものですが、 フォーラムだけだと埋没してしまい検索に苦労したので、こちらにも記載させていただきました。

ソースコード

2021年6月26日 21:21 | ucky 様

if ("ReadSettings" in editor) {
  var currentTheme = editor.ReadSettingString("Themes", "ThemeName", "");
  var newTheme;

  switch (currentTheme) {
    case "切り替え用1":
      newTheme = "切り替え用2";
      break;
    case "切り替え用2":
      newTheme = "切り替え用3";
      break;
    default:
      newTheme = "切り替え用1";
  }

  var items = [
    "GeneralForeColor",
    "GeneralBackColor",
    "GeneralStyle",
    "SelectionForeColor",
    "SelectionBackColor",
    "SelectionStyle",
    "MultiSelectionForeColor",
    "MultiSelectionBackColor",
    "MultiSelectionStyle",
    "CaretColor",
    "ImeCaretColor",
    "CurrentLineForeColor",
    "CurrentLineBackColor",
    "CurrentLineStyle",
    "HyperlinkForeColor",
    "HyperlinkBackColor",
    "HyperlinkStyle",
    "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",
    "RulerForeColor",
    "RulerBackColor",
    "RulerStyle",
    "VerticalLineForeColor",
    "VerticalLineBackColor",
    "VerticalLineStyle",
    "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.WriteSettingString("Themes", "ThemeName", newTheme);

    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 + " では使えません");
}
スポンサーリンク