{
    "fileTypes": [],
    "scopeName": "markdown.verilog.codeblock",
    "injectionSelector": "L:text.html.markdown",
    "patterns": [
        {
            "include": "#fenced_code_block_systemverilog"
        },
        {
            "include": "#fenced_code_block_verilog"
        }
    ],
    "repository": {
        "fenced_code_block_systemverilog": {
            "begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(sv|systemverilog)(\\s+[^`~]*)?$)",
            "name": "markup.fenced_code.block.markdown",
            "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
            "beginCaptures": {
                "3": {
                    "name": "punctuation.definition.markdown"
                },
                "5": {
                    "name": "fenced_code.block.language"
                },
                "6": {
                    "name": "fenced_code.block.language.attributes"
                }
            },
            "endCaptures": {
                "3": {
                    "name": "punctuation.definition.markdown"
                }
            },
            "patterns": [
                {
                    "begin": "(^|\\G)(\\s*)(.*)",
                    "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
                    "contentName": "meta.embedded.block.systemverilog",
                    "patterns": [
                        {
                            "include": "source.systemverilog"
                        }
                    ]
                }
            ]
        },
        "fenced_code_block_verilog": {
            "begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(v|verilog)(\\s+[^`~]*)?$)",
            "name": "markup.fenced_code.block.markdown",
            "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
            "beginCaptures": {
                "3": {
                    "name": "punctuation.definition.markdown"
                },
                "5": {
                    "name": "fenced_code.block.language"
                },
                "6": {
                    "name": "fenced_code.block.language.attributes"
                }
            },
            "endCaptures": {
                "3": {
                    "name": "punctuation.definition.markdown"
                }
            },
            "patterns": [
                {
                    "begin": "(^|\\G)(\\s*)(.*)",
                    "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
                    "contentName": "meta.embedded.block.verilog",
                    "patterns": [
                        {
                            "include": "source.systemverilog"
                        }
                    ]
                }
            ]
        }
    }
}
