1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
- // Distributed under an MIT license: https://codemirror.net/LICENSE
- ;(function (mod) {
- if (typeof exports == 'object' && typeof module == 'object')
- // CommonJS
- mod(require('../../lib/codemirror'), require('../htmlmixed/htmlmixed'), require('../../addon/mode/multiplex'))
- else if (typeof define == 'function' && define.amd)
- // AMD
- define(['../../lib/codemirror', '../htmlmixed/htmlmixed', '../../addon/mode/multiplex'], mod)
- // Plain browser env
- else mod(CodeMirror)
- })(function (CodeMirror) {
- 'use strict'
- CodeMirror.defineMode(
- 'htmlembedded',
- function (config, parserConfig) {
- var closeComment = parserConfig.closeComment || '--%>'
- return CodeMirror.multiplexingMode(
- CodeMirror.getMode(config, 'htmlmixed'),
- {
- open: parserConfig.openComment || '<%--',
- close: closeComment,
- delimStyle: 'comment',
- mode: {
- token: function (stream) {
- stream.skipTo(closeComment) || stream.skipToEnd()
- return 'comment'
- },
- },
- },
- {
- open: parserConfig.open || parserConfig.scriptStartRegex || '<%',
- close: parserConfig.close || parserConfig.scriptEndRegex || '%>',
- mode: CodeMirror.getMode(config, parserConfig.scriptingModeSpec),
- }
- )
- },
- 'htmlmixed'
- )
- CodeMirror.defineMIME('application/x-ejs', { name: 'htmlembedded', scriptingModeSpec: 'javascript' })
- CodeMirror.defineMIME('application/x-aspx', { name: 'htmlembedded', scriptingModeSpec: 'text/x-csharp' })
- CodeMirror.defineMIME('application/x-jsp', { name: 'htmlembedded', scriptingModeSpec: 'text/x-java' })
- CodeMirror.defineMIME('application/x-erb', { name: 'htmlembedded', scriptingModeSpec: 'ruby' })
- })
|