Skip to content

Instantly share code, notes, and snippets.

@katoy
Created June 16, 2012 21:49
Show Gist options
  • Save katoy/2942606 to your computer and use it in GitHub Desktop.
Save katoy/2942606 to your computer and use it in GitHub Desktop.
google-code-prettify language-handlers for uwsc.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/**
* @fileoverview
* Registers a language handler for uwsc.
*
*
* To use, include prettify.js and this file in your HTML page.
* Then put your code in an HTML tag like
* <pre class="prettyprint lang-uwsc">(my SQL code)</pre>
*
*
* [uwsc]: http://www.uwsc.info/
*
* @author [email protected]
*/
PR['registerLangHandler'](
PR['createSimpleLexer'](
[
// Whitespace
[PR['PR_PLAIN'], /^[\t\n\r \xA0\u2028\u2029]+/, null, '\t\n\r \xA0\u2028\u2029'],
],
[
// TEXTBLOCK ... ENDTEXTBLOCK
[PR['PR_STRING'], /^TEXTBLOCK[\s\S]*?(?:ENDTEXTBLOCK|$)/],
// Double quoted string
[PR['PR_STRING'], /^\"[^\"\r\n]*?\"/],
// A C style line comment.
[PR['PR_COMMENT'], /^\/\/[^\r\n]*/, null],
[PR['PR_TYPE'], /^(?:CLASS|ENDCLASS|MODULE|ENDMODULE)\b/i],
[PR['PR_KEYWORD'], /^(?:IF|THEN|ELSE|IFB|ELSEIF|ENDIF|SELECT|CASE|DEFAULT|SELEND|FOR|NEXT|TO|STEP|WHILE|WEND|REPEAT|UNTIL|CALL|BREAK|CONTINUE|EXIT|TRY|ENDTRY|EXCEPT|FINALLY)\b/i],
[PR['PR_TYPE'], /^(?:DIM|PUBLIC|CONST|RINT|AND|OR|XOR|MOD|PROCEDURE|FUNCTION|FEND|RESULT|VAR|DEF_DLL|OPTIN|THREAD|THIS|GLOBAL|WITH|ENDWITH|HASHTBL)\b/i],
[PR['PR_KEYWORD'], /^(?:GETID|CLKITEM|CHKBTN|CTRLWIN|SENDSTR|GETSTR|GETITEM|GETSLCTLIST|SETSLIDER|GETSLIDER|SCKEY|GETALLWIN|STATUS|MOUSEORG|PEEKCOLOR|CHKIMG|SAVEIMG|MUSCUR|POSACC)\b/i],
[PR['PR_KEYWORD'], /^(?:SENDSTR|GETSTR|SETSLIDER|GETALLWIN|STATUS|FUKIDASI|CHKBTN|MOUSEORG|PEEKCOLOR|CHKIMG|SAVEIMG|GETITEM|MUSCUR)\b/i],
[PR['PR_KEYWORD'], /^(?:INPUT|MSGBOX|SLCTBOX|POPUPMENU|FUKIDASI|STOPFORM|LOGPRINT)\b/i],
[PR['PR_KEYWORD'], /^(?:EXEC|SLEEP|DOSCMD|POWERSHELL|SOUND|GETTIME|POFF|KINDOFOS|CPUUSERATE|GETKEYSTATE|SETHOTKEY|LOCKHARD|EVAL)\b/i],
[PR['PR_KEYWORD'], /^(?:GETCTLHND|IDTOHND|HNDTOID|VARTYPE)\b/i],
[PR['PR_KEYWORD'], /^(?:MMV|BTN|KBD|ACW)\b/i],
[PR['PR_KEYWORD'], /^(?:COPY|POS|LENGTH|CHKNUM|VAL|REPLACE|TRIM|FORMAT|CHR|ASC|ISUNICODE|STRCONV|TOKEN|BETWEENSTR|COPYB|LENGTHB|POSB|CHRB|ASCB)\b/i],
[PR['PR_KEYWORD'], /^(?:RESIZE|SETCLEAR|SETCLEAR|SHIFTARRAY|CALCARRAY|SPLIT|JOIN|SLICE|QSORT)\b/i],
[PR['PR_KEYWORD'], /^(?:FOPEN|FGET|FPUT|FDELLINE|FCLOSE|GETDIR|DROPFILE)\b/i],
[PR['PR_KEYWORD'], /^(?:READINI|WRITEINI|DELETEINI)\b/i],
[PR['PR_KEYWORD'], /^(?:CREATEOLEOBJ|GETACTIVEOLEOBJ|GETOLEITEM|OLEEVENT|COM_ERR_IGN|COM_ERR_RET|SAFEARRAY)\b/i],
[PR['PR_KEYWORD'], /^(?:SPEAK|RECOSTATE|DICTATE)\b/i],
[PR['PR_KEYWORD'], /^(?:IEGETDATA|IESETDATA|IEGETSRC|IESETSRC|IELINK|ENCODE|DECODE)\b/i],
[PR['PR_KEYWORD'], /^(?:CREATEFORM|GETFORMDATA|SETFORMDATA)\b/i],
[PR['PR_KEYWORD'], /^(?:XLOPEN|XLCLOSE|XLACTIVATE|XLSHEET|XLGETDATA|XLSETDATA)\b/i],
[PR['PR_KEYWORD'], /^(?:RANDOM|ABS|ZCUT|INT|ROUND|SQRT|POWER|EXP|LN|LOGN|SIN|COS|TAN|ARCSIN|ARCCOS|ARCTAN)\b/i],
[PR['PR_KEYWORD'], /^(?:PARAM_STR|ALL_WIN_ID|ALL_ITEM_LIST|GETDIR_FILES|ALL_OLE_ITEM|EVENT_PRM)\b/i],
[PR['PR_KEYWORD'], /^(?:GET_WIN_DIR|GET_SYS_DIR|GET_CUR_DIR|GET_APPDATA_DIR|GET_UWSC_DIR|GET_UWSC_VER|GET_UWSC_NAME)\b/i],
[PR['PR_KEYWORD'], /^(?:COM_ERR_FLG)\b/i],
[PR['PR_KEYWORD'], /^(?:G_ING_X|G_IMG_Y)\b/i],
[PR['PR_KEYWORD'], /^(?:G_SCREEN_W|G_SCREEN_H|G_SCREEN_C)\b/i],
[PR['PR_KEYWORD'], /^(?:G_MOUSE_X|G_MOUSE_Y)\b/i],
[PR['PR_KEYWORD'], /^(?:TRY_ERRMSG|TRY_ERRLINE|HOTKEY_VK|HOTKEY_MOD)\b/i],
[PR['PR_KEYWORD'], /^(?:G_TIME_YY|G_TIME_MM|G_TIME_DD|G_TIME_HH|G_TIME_NN|G_TIME_SS|G_TIME_ZZ|G_TIME_WW|G_TIME_YY2|G_TIME_MM2|G_TIME_DD2|G_TIME_HH2|G_TIME_NN2|G_TIME_SS2|G_TIME_ZZ2|G_TIME_YY4)\b/i],
[PR['PR_TYPE'], /^(?:TRUE|FALSE|NULL|EMPTY|NOTHING|ERR_VALUE)\b/i],
[PR['PR_KEYWORD'], /^(?:GET_SLIDER|GET_MENU_HND|GET_SYSMENU_HND|ACTIVATE|CLOSE|CLOSE2|HIDE|SHOW|MIN|MAX|NORMAL|TOPMOST|NOTOPMOST)\b/i],
[PR['PR_KEYWORD'], /^(?:CLICK|DOWN|UP|LEFT|RIGHT|MIDDLE|WHEEL)\b/i],
[PR['PR_KEYWORD'], /^(?:F_READ|F_WRITE|F_EXISTS|F_LINECOUNT|F_ALLTEXT)\b/i],
[PR['PR_KEYWORD'], /^(?:BTN_YES|BTN_NO|BTN_OK|BTN_CANCEL|BTN_ABORT|BTN_RETRY|BTN_IGNORE)\b/i],
[PR['PR_KEYWORD'], /^(?:CLK_BTN|CLK_LIST|CLK_TAB|CLK_MENU|CLK_TREEVEW|CLK_LSTVEW|CLK_TOOLBAR|CLK_ACC|CLK_SHORT|CLK_BACK|CLK_MUSMOVE|CLK_RIGHTCLK|CLK_LEFTCLK|CLK_DBLCLK|CLK_FROMLAST|CLK_CONTINUE)\b/i],
[PR['PR_KEYWORD'], /^(?:ITM_BTN|ITM_LIST|ITM_TAB|ITM_MENU|ITM_TREEVEW|ITM_LSTVEW|ITM_EDIT|ITM_STATIC|ITM_STATUSBAR|ITM_TOOLBAR|ITM_ACCCLK|ITM_ACCTXT|ITM_BACK)\b/i],
[PR['PR_KEYWORD'], /^(?:ST_TITLE|ST_CLASS|ST_X|ST_Y|ST_WIDTH|ST_HEIGHT|ST_CLX|ST_CLY|ST_CLWIDTH|ST_CLHEIGHT|ST_PARENT|ST_ICON|ST_VISIBLE|ST_ACTIVE|ST_BUSY|ST_PATH|ST_PROCESS|ST_WIN64)\b/i],
[PR['PR_KEYWORD'], /^(?:SLCT_BTN|SLCT_CHK|SLCT_RDO|SLCT_CMB|SLCT_LST|SLCT_STR|SLCT_NUM)\b/i],
[PR['PR_KEYWORD'], /^(?:CUR_APPSTARTING|CUR_ARROW|CUR_CROSS|CUR_HAND|CUR_HELP|CUR_IBEAM|CUR_NO|CUR_SIZEALL|CUR_SIZENESW|CUR_SIZENS|CUR_SIZENWSE|CUR_SIZEWE|CUR_UPARROW|CUR_WAIT)\b/i],
[PR['PR_KEYWORD'], /^(?:ACC_ACC|ACC_API|ACC_NAME|ACC_VALUE|ACC_ROLE|ACC_STATE|ACC_DESCRIPTION|ACC_LOCATION|ACC_BACK)\b/i],
[PR['PR_KEYWORD'], /^(?:P_POWEROFF|P_LOGOFF|P_REBOOT|P_SUSPEND|P_SUSPEND2|P_MONIPOWER|P_MONIPOWER2|P_MONIPOWER3|P_SCREENSAVE|P_UWSC_REEXEC|P_FORCE)\b/i],
[PR['PR_KEYWORD'], /^(?:GET_ACTIVE_WIN|GET_FROMPOINT_WIN|GET_FROMPOINT_OBJ|GET_THISUWSC_WIN|GET_LOGPRINT_WIN|GET_FUKIDASI_WIN|GET_FORM_WIN|GET_SCHEDULE_WIN)\b/i],
[PR['PR_KEYWORD'], /^(?:TGL_IME|TGL_NUMLOCK|TGL_CAPSLOCK|TGL_SCROLLLOCK|TGL_KANALOCK)\b/i],
[PR['PR_KEYWORD'], /^(?:SC_LOWERCASE|SC_UPPERCASE|SC_HIRAGANA|SC_KATAKANA|SC_HALFWIDTH|SC_FULLWIDTH)\b/i],
[PR['PR_KEYWORD'], /^(?:FOM_NOICON|FOM_MINIMIZE|FOM_MAXIMIZE|FOM_NOHIDE|FOM_NOSUBMIT|FOM_NORESIZE|FOM_NOLUNA|FOM_BROWSER|CODE_URL|CODE_UTF8|CODE_BYTEARRAY|CODE_BYTEARRAYW)\b/i],
[PR['PR_KEYWORD'], /^(?:CALC_ADD|CALC_MIN|CALC_MAX|CALC_AVR)\b/i],
[PR['PR_KEYWORD'], /^(?:ALL_IMG_X|ALL_IMG_Y|IMG_MSK_BGR1|IMG_MSK_BGR2|IMG_MSK_BGR3|IMG_MSK_BGR4|IMG_MSK_B1|IMG_MSK_B2|IMG_MSK_B3|IMG_MSK_B4|IMG_MSK_G1|IMG_MSK_G2|IMG_MSK_G3|IMG_MSK_G4|IMG_MSK_R1|IMG_MSK_R2|IMG_MSK_R3|IMG_MSK_R4|MOD_ALT|MOD_CONTROL|MOD_SHIFT|MOD_WIN|SLD_POS|SLD_MIN|SLD_MAX|SLD_PAGE|SLD_BAR|SLD_X|SLD_Y)\b/i],
[PR['PR_TYPE'], /^(?:VK_START|VK_WIN|VK_ALT|VK_CTRL|VK_RCTRL|VK_ESC|VK_BACK|VK_TAB|VK_CLEAR|VK_RETURN|VK_RRETURN|VK_SHIFT|VK_RSHIFT|VK_CONTROL|VK_MENU|VK_PAUSE|VK_CAPITAL|VK_KANA|VK_FINAL|VK_KANJI|VK_CONVERT|VK_NONCONVERT|VK_ACCEPT|VK_MODECHANGE|VK_ESCAPE|VK_SPACE|VK_PRIOR|VK_NEXT|VK_END|VK_HOME|VK_LEFT|VK_UP|VK_RIGHT|VK_DOWN|VK_SELECT|VK_PRINT|VK_EXECUTE|VK_SNAPSHOT|VK_INSERT|VK_DELETE|VK_HELP|VK_APPS|VK_MULTIPLY|VK_ADD|VK_SEPARATOR|VK_SUBTRACT|VK_DECIMAL|VK_DIVIDE|VK_NUMPAD0|VK_NUMPAD1|VK_NUMPAD2|VK_NUMPAD3|VK_NUMPAD4|VK_NUMPAD5|VK_NUMPAD6|VK_NUMPAD7|VK_NUMPAD8|VK_NUMPAD9|VK_F1|VK_F2|VK_F3|VK_F4|VK_F5|VK_F6|VK_F7|VK_F8|VK_F9|VK_F10|VK_F11|VK_F12|VK_NUMLOCK|VK_SCROLL|VK_SLEEP|VK_BROWSER_BACK|VK_BROWSER_FORWARD|VK_BROWSER_REFRESH|VK_BROWSER_STOP|VK_BROWSER_SEARCH|VK_BROWSER_FAVORITES|VK_BROWSER_HOME|VK_VOLUME_MUTE|VK_VOLUME_DOWN|VK_VOLUME_UP|VK_MEDIA_NEXT_TRACK|VK_MEDIA_PREV_TRACK|VK_MEDIA_STOP|VK_MEDIA_PLAY_PAUSE|VK_LAUNCH_MEDIA_SELECT|VK_LAUNCH_MAIL|VK_LAUNCH_APP1|VK_LAUNCH_APP2 |VK_OEM_PLUS|VK_OEM_COMMA|VK_OEM_MINUS|VK_OEM_PERIOD|VK_OEM_1|VK_OEM_2|VK_OEM_3|VK_OEM_4|VK_OEM_5|VK_OEM_6|VK_OEM_7|VK_OEM_8|VK_OEM_RESET|VK_OEM_JUMP|VK_OEM_PA1|VK_OEM_PA2|VK_OEM_PA3|VK_A|VK_B|VK_C|VK_D|VK_E|VK_F|VK_G|VK_H|VK_I|VK_J|VK_K|VK_L|VK_M|VK_N|VK_O|VK_P|VK_Q|VK_R|VK_S|VK_T|VK_U|VK_V|VK_W|VK_X|VK_Y|VK_Z|VK_0|VK_1|VK_2|VK_3|VK_4|VK_5|VK_6|VK_7|VK_8|VK_9)\b/i],
// A number is a hex integer literal, a decimal real literal, or in
// scientific notation.
[PR['PR_LITERAL'],
/^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],
// An identifier
[PR['PR_PLAIN'], /^[a-z_][\w-]*/i],
// A run of punctuation
[PR['PR_PUNCTUATION'], /^[^\w\t\n\r \xA0\"\'][^\w\t\n\r \xA0+\-\"\']*/],
]),
['uwsc']);
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8"/>
<title>uwsc script</title>
<!--
<link href="js/google-code-prettify/src/prettify.css" type="text/css" rel="stylesheet" />
<link href="js/google-code-prettify/styles/sunburst.css" type="text/css" rel="stylesheet" />
<link href="js/google-code-prettify/styles/desert-modify.css" type="text/css" rel="stylesheet" />
<link href="js/google-code-prettify/styles/sons-of-obsidian.css" type="text/css" rel="stylesheet" />
-->
<link href="js/google-code-prettify/styles/sons-of-obsidian.css" type="text/css" rel="stylesheet" />
<script type="text/javascript"
src="js/google-code-prettify/src/prettify.js"></script>
<script type="text/javascript"
src="js/google-code-prettify/src/lang-uwsc.js"></script>
</head>
<body onload="prettyPrint();">
<pre class="prettyprint linenums lang-uwsc">
<code>
// CTRLキーにてアクティブウィンドウの画像保存  #n9
Class サンプル
Procedure キー状態を得る()
GETKEYSTATE(VK_CTRL)
while True
if GETKEYSTATE(VK_CTRL) then
dim id = GETID(GET_ACTIVE_WIN)
dim titl = STATUS(id, ST_TITLE)
if titl <> "" then SAVEIMG(titl, id) // タイトル名にて保存
endif
Sleep(0.2)
wend
fend
EndClass
TEXTBLOCK
あいうえお
ENDTEXTBLOCK
</code>
</pre>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment