1,8 → 1,10 |
enum { TAG, OPTION_VALUE, TEXT, COMMENT }; |
|
//you are butifull, you are butifull |
dword ShowSource() |
{ |
dword new_buf, new_buf_start, i; |
byte ww, param, comment; |
byte ww, mode; |
|
if (souce_mode) return; |
souce_mode = true; |
19,46 → 21,51 |
{ |
strcat(new_buf, "<font color=#ccc><"); |
new_buf+=20; |
mode = COMMENT; |
} |
else |
{ |
strcat(new_buf, "<font color=#00f><"); |
new_buf+=20; |
mode = TAG; |
} |
break; |
case '>': |
if (!param) //fix non-closed quote |
if (mode == OPTION_VALUE) //fix non-closed quote in TAG |
{ |
param = 1; |
strcat(new_buf, ""</font>"); |
new_buf+=12; |
mode = TAG; |
} |
if (ESBYTE[i-1]=='-') && (ESBYTE[i-2]=='-') |
if (mode == COMMENT) && (ESBYTE[i-1]=='-') && (ESBYTE[i-2]=='-') |
{ |
strcat(new_buf, "></font>"); |
new_buf+=10; |
mode = TEXT; |
} |
else |
if (mode == TAG) |
{ |
strcat(new_buf, "></font>"); |
new_buf+=10; |
mode = TEXT; |
} |
break; |
case '\"': |
case '\'': |
if (param) |
if (mode == TAG) |
{ |
param = 0; |
strcat(new_buf, "<font color=#f0f>""); |
new_buf+=22; |
mode = OPTION_VALUE; |
break; |
} |
else |
if (mode == OPTION_VALUE) |
{ |
param = 1; |
strcat(new_buf, ""</font>"); |
new_buf+=12; |
mode = TAG; |
break; |
} |
break; |
default: |
chrcat(new_buf, ww); |
} |