Skip to content

Commit

Permalink
(chore) simplify symbol rule and fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
joshgoebel committed Feb 15, 2022
1 parent 88adde5 commit fb4c0d5
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 15 deletions.
13 changes: 7 additions & 6 deletions src/languages/graphql.js
@@ -1,9 +1,10 @@
/*
Language: graphql
Category: scripting, protocols, web
Author: John Foster [jf990][], and others
Author: John Foster (GH jf990), and others
Description: Highlight GraphQL queries with highlight.js.
*/

/** @type LanguageFn */
export default function(hljs) {
const regex = hljs.regex;
Expand Down Expand Up @@ -63,13 +64,13 @@ export default function(hljs) {
},
{
scope: "symbol",
begin: regex.lookahead(regex.concat(GQL_NAME, /\s*:/)),
includeBegin: true,
end: /\s*:/,
excludeEnd: true,
begin: regex.concat(GQL_NAME, regex.lookahead(/\s*:/)),
relevance: 0
}
],
illegal: [ /[;<']/, /BEGIN/ ]
illegal: [
/[;<']/,
/BEGIN/
]
};
}
2 changes: 1 addition & 1 deletion test/markup/elixir/module-references.expect.txt
Expand Up @@ -16,4 +16,4 @@ not_matched

%<span class="hljs-title class_">MyStruct</span>{<span class="hljs-symbol">a:</span> <span class="hljs-number">1</span>}

noModuleMatch
noModuleMatch
14 changes: 7 additions & 7 deletions test/markup/graphql/default.expect.txt
@@ -1,15 +1,15 @@
<span class="hljs-keyword">type</span> Project <span class="hljs-punctuation">{</span>
<span class="hljs-symbol">name</span>: String
<span class="hljs-symbol">tagline</span>: String
<span class="hljs-symbol">contributors</span>: <span class="hljs-punctuation">[</span>User<span class="hljs-punctuation">]</span>
<span class="hljs-symbol">name</span><span class="hljs-punctuation">:</span> String
<span class="hljs-symbol">tagline</span><span class="hljs-punctuation">:</span> String
<span class="hljs-symbol">contributors</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span>User<span class="hljs-punctuation">]</span>
<span class="hljs-punctuation">}</span>

<span class="hljs-comment"># Example mutation</span>

<span class="hljs-keyword">mutation</span> updateMyUrbanEvent<span class="hljs-punctuation">(</span><span class="hljs-variable">$studyArea</span>: PolygonInput<span class="hljs-punctuation">!</span>, <span class="hljs-variable">$myDescription</span>: String<span class="hljs-punctuation">!</span><span class="hljs-punctuation">)</span> <span class="hljs-punctuation">{</span>
updateProjects<span class="hljs-punctuation">(</span>
<span class="hljs-symbol">urbanDatabaseId</span> : <span class="hljs-string">&quot;9c3ba6c054f945acabd1256bcbcf8XXX&quot;</span>
<span class="hljs-symbol">projects</span> : <span class="hljs-punctuation">[</span><span class="hljs-punctuation">{</span> <span class="hljs-symbol">attributes</span>: <span class="hljs-punctuation">{</span> <span class="hljs-symbol">GlobalID</span>: <span class="hljs-string">&quot;078D217A-1764-4AA2-9D23-6FCDA01F0XXX&quot;</span>, <span class="hljs-symbol">Description</span>: <span class="hljs-variable">$myDescription</span> <span class="hljs-punctuation">}</span>, <span class="hljs-symbol">geometry</span>: <span class="hljs-variable">$studyArea</span> <span class="hljs-punctuation">}</span><span class="hljs-punctuation">]</span>
<span class="hljs-symbol">urbanDatabaseId</span> <span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;9c3ba6c054f945acabd1256bcbcf8XXX&quot;</span>
<span class="hljs-symbol">projects</span> <span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><span class="hljs-punctuation">{</span> <span class="hljs-symbol">attributes</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span> <span class="hljs-symbol">GlobalID</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;078D217A-1764-4AA2-9D23-6FCDA01F0XXX&quot;</span>, <span class="hljs-symbol">Description</span><span class="hljs-punctuation">:</span> <span class="hljs-variable">$myDescription</span> <span class="hljs-punctuation">}</span>, <span class="hljs-symbol">geometry</span><span class="hljs-punctuation">:</span> <span class="hljs-variable">$studyArea</span> <span class="hljs-punctuation">}</span><span class="hljs-punctuation">]</span>
<span class="hljs-punctuation">)</span> <span class="hljs-punctuation">{</span>
attributes <span class="hljs-punctuation">{</span>
GlobalID
Expand All @@ -25,7 +25,7 @@
<span class="hljs-comment"># Example of a query:</span>

<span class="hljs-keyword">query</span> HeroForEpisode<span class="hljs-punctuation">(</span><span class="hljs-variable">$ep</span>: Episode<span class="hljs-punctuation">!</span><span class="hljs-punctuation">)</span> <span class="hljs-punctuation">{</span>
hero<span class="hljs-punctuation">(</span><span class="hljs-symbol">episode</span>: <span class="hljs-variable">$ep</span>) <span class="hljs-punctuation">{</span>
hero<span class="hljs-punctuation">(</span><span class="hljs-symbol">episode</span><span class="hljs-punctuation">:</span> <span class="hljs-variable">$ep</span>) <span class="hljs-punctuation">{</span>
name
<span class="hljs-punctuation">...</span> <span class="hljs-keyword">on</span> Droid <span class="hljs-punctuation">{</span>
primaryFunction
Expand All @@ -40,7 +40,7 @@

<span class="hljs-keyword">fragment</span> comparisonFields <span class="hljs-keyword">on</span> Character <span class="hljs-punctuation">{</span>
name
friendsConnection<span class="hljs-punctuation">(</span><span class="hljs-symbol">first</span>: <span class="hljs-variable">$first</span>) <span class="hljs-punctuation">{</span>
friendsConnection<span class="hljs-punctuation">(</span><span class="hljs-symbol">first</span><span class="hljs-punctuation">:</span> <span class="hljs-variable">$first</span>) <span class="hljs-punctuation">{</span>
totalCount
edges <span class="hljs-punctuation">{</span>
node <span class="hljs-punctuation">{</span>
Expand Down
2 changes: 1 addition & 1 deletion test/markup/index.js
Expand Up @@ -31,7 +31,7 @@ function testLanguage(language, {testDir}) {

// Uncomment this for major changes that rewrite the test expectations
// which will then need to be manually compared by hand of course
require('fs').writeFileSync(filename, actual);
// require('fs').writeFileSync(filename, actual);

actual.trim().should.equal(expected.trim());
done();
Expand Down

0 comments on commit fb4c0d5

Please sign in to comment.