public function enqueueAceLibs(string $mode, string $theme)
    {
        if (($data = $this->didEnqueueLibs(__METHOD__))) {
            return $data; // Did this already.
        } // We only need to enqueue once.

        $version  = '170626';
        $base_url = 'https://cdn.rawgit.com/websharks/ace-builds/%1$s/src-min-noconflict';

        $data = [
            'scripts' => [
                'ace' => [
                    'version' => $version,
                    'url'     => $base_url.'/ace.js',
                ],
                'ace-ext-linking' => [
                    'deps'    => ['ace'],
                    'version' => $version,
                    'url'     => $base_url.'/ext-linking.js',
                ],
                'ace-ext-searchbox' => [
                    'deps'    => ['ace'],
                    'version' => $version,
                    'url'     => $base_url.'/ext-searchbox.js',
                ],
                'ace-ext-spellcheck' => [
                    'deps'    => ['ace'],
                    'version' => $version,
                    'url'     => $base_url.'/ext-spellcheck.js',
                ],
                'ace-ext-language_tools' => [
                    'deps'    => ['ace'],
                    'version' => $version,
                    'url'     => $base_url.'/ext-language_tools.js',
                ],
                'ace-mode-'.$mode => [
                    'deps'    => ['ace'],
                    'version' => $version,
                    'url'     => $base_url.'/mode-'.$mode.'.js',
                ],
                'ace-theme-'.$theme => [
                    'deps'    => ['ace'],
                    'version' => $version,
                    'url'     => $base_url.'/theme-'.$theme.'.js',
                ],
            ],
        ];
        return $this->enqueueLibs(__METHOD__, $data);
    }