mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2025-03-20 02:16:56 +00:00
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"
|
||||
});
|
||||
});
|
||||
});
|
19
plugins/tiddlywiki/codemirror-trailingspace/files/tiddlywiki.files
Executable file
19
plugins/tiddlywiki/codemirror-trailingspace/files/tiddlywiki.files
Executable file
@ -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"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
7
plugins/tiddlywiki/codemirror-trailingspace/plugin.info
Executable file
7
plugins/tiddlywiki/codemirror-trailingspace/plugin.info
Executable file
@ -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"
|
||||
}
|
7
plugins/tiddlywiki/codemirror-trailingspace/readme.tid
Executable file
7
plugins/tiddlywiki/codemirror-trailingspace/readme.tid
Executable file
@ -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…
x
Reference in New Issue
Block a user