cosmos 4.4.1-java → 4.5.2-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build_v4.yml +33 -0
  3. data/Dockerfile +10 -4
  4. data/Gemfile +1 -1
  5. data/Manifest.txt +26 -2
  6. data/README.md +4 -1
  7. data/Rakefile +33 -27
  8. data/autohotkey/tools/cmd_extractor.ahk +11 -9
  9. data/autohotkey/tools/cmd_sender.ahk +1 -1
  10. data/autohotkey/tools/cmd_sequence.ahk +1 -1
  11. data/autohotkey/tools/data_viewer.ahk +1 -1
  12. data/autohotkey/tools/limits_monitor.ahk +1 -1
  13. data/autohotkey/tools/packet_viewer.ahk +1 -1
  14. data/autohotkey/tools/script_runner.ahk +1 -1
  15. data/autohotkey/tools/test_runner2.ahk +1 -1
  16. data/autohotkey/tools/tlm_grapher.ahk +1 -1
  17. data/autohotkey/tools/tlm_grapher3.ahk +1 -1
  18. data/autohotkey/tools/tlm_viewer.ahk +1 -1
  19. data/autohotkey/tools/tlm_viewer2.ahk +1 -1
  20. data/autohotkey/tools/tlm_viewer5.ahk +1 -1
  21. data/bin/rubysloc +73 -28
  22. data/bin/xtce_converter +1 -1
  23. data/cosmos.gemspec +6 -12
  24. data/data/config/interface_modifiers.yaml +3 -2
  25. data/data/config/system.yaml +81 -24
  26. data/data/crc.txt +435 -435
  27. data/demo/Rakefile +4 -4
  28. data/demo/config/data/crc.txt +250 -250
  29. data/demo/config/system/system.txt +15 -7
  30. data/demo/config/system/system2.txt +15 -7
  31. data/demo/config/system/system_alt_ports.txt +15 -7
  32. data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +1 -1
  33. data/demo/config/tools/handbook_creator/default_toc.xsl +59 -59
  34. data/ext/cosmos/ext/buffered_file/buffered_file.c +2 -2
  35. data/ext/cosmos/ext/config_parser/config_parser.c +1 -2
  36. data/ext/cosmos/ext/line_graph/line_graph.c +53 -94
  37. data/ext/cosmos/ext/packet/packet.c +0 -6
  38. data/ext/cosmos/ext/platform/platform.c +56 -21
  39. data/ext/cosmos/ext/polynomial_conversion/polynomial_conversion.c +4 -8
  40. data/ext/cosmos/ext/structure/structure.c +12 -0
  41. data/extensions/vscode/.gitignore +4 -0
  42. data/extensions/vscode/.vscode/launch.json +32 -0
  43. data/extensions/vscode/.vscode/settings.json +13 -0
  44. data/extensions/vscode/.vscode/tasks.json +79 -0
  45. data/extensions/vscode/License.txt +879 -0
  46. data/extensions/vscode/README.md +9 -0
  47. data/extensions/vscode/client/License.txt +879 -0
  48. data/extensions/vscode/client/README.md +39 -0
  49. data/extensions/vscode/client/cosmos.configuration.json +23 -0
  50. data/extensions/vscode/client/images/icon.png +0 -0
  51. data/extensions/vscode/client/package-lock.json +414 -0
  52. data/extensions/vscode/client/package.json +105 -0
  53. data/extensions/vscode/client/src/extension.ts +132 -0
  54. data/extensions/vscode/client/src/screen_preview.rb +25 -0
  55. data/extensions/vscode/client/syntaxes/cosmos.tmLanguage.json +219 -0
  56. data/extensions/vscode/client/tsconfig.json +17 -0
  57. data/extensions/vscode/package-lock.json +26 -0
  58. data/extensions/vscode/package.json +35 -0
  59. data/extensions/vscode/server/License.txt +879 -0
  60. data/extensions/vscode/server/package-lock.json +236 -0
  61. data/extensions/vscode/server/package.json +29 -0
  62. data/extensions/vscode/server/src/server.ts +59 -0
  63. data/extensions/vscode/server/tsconfig.json +16 -0
  64. data/install/Rakefile +4 -4
  65. data/install/config/data/crc.txt +145 -145
  66. data/install/config/system/system.txt +15 -7
  67. data/install/config/tools/handbook_creator/default_toc.xsl +59 -59
  68. data/lib/cosmos/config/config_parser.rb +2 -10
  69. data/lib/cosmos/core_ext/class.rb +10 -0
  70. data/lib/cosmos/core_ext/time.rb +5 -3
  71. data/lib/cosmos/dart/examples/dart_decom_client.rb +1 -1
  72. data/lib/cosmos/dart/lib/dart_common.rb +3 -3
  73. data/lib/cosmos/dart/lib/dart_decommutator.rb +4 -4
  74. data/lib/cosmos/dart/processes/dart_decom_server.rb +1 -1
  75. data/lib/cosmos/dart/processes/dart_master.rb +1 -1
  76. data/lib/cosmos/dart/spec/dart/dart_database_cleaner_spec.rb +2 -2
  77. data/lib/cosmos/gui/qt.rb +10 -10
  78. data/lib/cosmos/gui/qt_tool.rb +17 -12
  79. data/lib/cosmos/gui/text/completion_text_edit.rb +2 -0
  80. data/lib/cosmos/gui/widgets/dart_meta_frame.rb +1 -1
  81. data/lib/cosmos/interfaces/dart_status_interface.rb +1 -1
  82. data/lib/cosmos/interfaces/linc_interface.rb +3 -3
  83. data/lib/cosmos/interfaces/protocols/burst_protocol.rb +1 -1
  84. data/lib/cosmos/interfaces/protocols/crc_protocol.rb +1 -1
  85. data/lib/cosmos/interfaces/protocols/template_protocol.rb +3 -3
  86. data/lib/cosmos/interfaces/serial_interface.rb +7 -1
  87. data/lib/cosmos/interfaces/stream_interface.rb +1 -1
  88. data/lib/cosmos/interfaces/tcpip_server_interface.rb +16 -16
  89. data/lib/cosmos/io/io_multiplexer.rb +6 -2
  90. data/lib/cosmos/io/json_drb.rb +3 -11
  91. data/lib/cosmos/io/json_drb_object.rb +7 -2
  92. data/lib/cosmos/io/json_drb_rack.rb +25 -5
  93. data/lib/cosmos/io/json_rpc.rb +1 -1
  94. data/lib/cosmos/io/posix_serial_driver.rb +60 -22
  95. data/lib/cosmos/io/serial_driver.rb +11 -8
  96. data/lib/cosmos/io/win32_serial_driver.rb +8 -1
  97. data/lib/cosmos/packets/packet.rb +8 -8
  98. data/lib/cosmos/packets/packet_config.rb +1 -1
  99. data/lib/cosmos/packets/packet_item_limits.rb +2 -14
  100. data/lib/cosmos/packets/parsers/xtce_converter.rb +10 -10
  101. data/lib/cosmos/packets/parsers/xtce_parser.rb +3 -0
  102. data/lib/cosmos/packets/structure.rb +18 -5
  103. data/lib/cosmos/packets/structure_item.rb +4 -21
  104. data/lib/cosmos/script/api_shared.rb +18 -1
  105. data/lib/cosmos/script/extract.rb +1 -1
  106. data/lib/cosmos/script/script.rb +4 -11
  107. data/lib/cosmos/streams/serial_stream.rb +11 -6
  108. data/lib/cosmos/system/system.rb +47 -13
  109. data/lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb +15 -0
  110. data/lib/cosmos/tools/cmd_sender/cmd_params.rb +25 -3
  111. data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +7 -0
  112. data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +0 -5
  113. data/lib/cosmos/tools/cmd_tlm_server/api.rb +10 -8
  114. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +2 -2
  115. data/lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb +1 -1
  116. data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +29 -26
  117. data/lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb +1 -1
  118. data/lib/cosmos/tools/cmd_tlm_server/router_thread.rb +5 -0
  119. data/lib/cosmos/tools/config_editor/config_editor.rb +1 -1
  120. data/lib/cosmos/tools/handbook_creator/handbook_creator.rb +1 -1
  121. data/lib/cosmos/tools/handbook_creator/handbook_creator_config.rb +1 -1
  122. data/lib/cosmos/tools/script_runner/script_runner_frame.rb +5 -2
  123. data/lib/cosmos/tools/test_runner/test.rb +1 -1
  124. data/lib/cosmos/tools/test_runner/test_runner.rb +4 -4
  125. data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +3 -3
  126. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +1 -4
  127. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +3 -3
  128. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_dart_thread.rb +1 -1
  129. data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +2 -2
  130. data/lib/cosmos/tools/tlm_viewer/widgets/canvasdot_widget.rb +2 -0
  131. data/lib/cosmos/top_level.rb +1 -1
  132. data/lib/cosmos/utilities/simulated_target.rb +1 -1
  133. data/lib/cosmos/version.rb +5 -5
  134. data/make_gems.sh +1 -1
  135. data/spec/core_ext/class_spec.rb +54 -0
  136. data/spec/core_ext/time_spec.rb +4 -0
  137. data/spec/gui/qt_spec.rb +1 -1
  138. data/spec/gui/utilities/script_module_gui_spec.rb +1 -1
  139. data/spec/interfaces/linc_interface_spec.rb +1 -1
  140. data/spec/interfaces/serial_interface_spec.rb +1 -5
  141. data/spec/io/json_drb_rack_spec.rb +166 -0
  142. data/spec/io/json_rpc_spec.rb +4 -5
  143. data/spec/io/posix_serial_driver_spec.rb +87 -0
  144. data/spec/io/win32_serial_driver_spec.rb +17 -1
  145. data/spec/packet_logs/packet_log_reader_spec.rb +34 -35
  146. data/spec/packets/packet_item_limits_spec.rb +6 -33
  147. data/spec/packets/structure_item_spec.rb +3 -21
  148. data/spec/script/extract_spec.rb +4 -1
  149. data/spec/system/system_spec.rb +109 -1
  150. data/spec/tools/cmd_tlm_server/api_spec.rb +12 -12
  151. data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +2 -2
  152. data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +4 -3
  153. data/spec/tools/cmd_tlm_server/router_thread_spec.rb +2 -3
  154. data/spec/top_level/top_level_spec.rb +2 -2
  155. data/spec/utilities/logger_spec.rb +3 -3
  156. data/test/performance/Rakefile +4 -4
  157. data/test/performance/config/data/crc.txt +67 -48
  158. metadata +53 -9
  159. data/.coveralls.yml +0 -1
  160. data/.travis.yml +0 -16
@@ -0,0 +1,132 @@
1
+ import * as path from 'path';
2
+ import { commands, ExtensionContext, window, workspace } from 'vscode';
3
+
4
+ import {
5
+ LanguageClient,
6
+ LanguageClientOptions,
7
+ ServerOptions,
8
+ TransportKind
9
+ } from 'vscode-languageclient';
10
+
11
+ let client: LanguageClient;
12
+
13
+ export function activate(context: ExtensionContext) {
14
+
15
+ // The server is implemented in node
16
+ let serverModule = context.asAbsolutePath(
17
+ path.join('server', 'server.js')
18
+ );
19
+
20
+ // The debug options for the server
21
+ // --inspect=6009: runs the server in Node's Inspector mode so VS Code can attach to the server for debugging
22
+ let debugOptions = { execArgv: ['--nolazy', '--inspect=6009'] };
23
+
24
+ // If the extension is launched in debug mode then the debug server options are used
25
+ // Otherwise the run options are used
26
+ let serverOptions: ServerOptions = {
27
+ run: { module: serverModule, transport: TransportKind.ipc },
28
+ debug: {
29
+ module: serverModule,
30
+ transport: TransportKind.ipc,
31
+ options: debugOptions
32
+ }
33
+ };
34
+
35
+ // Options to control the language client
36
+ let clientOptions: LanguageClientOptions = {
37
+ // Register the server for cosmos documents
38
+ documentSelector: ['cosmos' ],
39
+ synchronize: {
40
+ // Notify the server about file changes to '.clientrc files contained in the workspace
41
+ fileEvents: [
42
+ workspace.createFileSystemWatcher('**/config/targets/*/cmdtlm/*.txt', false, false, false),
43
+ workspace.createFileSystemWatcher('**/config/targets/*/cmd_tlm/*.txt', false, false, false),
44
+ workspace.createFileSystemWatcher('**/config/targets/*/screens/*.txt', false, false, false),
45
+ workspace.createFileSystemWatcher('**/config/targets/*/cmd_tlm_server.txt', false, false, false),
46
+ workspace.createFileSystemWatcher('**/config/targets/*/target.txt', false, false, false),
47
+ workspace.createFileSystemWatcher('**/config/targets/tools/*/*.txt', false, false, false),
48
+ workspace.createFileSystemWatcher('**/lib/*.rb', false, false, false),
49
+ workspace.createFileSystemWatcher('**/procedures/*.rb', false, false, false),
50
+ ]
51
+ }
52
+ };
53
+
54
+ // Create the language client and start the client.
55
+ let disposableLangCl = new LanguageClient('cosmos', 'Language Server Cosmos', serverOptions, clientOptions).start();
56
+ context.subscriptions.push(disposableLangCl);
57
+
58
+ // create a telemetry screen viewer
59
+ let screenViewer = new CosmosScreenViewer(context.extensionPath);
60
+
61
+ // Use Console to log diagnostic info
62
+ console.log('COSMOS Extension!');
63
+
64
+ let disposable = commands.registerCommand('cosmos.showGuiPreview', () => {
65
+ screenViewer.previewScreen();
66
+ });
67
+
68
+ // Add to a list of disposables which are disposed when this extension is deactivated.
69
+ context.subscriptions.push(screenViewer);
70
+ context.subscriptions.push(disposable);
71
+ }
72
+
73
+ class CosmosScreenViewer {
74
+
75
+ extPath: string;
76
+
77
+ constructor(extensionPath: string) {
78
+ this.extPath = extensionPath;
79
+ }
80
+
81
+ public previewScreen () {
82
+
83
+ // Get the current text editor
84
+ let editor = window.activeTextEditor;
85
+ if (!editor) {
86
+ return;
87
+ }
88
+
89
+ // Get required modules
90
+ const exec = require("child_process").exec;
91
+
92
+ // Store current working directory
93
+ let currDir = process.cwd();
94
+ // Change to directory where current file is because cosmos depends on directories
95
+ try {
96
+ process.chdir(path.dirname(editor.document.fileName));
97
+ }
98
+ catch (err) {
99
+ console.log(err)
100
+ }
101
+
102
+ // Build up Ruby Command
103
+ let rubyCmd = 'ruby ' + this.extPath + '/src/screen_preview.rb ' + editor.document.fileName;
104
+
105
+ // Execute Ruby Command
106
+ exec(rubyCmd, {env: {'PATH': process.env.path}}, function(err, stdout, stderr) {
107
+ if (err != null && err != "")
108
+ {
109
+ console.log(err)
110
+ }
111
+ if (stderr != null && stderr != "")
112
+ {
113
+ console.log(stderr)
114
+ }
115
+ if (stdout != null && stdout != "")
116
+ {
117
+ console.log(stdout)
118
+ }
119
+ });
120
+
121
+ // Change back to directory current working directory
122
+ try {
123
+ process.chdir(currDir);
124
+ }
125
+ catch (err) {
126
+ console.log(err)
127
+ }
128
+ }
129
+
130
+ dispose() {
131
+ }
132
+ }
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require 'cosmos'
4
+ require 'cosmos/gui/qt'
5
+ require 'cosmos/gui/qt_tool'
6
+ require 'cosmos/gui/utilities/classification_banner'
7
+ require 'cosmos/script'
8
+ require 'cosmos/tools/tlm_viewer/widgets'
9
+ require 'cosmos/tools/tlm_viewer/screen'
10
+
11
+ begin
12
+ v1 = ARGV[0]
13
+
14
+ app = Qt::Application.new(ARGV)
15
+ window = Cosmos::Screen.new("preview", v1, nil, :REALTIME, nil, nil, nil, nil, false, true, nil)
16
+ app.exec
17
+ rescue Exception
18
+ # Don't care what we do here because the error is always:
19
+ #
20
+ # uninitialized class variable @@redirect_io_thread_sleeper in Cosmos::QtTool
21
+ # Did you mean? @@redirect_io_thread
22
+ #
23
+ # This is because its looking for another Cosmos thread that doesn't exist
24
+ # since we are running this screen standalone to just view the screen
25
+ end
@@ -0,0 +1,219 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
3
+ "name": "cosmos",
4
+ "scopeName": "source.cosmos",
5
+ "patterns": [
6
+ { "include": "#rubyStatements" },
7
+ { "include": "#comments" },
8
+ { "include": "#strings" },
9
+ { "include": "#numbers" },
10
+ { "include": "#systemConfig" },
11
+ { "include": "#packetDef"},
12
+ { "include": "#packetItem"},
13
+ { "include": "#itemProperties" }
14
+ ],
15
+ "repository":{
16
+ "comments": {
17
+ "begin": "(^\\s+)?(?=#)",
18
+ "beginCaptures": {
19
+ "1": {
20
+ "name": "punctuation.whitespace.comment.leading"
21
+ }
22
+ },
23
+ "end": "(?!\\G)",
24
+ "patterns": [
25
+ {
26
+ "begin": "#",
27
+ "beginCaptures": {
28
+ "0": {
29
+ "name": "punctuation.definition.comment"
30
+ }
31
+ },
32
+ "end": "\\n",
33
+ "name": "comment.line.number-sign",
34
+ "patterns": [
35
+ {
36
+ "match": "\\\\\\n",
37
+ "name": "constant.character.escape.continuation"
38
+ }
39
+ ]
40
+ }
41
+ ]
42
+ },
43
+ "strings": {
44
+ "patterns": [
45
+ {
46
+ "description": "Single Quoted String",
47
+ "begin": "'",
48
+ "end": "'",
49
+ "name": "string.quoted.single"
50
+ },
51
+ {
52
+ "description": "Double Quoted String",
53
+ "begin": "\"",
54
+ "end": "\"",
55
+ "name": "string.quoted.double"
56
+ },
57
+ {
58
+ "match": "(?<=UNITS\\s)\\b\\S+\\s\\S+\\s*$",
59
+ "name": "string.unquoted"
60
+ }
61
+ ]
62
+ },
63
+ "numbers": {
64
+ "patterns": [
65
+ {
66
+ "match": "[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}",
67
+ "name": "constant.numeric"
68
+ },
69
+ {
70
+ "match": "0x[a-zA-Z0-9]+",
71
+ "name": "constant.numeric"
72
+ },
73
+ {
74
+ "match": "-?[0-9]+\\.[0-9]+",
75
+ "name": "constant.numeric"
76
+ },
77
+ {
78
+ "match": "[0-9]",
79
+ "name": "constant.numeric"
80
+ }
81
+ ]
82
+ },
83
+ "rubyStatements": {
84
+ "patterns": [
85
+ {
86
+ "begin": "<%",
87
+ "end": "%>",
88
+ "patterns":[
89
+ {
90
+ "match": ".*",
91
+ "include": "source.ruby"
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ "begin": "(?<=GENERIC_READ_CONVERSION_START)",
97
+ "include": "source.ruby",
98
+ "end": "(?=GENERIC_READ_CONVERSION_END)"
99
+ },
100
+ {
101
+ "begin": "(?<=GENERIC_WRITE_CONVERSION_START)",
102
+ "include": "source.ruby",
103
+ "end": "(?=GENERIC_WRITE_CONVERSION_END)"
104
+ }
105
+ ]
106
+ },
107
+ "systemConfig": {
108
+ "patterns": [
109
+ { "include": "#declareTarget" }
110
+ ],
111
+ "repository":{
112
+ "declareTarget": {
113
+ "patterns": [
114
+ {
115
+ "match": "^\\s*(DECLARE_TARGET)\\b",
116
+ "name": "storage.type"
117
+ },
118
+ {
119
+ "match": "(?<=DECLARE_TARGET\\s)\\b\\S+(?=\\s)",
120
+ "name": "support.class"
121
+ }
122
+ ]
123
+ }
124
+ }
125
+ },
126
+ "packetDef": {
127
+ "patterns": [
128
+ {
129
+ "match": "^(TELEMETRY|COMMAND)\\b",
130
+ "name": "storage.type"
131
+ },
132
+ {
133
+ "match": "(?<=TELEMETRY\\s)\\b\\S+(?=\\s)",
134
+ "name": "support.class"
135
+ },
136
+ {
137
+ "match": "(?<=COMMAND\\s)\\b\\S+(?=\\s)",
138
+ "name": "support.class"
139
+ },
140
+ {
141
+ "match": "(?<=\\s)\\b\\S+(?=\\sBIG_ENDIAN)",
142
+ "name": "variable.other"
143
+ },
144
+ {
145
+ "match": "(?<=\\s)\\b\\S+(?=\\sLITTLE_ENDIAN)",
146
+ "name": "variable.other"
147
+ },
148
+ {
149
+ "match": "\\b(BIG_ENDIAN|LITTLE_ENDIAN)\\b",
150
+ "name": "keyword.control"
151
+ }
152
+ ]
153
+ },
154
+ "packetItem": {
155
+ "patterns": [
156
+ {
157
+ "match": "^\\s*(APPEND_ID_|ID_)(ITEM|PARAMETER)\\b",
158
+ "name": "support.function"
159
+ },
160
+ {
161
+ "match": "^\\s*APPEND_(ITEM|PARAMETER)\\b",
162
+ "name": "storage.modifer"
163
+ },
164
+ {
165
+ "match": "^\\s*(ITEM|PARAMETER)\\b",
166
+ "name": "storage.modifer"
167
+ },
168
+ {
169
+ "match": "(?<=ITEM\\s)\\b\\S+(?=\\s)",
170
+ "name": "variable.parameter"
171
+ },
172
+ {
173
+ "match": "(?<=APPEND_ITEM\\s)\\b\\S+(?=\\s)",
174
+ "name": "variable.parameter"
175
+ },
176
+ {
177
+ "match": "(?<=PARAMETER\\s)\\b\\S+(?=\\s)",
178
+ "name": "variable.parameter"
179
+ },
180
+ {
181
+ "match": "(?<=APPEND_PARAMETER\\s)\\b\\S+(?=\\s)",
182
+ "name": "variable.parameter"
183
+ },
184
+ {
185
+ "match": "\\b(INT|UINT|FLOAT|DERIVED|STRING|BLOCK)\\b",
186
+ "name": "storage.type"
187
+ }
188
+ ]
189
+ },
190
+ "itemProperties": {
191
+ "patterns": [
192
+ {
193
+ "match": "\\b(HAZARDOUS)\\b",
194
+ "name": "invalid.deprecated"
195
+ },
196
+ {
197
+ "match": "^\\s*(FORMAT_STRING|UNITS|DESCRIPTION|META|REQUIRED|MINIMUM_VALUE|MAXIMUM_VALUE|DEFAULT_VALUE|STATE|WRITE_CONVERSION|POLY_WRITE_CONVERSION|SEG_POLY_WRITE_CONVERSION|GENERIC_WRITE_CONVERSION_START|GENERIC_WRITE_CONVERSION_END|OVERFLOW)\\b",
198
+ "name": "keyword.control"
199
+ },
200
+ {
201
+ "match": "^\\s*(FORMAT_STRING|UNITS|DESCRIPTION|META|STATE|READ_CONVERSION|POLY_READ_CONVERSION|SEG_POLY_READ_CONVERSION|GENERIC_READ_CONVERSION_START|GENERIC_READ_CONVERSION_END|LIMITS|LIMITS_RESPONSE)\\b",
202
+ "name": "keyword.control"
203
+ },
204
+ {
205
+ "match": "(?:(?<=STATE\\s)|(?<=META\\s)|(?<=LIMITS\\s))\\b\\S+(?=\\s)",
206
+ "name": "variable.parameter"
207
+ },
208
+ {
209
+ "match": "META\\K\\s\\S+\\s+\\K.*",
210
+ "name": "support.variable"
211
+ },
212
+ {
213
+ "match": "(?<=\\s)(ENABLED|DISABLED)",
214
+ "name": "support.type"
215
+ }
216
+ ]
217
+ }
218
+ }
219
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "compilerOptions": {
3
+ "noImplicitAny": false,
4
+ "noImplicitReturns": true,
5
+ "noUnusedLocals": false,
6
+ "noUnusedParameters": false,
7
+ "outDir": "out",
8
+ "moduleResolution": "node",
9
+ "lib": ["dom", "es2015"]
10
+ },
11
+ "include": [
12
+ "src/*"
13
+ ],
14
+ "exclude": [
15
+ "node_modules"
16
+ ]
17
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "cosmos",
3
+ "version": "0.0.3",
4
+ "lockfileVersion": 1,
5
+ "requires": true,
6
+ "dependencies": {
7
+ "@types/mocha": {
8
+ "version": "2.2.48",
9
+ "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-2.2.48.tgz",
10
+ "integrity": "sha512-nlK/iyETgafGli8Zh9zJVCTicvU3iajSkRwOh3Hhiva598CMqNJ4NcVCGMTGKpGpTYj/9R8RLzS9NAykSSCqGw==",
11
+ "dev": true
12
+ },
13
+ "@types/node": {
14
+ "version": "6.0.117",
15
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.117.tgz",
16
+ "integrity": "sha512-sihk0SnN8PpiS5ihu5xJQ5ddnURNq4P+XPmW+nORlKkHy21CoZO/IVHK/Wq/l3G8fFW06Fkltgnqx229uPlnRg==",
17
+ "dev": true
18
+ },
19
+ "typescript": {
20
+ "version": "2.9.2",
21
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz",
22
+ "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==",
23
+ "dev": true
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "cosmos",
3
+ "description": "Language support for COSMOS configuration files",
4
+ "author": "Ball Aerospace",
5
+ "license": "BALL GPL",
6
+ "version": "0.0.8",
7
+ "icon": "images/icon.png",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/BallAerospace/COSMOS"
11
+ },
12
+ "publisher": "BallAero",
13
+ "scripts": {
14
+ "postinstall": "cd server && npm install && cd ../client && npm install && cd .. && npm run-script compile",
15
+ "compile": "npm run-script compile:client && npm run-script compile:server",
16
+ "compile:client": "cd client && tsc -p ./ && cd ..",
17
+ "compile:server": "cd server && npm run installServer && cd .. && tsc -p server/tsconfig.json",
18
+ "watch:client": "tsc -watch -p ./client/tsconfig.json",
19
+ "watch:server": "cd server && npm run installServer && cd .. && tsc -w -p server/tsconfig.json",
20
+ "distclean:client": "cd client && rm -fr node_modules && cd ..",
21
+ "distclean:server": "cd server && rm -fr node_modules && cd ..",
22
+ "distclean": "npm run-script distclean:client && npm run-script distclean:server && rm -fr node_modules",
23
+ "upgrade:client": "cd client && npm upgrade",
24
+ "upgrade:server": "cd server && npm upgrade",
25
+ "upgrade": "npm run-script upgrade:client && npm run-script upgrade:server && npm upgrade"
26
+ },
27
+ "devDependencies": {
28
+ "mocha": "^2.2.48",
29
+ "node": "^6.0.116",
30
+ "typescript": "^2.9.2"
31
+ },
32
+ "dependencies": {
33
+ "tsc": "^1.20150623.0"
34
+ }
35
+ }