添加项目文件。

This commit is contained in:
Zel
2025-01-22 23:31:03 +08:00
parent 1b8ba6771f
commit 2ae76476fb
894 changed files with 774558 additions and 0 deletions

View File

@@ -0,0 +1,213 @@
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
/*
* =====================================================================================
*
* Filename: mode/tightwiki/tightwiki.js
*
* Description: CodeMirror mode for tightwiki
*
* Created: 10/30/2022
*
* Author: Josh Patterson
* Company: NetworkDLS
*
* =====================================================================================
*/
(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) {
"use strict";
CodeMirror.defineMode("tightwiki", function () {
var functions = ["##systememojicategorylist", "##systememojilist", "##set", "##seq", "##get", "##color", "##searchlist", "##taglist", "##searchcloud", "##tagglossary", "##recentlymodified", "##textglossary", "##tagcloud", "##image", "##file", "##related", "##tags", "##editlink", "##inject", "##include", "##br", "##hr", "##revisions", "##attachments", "##toc", "##title", "##navigation", "##name", "##created", "##lastmodified", "##sitename", "##appversion", "##profileglossary", "##profilelist", "##namespaceglossary", "##namespacelist","##namespace", "##snippet"],
instructions = ["@@protect", "@@hidefooterlastmodified", "@@tags", "@@title", "@@hidefootercomments", "@@nocache", "@@draft", "@@review", "@@deprecate", "@@include", "@@template"],
scopes = ["bullets", "alert", "background", "collapse", "callout", "code", "foreground", "jumbotron", "card", "table", "stripedtable", "definesnippet", "order"];
function basicToken(stream, state) {
var cur = '';
var ch = stream.next();
var cc = '';
// Comment (Single-line)
if (ch == ";") {
if (stream.peek() == ';') {
stream.skipToEnd();
return "comment";
}
}
// Highlight
if (ch == "!") {
if (stream.peek() == '!') {
if (stream.skipTo("!!")) {
stream.eatWhile('!');
return "highlight";
}
}
}
// Emoji
if (ch == "%") {
if (stream.peek() == '%') {
if (stream.skipTo("%%")) {
stream.eatWhile('%');
return "strong";
}
}
}
// Bold
if (ch == "*") {
if (stream.peek() == '*') {
if (stream.skipTo("**")) {
stream.eatWhile('*');
return "strong";
}
}
}
// Italics
if (ch == "/") {
if (stream.peek() == '/') {
if (stream.skipTo("//")) {
stream.eatWhile('/');
return "italics";
}
}
}
// Underline
if (ch == "_") {
if (stream.peek() == '_') {
if (stream.skipTo("__")) {
stream.eatWhile('_');
return "underline";
}
}
}
// Strike though
if (ch == "~") {
if (stream.peek() == '~') {
if (stream.skipTo("~~")) {
stream.eatWhile('~');
return "strike";
}
}
}
// Headings
if (ch == "=") {
if (stream.peek() == '=') {
stream.skipToEnd();
return "heading";
}
}
// Links
if (ch == '[') {
stream.eatWhile(/\[/);
cur = stream.current();
if (cur == "[[") {
stream.skipTo(']');
stream.eatWhile(']');
return "atom";
}
}
// String "..."
if (ch == '"') {
stream.skipTo('"');
return "string";
}
// String '...'
if (ch == "'") {
stream.skipTo("'");
return "string-2";
}
// Instructions
cc = '#';
if (ch == cc) {
if (stream.peek() == cc) {
stream.eat(cc);
stream.eatWhile(/\w/);
cur = stream.current().toLowerCase();
if (functions.indexOf(cur) !== -1) {
return "variable-3 strong";
}
}
}
// Instructions
cc = '@';
if (ch == cc) {
if (stream.peek() == cc) {
stream.eat(cc);
stream.eatWhile(/\w/);
cur = stream.current().toLowerCase();
if (instructions.indexOf(cur) !== -1) {
return "variable-2 strong";
}
}
}
//Enter scope
if (ch == '{') {
stream.eatWhile('{');
if (stream.current() == "{{") {
state.scopeLevel++;
state.inScopeFirstLine = true;
return "";
}
}
//Exit scope
if (ch == '}') {
stream.eatWhile('}');
if (stream.current() == "}}") {
state.scopeLevel--;
state.inScopeFirstLine = false;
return "";
}
}
// Variables
if (ch == '$') {
if (stream.peek() == '{') {
stream.skipTo('}');
stream.eat('}');
return "variable-2";
}
}
// Everything else
stream.eatWhile(/\w/);
cur = stream.current().toLowerCase();
//Scope functions (must be a scope function and be on the first line of the scrop definition)
if (state.inScopeFirstLine == true && scopes.indexOf(cur) !== -1) {
state.inScopeFirstLine = false;
return "variable-2 strong";
}
}
return {
startState: function () {
return {
scopeLevel: 0,
inScopeFirstLine: false
};
},
token: function (stream, state) {
if (stream.eatSpace()) return null;
return basicToken(stream, state);
}
};
});
CodeMirror.defineMIME("text/x-tightwiki", "tightwiki");
});