Exemplo n.º 1
0
        private static string MakeGherkinHighlightingContent(string xshd_template, GherkinLanguage language)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("<?xml version=\"1.0\"?>")
            .AppendLine("<SyntaxDefinition name=\"" + GherkinUtil.GherkinHighlightingName(language.key) + "\" xmlns=\"http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008\">")
            .AppendLine(xshd_template)

            .AppendLine(MakeGherkinKeyword(language))
            .AppendLine()
            .AppendLine(MakeStepKeyword(language))

            .AppendLine("  </RuleSet>")
            .AppendLine("</SyntaxDefinition>");

            return(sb.ToString());
        }
Exemplo n.º 2
0
        private static string MakeStepKeyword(GherkinLanguage language)
        {
            StringBuilder sb = new StringBuilder();

            sb
            .AppendLine("    <Rule color=\"StepWord\">")
            .Append("      ^\\s*(")
            .Append(Keyword(language.given))
            .Append(Keyword(language.when))
            .Append(Keyword(language.then))
            .Append(Keyword(language.and))
            .Append(Keyword(language.but));
            sb.Remove(sb.Length - 1, 1); // remove last "|"
            sb.AppendLine(")\\s+")
            .AppendLine("    </Rule>");

            return(sb.ToString());
        }
Exemplo n.º 3
0
 private static void GenerateKeywords(StringBuilder sb, GherkinLanguage language)
 {
     sb.AppendLine("======================================")
     .Append("#language: ")
     .AppendLine(language.key)
     .Append("Language: ")
     .AppendLine(language.name + ", " + language.native)
     .AppendLine("======================================")
     .AppendLine(GenerateKeywords("Feature", language.feature))
     .AppendLine(GenerateKeywords("Background", language.background))
     .AppendLine(GenerateKeywords("Scenario", language.scenario))
     .AppendLine(GenerateKeywords("Scenario Outline", language.scenarioOutline))
     .AppendLine(GenerateKeywords("Examples", language.examples))
     .AppendLine(GenerateKeywords("Given", language.given))
     .AppendLine(GenerateKeywords("When", language.when))
     .AppendLine(GenerateKeywords("Then", language.then))
     .AppendLine(GenerateKeywords("And", language.and))
     .AppendLine(GenerateKeywords("But", language.but))
     .AppendLine();
 }
Exemplo n.º 4
0
        private static string MakeGherkinKeyword(GherkinLanguage language)
        {
            // Sample
            // \s*(Feature|Background|Scenario|Scenarios|Examples|Scenario\s+Outline|Scenario\s+Template)\s*:

            StringBuilder sb = new StringBuilder();

            sb
            .AppendLine("    <Rule color=\"Keyword\">")
            .Append("      ^\\s*(")
            .Append(Keyword(language.feature))
            .Append(Keyword(language.background))
            .Append(Keyword(language.scenario))
            .Append(Keyword(language.scenarioOutline))
            .Append(Keyword(language.examples));
            sb.Remove(sb.Length - 1, 1); // remove last "|"
            sb.AppendLine(")\\s*:")
            .AppendLine("    </Rule>");

            return(sb.ToString());
        }
Exemplo n.º 5
0
 public GherkinKeywordsCurrent(GherkinLanguage lang)
 {
     m_Language = lang;
 }