#!/usr/bin/env bash

#nop vim: set filetype=tt:;
#nop {

ID=$1
LOGS="${*:2}"

if [ "x$LOGS" == "x" ]; then
    LOGS="chat qq jh helpme fullsk quest job tell"
fi

if [ "x$ID" == "x" ]; then
    echo -e '用法: \x1b[1;32;92mmtail \x1b[1;33;93m<id>\x1b[0m [<log1> <log2>...]'
    echo '日志名称不用加路径和 .log 后缀，只要文件名就好。'
    echo "可以同时显示多个日志，默认显示日志: $LOGS"
    echo '别忘了写 ID，加油！'
    exit
fi

if [[ ! -d "var/log/$ID" && ! -d "log/$ID/" ]]; then
    echo 没找到 $ID 的游戏日志。请先打开游戏再执行本操作。;
    exit
fi

exec tt++ -G -t MLOG-$ID bin/mtail $ID $LOGS
exit

};

#event {PROGRAM START} {
    #if { "%0" == "" } {
        #line quiet #end {\};
    };

    disable-all-keys;
    less-mode;

    #alias {okLog}          {#0};
    #alias {warnLog}        {#0};
    #alias {prompt.Set}     {#0};
    #alias {prompt.refresh} {#0};
    #read plugins/lib/ui/beautify.tin;
    #local _ {@lib_ui_beautify.Init{}};
    monitor-log %0;
};

#alias {disable-all-keys} {
    #local ch {};
    #parse {abcdefghijklmnopqrstuvwxyz} {ch} {
        #macro {\c$ch} {#0};
        #macro {$ch} {#0};
    };
    #parse {ABCDEFGHIJKLMNOPQRSTUVWXYZ} {ch} {
        #macro {$ch} {#0};
    };
    #parse {`1234567890-=~!@#$%^&*()_+} {ch} {
        #macro {$ch} {#0};
    };
    #parse {,./<>?;':"[]\\|} {ch} {
        #macro {$ch} {#0};
    };
    #macro {\x7B} {#0};
    #macro {\x7D} {#0};
    #macro { }    {#0};

    #macro {\cn}    {switch-log +};
    #macro {\cp}    {switch-log -};

    #var ctrl-c-pressed {false};
    #macro {\cc} {
        #if { "$ctrl-c-pressed" == "false" } {
            #echo {如果你想要退出，请再按一次 Ctrl+C。};
            #var ctrl-c-pressed {true};
            #delay cancel {
                #echo {等待超时，恢复正常。};
                #var ctrl-c-pressed {false};
            } {1.000};
        };
        #else {
            #screen set title {NOLOG};
            #line quiet #end {\};
        };
    };
};

#alias {less-mode} {
    #config {mouse} on;
    #event {SCROLLED MOUSE WHEEL DOWN}      {#buffer down 10};
    #event {SCROLLED MOUSE WHEEL UP}        {#buffer up 10};
    #event {SCROLLED CTRL MOUSE WHEEL DOWN} {#buffer down 1};
    #event {SCROLLED CTRL MOUSE WHEEL UP}   {#buffer up 1};
    #macro {g}      {#buffer home};
    #macro {G}      {#buffer end};
    #macro {j}      {#buffer down 1};
    #macro {k}      {#buffer up 1};
    #macro {\cf}    {#buffer down 20};
    #macro {\cb}    {#buffer up 20};
    #macro {\ch}    {hide-date};
};

#var hide-date {1};
#alias {hide-date} {
    #switch {$hide-date} {
        #case {0} {#var hide-date 1; #echo {<160>日志显示模式已切换至 HH:MM:SS<299>}};
        #case {1} {#var hide-date 2; #echo {<160>日志显示模式已切换至 HH:MM<299>}};
        #case {2} {#var hide-date 3; #echo {<160>日志显示模式已切换至不显示时间戳<299>}};
        #case {3} {#var hide-date 0; #echo {<160>日志显示模式已切换至 YYYY-mm-dd HH:MM:SS<299>}};
    };
};

#alias {switch-log} {
    #local dir {%1};
    #if { "$dir" == "" } {
        #local dir {+};
    };
    #session $dir;
    #buffer end;
    #script logname {echo $LOGNAME > tmux/$ID/log-name};
    #screen set title {MLOG-${ID}-${LOGNAME}};
};

#alias {monitor-log%+1..s%+1..S{?:|\s+(.*)}$} {
    #local  id      {%2};
    #local  logs    {%3};

    #local path {};
    #script path {test -d var/log/$id/ && echo var/log/$id || echo log/$id};
    #local path {$path[1]};
    #list logs create $logs;
    #local log {};
    #foreach {$logs[]} {log} {
        #local file {$path/${log}.log};
        #script {tmp} {touch $file};
        #line quiet #run {log-$log} {tail -n 1000 -f $path/${log}.log};
        #var LOGNAME {$log};
        #var ID      {$id};
    };

    switch-log;
};

#action {~^{\d\d\d\d-\d\d-\d\d }{\d\d:\d\d}{:\d\d}{ }%*$} {
    #switch {$hide-date} {
        #case {0} {#echo {%s} {@Beautify{%0}}};
        #case {1} {#echo {%s} {@Beautify{%2%3%4%5}}};
        #case {2} {#echo {%s} {@Beautify{%2%4%5}}};
        #case {3} {#echo {%s} {@Beautify{%5}}};
    };
    #line gag;
};

#event {SCREEN RESIZE} {#buffer end};
