Пример #1
0
        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));
        }
Пример #2
0
        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);
            }
        }