static __ExecuteAndWait(sTarget, sParams) { auto nResult = 0, pIN = 0, pOUT = 0; pIN = hkp_DataNew(); pOUT = hkp_DataNew(); hkp_DataAdd(pIN, "FUNC_NAME", "ExecuteAndWait"); hkp_DataAdd(pIN, "FUNC_PARAM1", sTarget); hkp_DataAdd(pIN, "FUNC_PARAM2", sParams); hkp_DataAdd(pIN, "FUNC_PARAM3", ""); hkp_DataAdd(pIN, "FUNC_PARAM4", "0"); if(hkp_Func(pIN, pOUT)) { nResult = 1; } hkp_DataFree(pOUT); hkp_DataFree(pIN); return nResult; } static __InvokeCommand(sCommand) { auto nResult = 0, pIN = 0, pOUT = 0; pIN = hkp_DataNew(); pOUT = hkp_DataNew(); hkp_DataAdd(pIN, "FUNC_NAME", "InvokeCommand"); hkp_DataAdd(pIN, "FUNC_PARAM1", sCommand); if(hkp_Func(pIN, pOUT)) { nResult = 1; } hkp_DataFree(pOUT); hkp_DataFree(pIN); return nResult; } static hkp_Main(nIn, nOut) { auto sFileName = ""; // get the current file path and name if(hkp_DataGet(nIn, "INPUT_FILE", &sFileName)) { // pass the file to an external program and // wait for it to exit if(__ExecuteAndWait("polystyle.exe", sFileName)) { // reload the file __InvokeCommand("MFileReload"); } } hkp_DataAddInt(nOut, "MODE_OUTPUT", 1); } /*------------------------------------------------------------------------- HTML-Kit will call the following function to initialize and register the plugin. -------------------------------------------------------------------------*/ function hkp_Register(pDataIn, pDataOut) { /* Icon Data ------------------------------------------------------------*/ var sIcon1 = "AAABAAEAEBAEAAAAAAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAgAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8A" "AAD//wD/AAAA/wD/AP//AAD///8AAHAAAIAAAAAIAAAADwAAAAcDMzAHAAAABwu7sAcAAA" "AIC7uwB/AAAA8Du7MA8AAADzO7swDwAAAAc7uzAHAAAABwu7sAcAAAdwC7uwAHN3AAADu7" "MAAACAMzu7uzMwAHC7u7u7u7MANzu7u7u7swB3AzMzMzMzAI9wAAAAAAB4DAfwAAgD8AAI" "A/AACAPwAAgB8AAIAfAACAHwAAwB8AAMAfAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AQAA" ; /*------------------------- Button # 1: "Polystyle" -------------------------*/ hkp_DataSetGlobalSuffix( "_1" ); /* Required Information */ hkp_DataAdd( pDataOut, "NAME", "Polystyle" ); hkp_DataAdd( pDataOut, "SECTION", "Tools" ); /* Optional Information */ hkp_DataAdd( pDataOut, "VERSION", "1.0" ); hkp_DataAddInt( pDataOut, "MODE_SHOW_STATUS", 0 ); hkp_DataAdd( pDataOut, "DESCRIPTION", "Beautify JSP, HTML, CSS, or Javascript files using Polystyle. To use this plugin you must first have Polystyle installed, please visit www.polystyle.com." ); hkp_DataAdd( pDataOut, "HINT", "Format The Current File Using Polystyle" ); hkp_DataAdd( pDataOut, "MODE_ICON", "1" ); hkp_DataAdd( pDataOut, "ICON_SMALL", sIcon1 ); hkp_DataAddInt(pDataOut, "MODE_IN_FILE", 1); hkp_DataAddInt(pDataOut, "MODE_SAVE_FIRST", 1); hkp_DataSetGlobalSuffix( "" ); }