@sync-in/server 1.8.0 → 1.9.0

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 (611) hide show
  1. package/CHANGELOG.md +64 -10
  2. package/environment/environment.dist.yaml +29 -26
  3. package/package.json +18 -17
  4. package/server/app.bootstrap.js +4 -2
  5. package/server/app.bootstrap.js.map +1 -1
  6. package/server/app.constants.js +9 -0
  7. package/server/app.constants.js.map +1 -1
  8. package/server/app.module.js +4 -0
  9. package/server/app.module.js.map +1 -1
  10. package/server/applications/admin/admin.module.js +6 -1
  11. package/server/applications/admin/admin.module.js.map +1 -1
  12. package/server/applications/{notifications/interfaces/user-mail-notification.js → admin/interfaces/check-update.interfaces.js} +1 -1
  13. package/server/applications/admin/interfaces/check-update.interfaces.js.map +1 -0
  14. package/server/applications/admin/services/admin-scheduler.service.js +53 -0
  15. package/server/applications/admin/services/admin-scheduler.service.js.map +1 -0
  16. package/server/applications/admin/services/admin.service.js +102 -0
  17. package/server/applications/admin/services/admin.service.js.map +1 -0
  18. package/server/applications/admin/services/admin.service.spec.js +46 -0
  19. package/server/applications/admin/services/admin.service.spec.js.map +1 -0
  20. package/server/applications/admin/utils/check-update.js +28 -0
  21. package/server/applications/admin/utils/check-update.js.map +1 -0
  22. package/server/applications/comments/services/comments-manager.service.js +1 -1
  23. package/server/applications/comments/services/comments-manager.service.js.map +1 -1
  24. package/server/applications/comments/services/comments-manager.service.spec.js +1 -1
  25. package/server/applications/comments/services/comments-manager.service.spec.js.map +1 -1
  26. package/server/applications/comments/services/comments-queries.service.js.map +1 -1
  27. package/server/applications/files/constants/cache.js +10 -1
  28. package/server/applications/files/constants/cache.js.map +1 -1
  29. package/server/applications/files/constants/only-office.js +0 -25
  30. package/server/applications/files/constants/only-office.js.map +1 -1
  31. package/server/applications/files/constants/operations.js +20 -3
  32. package/server/applications/files/constants/operations.js.map +1 -1
  33. package/server/applications/files/dto/file-operations.dto.js +7 -0
  34. package/server/applications/files/dto/file-operations.dto.js.map +1 -1
  35. package/server/applications/files/files-only-office.controller.js +3 -2
  36. package/server/applications/files/files-only-office.controller.js.map +1 -1
  37. package/server/applications/files/files-only-office.controller.spec.js +6 -5
  38. package/server/applications/files/files-only-office.controller.spec.js.map +1 -1
  39. package/server/applications/files/files.controller.js +100 -12
  40. package/server/applications/files/files.controller.js.map +1 -1
  41. package/server/applications/files/files.controller.spec.js +29 -8
  42. package/server/applications/files/files.controller.spec.js.map +1 -1
  43. package/server/applications/files/guards/files-only-office.guard.js +6 -0
  44. package/server/applications/files/guards/files-only-office.guard.js.map +1 -1
  45. package/server/applications/files/interfaces/file-db-props.interface.js.map +1 -1
  46. package/server/applications/files/interfaces/file-props.interface.js.map +1 -1
  47. package/server/applications/files/interfaces/only-office-config.interface.js.map +1 -1
  48. package/server/applications/files/services/files-content-manager.service.js +3 -3
  49. package/server/applications/files/services/files-content-manager.service.js.map +1 -1
  50. package/server/applications/files/services/files-lock-manager.service.js +61 -22
  51. package/server/applications/files/services/files-lock-manager.service.js.map +1 -1
  52. package/server/applications/files/services/files-manager.service.js +122 -24
  53. package/server/applications/files/services/files-manager.service.js.map +1 -1
  54. package/server/applications/files/services/files-manager.service.spec.js +15 -0
  55. package/server/applications/files/services/files-manager.service.spec.js.map +1 -1
  56. package/server/applications/files/services/files-methods.service.js +39 -14
  57. package/server/applications/files/services/files-methods.service.js.map +1 -1
  58. package/server/applications/files/services/files-only-office-manager.service.js +12 -12
  59. package/server/applications/files/services/files-only-office-manager.service.js.map +1 -1
  60. package/server/applications/files/services/files-parser.service.js +1 -1
  61. package/server/applications/files/services/files-parser.service.js.map +1 -1
  62. package/server/applications/files/services/files-queries.service.js +10 -0
  63. package/server/applications/files/services/files-queries.service.js.map +1 -1
  64. package/server/applications/files/utils/doc-textify/adapters/pdf.js +5 -16
  65. package/server/applications/files/utils/doc-textify/adapters/pdf.js.map +1 -1
  66. package/server/applications/files/utils/files.js +1 -1
  67. package/server/applications/files/utils/files.js.map +1 -1
  68. package/server/applications/files/utils/send-file.js +3 -2
  69. package/server/applications/files/utils/send-file.js.map +1 -1
  70. package/server/applications/links/services/links-queries.service.js +1 -1
  71. package/server/applications/links/services/links-queries.service.js.map +1 -1
  72. package/server/applications/notifications/constants/notifications.js +5 -1
  73. package/server/applications/notifications/constants/notifications.js.map +1 -1
  74. package/server/applications/notifications/i18n/de.js +8 -2
  75. package/server/applications/notifications/i18n/de.js.map +1 -1
  76. package/server/applications/notifications/i18n/es.js +8 -2
  77. package/server/applications/notifications/i18n/es.js.map +1 -1
  78. package/server/applications/notifications/i18n/fr.js +8 -2
  79. package/server/applications/notifications/i18n/fr.js.map +1 -1
  80. package/server/applications/notifications/i18n/hi.js +8 -2
  81. package/server/applications/notifications/i18n/hi.js.map +1 -1
  82. package/server/applications/notifications/i18n/it.js +8 -2
  83. package/server/applications/notifications/i18n/it.js.map +1 -1
  84. package/server/applications/notifications/i18n/ja.js +8 -2
  85. package/server/applications/notifications/i18n/ja.js.map +1 -1
  86. package/server/applications/notifications/i18n/ko.js +8 -2
  87. package/server/applications/notifications/i18n/ko.js.map +1 -1
  88. package/server/applications/notifications/i18n/pl.js +8 -2
  89. package/server/applications/notifications/i18n/pl.js.map +1 -1
  90. package/server/applications/notifications/i18n/pt.js +8 -2
  91. package/server/applications/notifications/i18n/pt.js.map +1 -1
  92. package/server/applications/notifications/i18n/pt_br.js +8 -2
  93. package/server/applications/notifications/i18n/pt_br.js.map +1 -1
  94. package/server/applications/notifications/i18n/ru.js +8 -2
  95. package/server/applications/notifications/i18n/ru.js.map +1 -1
  96. package/server/applications/notifications/i18n/tr.js +8 -2
  97. package/server/applications/notifications/i18n/tr.js.map +1 -1
  98. package/server/applications/notifications/i18n/zh.js +8 -2
  99. package/server/applications/notifications/i18n/zh.js.map +1 -1
  100. package/server/applications/notifications/interfaces/notification-properties.interface.js.map +1 -1
  101. package/server/applications/notifications/interfaces/user-mail-notification.interface.js +10 -0
  102. package/server/applications/notifications/interfaces/user-mail-notification.interface.js.map +1 -0
  103. package/server/applications/notifications/mails/models.js +38 -3
  104. package/server/applications/notifications/mails/models.js.map +1 -1
  105. package/server/applications/notifications/mails/templates.js +1 -1
  106. package/server/applications/notifications/mails/templates.js.map +1 -1
  107. package/server/applications/notifications/services/notifications-manager.service.js +8 -1
  108. package/server/applications/notifications/services/notifications-manager.service.js.map +1 -1
  109. package/server/applications/notifications/services/notifications-queries.service.js.map +1 -1
  110. package/server/applications/shares/services/shares-manager.service.js +17 -10
  111. package/server/applications/shares/services/shares-manager.service.js.map +1 -1
  112. package/server/applications/shares/services/shares-manager.service.spec.js +10 -3
  113. package/server/applications/shares/services/shares-manager.service.spec.js.map +1 -1
  114. package/server/applications/shares/services/shares-queries.service.js +11 -1
  115. package/server/applications/shares/services/shares-queries.service.js.map +1 -1
  116. package/server/applications/spaces/guards/space.guard.spec.js +2 -2
  117. package/server/applications/spaces/guards/space.guard.spec.js.map +1 -1
  118. package/server/applications/spaces/services/spaces-browser.service.js +31 -11
  119. package/server/applications/spaces/services/spaces-browser.service.js.map +1 -1
  120. package/server/applications/spaces/services/spaces-manager.service.js +2 -2
  121. package/server/applications/spaces/services/spaces-manager.service.js.map +1 -1
  122. package/server/applications/spaces/services/spaces-queries.service.js +6 -2
  123. package/server/applications/spaces/services/spaces-queries.service.js.map +1 -1
  124. package/server/applications/spaces/utils/permissions.js +2 -2
  125. package/server/applications/spaces/utils/permissions.js.map +1 -1
  126. package/server/applications/sync/services/sync-manager.service.js +1 -0
  127. package/server/applications/sync/services/sync-manager.service.js.map +1 -1
  128. package/server/applications/sync/services/sync-paths-manager.service.js +1 -1
  129. package/server/applications/sync/services/sync-paths-manager.service.js.map +1 -1
  130. package/server/applications/sync/services/sync-paths-manager.service.spec.js +1 -1
  131. package/server/applications/sync/services/sync-paths-manager.service.spec.js.map +1 -1
  132. package/server/applications/users/constants/user.js +1 -1
  133. package/server/applications/users/constants/user.js.map +1 -1
  134. package/server/applications/users/services/admin-users-queries.service.js +8 -0
  135. package/server/applications/users/services/admin-users-queries.service.js.map +1 -1
  136. package/server/applications/users/services/users-manager.service.js +1 -2
  137. package/server/applications/users/services/users-manager.service.js.map +1 -1
  138. package/server/applications/users/services/users-queries.service.js +67 -68
  139. package/server/applications/users/services/users-queries.service.js.map +1 -1
  140. package/server/applications/users/users.gateway.js +6 -0
  141. package/server/applications/users/users.gateway.js.map +1 -1
  142. package/server/applications/users/users.module.js +2 -1
  143. package/server/applications/users/users.module.js.map +1 -1
  144. package/server/applications/webdav/guards/webdav-protocol.guard.js +4 -4
  145. package/server/applications/webdav/guards/webdav-protocol.guard.js.map +1 -1
  146. package/server/applications/webdav/guards/webdav-protocol.guard.spec.js +6 -6
  147. package/server/applications/webdav/guards/webdav-protocol.guard.spec.js.map +1 -1
  148. package/server/applications/webdav/services/webdav-methods.service.js +3 -2
  149. package/server/applications/webdav/services/webdav-methods.service.js.map +1 -1
  150. package/server/applications/webdav/services/webdav-methods.service.spec.js +2 -2
  151. package/server/applications/webdav/services/webdav-methods.service.spec.js.map +1 -1
  152. package/server/authentication/constants/auth-ldap.js +2 -0
  153. package/server/authentication/constants/auth-ldap.js.map +1 -1
  154. package/server/authentication/services/auth-methods/auth-method-ldap.service.js +34 -21
  155. package/server/authentication/services/auth-methods/auth-method-ldap.service.js.map +1 -1
  156. package/server/common/functions.js +0 -8
  157. package/server/common/functions.js.map +1 -1
  158. package/server/common/image.js +63 -58
  159. package/server/common/image.js.map +1 -1
  160. package/server/common/shared.js +18 -1
  161. package/server/common/shared.js.map +1 -1
  162. package/server/infrastructure/context/services/context-manager.service.js +3 -0
  163. package/server/infrastructure/context/services/context-manager.service.js.map +1 -1
  164. package/server/infrastructure/websocket/adapters/cluster.adapter.js +4 -4
  165. package/server/infrastructure/websocket/adapters/cluster.adapter.js.map +1 -1
  166. package/static/3rdpartylicenses.txt +1380 -57
  167. package/static/assets/favicon.svg +2 -25
  168. package/static/assets/logo-dark.svg +2 -32
  169. package/static/assets/logo.svg +2 -32
  170. package/static/assets/mimes/application-sql.svg +29 -1
  171. package/static/assets/mimes/application-x-sql.svg +29 -0
  172. package/static/assets/mimes/image-bmp.svg +12 -0
  173. package/static/assets/pdfjs/build/pdf.mjs +4869 -4454
  174. package/static/assets/pdfjs/build/pdf.mjs.map +1 -1
  175. package/static/assets/pdfjs/build/pdf.sandbox.mjs +3 -3
  176. package/static/assets/pdfjs/build/pdf.sandbox.mjs.map +1 -1
  177. package/static/assets/pdfjs/build/pdf.worker.mjs +885 -596
  178. package/static/assets/pdfjs/build/pdf.worker.mjs.map +1 -1
  179. package/static/assets/pdfjs/version +1 -1
  180. package/static/assets/pdfjs/web/locale/be/viewer.ftl +40 -0
  181. package/static/assets/pdfjs/web/locale/bg/viewer.ftl +2 -0
  182. package/static/assets/pdfjs/web/locale/cs/viewer.ftl +41 -0
  183. package/static/assets/pdfjs/web/locale/cy/viewer.ftl +43 -0
  184. package/static/assets/pdfjs/web/locale/da/viewer.ftl +39 -0
  185. package/static/assets/pdfjs/web/locale/de/viewer.ftl +41 -0
  186. package/static/assets/pdfjs/web/locale/dsb/viewer.ftl +43 -0
  187. package/static/assets/pdfjs/web/locale/el/viewer.ftl +39 -0
  188. package/static/assets/pdfjs/web/locale/en-CA/viewer.ftl +35 -0
  189. package/static/assets/pdfjs/web/locale/en-GB/viewer.ftl +41 -0
  190. package/static/assets/pdfjs/web/locale/en-US/viewer.ftl +2 -2
  191. package/static/assets/pdfjs/web/locale/eo/viewer.ftl +39 -0
  192. package/static/assets/pdfjs/web/locale/es-AR/viewer.ftl +41 -0
  193. package/static/assets/pdfjs/web/locale/es-CL/viewer.ftl +39 -0
  194. package/static/assets/pdfjs/web/locale/es-ES/viewer.ftl +72 -0
  195. package/static/assets/pdfjs/web/locale/es-MX/viewer.ftl +120 -0
  196. package/static/assets/pdfjs/web/locale/eu/viewer.ftl +41 -0
  197. package/static/assets/pdfjs/web/locale/fi/viewer.ftl +41 -0
  198. package/static/assets/pdfjs/web/locale/fr/viewer.ftl +41 -0
  199. package/static/assets/pdfjs/web/locale/fur/viewer.ftl +77 -0
  200. package/static/assets/pdfjs/web/locale/fy-NL/viewer.ftl +41 -0
  201. package/static/assets/pdfjs/web/locale/gn/viewer.ftl +39 -0
  202. package/static/assets/pdfjs/web/locale/he/viewer.ftl +41 -0
  203. package/static/assets/pdfjs/web/locale/hsb/viewer.ftl +43 -0
  204. package/static/assets/pdfjs/web/locale/hu/viewer.ftl +41 -0
  205. package/static/assets/pdfjs/web/locale/hy-AM/viewer.ftl +1 -1
  206. package/static/assets/pdfjs/web/locale/ia/viewer.ftl +41 -0
  207. package/static/assets/pdfjs/web/locale/it/viewer.ftl +41 -0
  208. package/static/assets/pdfjs/web/locale/ja/viewer.ftl +32 -0
  209. package/static/assets/pdfjs/web/locale/ka/viewer.ftl +41 -0
  210. package/static/assets/pdfjs/web/locale/kab/viewer.ftl +73 -0
  211. package/static/assets/pdfjs/web/locale/kk/viewer.ftl +21 -0
  212. package/static/assets/pdfjs/web/locale/ko/viewer.ftl +38 -1
  213. package/static/assets/pdfjs/web/locale/nb-NO/viewer.ftl +39 -0
  214. package/static/assets/pdfjs/web/locale/nl/viewer.ftl +41 -0
  215. package/static/assets/pdfjs/web/locale/nn-NO/viewer.ftl +37 -0
  216. package/static/assets/pdfjs/web/locale/pa-IN/viewer.ftl +37 -0
  217. package/static/assets/pdfjs/web/locale/pl/viewer.ftl +39 -0
  218. package/static/assets/pdfjs/web/locale/pt-BR/viewer.ftl +39 -0
  219. package/static/assets/pdfjs/web/locale/rm/viewer.ftl +73 -0
  220. package/static/assets/pdfjs/web/locale/ro/viewer.ftl +41 -0
  221. package/static/assets/pdfjs/web/locale/ru/viewer.ftl +42 -0
  222. package/static/assets/pdfjs/web/locale/sc/viewer.ftl +6 -0
  223. package/static/assets/pdfjs/web/locale/sk/viewer.ftl +43 -0
  224. package/static/assets/pdfjs/web/locale/sl/viewer.ftl +42 -1
  225. package/static/assets/pdfjs/web/locale/sq/viewer.ftl +77 -0
  226. package/static/assets/pdfjs/web/locale/sv-SE/viewer.ftl +41 -0
  227. package/static/assets/pdfjs/web/locale/tg/viewer.ftl +39 -0
  228. package/static/assets/pdfjs/web/locale/th/viewer.ftl +35 -0
  229. package/static/assets/pdfjs/web/locale/tr/viewer.ftl +39 -0
  230. package/static/assets/pdfjs/web/locale/vi/viewer.ftl +42 -5
  231. package/static/assets/pdfjs/web/locale/zh-CN/viewer.ftl +35 -0
  232. package/static/assets/pdfjs/web/locale/zh-TW/viewer.ftl +37 -0
  233. package/static/assets/pdfjs/web/viewer.css +141 -110
  234. package/static/assets/pdfjs/web/viewer.html +7 -7
  235. package/static/assets/pdfjs/web/viewer.mjs +97 -14
  236. package/static/assets/pdfjs/web/viewer.mjs.map +1 -1
  237. package/static/chunk-22DWHRCL.js +1 -0
  238. package/static/chunk-23UUFZSR.js +1 -0
  239. package/static/{chunk-VM4YX6Q7.js → chunk-24Q7OUU2.js} +1 -1
  240. package/static/chunk-25QTY2GI.js +1 -0
  241. package/static/chunk-2E7IJZLL.js +1 -0
  242. package/static/chunk-2FC5EKS5.js +1 -0
  243. package/static/chunk-2FOWUJQF.js +1 -0
  244. package/static/chunk-2XPHUNYN.js +1 -0
  245. package/static/chunk-32L7RG2G.js +1 -0
  246. package/static/chunk-3IISSX63.js +1 -0
  247. package/static/chunk-3OHSTP3R.js +1 -0
  248. package/static/chunk-42L6C5MT.js +1 -0
  249. package/static/chunk-4AGQL5GV.js +1 -0
  250. package/static/chunk-4BPSQMI2.js +1 -0
  251. package/static/chunk-4FDRWZWT.js +1 -0
  252. package/static/chunk-4FJUCMEG.js +1 -0
  253. package/static/chunk-4GCCF6PF.js +1 -0
  254. package/static/chunk-4ORP3SBY.js +1 -0
  255. package/static/chunk-4QBOHIC3.js +1 -0
  256. package/static/chunk-4YT6K5KY.js +1 -0
  257. package/static/chunk-556I6YIW.js +1 -0
  258. package/static/chunk-5DPIGJU4.js +1 -0
  259. package/static/chunk-5HNQLBSW.js +3 -0
  260. package/static/chunk-5IL7C45D.js +1 -0
  261. package/static/chunk-5KJXGMKR.js +1 -0
  262. package/static/chunk-5SPGSHKL.js +1 -0
  263. package/static/chunk-5WCQBTXW.js +1 -0
  264. package/static/chunk-5XUIPWOH.js +1 -0
  265. package/static/chunk-62WT7PI3.js +1 -0
  266. package/static/chunk-6F6OMQ5H.js +1 -0
  267. package/static/chunk-6I5BGQHT.js +1 -0
  268. package/static/chunk-6NOS45DG.js +1 -0
  269. package/static/chunk-6OKLPRCD.js +1 -0
  270. package/static/chunk-6VEJCG43.js +1 -0
  271. package/static/chunk-77SS36Z2.js +1 -0
  272. package/static/chunk-7AXEPO3G.js +1 -0
  273. package/static/chunk-7CFSJ4BO.js +1 -0
  274. package/static/chunk-7CKHC72R.js +1 -0
  275. package/static/chunk-7DUTYOJG.js +1 -0
  276. package/static/chunk-7HKFYRPF.js +1 -0
  277. package/static/chunk-7NZJZATZ.js +1 -0
  278. package/static/chunk-AADK5D2H.js +1 -0
  279. package/static/chunk-ACUF7IKP.js +1 -0
  280. package/static/chunk-AGREZPV4.js +1 -0
  281. package/static/chunk-ATBJWFA3.js +1 -0
  282. package/static/chunk-ATXLZN2B.js +1 -0
  283. package/static/chunk-AZ5TF5Y3.js +1 -0
  284. package/static/chunk-BBHYIURC.js +1 -0
  285. package/static/chunk-BHZEPHRI.js +13 -0
  286. package/static/chunk-BQZWSZNN.js +1 -0
  287. package/static/chunk-BSB4VROD.js +2 -0
  288. package/static/chunk-BYWSTP3P.js +1 -0
  289. package/static/chunk-C3AAEQKW.js +1 -0
  290. package/static/chunk-CCGGCHGN.js +1 -0
  291. package/static/chunk-CFTKW432.js +1 -0
  292. package/static/chunk-CNOVT6KU.js +1 -0
  293. package/static/chunk-D56H3XE2.js +1 -0
  294. package/static/chunk-DFOOSIIA.js +1 -0
  295. package/static/chunk-DHFQIFOF.js +1 -0
  296. package/static/{chunk-3GMLWAFZ.js → chunk-DIC2MVRI.js} +1 -1
  297. package/static/chunk-DJDRX53V.js +2 -0
  298. package/static/chunk-DKGXUMLT.js +1 -0
  299. package/static/chunk-DRHPEERW.js +2 -0
  300. package/static/chunk-DWYP6ZGG.js +1 -0
  301. package/static/chunk-EDJAISWO.js +13 -0
  302. package/static/chunk-EIYRBM4J.js +1 -0
  303. package/static/chunk-EKEGRXCV.js +7 -0
  304. package/static/chunk-EL6QL4TP.js +1 -0
  305. package/static/chunk-ERDZ7IVF.js +1 -0
  306. package/static/chunk-EVQKKVUZ.js +1 -0
  307. package/static/chunk-F2XG7EWI.js +1 -0
  308. package/static/chunk-F672FY5I.js +1 -0
  309. package/static/chunk-F6V37MKG.js +1 -0
  310. package/static/chunk-F7TXTNZC.js +1 -0
  311. package/static/chunk-FCGTI42I.js +1 -0
  312. package/static/chunk-FQHOSSCO.js +1 -0
  313. package/static/chunk-FTSIPHMG.js +1 -0
  314. package/static/chunk-GAGHHYLF.js +1 -0
  315. package/static/{chunk-JPT5WEAT.js → chunk-GOJYWL2M.js} +1 -1
  316. package/static/chunk-H6WOTGQ5.js +1 -0
  317. package/static/{chunk-CHJ64RJM.js → chunk-H6ZXFINQ.js} +1 -1
  318. package/static/chunk-HC7F57NA.js +1 -0
  319. package/static/chunk-HHWXIK2M.js +7 -0
  320. package/static/chunk-HKRGIRKB.js +3 -0
  321. package/static/chunk-HNMGPG72.js +1 -0
  322. package/static/chunk-HS4S6BV3.js +1 -0
  323. package/static/chunk-IJ7K7ATQ.js +1 -0
  324. package/static/chunk-IOIBQGHN.js +562 -0
  325. package/static/chunk-ITVA26X2.js +2 -0
  326. package/static/chunk-J6YSFHLZ.js +1 -0
  327. package/static/chunk-JAEJ6IMV.js +1 -0
  328. package/static/chunk-JB5R6V33.js +1 -0
  329. package/static/chunk-JF6WIV6M.js +1 -0
  330. package/static/chunk-JGB4LLUT.js +1 -0
  331. package/static/chunk-JGXVTKLG.js +1 -0
  332. package/static/chunk-JMYAD7E2.js +1 -0
  333. package/static/chunk-JSE63Q5X.js +1 -0
  334. package/static/chunk-JVV3ZL6L.js +1 -0
  335. package/static/chunk-JXZCNFW7.js +1 -0
  336. package/static/chunk-KAVP6UXH.js +1 -0
  337. package/static/{chunk-WLMNXRBS.js → chunk-KDEEERWZ.js} +1 -1
  338. package/static/chunk-KHRF67SG.js +1 -0
  339. package/static/chunk-KLOUBIO4.js +1 -0
  340. package/static/chunk-KMF3ZRAO.js +1 -0
  341. package/static/chunk-KNZ3AQPR.js +1 -0
  342. package/static/chunk-KT3TWCST.js +1 -0
  343. package/static/chunk-L6SYG23T.js +1 -0
  344. package/static/chunk-LJSVNPPQ.js +1 -0
  345. package/static/{chunk-LNTUR3GU.js → chunk-LRDKG274.js} +1 -1
  346. package/static/chunk-LRQSPCYZ.js +1 -0
  347. package/static/chunk-LUSVISM6.js +1 -0
  348. package/static/chunk-LXQGVNU2.js +1 -0
  349. package/static/{chunk-BIKLW4YS.js → chunk-LYZGJZNP.js} +1 -1
  350. package/static/chunk-LZKI5P5T.js +1 -0
  351. package/static/chunk-M4XL3JN5.js +6 -0
  352. package/static/{chunk-UNCPXHHT.js → chunk-MGWG7OD7.js} +1 -1
  353. package/static/chunk-MKUUWY6Y.js +1 -0
  354. package/static/{chunk-HAS5ZOTR.js → chunk-MNNCSSHN.js} +1 -1
  355. package/static/chunk-MR3U7TKQ.js +1 -0
  356. package/static/chunk-MRF3CNLZ.js +1 -0
  357. package/static/chunk-MRMSMTWD.js +1 -0
  358. package/static/chunk-MVZJSG5R.js +1 -0
  359. package/static/chunk-MYM43ENO.js +1 -0
  360. package/static/chunk-N3P6P6GW.js +7 -0
  361. package/static/chunk-NAH4V2R6.js +2 -0
  362. package/static/chunk-NBBDVVUF.js +1 -0
  363. package/static/chunk-NMF2ZFBE.js +1 -0
  364. package/static/chunk-NN4ONTOT.js +1 -0
  365. package/static/chunk-NOPACN4F.js +1 -0
  366. package/static/chunk-NYJPOP4L.js +1 -0
  367. package/static/chunk-OJCAIKUK.js +1 -0
  368. package/static/chunk-OQRWXCLY.js +1 -0
  369. package/static/chunk-PCFH5HCI.js +2 -0
  370. package/static/chunk-PG54TWBO.js +4 -0
  371. package/static/chunk-PJF5XUTO.js +1 -0
  372. package/static/{chunk-FJE6BOFL.js → chunk-PSUAQBYM.js} +1 -1
  373. package/static/chunk-PTLYIUFW.js +1 -0
  374. package/static/chunk-PZGLDZZM.js +1 -0
  375. package/static/chunk-Q4VNZGFI.js +1 -0
  376. package/static/chunk-Q556XB3S.js +1 -0
  377. package/static/{chunk-PB4AIT7O.js → chunk-Q7IXRPOO.js} +1 -1
  378. package/static/chunk-Q7U2VPIS.js +1 -0
  379. package/static/chunk-QM6CQMEX.js +1 -0
  380. package/static/chunk-QMHUIHSR.js +1 -0
  381. package/static/chunk-QNFNXDSX.js +1 -0
  382. package/static/chunk-QVFPHTOH.js +1 -0
  383. package/static/chunk-R4MI25E2.js +1 -0
  384. package/static/chunk-R7JRAR3P.js +1 -0
  385. package/static/chunk-R7PNKQU2.js +1 -0
  386. package/static/chunk-RCAORRB7.js +1 -0
  387. package/static/chunk-RK7XRDNB.js +1 -0
  388. package/static/chunk-RO7SAOLK.js +1 -0
  389. package/static/chunk-RQUUINHV.js +1 -0
  390. package/static/chunk-RT3K6DZR.js +1 -0
  391. package/static/chunk-RUN556VW.js +1 -0
  392. package/static/chunk-RX3YQ67K.js +1 -0
  393. package/static/chunk-S6EVLDHA.js +5 -0
  394. package/static/chunk-S7S5M3AZ.js +1 -0
  395. package/static/chunk-SBLNYV74.js +1 -0
  396. package/static/chunk-SIZCHHUA.js +1 -0
  397. package/static/chunk-SRBOO7AO.js +1 -0
  398. package/static/{chunk-PVDHBQRM.js → chunk-STA7NTYL.js} +1 -1
  399. package/static/chunk-T3YI3BSS.js +1 -0
  400. package/static/chunk-T74SMT7I.js +1 -0
  401. package/static/chunk-TAL3RTTQ.js +1 -0
  402. package/static/chunk-TJZKTNNS.js +1 -0
  403. package/static/chunk-UJTFWZEC.js +1 -0
  404. package/static/chunk-UPGVU5LG.js +1 -0
  405. package/static/chunk-UQ6O3I6W.js +1 -0
  406. package/static/{chunk-5NMSIIQB.js → chunk-V43RGNXA.js} +1 -1
  407. package/static/chunk-VWIRXLNE.js +1 -0
  408. package/static/chunk-VZMVGIVW.js +1 -0
  409. package/static/chunk-VZPCXSRG.js +2 -0
  410. package/static/chunk-WR3MA3L3.js +1 -0
  411. package/static/chunk-XCLK7NJL.js +1 -0
  412. package/static/{chunk-DSWEWLXJ.js → chunk-XCPDPB5G.js} +1 -1
  413. package/static/chunk-XEGHEUP5.js +1 -0
  414. package/static/chunk-XKEBQNQJ.js +1 -0
  415. package/static/chunk-XOF4UW3S.js +1 -0
  416. package/static/chunk-XOTKK2NJ.js +1 -0
  417. package/static/chunk-XX7JXKA6.js +1 -0
  418. package/static/chunk-Y2I36A4K.js +1 -0
  419. package/static/chunk-Y44XDRM5.js +1 -0
  420. package/static/{chunk-QO6BTONN.js → chunk-Y4MAPE2C.js} +1 -1
  421. package/static/chunk-Y5RLD72B.js +1 -0
  422. package/static/{chunk-DPUVSXRB.js → chunk-Y5XTRCFK.js} +1 -1
  423. package/static/chunk-Y63UUJGJ.js +1 -0
  424. package/static/chunk-YBNAC7QM.js +1 -0
  425. package/static/chunk-YCTCESL4.js +1 -0
  426. package/static/chunk-YMAN4LIU.js +1 -0
  427. package/static/chunk-YTDE6SXT.js +1 -0
  428. package/static/chunk-YZPIUJB3.js +1 -0
  429. package/static/chunk-ZCOWBVOT.js +1 -0
  430. package/static/chunk-ZHRYYMYE.js +1 -0
  431. package/static/chunk-ZNXTOQFG.js +1 -0
  432. package/static/{chunk-URHTCJ7G.js → chunk-ZQLBPLXI.js} +1 -1
  433. package/static/favicon.ico +0 -0
  434. package/static/index.html +2 -2
  435. package/static/main-3PLRDZTO.js +11 -0
  436. package/static/styles-Q4OZOSSK.css +1 -0
  437. package/server/applications/notifications/interfaces/user-mail-notification.js.map +0 -1
  438. package/static/assets/codemirror/mode/apl/apl.js +0 -174
  439. package/static/assets/codemirror/mode/asciiarmor/asciiarmor.js +0 -74
  440. package/static/assets/codemirror/mode/asn.1/asn.1.js +0 -204
  441. package/static/assets/codemirror/mode/asterisk/asterisk.js +0 -220
  442. package/static/assets/codemirror/mode/brainfuck/brainfuck.js +0 -85
  443. package/static/assets/codemirror/mode/clike/clike.js +0 -942
  444. package/static/assets/codemirror/mode/clojure/clojure.js +0 -293
  445. package/static/assets/codemirror/mode/cmake/cmake.js +0 -97
  446. package/static/assets/codemirror/mode/cobol/cobol.js +0 -255
  447. package/static/assets/codemirror/mode/coffeescript/coffeescript.js +0 -359
  448. package/static/assets/codemirror/mode/commonlisp/commonlisp.js +0 -125
  449. package/static/assets/codemirror/mode/crystal/crystal.js +0 -433
  450. package/static/assets/codemirror/mode/css/css.js +0 -862
  451. package/static/assets/codemirror/mode/cypher/cypher.js +0 -152
  452. package/static/assets/codemirror/mode/d/d.js +0 -223
  453. package/static/assets/codemirror/mode/dart/dart.js +0 -168
  454. package/static/assets/codemirror/mode/diff/diff.js +0 -47
  455. package/static/assets/codemirror/mode/django/django.js +0 -356
  456. package/static/assets/codemirror/mode/dockerfile/dockerfile.js +0 -211
  457. package/static/assets/codemirror/mode/dtd/dtd.js +0 -142
  458. package/static/assets/codemirror/mode/dylan/dylan.js +0 -352
  459. package/static/assets/codemirror/mode/ebnf/ebnf.js +0 -195
  460. package/static/assets/codemirror/mode/ecl/ecl.js +0 -206
  461. package/static/assets/codemirror/mode/eiffel/eiffel.js +0 -160
  462. package/static/assets/codemirror/mode/elm/elm.js +0 -245
  463. package/static/assets/codemirror/mode/erlang/erlang.js +0 -619
  464. package/static/assets/codemirror/mode/factor/factor.js +0 -85
  465. package/static/assets/codemirror/mode/fcl/fcl.js +0 -173
  466. package/static/assets/codemirror/mode/forth/forth.js +0 -180
  467. package/static/assets/codemirror/mode/fortran/fortran.js +0 -188
  468. package/static/assets/codemirror/mode/gas/gas.js +0 -355
  469. package/static/assets/codemirror/mode/gfm/gfm.js +0 -129
  470. package/static/assets/codemirror/mode/gherkin/gherkin.js +0 -194
  471. package/static/assets/codemirror/mode/go/go.js +0 -187
  472. package/static/assets/codemirror/mode/groovy/groovy.js +0 -245
  473. package/static/assets/codemirror/mode/haml/haml.js +0 -161
  474. package/static/assets/codemirror/mode/handlebars/handlebars.js +0 -70
  475. package/static/assets/codemirror/mode/haskell/haskell.js +0 -268
  476. package/static/assets/codemirror/mode/haskell-literate/haskell-literate.js +0 -43
  477. package/static/assets/codemirror/mode/haxe/haxe.js +0 -515
  478. package/static/assets/codemirror/mode/htmlembedded/htmlembedded.js +0 -37
  479. package/static/assets/codemirror/mode/htmlmixed/htmlmixed.js +0 -153
  480. package/static/assets/codemirror/mode/http/http.js +0 -113
  481. package/static/assets/codemirror/mode/idl/idl.js +0 -290
  482. package/static/assets/codemirror/mode/javascript/javascript.js +0 -960
  483. package/static/assets/codemirror/mode/jinja2/jinja2.js +0 -193
  484. package/static/assets/codemirror/mode/jsx/jsx.js +0 -149
  485. package/static/assets/codemirror/mode/julia/julia.js +0 -390
  486. package/static/assets/codemirror/mode/livescript/livescript.js +0 -280
  487. package/static/assets/codemirror/mode/lua/lua.js +0 -160
  488. package/static/assets/codemirror/mode/markdown/markdown.js +0 -886
  489. package/static/assets/codemirror/mode/mathematica/mathematica.js +0 -176
  490. package/static/assets/codemirror/mode/mbox/mbox.js +0 -129
  491. package/static/assets/codemirror/mode/meta.js +0 -221
  492. package/static/assets/codemirror/mode/mirc/mirc.js +0 -193
  493. package/static/assets/codemirror/mode/mllike/mllike.js +0 -359
  494. package/static/assets/codemirror/mode/modelica/modelica.js +0 -245
  495. package/static/assets/codemirror/mode/mscgen/mscgen.js +0 -175
  496. package/static/assets/codemirror/mode/mumps/mumps.js +0 -148
  497. package/static/assets/codemirror/mode/nginx/nginx.js +0 -178
  498. package/static/assets/codemirror/mode/nsis/nsis.js +0 -95
  499. package/static/assets/codemirror/mode/ntriples/ntriples.js +0 -195
  500. package/static/assets/codemirror/mode/octave/octave.js +0 -139
  501. package/static/assets/codemirror/mode/oz/oz.js +0 -252
  502. package/static/assets/codemirror/mode/pascal/pascal.js +0 -136
  503. package/static/assets/codemirror/mode/pegjs/pegjs.js +0 -111
  504. package/static/assets/codemirror/mode/perl/perl.js +0 -836
  505. package/static/assets/codemirror/mode/php/php.js +0 -234
  506. package/static/assets/codemirror/mode/pig/pig.js +0 -178
  507. package/static/assets/codemirror/mode/powershell/powershell.js +0 -398
  508. package/static/assets/codemirror/mode/properties/properties.js +0 -78
  509. package/static/assets/codemirror/mode/protobuf/protobuf.js +0 -72
  510. package/static/assets/codemirror/mode/pug/pug.js +0 -591
  511. package/static/assets/codemirror/mode/puppet/puppet.js +0 -220
  512. package/static/assets/codemirror/mode/python/python.js +0 -402
  513. package/static/assets/codemirror/mode/q/q.js +0 -139
  514. package/static/assets/codemirror/mode/r/r.js +0 -190
  515. package/static/assets/codemirror/mode/rpm/changes/index.html +0 -66
  516. package/static/assets/codemirror/mode/rpm/rpm.js +0 -109
  517. package/static/assets/codemirror/mode/rst/rst.js +0 -557
  518. package/static/assets/codemirror/mode/ruby/ruby.js +0 -303
  519. package/static/assets/codemirror/mode/rust/rust.js +0 -72
  520. package/static/assets/codemirror/mode/sas/sas.js +0 -303
  521. package/static/assets/codemirror/mode/sass/sass.js +0 -459
  522. package/static/assets/codemirror/mode/scheme/scheme.js +0 -284
  523. package/static/assets/codemirror/mode/shell/shell.js +0 -168
  524. package/static/assets/codemirror/mode/sieve/sieve.js +0 -193
  525. package/static/assets/codemirror/mode/slim/slim.js +0 -575
  526. package/static/assets/codemirror/mode/smalltalk/smalltalk.js +0 -168
  527. package/static/assets/codemirror/mode/smarty/smarty.js +0 -225
  528. package/static/assets/codemirror/mode/solr/solr.js +0 -104
  529. package/static/assets/codemirror/mode/soy/soy.js +0 -665
  530. package/static/assets/codemirror/mode/sparql/sparql.js +0 -184
  531. package/static/assets/codemirror/mode/spreadsheet/spreadsheet.js +0 -112
  532. package/static/assets/codemirror/mode/sql/sql.js +0 -529
  533. package/static/assets/codemirror/mode/stex/stex.js +0 -264
  534. package/static/assets/codemirror/mode/stylus/stylus.js +0 -775
  535. package/static/assets/codemirror/mode/swift/swift.js +0 -221
  536. package/static/assets/codemirror/mode/tcl/tcl.js +0 -140
  537. package/static/assets/codemirror/mode/textile/textile.js +0 -469
  538. package/static/assets/codemirror/mode/tiddlywiki/tiddlywiki.css +0 -14
  539. package/static/assets/codemirror/mode/tiddlywiki/tiddlywiki.js +0 -308
  540. package/static/assets/codemirror/mode/tiki/tiki.css +0 -26
  541. package/static/assets/codemirror/mode/tiki/tiki.js +0 -312
  542. package/static/assets/codemirror/mode/toml/toml.js +0 -88
  543. package/static/assets/codemirror/mode/tornado/tornado.js +0 -68
  544. package/static/assets/codemirror/mode/troff/troff.js +0 -84
  545. package/static/assets/codemirror/mode/ttcn/ttcn.js +0 -283
  546. package/static/assets/codemirror/mode/ttcn-cfg/ttcn-cfg.js +0 -214
  547. package/static/assets/codemirror/mode/turtle/turtle.js +0 -162
  548. package/static/assets/codemirror/mode/twig/twig.js +0 -141
  549. package/static/assets/codemirror/mode/vb/vb.js +0 -275
  550. package/static/assets/codemirror/mode/vbscript/vbscript.js +0 -350
  551. package/static/assets/codemirror/mode/velocity/velocity.js +0 -202
  552. package/static/assets/codemirror/mode/verilog/verilog.js +0 -781
  553. package/static/assets/codemirror/mode/vhdl/vhdl.js +0 -189
  554. package/static/assets/codemirror/mode/vue/vue.js +0 -77
  555. package/static/assets/codemirror/mode/wast/wast.js +0 -132
  556. package/static/assets/codemirror/mode/webidl/webidl.js +0 -195
  557. package/static/assets/codemirror/mode/xml/xml.js +0 -417
  558. package/static/assets/codemirror/mode/xquery/xquery.js +0 -448
  559. package/static/assets/codemirror/mode/yacas/yacas.js +0 -204
  560. package/static/assets/codemirror/mode/yaml/yaml.js +0 -120
  561. package/static/assets/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js +0 -72
  562. package/static/assets/codemirror/mode/z80/z80.js +0 -116
  563. package/static/chunk-2KLC4T2Z.js +0 -1
  564. package/static/chunk-373XVRXW.js +0 -1
  565. package/static/chunk-3XVM35O2.js +0 -1
  566. package/static/chunk-3YVRP3VM.js +0 -2
  567. package/static/chunk-AF24EYXU.js +0 -1
  568. package/static/chunk-AKQVEHO6.js +0 -2
  569. package/static/chunk-AY2SZ3G6.js +0 -1
  570. package/static/chunk-BCVX464U.js +0 -2
  571. package/static/chunk-C36MW4ME.js +0 -562
  572. package/static/chunk-DKSEQTMX.js +0 -1
  573. package/static/chunk-FZ3JPGYZ.js +0 -1
  574. package/static/chunk-GUGNR5TF.js +0 -3
  575. package/static/chunk-H6NE33VX.js +0 -1
  576. package/static/chunk-HNQRZALS.js +0 -1
  577. package/static/chunk-JSWCNGXJ.js +0 -1
  578. package/static/chunk-KFJIQIGR.js +0 -1
  579. package/static/chunk-LVM4QB22.js +0 -1
  580. package/static/chunk-M3XVNQZQ.js +0 -1
  581. package/static/chunk-MFLIJH6T.js +0 -1
  582. package/static/chunk-MSUHTBB2.js +0 -1
  583. package/static/chunk-N3U6637P.js +0 -1
  584. package/static/chunk-NNV4OXSB.js +0 -1
  585. package/static/chunk-NO2LTNW3.js +0 -1
  586. package/static/chunk-OOGP4WSH.js +0 -2
  587. package/static/chunk-PCWDQPOM.js +0 -2
  588. package/static/chunk-PGZZP5W3.js +0 -1
  589. package/static/chunk-Q5KM7LTX.js +0 -1
  590. package/static/chunk-QHC6ZPQ4.js +0 -1
  591. package/static/chunk-QZU2S5CV.js +0 -1
  592. package/static/chunk-SBZ572Q4.js +0 -2
  593. package/static/chunk-SHIVUDP3.js +0 -1
  594. package/static/chunk-SLHTEGRU.js +0 -1
  595. package/static/chunk-SSFF27P2.js +0 -24
  596. package/static/chunk-TPYBFZS5.js +0 -1
  597. package/static/chunk-UEQCWMXD.js +0 -1
  598. package/static/chunk-UG5DMXYO.js +0 -1
  599. package/static/chunk-UJPPR4MX.js +0 -1
  600. package/static/chunk-V3AT2BKP.js +0 -1
  601. package/static/chunk-VKK5BSLX.js +0 -1
  602. package/static/chunk-WJW7CT6G.js +0 -27
  603. package/static/chunk-X5XGK6T7.js +0 -4
  604. package/static/chunk-YEKR5OPO.js +0 -1
  605. package/static/chunk-YW57T2PF.js +0 -1
  606. package/static/chunk-Z5J5F5SX.js +0 -1
  607. package/static/chunk-ZPF2DSQV.js +0 -1
  608. package/static/chunk-ZTCRGJ6Y.js +0 -7
  609. package/static/main-VOL6OMJ5.js +0 -9
  610. package/static/scripts-WRDOQIU5.js +0 -24
  611. package/static/styles-2C2UNCNB.css +0 -1
@@ -1,781 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3
-
4
- (function(mod) {
5
- if (typeof exports == "object" && typeof module == "object") // CommonJS
6
- mod(require("../../lib/codemirror"));
7
- else if (typeof define == "function" && define.amd) // AMD
8
- define(["../../lib/codemirror"], mod);
9
- else // Plain browser env
10
- mod(CodeMirror);
11
- })(function(CodeMirror) {
12
- "use strict";
13
-
14
- CodeMirror.defineMode("verilog", function(config, parserConfig) {
15
-
16
- var indentUnit = config.indentUnit,
17
- statementIndentUnit = parserConfig.statementIndentUnit || indentUnit,
18
- dontAlignCalls = parserConfig.dontAlignCalls,
19
- // compilerDirectivesUseRegularIndentation - If set, Compiler directive
20
- // indentation follows the same rules as everything else. Otherwise if
21
- // false, compiler directives will track their own indentation.
22
- // For example, `ifdef nested inside another `ifndef will be indented,
23
- // but a `ifdef inside a function block may not be indented.
24
- compilerDirectivesUseRegularIndentation = parserConfig.compilerDirectivesUseRegularIndentation,
25
- noIndentKeywords = parserConfig.noIndentKeywords || [],
26
- multiLineStrings = parserConfig.multiLineStrings,
27
- hooks = parserConfig.hooks || {};
28
-
29
- function words(str) {
30
- var obj = {}, words = str.split(" ");
31
- for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
32
- return obj;
33
- }
34
-
35
- /**
36
- * Keywords from IEEE 1800-2012
37
- */
38
- var keywords = words(
39
- "accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind " +
40
- "bins binsof bit break buf bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config " +
41
- "const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable " +
42
- "dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup " +
43
- "endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask " +
44
- "enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin " +
45
- "function generate genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import " +
46
- "incdir include initial inout input inside instance int integer interconnect interface intersect join join_any " +
47
- "join_none large let liblist library local localparam logic longint macromodule matches medium modport module " +
48
- "nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 null or output package packed " +
49
- "parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup " +
50
- "pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg " +
51
- "reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime " +
52
- "s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify " +
53
- "specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on " +
54
- "table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior " +
55
- "trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void " +
56
- "wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor");
57
-
58
- /** Operators from IEEE 1800-2012
59
- unary_operator ::=
60
- + | - | ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~
61
- binary_operator ::=
62
- + | - | * | / | % | == | != | === | !== | ==? | !=? | && | || | **
63
- | < | <= | > | >= | & | | | ^ | ^~ | ~^ | >> | << | >>> | <<<
64
- | -> | <->
65
- inc_or_dec_operator ::= ++ | --
66
- unary_module_path_operator ::=
67
- ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~
68
- binary_module_path_operator ::=
69
- == | != | && | || | & | | | ^ | ^~ | ~^
70
- */
71
- var isOperatorChar = /[\+\-\*\/!~&|^%=?:<>]/;
72
- var isBracketChar = /[\[\]{}()]/;
73
-
74
- var unsignedNumber = /\d[0-9_]*/;
75
- var decimalLiteral = /\d*\s*'s?d\s*\d[0-9_]*/i;
76
- var binaryLiteral = /\d*\s*'s?b\s*[xz01][xz01_]*/i;
77
- var octLiteral = /\d*\s*'s?o\s*[xz0-7][xz0-7_]*/i;
78
- var hexLiteral = /\d*\s*'s?h\s*[0-9a-fxz?][0-9a-fxz?_]*/i;
79
- var realLiteral = /(\d[\d_]*(\.\d[\d_]*)?E-?[\d_]+)|(\d[\d_]*\.\d[\d_]*)/i;
80
-
81
- var closingBracketOrWord = /^((`?\w+)|[)}\]])/;
82
- var closingBracket = /[)}\]]/;
83
- var compilerDirectiveRegex = new RegExp(
84
- "^(`(?:ifdef|ifndef|elsif|else|endif|undef|undefineall|define|include|begin_keywords|celldefine|default|" +
85
- "nettype|end_keywords|endcelldefine|line|nounconnected_drive|pragma|resetall|timescale|unconnected_drive))\\b");
86
- var compilerDirectiveBeginRegex = /^(`(?:ifdef|ifndef|elsif|else))\b/;
87
- var compilerDirectiveEndRegex = /^(`(?:elsif|else|endif))\b/;
88
-
89
- var curPunc;
90
- var curKeyword;
91
-
92
- // Block openings which are closed by a matching keyword in the form of ("end" + keyword)
93
- // E.g. "task" => "endtask"
94
- var blockKeywords = words(
95
- "case checker class clocking config function generate interface module package " +
96
- "primitive program property specify sequence table task"
97
- );
98
-
99
- // Opening/closing pairs
100
- var openClose = {};
101
- for (var keyword in blockKeywords) {
102
- openClose[keyword] = "end" + keyword;
103
- }
104
- openClose["begin"] = "end";
105
- openClose["casex"] = "endcase";
106
- openClose["casez"] = "endcase";
107
- openClose["do" ] = "while";
108
- openClose["fork" ] = "join;join_any;join_none";
109
- openClose["covergroup"] = "endgroup";
110
- openClose["macro_begin"] = "macro_end";
111
-
112
- for (var i in noIndentKeywords) {
113
- var keyword = noIndentKeywords[i];
114
- if (openClose[keyword]) {
115
- openClose[keyword] = undefined;
116
- }
117
- }
118
-
119
- // Keywords which open statements that are ended with a semi-colon
120
- var statementKeywords = words("always always_comb always_ff always_latch assert assign assume else export for foreach forever if import initial repeat while extern typedef");
121
-
122
- function tokenBase(stream, state) {
123
- var ch = stream.peek(), style;
124
- if (hooks[ch] && (style = hooks[ch](stream, state)) != false) return style;
125
- if (hooks.tokenBase && (style = hooks.tokenBase(stream, state)) != false)
126
- return style;
127
-
128
- if (/[,;:\.]/.test(ch)) {
129
- curPunc = stream.next();
130
- return null;
131
- }
132
- if (isBracketChar.test(ch)) {
133
- curPunc = stream.next();
134
- return "bracket";
135
- }
136
- // Macros (tick-defines)
137
- if (ch == '`') {
138
- stream.next();
139
- if (stream.eatWhile(/[\w\$_]/)) {
140
- var cur = stream.current();
141
- curKeyword = cur;
142
- // Macros that end in _begin, are start of block and end with _end
143
- if (cur.startsWith("`uvm_") && cur.endsWith("_begin")) {
144
- var keywordClose = curKeyword.substr(0,curKeyword.length - 5) + "end";
145
- openClose[cur] = keywordClose;
146
- curPunc = "newblock";
147
- } else {
148
- stream.eatSpace();
149
- if (stream.peek() == '(') {
150
- // Check if this is a block
151
- curPunc = "newmacro";
152
- }
153
- var withSpace = stream.current();
154
- // Move the stream back before the spaces
155
- stream.backUp(withSpace.length - cur.length);
156
- }
157
- return "def";
158
- } else {
159
- return null;
160
- }
161
- }
162
- // System calls
163
- if (ch == '$') {
164
- stream.next();
165
- if (stream.eatWhile(/[\w\$_]/)) {
166
- return "meta";
167
- } else {
168
- return null;
169
- }
170
- }
171
- // Time literals
172
- if (ch == '#') {
173
- stream.next();
174
- stream.eatWhile(/[\d_.]/);
175
- return "def";
176
- }
177
- // Event
178
- if (ch == '@') {
179
- stream.next();
180
- stream.eatWhile(/[@]/);
181
- return "def";
182
- }
183
- // Strings
184
- if (ch == '"') {
185
- stream.next();
186
- state.tokenize = tokenString(ch);
187
- return state.tokenize(stream, state);
188
- }
189
- // Comments
190
- if (ch == "/") {
191
- stream.next();
192
- if (stream.eat("*")) {
193
- state.tokenize = tokenComment;
194
- return tokenComment(stream, state);
195
- }
196
- if (stream.eat("/")) {
197
- stream.skipToEnd();
198
- return "comment";
199
- }
200
- stream.backUp(1);
201
- }
202
-
203
- // Numeric literals
204
- if (stream.match(realLiteral) ||
205
- stream.match(decimalLiteral) ||
206
- stream.match(binaryLiteral) ||
207
- stream.match(octLiteral) ||
208
- stream.match(hexLiteral) ||
209
- stream.match(unsignedNumber) ||
210
- stream.match(realLiteral)) {
211
- return "number";
212
- }
213
-
214
- // Operators
215
- if (stream.eatWhile(isOperatorChar)) {
216
- curPunc = stream.current();
217
- return "meta";
218
- }
219
-
220
- // Keywords / plain variables
221
- if (stream.eatWhile(/[\w\$_]/)) {
222
- var cur = stream.current();
223
- if (keywords[cur]) {
224
- if (openClose[cur]) {
225
- curPunc = "newblock";
226
- if (cur === "fork") {
227
- // Fork can be a statement instead of block in cases of:
228
- // "disable fork;" and "wait fork;" (trailing semicolon)
229
- stream.eatSpace()
230
- if (stream.peek() == ';') {
231
- curPunc = "newstatement";
232
- }
233
- stream.backUp(stream.current().length - cur.length);
234
- }
235
- }
236
- if (statementKeywords[cur]) {
237
- curPunc = "newstatement";
238
- }
239
- curKeyword = cur;
240
- return "keyword";
241
- }
242
- return "variable";
243
- }
244
-
245
- stream.next();
246
- return null;
247
- }
248
-
249
- function tokenString(quote) {
250
- return function(stream, state) {
251
- var escaped = false, next, end = false;
252
- while ((next = stream.next()) != null) {
253
- if (next == quote && !escaped) {end = true; break;}
254
- escaped = !escaped && next == "\\";
255
- }
256
- if (end || !(escaped || multiLineStrings))
257
- state.tokenize = tokenBase;
258
- return "string";
259
- };
260
- }
261
-
262
- function tokenComment(stream, state) {
263
- var maybeEnd = false, ch;
264
- while (ch = stream.next()) {
265
- if (ch == "/" && maybeEnd) {
266
- state.tokenize = tokenBase;
267
- break;
268
- }
269
- maybeEnd = (ch == "*");
270
- }
271
- return "comment";
272
- }
273
-
274
- function Context(indented, column, type, scopekind, align, prev) {
275
- this.indented = indented;
276
- this.column = column;
277
- this.type = type;
278
- this.scopekind = scopekind;
279
- this.align = align;
280
- this.prev = prev;
281
- }
282
- function pushContext(state, col, type, scopekind) {
283
- var indent = state.indented;
284
- var c = new Context(indent, col, type, scopekind ? scopekind : "", null, state.context);
285
- return state.context = c;
286
- }
287
- function popContext(state) {
288
- var t = state.context.type;
289
- if (t == ")" || t == "]" || t == "}") {
290
- state.indented = state.context.indented;
291
- }
292
- return state.context = state.context.prev;
293
- }
294
-
295
- function isClosing(text, contextClosing) {
296
- if (text == contextClosing) {
297
- return true;
298
- } else {
299
- // contextClosing may be multiple keywords separated by ;
300
- var closingKeywords = contextClosing.split(";");
301
- for (var i in closingKeywords) {
302
- if (text == closingKeywords[i]) {
303
- return true;
304
- }
305
- }
306
- return false;
307
- }
308
- }
309
-
310
- function isInsideScopeKind(ctx, scopekind) {
311
- if (ctx == null) {
312
- return false;
313
- }
314
- if (ctx.scopekind === scopekind) {
315
- return true;
316
- }
317
- return isInsideScopeKind(ctx.prev, scopekind);
318
- }
319
-
320
- function buildElectricInputRegEx() {
321
- // Reindentation should occur on any bracket char: {}()[]
322
- // or on a match of any of the block closing keywords, at
323
- // the end of a line
324
- var allClosings = [];
325
- for (var i in openClose) {
326
- if (openClose[i]) {
327
- var closings = openClose[i].split(";");
328
- for (var j in closings) {
329
- allClosings.push(closings[j]);
330
- }
331
- }
332
- }
333
- var re = new RegExp("[{}()\\[\\]]|(" + allClosings.join("|") + ")$");
334
- return re;
335
- }
336
-
337
- // Interface
338
- return {
339
-
340
- // Regex to force current line to reindent
341
- electricInput: buildElectricInputRegEx(),
342
-
343
- startState: function(basecolumn) {
344
- var state = {
345
- tokenize: null,
346
- context: new Context((basecolumn || 0) - indentUnit, 0, "top", "top", false),
347
- indented: 0,
348
- compilerDirectiveIndented: 0,
349
- startOfLine: true
350
- };
351
- if (hooks.startState) hooks.startState(state);
352
- return state;
353
- },
354
-
355
- token: function(stream, state) {
356
- var ctx = state.context;
357
- if (stream.sol()) {
358
- if (ctx.align == null) ctx.align = false;
359
- state.indented = stream.indentation();
360
- state.startOfLine = true;
361
- }
362
- if (hooks.token) {
363
- // Call hook, with an optional return value of a style to override verilog styling.
364
- var style = hooks.token(stream, state);
365
- if (style !== undefined) {
366
- return style;
367
- }
368
- }
369
- if (stream.eatSpace()) return null;
370
- curPunc = null;
371
- curKeyword = null;
372
- var style = (state.tokenize || tokenBase)(stream, state);
373
- if (style == "comment" || style == "meta" || style == "variable") {
374
- if (((curPunc === "=") || (curPunc === "<=")) && !isInsideScopeKind(ctx, "assignment")) {
375
- // '<=' could be nonblocking assignment or lessthan-equals (which shouldn't cause indent)
376
- // Search through the context to see if we are already in an assignment.
377
- // '=' could be inside port declaration with comma or ')' afterward, or inside for(;;) block.
378
- pushContext(state, stream.column() + curPunc.length, "assignment", "assignment");
379
- if (ctx.align == null) ctx.align = true;
380
- }
381
- return style;
382
- }
383
- if (ctx.align == null) ctx.align = true;
384
-
385
- var isClosingAssignment = ctx.type == "assignment" &&
386
- closingBracket.test(curPunc) && ctx.prev && ctx.prev.type === curPunc;
387
- if (curPunc == ctx.type || isClosingAssignment) {
388
- if (isClosingAssignment) {
389
- ctx = popContext(state);
390
- }
391
- ctx = popContext(state);
392
- if (curPunc == ")") {
393
- // Handle closing macros, assuming they could have a semicolon or begin/end block inside.
394
- if (ctx && (ctx.type === "macro")) {
395
- ctx = popContext(state);
396
- while (ctx && (ctx.type == "statement" || ctx.type == "assignment")) ctx = popContext(state);
397
- }
398
- } else if (curPunc == "}") {
399
- // Handle closing statements like constraint block: "foreach () {}" which
400
- // do not have semicolon at end.
401
- if (ctx && (ctx.type === "statement")) {
402
- while (ctx && (ctx.type == "statement")) ctx = popContext(state);
403
- }
404
- }
405
- } else if (((curPunc == ";" || curPunc == ",") && (ctx.type == "statement" || ctx.type == "assignment")) ||
406
- (ctx.type && isClosing(curKeyword, ctx.type))) {
407
- ctx = popContext(state);
408
- while (ctx && (ctx.type == "statement" || ctx.type == "assignment")) ctx = popContext(state);
409
- } else if (curPunc == "{") {
410
- pushContext(state, stream.column(), "}");
411
- } else if (curPunc == "[") {
412
- pushContext(state, stream.column(), "]");
413
- } else if (curPunc == "(") {
414
- pushContext(state, stream.column(), ")");
415
- } else if (ctx && ctx.type == "endcase" && curPunc == ":") {
416
- pushContext(state, stream.column(), "statement", "case");
417
- } else if (curPunc == "newstatement") {
418
- pushContext(state, stream.column(), "statement", curKeyword);
419
- } else if (curPunc == "newblock") {
420
- if (curKeyword == "function" && ctx && (ctx.type == "statement" || ctx.type == "endgroup")) {
421
- // The 'function' keyword can appear in some other contexts where it actually does not
422
- // indicate a function (import/export DPI and covergroup definitions).
423
- // Do nothing in this case
424
- } else if (curKeyword == "task" && ctx && ctx.type == "statement") {
425
- // Same thing for task
426
- } else if (curKeyword == "class" && ctx && ctx.type == "statement") {
427
- // Same thing for class (e.g. typedef)
428
- } else {
429
- var close = openClose[curKeyword];
430
- pushContext(state, stream.column(), close, curKeyword);
431
- }
432
- } else if (curPunc == "newmacro" || (curKeyword && curKeyword.match(compilerDirectiveRegex))) {
433
- if (curPunc == "newmacro") {
434
- // Macros (especially if they have parenthesis) potentially have a semicolon
435
- // or complete statement/block inside, and should be treated as such.
436
- pushContext(state, stream.column(), "macro", "macro");
437
- }
438
- if (curKeyword.match(compilerDirectiveEndRegex)) {
439
- state.compilerDirectiveIndented -= statementIndentUnit;
440
- }
441
- if (curKeyword.match(compilerDirectiveBeginRegex)) {
442
- state.compilerDirectiveIndented += statementIndentUnit;
443
- }
444
- }
445
-
446
- state.startOfLine = false;
447
- return style;
448
- },
449
-
450
- indent: function(state, textAfter) {
451
- if (state.tokenize != tokenBase && state.tokenize != null) return CodeMirror.Pass;
452
- if (hooks.indent) {
453
- var fromHook = hooks.indent(state);
454
- if (fromHook >= 0) return fromHook;
455
- }
456
- var ctx = state.context, firstChar = textAfter && textAfter.charAt(0);
457
- if (ctx.type == "statement" && firstChar == "}") ctx = ctx.prev;
458
- var closing = false;
459
- var possibleClosing = textAfter.match(closingBracketOrWord);
460
- if (possibleClosing)
461
- closing = isClosing(possibleClosing[0], ctx.type);
462
- if (!compilerDirectivesUseRegularIndentation && textAfter.match(compilerDirectiveRegex)) {
463
- if (textAfter.match(compilerDirectiveEndRegex)) {
464
- return state.compilerDirectiveIndented - statementIndentUnit;
465
- }
466
- return state.compilerDirectiveIndented;
467
- }
468
- if (ctx.type == "statement") return ctx.indented + (firstChar == "{" ? 0 : statementIndentUnit);
469
- else if ((closingBracket.test(ctx.type) || ctx.type == "assignment")
470
- && ctx.align && !dontAlignCalls) return ctx.column + (closing ? 0 : 1);
471
- else if (ctx.type == ")" && !closing) return ctx.indented + statementIndentUnit;
472
- else return ctx.indented + (closing ? 0 : indentUnit);
473
- },
474
-
475
- blockCommentStart: "/*",
476
- blockCommentEnd: "*/",
477
- lineComment: "//",
478
- fold: "indent"
479
- };
480
- });
481
-
482
- CodeMirror.defineMIME("text/x-verilog", {
483
- name: "verilog"
484
- });
485
-
486
- CodeMirror.defineMIME("text/x-systemverilog", {
487
- name: "verilog"
488
- });
489
-
490
-
491
-
492
- // TL-Verilog mode.
493
- // See tl-x.org for language spec.
494
- // See the mode in action at makerchip.com.
495
- // Contact: steve.hoover@redwoodeda.com
496
-
497
- // TLV Identifier prefixes.
498
- // Note that sign is not treated separately, so "+/-" versions of numeric identifiers
499
- // are included.
500
- var tlvIdentifierStyle = {
501
- "|": "link",
502
- ">": "property", // Should condition this off for > TLV 1c.
503
- "$": "variable",
504
- "$$": "variable",
505
- "?$": "qualifier",
506
- "?*": "qualifier",
507
- "-": "hr",
508
- "/": "property",
509
- "/-": "property",
510
- "@": "variable-3",
511
- "@-": "variable-3",
512
- "@++": "variable-3",
513
- "@+=": "variable-3",
514
- "@+=-": "variable-3",
515
- "@--": "variable-3",
516
- "@-=": "variable-3",
517
- "%+": "tag",
518
- "%-": "tag",
519
- "%": "tag",
520
- ">>": "tag",
521
- "<<": "tag",
522
- "<>": "tag",
523
- "#": "tag", // Need to choose a style for this.
524
- "^": "attribute",
525
- "^^": "attribute",
526
- "^!": "attribute",
527
- "*": "variable-2",
528
- "**": "variable-2",
529
- "\\": "keyword",
530
- "\"": "comment"
531
- };
532
-
533
- // Lines starting with these characters define scope (result in indentation).
534
- var tlvScopePrefixChars = {
535
- "/": "beh-hier",
536
- ">": "beh-hier",
537
- "-": "phys-hier",
538
- "|": "pipe",
539
- "?": "when",
540
- "@": "stage",
541
- "\\": "keyword"
542
- };
543
- var tlvIndentUnit = 3;
544
- var tlvTrackStatements = false;
545
- var tlvIdentMatch = /^([~!@#\$%\^&\*-\+=\?\/\\\|'"<>]+)([\d\w_]*)/; // Matches an identifier.
546
- // Note that ':' is excluded, because of it's use in [:].
547
- var tlvFirstLevelIndentMatch = /^[! ] /;
548
- var tlvLineIndentationMatch = /^[! ] */;
549
- var tlvCommentMatch = /^\/[\/\*]/;
550
-
551
-
552
- // Returns a style specific to the scope at the given indentation column.
553
- // Type is one of: "indent", "scope-ident", "before-scope-ident".
554
- function tlvScopeStyle(state, indentation, type) {
555
- // Begin scope.
556
- var depth = indentation / tlvIndentUnit; // TODO: Pass this in instead.
557
- return "tlv-" + state.tlvIndentationStyle[depth] + "-" + type;
558
- }
559
-
560
- // Return true if the next thing in the stream is an identifier with a mnemonic.
561
- function tlvIdentNext(stream) {
562
- var match;
563
- return (match = stream.match(tlvIdentMatch, false)) && match[2].length > 0;
564
- }
565
-
566
- CodeMirror.defineMIME("text/x-tlv", {
567
- name: "verilog",
568
-
569
- hooks: {
570
-
571
- electricInput: false,
572
-
573
-
574
- // Return undefined for verilog tokenizing, or style for TLV token (null not used).
575
- // Standard CM styles are used for most formatting, but some TL-Verilog-specific highlighting
576
- // can be enabled with the definition of cm-tlv-* styles, including highlighting for:
577
- // - M4 tokens
578
- // - TLV scope indentation
579
- // - Statement delimitation (enabled by tlvTrackStatements)
580
- token: function(stream, state) {
581
- var style = undefined;
582
- var match; // Return value of pattern matches.
583
-
584
- // Set highlighting mode based on code region (TLV or SV).
585
- if (stream.sol() && ! state.tlvInBlockComment) {
586
- // Process region.
587
- if (stream.peek() == '\\') {
588
- style = "def";
589
- stream.skipToEnd();
590
- if (stream.string.match(/\\SV/)) {
591
- state.tlvCodeActive = false;
592
- } else if (stream.string.match(/\\TLV/)){
593
- state.tlvCodeActive = true;
594
- }
595
- }
596
- // Correct indentation in the face of a line prefix char.
597
- if (state.tlvCodeActive && stream.pos == 0 &&
598
- (state.indented == 0) && (match = stream.match(tlvLineIndentationMatch, false))) {
599
- state.indented = match[0].length;
600
- }
601
-
602
- // Compute indentation state:
603
- // o Auto indentation on next line
604
- // o Indentation scope styles
605
- var indented = state.indented;
606
- var depth = indented / tlvIndentUnit;
607
- if (depth <= state.tlvIndentationStyle.length) {
608
- // not deeper than current scope
609
-
610
- var blankline = stream.string.length == indented;
611
- var chPos = depth * tlvIndentUnit;
612
- if (chPos < stream.string.length) {
613
- var bodyString = stream.string.slice(chPos);
614
- var ch = bodyString[0];
615
- if (tlvScopePrefixChars[ch] && ((match = bodyString.match(tlvIdentMatch)) &&
616
- tlvIdentifierStyle[match[1]])) {
617
- // This line begins scope.
618
- // Next line gets indented one level.
619
- indented += tlvIndentUnit;
620
- // Style the next level of indentation (except non-region keyword identifiers,
621
- // which are statements themselves)
622
- if (!(ch == "\\" && chPos > 0)) {
623
- state.tlvIndentationStyle[depth] = tlvScopePrefixChars[ch];
624
- if (tlvTrackStatements) {state.statementComment = false;}
625
- depth++;
626
- }
627
- }
628
- }
629
- // Clear out deeper indentation levels unless line is blank.
630
- if (!blankline) {
631
- while (state.tlvIndentationStyle.length > depth) {
632
- state.tlvIndentationStyle.pop();
633
- }
634
- }
635
- }
636
- // Set next level of indentation.
637
- state.tlvNextIndent = indented;
638
- }
639
-
640
- if (state.tlvCodeActive) {
641
- // Highlight as TLV.
642
-
643
- var beginStatement = false;
644
- if (tlvTrackStatements) {
645
- // This starts a statement if the position is at the scope level
646
- // and we're not within a statement leading comment.
647
- beginStatement =
648
- (stream.peek() != " ") && // not a space
649
- (style === undefined) && // not a region identifier
650
- !state.tlvInBlockComment && // not in block comment
651
- //!stream.match(tlvCommentMatch, false) && // not comment start
652
- (stream.column() == state.tlvIndentationStyle.length * tlvIndentUnit); // at scope level
653
- if (beginStatement) {
654
- if (state.statementComment) {
655
- // statement already started by comment
656
- beginStatement = false;
657
- }
658
- state.statementComment =
659
- stream.match(tlvCommentMatch, false); // comment start
660
- }
661
- }
662
-
663
- var match;
664
- if (style !== undefined) {
665
- // Region line.
666
- style += " " + tlvScopeStyle(state, 0, "scope-ident")
667
- } else if (((stream.pos / tlvIndentUnit) < state.tlvIndentationStyle.length) &&
668
- (match = stream.match(stream.sol() ? tlvFirstLevelIndentMatch : /^ /))) {
669
- // Indentation
670
- style = // make this style distinct from the previous one to prevent
671
- // codemirror from combining spans
672
- "tlv-indent-" + (((stream.pos % 2) == 0) ? "even" : "odd") +
673
- // and style it
674
- " " + tlvScopeStyle(state, stream.pos - tlvIndentUnit, "indent");
675
- // Style the line prefix character.
676
- if (match[0].charAt(0) == "!") {
677
- style += " tlv-alert-line-prefix";
678
- }
679
- // Place a class before a scope identifier.
680
- if (tlvIdentNext(stream)) {
681
- style += " " + tlvScopeStyle(state, stream.pos, "before-scope-ident");
682
- }
683
- } else if (state.tlvInBlockComment) {
684
- // In a block comment.
685
- if (stream.match(/^.*?\*\//)) {
686
- // Exit block comment.
687
- state.tlvInBlockComment = false;
688
- if (tlvTrackStatements && !stream.eol()) {
689
- // Anything after comment is assumed to be real statement content.
690
- state.statementComment = false;
691
- }
692
- } else {
693
- stream.skipToEnd();
694
- }
695
- style = "comment";
696
- } else if ((match = stream.match(tlvCommentMatch)) && !state.tlvInBlockComment) {
697
- // Start comment.
698
- if (match[0] == "//") {
699
- // Line comment.
700
- stream.skipToEnd();
701
- } else {
702
- // Block comment.
703
- state.tlvInBlockComment = true;
704
- }
705
- style = "comment";
706
- } else if (match = stream.match(tlvIdentMatch)) {
707
- // looks like an identifier (or identifier prefix)
708
- var prefix = match[1];
709
- var mnemonic = match[2];
710
- if (// is identifier prefix
711
- tlvIdentifierStyle.hasOwnProperty(prefix) &&
712
- // has mnemonic or we're at the end of the line (maybe it hasn't been typed yet)
713
- (mnemonic.length > 0 || stream.eol())) {
714
- style = tlvIdentifierStyle[prefix];
715
- if (stream.column() == state.indented) {
716
- // Begin scope.
717
- style += " " + tlvScopeStyle(state, stream.column(), "scope-ident")
718
- }
719
- } else {
720
- // Just swallow one character and try again.
721
- // This enables subsequent identifier match with preceding symbol character, which
722
- // is legal within a statement. (E.g., !$reset). It also enables detection of
723
- // comment start with preceding symbols.
724
- stream.backUp(stream.current().length - 1);
725
- style = "tlv-default";
726
- }
727
- } else if (stream.match(/^\t+/)) {
728
- // Highlight tabs, which are illegal.
729
- style = "tlv-tab";
730
- } else if (stream.match(/^[\[\]{}\(\);\:]+/)) {
731
- // [:], (), {}, ;.
732
- style = "meta";
733
- } else if (match = stream.match(/^[mM]4([\+_])?[\w\d_]*/)) {
734
- // m4 pre proc
735
- style = (match[1] == "+") ? "tlv-m4-plus" : "tlv-m4";
736
- } else if (stream.match(/^ +/)){
737
- // Skip over spaces.
738
- if (stream.eol()) {
739
- // Trailing spaces.
740
- style = "error";
741
- } else {
742
- // Non-trailing spaces.
743
- style = "tlv-default";
744
- }
745
- } else if (stream.match(/^[\w\d_]+/)) {
746
- // alpha-numeric token.
747
- style = "number";
748
- } else {
749
- // Eat the next char w/ no formatting.
750
- stream.next();
751
- style = "tlv-default";
752
- }
753
- if (beginStatement) {
754
- style += " tlv-statement";
755
- }
756
- } else {
757
- if (stream.match(/^[mM]4([\w\d_]*)/)) {
758
- // m4 pre proc
759
- style = "tlv-m4";
760
- }
761
- }
762
- return style;
763
- },
764
-
765
- indent: function(state) {
766
- return (state.tlvCodeActive == true) ? state.tlvNextIndent : -1;
767
- },
768
-
769
- startState: function(state) {
770
- state.tlvIndentationStyle = []; // Styles to use for each level of indentation.
771
- state.tlvCodeActive = true; // True when we're in a TLV region (and at beginning of file).
772
- state.tlvNextIndent = -1; // The number of spaces to autoindent the next line if tlvCodeActive.
773
- state.tlvInBlockComment = false; // True inside /**/ comment.
774
- if (tlvTrackStatements) {
775
- state.statementComment = false; // True inside a statement's header comment.
776
- }
777
- }
778
-
779
- }
780
- });
781
- });