diff --git a/autotests/html/highlight.d.html b/autotests/html/highlight.d.html
--- a/autotests/html/highlight.d.html
+++ b/autotests/html/highlight.d.html
@@ -19,23 +19,37 @@
+ #line 12 "hightlighttest.d" /* block comment */
+ #line __LINE__ __FILE__ /++ embedded block comment +/
+
-+ pragma /* */ (msg, "what?");
-+ pragma(/++ +/ lib, "insane.a");
-+ pragma(D_Custom_Extension, "custom data");
++ pragma /* */ (msg, "what?");
++ pragma(/++ +/ lib, "insane.a");
++ pragma(inline);
++ pragma(linkerDirective);
++ pragma(mangle);
++ pragma(startaddress);
++ pragma(D_Custom_Extension, "custom data");
++ pragma(foo 0);
+ ---
+/
/// version condition
-version = X;
+version = X;
+version = 1_2_3;
version (X) ;
version(linux) {}
/// linkage
extern
(C) {}
extern :
;
+extern (C++) {}
+extern (C++, foo.bar.baz) {}
+extern (D) {}
extern (Windows) {}
+extern (Pascal) {}
+extern (System) {}
+extern (unknown) {}
+extern (C,) {}
+extern (C++, foo, bar) {}
/// alias & typedef
alias int.min minint;
diff --git a/autotests/input/highlight.d b/autotests/input/highlight.d
--- a/autotests/input/highlight.d
+++ b/autotests/input/highlight.d
@@ -15,21 +15,35 @@
+
+ pragma /* */ (msg, "what?");
+ pragma(/++ +/ lib, "insane.a");
++ pragma(inline);
++ pragma(linkerDirective);
++ pragma(mangle);
++ pragma(startaddress);
+ pragma(D_Custom_Extension, "custom data");
++ pragma(foo 0);
+ ---
+/
/// version condition
version = X;
+version = 1_2_3;
version (X) ;
version(linux) {}
/// linkage
extern
(C) {}
extern :
;
+extern (C++) {}
+extern (C++, foo.bar.baz) {}
+extern (D) {}
extern (Windows) {}
+extern (Pascal) {}
+extern (System) {}
+extern (unknown) {}
+extern (C,) {}
+extern (C++, foo, bar) {}
/// alias & typedef
alias int.min minint;
diff --git a/autotests/reference/highlight.d.ref b/autotests/reference/highlight.d.ref
--- a/autotests/reference/highlight.d.ref
+++ b/autotests/reference/highlight.d.ref
@@ -13,23 +13,37 @@
+ #line 12 "hightlighttest.d" /* block comment */
+ #line __LINE__ __FILE__ /++ embedded block comment +/
+
-+ pragma /* */ (msg, "what?");
-+ pragma(/++ +/ lib, "insane.a");
-+ pragma(D_Custom_Extension, "custom data");
++ pragma /* */ (msg, "what?");
++ pragma(/++ +/ lib, "insane.a");
++ pragma(inline);
++ pragma(linkerDirective);
++ pragma(mangle);
++ pragma(startaddress);
++ pragma(D_Custom_Extension, "custom data");
++ pragma(foo 0);
+ ---
+/
/// version condition
-version = X;
+version = X;
+version = 1_2_3;
version (X) ;
version(linux) {}
/// linkage
extern
(C) {}
extern :
;
+extern (C++) {}
+extern (C++, foo.bar.baz) {}
+extern (D) {}
extern (Windows) {}
+extern (Pascal) {}
+extern (System) {}
+extern (unknown) {}
+extern (C,) {}
+extern (C++, foo, bar) {}
/// alias & typedef
alias int.min minint;
diff --git a/data/syntax/d.xml b/data/syntax/d.xml
--- a/data/syntax/d.xml
+++ b/data/syntax/d.xml
@@ -314,11 +314,16 @@
- Windows
- Pascal
- System
+
- - msg
+ - inline
- lib
+ - linkerDirective
+ - mangle
+ - msg
+ - startaddress
@@ -514,23 +519,46 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
+
@@ -564,13 +592,29 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+