mirror of
https://github.com/documize/community.git
synced 2025-08-06 22:15:25 +02:00
moved emberjs to gui folder
This commit is contained in:
parent
6a18d18f91
commit
dc49dbbeff
999 changed files with 677 additions and 651 deletions
115
gui/public/codemirror/mode/ttcn-cfg/index.html
vendored
Executable file
115
gui/public/codemirror/mode/ttcn-cfg/index.html
vendored
Executable file
|
@ -0,0 +1,115 @@
|
|||
<!doctype html>
|
||||
|
||||
<title>CodeMirror: TTCN-CFG mode</title>
|
||||
<meta charset="utf-8"/>
|
||||
<link rel=stylesheet href="../../doc/docs.css">
|
||||
|
||||
<link rel="stylesheet" href="../../lib/codemirror.css">
|
||||
<script src="../../lib/codemirror.js"></script>
|
||||
<script src="ttcn-cfg.js"></script>
|
||||
<style type="text/css">
|
||||
.CodeMirror {
|
||||
border-top: 1px solid black;
|
||||
border-bottom: 1px solid black;
|
||||
}
|
||||
</style>
|
||||
<div id=nav>
|
||||
<a href="http://codemirror.net"><h1>CodeMirror</h1>
|
||||
<img id=logo src="../../doc/logo.png">
|
||||
</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="../../index.html">Home</a>
|
||||
<li><a href="../../doc/manual.html">Manual</a>
|
||||
<li><a href="https://github.com/codemirror/codemirror">Code</a>
|
||||
</ul>
|
||||
<ul>
|
||||
<li><a href="../index.html">Language modes</a>
|
||||
<li><a class=active href="http://en.wikipedia.org/wiki/TTCN">TTCN-CFG</a>
|
||||
</ul>
|
||||
</div>
|
||||
<article>
|
||||
<h2>TTCN-CFG example</h2>
|
||||
<div>
|
||||
<textarea id="ttcn-cfg-code">
|
||||
[MODULE_PARAMETERS]
|
||||
# This section shall contain the values of all parameters that are defined in your TTCN-3 modules.
|
||||
|
||||
[LOGGING]
|
||||
# In this section you can specify the name of the log file and the classes of events
|
||||
# you want to log into the file or display on console (standard error).
|
||||
|
||||
LogFile := "logs/%e.%h-%r.%s"
|
||||
FileMask := LOG_ALL | DEBUG | MATCHING
|
||||
ConsoleMask := ERROR | WARNING | TESTCASE | STATISTICS | PORTEVENT
|
||||
|
||||
LogSourceInfo := Yes
|
||||
AppendFile := No
|
||||
TimeStampFormat := DateTime
|
||||
LogEventTypes := Yes
|
||||
SourceInfoFormat := Single
|
||||
LogEntityName := Yes
|
||||
|
||||
[TESTPORT_PARAMETERS]
|
||||
# In this section you can specify parameters that are passed to Test Ports.
|
||||
|
||||
[DEFINE]
|
||||
# In this section you can create macro definitions,
|
||||
# that can be used in other configuration file sections except [INCLUDE].
|
||||
|
||||
[INCLUDE]
|
||||
# To use configuration settings given in other configuration files,
|
||||
# the configuration files just need to be listed in this section, with their full or relative pathnames.
|
||||
|
||||
[EXTERNAL_COMMANDS]
|
||||
# This section can define external commands (shell scripts) to be executed by the ETS
|
||||
# whenever a control part or test case is started or terminated.
|
||||
|
||||
BeginTestCase := ""
|
||||
EndTestCase := ""
|
||||
BeginControlPart := ""
|
||||
EndControlPart := ""
|
||||
|
||||
[EXECUTE]
|
||||
# In this section you can specify what parts of your test suite you want to execute.
|
||||
|
||||
[GROUPS]
|
||||
# In this section you can specify groups of hosts. These groups can be used inside the
|
||||
# [COMPONENTS] section to restrict the creation of certain PTCs to a given set of hosts.
|
||||
|
||||
[COMPONENTS]
|
||||
# This section consists of rules restricting the location of created PTCs.
|
||||
|
||||
[MAIN_CONTROLLER]
|
||||
# The options herein control the behavior of MC.
|
||||
|
||||
TCPPort := 0
|
||||
KillTimer := 10.0
|
||||
NumHCs := 0
|
||||
LocalAddress :=
|
||||
</textarea>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var ttcnEditor = CodeMirror.fromTextArea(document.getElementById("ttcn-cfg-code"), {
|
||||
lineNumbers: true,
|
||||
matchBrackets: true,
|
||||
mode: "text/x-ttcn-cfg"
|
||||
});
|
||||
ttcnEditor.setSize(600, 860);
|
||||
var mac = CodeMirror.keyMap.default == CodeMirror.keyMap.macDefault;
|
||||
CodeMirror.keyMap.default[(mac ? "Cmd" : "Ctrl") + "-Space"] = "autocomplete";
|
||||
</script>
|
||||
<br/>
|
||||
<p><strong>Language:</strong> Testing and Test Control Notation -
|
||||
Configuration files
|
||||
(<a href="http://en.wikipedia.org/wiki/TTCN">TTCN-CFG</a>)
|
||||
</p>
|
||||
<p><strong>MIME types defined:</strong> <code>text/x-ttcn-cfg</code>.</p>
|
||||
|
||||
<br/>
|
||||
<p>The development of this mode has been sponsored by <a href="http://www.ericsson.com/">Ericsson
|
||||
</a>.</p>
|
||||
<p>Coded by Asmelash Tsegay Gebretsadkan </p>
|
||||
</article>
|
||||
|
214
gui/public/codemirror/mode/ttcn-cfg/ttcn-cfg.js
vendored
Executable file
214
gui/public/codemirror/mode/ttcn-cfg/ttcn-cfg.js
vendored
Executable file
|
@ -0,0 +1,214 @@
|
|||
// CodeMirror, copyright (c) by Marijn Haverbeke and others
|
||||
// Distributed under an MIT license: http://codemirror.net/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) {
|
||||
"use strict";
|
||||
|
||||
CodeMirror.defineMode("ttcn-cfg", function(config, parserConfig) {
|
||||
var indentUnit = config.indentUnit,
|
||||
keywords = parserConfig.keywords || {},
|
||||
fileNCtrlMaskOptions = parserConfig.fileNCtrlMaskOptions || {},
|
||||
externalCommands = parserConfig.externalCommands || {},
|
||||
multiLineStrings = parserConfig.multiLineStrings,
|
||||
indentStatements = parserConfig.indentStatements !== false;
|
||||
var isOperatorChar = /[\|]/;
|
||||
var curPunc;
|
||||
|
||||
function tokenBase(stream, state) {
|
||||
var ch = stream.next();
|
||||
if (ch == '"' || ch == "'") {
|
||||
state.tokenize = tokenString(ch);
|
||||
return state.tokenize(stream, state);
|
||||
}
|
||||
if (/[:=]/.test(ch)) {
|
||||
curPunc = ch;
|
||||
return "punctuation";
|
||||
}
|
||||
if (ch == "#"){
|
||||
stream.skipToEnd();
|
||||
return "comment";
|
||||
}
|
||||
if (/\d/.test(ch)) {
|
||||
stream.eatWhile(/[\w\.]/);
|
||||
return "number";
|
||||
}
|
||||
if (isOperatorChar.test(ch)) {
|
||||
stream.eatWhile(isOperatorChar);
|
||||
return "operator";
|
||||
}
|
||||
if (ch == "["){
|
||||
stream.eatWhile(/[\w_\]]/);
|
||||
return "number sectionTitle";
|
||||
}
|
||||
|
||||
stream.eatWhile(/[\w\$_]/);
|
||||
var cur = stream.current();
|
||||
if (keywords.propertyIsEnumerable(cur)) return "keyword";
|
||||
if (fileNCtrlMaskOptions.propertyIsEnumerable(cur))
|
||||
return "negative fileNCtrlMaskOptions";
|
||||
if (externalCommands.propertyIsEnumerable(cur)) return "negative externalCommands";
|
||||
|
||||
return "variable";
|
||||
}
|
||||
|
||||
function tokenString(quote) {
|
||||
return function(stream, state) {
|
||||
var escaped = false, next, end = false;
|
||||
while ((next = stream.next()) != null) {
|
||||
if (next == quote && !escaped){
|
||||
var afterNext = stream.peek();
|
||||
//look if the character if the quote is like the B in '10100010'B
|
||||
if (afterNext){
|
||||
afterNext = afterNext.toLowerCase();
|
||||
if(afterNext == "b" || afterNext == "h" || afterNext == "o")
|
||||
stream.next();
|
||||
}
|
||||
end = true; break;
|
||||
}
|
||||
escaped = !escaped && next == "\\";
|
||||
}
|
||||
if (end || !(escaped || multiLineStrings))
|
||||
state.tokenize = null;
|
||||
return "string";
|
||||
};
|
||||
}
|
||||
|
||||
function Context(indented, column, type, align, prev) {
|
||||
this.indented = indented;
|
||||
this.column = column;
|
||||
this.type = type;
|
||||
this.align = align;
|
||||
this.prev = prev;
|
||||
}
|
||||
function pushContext(state, col, type) {
|
||||
var indent = state.indented;
|
||||
if (state.context && state.context.type == "statement")
|
||||
indent = state.context.indented;
|
||||
return state.context = new Context(indent, col, type, null, state.context);
|
||||
}
|
||||
function popContext(state) {
|
||||
var t = state.context.type;
|
||||
if (t == ")" || t == "]" || t == "}")
|
||||
state.indented = state.context.indented;
|
||||
return state.context = state.context.prev;
|
||||
}
|
||||
|
||||
//Interface
|
||||
return {
|
||||
startState: function(basecolumn) {
|
||||
return {
|
||||
tokenize: null,
|
||||
context: new Context((basecolumn || 0) - indentUnit, 0, "top", false),
|
||||
indented: 0,
|
||||
startOfLine: true
|
||||
};
|
||||
},
|
||||
|
||||
token: function(stream, state) {
|
||||
var ctx = state.context;
|
||||
if (stream.sol()) {
|
||||
if (ctx.align == null) ctx.align = false;
|
||||
state.indented = stream.indentation();
|
||||
state.startOfLine = true;
|
||||
}
|
||||
if (stream.eatSpace()) return null;
|
||||
curPunc = null;
|
||||
var style = (state.tokenize || tokenBase)(stream, state);
|
||||
if (style == "comment") return style;
|
||||
if (ctx.align == null) ctx.align = true;
|
||||
|
||||
if ((curPunc == ";" || curPunc == ":" || curPunc == ",")
|
||||
&& ctx.type == "statement"){
|
||||
popContext(state);
|
||||
}
|
||||
else if (curPunc == "{") pushContext(state, stream.column(), "}");
|
||||
else if (curPunc == "[") pushContext(state, stream.column(), "]");
|
||||
else if (curPunc == "(") pushContext(state, stream.column(), ")");
|
||||
else if (curPunc == "}") {
|
||||
while (ctx.type == "statement") ctx = popContext(state);
|
||||
if (ctx.type == "}") ctx = popContext(state);
|
||||
while (ctx.type == "statement") ctx = popContext(state);
|
||||
}
|
||||
else if (curPunc == ctx.type) popContext(state);
|
||||
else if (indentStatements && (((ctx.type == "}" || ctx.type == "top")
|
||||
&& curPunc != ';') || (ctx.type == "statement"
|
||||
&& curPunc == "newstatement")))
|
||||
pushContext(state, stream.column(), "statement");
|
||||
state.startOfLine = false;
|
||||
return style;
|
||||
},
|
||||
|
||||
electricChars: "{}",
|
||||
lineComment: "#",
|
||||
fold: "brace"
|
||||
};
|
||||
});
|
||||
|
||||
function words(str) {
|
||||
var obj = {}, words = str.split(" ");
|
||||
for (var i = 0; i < words.length; ++i)
|
||||
obj[words[i]] = true;
|
||||
return obj;
|
||||
}
|
||||
|
||||
CodeMirror.defineMIME("text/x-ttcn-cfg", {
|
||||
name: "ttcn-cfg",
|
||||
keywords: words("Yes No LogFile FileMask ConsoleMask AppendFile" +
|
||||
" TimeStampFormat LogEventTypes SourceInfoFormat" +
|
||||
" LogEntityName LogSourceInfo DiskFullAction" +
|
||||
" LogFileNumber LogFileSize MatchingHints Detailed" +
|
||||
" Compact SubCategories Stack Single None Seconds" +
|
||||
" DateTime Time Stop Error Retry Delete TCPPort KillTimer" +
|
||||
" NumHCs UnixSocketsEnabled LocalAddress"),
|
||||
fileNCtrlMaskOptions: words("TTCN_EXECUTOR TTCN_ERROR TTCN_WARNING" +
|
||||
" TTCN_PORTEVENT TTCN_TIMEROP TTCN_VERDICTOP" +
|
||||
" TTCN_DEFAULTOP TTCN_TESTCASE TTCN_ACTION" +
|
||||
" TTCN_USER TTCN_FUNCTION TTCN_STATISTICS" +
|
||||
" TTCN_PARALLEL TTCN_MATCHING TTCN_DEBUG" +
|
||||
" EXECUTOR ERROR WARNING PORTEVENT TIMEROP" +
|
||||
" VERDICTOP DEFAULTOP TESTCASE ACTION USER" +
|
||||
" FUNCTION STATISTICS PARALLEL MATCHING DEBUG" +
|
||||
" LOG_ALL LOG_NOTHING ACTION_UNQUALIFIED" +
|
||||
" DEBUG_ENCDEC DEBUG_TESTPORT" +
|
||||
" DEBUG_UNQUALIFIED DEFAULTOP_ACTIVATE" +
|
||||
" DEFAULTOP_DEACTIVATE DEFAULTOP_EXIT" +
|
||||
" DEFAULTOP_UNQUALIFIED ERROR_UNQUALIFIED" +
|
||||
" EXECUTOR_COMPONENT EXECUTOR_CONFIGDATA" +
|
||||
" EXECUTOR_EXTCOMMAND EXECUTOR_LOGOPTIONS" +
|
||||
" EXECUTOR_RUNTIME EXECUTOR_UNQUALIFIED" +
|
||||
" FUNCTION_RND FUNCTION_UNQUALIFIED" +
|
||||
" MATCHING_DONE MATCHING_MCSUCCESS" +
|
||||
" MATCHING_MCUNSUCC MATCHING_MMSUCCESS" +
|
||||
" MATCHING_MMUNSUCC MATCHING_PCSUCCESS" +
|
||||
" MATCHING_PCUNSUCC MATCHING_PMSUCCESS" +
|
||||
" MATCHING_PMUNSUCC MATCHING_PROBLEM" +
|
||||
" MATCHING_TIMEOUT MATCHING_UNQUALIFIED" +
|
||||
" PARALLEL_PORTCONN PARALLEL_PORTMAP" +
|
||||
" PARALLEL_PTC PARALLEL_UNQUALIFIED" +
|
||||
" PORTEVENT_DUALRECV PORTEVENT_DUALSEND" +
|
||||
" PORTEVENT_MCRECV PORTEVENT_MCSEND" +
|
||||
" PORTEVENT_MMRECV PORTEVENT_MMSEND" +
|
||||
" PORTEVENT_MQUEUE PORTEVENT_PCIN" +
|
||||
" PORTEVENT_PCOUT PORTEVENT_PMIN" +
|
||||
" PORTEVENT_PMOUT PORTEVENT_PQUEUE" +
|
||||
" PORTEVENT_STATE PORTEVENT_UNQUALIFIED" +
|
||||
" STATISTICS_UNQUALIFIED STATISTICS_VERDICT" +
|
||||
" TESTCASE_FINISH TESTCASE_START" +
|
||||
" TESTCASE_UNQUALIFIED TIMEROP_GUARD" +
|
||||
" TIMEROP_READ TIMEROP_START TIMEROP_STOP" +
|
||||
" TIMEROP_TIMEOUT TIMEROP_UNQUALIFIED" +
|
||||
" USER_UNQUALIFIED VERDICTOP_FINAL" +
|
||||
" VERDICTOP_GETVERDICT VERDICTOP_SETVERDICT" +
|
||||
" VERDICTOP_UNQUALIFIED WARNING_UNQUALIFIED"),
|
||||
externalCommands: words("BeginControlPart EndControlPart BeginTestCase" +
|
||||
" EndTestCase"),
|
||||
multiLineStrings: true
|
||||
});
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue