cosmos 4.4.1 → 4.5.2

Sign up to get free protection for your applications and to get access to all the features.
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 +59 -9
  159. data/.coveralls.yml +0 -1
  160. data/.travis.yml +0 -16
@@ -0,0 +1,39 @@
1
+ # COSMOS for Visual Studio Code
2
+
3
+ This extension adds language support for COSMOS configuration files.
4
+
5
+ To identify COSMOS configuration files, this extension assumes that it adheres to the strict directure structure of COSMOS inside of a <Project_Dir> as shown below.
6
+
7
+ ```
8
+ <Project_Dir>
9
+ |--Gemfile
10
+ |--Launcher
11
+ |--Launcher.bat
12
+ |--Rakefile
13
+ |--userpath.txt
14
+ |--config
15
+ | |--data
16
+ | |--system
17
+ | |--targets
18
+ | | |--<TARGETNAME>
19
+ | | | |--cmd_tlm_server.txt
20
+ | | | |--target.txt
21
+ | | | |--(cmdtlm or cmd_tlm)
22
+ | | | |--lib
23
+ | | | |--screens
24
+ | | |--...
25
+ | |--tools
26
+ | | |--cmd_tlm_server
27
+ | | |--...
28
+ |--lib
29
+ |--outputs
30
+ | |--handbooks
31
+ | |--logs
32
+ | |--saved_config
33
+ | |--tables
34
+ | |--tmp
35
+ |--procedures
36
+ |--tools
37
+ | |--mac
38
+ | |--...
39
+ ```
@@ -0,0 +1,23 @@
1
+ {
2
+ "comments": {
3
+ "lineComment": "#"
4
+ },
5
+ "brackets": [
6
+ ["{", "}"],
7
+ ["[", "]"],
8
+ ["(", ")"]
9
+ ],
10
+ "autoClosingPairs": [
11
+ ["{", "}"],
12
+ ["[", "]"],
13
+ ["(", ")"],
14
+ { "open": "'", "close": "'", "notIn": ["string", "comment"] }
15
+ ],
16
+ "surroundingPairs": [
17
+ ["{", "}"],
18
+ ["[", "]"],
19
+ ["(", ")"],
20
+ ["<", ">"],
21
+ ["'", "'"]
22
+ ]
23
+ }
@@ -0,0 +1,414 @@
1
+ {
2
+ "name": "cosmos",
3
+ "version": "0.0.8",
4
+ "lockfileVersion": 1,
5
+ "requires": true,
6
+ "dependencies": {
7
+ "@tootallnate/once": {
8
+ "version": "1.1.2",
9
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
10
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
11
+ "dev": true
12
+ },
13
+ "@types/node": {
14
+ "version": "10.17.44",
15
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.44.tgz",
16
+ "integrity": "sha512-vHPAyBX1ffLcy4fQHmDyIUMUb42gHZjPHU66nhvbMzAWJqHnySGZ6STwN3rwrnSd1FHB0DI/RWgGELgKSYRDmw=="
17
+ },
18
+ "agent-base": {
19
+ "version": "6.0.2",
20
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
21
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
22
+ "dev": true,
23
+ "requires": {
24
+ "debug": "4"
25
+ }
26
+ },
27
+ "balanced-match": {
28
+ "version": "1.0.0",
29
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
30
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
31
+ "dev": true
32
+ },
33
+ "brace-expansion": {
34
+ "version": "1.1.11",
35
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
36
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
37
+ "dev": true,
38
+ "requires": {
39
+ "balanced-match": "^1.0.0",
40
+ "concat-map": "0.0.1"
41
+ }
42
+ },
43
+ "browser-stdout": {
44
+ "version": "1.3.1",
45
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
46
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
47
+ "dev": true
48
+ },
49
+ "buffer-from": {
50
+ "version": "1.1.1",
51
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
52
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
53
+ "dev": true
54
+ },
55
+ "commander": {
56
+ "version": "2.15.1",
57
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
58
+ "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
59
+ "dev": true
60
+ },
61
+ "concat-map": {
62
+ "version": "0.0.1",
63
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
64
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
65
+ "dev": true
66
+ },
67
+ "debug": {
68
+ "version": "4.2.0",
69
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
70
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
71
+ "dev": true,
72
+ "requires": {
73
+ "ms": "2.1.2"
74
+ }
75
+ },
76
+ "diff": {
77
+ "version": "3.5.0",
78
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
79
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
80
+ "dev": true
81
+ },
82
+ "es6-promise": {
83
+ "version": "4.2.8",
84
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
85
+ "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
86
+ "dev": true
87
+ },
88
+ "es6-promisify": {
89
+ "version": "5.0.0",
90
+ "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
91
+ "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
92
+ "dev": true,
93
+ "requires": {
94
+ "es6-promise": "^4.0.3"
95
+ }
96
+ },
97
+ "escape-string-regexp": {
98
+ "version": "1.0.5",
99
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
100
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
101
+ "dev": true
102
+ },
103
+ "fs.realpath": {
104
+ "version": "1.0.0",
105
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
106
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
107
+ "dev": true
108
+ },
109
+ "glob": {
110
+ "version": "7.1.6",
111
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
112
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
113
+ "dev": true,
114
+ "requires": {
115
+ "fs.realpath": "^1.0.0",
116
+ "inflight": "^1.0.4",
117
+ "inherits": "2",
118
+ "minimatch": "^3.0.4",
119
+ "once": "^1.3.0",
120
+ "path-is-absolute": "^1.0.0"
121
+ }
122
+ },
123
+ "growl": {
124
+ "version": "1.10.5",
125
+ "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
126
+ "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
127
+ "dev": true
128
+ },
129
+ "has-flag": {
130
+ "version": "3.0.0",
131
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
132
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
133
+ "dev": true
134
+ },
135
+ "he": {
136
+ "version": "1.1.1",
137
+ "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
138
+ "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
139
+ "dev": true
140
+ },
141
+ "http-proxy-agent": {
142
+ "version": "4.0.1",
143
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
144
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
145
+ "dev": true,
146
+ "requires": {
147
+ "@tootallnate/once": "1",
148
+ "agent-base": "6",
149
+ "debug": "4"
150
+ }
151
+ },
152
+ "https-proxy-agent": {
153
+ "version": "5.0.0",
154
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
155
+ "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
156
+ "dev": true,
157
+ "requires": {
158
+ "agent-base": "6",
159
+ "debug": "4"
160
+ }
161
+ },
162
+ "inflight": {
163
+ "version": "1.0.6",
164
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
165
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
166
+ "dev": true,
167
+ "requires": {
168
+ "once": "^1.3.0",
169
+ "wrappy": "1"
170
+ }
171
+ },
172
+ "inherits": {
173
+ "version": "2.0.4",
174
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
175
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
176
+ "dev": true
177
+ },
178
+ "minimatch": {
179
+ "version": "3.0.4",
180
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
181
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
182
+ "dev": true,
183
+ "requires": {
184
+ "brace-expansion": "^1.1.7"
185
+ }
186
+ },
187
+ "minimist": {
188
+ "version": "0.0.8",
189
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
190
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
191
+ "dev": true
192
+ },
193
+ "mkdirp": {
194
+ "version": "0.5.1",
195
+ "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
196
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
197
+ "dev": true,
198
+ "requires": {
199
+ "minimist": "0.0.8"
200
+ }
201
+ },
202
+ "mocha": {
203
+ "version": "5.2.0",
204
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz",
205
+ "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==",
206
+ "dev": true,
207
+ "requires": {
208
+ "browser-stdout": "1.3.1",
209
+ "commander": "2.15.1",
210
+ "debug": "3.1.0",
211
+ "diff": "3.5.0",
212
+ "escape-string-regexp": "1.0.5",
213
+ "glob": "7.1.2",
214
+ "growl": "1.10.5",
215
+ "he": "1.1.1",
216
+ "minimatch": "3.0.4",
217
+ "mkdirp": "0.5.1",
218
+ "supports-color": "5.4.0"
219
+ },
220
+ "dependencies": {
221
+ "debug": {
222
+ "version": "3.1.0",
223
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
224
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
225
+ "dev": true,
226
+ "requires": {
227
+ "ms": "2.0.0"
228
+ }
229
+ },
230
+ "glob": {
231
+ "version": "7.1.2",
232
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
233
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
234
+ "dev": true,
235
+ "requires": {
236
+ "fs.realpath": "^1.0.0",
237
+ "inflight": "^1.0.4",
238
+ "inherits": "2",
239
+ "minimatch": "^3.0.4",
240
+ "once": "^1.3.0",
241
+ "path-is-absolute": "^1.0.0"
242
+ }
243
+ },
244
+ "ms": {
245
+ "version": "2.0.0",
246
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
247
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
248
+ "dev": true
249
+ }
250
+ }
251
+ },
252
+ "ms": {
253
+ "version": "2.1.2",
254
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
255
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
256
+ "dev": true
257
+ },
258
+ "once": {
259
+ "version": "1.4.0",
260
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
261
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
262
+ "dev": true,
263
+ "requires": {
264
+ "wrappy": "1"
265
+ }
266
+ },
267
+ "path-is-absolute": {
268
+ "version": "1.0.1",
269
+ "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
270
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
271
+ "dev": true
272
+ },
273
+ "semver": {
274
+ "version": "5.7.1",
275
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
276
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
277
+ "dev": true
278
+ },
279
+ "source-map": {
280
+ "version": "0.6.1",
281
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
282
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
283
+ "dev": true
284
+ },
285
+ "source-map-support": {
286
+ "version": "0.5.19",
287
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
288
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
289
+ "dev": true,
290
+ "requires": {
291
+ "buffer-from": "^1.0.0",
292
+ "source-map": "^0.6.0"
293
+ }
294
+ },
295
+ "supports-color": {
296
+ "version": "5.4.0",
297
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
298
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
299
+ "dev": true,
300
+ "requires": {
301
+ "has-flag": "^3.0.0"
302
+ }
303
+ },
304
+ "typescript": {
305
+ "version": "2.9.2",
306
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz",
307
+ "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w=="
308
+ },
309
+ "vscode": {
310
+ "version": "1.1.37",
311
+ "resolved": "https://registry.npmjs.org/vscode/-/vscode-1.1.37.tgz",
312
+ "integrity": "sha512-vJNj6IlN7IJPdMavlQa1KoFB3Ihn06q1AiN3ZFI/HfzPNzbKZWPPuiU+XkpNOfGU5k15m4r80nxNPlM7wcc0wg==",
313
+ "dev": true,
314
+ "requires": {
315
+ "glob": "^7.1.2",
316
+ "http-proxy-agent": "^4.0.1",
317
+ "https-proxy-agent": "^5.0.0",
318
+ "mocha": "^5.2.0",
319
+ "semver": "^5.4.1",
320
+ "source-map-support": "^0.5.0",
321
+ "vscode-test": "^0.4.1"
322
+ }
323
+ },
324
+ "vscode-jsonrpc": {
325
+ "version": "3.5.0",
326
+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.5.0.tgz",
327
+ "integrity": "sha1-hyOdnhZrLXNSJFuKgTWXgEwdY6o="
328
+ },
329
+ "vscode-languageclient": {
330
+ "version": "3.5.1",
331
+ "resolved": "http://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-3.5.1.tgz",
332
+ "integrity": "sha512-GTQ+hSq/o4c/y6GYmyP9XNrVoIu0NFZ67KltSkqN+tO0eUNDIlrVNX+3DJzzyLhSsrctuGzuYWm3t87mNAcBmQ==",
333
+ "requires": {
334
+ "vscode-languageserver-protocol": "3.5.1"
335
+ }
336
+ },
337
+ "vscode-languageserver-protocol": {
338
+ "version": "3.5.1",
339
+ "resolved": "http://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.5.1.tgz",
340
+ "integrity": "sha512-1fPDIwsAv1difCV+8daOrJEGunClNJWqnUHq/ncWrjhitKWXgGmRCjlwZ3gDUTt54yRcvXz1PXJDaRNvNH6pYA==",
341
+ "requires": {
342
+ "vscode-jsonrpc": "3.5.0",
343
+ "vscode-languageserver-types": "3.5.0"
344
+ }
345
+ },
346
+ "vscode-languageserver-types": {
347
+ "version": "3.5.0",
348
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.5.0.tgz",
349
+ "integrity": "sha1-5I15li8LjgLelV4/UkkI4rGcA3Q="
350
+ },
351
+ "vscode-test": {
352
+ "version": "0.4.3",
353
+ "resolved": "https://registry.npmjs.org/vscode-test/-/vscode-test-0.4.3.tgz",
354
+ "integrity": "sha512-EkMGqBSefZH2MgW65nY05rdRSko15uvzq4VAPM5jVmwYuFQKE7eikKXNJDRxL+OITXHB6pI+a3XqqD32Y3KC5w==",
355
+ "dev": true,
356
+ "requires": {
357
+ "http-proxy-agent": "^2.1.0",
358
+ "https-proxy-agent": "^2.2.1"
359
+ },
360
+ "dependencies": {
361
+ "agent-base": {
362
+ "version": "4.3.0",
363
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
364
+ "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
365
+ "dev": true,
366
+ "requires": {
367
+ "es6-promisify": "^5.0.0"
368
+ }
369
+ },
370
+ "debug": {
371
+ "version": "3.1.0",
372
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
373
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
374
+ "dev": true,
375
+ "requires": {
376
+ "ms": "2.0.0"
377
+ }
378
+ },
379
+ "http-proxy-agent": {
380
+ "version": "2.1.0",
381
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
382
+ "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
383
+ "dev": true,
384
+ "requires": {
385
+ "agent-base": "4",
386
+ "debug": "3.1.0"
387
+ }
388
+ },
389
+ "https-proxy-agent": {
390
+ "version": "2.2.4",
391
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
392
+ "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
393
+ "dev": true,
394
+ "requires": {
395
+ "agent-base": "^4.3.0",
396
+ "debug": "^3.1.0"
397
+ }
398
+ },
399
+ "ms": {
400
+ "version": "2.0.0",
401
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
402
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
403
+ "dev": true
404
+ }
405
+ }
406
+ },
407
+ "wrappy": {
408
+ "version": "1.0.2",
409
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
410
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
411
+ "dev": true
412
+ }
413
+ }
414
+ }
@@ -0,0 +1,105 @@
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
+ "homepage": "https://cosmosrb.com/",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/BallAerospace/COSMOS"
12
+ },
13
+ "publisher": "BallAero",
14
+ "categories": [
15
+ "Programming Languages",
16
+ "Other"
17
+ ],
18
+ "keywords": [
19
+ "ball aerospace cosmos"
20
+ ],
21
+ "engines": {
22
+ "vscode": "^1.23.0"
23
+ },
24
+ "activationEvents": [
25
+ "onLanguage:cosmos",
26
+ "onLanguage:cosmosScreen"
27
+ ],
28
+ "main": "./out/extension",
29
+ "contributes": {
30
+ "languages": [
31
+ {
32
+ "id": "cosmos",
33
+ "aliases": [
34
+ "COSMOS",
35
+ "Cosmos"
36
+ ],
37
+ "filenamePatterns": [
38
+ "**/config/system/*.txt",
39
+ "**/config/targets/*/cmdtlm/*.txt",
40
+ "**/config/targets/*/cmd_tlm/*.txt",
41
+ "**/config/targets/*/screens/*.txt",
42
+ "**/config/targets/*/cmd_tlm_server.txt",
43
+ "**/config/targets/*/target.txt",
44
+ "**/config/targets/tools/*/*.txt",
45
+ "**/config/tools/*/*.txt"
46
+ ],
47
+ "configuration": "./cosmos.configuration.json"
48
+ },
49
+ {
50
+ "id": "cosmosScreen",
51
+ "aliases": [
52
+ "COSMOS",
53
+ "Cosmos"
54
+ ],
55
+ "filenamePatterns": [
56
+ "**/config/targets/*/screens/*.txt"
57
+ ],
58
+ "configuration": "./cosmos.configuration.json"
59
+ }
60
+ ],
61
+ "grammars": [
62
+ {
63
+ "language": "cosmos",
64
+ "scopeName": "source.cosmos",
65
+ "path": "./syntaxes/cosmos.tmLanguage.json"
66
+ },
67
+ {
68
+ "language": "cosmosScreen",
69
+ "scopeName": "source.cosmos",
70
+ "path": "./syntaxes/cosmos.tmLanguage.json"
71
+ }
72
+ ],
73
+ "commands": [
74
+ {
75
+ "command": "cosmos.showGuiPreview",
76
+ "title": "Show Screen Preview",
77
+ "category": "COSMOS"
78
+ }
79
+ ],
80
+ "menus": {
81
+ "editor/title": [
82
+ {
83
+ "when": "resourceLangId == cosmosScreen",
84
+ "command": "cosmos.showGuiPreview",
85
+ "group": "navigation"
86
+ }
87
+ ]
88
+ }
89
+ },
90
+ "scripts": {
91
+ "vscode:prepublish": "tsc -p ./",
92
+ "compile": "tsc -p ./",
93
+ "watch": "tsc -watch -p ./",
94
+ "update-vscode": "node ./node_modules/vscode/bin/install",
95
+ "postinstall": "node ./node_modules/vscode/bin/install"
96
+ },
97
+ "dependencies": {
98
+ "@types/node": "^10.17.26",
99
+ "typescript": "^2.9.2",
100
+ "vscode-languageclient": "^3.5.1"
101
+ },
102
+ "devDependencies": {
103
+ "vscode": "^1.1.37"
104
+ }
105
+ }