Config.cs: Added 3 variables that will be used for the colors of LuaWriter.

LuaWriter: Made it use the values of the variables in Config.cs. Made (") and (') colors the whole line if they are not closed. Now colors the word elseif.
This commit is contained in:
rolanmen1 2012-07-21 19:29:45 +00:00
parent b8a16f93fa
commit f775c081f1
2 changed files with 20 additions and 23 deletions

View File

@ -549,6 +549,11 @@ namespace BizHawk.MultiClient
public int GifAnimatorFrameSkip;
public int GifAnimatorSpeed;
public bool GifAnimatorReversable;
//LuaWriter Settings
public int LuaKeyWordColor = -16776961;
public int LuaCommentColor = -16744448;
public int LuaStringColor = -8355712;
}
public class SMSControllerTemplate

View File

@ -39,13 +39,10 @@ namespace BizHawk.MultiClient
private void ColorCharacters()
{
Color color = Color.Gray;
Color commentColor = Color.Green;
int firstApostrophe = LuaText.Find("'", 0);
while (firstApostrophe >= 0)
{
if (LuaText.SelectionColor != commentColor)
if (LuaText.SelectionColor != Color.FromArgb(Global.Config.LuaCommentColor))
{
int opening = firstApostrophe;
int endLine;
@ -66,19 +63,19 @@ namespace BizHawk.MultiClient
if (ending > endLine)
{
ending = opening;
ending = endLine;
break;
}
ending = LuaText.Find("'", ending, endLine, RichTextBoxFinds.None);
}
else
ending = opening;
ending = endLine;
if (opening != ending)
{
LuaText.Select(opening, ending - opening + 1);
LuaText.SelectionColor = color;
LuaText.SelectionColor = Color.FromArgb(Global.Config.LuaStringColor);
if (ending != LuaText.Text.Length - 1)
firstApostrophe = LuaText.Find("'", ending + 1, RichTextBoxFinds.None);
else
@ -102,13 +99,10 @@ namespace BizHawk.MultiClient
private void ColorStrings()
{
Color color = Color.Gray;
Color commentColor = Color.Green;
int firstQuotation = LuaText.Find("\"", 0);
while (firstQuotation >= 0)
{
if (LuaText.SelectionColor != commentColor)
if (LuaText.SelectionColor != Color.FromArgb(Global.Config.LuaCommentColor))
{
int opening = firstQuotation;
int endLine;
@ -129,19 +123,19 @@ namespace BizHawk.MultiClient
if (ending > endLine)
{
ending = opening;
ending = endLine;
break;
}
ending = LuaText.Find("\"", ending, endLine, RichTextBoxFinds.None);
}
else
ending = opening;
ending = endLine;
if (opening != ending)
{
LuaText.Select(opening, ending - opening + 1);
LuaText.SelectionColor = color;
LuaText.SelectionColor = Color.FromArgb(Global.Config.LuaStringColor);
if (ending != LuaText.Text.Length - 1)
firstQuotation = LuaText.Find("\"", ending + 1, RichTextBoxFinds.None);
else
@ -165,8 +159,6 @@ namespace BizHawk.MultiClient
private void ColorComments()
{
Color color = Color.Green;
foreach (Match CommentMatch in new Regex("--").Matches(LuaText.Text))
{
int endComment;
@ -179,7 +171,7 @@ namespace BizHawk.MultiClient
endComment = LuaText.Text.Length;
LuaText.Select(CommentMatch.Index, endComment);
LuaText.SelectionColor = color;
LuaText.SelectionColor = Color.FromArgb(Global.Config.LuaCommentColor);
}
else
{
@ -189,29 +181,29 @@ namespace BizHawk.MultiClient
endComment = LuaText.GetFirstCharIndexFromLine(LuaText.GetLineFromCharIndex(CommentMatch.Index) + 1) - CommentMatch.Index;
LuaText.Select(CommentMatch.Index, endComment);
LuaText.SelectionColor = color;
LuaText.SelectionColor = Color.FromArgb(Global.Config.LuaCommentColor);
}
}
}
private void ColorReservedWords()
{
Color color = Color.Blue;
foreach (Match keyWordMatch in keyWords.Matches(LuaText.Text))
{
char before = ' ', after = ' ';
if (keyWordMatch.Index > 0)
before = LuaText.Text[keyWordMatch.Index - 1];
if(keyWordMatch.Value != "if" && LuaText.Text.Substring(keyWordMatch.Index - 4, 4) != "else")
before = LuaText.Text[keyWordMatch.Index - 1];
if (keyWordMatch.Index + keyWordMatch.Length != LuaText.Text.Length)
after = LuaText.Text[keyWordMatch.Index + keyWordMatch.Length];
if (keyWordMatch.Value != "else" && LuaText.Text.Substring(keyWordMatch.Index, 2) != "if")
after = LuaText.Text[keyWordMatch.Index + keyWordMatch.Length];
if (!char.IsLetterOrDigit(before) && !char.IsLetterOrDigit(after))
{
LuaText.Select(keyWordMatch.Index, keyWordMatch.Length);
LuaText.SelectionColor = color;
LuaText.SelectionColor = Color.FromArgb(Global.Config.LuaKeyWordColor);
}
}
}