Skip to content

Commit 44410cd

Browse files
james-howardmarijnh
authored andcommitted
[gfm mode] Fix fenced code block mode switching for objective-c
There were two issues: 1. Github flavored markdown calls Objective C `objective-c` 2. The gfm.js mode didn't include `-` in its fenced code block regex Additionally, test/index.html did not import the mode/meta.js file, which prevented mode lookup by name from working in unit tests.
1 parent f486fcd commit 44410cd

File tree

4 files changed

+9
-2
lines changed

4 files changed

+9
-2
lines changed

mode/gfm/test.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@
5151
"[comment ```]",
5252
"bar");
5353

54+
MT("fencedCodeBlockModeSwitchingObjc",
55+
"[comment ```objective-c]",
56+
"[keyword @property] [variable NSString] [operator *] [variable foo];",
57+
"[comment ```]",
58+
"bar");
59+
5460
MT("fencedCodeBlocksNoTildes",
5561
"~~~",
5662
"foo",

mode/markdown/markdown.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
8888
, setextHeaderRE = /^ *(?:\={1,}|-{1,})\s*$/
8989
, textRE = /^[^#!\[\]*_\\<>` "'(~]+/
9090
, fencedCodeRE = new RegExp("^(" + (modeCfg.fencedCodeBlocks === true ? "~~~+|```+" : modeCfg.fencedCodeBlocks) +
91-
")[ \\t]*([\\w+#]*)");
91+
")[ \\t]*([\\w+#\-]*)");
9292

9393
function switchInline(stream, state, f) {
9494
state.f = state.inline = f;

mode/meta.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@
9191
{name: "Nginx", mime: "text/x-nginx-conf", mode: "nginx", file: /nginx.*\.conf$/i},
9292
{name: "NSIS", mime: "text/x-nsis", mode: "nsis", ext: ["nsh", "nsi"]},
9393
{name: "NTriples", mime: "text/n-triples", mode: "ntriples", ext: ["nt"]},
94-
{name: "Objective C", mime: "text/x-objectivec", mode: "clike", ext: ["m", "mm"]},
94+
{name: "Objective C", mime: "text/x-objectivec", mode: "clike", ext: ["m", "mm"], alias: ["objective-c", "objc"]},
9595
{name: "OCaml", mime: "text/x-ocaml", mode: "mllike", ext: ["ml", "mli", "mll", "mly"]},
9696
{name: "Octave", mime: "text/x-octave", mode: "octave", ext: ["m"]},
9797
{name: "Oz", mime: "text/x-oz", mode: "oz", ext: ["oz"]},

test/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<link rel="stylesheet" href="mode_test.css">
99
<script src="../doc/activebookmark.js"></script>
1010
<script src="../lib/codemirror.js"></script>
11+
<script src="../mode/meta.js"></script>
1112
<script src="../addon/mode/overlay.js"></script>
1213
<script src="../addon/mode/multiplex.js"></script>
1314
<script src="../addon/search/searchcursor.js"></script>

0 commit comments

Comments
 (0)