11

Codemirror Text Editorで非表示の文字 (改行文字など) を表示することはできますか? これを行うことは可能ですか?

4

3 に答える 3

4

これは、次のように空白と EOL シンボルを使用したオーバーレイと定義済みのスタイルを使用して実行できます。

cm.addOverlay({
    name: 'invisibles',
    token:  function nextToken(stream) {
        var ret,
            spaces  = 0,
            peek    = stream.peek() === ' ';

        if (peek) {
            while (peek && spaces < Maximum) {
                ++spaces;

                stream.next();
                peek = stream.peek() === ' ';
            }

            ret = 'whitespace whitespace-' + spaces;
        } else {
            while (!stream.eol() && !peek) {
                stream.next();

                peek = stream.peek() === ' ';
            }

            ret = 'cm-eol';
        }

        return ret;
    }
});

この目的のために、アドオンCodeMirror Show Invisiblesを使用できます。

于 2015-02-27T07:36:22.837 に答える
3

キャリッジ リターンは CodeMirror によって特別に解釈されるため (単独の場合は改行が作成され、改行の前にある場合は無視されます)、その場合はできません。

ただし、他の非印刷文字 (たとえば、\b) はデフォルトで赤い点として表示され、関連する CSS クラスを調整しcm-invalidcharて外観をカスタマイズできます。

于 2013-10-09T10:43:12.050 に答える