@sync-in/server 1.8.1 → 1.9.1

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