internal static void CommandMenuInit() { StringBuilder sbIniFilePath = new StringBuilder(Win32.MAX_PATH); Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_GETPLUGINSCONFIGDIR, Win32.MAX_PATH, sbIniFilePath); nps.IniFilePath = Path.GetFullPath(sbIniFilePath.ToString()); if (!Directory.Exists(nps.IniFilePath)) { Directory.CreateDirectory(nps.IniFilePath); } nps.IniFilePath = Path.Combine(nps.IniFilePath, Main.PluginName + ".ini"); nps.ReadSettings(); nps.WriteSettings(); int cmdIdx = 0; PluginBase.SetCommand(cmdIdx++, "Json: Pretty", FormatPrettyJsonMenu); PluginBase.SetCommand(cmdIdx++, "Json: Pretty (sorted)", FormatPrettyJsonSortedMenu); PluginBase.SetCommand(cmdIdx++, "Json: Minify", FormatMiniJsonMenu); PluginBase.SetCommand(cmdIdx++, "Json: Validate", ValidateJsonMenu); PluginBase.SetCommand(cmdIdx++, "---", null); PluginBase.SetCommand(cmdIdx++, "Xml: Pretty", FormatPrettyXmlMenu); PluginBase.SetCommand(cmdIdx++, "Xml: Pretty (sorted)", FormatPrettyXmlSortedMenu); PluginBase.SetCommand(cmdIdx++, "Xml: Minify", FormatMiniXmlMenu); PluginBase.SetCommand(cmdIdx++, "Xml: Validate", ValidateXMLMenu); PluginBase.SetCommand(cmdIdx++, "---", null); PluginBase.SetCommand(cmdIdx++, "Base64/Gzip -> String", B64GzipStringMenu); PluginBase.SetCommand(cmdIdx++, "Base64/Gzip -> Pretty Json", B64GzipPrettyJsonMenu); PluginBase.SetCommand(cmdIdx++, "String -> Base64/Gzip", B64GzipPayloadMenu); PluginBase.SetCommand(cmdIdx++, "---", null); PluginBase.SetCommand(cmdIdx++, "Blob -> String", BlobStringMenu); PluginBase.SetCommand(cmdIdx++, "String -> Blob", BlobPayloadMenu); PluginBase.SetCommand(cmdIdx++, "---", null); PluginBase.SetCommand(cmdIdx++, "Detect Indentation", DetectMenu); PluginBase.SetCommand(cmdIdx++, "Set Tabs", SetTabsMenu); PluginBase.SetCommand(cmdIdx++, "Set Spaces", SetSpacesMenu); nps.AutodetectCmdId = cmdIdx++; PluginBase.SetCommand(nps.AutodetectCmdId, "Enable Indent Autodetect", AutodetectEnableMenu, nps.EnableAutoDetect); PluginBase.SetCommand(cmdIdx++, "---", null); nps.SizeDetectCmdId = cmdIdx++; PluginBase.SetCommand(nps.SizeDetectCmdId, "Enable File Size Autodetect", SizeDetectEnableMenu, nps.EnableSizeDetect); PluginBase.SetCommand(cmdIdx++, "---", null); PluginBase.SetCommand(cmdIdx++, "Settings...", SettingsMenu); //SubmenuCmdId = cmdIdx++; //PluginBase.SetCommand(SubmenuCmdId, "Sub menu", NoOpMenu); //SubmenuItem = cmdIdx++; //PluginBase.SetCommand(SubmenuItem, "Sub menu item", NoOpMenu); //PluginBase.SetCommand(1, "Pretty Json: Format", prettyJson, new ShortcutKey(false, false, false, Keys.None)); }
internal void FileSaved(IntPtr id) { var buff = GetBufferInfo(id); if (string.Equals(buff.Path, nps.IniFilePath, StringComparison.OrdinalIgnoreCase)) { nps.ReadSettings(); nps.ApplySettings(); } if (!nps.EnableAutoDetect) { return; } RemoveFileFromCache(id); IntPtr activeBuf = GetActiveBuffer(); if (activeBuf == id) { GuessIndentation(id); } }