exports.ids = ["react-syntax-highlighter_languages_highlight_plaintext"];
exports.modules = {

/***/ "./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/plaintext.js":
/*!****************************************************************************************************!*\
  !*** ./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/plaintext.js ***!
  \****************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

/*
Language: Plain text
Author: Egor Rogov (e.rogov@postgrespro.ru)
Description: Plain text without any highlighting.
Category: common
*/

function plaintext(hljs) {
    return {
        name: 'Plain text',
        aliases: ['text', 'txt'],
        disableAutodetect: true
    };
}

module.exports = plaintext;


/***/ })

};;
//# sourceMappingURL=react-syntax-highlighter_languages_highlight_plaintext.render-page.js.map