@sync-in/server 1.8.1 → 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 (603) hide show
  1. package/CHANGELOG.md +56 -11
  2. package/environment/environment.dist.yaml +29 -26
  3. package/package.json +15 -15
  4. package/server/app.constants.js +9 -0
  5. package/server/app.constants.js.map +1 -1
  6. package/server/app.module.js +4 -0
  7. package/server/app.module.js.map +1 -1
  8. package/server/applications/admin/admin.module.js +6 -1
  9. package/server/applications/admin/admin.module.js.map +1 -1
  10. package/server/applications/{notifications/interfaces/user-mail-notification.js → admin/interfaces/check-update.interfaces.js} +1 -1
  11. package/server/applications/admin/interfaces/check-update.interfaces.js.map +1 -0
  12. package/server/applications/admin/services/admin-scheduler.service.js +53 -0
  13. package/server/applications/admin/services/admin-scheduler.service.js.map +1 -0
  14. package/server/applications/admin/services/admin.service.js +102 -0
  15. package/server/applications/admin/services/admin.service.js.map +1 -0
  16. package/server/applications/admin/services/admin.service.spec.js +46 -0
  17. package/server/applications/admin/services/admin.service.spec.js.map +1 -0
  18. package/server/applications/admin/utils/check-update.js +28 -0
  19. package/server/applications/admin/utils/check-update.js.map +1 -0
  20. package/server/applications/comments/services/comments-manager.service.js +1 -1
  21. package/server/applications/comments/services/comments-manager.service.js.map +1 -1
  22. package/server/applications/comments/services/comments-manager.service.spec.js +1 -1
  23. package/server/applications/comments/services/comments-manager.service.spec.js.map +1 -1
  24. package/server/applications/comments/services/comments-queries.service.js.map +1 -1
  25. package/server/applications/files/constants/cache.js +10 -1
  26. package/server/applications/files/constants/cache.js.map +1 -1
  27. package/server/applications/files/constants/only-office.js +0 -25
  28. package/server/applications/files/constants/only-office.js.map +1 -1
  29. package/server/applications/files/constants/operations.js +20 -3
  30. package/server/applications/files/constants/operations.js.map +1 -1
  31. package/server/applications/files/dto/file-operations.dto.js +7 -0
  32. package/server/applications/files/dto/file-operations.dto.js.map +1 -1
  33. package/server/applications/files/files-only-office.controller.js +3 -2
  34. package/server/applications/files/files-only-office.controller.js.map +1 -1
  35. package/server/applications/files/files-only-office.controller.spec.js +6 -5
  36. package/server/applications/files/files-only-office.controller.spec.js.map +1 -1
  37. package/server/applications/files/files.controller.js +88 -8
  38. package/server/applications/files/files.controller.js.map +1 -1
  39. package/server/applications/files/files.controller.spec.js +11 -4
  40. package/server/applications/files/files.controller.spec.js.map +1 -1
  41. package/server/applications/files/guards/files-only-office.guard.js +6 -0
  42. package/server/applications/files/guards/files-only-office.guard.js.map +1 -1
  43. package/server/applications/files/interfaces/file-db-props.interface.js.map +1 -1
  44. package/server/applications/files/interfaces/file-props.interface.js.map +1 -1
  45. package/server/applications/files/interfaces/only-office-config.interface.js.map +1 -1
  46. package/server/applications/files/services/files-content-manager.service.js +3 -3
  47. package/server/applications/files/services/files-content-manager.service.js.map +1 -1
  48. package/server/applications/files/services/files-lock-manager.service.js +61 -22
  49. package/server/applications/files/services/files-lock-manager.service.js.map +1 -1
  50. package/server/applications/files/services/files-manager.service.js +122 -24
  51. package/server/applications/files/services/files-manager.service.js.map +1 -1
  52. package/server/applications/files/services/files-manager.service.spec.js +15 -0
  53. package/server/applications/files/services/files-manager.service.spec.js.map +1 -1
  54. package/server/applications/files/services/files-methods.service.js +38 -8
  55. package/server/applications/files/services/files-methods.service.js.map +1 -1
  56. package/server/applications/files/services/files-only-office-manager.service.js +12 -12
  57. package/server/applications/files/services/files-only-office-manager.service.js.map +1 -1
  58. package/server/applications/files/services/files-parser.service.js +1 -1
  59. package/server/applications/files/services/files-parser.service.js.map +1 -1
  60. package/server/applications/files/services/files-queries.service.js +10 -0
  61. package/server/applications/files/services/files-queries.service.js.map +1 -1
  62. package/server/applications/files/utils/files.js +1 -1
  63. package/server/applications/files/utils/files.js.map +1 -1
  64. package/server/applications/files/utils/send-file.js +3 -2
  65. package/server/applications/files/utils/send-file.js.map +1 -1
  66. package/server/applications/links/services/links-queries.service.js +1 -1
  67. package/server/applications/links/services/links-queries.service.js.map +1 -1
  68. package/server/applications/notifications/constants/notifications.js +5 -1
  69. package/server/applications/notifications/constants/notifications.js.map +1 -1
  70. package/server/applications/notifications/i18n/de.js +8 -2
  71. package/server/applications/notifications/i18n/de.js.map +1 -1
  72. package/server/applications/notifications/i18n/es.js +8 -2
  73. package/server/applications/notifications/i18n/es.js.map +1 -1
  74. package/server/applications/notifications/i18n/fr.js +8 -2
  75. package/server/applications/notifications/i18n/fr.js.map +1 -1
  76. package/server/applications/notifications/i18n/hi.js +8 -2
  77. package/server/applications/notifications/i18n/hi.js.map +1 -1
  78. package/server/applications/notifications/i18n/it.js +8 -2
  79. package/server/applications/notifications/i18n/it.js.map +1 -1
  80. package/server/applications/notifications/i18n/ja.js +8 -2
  81. package/server/applications/notifications/i18n/ja.js.map +1 -1
  82. package/server/applications/notifications/i18n/ko.js +8 -2
  83. package/server/applications/notifications/i18n/ko.js.map +1 -1
  84. package/server/applications/notifications/i18n/pl.js +8 -2
  85. package/server/applications/notifications/i18n/pl.js.map +1 -1
  86. package/server/applications/notifications/i18n/pt.js +8 -2
  87. package/server/applications/notifications/i18n/pt.js.map +1 -1
  88. package/server/applications/notifications/i18n/pt_br.js +8 -2
  89. package/server/applications/notifications/i18n/pt_br.js.map +1 -1
  90. package/server/applications/notifications/i18n/ru.js +8 -2
  91. package/server/applications/notifications/i18n/ru.js.map +1 -1
  92. package/server/applications/notifications/i18n/tr.js +8 -2
  93. package/server/applications/notifications/i18n/tr.js.map +1 -1
  94. package/server/applications/notifications/i18n/zh.js +8 -2
  95. package/server/applications/notifications/i18n/zh.js.map +1 -1
  96. package/server/applications/notifications/interfaces/notification-properties.interface.js.map +1 -1
  97. package/server/applications/notifications/interfaces/user-mail-notification.interface.js +10 -0
  98. package/server/applications/notifications/interfaces/user-mail-notification.interface.js.map +1 -0
  99. package/server/applications/notifications/mails/models.js +38 -3
  100. package/server/applications/notifications/mails/models.js.map +1 -1
  101. package/server/applications/notifications/mails/templates.js +1 -1
  102. package/server/applications/notifications/mails/templates.js.map +1 -1
  103. package/server/applications/notifications/services/notifications-manager.service.js +8 -1
  104. package/server/applications/notifications/services/notifications-manager.service.js.map +1 -1
  105. package/server/applications/notifications/services/notifications-queries.service.js.map +1 -1
  106. package/server/applications/shares/services/shares-manager.service.js +17 -10
  107. package/server/applications/shares/services/shares-manager.service.js.map +1 -1
  108. package/server/applications/shares/services/shares-manager.service.spec.js +10 -3
  109. package/server/applications/shares/services/shares-manager.service.spec.js.map +1 -1
  110. package/server/applications/shares/services/shares-queries.service.js +11 -1
  111. package/server/applications/shares/services/shares-queries.service.js.map +1 -1
  112. package/server/applications/spaces/guards/space.guard.spec.js +2 -2
  113. package/server/applications/spaces/guards/space.guard.spec.js.map +1 -1
  114. package/server/applications/spaces/services/spaces-browser.service.js +31 -11
  115. package/server/applications/spaces/services/spaces-browser.service.js.map +1 -1
  116. package/server/applications/spaces/services/spaces-manager.service.js +2 -2
  117. package/server/applications/spaces/services/spaces-manager.service.js.map +1 -1
  118. package/server/applications/spaces/services/spaces-queries.service.js +6 -2
  119. package/server/applications/spaces/services/spaces-queries.service.js.map +1 -1
  120. package/server/applications/spaces/utils/permissions.js +2 -2
  121. package/server/applications/spaces/utils/permissions.js.map +1 -1
  122. package/server/applications/sync/services/sync-manager.service.js +1 -0
  123. package/server/applications/sync/services/sync-manager.service.js.map +1 -1
  124. package/server/applications/sync/services/sync-paths-manager.service.js +1 -1
  125. package/server/applications/sync/services/sync-paths-manager.service.js.map +1 -1
  126. package/server/applications/sync/services/sync-paths-manager.service.spec.js +1 -1
  127. package/server/applications/sync/services/sync-paths-manager.service.spec.js.map +1 -1
  128. package/server/applications/users/constants/user.js +1 -1
  129. package/server/applications/users/constants/user.js.map +1 -1
  130. package/server/applications/users/services/admin-users-queries.service.js +8 -0
  131. package/server/applications/users/services/admin-users-queries.service.js.map +1 -1
  132. package/server/applications/users/services/users-queries.service.js +67 -68
  133. package/server/applications/users/services/users-queries.service.js.map +1 -1
  134. package/server/applications/users/users.module.js +2 -1
  135. package/server/applications/users/users.module.js.map +1 -1
  136. package/server/applications/webdav/guards/webdav-protocol.guard.js +4 -4
  137. package/server/applications/webdav/guards/webdav-protocol.guard.js.map +1 -1
  138. package/server/applications/webdav/guards/webdav-protocol.guard.spec.js +6 -6
  139. package/server/applications/webdav/guards/webdav-protocol.guard.spec.js.map +1 -1
  140. package/server/applications/webdav/services/webdav-methods.service.js +3 -2
  141. package/server/applications/webdav/services/webdav-methods.service.js.map +1 -1
  142. package/server/applications/webdav/services/webdav-methods.service.spec.js +2 -2
  143. package/server/applications/webdav/services/webdav-methods.service.spec.js.map +1 -1
  144. package/server/authentication/constants/auth-ldap.js +2 -0
  145. package/server/authentication/constants/auth-ldap.js.map +1 -1
  146. package/server/authentication/services/auth-methods/auth-method-ldap.service.js +34 -21
  147. package/server/authentication/services/auth-methods/auth-method-ldap.service.js.map +1 -1
  148. package/server/common/functions.js +0 -8
  149. package/server/common/functions.js.map +1 -1
  150. package/server/common/image.js +1 -0
  151. package/server/common/image.js.map +1 -1
  152. package/server/common/shared.js +18 -1
  153. package/server/common/shared.js.map +1 -1
  154. package/server/infrastructure/context/services/context-manager.service.js +3 -0
  155. package/server/infrastructure/context/services/context-manager.service.js.map +1 -1
  156. package/server/infrastructure/websocket/adapters/cluster.adapter.js +4 -4
  157. package/server/infrastructure/websocket/adapters/cluster.adapter.js.map +1 -1
  158. package/static/3rdpartylicenses.txt +1393 -44
  159. package/static/assets/favicon.svg +2 -25
  160. package/static/assets/logo-dark.svg +2 -32
  161. package/static/assets/logo.svg +2 -32
  162. package/static/assets/mimes/application-sql.svg +29 -1
  163. package/static/assets/mimes/application-x-sql.svg +29 -0
  164. package/static/assets/mimes/image-bmp.svg +12 -0
  165. package/static/assets/pdfjs/build/pdf.mjs +4869 -4454
  166. package/static/assets/pdfjs/build/pdf.mjs.map +1 -1
  167. package/static/assets/pdfjs/build/pdf.sandbox.mjs +3 -3
  168. package/static/assets/pdfjs/build/pdf.sandbox.mjs.map +1 -1
  169. package/static/assets/pdfjs/build/pdf.worker.mjs +885 -596
  170. package/static/assets/pdfjs/build/pdf.worker.mjs.map +1 -1
  171. package/static/assets/pdfjs/version +1 -1
  172. package/static/assets/pdfjs/web/locale/be/viewer.ftl +40 -0
  173. package/static/assets/pdfjs/web/locale/bg/viewer.ftl +2 -0
  174. package/static/assets/pdfjs/web/locale/cs/viewer.ftl +41 -0
  175. package/static/assets/pdfjs/web/locale/cy/viewer.ftl +43 -0
  176. package/static/assets/pdfjs/web/locale/da/viewer.ftl +39 -0
  177. package/static/assets/pdfjs/web/locale/de/viewer.ftl +41 -0
  178. package/static/assets/pdfjs/web/locale/dsb/viewer.ftl +43 -0
  179. package/static/assets/pdfjs/web/locale/el/viewer.ftl +39 -0
  180. package/static/assets/pdfjs/web/locale/en-CA/viewer.ftl +35 -0
  181. package/static/assets/pdfjs/web/locale/en-GB/viewer.ftl +41 -0
  182. package/static/assets/pdfjs/web/locale/en-US/viewer.ftl +2 -2
  183. package/static/assets/pdfjs/web/locale/eo/viewer.ftl +39 -0
  184. package/static/assets/pdfjs/web/locale/es-AR/viewer.ftl +41 -0
  185. package/static/assets/pdfjs/web/locale/es-CL/viewer.ftl +39 -0
  186. package/static/assets/pdfjs/web/locale/es-ES/viewer.ftl +72 -0
  187. package/static/assets/pdfjs/web/locale/es-MX/viewer.ftl +120 -0
  188. package/static/assets/pdfjs/web/locale/eu/viewer.ftl +41 -0
  189. package/static/assets/pdfjs/web/locale/fi/viewer.ftl +41 -0
  190. package/static/assets/pdfjs/web/locale/fr/viewer.ftl +41 -0
  191. package/static/assets/pdfjs/web/locale/fur/viewer.ftl +77 -0
  192. package/static/assets/pdfjs/web/locale/fy-NL/viewer.ftl +41 -0
  193. package/static/assets/pdfjs/web/locale/gn/viewer.ftl +39 -0
  194. package/static/assets/pdfjs/web/locale/he/viewer.ftl +41 -0
  195. package/static/assets/pdfjs/web/locale/hsb/viewer.ftl +43 -0
  196. package/static/assets/pdfjs/web/locale/hu/viewer.ftl +41 -0
  197. package/static/assets/pdfjs/web/locale/hy-AM/viewer.ftl +1 -1
  198. package/static/assets/pdfjs/web/locale/ia/viewer.ftl +41 -0
  199. package/static/assets/pdfjs/web/locale/it/viewer.ftl +41 -0
  200. package/static/assets/pdfjs/web/locale/ja/viewer.ftl +32 -0
  201. package/static/assets/pdfjs/web/locale/ka/viewer.ftl +41 -0
  202. package/static/assets/pdfjs/web/locale/kab/viewer.ftl +73 -0
  203. package/static/assets/pdfjs/web/locale/kk/viewer.ftl +21 -0
  204. package/static/assets/pdfjs/web/locale/ko/viewer.ftl +38 -1
  205. package/static/assets/pdfjs/web/locale/nb-NO/viewer.ftl +39 -0
  206. package/static/assets/pdfjs/web/locale/nl/viewer.ftl +41 -0
  207. package/static/assets/pdfjs/web/locale/nn-NO/viewer.ftl +37 -0
  208. package/static/assets/pdfjs/web/locale/pa-IN/viewer.ftl +37 -0
  209. package/static/assets/pdfjs/web/locale/pl/viewer.ftl +39 -0
  210. package/static/assets/pdfjs/web/locale/pt-BR/viewer.ftl +39 -0
  211. package/static/assets/pdfjs/web/locale/rm/viewer.ftl +73 -0
  212. package/static/assets/pdfjs/web/locale/ro/viewer.ftl +41 -0
  213. package/static/assets/pdfjs/web/locale/ru/viewer.ftl +42 -0
  214. package/static/assets/pdfjs/web/locale/sc/viewer.ftl +6 -0
  215. package/static/assets/pdfjs/web/locale/sk/viewer.ftl +43 -0
  216. package/static/assets/pdfjs/web/locale/sl/viewer.ftl +42 -1
  217. package/static/assets/pdfjs/web/locale/sq/viewer.ftl +77 -0
  218. package/static/assets/pdfjs/web/locale/sv-SE/viewer.ftl +41 -0
  219. package/static/assets/pdfjs/web/locale/tg/viewer.ftl +39 -0
  220. package/static/assets/pdfjs/web/locale/th/viewer.ftl +35 -0
  221. package/static/assets/pdfjs/web/locale/tr/viewer.ftl +39 -0
  222. package/static/assets/pdfjs/web/locale/vi/viewer.ftl +42 -5
  223. package/static/assets/pdfjs/web/locale/zh-CN/viewer.ftl +35 -0
  224. package/static/assets/pdfjs/web/locale/zh-TW/viewer.ftl +37 -0
  225. package/static/assets/pdfjs/web/viewer.css +141 -110
  226. package/static/assets/pdfjs/web/viewer.html +7 -7
  227. package/static/assets/pdfjs/web/viewer.mjs +97 -14
  228. package/static/assets/pdfjs/web/viewer.mjs.map +1 -1
  229. package/static/chunk-22DWHRCL.js +1 -0
  230. package/static/chunk-23UUFZSR.js +1 -0
  231. package/static/{chunk-MTVSJTIW.js → chunk-24Q7OUU2.js} +1 -1
  232. package/static/chunk-25QTY2GI.js +1 -0
  233. package/static/chunk-2E7IJZLL.js +1 -0
  234. package/static/chunk-2FC5EKS5.js +1 -0
  235. package/static/chunk-2FOWUJQF.js +1 -0
  236. package/static/chunk-2XPHUNYN.js +1 -0
  237. package/static/chunk-32L7RG2G.js +1 -0
  238. package/static/chunk-3IISSX63.js +1 -0
  239. package/static/chunk-3OHSTP3R.js +1 -0
  240. package/static/chunk-42L6C5MT.js +1 -0
  241. package/static/chunk-4AGQL5GV.js +1 -0
  242. package/static/chunk-4BPSQMI2.js +1 -0
  243. package/static/chunk-4FDRWZWT.js +1 -0
  244. package/static/chunk-4FJUCMEG.js +1 -0
  245. package/static/chunk-4GCCF6PF.js +1 -0
  246. package/static/chunk-4ORP3SBY.js +1 -0
  247. package/static/chunk-4QBOHIC3.js +1 -0
  248. package/static/chunk-4YT6K5KY.js +1 -0
  249. package/static/chunk-556I6YIW.js +1 -0
  250. package/static/chunk-5DPIGJU4.js +1 -0
  251. package/static/chunk-5HNQLBSW.js +3 -0
  252. package/static/chunk-5IL7C45D.js +1 -0
  253. package/static/chunk-5KJXGMKR.js +1 -0
  254. package/static/chunk-5SPGSHKL.js +1 -0
  255. package/static/chunk-5WCQBTXW.js +1 -0
  256. package/static/chunk-5XUIPWOH.js +1 -0
  257. package/static/chunk-62WT7PI3.js +1 -0
  258. package/static/chunk-6F6OMQ5H.js +1 -0
  259. package/static/chunk-6I5BGQHT.js +1 -0
  260. package/static/chunk-6NOS45DG.js +1 -0
  261. package/static/chunk-6OKLPRCD.js +1 -0
  262. package/static/chunk-6VEJCG43.js +1 -0
  263. package/static/chunk-77SS36Z2.js +1 -0
  264. package/static/chunk-7AXEPO3G.js +1 -0
  265. package/static/chunk-7CFSJ4BO.js +1 -0
  266. package/static/chunk-7CKHC72R.js +1 -0
  267. package/static/chunk-7DUTYOJG.js +1 -0
  268. package/static/chunk-7HKFYRPF.js +1 -0
  269. package/static/chunk-7NZJZATZ.js +1 -0
  270. package/static/chunk-AADK5D2H.js +1 -0
  271. package/static/chunk-ACUF7IKP.js +1 -0
  272. package/static/chunk-AGREZPV4.js +1 -0
  273. package/static/chunk-ATBJWFA3.js +1 -0
  274. package/static/chunk-ATXLZN2B.js +1 -0
  275. package/static/chunk-AZ5TF5Y3.js +1 -0
  276. package/static/chunk-BBHYIURC.js +1 -0
  277. package/static/chunk-BHZEPHRI.js +13 -0
  278. package/static/chunk-BQZWSZNN.js +1 -0
  279. package/static/chunk-BSB4VROD.js +2 -0
  280. package/static/chunk-BYWSTP3P.js +1 -0
  281. package/static/chunk-C3AAEQKW.js +1 -0
  282. package/static/chunk-CCGGCHGN.js +1 -0
  283. package/static/chunk-CFTKW432.js +1 -0
  284. package/static/chunk-CNOVT6KU.js +1 -0
  285. package/static/chunk-D56H3XE2.js +1 -0
  286. package/static/chunk-DFOOSIIA.js +1 -0
  287. package/static/chunk-DHFQIFOF.js +1 -0
  288. package/static/{chunk-3GMLWAFZ.js → chunk-DIC2MVRI.js} +1 -1
  289. package/static/chunk-DJDRX53V.js +2 -0
  290. package/static/chunk-DKGXUMLT.js +1 -0
  291. package/static/chunk-DRHPEERW.js +2 -0
  292. package/static/chunk-DWYP6ZGG.js +1 -0
  293. package/static/chunk-EDJAISWO.js +13 -0
  294. package/static/chunk-EIYRBM4J.js +1 -0
  295. package/static/chunk-EKEGRXCV.js +7 -0
  296. package/static/chunk-EL6QL4TP.js +1 -0
  297. package/static/chunk-ERDZ7IVF.js +1 -0
  298. package/static/chunk-EVQKKVUZ.js +1 -0
  299. package/static/chunk-F2XG7EWI.js +1 -0
  300. package/static/chunk-F672FY5I.js +1 -0
  301. package/static/chunk-F6V37MKG.js +1 -0
  302. package/static/chunk-F7TXTNZC.js +1 -0
  303. package/static/chunk-FCGTI42I.js +1 -0
  304. package/static/chunk-FQHOSSCO.js +1 -0
  305. package/static/chunk-FTSIPHMG.js +1 -0
  306. package/static/chunk-GAGHHYLF.js +1 -0
  307. package/static/{chunk-JPT5WEAT.js → chunk-GOJYWL2M.js} +1 -1
  308. package/static/chunk-H6WOTGQ5.js +1 -0
  309. package/static/{chunk-CHJ64RJM.js → chunk-H6ZXFINQ.js} +1 -1
  310. package/static/chunk-HC7F57NA.js +1 -0
  311. package/static/chunk-HHWXIK2M.js +7 -0
  312. package/static/chunk-HKRGIRKB.js +3 -0
  313. package/static/chunk-HNMGPG72.js +1 -0
  314. package/static/chunk-HS4S6BV3.js +1 -0
  315. package/static/chunk-IJ7K7ATQ.js +1 -0
  316. package/static/chunk-IOIBQGHN.js +562 -0
  317. package/static/chunk-ITVA26X2.js +2 -0
  318. package/static/chunk-J6YSFHLZ.js +1 -0
  319. package/static/chunk-JAEJ6IMV.js +1 -0
  320. package/static/chunk-JB5R6V33.js +1 -0
  321. package/static/chunk-JF6WIV6M.js +1 -0
  322. package/static/chunk-JGB4LLUT.js +1 -0
  323. package/static/chunk-JGXVTKLG.js +1 -0
  324. package/static/chunk-JMYAD7E2.js +1 -0
  325. package/static/chunk-JSE63Q5X.js +1 -0
  326. package/static/chunk-JVV3ZL6L.js +1 -0
  327. package/static/chunk-JXZCNFW7.js +1 -0
  328. package/static/chunk-KAVP6UXH.js +1 -0
  329. package/static/{chunk-3R74L4UU.js → chunk-KDEEERWZ.js} +1 -1
  330. package/static/chunk-KHRF67SG.js +1 -0
  331. package/static/chunk-KLOUBIO4.js +1 -0
  332. package/static/chunk-KMF3ZRAO.js +1 -0
  333. package/static/chunk-KNZ3AQPR.js +1 -0
  334. package/static/chunk-KT3TWCST.js +1 -0
  335. package/static/chunk-L6SYG23T.js +1 -0
  336. package/static/chunk-LJSVNPPQ.js +1 -0
  337. package/static/{chunk-LNTUR3GU.js → chunk-LRDKG274.js} +1 -1
  338. package/static/chunk-LRQSPCYZ.js +1 -0
  339. package/static/chunk-LUSVISM6.js +1 -0
  340. package/static/chunk-LXQGVNU2.js +1 -0
  341. package/static/{chunk-LVSNIS5P.js → chunk-LYZGJZNP.js} +1 -1
  342. package/static/chunk-LZKI5P5T.js +1 -0
  343. package/static/chunk-M4XL3JN5.js +6 -0
  344. package/static/{chunk-UNCPXHHT.js → chunk-MGWG7OD7.js} +1 -1
  345. package/static/chunk-MKUUWY6Y.js +1 -0
  346. package/static/{chunk-VJTXJ43D.js → chunk-MNNCSSHN.js} +1 -1
  347. package/static/chunk-MR3U7TKQ.js +1 -0
  348. package/static/chunk-MRF3CNLZ.js +1 -0
  349. package/static/chunk-MRMSMTWD.js +1 -0
  350. package/static/chunk-MVZJSG5R.js +1 -0
  351. package/static/chunk-MYM43ENO.js +1 -0
  352. package/static/chunk-N3P6P6GW.js +7 -0
  353. package/static/chunk-NAH4V2R6.js +2 -0
  354. package/static/chunk-NBBDVVUF.js +1 -0
  355. package/static/chunk-NMF2ZFBE.js +1 -0
  356. package/static/chunk-NN4ONTOT.js +1 -0
  357. package/static/chunk-NOPACN4F.js +1 -0
  358. package/static/chunk-NYJPOP4L.js +1 -0
  359. package/static/chunk-OJCAIKUK.js +1 -0
  360. package/static/chunk-OQRWXCLY.js +1 -0
  361. package/static/chunk-PCFH5HCI.js +2 -0
  362. package/static/chunk-PG54TWBO.js +4 -0
  363. package/static/chunk-PJF5XUTO.js +1 -0
  364. package/static/{chunk-FJE6BOFL.js → chunk-PSUAQBYM.js} +1 -1
  365. package/static/chunk-PTLYIUFW.js +1 -0
  366. package/static/chunk-PZGLDZZM.js +1 -0
  367. package/static/chunk-Q4VNZGFI.js +1 -0
  368. package/static/chunk-Q556XB3S.js +1 -0
  369. package/static/{chunk-PB4AIT7O.js → chunk-Q7IXRPOO.js} +1 -1
  370. package/static/chunk-Q7U2VPIS.js +1 -0
  371. package/static/chunk-QM6CQMEX.js +1 -0
  372. package/static/chunk-QMHUIHSR.js +1 -0
  373. package/static/chunk-QNFNXDSX.js +1 -0
  374. package/static/chunk-QVFPHTOH.js +1 -0
  375. package/static/chunk-R4MI25E2.js +1 -0
  376. package/static/chunk-R7JRAR3P.js +1 -0
  377. package/static/chunk-R7PNKQU2.js +1 -0
  378. package/static/chunk-RCAORRB7.js +1 -0
  379. package/static/chunk-RK7XRDNB.js +1 -0
  380. package/static/chunk-RO7SAOLK.js +1 -0
  381. package/static/chunk-RQUUINHV.js +1 -0
  382. package/static/chunk-RT3K6DZR.js +1 -0
  383. package/static/chunk-RUN556VW.js +1 -0
  384. package/static/chunk-RX3YQ67K.js +1 -0
  385. package/static/chunk-S6EVLDHA.js +5 -0
  386. package/static/chunk-S7S5M3AZ.js +1 -0
  387. package/static/chunk-SBLNYV74.js +1 -0
  388. package/static/chunk-SIZCHHUA.js +1 -0
  389. package/static/chunk-SRBOO7AO.js +1 -0
  390. package/static/{chunk-PVDHBQRM.js → chunk-STA7NTYL.js} +1 -1
  391. package/static/chunk-T3YI3BSS.js +1 -0
  392. package/static/chunk-T74SMT7I.js +1 -0
  393. package/static/chunk-TAL3RTTQ.js +1 -0
  394. package/static/chunk-TJZKTNNS.js +1 -0
  395. package/static/chunk-UJTFWZEC.js +1 -0
  396. package/static/chunk-UPGVU5LG.js +1 -0
  397. package/static/chunk-UQ6O3I6W.js +1 -0
  398. package/static/{chunk-5NMSIIQB.js → chunk-V43RGNXA.js} +1 -1
  399. package/static/chunk-VWIRXLNE.js +1 -0
  400. package/static/chunk-VZMVGIVW.js +1 -0
  401. package/static/chunk-VZPCXSRG.js +2 -0
  402. package/static/chunk-WR3MA3L3.js +1 -0
  403. package/static/chunk-XCLK7NJL.js +1 -0
  404. package/static/{chunk-DSWEWLXJ.js → chunk-XCPDPB5G.js} +1 -1
  405. package/static/chunk-XEGHEUP5.js +1 -0
  406. package/static/chunk-XKEBQNQJ.js +1 -0
  407. package/static/chunk-XOF4UW3S.js +1 -0
  408. package/static/chunk-XOTKK2NJ.js +1 -0
  409. package/static/chunk-XX7JXKA6.js +1 -0
  410. package/static/chunk-Y2I36A4K.js +1 -0
  411. package/static/chunk-Y44XDRM5.js +1 -0
  412. package/static/{chunk-QO6BTONN.js → chunk-Y4MAPE2C.js} +1 -1
  413. package/static/chunk-Y5RLD72B.js +1 -0
  414. package/static/{chunk-DPUVSXRB.js → chunk-Y5XTRCFK.js} +1 -1
  415. package/static/chunk-Y63UUJGJ.js +1 -0
  416. package/static/chunk-YBNAC7QM.js +1 -0
  417. package/static/chunk-YCTCESL4.js +1 -0
  418. package/static/chunk-YMAN4LIU.js +1 -0
  419. package/static/chunk-YTDE6SXT.js +1 -0
  420. package/static/chunk-YZPIUJB3.js +1 -0
  421. package/static/chunk-ZCOWBVOT.js +1 -0
  422. package/static/chunk-ZHRYYMYE.js +1 -0
  423. package/static/chunk-ZNXTOQFG.js +1 -0
  424. package/static/{chunk-URHTCJ7G.js → chunk-ZQLBPLXI.js} +1 -1
  425. package/static/favicon.ico +0 -0
  426. package/static/index.html +2 -2
  427. package/static/main-3PLRDZTO.js +11 -0
  428. package/static/styles-Q4OZOSSK.css +1 -0
  429. package/server/applications/notifications/interfaces/user-mail-notification.js.map +0 -1
  430. package/static/assets/codemirror/mode/apl/apl.js +0 -174
  431. package/static/assets/codemirror/mode/asciiarmor/asciiarmor.js +0 -74
  432. package/static/assets/codemirror/mode/asn.1/asn.1.js +0 -204
  433. package/static/assets/codemirror/mode/asterisk/asterisk.js +0 -220
  434. package/static/assets/codemirror/mode/brainfuck/brainfuck.js +0 -85
  435. package/static/assets/codemirror/mode/clike/clike.js +0 -942
  436. package/static/assets/codemirror/mode/clojure/clojure.js +0 -293
  437. package/static/assets/codemirror/mode/cmake/cmake.js +0 -97
  438. package/static/assets/codemirror/mode/cobol/cobol.js +0 -255
  439. package/static/assets/codemirror/mode/coffeescript/coffeescript.js +0 -359
  440. package/static/assets/codemirror/mode/commonlisp/commonlisp.js +0 -125
  441. package/static/assets/codemirror/mode/crystal/crystal.js +0 -433
  442. package/static/assets/codemirror/mode/css/css.js +0 -862
  443. package/static/assets/codemirror/mode/cypher/cypher.js +0 -152
  444. package/static/assets/codemirror/mode/d/d.js +0 -223
  445. package/static/assets/codemirror/mode/dart/dart.js +0 -168
  446. package/static/assets/codemirror/mode/diff/diff.js +0 -47
  447. package/static/assets/codemirror/mode/django/django.js +0 -356
  448. package/static/assets/codemirror/mode/dockerfile/dockerfile.js +0 -211
  449. package/static/assets/codemirror/mode/dtd/dtd.js +0 -142
  450. package/static/assets/codemirror/mode/dylan/dylan.js +0 -352
  451. package/static/assets/codemirror/mode/ebnf/ebnf.js +0 -195
  452. package/static/assets/codemirror/mode/ecl/ecl.js +0 -206
  453. package/static/assets/codemirror/mode/eiffel/eiffel.js +0 -160
  454. package/static/assets/codemirror/mode/elm/elm.js +0 -245
  455. package/static/assets/codemirror/mode/erlang/erlang.js +0 -619
  456. package/static/assets/codemirror/mode/factor/factor.js +0 -85
  457. package/static/assets/codemirror/mode/fcl/fcl.js +0 -173
  458. package/static/assets/codemirror/mode/forth/forth.js +0 -180
  459. package/static/assets/codemirror/mode/fortran/fortran.js +0 -188
  460. package/static/assets/codemirror/mode/gas/gas.js +0 -355
  461. package/static/assets/codemirror/mode/gfm/gfm.js +0 -129
  462. package/static/assets/codemirror/mode/gherkin/gherkin.js +0 -194
  463. package/static/assets/codemirror/mode/go/go.js +0 -187
  464. package/static/assets/codemirror/mode/groovy/groovy.js +0 -245
  465. package/static/assets/codemirror/mode/haml/haml.js +0 -161
  466. package/static/assets/codemirror/mode/handlebars/handlebars.js +0 -70
  467. package/static/assets/codemirror/mode/haskell/haskell.js +0 -268
  468. package/static/assets/codemirror/mode/haskell-literate/haskell-literate.js +0 -43
  469. package/static/assets/codemirror/mode/haxe/haxe.js +0 -515
  470. package/static/assets/codemirror/mode/htmlembedded/htmlembedded.js +0 -37
  471. package/static/assets/codemirror/mode/htmlmixed/htmlmixed.js +0 -153
  472. package/static/assets/codemirror/mode/http/http.js +0 -113
  473. package/static/assets/codemirror/mode/idl/idl.js +0 -290
  474. package/static/assets/codemirror/mode/javascript/javascript.js +0 -960
  475. package/static/assets/codemirror/mode/jinja2/jinja2.js +0 -193
  476. package/static/assets/codemirror/mode/jsx/jsx.js +0 -149
  477. package/static/assets/codemirror/mode/julia/julia.js +0 -390
  478. package/static/assets/codemirror/mode/livescript/livescript.js +0 -280
  479. package/static/assets/codemirror/mode/lua/lua.js +0 -160
  480. package/static/assets/codemirror/mode/markdown/markdown.js +0 -886
  481. package/static/assets/codemirror/mode/mathematica/mathematica.js +0 -176
  482. package/static/assets/codemirror/mode/mbox/mbox.js +0 -129
  483. package/static/assets/codemirror/mode/meta.js +0 -221
  484. package/static/assets/codemirror/mode/mirc/mirc.js +0 -193
  485. package/static/assets/codemirror/mode/mllike/mllike.js +0 -359
  486. package/static/assets/codemirror/mode/modelica/modelica.js +0 -245
  487. package/static/assets/codemirror/mode/mscgen/mscgen.js +0 -175
  488. package/static/assets/codemirror/mode/mumps/mumps.js +0 -148
  489. package/static/assets/codemirror/mode/nginx/nginx.js +0 -178
  490. package/static/assets/codemirror/mode/nsis/nsis.js +0 -95
  491. package/static/assets/codemirror/mode/ntriples/ntriples.js +0 -195
  492. package/static/assets/codemirror/mode/octave/octave.js +0 -139
  493. package/static/assets/codemirror/mode/oz/oz.js +0 -252
  494. package/static/assets/codemirror/mode/pascal/pascal.js +0 -136
  495. package/static/assets/codemirror/mode/pegjs/pegjs.js +0 -111
  496. package/static/assets/codemirror/mode/perl/perl.js +0 -836
  497. package/static/assets/codemirror/mode/php/php.js +0 -234
  498. package/static/assets/codemirror/mode/pig/pig.js +0 -178
  499. package/static/assets/codemirror/mode/powershell/powershell.js +0 -398
  500. package/static/assets/codemirror/mode/properties/properties.js +0 -78
  501. package/static/assets/codemirror/mode/protobuf/protobuf.js +0 -72
  502. package/static/assets/codemirror/mode/pug/pug.js +0 -591
  503. package/static/assets/codemirror/mode/puppet/puppet.js +0 -220
  504. package/static/assets/codemirror/mode/python/python.js +0 -402
  505. package/static/assets/codemirror/mode/q/q.js +0 -139
  506. package/static/assets/codemirror/mode/r/r.js +0 -190
  507. package/static/assets/codemirror/mode/rpm/changes/index.html +0 -66
  508. package/static/assets/codemirror/mode/rpm/rpm.js +0 -109
  509. package/static/assets/codemirror/mode/rst/rst.js +0 -557
  510. package/static/assets/codemirror/mode/ruby/ruby.js +0 -303
  511. package/static/assets/codemirror/mode/rust/rust.js +0 -72
  512. package/static/assets/codemirror/mode/sas/sas.js +0 -303
  513. package/static/assets/codemirror/mode/sass/sass.js +0 -459
  514. package/static/assets/codemirror/mode/scheme/scheme.js +0 -284
  515. package/static/assets/codemirror/mode/shell/shell.js +0 -168
  516. package/static/assets/codemirror/mode/sieve/sieve.js +0 -193
  517. package/static/assets/codemirror/mode/slim/slim.js +0 -575
  518. package/static/assets/codemirror/mode/smalltalk/smalltalk.js +0 -168
  519. package/static/assets/codemirror/mode/smarty/smarty.js +0 -225
  520. package/static/assets/codemirror/mode/solr/solr.js +0 -104
  521. package/static/assets/codemirror/mode/soy/soy.js +0 -665
  522. package/static/assets/codemirror/mode/sparql/sparql.js +0 -184
  523. package/static/assets/codemirror/mode/spreadsheet/spreadsheet.js +0 -112
  524. package/static/assets/codemirror/mode/sql/sql.js +0 -529
  525. package/static/assets/codemirror/mode/stex/stex.js +0 -264
  526. package/static/assets/codemirror/mode/stylus/stylus.js +0 -775
  527. package/static/assets/codemirror/mode/swift/swift.js +0 -221
  528. package/static/assets/codemirror/mode/tcl/tcl.js +0 -140
  529. package/static/assets/codemirror/mode/textile/textile.js +0 -469
  530. package/static/assets/codemirror/mode/tiddlywiki/tiddlywiki.css +0 -14
  531. package/static/assets/codemirror/mode/tiddlywiki/tiddlywiki.js +0 -308
  532. package/static/assets/codemirror/mode/tiki/tiki.css +0 -26
  533. package/static/assets/codemirror/mode/tiki/tiki.js +0 -312
  534. package/static/assets/codemirror/mode/toml/toml.js +0 -88
  535. package/static/assets/codemirror/mode/tornado/tornado.js +0 -68
  536. package/static/assets/codemirror/mode/troff/troff.js +0 -84
  537. package/static/assets/codemirror/mode/ttcn/ttcn.js +0 -283
  538. package/static/assets/codemirror/mode/ttcn-cfg/ttcn-cfg.js +0 -214
  539. package/static/assets/codemirror/mode/turtle/turtle.js +0 -162
  540. package/static/assets/codemirror/mode/twig/twig.js +0 -141
  541. package/static/assets/codemirror/mode/vb/vb.js +0 -275
  542. package/static/assets/codemirror/mode/vbscript/vbscript.js +0 -350
  543. package/static/assets/codemirror/mode/velocity/velocity.js +0 -202
  544. package/static/assets/codemirror/mode/verilog/verilog.js +0 -781
  545. package/static/assets/codemirror/mode/vhdl/vhdl.js +0 -189
  546. package/static/assets/codemirror/mode/vue/vue.js +0 -77
  547. package/static/assets/codemirror/mode/wast/wast.js +0 -132
  548. package/static/assets/codemirror/mode/webidl/webidl.js +0 -195
  549. package/static/assets/codemirror/mode/xml/xml.js +0 -417
  550. package/static/assets/codemirror/mode/xquery/xquery.js +0 -448
  551. package/static/assets/codemirror/mode/yacas/yacas.js +0 -204
  552. package/static/assets/codemirror/mode/yaml/yaml.js +0 -120
  553. package/static/assets/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js +0 -72
  554. package/static/assets/codemirror/mode/z80/z80.js +0 -116
  555. package/static/chunk-2KLC4T2Z.js +0 -1
  556. package/static/chunk-2VMSXRCB.js +0 -12
  557. package/static/chunk-3OHSRRKH.js +0 -4
  558. package/static/chunk-3R4WKOHQ.js +0 -1
  559. package/static/chunk-3XVM35O2.js +0 -1
  560. package/static/chunk-3YVRP3VM.js +0 -2
  561. package/static/chunk-5UKZLU5H.js +0 -1
  562. package/static/chunk-AF24EYXU.js +0 -1
  563. package/static/chunk-AKQVEHO6.js +0 -2
  564. package/static/chunk-BCVX464U.js +0 -2
  565. package/static/chunk-BQV4FRM6.js +0 -1
  566. package/static/chunk-CETH7UYS.js +0 -1
  567. package/static/chunk-DIT6W7VM.js +0 -562
  568. package/static/chunk-DKSEQTMX.js +0 -1
  569. package/static/chunk-FZ3JPGYZ.js +0 -1
  570. package/static/chunk-IQSKQXC3.js +0 -1
  571. package/static/chunk-ITUFI2BJ.js +0 -1
  572. package/static/chunk-LCTZJ537.js +0 -1
  573. package/static/chunk-LK2UCQJ6.js +0 -1
  574. package/static/chunk-LP5TBXEN.js +0 -7
  575. package/static/chunk-N3U6637P.js +0 -1
  576. package/static/chunk-NNV4OXSB.js +0 -1
  577. package/static/chunk-O6FYXVHI.js +0 -1
  578. package/static/chunk-OOGP4WSH.js +0 -2
  579. package/static/chunk-PCWDQPOM.js +0 -2
  580. package/static/chunk-PNR6M34W.js +0 -1
  581. package/static/chunk-Q5KM7LTX.js +0 -1
  582. package/static/chunk-QHC6ZPQ4.js +0 -1
  583. package/static/chunk-QMRBZHE4.js +0 -1
  584. package/static/chunk-QSJRY3TF.js +0 -1
  585. package/static/chunk-QUUIRSYT.js +0 -1
  586. package/static/chunk-RFH46UW3.js +0 -1
  587. package/static/chunk-RSXHRKM5.js +0 -1
  588. package/static/chunk-RV3VZJPZ.js +0 -1
  589. package/static/chunk-S7HNXVRB.js +0 -1
  590. package/static/chunk-SBZ572Q4.js +0 -2
  591. package/static/chunk-SJR5R3Y4.js +0 -1
  592. package/static/chunk-SLHTEGRU.js +0 -1
  593. package/static/chunk-SSFF27P2.js +0 -24
  594. package/static/chunk-V3LHHZYN.js +0 -1
  595. package/static/chunk-VQQKMY2C.js +0 -1
  596. package/static/chunk-WSSU2HXE.js +0 -1
  597. package/static/chunk-XDZGW64M.js +0 -3
  598. package/static/chunk-XTRDKGKG.js +0 -1
  599. package/static/chunk-YLWTEC3X.js +0 -1
  600. package/static/chunk-Z5J5F5SX.js +0 -1
  601. package/static/main-4H5BJY3J.js +0 -9
  602. package/static/scripts-WRDOQIU5.js +0 -24
  603. 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
- });