Add codemirror option to show trailing space (#7493)
* codemirror edit/trailingspace addon (default off) * refactor as codemirror-trailingspace plugin * copy cm-trailingspace styles from cm demo
This commit is contained in:
parent
bc3a7d9826
commit
4e7a6ffc22
|
@ -0,0 +1,4 @@
|
||||||
|
title: $:/language/codemirror/
|
||||||
|
|
||||||
|
showTrailingSpace/hint: Show trailing space
|
||||||
|
showTrailingSpace/info: Trailing space on each line will be decorated as per theme CSS.
|
|
@ -0,0 +1,3 @@
|
||||||
|
title: $:/config/codemirror/showTrailingSpace
|
||||||
|
type: bool
|
||||||
|
text: true
|
|
@ -0,0 +1,5 @@
|
||||||
|
.cm-trailingspace {
|
||||||
|
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAACCAYAAAB/qH1jAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QUXCToH00Y1UgAAACFJREFUCNdjPMDBUc/AwNDAAAFMTAwMDA0OP34wQgX/AQBYgwYEx4f9lQAAAABJRU5ErkJggg==);
|
||||||
|
background-position: bottom left;
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
// CodeMirror, copyright (c) by Marijn Haverbeke and others
|
||||||
|
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
|
||||||
|
|
||||||
|
(function(mod) {
|
||||||
|
if (typeof exports == "object" && typeof module == "object") // CommonJS
|
||||||
|
mod(require("../../lib/codemirror"));
|
||||||
|
else if (typeof define == "function" && define.amd) // AMD
|
||||||
|
define(["../../lib/codemirror"], mod);
|
||||||
|
else // Plain browser env
|
||||||
|
mod(CodeMirror);
|
||||||
|
})(function(CodeMirror) {
|
||||||
|
CodeMirror.defineOption("showTrailingSpace", false, function(cm, val, prev) {
|
||||||
|
if (prev == CodeMirror.Init) prev = false;
|
||||||
|
if (prev && !val)
|
||||||
|
cm.removeOverlay("trailingspace");
|
||||||
|
else if (!prev && val)
|
||||||
|
cm.addOverlay({
|
||||||
|
token: function(stream) {
|
||||||
|
for (var l = stream.string.length, i = l; i && /\s/.test(stream.string.charAt(i - 1)); --i) {}
|
||||||
|
if (i > stream.pos) { stream.pos = i; return null; }
|
||||||
|
stream.pos = l;
|
||||||
|
return "trailingspace";
|
||||||
|
},
|
||||||
|
name: "trailingspace"
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
"tiddlers": [
|
||||||
|
{
|
||||||
|
"file": "addon/edit/trailingspace.css",
|
||||||
|
"fields": {
|
||||||
|
"type": "text/css",
|
||||||
|
"title": "$:/plugins/tiddlywiki/codemirror/addon/edit/trailingspace.css",
|
||||||
|
"tags": "[[$:/tags/Stylesheet]]"
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
"file": "addon/edit/trailingspace.js",
|
||||||
|
"fields": {
|
||||||
|
"type": "application/javascript",
|
||||||
|
"title": "$:/plugins/tiddlywiki/codemirror/addon/edit/trailingspace.js",
|
||||||
|
"module-type": "codemirror"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"title": "$:/plugins/tiddlywiki/codemirror-trailingspace",
|
||||||
|
"name": "CodeMirror Show Trailing Space",
|
||||||
|
"description": "Show trailing space in CodeMirror",
|
||||||
|
"parent-plugin": "$:/plugins/tiddlywiki/codemirror",
|
||||||
|
"list": "readme"
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
title: $:/plugins/tiddlywiki/codemirror-trailingspace/readme
|
||||||
|
|
||||||
|
This plugin contains the [[trailingspace|https://codemirror.net/5/doc/manual.html#addon_trailingspace]]
|
||||||
|
addon for CodeMirror, and provides a default style (red squiggles).
|
||||||
|
|
||||||
|
First install the [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]].
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
title: $:/core/ui/ControlPanel/Settings/codemirror/showTrailingSpace
|
||||||
|
tags: $:/tags/ControlPanel/Settings/CodeMirror
|
||||||
|
caption: {{$:/language/codemirror/showTrailingSpace/hint}}
|
||||||
|
|
||||||
|
\define lingo-base() $:/language/codemirror/showTrailingSpace/
|
||||||
|
<<lingo hint>>
|
||||||
|
|
||||||
|
<$checkbox tiddler="$:/config/codemirror/showTrailingSpace" field="text" checked="true" unchecked="false" default="true">
|
||||||
|
<$link to="$:/config/codemirror/showTrailingSpace"><<lingo info>></$link>
|
||||||
|
</$checkbox>
|
||||||
|
|
Loading…
Reference in New Issue