             'end': '\\1'
             'endCaptures':
               '0': 'name': 'support.asciidoc'
-            'contentName': 'source.rust'
+            'contentName': 'source.embedded.rust'
             'patterns': ['include': 'source.rust']
           }
         ]
       }
 
+
+      # Matches Dockerfile AsciiDoc code blocks
+      #
+      # Examples
+      #
+      #   [source,dockerfile]
+      #   ----
+      #  ...
+      #   ----
+      {
+        'begin': '^\\[source,\\s*(docker(file))\\]$'
+        'beginCaptures':
+          '0': 'name': 'support.asciidoc'
+        'end': '^\\s*$'
+        'patterns': [
+          {
+            'begin': '(^\\s*-{4,}\\s*$)'
+            'beginCaptures':
+              '0': 'name': 'support.asciidoc'
+            'end': '\\1'
+            'endCaptures':
+              '0': 'name': 'support.asciidoc'
+            'contentName': 'source.embedded.dockerfile'
+            'patterns': ['include': 'source.dockerfile']
+          }
+        ]
+      }
+
+      # Matches properties AsciiDoc code blocks
+      #
+      # Examples
+      #
+      #   [source,properties]
+      #   ----
+      #  ...
+      #   ----
+      {
+        'begin': '^\\[source,\\s*properties\\]$'
+        'beginCaptures':
+          '0': 'name': 'support.asciidoc'
+        'end': '^\\s*$'
+        'patterns': [
+          {
+            'begin': '(^\\s*-{4,}\\s*$)'
+            'beginCaptures':
+              '0': 'name': 'support.asciidoc'
+            'end': '\\1'
+            'endCaptures':
+              '0': 'name': 'support.asciidoc'
+            'contentName': 'source.embedded.git-config'
+            'patterns': ['include': 'source.git-config']
+          }
+        ]
+      }
+
+      # Matches Makefile AsciiDoc code blocks
+      #
+      # Examples
+      #
+      #   [source,makefile]
+      #   ----
+      #  ...
+      #   ----
+      {
+        'begin': '^\\[source,\\s*(makefile|make)\\]$'
+        'beginCaptures':
+          '0': 'name': 'support.asciidoc'
+        'end': '^\\s*$'
+        'patterns': [
+          {
+            'begin': '(^\\s*-{4,}\\s*$)'
+            'beginCaptures':
+              '0': 'name': 'support.asciidoc'
+            'end': '\\1'
+            'endCaptures':
+              '0': 'name': 'support.asciidoc'
+            'contentName': 'source.embedded.makefile'
+            'patterns': ['include': 'source.makefile']
+          }
+        ]
+      }
+
+      # Matches Perl AsciiDoc code blocks
+      #
+      # Examples
+      #
+      #   [source,perl]
+      #   ----
+      #  ...
+      #   ----
+      {
+        'begin': '^\\[source,\\s*perl\\]$'
+        'beginCaptures':
+          '0': 'name': 'support.asciidoc'
+        'end': '^\\s*$'
+        'patterns': [
+          {
+            'begin': '(^\\s*-{4,}\\s*$)'
+            'beginCaptures':
+              '0': 'name': 'support.asciidoc'
+            'end': '\\1'
+            'endCaptures':
+              '0': 'name': 'support.asciidoc'
+            'contentName': 'source.embedded.perl'
+            'patterns': ['include': 'source.perl']
+          }
+        ]
+      }
+
+      # Matches Perl6 AsciiDoc code blocks
+      #
+      # Examples
+      #
+      #   [source,perl6]
+      #   ----
+      #  ...
+      #   ----
+      {
+        'begin': '^\\[source,\\s*perl6\\]$'
+        'beginCaptures':
+          '0': 'name': 'support.asciidoc'
+        'end': '^\\s*$'
+        'patterns': [
+          {
+            'begin': '(^\\s*-{4,}\\s*$)'
+            'beginCaptures':
+              '0': 'name': 'support.asciidoc'
+            'end': '\\1'
+            'endCaptures':
+              '0': 'name': 'support.asciidoc'
+            'contentName': 'source.embedded.perl6'
+            'patterns': ['include': 'source.perl6']
+          }
+        ]
+      }
+
+      # Matches Toml AsciiDoc code blocks
+      #
+      # Examples
+      #
+      #   [source,toml]
+      #   ----
+      #  ...
+      #   ----
+      {
+        'begin': '^\\[source,\\s*toml\\]$'
+        'beginCaptures':
+          '0': 'name': 'support.asciidoc'
+        'end': '^\\s*$'
+        'patterns': [
+          {
+            'begin': '(^\\s*-{4,}\\s*$)'
+            'beginCaptures':
+              '0': 'name': 'support.asciidoc'
+            'end': '\\1'
+            'endCaptures':
+              '0': 'name': 'support.asciidoc'
+            'contentName': 'source.embedded.toml'
+            'patterns': ['include': 'source.toml']
+          }
+        ]
+      }
+
       # Matches Erlang AsciiDoc code blocks
       #
       # Examples

            'end': '\\1'
            'endCaptures':
              '0': 'name': 'support.asciidoc'
            'contentName': 'text.html.basic'
            'patterns': ['include': 'text.html.basic']
          }
        ]

            'end': '\\1'
            'endCaptures':
              '0': 'name': 'support.asciidoc'
            'contentName': 'source.embedded.clojure'
            'patterns': ['include': 'source.clojure']
          }
        ]
