let codeBlockId = 0

/**
 * Adds copy code buttons to code fields. The provided doc should be a document object provided by JSDOM. The same
 * document will be returned with the appropriate DOM manipulations.
 */
module.exports = function (doc) {
    doc.querySelectorAll('pre > code').forEach(code => {
        const pre = code.closest('pre')
        const button = doc.createElement('sl-copy-button')

        if (!code.id) {
            code.id = `code-block-${++codeBlockId}`
        }

        button.classList.add('copy-code-button')
        button.setAttribute('from', code.id)

        pre.append(button)
    })

    return doc
}
