diff options
author | Peng Wu <alexepico@gmail.com> | 2013-04-24 13:49:46 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2013-04-24 13:49:46 +0800 |
commit | 9ab87c1a3a7f46c5b3d7f347d5654b29dc4789e8 (patch) | |
tree | 536b93648491cac052b56ef2cff73911a5950d70 | |
parent | 925f881e940d4573926f7ce224a5b81c4b35ffa3 (diff) | |
download | ibus-libpinyin-9ab87c1a3a7f46c5b3d7f347d5654b29dc4789e8.tar.gz ibus-libpinyin-9ab87c1a3a7f46c5b3d7f347d5654b29dc4789e8.tar.xz ibus-libpinyin-9ab87c1a3a7f46c5b3d7f347d5654b29dc4789e8.zip |
re-factor base.lua
-rw-r--r-- | lua/base.lua | 505 |
1 files changed, 0 insertions, 505 deletions
diff --git a/lua/base.lua b/lua/base.lua index b2ac71d..5aaf32f 100644 --- a/lua/base.lua +++ b/lua/base.lua @@ -176,509 +176,6 @@ function compute(input) return ret end ----------------------------------- - -_TO_BE_REPLACED_FLAG = "#TO_BE_REPLACED#" - -_ASCII_IMAGE_TABLE = { - -["birthday"] = { [[ - -.......................................................................... - - H A P P Y B I R T H D A Y #TO_BE_REPLACED# ! - -.......................................................................... -.....................**............................*...................... -.....................++..............**..........*+.*..................... -...................*+*+..............**..........*++*..................... -.................*+***++*............*+........*.*.*++*................... -.................**..*+*.*..........*+.......*..*+.*.**................... -................+*.**++**+*........*+*+*.....*.*+**+***................... -................+**+*.*+**+*.....*+*.*++*.....**+**++*.................... -.................**++**+*++*....**..*++.*+.....**+..+*.................... -..................*+++.++*......+*.*+***.+.......*.+..**.................. -.............********..*.***...*.**+*.*+**.....+*+..****.................. -............*+*...****...+*....*+++++**++.....********.................... -.............++....***+++**....+.*******....****...*******................ -..............*+*........*+******+***..****.**+.......*+**................ -..............*+*..........+++...***+.#+**...*+*.......+*................. -..............*+*..........+**+*.....**+++*..++.........++................ -..............*+*..........**.*+*........*+*..*+*......*+**............... -..............*+*............+++*..........**.*+*........*++.............. -..............*+*............+++*...........*+*..........*++.............. -...........***+.*............+++*...........*+*..........*+***............ -.......******.*+*............+++*...........*+*..........*+*.++*.......... -......***......++...........*+*+*...........*++*************...**++....... -....*+*.**......***************+*...........*+*********....*.....***...... -....++...*+**.................*+*...........*+*............*....**.**..... -...*+*.....*******.............*+*..........*+*....**********.***...**.... -...*+*...*......************....*************...**..........****......*... -...++....*******.......***+++*********************************.......**... -..++.....++...*+*......*+***+*..........*********..........**...*..*..*... -..+*....*+*...*+......*+....*+*.......*+**.....*+*........**.....*+**++... -....*+.....**+.......**.....**........**........+*........**.......**+*... -...*.+......*+***.*****.....*+......***.........+*........+*.......*+**... -...*.+........******.........*********..........****..*****......***+*.... -....*.*.....................................................**....*+...... -....**+*...................................................+*****+*....... -........**++......................................*++*....*++*............ -........*+******...............................*************.............. -...............****++*###*******###########*****++........................ -.......................................................................... -]], -"生日蛋糕"}, - -} - -function print_ascii(input) - if #input <= 0 then - local metatables = {} - for k, v in pairs(_ASCII_IMAGE_TABLE) do - table.insert(metatables, {["suggest"] = k, ["help"] = v[2]}) - end - return metatables - elseif _ASCII_IMAGE_TABLE[input] then - local result = _ASCII_IMAGE_TABLE[input][1] - local last_commit = ime.get_last_commit() - if #last_commit <= 0 or #last_commit > 20 then - last_commit = "" - end - return result:gsub(_TO_BE_REPLACED_FLAG, last_commit) - else - error("Invalid argument") - end -end - ----------------------------------- --- Bitmaps table used for ascii_large_letters(), in 5x7 bitmaps. -_LARGE_LETTER_BITMAPS = { - -[","] = [[ - - - - - ,, - , - , -]], - -["-"] = [[ - - - ------ - - - -]], - -["."] = [[ - - - - - -.. -.. -]], - -["0"] = [[ - 000 -0 0 -0 0 -0 0 -0 0 -0 0 - 000 -]], - -["1"] = [[ - 1 -111 - 1 - 1 - 1 - 1 -11111 -]], - -["2"] = [[ - 222 -2 2 - 2 - 2 - 2 - 2 -22222 -]], - -["3"] = [[ - 333 -3 3 - 3 - 33 - 3 -3 3 - 333 -]], - -["4"] = [[ - 4 - 44 - 4 4 -4 4 -44444 - 4 - 444 -]], - -["5"] = [[ -55555 -5 -5555 - 5 - 5 -5 5 - 555 -]], - -["6"] = [[ - 66 - 6 -6 -6666 -6 6 -6 6 - 666 -]], - -["7"] = [[ -77777 -7 7 - 7 - 7 - 7 - 7 - 7 -]], - -["8"] = [[ - 888 -8 8 -8 8 - 888 -8 8 -8 8 - 888 -]], - -["9"] = [[ - 999 -9 9 -9 9 - 9999 - 9 - 9 - 99 -]], - -["A"] = [[ - A - A - A A - A A -AAAAA -A A -A A -]], - -["B"] = [[ -BBBB -B B -B B -BBBB -B B -B B -BBBB -]], - -["C"] = [[ - CCC -C C -C -C -C -C C - CCC -]], - -["D"] = [[ -DDD -D D -D D -D D -D D -D D -DDD -]], - -["E"] = [[ -EEEEE -E -E -EEEE -E -E -EEEEE -]], - -["F"] = [[ -FFFFF -F -F -FFFF -F -F -F -]], - -["G"] = [[ - GGG -G G -G -G GG -G G -G G - GGG -]], - -["H"] = [[ -H H -H H -H H -HHHHH -H H -H H -H H -]], - -["I"] = [[ -IIIII - I - I - I - I - I -IIIII -]], - -["J"] = [[ -JJJJJ - J - J - J - J - J -JJ -]], - -["K"] = [[ -K K -K K -K K -KK -K K -K K -K K -]], - -["L"] = [[ -L -L -L -L -L -L -LLLLL -]], - -["M"] = [[ - M M - MMM - MMM - MMM -M M M -M M M -M M -]], - -["N"] = [[ -N N -N N -NN N -N N N -N NN -N N -N N -]], - -["O"] = [[ - OOO -O O -O O -O O -O O -O O - OOO -]], - -["P"] = [[ -PPPP -P P -P P -PPPP -P -P -P -]], - -["Q"] = [[ - QQQ -Q Q -Q Q -Q Q -Q Q Q -Q Q Q - QQQQ -]], - -["R"] = [[ -RRRR -R R -R R -RRRR -R R -R R -R R -]], - -["S"] = [[ - SSS -S S -S - SSS - S -S S - SSS -]], - -["T"] = [[ -TTTTT - T - T - T - T - T - T -]], - -["U"] = [[ -U U -U U -U U -U U -U U -U U - UUU -]], - -["V"] = [[ -V V -V V -V V - V V - V V - V V - V -]], - -["W"] = [[ -W W -W W W -W W W - WWW - WWW - WWW - W W -]], - -["X"] = [[ -X X -X X - X X - X - X X -X X -X X -]], - -["Y"] = [[ -Y Y -Y Y - Y Y - Y - Y - Y - Y -]], - -["Z"] = [[ -ZZZZZ - Z - Z - Z - Z -Z -ZZZZZ -]], - -} - --- Converts input string to ascii image of large letters. -function print_letter(input_string) - if #input_string == 0 then - return {} - end - local letter_width = 5 - local letter_height = 7 - local max_string_length = 16 - local result_lines = {} - for i = 1, letter_height do result_lines[i] = "" end - input_string = input_string:upper() - -- Limits the input string size. - input_string = input_string:sub(1, max_string_length) - -- Only interate on valid characters. - for c in input_string:gmatch("[0-9A-Z ,.-]") do - local letter = _LARGE_LETTER_BITMAPS[c] - -- Splits the letter bitmap into lines and appends each line to the - -- corresponding line of the result. - local lines = ime.split_string(letter, "\n") - for i, line in ipairs(lines) do - if i > letter_height then break end - for i = 1, letter_width - #line do line = line .. ' ' end - result_lines[i] = result_lines[i] .. line .. ' ' - end - end - -- Merges result lines. - for i, line in ipairs(result_lines) do - result_lines[i] = ime.trim_string_right(result_lines[i]) - end - local result = "\n" .. ime.join_string(result_lines, "\n") .. "\n" - return result -end - -------------------------- _ZODIAC_TABLE = { @@ -744,7 +241,5 @@ ime.register_command("sj", "get_time", "输入时间", "alpha", "输入可选时 ime.register_command("rq", "get_date", "输入日期", "alpha", "输入可选日期,例如2013-01-01") ime.register_command("js", "compute", "计算模式", "none", "输入表达式,例如log(2)") ime.register_command("xz", "query_zodiac", "查询星座", "none", "输入您的生日,例如12-3") -ime.register_command("zf", "print_letter", "打印字符", "none", "请输入字母或数字序列,例如hello") -ime.register_command("hh", "print_ascii", "画画") print("lua script loaded.") |