Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
CodeMirror
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Issue analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Moritz Aurel Pascal Schubotz
CodeMirror
Commits
46e9a5e0
Commit
46e9a5e0
authored
9 years ago
by
Hector Oswaldo Caballero
Committed by
Marijn Haverbeke
9 years ago
Browse files
Options
Downloads
Patches
Plain Diff
[ttcn-cfg mode] Add
parent
92ec62d2
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
doc/compress.html
+1
-0
1 addition, 0 deletions
doc/compress.html
mode/index.html
+1
-0
1 addition, 0 deletions
mode/index.html
mode/ttcn-cfg/index.html
+115
-0
115 additions, 0 deletions
mode/ttcn-cfg/index.html
mode/ttcn-cfg/ttcn-cfg.js
+214
-0
214 additions, 0 deletions
mode/ttcn-cfg/ttcn-cfg.js
with
331 additions
and
0 deletions
doc/compress.html
+
1
−
0
View file @
46e9a5e0
...
...
@@ -194,6 +194,7 @@
<option
value=
"http://codemirror.net/mode/tornado/tornado.js"
>
tornado.js
</option>
<option
value=
"http://codemirror.net/mode/troff/troff.js"
>
troff.js
</option>
<option
value=
"http://codemirror.net/mode/ttcn/ttcn.js"
>
ttcn.js
</option>
<option
value=
"http://codemirror.net/mode/ttcn-cfg/ttcn-cfg.js"
>
ttcn-cfg.js
</option>
<option
value=
"http://codemirror.net/mode/turtle/turtle.js"
>
turtle.js
</option>
<option
value=
"http://codemirror.net/mode/vb/vb.js"
>
vb.js
</option>
<option
value=
"http://codemirror.net/mode/vbscript/vbscript.js"
>
vbscript.js
</option>
...
...
This diff is collapsed.
Click to expand it.
mode/index.html
+
1
−
0
View file @
46e9a5e0
...
...
@@ -124,6 +124,7 @@ option.</p>
<li><a
href=
"tornado/index.html"
>
Tornado
</a>
(templating language)
</li>
<li><a
href=
"troff/index.html"
>
troff
</a>
(for manpages)
</li>
<li><a
href=
"ttcn/index.html"
>
TTCN
</a></li>
<li><a
href=
"ttcn-cfg/index.html"
>
TTCN Configuration
</a></li>
<li><a
href=
"turtle/index.html"
>
Turtle
</a></li>
<li><a
href=
"vb/index.html"
>
VB.NET
</a></li>
<li><a
href=
"vbscript/index.html"
>
VBScript
</a></li>
...
...
This diff is collapsed.
Click to expand it.
mode/ttcn-cfg/index.html
0 → 100644
+
115
−
0
View file @
46e9a5e0
<!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>
This diff is collapsed.
Click to expand it.
mode/ttcn-cfg/ttcn-cfg.js
0 → 100644
+
214
−
0
View file @
46e9a5e0
// 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
});
});
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment