Browse Source

Merge branch 'dev' into issue-15787

pull/15971/head
Gizem Mutu Kurt 3 years ago
parent
commit
6d822932d3
  1. 5
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ar.json
  2. 4
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
  3. 4
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hans.json
  4. 2
      docs/en/Localization.md
  5. 77
      framework/Volo.Abp.sln
  6. 2
      framework/src/Volo.Abp.BlobStoring.Azure/Volo.Abp.BlobStoring.Azure.csproj
  7. 3
      framework/src/Volo.Abp.Ldap.Abstractions/FodyWeavers.xml
  8. 30
      framework/src/Volo.Abp.Ldap.Abstractions/FodyWeavers.xsd
  9. 27
      framework/src/Volo.Abp.Ldap.Abstractions/Volo.Abp.Ldap.Abstractions.csproj
  10. 28
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/AbpLdapAbstractionsModule.cs
  11. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/ILdapManager.cs
  12. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/ILdapSettingProvider.cs
  13. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/LdapSettingNames.cs
  14. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/LdapResource.cs
  15. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/ar.json
  16. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/cs.json
  17. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/de-DE.json
  18. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/el.json
  19. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/en-GB.json
  20. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/en.json
  21. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/es.json
  22. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/fa.json
  23. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/fi.json
  24. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/fr.json
  25. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/hi.json
  26. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/hu.json
  27. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/is.json
  28. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/it.json
  29. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/nl.json
  30. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/pl-PL.json
  31. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/pt-BR.json
  32. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/ro-RO.json
  33. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/ru.json
  34. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/sk.json
  35. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/sl.json
  36. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/tr.json
  37. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/vi.json
  38. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/zh-Hans.json
  39. 0
      framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/zh-Hant.json
  40. 9
      framework/src/Volo.Abp.Ldap/Volo.Abp.Ldap.csproj
  41. 29
      framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/AbpLdapModule.cs
  42. 7
      framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Json/JsonLocalizationDictionaryBuilder.cs
  43. 9
      framework/src/Volo.Abp.Localization/Volo/Abp/Localization/VirtualFiles/VirtualFileLocalizationResourceContributorBase.cs
  44. 30
      framework/test/Volo.Abp.Ldap.Tests/Volo/Abp/Ldap/LdapResource_Tests.cs
  45. 4
      latest-versions.json
  46. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json
  47. 4734
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.css
  48. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.css.map
  49. 8
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.min.css
  50. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.min.css.map
  51. 4738
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.rtl.css
  52. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.rtl.css.map
  53. 8
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.rtl.min.css
  54. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.rtl.min.css.map
  55. 4259
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/js/bootstrap.bundle.js
  56. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/js/bootstrap.bundle.js.map
  57. 6
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/js/bootstrap.bundle.min.js
  58. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/js/bootstrap.bundle.min.js.map
  59. 314
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/datatables.net-bs5/css/dataTables.bootstrap5.css
  60. 84
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/datatables.net-bs5/js/dataTables.bootstrap5.js
  61. 11254
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/datatables.net/js/jquery.dataTables.js
  62. 300
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/README.md
  63. 26
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/deprecated.js
  64. 45
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/docs/api.rst
  65. 324
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/docs/css-classes-reference.rst
  66. 20
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/docs/language-guide.rst
  67. 15
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/docs/maintainers-guide.rst
  68. 5
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/docs/reference.rst
  69. 642
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/highlight.js
  70. 7
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/abnf.js
  71. 39
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/accesslog.js
  72. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/angelscript.js
  73. 19
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/arcade.js
  74. 29
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/arduino.js
  75. 31
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/autohotkey.js
  76. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/avrasm.js
  77. 6
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/bash.js
  78. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/basic.js
  79. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/brainfuck.js
  80. 4
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/clean.js
  81. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/clojure-repl.js
  82. 4
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/coffeescript.js
  83. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/coq.js
  84. 183
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/cpp.js
  85. 68
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/crystal.js
  86. 6
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/cs.js
  87. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/csp.js
  88. 105
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/css.js
  89. 93
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/dart.js
  90. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/diff.js
  91. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/dockerfile.js
  92. 15
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/ebnf.js
  93. 68
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/elixir.js
  94. 4
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/excel.js
  95. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/fortran.js
  96. 215
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/gauss.js
  97. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/gml.js
  98. 6
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/go.js
  99. 75
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/handlebars.js
  100. 103
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/ini.js

5
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ar.json

@ -779,6 +779,9 @@
"UpgradePaymentInfoSection_LicenseRenewalPrice": "تجديد الرخصة",
"Total": "المجموع",
"SupportPolicyFaqTitle": "ما هي سياسة الدعم الخاصة بك؟",
"SupportPolicyFaqExplanation": "نحن ندعم فقط الإصدار الرئيسي النشط والسابق. لا نضمن إصدار تصحيح للإصدارات الرئيسية الثالثة والأقدم. على سبيل المثال ، إذا كان الإصدار النشط هو 7.0.0 ، فسنصدر إصدارات تصحيح لكل من 6.x.x و 7.x.x. إلى جانب ذلك ، نحن نقدم الدعم فقط لإطار عمل ABP والقضايا التجارية المتعلقة بـ ABP. هذا يعني أنه لا يتم تقديم أي دعم لتطبيقات الطرف الثالث والخدمات السحابية والمكتبات الطرفية الأخرى التي تستخدمها منتجات ABP. سنبذل جهودًا معقولة تجاريًا لتزويد عملائنا بالدعم الفني خلال ساعات العمل الرسمية لـ \"Volosoft Bilisim A.S\". من ناحية أخرى ، نحن لا نلتزم بوقت استجابة اتفاقية مستوى الخدمة (SLA) ، لكننا سنحاول الرد على المشكلات الفنية في أسرع وقت ممكن خلال ساعات العمل الرسمية لدينا. ما لم يتم إبرام اتفاقية خاصة مع العميل ، فإننا نقدم الدعم فقط على https://support.abp.io. لدينا أيضًا دعم خاص بالبريد الإلكتروني ، وهو متاح فقط لحاملي تراخيص المؤسسة."
"SupportPolicyFaqExplanation": "نحن ندعم فقط الإصدار الرئيسي النشط والسابق. لا نضمن إصدار تصحيح للإصدارات الرئيسية الثالثة والأقدم. على سبيل المثال ، إذا كان الإصدار النشط هو 7.0.0 ، فسنصدر إصدارات تصحيح لكل من 6.x.x و 7.x.x. إلى جانب ذلك ، نحن نقدم الدعم فقط لإطار عمل ABP والقضايا التجارية المتعلقة بـ ABP. هذا يعني أنه لا يتم تقديم أي دعم لتطبيقات الطرف الثالث والخدمات السحابية والمكتبات الطرفية الأخرى التي تستخدمها منتجات ABP. سنبذل جهودًا معقولة تجاريًا لتزويد عملائنا بالدعم الفني خلال ساعات العمل الرسمية لـ \"Volosoft Bilisim A.S\". من ناحية أخرى ، نحن لا نلتزم بوقت استجابة اتفاقية مستوى الخدمة (SLA) ، لكننا سنحاول الرد على المشكلات الفنية في أسرع وقت ممكن خلال ساعات العمل الرسمية لدينا. ما لم يتم إبرام اتفاقية خاصة مع العميل ، فإننا نقدم الدعم فقط على https://support.abp.io. لدينا أيضًا دعم خاص بالبريد الإلكتروني ، وهو متاح فقط لحاملي تراخيص المؤسسة.",
"WhyUseAbpIoPlatform": "لماذا يجب علي استخدام منصة ABP.IO بدلاً من إنشاء حل جديد من البداية؟",
"WhyUseAbpIoPlatformFaqExplanation": "انظر الى <a href=\"https://docs.abp.io/en/commercial/latest/why-abp-io-platform \"> هذا المستند </a> للحصول على شرح مفصل لسبب استخدام ABP.IO Platform لفائدته الكبيرة بدلًا من القيام بكل شيء بنفسك."
}
}

4
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json

@ -819,6 +819,8 @@
"AdditionalInfo": "If the developer seats are above your requirements, you can reduce them. You can email at <a href=\"mailto:info@abp.io\">info@abp.io</a> to remove some of your developer seats. Clearing unused developer seats will reduce the license renewal cost. If you want, you can re-purchase additional developer seats within your active license period. Note that, since there are {0} developers in this license package, you cannot reduce this number.",
"LinkExpiredErrorMessage": "The link you are trying to access is expired.",
"ExpirationDate": "Expiration Date",
"SpringCampaignDiscount": "Spring Campaign Discount"
"SpringCampaignDiscount": "Spring Campaign Discount",
"WhyUseAbpIoPlatform": "Why should I use the ABP.IO Platform instead of creating a new solution from scratch?",
"WhyUseAbpIoPlatformFaqExplanation": "See <a href=\"https://docs.abp.io/en/commercial/latest/why-abp-io-platform \"> that document </a> for a detailed explanation of why using ABP.IO Platform has a significant advantage over doing everything yourself."
}
}

4
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hans.json

@ -804,6 +804,8 @@
"UpgradePaymentInfoSection_LicenseRenewalPrice": "许可证续订",
"Total": "总计",
"SupportPolicyFaqTitle": "您的支持政策是什么?",
"SupportPolicyFaqExplanation": "我们只支持有效的和以前的主要版本。 我们不保证为第 3 个和更早的主要版本发布补丁。 例如,如果有效版本是 7.0.0,我们将发布 6.x.x 和 7.x.x 的补丁版本。 此外,我们仅对 ABP Framework 和 ABP Commercial 相关问题提供支持。 这意味着不支持 ABP 产品使用的第 3 方应用程序、云服务和其他外围库。 我们将尽商业上合理的努力在“Volosoft Bilisim A.S”的正式营业时间内为我们的客户提供技术支持。 另一方面,我们不承诺服务级别协议 (SLA) 响应时间,但我们会尽量在我们的官方工作时间内尽快响应技术问题。 除非与客户达成特殊协议,否则我们仅在 https://support.abp.io 上提供支持。 我们还提供私人电子邮件支持,仅适用于企业许可证持有者。"
"SupportPolicyFaqExplanation": "我们只支持有效的和以前的主要版本。 我们不保证为第 3 个和更早的主要版本发布补丁。 例如,如果有效版本是 7.0.0,我们将发布 6.x.x 和 7.x.x 的补丁版本。 此外,我们仅对 ABP Framework 和 ABP Commercial 相关问题提供支持。 这意味着不支持 ABP 产品使用的第 3 方应用程序、云服务和其他外围库。 我们将尽商业上合理的努力在“Volosoft Bilisim A.S”的正式营业时间内为我们的客户提供技术支持。 另一方面,我们不承诺服务级别协议 (SLA) 响应时间,但我们会尽量在我们的官方工作时间内尽快响应技术问题。 除非与客户达成特殊协议,否则我们仅在 https://support.abp.io 上提供支持。 我们还提供私人电子邮件支持,仅适用于企业许可证持有者。",
"WhyUseAbpIoPlatform": "为什么我应该使用 ABP.IO 平台而不是从头开始创建新的解决方案?\n",
"WhyUseAbpIoPlatformFaqExplanation": "请参阅<a href=\"https://docs.abp.io/en/commercial/latest/why-abp-io-platform\">该文件</a>以详细解释为什么使用ABP.IO平台比自己做所有事情有显著的优势。"
}
}

2
docs/en/Localization.md

@ -87,6 +87,8 @@ A JSON localization file content is shown below:
* Every localization file should define the `culture` code for the file (like "en" or "en-US").
* `texts` section just contains key-value collection of the localization strings (keys may have spaces too).
> ABP will ignore (skip) the JSON file if the `culture` section is missing.
### Default Resource
`AbpLocalizationOptions.DefaultResourceType` can be set to a resource type, so it is used when the localization resource was not specified:

77
framework/Volo.Abp.sln

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28922.388
# Visual Studio Version 17
VisualStudioVersion = 17.6.33417.168
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}"
EndProject
@ -369,71 +369,73 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Compone
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Mvc.UI.Bundling.Abstractions", "src\Volo.Abp.AspNetCore.Mvc.UI.Bundling.Abstractions\Volo.Abp.AspNetCore.Mvc.UI.Bundling.Abstractions.csproj", "{E9CE58DB-0789-4D18-8B63-474F7D7B14B4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AzureServiceBus", "src\Volo.Abp.AzureServiceBus\Volo.Abp.AzureServiceBus.csproj", "{808EC18E-C8CC-4F5C-82B6-984EADBBF85D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AzureServiceBus", "src\Volo.Abp.AzureServiceBus\Volo.Abp.AzureServiceBus.csproj", "{808EC18E-C8CC-4F5C-82B6-984EADBBF85D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.EventBus.Azure", "src\Volo.Abp.EventBus.Azure\Volo.Abp.EventBus.Azure.csproj", "{FB27F78E-F10E-4810-9B8E-BCD67DCFC8A2}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.EventBus.Azure", "src\Volo.Abp.EventBus.Azure\Volo.Abp.EventBus.Azure.csproj", "{FB27F78E-F10E-4810-9B8E-BCD67DCFC8A2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Authorization.Abstractions", "src\Volo.Abp.Authorization.Abstractions\Volo.Abp.Authorization.Abstractions.csproj", "{87B0C2A8-FE95-4779-8B9C-2181AA52B3FA}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Authorization.Abstractions", "src\Volo.Abp.Authorization.Abstractions\Volo.Abp.Authorization.Abstractions.csproj", "{87B0C2A8-FE95-4779-8B9C-2181AA52B3FA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.TextTemplating.Core", "src\Volo.Abp.TextTemplating.Core\Volo.Abp.TextTemplating.Core.csproj", "{184E859A-282D-44D7-B8E9-FEA874644013}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.TextTemplating.Core", "src\Volo.Abp.TextTemplating.Core\Volo.Abp.TextTemplating.Core.csproj", "{184E859A-282D-44D7-B8E9-FEA874644013}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.TextTemplating.Scriban", "src\Volo.Abp.TextTemplating.Scriban\Volo.Abp.TextTemplating.Scriban.csproj", "{228723E6-FA6D-406B-B8F8-C9BCC547AF8E}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.TextTemplating.Scriban", "src\Volo.Abp.TextTemplating.Scriban\Volo.Abp.TextTemplating.Scriban.csproj", "{228723E6-FA6D-406B-B8F8-C9BCC547AF8E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.TextTemplating.Razor", "src\Volo.Abp.TextTemplating.Razor\Volo.Abp.TextTemplating.Razor.csproj", "{42EA6F06-2D78-4D18-8AC4-8F2AB7E6DA19}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.TextTemplating.Razor", "src\Volo.Abp.TextTemplating.Razor\Volo.Abp.TextTemplating.Razor.csproj", "{42EA6F06-2D78-4D18-8AC4-8F2AB7E6DA19}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.TextTemplating.Razor.Tests", "test\Volo.Abp.TextTemplating.Razor.Tests\Volo.Abp.TextTemplating.Razor.Tests.csproj", "{C996F458-98FB-483D-9306-4701290E2FC1}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.TextTemplating.Razor.Tests", "test\Volo.Abp.TextTemplating.Razor.Tests\Volo.Abp.TextTemplating.Razor.Tests.csproj", "{C996F458-98FB-483D-9306-4701290E2FC1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.TextTemplating.Scriban.Tests", "test\Volo.Abp.TextTemplating.Scriban.Tests\Volo.Abp.TextTemplating.Scriban.Tests.csproj", "{75D8DADB-3FA9-4C1D-B23A-DBFD08133B7C}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.TextTemplating.Scriban.Tests", "test\Volo.Abp.TextTemplating.Scriban.Tests\Volo.Abp.TextTemplating.Scriban.Tests.csproj", "{75D8DADB-3FA9-4C1D-B23A-DBFD08133B7C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.MongoDB.Tests.SecondContext", "test\Volo.Abp.MongoDB.Tests.SecondContext\Volo.Abp.MongoDB.Tests.SecondContext.csproj", "{90B1866A-EF99-40B9-970E-B898E5AA523F}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MongoDB.Tests.SecondContext", "test\Volo.Abp.MongoDB.Tests.SecondContext\Volo.Abp.MongoDB.Tests.SecondContext.csproj", "{90B1866A-EF99-40B9-970E-B898E5AA523F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.IdentityModel.Tests", "test\Volo.Abp.IdentityModel.Tests\Volo.Abp.IdentityModel.Tests.csproj", "{40C6740E-BFCA-4D37-8344-3D84E2044BB2}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.IdentityModel.Tests", "test\Volo.Abp.IdentityModel.Tests\Volo.Abp.IdentityModel.Tests.csproj", "{40C6740E-BFCA-4D37-8344-3D84E2044BB2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Threading.Tests", "test\Volo.Abp.Threading.Tests\Volo.Abp.Threading.Tests.csproj", "{7B2FCAD6-86E6-49C8-ADBE-A61B4F4B101B}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Threading.Tests", "test\Volo.Abp.Threading.Tests\Volo.Abp.Threading.Tests.csproj", "{7B2FCAD6-86E6-49C8-ADBE-A61B4F4B101B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.DistributedLocking", "src\Volo.Abp.DistributedLocking\Volo.Abp.DistributedLocking.csproj", "{9A7EEA08-15BE-476D-8168-53039867038E}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.DistributedLocking", "src\Volo.Abp.DistributedLocking\Volo.Abp.DistributedLocking.csproj", "{9A7EEA08-15BE-476D-8168-53039867038E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Auditing.Contracts", "src\Volo.Abp.Auditing.Contracts\Volo.Abp.Auditing.Contracts.csproj", "{508B6355-AD28-4E60-8549-266D21DBF2CF}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Auditing.Contracts", "src\Volo.Abp.Auditing.Contracts\Volo.Abp.Auditing.Contracts.csproj", "{508B6355-AD28-4E60-8549-266D21DBF2CF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Http.Client.Web", "src\Volo.Abp.Http.Client.Web\Volo.Abp.Http.Client.Web.csproj", "{F7407459-8AFA-45E4-83E9-9BB01412CC08}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Http.Client.Web", "src\Volo.Abp.Http.Client.Web\Volo.Abp.Http.Client.Web.csproj", "{F7407459-8AFA-45E4-83E9-9BB01412CC08}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.DistributedLocking.Abstractions", "src\Volo.Abp.DistributedLocking.Abstractions\Volo.Abp.DistributedLocking.Abstractions.csproj", "{CA805B77-D50C-431F-B3CB-1111C9C6E807}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.DistributedLocking.Abstractions", "src\Volo.Abp.DistributedLocking.Abstractions\Volo.Abp.DistributedLocking.Abstractions.csproj", "{CA805B77-D50C-431F-B3CB-1111C9C6E807}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.DistributedLocking.Abstractions.Tests", "test\Volo.Abp.DistributedLocking.Abstractions.Tests\Volo.Abp.DistributedLocking.Abstractions.Tests.csproj", "{C4F54FB5-C828-414D-BA03-E8E7A10C784D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.DistributedLocking.Abstractions.Tests", "test\Volo.Abp.DistributedLocking.Abstractions.Tests\Volo.Abp.DistributedLocking.Abstractions.Tests.csproj", "{C4F54FB5-C828-414D-BA03-E8E7A10C784D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.BackgroundWorkers.Hangfire", "src\Volo.Abp.BackgroundWorkers.Hangfire\Volo.Abp.BackgroundWorkers.Hangfire.csproj", "{E5FCE710-C5A3-4F94-B9C9-BD1E99252BFB}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.BackgroundWorkers.Hangfire", "src\Volo.Abp.BackgroundWorkers.Hangfire\Volo.Abp.BackgroundWorkers.Hangfire.csproj", "{E5FCE710-C5A3-4F94-B9C9-BD1E99252BFB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Gdpr.Abstractions", "src\Volo.Abp.Gdpr.Abstractions\Volo.Abp.Gdpr.Abstractions.csproj", "{3683340D-92F5-4B14-B77B-34A163333309}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Gdpr.Abstractions", "src\Volo.Abp.Gdpr.Abstractions\Volo.Abp.Gdpr.Abstractions.csproj", "{3683340D-92F5-4B14-B77B-34A163333309}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.RemoteServices", "src\Volo.Abp.RemoteServices\Volo.Abp.RemoteServices.csproj", "{EDFFDA74-090D-439C-A58D-06CCF86D4423}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.RemoteServices", "src\Volo.Abp.RemoteServices\Volo.Abp.RemoteServices.csproj", "{EDFFDA74-090D-439C-A58D-06CCF86D4423}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AspNetCore.Mvc.PlugIn", "test\Volo.Abp.AspNetCore.Mvc.PlugIn\Volo.Abp.AspNetCore.Mvc.PlugIn.csproj", "{C6D6D878-208A-4FD2-822E-365545D8681B}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Mvc.PlugIn", "test\Volo.Abp.AspNetCore.Mvc.PlugIn\Volo.Abp.AspNetCore.Mvc.PlugIn.csproj", "{C6D6D878-208A-4FD2-822E-365545D8681B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Json.Newtonsoft", "src\Volo.Abp.Json.Newtonsoft\Volo.Abp.Json.Newtonsoft.csproj", "{9DD41C8F-0886-483C-B98B-C55EAA7F226D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Json.Newtonsoft", "src\Volo.Abp.Json.Newtonsoft\Volo.Abp.Json.Newtonsoft.csproj", "{9DD41C8F-0886-483C-B98B-C55EAA7F226D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Json.SystemTextJson", "src\Volo.Abp.Json.SystemTextJson\Volo.Abp.Json.SystemTextJson.csproj", "{0AD06E14-CBFE-4551-8D18-9E921D8F2A87}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Json.SystemTextJson", "src\Volo.Abp.Json.SystemTextJson\Volo.Abp.Json.SystemTextJson.csproj", "{0AD06E14-CBFE-4551-8D18-9E921D8F2A87}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Json.Abstractions", "src\Volo.Abp.Json.Abstractions\Volo.Abp.Json.Abstractions.csproj", "{08531C5D-0436-4721-986D-96446CF54316}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Json.Abstractions", "src\Volo.Abp.Json.Abstractions\Volo.Abp.Json.Abstractions.csproj", "{08531C5D-0436-4721-986D-96446CF54316}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AspNetCore.Mvc.NewtonsoftJson", "src\Volo.Abp.AspNetCore.Mvc.NewtonsoftJson\Volo.Abp.AspNetCore.Mvc.NewtonsoftJson.csproj", "{0CFC9D4F-F12F-4B44-ABCF-AB4A0E9E85B2}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Mvc.NewtonsoftJson", "src\Volo.Abp.AspNetCore.Mvc.NewtonsoftJson\Volo.Abp.AspNetCore.Mvc.NewtonsoftJson.csproj", "{0CFC9D4F-F12F-4B44-ABCF-AB4A0E9E85B2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Dapr", "src\Volo.Abp.Dapr\Volo.Abp.Dapr.csproj", "{192A829F-D608-4E41-8DE0-058E943E453F}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Dapr", "src\Volo.Abp.Dapr\Volo.Abp.Dapr.csproj", "{192A829F-D608-4E41-8DE0-058E943E453F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.EventBus.Dapr", "src\Volo.Abp.EventBus.Dapr\Volo.Abp.EventBus.Dapr.csproj", "{DCC41E99-EBC7-4F19-BA0D-A6F770D8E431}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.EventBus.Dapr", "src\Volo.Abp.EventBus.Dapr\Volo.Abp.EventBus.Dapr.csproj", "{DCC41E99-EBC7-4F19-BA0D-A6F770D8E431}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Http.Client.Dapr", "src\Volo.Abp.Http.Client.Dapr\Volo.Abp.Http.Client.Dapr.csproj", "{18B796D2-D45D-41AE-9A42-75C9B14B20DF}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Http.Client.Dapr", "src\Volo.Abp.Http.Client.Dapr\Volo.Abp.Http.Client.Dapr.csproj", "{18B796D2-D45D-41AE-9A42-75C9B14B20DF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AspNetCore.Mvc.Dapr", "src\Volo.Abp.AspNetCore.Mvc.Dapr\Volo.Abp.AspNetCore.Mvc.Dapr.csproj", "{5EED625D-8D86-492A-BCB8-F6C8CD8D4AA1}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Mvc.Dapr", "src\Volo.Abp.AspNetCore.Mvc.Dapr\Volo.Abp.AspNetCore.Mvc.Dapr.csproj", "{5EED625D-8D86-492A-BCB8-F6C8CD8D4AA1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AspNetCore.Mvc.Dapr.EventBus", "src\Volo.Abp.AspNetCore.Mvc.Dapr.EventBus\Volo.Abp.AspNetCore.Mvc.Dapr.EventBus.csproj", "{B02EF042-C39E-45C4-A92D-BF7554E1889D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Mvc.Dapr.EventBus", "src\Volo.Abp.AspNetCore.Mvc.Dapr.EventBus\Volo.Abp.AspNetCore.Mvc.Dapr.EventBus.csproj", "{B02EF042-C39E-45C4-A92D-BF7554E1889D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.DistributedLocking.Dapr", "src\Volo.Abp.DistributedLocking.Dapr\Volo.Abp.DistributedLocking.Dapr.csproj", "{CAE48068-233C-47A9-BEAB-DDF521730E7A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.DistributedLocking.Dapr", "src\Volo.Abp.DistributedLocking.Dapr\Volo.Abp.DistributedLocking.Dapr.csproj", "{CAE48068-233C-47A9-BEAB-DDF521730E7A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AspNetCore.Components.MauiBlazor", "src\Volo.Abp.AspNetCore.Components.MauiBlazor\Volo.Abp.AspNetCore.Components.MauiBlazor.csproj", "{C44E2BD5-8D62-48A7-84AF-FE7CF2C8716C}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Components.MauiBlazor", "src\Volo.Abp.AspNetCore.Components.MauiBlazor\Volo.Abp.AspNetCore.Components.MauiBlazor.csproj", "{C44E2BD5-8D62-48A7-84AF-FE7CF2C8716C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Http.Client.IdentityModel.MauiBlazor", "src\Volo.Abp.Http.Client.IdentityModel.MauiBlazor\Volo.Abp.Http.Client.IdentityModel.MauiBlazor.csproj", "{E9492F9F-47E0-45A6-A51D-9949FEAA8543}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Http.Client.IdentityModel.MauiBlazor", "src\Volo.Abp.Http.Client.IdentityModel.MauiBlazor\Volo.Abp.Http.Client.IdentityModel.MauiBlazor.csproj", "{E9492F9F-47E0-45A6-A51D-9949FEAA8543}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AspNetCore.Components.MauiBlazor.Theming", "src\Volo.Abp.AspNetCore.Components.MauiBlazor.Theming\Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.csproj", "{8764DFAF-D13D-449A-9A5E-5D7F0B2D7FEF}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Components.MauiBlazor.Theming", "src\Volo.Abp.AspNetCore.Components.MauiBlazor.Theming\Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.csproj", "{8764DFAF-D13D-449A-9A5E-5D7F0B2D7FEF}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Ldap.Abstractions", "src\Volo.Abp.Ldap.Abstractions\Volo.Abp.Ldap.Abstractions.csproj", "{0F80E95C-41E6-4F23-94FF-FC9D0B8D5D71}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -1297,6 +1299,10 @@ Global
{8764DFAF-D13D-449A-9A5E-5D7F0B2D7FEF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8764DFAF-D13D-449A-9A5E-5D7F0B2D7FEF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8764DFAF-D13D-449A-9A5E-5D7F0B2D7FEF}.Release|Any CPU.Build.0 = Release|Any CPU
{0F80E95C-41E6-4F23-94FF-FC9D0B8D5D71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0F80E95C-41E6-4F23-94FF-FC9D0B8D5D71}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0F80E95C-41E6-4F23-94FF-FC9D0B8D5D71}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0F80E95C-41E6-4F23-94FF-FC9D0B8D5D71}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -1516,6 +1522,7 @@ Global
{C44E2BD5-8D62-48A7-84AF-FE7CF2C8716C} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{E9492F9F-47E0-45A6-A51D-9949FEAA8543} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{8764DFAF-D13D-449A-9A5E-5D7F0B2D7FEF} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{0F80E95C-41E6-4F23-94FF-FC9D0B8D5D71} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5}

2
framework/src/Volo.Abp.BlobStoring.Azure/Volo.Abp.BlobStoring.Azure.csproj

@ -16,7 +16,7 @@
<ItemGroup>
<ProjectReference Include="..\Volo.Abp.BlobStoring\Volo.Abp.BlobStoring.csproj" />
<PackageReference Include="Azure.Storage.Blobs" Version="12.12.0" />
<PackageReference Include="Azure.Storage.Blobs" Version="12.15.0" />
</ItemGroup>
</Project>

3
framework/src/Volo.Abp.Ldap.Abstractions/FodyWeavers.xml

@ -0,0 +1,3 @@
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
<ConfigureAwait ContinueOnCapturedContext="false" />
</Weavers>

30
framework/src/Volo.Abp.Ldap.Abstractions/FodyWeavers.xsd

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- This file was generated by Fody. Manual changes to this file will be lost when your project is rebuilt. -->
<xs:element name="Weavers">
<xs:complexType>
<xs:all>
<xs:element name="ConfigureAwait" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:attribute name="ContinueOnCapturedContext" type="xs:boolean" />
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="VerifyAssembly" type="xs:boolean">
<xs:annotation>
<xs:documentation>'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VerifyIgnoreCodes" type="xs:string">
<xs:annotation>
<xs:documentation>A comma-separated list of error codes that can be safely ignored in assembly verification.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="GenerateXsd" type="xs:boolean">
<xs:annotation>
<xs:documentation>'false' to turn off automatic generation of the XML Schema file.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>

27
framework/src/Volo.Abp.Ldap.Abstractions/Volo.Abp.Ldap.Abstractions.csproj

@ -0,0 +1,27 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\configureawait.props" />
<Import Project="..\..\..\common.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>Volo.Abp.Ldap.Abstractions</AssemblyName>
<PackageId>Volo.Abp.Ldap.Abstractions</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<Content Remove="Volo\Abp\Ldap\Localization\*.json" />
<EmbeddedResource Include="Volo\Abp\Ldap\Localization\*.json" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Volo.Abp.Core\Volo.Abp.Core.csproj" />
<ProjectReference Include="..\Volo.Abp.Localization\Volo.Abp.Localization.csproj" />
<ProjectReference Include="..\Volo.Abp.VirtualFileSystem\Volo.Abp.VirtualFileSystem.csproj" />
</ItemGroup>
</Project>

28
framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/AbpLdapAbstractionsModule.cs

@ -0,0 +1,28 @@
using Volo.Abp.Ldap.Localization;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
using Volo.Abp.Settings;
using Volo.Abp.VirtualFileSystem;
namespace Volo.Abp.Ldap;
[DependsOn(
typeof(AbpVirtualFileSystemModule),
typeof(AbpLocalizationModule))]
public class AbpLdapAbstractionsModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<AbpLdapAbstractionsModule>();
});
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Add<LdapResource>("en")
.AddVirtualJson("/Volo/Abp/Ldap/Localization");
});
}
}

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/ILdapManager.cs → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/ILdapManager.cs

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/ILdapSettingProvider.cs → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/ILdapSettingProvider.cs

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/LdapSettingNames.cs → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/LdapSettingNames.cs

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/LdapResource.cs → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/LdapResource.cs

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/ar.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/ar.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/cs.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/cs.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/de-DE.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/de-DE.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/el.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/el.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/en-GB.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/en-GB.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/en.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/en.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/es.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/es.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/fa.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/fa.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/fi.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/fi.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/fr.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/fr.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/hi.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/hi.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/hu.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/hu.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/is.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/is.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/it.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/it.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/nl.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/nl.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/pl-PL.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/pl-PL.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/pt-BR.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/pt-BR.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/ro-RO.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/ro-RO.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/ru.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/ru.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/sk.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/sk.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/sl.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/sl.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/tr.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/tr.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/vi.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/vi.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/zh-Hans.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/zh-Hans.json

0
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/zh-Hant.json → framework/src/Volo.Abp.Ldap.Abstractions/Volo/Abp/Ldap/Localization/zh-Hant.json

9
framework/src/Volo.Abp.Ldap/Volo.Abp.Ldap.csproj

@ -19,15 +19,8 @@
</ItemGroup>
<ItemGroup>
<Content Remove="Volo\Abp\Ldap\Localization\*.json" />
<EmbeddedResource Include="Volo\Abp\Ldap\Localization\*.json" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Volo.Abp.Core\Volo.Abp.Core.csproj" />
<ProjectReference Include="..\Volo.Abp.Localization\Volo.Abp.Localization.csproj" />
<ProjectReference Include="..\Volo.Abp.Ldap.Abstractions\Volo.Abp.Ldap.Abstractions.csproj" />
<ProjectReference Include="..\Volo.Abp.Settings\Volo.Abp.Settings.csproj" />
<ProjectReference Include="..\Volo.Abp.VirtualFileSystem\Volo.Abp.VirtualFileSystem.csproj" />
</ItemGroup>
</Project>

29
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/AbpLdapModule.cs

@ -1,33 +1,12 @@
using System;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Options;
using Volo.Abp.Ldap.Localization;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
using Volo.Abp.Modularity;
using Volo.Abp.Settings;
using Volo.Abp.VirtualFileSystem;
namespace Volo.Abp.Ldap;
[DependsOn(
typeof(AbpSettingsModule),
typeof(AbpVirtualFileSystemModule),
typeof(AbpLocalizationModule))]
typeof(AbpLdapAbstractionsModule),
typeof(AbpSettingsModule))]
public class AbpLdapModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<AbpLdapModule>();
});
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Add<LdapResource>("en")
.AddVirtualJson("/Volo/Abp/Ldap/Localization");
});
}
}

7
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Json/JsonLocalizationDictionaryBuilder.cs

@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Text.Json;
using JetBrains.Annotations;
using Microsoft.Extensions.Localization;
namespace Volo.Abp.Localization.Json;
@ -12,6 +13,7 @@ public static class JsonLocalizationDictionaryBuilder
/// Builds an <see cref="JsonLocalizationDictionaryBuilder" /> from given file.
/// </summary>
/// <param name="filePath">Path of the file</param>
[CanBeNull]
public static ILocalizationDictionary BuildFromFile(string filePath)
{
try
@ -36,6 +38,7 @@ public static class JsonLocalizationDictionaryBuilder
/// Builds an <see cref="JsonLocalizationDictionaryBuilder" /> from given json string.
/// </summary>
/// <param name="jsonString">Json string</param>
[CanBeNull]
public static ILocalizationDictionary BuildFromJsonString(string jsonString)
{
JsonLocalizationFile jsonFile;
@ -47,11 +50,11 @@ public static class JsonLocalizationDictionaryBuilder
{
throw new AbpException("Can not parse json string. " + ex.Message);
}
var cultureCode = jsonFile.Culture;
if (string.IsNullOrEmpty(cultureCode))
{
throw new AbpException("Culture is empty in language json file.");
return null;
}
var dictionary = new Dictionary<string, LocalizedString>();

9
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/VirtualFiles/VirtualFileLocalizationResourceContributorBase.cs

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using JetBrains.Annotations;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Localization;
@ -98,6 +99,12 @@ public abstract class VirtualFileLocalizationResourceContributorBase : ILocaliza
}
var dictionary = CreateDictionaryFromFile(file);
if (dictionary == null)
{
continue;
}
if (dictionaries.ContainsKey(dictionary.CultureName))
{
throw new AbpException($"{file.GetVirtualOrPhysicalPathOrNull()} dictionary has a culture name '{dictionary.CultureName}' which is already defined! Localization resource: {_resource.ResourceName}");
@ -111,6 +118,7 @@ public abstract class VirtualFileLocalizationResourceContributorBase : ILocaliza
protected abstract bool CanParseFile(IFileInfo file);
[CanBeNull]
protected virtual ILocalizationDictionary CreateDictionaryFromFile(IFileInfo file)
{
using (var stream = file.CreateReadStream())
@ -119,5 +127,6 @@ public abstract class VirtualFileLocalizationResourceContributorBase : ILocaliza
}
}
[CanBeNull]
protected abstract ILocalizationDictionary CreateDictionaryFromFileContent(string fileContent);
}

30
framework/test/Volo.Abp.Ldap.Tests/Volo/Abp/Ldap/LdapResource_Tests.cs

@ -0,0 +1,30 @@
using Microsoft.Extensions.Localization;
using Shouldly;
using Volo.Abp.Ldap.Localization;
using Volo.Abp.Localization;
using Volo.Abp.Testing;
using Xunit;
namespace Volo.Abp.Ldap;
public class LdapResource_Tests : AbpIntegratedTest<AbpLdapTestModule>
{
protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options)
{
options.UseAutofac();
}
[Fact]
public void LdapResource_Test()
{
using (CultureHelper.Use("en"))
{
GetRequiredService<IStringLocalizer<LdapResource>>()["DisplayName:Abp.Ldap.ServerHost"].Value.ShouldBe("Server host");
}
using (CultureHelper.Use("tr"))
{
GetRequiredService<IStringLocalizer<LdapResource>>()["DisplayName:Abp.Ldap.ServerHost"].Value.ShouldBe("Sunucu Ana Bilgisayarı");
}
}
}

4
latest-versions.json

@ -1,8 +1,8 @@
[
{
"version": "7.0.2",
"version": "7.0.3",
"releaseDate": "",
"type": "stable",
"message": ""
}
]
]

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json

@ -3,7 +3,7 @@
"name": "asp.net",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.shared": "^7.1.0-rc.2",
"@abp/aspnetcore.mvc.ui.theme.shared": "^7.1.0-rc.3",
"highlight.js": "^9.13.1"
},
"devDependencies": {}

4734
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.css

File diff suppressed because it is too large

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.css.map

File diff suppressed because one or more lines are too long

8
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.min.css

File diff suppressed because one or more lines are too long

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.min.css.map

File diff suppressed because one or more lines are too long

4738
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.rtl.css

File diff suppressed because it is too large

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.rtl.css.map

File diff suppressed because one or more lines are too long

8
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.rtl.min.css

File diff suppressed because one or more lines are too long

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/css/bootstrap.rtl.min.css.map

File diff suppressed because one or more lines are too long

4259
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/js/bootstrap.bundle.js

File diff suppressed because it is too large

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/js/bootstrap.bundle.js.map

File diff suppressed because one or more lines are too long

6
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/js/bootstrap.bundle.min.js

File diff suppressed because one or more lines are too long

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/bootstrap/js/bootstrap.bundle.min.js.map

File diff suppressed because one or more lines are too long

314
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/datatables.net-bs5/css/dataTables.bootstrap5.css

@ -1,4 +1,175 @@
@charset "UTF-8";
:root {
--dt-row-selected: 13, 110, 253;
--dt-row-selected-text: 255, 255, 255;
--dt-row-selected-link: 9, 10, 11;
}
table.dataTable td.dt-control {
text-align: center;
cursor: pointer;
}
table.dataTable td.dt-control:before {
height: 1em;
width: 1em;
margin-top: -9px;
display: inline-block;
color: white;
border: 0.15em solid white;
border-radius: 1em;
box-shadow: 0 0 0.2em #444;
box-sizing: content-box;
text-align: center;
text-indent: 0 !important;
font-family: "Courier New", Courier, monospace;
line-height: 1em;
content: "+";
background-color: #31b131;
}
table.dataTable tr.dt-hasChild td.dt-control:before {
content: "-";
background-color: #d33333;
}
table.dataTable thead > tr > th.sorting, table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting_asc_disabled, table.dataTable thead > tr > th.sorting_desc_disabled,
table.dataTable thead > tr > td.sorting,
table.dataTable thead > tr > td.sorting_asc,
table.dataTable thead > tr > td.sorting_desc,
table.dataTable thead > tr > td.sorting_asc_disabled,
table.dataTable thead > tr > td.sorting_desc_disabled {
cursor: pointer;
position: relative;
padding-right: 26px;
}
table.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting:after, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_asc_disabled:after, table.dataTable thead > tr > th.sorting_desc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:after,
table.dataTable thead > tr > td.sorting:before,
table.dataTable thead > tr > td.sorting:after,
table.dataTable thead > tr > td.sorting_asc:before,
table.dataTable thead > tr > td.sorting_asc:after,
table.dataTable thead > tr > td.sorting_desc:before,
table.dataTable thead > tr > td.sorting_desc:after,
table.dataTable thead > tr > td.sorting_asc_disabled:before,
table.dataTable thead > tr > td.sorting_asc_disabled:after,
table.dataTable thead > tr > td.sorting_desc_disabled:before,
table.dataTable thead > tr > td.sorting_desc_disabled:after {
position: absolute;
display: block;
opacity: 0.125;
right: 10px;
line-height: 9px;
font-size: 0.8em;
}
table.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:before,
table.dataTable thead > tr > td.sorting:before,
table.dataTable thead > tr > td.sorting_asc:before,
table.dataTable thead > tr > td.sorting_desc:before,
table.dataTable thead > tr > td.sorting_asc_disabled:before,
table.dataTable thead > tr > td.sorting_desc_disabled:before {
bottom: 50%;
content: "▲";
content: "▲"/"";
}
table.dataTable thead > tr > th.sorting:after, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > th.sorting_asc_disabled:after, table.dataTable thead > tr > th.sorting_desc_disabled:after,
table.dataTable thead > tr > td.sorting:after,
table.dataTable thead > tr > td.sorting_asc:after,
table.dataTable thead > tr > td.sorting_desc:after,
table.dataTable thead > tr > td.sorting_asc_disabled:after,
table.dataTable thead > tr > td.sorting_desc_disabled:after {
top: 50%;
content: "▼";
content: "▼"/"";
}
table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:after,
table.dataTable thead > tr > td.sorting_asc:before,
table.dataTable thead > tr > td.sorting_desc:after {
opacity: 0.6;
}
table.dataTable thead > tr > th.sorting_desc_disabled:after, table.dataTable thead > tr > th.sorting_asc_disabled:before,
table.dataTable thead > tr > td.sorting_desc_disabled:after,
table.dataTable thead > tr > td.sorting_asc_disabled:before {
display: none;
}
table.dataTable thead > tr > th:active,
table.dataTable thead > tr > td:active {
outline: none;
}
div.dataTables_scrollBody > table.dataTable > thead > tr > th:before, div.dataTables_scrollBody > table.dataTable > thead > tr > th:after,
div.dataTables_scrollBody > table.dataTable > thead > tr > td:before,
div.dataTables_scrollBody > table.dataTable > thead > tr > td:after {
display: none;
}
div.dataTables_processing {
position: absolute;
top: 50%;
left: 50%;
width: 200px;
margin-left: -100px;
margin-top: -26px;
text-align: center;
padding: 2px;
}
div.dataTables_processing > div:last-child {
position: relative;
width: 80px;
height: 15px;
margin: 1em auto;
}
div.dataTables_processing > div:last-child > div {
position: absolute;
top: 0;
width: 13px;
height: 13px;
border-radius: 50%;
background: #0d6efd;
background: rgb(var(--dt-row-selected));
animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
div.dataTables_processing > div:last-child > div:nth-child(1) {
left: 8px;
animation: datatables-loader-1 0.6s infinite;
}
div.dataTables_processing > div:last-child > div:nth-child(2) {
left: 8px;
animation: datatables-loader-2 0.6s infinite;
}
div.dataTables_processing > div:last-child > div:nth-child(3) {
left: 32px;
animation: datatables-loader-2 0.6s infinite;
}
div.dataTables_processing > div:last-child > div:nth-child(4) {
left: 56px;
animation: datatables-loader-3 0.6s infinite;
}
@keyframes datatables-loader-1 {
0% {
transform: scale(0);
}
100% {
transform: scale(1);
}
}
@keyframes datatables-loader-3 {
0% {
transform: scale(1);
}
100% {
transform: scale(0);
}
}
@keyframes datatables-loader-2 {
0% {
transform: translate(0, 0);
}
100% {
transform: translate(24px, 0);
}
}
table.dataTable.nowrap th, table.dataTable.nowrap td {
white-space: nowrap;
}
table.dataTable th.dt-left,
table.dataTable td.dt-left {
text-align: left;
@ -20,6 +191,12 @@ table.dataTable th.dt-nowrap,
table.dataTable td.dt-nowrap {
white-space: nowrap;
}
table.dataTable thead th,
table.dataTable thead td,
table.dataTable tfoot th,
table.dataTable tfoot td {
text-align: left;
}
table.dataTable thead th.dt-head-left,
table.dataTable thead td.dt-head-left,
table.dataTable tfoot th.dt-head-left,
@ -70,31 +247,6 @@ table.dataTable tbody th.dt-body-nowrap,
table.dataTable tbody td.dt-body-nowrap {
white-space: nowrap;
}
table.dataTable td.dt-control {
text-align: center;
cursor: pointer;
}
table.dataTable td.dt-control:before {
height: 1em;
width: 1em;
margin-top: -9px;
display: inline-block;
color: white;
border: 0.15em solid white;
border-radius: 1em;
box-shadow: 0 0 0.2em #444;
box-sizing: content-box;
text-align: center;
text-indent: 0 !important;
font-family: "Courier New", Courier, monospace;
line-height: 1em;
content: "+";
background-color: #31b131;
}
table.dataTable tr.dt-hasChild td.dt-control:before {
content: "-";
background-color: #d33333;
}
/*! Bootstrap 5 integration for DataTables
*
@ -122,6 +274,36 @@ table.dataTable.nowrap th,
table.dataTable.nowrap td {
white-space: nowrap;
}
table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) > * {
box-shadow: none;
}
table.dataTable > tbody > tr {
background-color: transparent;
}
table.dataTable > tbody > tr.selected > * {
box-shadow: inset 0 0 0 9999px #0d6efd;
box-shadow: inset 0 0 0 9999px rgb(var(--dt-row-selected));
color: white;
color: rgb(var(--dt-row-selected-text));
}
table.dataTable > tbody > tr.selected a {
color: #090a0b;
color: rgb(var(--dt-row-selected-link));
}
table.dataTable.table-striped > tbody > tr.odd > * {
box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.05);
}
table.dataTable.table-striped > tbody > tr.odd.selected > * {
box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.95);
box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.95);
}
table.dataTable.table-hover > tbody > tr:hover > * {
box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.075);
}
table.dataTable.table-hover > tbody > tr.selected:hover > * {
box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.975);
box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.975);
}
div.dataTables_wrapper div.dataTables_length label {
font-weight: normal;
@ -158,71 +340,9 @@ div.dataTables_wrapper div.dataTables_paginate ul.pagination {
white-space: nowrap;
justify-content: flex-end;
}
div.dataTables_wrapper div.dataTables_processing {
position: absolute;
top: 50%;
left: 50%;
width: 200px;
margin-left: -100px;
margin-top: -26px;
text-align: center;
padding: 1em 0;
}
table.dataTable > thead > tr > th:active,
table.dataTable > thead > tr > td:active {
outline: none;
}
table.dataTable > thead > tr > th:not(.sorting_disabled),
table.dataTable > thead > tr > td:not(.sorting_disabled) {
padding-right: 30px;
}
table.dataTable > thead .sorting,
table.dataTable > thead .sorting_asc,
table.dataTable > thead .sorting_desc,
table.dataTable > thead .sorting_asc_disabled,
table.dataTable > thead .sorting_desc_disabled {
cursor: pointer;
div.dataTables_wrapper div.dt-row {
position: relative;
}
table.dataTable > thead .sorting:before, table.dataTable > thead .sorting:after,
table.dataTable > thead .sorting_asc:before,
table.dataTable > thead .sorting_asc:after,
table.dataTable > thead .sorting_desc:before,
table.dataTable > thead .sorting_desc:after,
table.dataTable > thead .sorting_asc_disabled:before,
table.dataTable > thead .sorting_asc_disabled:after,
table.dataTable > thead .sorting_desc_disabled:before,
table.dataTable > thead .sorting_desc_disabled:after {
position: absolute;
bottom: 0.5em;
display: block;
opacity: 0.3;
}
table.dataTable > thead .sorting:before,
table.dataTable > thead .sorting_asc:before,
table.dataTable > thead .sorting_desc:before,
table.dataTable > thead .sorting_asc_disabled:before,
table.dataTable > thead .sorting_desc_disabled:before {
right: 1em;
content: "↑";
}
table.dataTable > thead .sorting:after,
table.dataTable > thead .sorting_asc:after,
table.dataTable > thead .sorting_desc:after,
table.dataTable > thead .sorting_asc_disabled:after,
table.dataTable > thead .sorting_desc_disabled:after {
right: 0.5em;
content: "↓";
}
table.dataTable > thead .sorting_asc:before,
table.dataTable > thead .sorting_desc:after {
opacity: 1;
}
table.dataTable > thead .sorting_asc_disabled:before,
table.dataTable > thead .sorting_desc_disabled:after {
opacity: 0;
}
div.dataTables_scrollHead table.dataTable {
margin-bottom: 0 !important;
@ -268,17 +388,6 @@ div.dataTables_wrapper div.dataTables_paginate {
table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) {
padding-right: 20px;
}
table.dataTable.table-sm .sorting:before,
table.dataTable.table-sm .sorting_asc:before,
table.dataTable.table-sm .sorting_desc:before {
top: 5px;
right: 0.85em;
}
table.dataTable.table-sm .sorting:after,
table.dataTable.table-sm .sorting_asc:after,
table.dataTable.table-sm .sorting_desc:after {
top: 5px;
}
table.table-bordered.dataTable {
border-right-width: 0;
@ -319,10 +428,3 @@ div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child {
padding-right: 0;
}
table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) {
--bs-table-accent-bg: transparent;
}
table.dataTable.table-striped > tbody > tr.odd {
--bs-table-accent-bg: var(--bs-table-striped-bg);
}

84
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/datatables.net-bs5/js/dataTables.bootstrap5.js

@ -2,14 +2,6 @@
* 2020 SpryMedia Ltd - datatables.net/license
*/
/**
* DataTables integration for Bootstrap 4. This requires Bootstrap 5 and
* DataTables 1.10 or newer.
*
* This file sets the defaults and adds options to DataTables to style its
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
* for further information.
*/
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
@ -19,20 +11,33 @@
}
else if ( typeof exports === 'object' ) {
// CommonJS
module.exports = function (root, $) {
if ( ! root ) {
root = window;
var jq = require('jquery');
var cjsRequires = function (root, $) {
if ( ! $.fn.dataTable ) {
require('datatables.net')(root, $);
}
};
if ( ! $ || ! $.fn.dataTable ) {
// Require DataTables, which attaches to jQuery, including
// jQuery if needed and have a $ property so we can access the
// jQuery object that is used
$ = require('datatables.net')(root, $).$;
}
if (typeof window !== 'undefined') {
module.exports = function (root, $) {
if ( ! root ) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
return factory( $, root, root.document );
};
if ( ! $ ) {
$ = jq( root );
}
cjsRequires( root, $ );
return factory( $, root, root.document );
};
}
else {
cjsRequires( window, jq );
module.exports = factory( jq, window, window.document );
}
}
else {
// Browser
@ -43,11 +48,21 @@
var DataTable = $.fn.dataTable;
/**
* DataTables integration for Bootstrap 5. This requires Bootstrap 5 and
* DataTables 1.10 or newer.
*
* This file sets the defaults and adds options to DataTables to style its
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
* for further information.
*/
/* Set the defaults for DataTables initialisation */
$.extend( true, DataTable.defaults, {
dom:
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row dt-row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
renderer: 'bootstrap'
} );
@ -69,7 +84,7 @@ DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, bu
var classes = settings.oClasses;
var lang = settings.oLanguage.oPaginate;
var aria = settings.oLanguage.oAria.paginate || {};
var btnDisplay, btnClass, counter=0;
var btnDisplay, btnClass;
var attach = function( container, buttons ) {
var i, ien, node, button;
@ -128,6 +143,8 @@ DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, bu
}
if ( btnDisplay ) {
var disabled = btnClass.indexOf('disabled') !== -1;
node = $('<li>', {
'class': classes.sPageButton+' '+btnClass,
'id': idx === 0 && typeof button === 'string' ?
@ -135,10 +152,13 @@ DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, bu
null
} )
.append( $('<a>', {
'href': '#',
'href': disabled ? null : '#',
'aria-controls': settings.sTableId,
'aria-disabled': disabled ? 'true' : null,
'aria-label': aria[ button ],
'data-dt-idx': counter,
'aria-role': 'link',
'aria-current': btnClass === 'active' ? 'page' : null,
'data-dt-idx': button,
'tabindex': settings.iTabIndex,
'class': 'page-link'
} )
@ -149,13 +169,12 @@ DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, bu
settings.oApi._fnBindAction(
node, {action: button}, clickHandler
);
counter++;
}
}
}
};
var hostEl = $(host);
// IE9 throws an 'unknown error' if document.activeElement is used
// inside an iframe or frame.
var activeEl;
@ -165,17 +184,26 @@ DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, bu
// elements, focus is lost on the select button which is bad for
// accessibility. So we want to restore focus once the draw has
// completed
activeEl = $(host).find(document.activeElement).data('dt-idx');
activeEl = hostEl.find(document.activeElement).data('dt-idx');
}
catch (e) {}
var paginationEl = hostEl.children('ul.pagination');
if (paginationEl.length) {
paginationEl.empty();
}
else {
paginationEl = hostEl.html('<ul/>').children('ul').addClass('pagination');
}
attach(
$(host).empty().html('<ul class="pagination"/>').children('ul'),
paginationEl,
buttons
);
if ( activeEl !== undefined ) {
$(host).find( '[data-dt-idx='+activeEl+']' ).trigger('focus');
hostEl.find('[data-dt-idx='+activeEl+']').trigger('focus');
}
};

11254
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/datatables.net/js/jquery.dataTables.js

File diff suppressed because it is too large

300
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/README.md

@ -1,12 +1,31 @@
# Highlight.js
[![Build Status](https://travis-ci.org/highlightjs/highlight.js.svg?branch=master)](https://travis-ci.org/highlightjs/highlight.js)
[![this version](https://badgen.net/badge/this%20version/v9.18.4/red)](https://github.com/highlightjs/highlight.js/blob/master/VERSION_10_UPGRADE.md)
[![supported](https://badgen.net/badge/supported/no/red)](https://github.com/highlightjs/highlight.js/blob/master/VERSION_10_UPGRADE.md)
[![vulnerabilities](https://badgen.net/badge/vulnerabilities/possible/red)](https://github.com/highlightjs/highlight.js/blob/master/SECURITY.md)
[![latest version](https://badgen.net/npm/v/highlight.js?label=latest)](https://www.npmjs.com/package/highlight.js)
[![beta](https://badgen.net/npm/v/highlight.js/beta)](https://www.npmjs.com/package/highlight.js)
[![slack](https://badgen.net/badge/icon/slack?icon=slack&label&color=pink)](https://join.slack.com/t/highlightjs/shared_invite/zt-jatdlkw4-h3LdjU5rC23t7aQ6zqoxzw)
---
### :warning: :warning: Important: Version 9 is no longer supported. :warning: :warning:
Version 9 has reached end-of-support and will receive no future updates.
It may include unpatched security vulnerabiites. Please upgrade to version 10.
*The last release was 9.18.4 on November 18, 2020.*
Please see [VERSION_10_UPGRADE.md](https://github.com/highlightjs/highlight.js/blob/master/VERSION_10_UPGRADE.md) and perhaps [SECURITY.md](https://github.com/highlightjs/highlight.js/blob/master/SECURITY.md).
---
Highlight.js is a syntax highlighter written in JavaScript. It works in
the browser as well as on the server. It works with pretty much any
markup, doesn’t depend on any framework, and has automatic language
detection.
## Getting Started
The bare minimum for using highlight.js on a web page is linking to the
@ -27,23 +46,220 @@ work for you, you can specify the language in the `class` attribute:
<pre><code class="html">...</code></pre>
```
The list of supported language classes is available in the [class
reference][2]. Classes can also be prefixed with either `language-` or
`lang-`.
Classes may also be prefixed with either `language-` or `lang-`.
```html
<pre><code class="language-html">...</code></pre>
```
### Plaintext and Disabling Highlighting
To make arbitrary text look like code, but without highlighting, use the
To style arbitrary text like code, but without any highlighting, use the
`plaintext` class:
```html
<pre><code class="plaintext">...</code></pre>
```
To disable highlighting altogether use the `nohighlight` class:
To disable highlighting of a tag completely, use the `nohighlight` class:
```html
<pre><code class="nohighlight">...</code></pre>
```
### Supported Languages
The table below shows the full list of supported languages (and corresponding classes) that are bundled with the library. Note: Which languages are available may depend on how you've built or included the library in your app. See [Getting the Library](#getting-the-library) below.
<details>
<summary>Reveal the full list of languages...</summary>
| Language | Classes | Package |
| :-----------------------| :--------------------- | :------ |
| 1C | 1c | |
| ABNF | abnf | |
| Access logs | accesslog | |
| Ada | ada | |
| ARM assembler | armasm, arm | |
| AVR assembler | avrasm | |
| ActionScript | actionscript, as | |
| Alan | alan, i | [highlightjs-alan](https://github.com/highlightjs/highlightjs-alan) |
| AngelScript | angelscript, asc | |
| Apache | apache, apacheconf | |
| AppleScript | applescript, osascript | |
| Arcade | arcade | |
| AsciiDoc | asciidoc, adoc | |
| AspectJ | aspectj | |
| AutoHotkey | autohotkey | |
| AutoIt | autoit | |
| Awk | awk, mawk, nawk, gawk | |
| Axapta | axapta | |
| Bash | bash, sh, zsh | |
| Basic | basic | |
| BNF | bnf | |
| Brainfuck | brainfuck, bf | |
| C# | cs, csharp | |
| C++ | cpp, c, cc, h, c++, h++, hpp | |
| C/AL | cal | |
| Cache Object Script | cos, cls | |
| CMake | cmake, cmake.in | |
| Coq | coq | |
| CSP | csp | |
| CSS | css | |
| Cap’n Proto | capnproto, capnp | |
| Clojure | clojure, clj | |
| CoffeeScript | coffeescript, coffee, cson, iced | |
| Crmsh | crmsh, crm, pcmk | |
| Crystal | crystal, cr | |
| Cypher (Neo4j) | cypher | [highlightjs-cypher](https://github.com/highlightjs/highlightjs-cypher) |
| D | d | |
| DNS Zone file | dns, zone, bind | |
| DOS | dos, bat, cmd | |
| Dart | dart | |
| Delphi | delphi, dpr, dfm, pas, pascal, freepascal, lazarus, lpr, lfm | |
| Diff | diff, patch | |
| Django | django, jinja | |
| Dockerfile | dockerfile, docker | |
| dsconfig | dsconfig | |
| DTS (Device Tree) | dts | |
| Dust | dust, dst | |
| Dylan | dylan | [highlight-dylan](https://github.com/highlightjs/highlight-dylan) |
| EBNF | ebnf | |
| Elixir | elixir | |
| Elm | elm | |
| Erlang | erlang, erl | |
| Excel | excel, xls, xlsx | |
| Extempore | extempore, xtlang, xtm | [highlightjs-xtlang](https://github.com/highlightjs/highlightjs-xtlang) |
| F# | fsharp, fs | |
| FIX | fix | |
| Fortran | fortran, f90, f95 | |
| G-Code | gcode, nc | |
| Gams | gams, gms | |
| GAUSS | gauss, gss | |
| GDScript | godot, gdscript | [highlightjs-gdscript](https://github.com/highlightjs/highlightjs-gdscript) |
| Gherkin | gherkin | |
| GN for Ninja | gn, gni | [highlightjs-GN](https://github.com/highlightjs/highlightjs-GN/blob/master/gn.js) |
| Go | go, golang | |
| Grammatical Framework | gf | [highlightjs-gf](https://github.com/johnjcamilleri/highlightjs-gf) |
| Golo | golo, gololang | |
| Gradle | gradle | |
| Groovy | groovy | |
| HTML, XML | xml, html, xhtml, rss, atom, xjb, xsd, xsl, plist, svg | |
| HTTP | http, https | |
| Haml | haml | |
| Handlebars | handlebars, hbs, html.hbs, html.handlebars | |
| Haskell | haskell, hs | |
| Haxe | haxe, hx | |
| Hy | hy, hylang | |
| Ini, TOML | ini, toml | |
| Inform7 | inform7, i7 | |
| IRPF90 | irpf90 | |
| JSON | json | |
| Java | java, jsp | |
| JavaScript | javascript, js, jsx | |
| Kotlin | kotlin, kt | |
| Leaf | leaf | |
| Lasso | lasso, ls, lassoscript | |
| Less | less | |
| LDIF | ldif | |
| Lisp | lisp | |
| LiveCode Server | livecodeserver | |
| LiveScript | livescript, ls | |
| Lua | lua | |
| Makefile | makefile, mk, mak | |
| Markdown | markdown, md, mkdown, mkd | |
| Mathematica | mathematica, mma, wl | |
| Matlab | matlab | |
| Maxima | maxima | |
| Maya Embedded Language | mel | |
| Mercury | mercury | |
| mIRC Scripting Language | mirc, mrc | [highlightjs-mirc](https://github.com/highlightjs/highlightjs-mirc) |
| Mizar | mizar | |
| Mojolicious | mojolicious | |
| Monkey | monkey | |
| Moonscript | moonscript, moon | |
| N1QL | n1ql | |
| NSIS | nsis | |
| Nginx | nginx, nginxconf | |
| Nimrod | nimrod, nim | |
| Nix | nix | |
| OCaml | ocaml, ml | |
| Objective C | objectivec, mm, objc, obj-c | |
| OpenGL Shading Language | glsl | |
| OpenSCAD | openscad, scad | |
| Oracle Rules Language | ruleslanguage | |
| Oxygene | oxygene | |
| PF | pf, pf.conf | |
| PHP | php, php3, php4, php5, php6, php7 | |
| Parser3 | parser3 | |
| Perl | perl, pl, pm | |
| Plaintext: no highlight | plaintext | |
| Pony | pony | |
| PostgreSQL & PL/pgSQL | pgsql, postgres, postgresql | |
| PowerShell | powershell, ps, ps1 | |
| Processing | processing | |
| Prolog | prolog | |
| Properties | properties | |
| Protocol Buffers | protobuf | |
| Puppet | puppet, pp | |
| Python | python, py, gyp | |
| Python profiler results | profile | |
| Q | k, kdb | |
| QML | qml | |
| R | r | |
| Razor CSHTML | cshtml, razor, razor-cshtml | [highlightjs-cshtml-razor](https://github.com/highlightjs/highlightjs-cshtml-razor) |
| ReasonML | reasonml, re | |
| RenderMan RIB | rib | |
| RenderMan RSL | rsl | |
| Roboconf | graph, instances | |
| Robot Framework | robot, rf | [highlightjs-robot](https://github.com/highlightjs/highlightjs-robot) |
| RPM spec files | rpm-specfile, rpm, spec, rpm-spec, specfile | [highlightjs-rpm-specfile](https://github.com/highlightjs/highlightjs-rpm-specfile) |
| Ruby | ruby, rb, gemspec, podspec, thor, irb | |
| Rust | rust, rs | |
| SAS | SAS, sas | |
| SCSS | scss | |
| SQL | sql | |
| STEP Part 21 | p21, step, stp | |
| Scala | scala | |
| Scheme | scheme | |
| Scilab | scilab, sci | |
| Shape Expressions | shexc | [highlightjs-shexc](https://github.com/highlightjs/highlightjs-shexc) |
| Shell | shell, console | |
| Smali | smali | |
| Smalltalk | smalltalk, st | |
| Solidity | solidity, sol | [highlightjs-solidity](https://github.com/highlightjs/highlightjs-solidity) |
| Stan | stan, stanfuncs | |
| Stata | stata | |
| Structured Text | iecst, scl, stl, structured-text | [highlightjs-structured-text](https://github.com/highlightjs/highlightjs-structured-text) |
| Stylus | stylus, styl | |
| SubUnit | subunit | |
| Supercollider | supercollider, sc | [highlightjs-supercollider](https://github.com/highlightjs/highlightjs-supercollider) |
| Swift | swift | |
| Tcl | tcl, tk | |
| Terraform (HCL) | terraform, tf, hcl | [highlightjs-terraform](https://github.com/highlightjs/highlightjs-terraform) |
| Test Anything Protocol | tap | |
| TeX | tex | |
| Thrift | thrift | |
| TP | tp | |
| Twig | twig, craftcms | |
| TypeScript | typescript, ts | |
| VB.Net | vbnet, vb | |
| VBScript | vbscript, vbs | |
| VHDL | vhdl | |
| Vala | vala | |
| Verilog | verilog, v | |
| Vim Script | vim | |
| x86 Assembly | x86asm | |
| XL | xl, tao | |
| XQuery | xquery, xpath, xq | |
| YAML | yml, yaml | |
| Zephir | zephir, zep | |
Languages with the specified package name are defined in separate repositories
and not included in `highlight.pack.js`.
</details>
## Custom Initialization
When you need a bit more control over the initialization of
@ -51,11 +267,11 @@ highlight.js, you can use the [`highlightBlock`][3] and [`configure`][4]
functions. This allows you to control *what* to highlight and *when*.
Here’s an equivalent way to calling [`initHighlightingOnLoad`][1] using
jQuery:
vanilla JS:
```javascript
$(document).ready(function() {
$('pre code').each(function(i, block) {
```js
document.addEventListener('DOMContentLoaded', (event) => {
document.querySelectorAll('pre code').forEach((block) => {
hljs.highlightBlock(block);
});
});
@ -65,10 +281,10 @@ You can use any tags instead of `<pre><code>` to mark up your code. If
you don't use a container that preserves line breaks you will need to
configure highlight.js to use the `<br>` tag:
```javascript
```js
hljs.configure({useBR: true});
$('div.code').each(function(i, block) {
document.querySelectorAll('div.code').forEach((block) => {
hljs.highlightBlock(block);
});
```
@ -83,25 +299,47 @@ window while dealing with very big chunks of code.
In your main script:
```javascript
addEventListener('load', function() {
var code = document.querySelector('#code');
var worker = new Worker('worker.js');
worker.onmessage = function(event) { code.innerHTML = event.data; }
```js
addEventListener('load', () => {
const code = document.querySelector('#code');
const worker = new Worker('worker.js');
worker.onmessage = (event) => { code.innerHTML = event.data; }
worker.postMessage(code.textContent);
})
});
```
In worker.js:
```javascript
onmessage = function(event) {
```js
onmessage = (event) => {
importScripts('<path>/highlight.pack.js');
var result = self.hljs.highlightAuto(event.data);
const result = self.hljs.highlightAuto(event.data);
postMessage(result.value);
}
};
```
## Node.js
You can use highlight.js with node to highlight content before sending it to the browser.
Make sure to use the `.value` property to get the formatted html.
For more info about the returned object refer to the api docs https://highlightjs.readthedocs.io/en/latest/api.html
```js
// require the highlight.js library including all languages
const hljs = require('./highlight.js');
const highlightedCode = hljs.highlightAuto('<span>Hello World!</span>').value
```
```js
// require the highlight.js library without languages
const hljs = require("highlight.js/lib/highlight.js");
// separately require languages
hljs.registerLanguage('html', require('highlight.js/lib/languages/html'));
hljs.registerLanguage('sql', require('highlight.js/lib/languages/sql'));
// highlight with providing the language
const highlightedCode = hljs.highlight('html', '<span>Hello World!</span>').value
```
## Getting the Library
@ -122,13 +360,15 @@ too big. If you don't see the language you need in the ["Common" section][5],
it can be added manually:
```html
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/languages/go.min.js"></script>
<script
charset="UTF-8"
src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.5/languages/go.min.js"></script>
```
**On Almond.** You need to use the optimizer to give the module a name. For
example:
```
```bash
r.js -o name=hljs paths.hljs=/path/to/highlight out=highlight.js
```
@ -143,13 +383,13 @@ npm install highlight.js --save
In your application:
```javascript
```js
import hljs from 'highlight.js';
```
The default import imports all languages! Therefore it is likely to be more efficient to import only the library and the languages you need:
```javascript
```js
import hljs from 'highlight.js/lib/highlight';
import javascript from 'highlight.js/lib/languages/javascript';
hljs.registerLanguage('javascript', javascript);
@ -157,9 +397,9 @@ hljs.registerLanguage('javascript', javascript);
To set the syntax highlighting style, if your build tool processes CSS from your JavaScript entry point, you can import the stylesheet directly into your CommonJS-module:
```javascript
```js
import hljs from 'highlight.js/lib/highlight';
import 'highlight.js/styles/github.css'
import 'highlight.js/styles/github.css';
```
## License
@ -174,7 +414,7 @@ The official site for the library is at <https://highlightjs.org/>.
Further in-depth documentation for the API and other topics is at
<http://highlightjs.readthedocs.io/>.
Authors and contributors are listed in the [AUTHORS.en.txt][8] file.
Authors and contributors are listed in the [AUTHORS.txt][8] file.
[1]: http://highlightjs.readthedocs.io/en/latest/api.html#inithighlightingonload
[2]: http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html
@ -183,4 +423,4 @@ Authors and contributors are listed in the [AUTHORS.en.txt][8] file.
[5]: https://highlightjs.org/download/
[6]: http://highlightjs.readthedocs.io/en/latest/building-testing.html
[7]: https://github.com/highlightjs/highlight.js/blob/master/LICENSE
[8]: https://github.com/highlightjs/highlight.js/blob/master/AUTHORS.en.txt
[8]: https://github.com/highlightjs/highlight.js/blob/master/AUTHORS.txt

26
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/deprecated.js

@ -0,0 +1,26 @@
Reset = "\x1b[0m"
FgRed = "\x1b[31m"
FgWhite = "\x1b[37m"
FgWhite = "\x1b[37m"
Bright = "\x1b[1m"
FgBlue = "\x1b[34m"
BgRed = "\x1b[41m"
DEPRECATION = `${BgRed + FgWhite}-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*${Reset}
${Bright}${FgWhite}
Verion 9 of Highlight.js has reached EOL. It will no longer
be supported or receive security updates in the future.
Please upgrade to version 10 or encourage your indirect
dependencies to do so.
For more info:
${FgBlue}
https://github.com/highlightjs/highlight.js/issues/2877
https://github.com/highlightjs/highlight.js/blob/master/VERSION_10_UPGRADE.md
${BgRed + FgWhite}
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*${Reset}
`.trim()
if (!process.env["HLJS_HIDE_UPGRADE_WARNING"]) {
console.log(DEPRECATION)
}

45
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/docs/api.rst

@ -4,7 +4,7 @@ Library API
Highlight.js exports a few functions as methods of the ``hljs`` object.
``highlight(name, value, ignore_illegals, continuation)``
``highlight(languageName, code, ignore_illegals, continuation)``
---------------------------------------------------------
Core highlighting function.
@ -14,26 +14,34 @@ forces highlighting to finish even in case of detecting illegal syntax for the
language instead of throwing an exception.
The ``continuation`` is an optional mode stack representing unfinished parsing.
When present, the function will restart parsing from this state instead of
initializing a new one.
initializing a new one. This is used internally for `sublanguage` support.
Note: `continuation` is NOT intended to support line-by-line highlighting
because there is no requirement that a grammar handle linebreaks in any special
way. It's quite possible for a grammar to have a single mode/regex that matches
MANY lines at once. This is not discouraged and entirely up to the grammar.
Returns an object with the following properties:
* ``language``: language name, same as the one passed into a function, returned for consistency with ``highlightAuto``
* ``relevance``: integer value
* ``language``: language name, same as the name passed in ``languageName``, returned for consistency with ``highlightAuto``
* ``relevance``: integer value representing the relevance score
* ``value``: HTML string with highlighting markup
* ``top``: top of the current mode stack
* ``illegal``: boolean representing whether any illegal matches were found
``highlightAuto(value, languageSubset)``
``highlightAuto(code, languageSubset)``
----------------------------------------
Highlighting with language detection.
Accepts a string with the code to highlight and an optional array of language names and aliases restricting detection to only those languages. The subset can also be set with ``configure``, but the local parameter overrides the option if set.
Returns an object with the following properties:
* ``language``: detected language
* ``relevance``: integer value
* ``relevance``: integer value representing the relevance score
* ``value``: HTML string with highlighting markup
* ``second_best``: object with the same structure for second-best heuristically detected language, may be absent
* ``second_best``: object with the same structure for second-best heuristically detected language (may be absent)
``fixMarkup(value)``
@ -118,3 +126,26 @@ Returns the languages names list.
Looks up a language by name or alias.
Returns the language object if found, ``undefined`` otherwise.
``requireLanguage(name)``
---------------------
Looks up a language by name or alias.
This should be used when one language definition depends on another.
Using this function (vs ``getLanguage``) will provide better error messaging
when a required language is missing.
Returns the language object if found, raises a hard error otherwise.
``debugMode()``
---------------
Enables *debug/development* mode. **This mode purposely makes Highlight.js more fragile! It should only be used for testing and local development (of languages or the library itself).** By default "Safe Mode" is used, providing the most reliable experience for production usage.
For example, if a new version suddenly had a serious bug (or breaking change) that affected only a single language:
* **In Safe Mode**: All other languages would continue to highlight just fine. The broken language would appear as a code block, but without any highlighting (as if it were plaintext).
* **In Debug Mode**: All highlighting would stop when an error was encountered and a JavaScript error would be thrown.

324
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/docs/css-classes-reference.rst

@ -136,325 +136,5 @@ Stylable classes
Language names and aliases
--------------------------
+-------------------------+---------------------------------------------------+
| 1C | 1c |
+-------------------------+---------------------------------------------------+
| ABNF | abnf |
+-------------------------+---------------------------------------------------+
| Access logs | accesslog |
+-------------------------+---------------------------------------------------+
| Ada | ada |
+-------------------------+---------------------------------------------------+
| ARM assembler | armasm, arm |
+-------------------------+---------------------------------------------------+
| AVR assembler | avrasm |
+-------------------------+---------------------------------------------------+
| ActionScript | actionscript, as |
+-------------------------+---------------------------------------------------+
| AngelScript | angelscript, asc |
+-------------------------+---------------------------------------------------+
| Apache | apache, apacheconf |
+-------------------------+---------------------------------------------------+
| AppleScript | applescript, osascript |
+-------------------------+---------------------------------------------------+
| Arcade | arcade |
+-------------------------+---------------------------------------------------+
| AsciiDoc | asciidoc, adoc |
+-------------------------+---------------------------------------------------+
| AspectJ | aspectj |
+-------------------------+---------------------------------------------------+
| AutoHotkey | autohotkey |
+-------------------------+---------------------------------------------------+
| AutoIt | autoit |
+-------------------------+---------------------------------------------------+
| Awk | awk, mawk, nawk, gawk |
+-------------------------+---------------------------------------------------+
| Axapta | axapta |
+-------------------------+---------------------------------------------------+
| Bash | bash, sh, zsh |
+-------------------------+---------------------------------------------------+
| Basic | basic |
+-------------------------+---------------------------------------------------+
| BNF | bnf |
+-------------------------+---------------------------------------------------+
| Brainfuck | brainfuck, bf |
+-------------------------+---------------------------------------------------+
| C# | cs, csharp |
+-------------------------+---------------------------------------------------+
| C++ | cpp, c, cc, h, c++, h++, hpp |
+-------------------------+---------------------------------------------------+
| C/AL | cal |
+-------------------------+---------------------------------------------------+
| Cache Object Script | cos, cls |
+-------------------------+---------------------------------------------------+
| CMake | cmake, cmake.in |
+-------------------------+---------------------------------------------------+
| Coq | coq |
+-------------------------+---------------------------------------------------+
| CSP | csp |
+-------------------------+---------------------------------------------------+
| CSS | css |
+-------------------------+---------------------------------------------------+
| Cap’n Proto | capnproto, capnp |
+-------------------------+---------------------------------------------------+
| Clojure | clojure, clj |
+-------------------------+---------------------------------------------------+
| CoffeeScript | coffeescript, coffee, cson, iced |
+-------------------------+---------------------------------------------------+
| Crmsh | crmsh, crm, pcmk |
+-------------------------+---------------------------------------------------+
| Crystal | crystal, cr |
+-------------------------+---------------------------------------------------+
| D | d |
+-------------------------+---------------------------------------------------+
| DNS Zone file | dns, zone, bind |
+-------------------------+---------------------------------------------------+
| DOS | dos, bat, cmd |
+-------------------------+---------------------------------------------------+
| Dart | dart |
+-------------------------+---------------------------------------------------+
| Delphi | delphi, dpr, dfm, pas, pascal, freepascal, |
| | lazarus, lpr, lfm |
+-------------------------+---------------------------------------------------+
| Diff | diff, patch |
+-------------------------+---------------------------------------------------+
| Django | django, jinja |
+-------------------------+---------------------------------------------------+
| Dockerfile | dockerfile, docker |
+-------------------------+---------------------------------------------------+
| dsconfig | dsconfig |
+-------------------------+---------------------------------------------------+
| DTS (Device Tree) | dts |
+-------------------------+---------------------------------------------------+
| Dust | dust, dst |
+-------------------------+---------------------------------------------------+
| EBNF | ebnf |
+-------------------------+---------------------------------------------------+
| Elixir | elixir |
+-------------------------+---------------------------------------------------+
| Elm | elm |
+-------------------------+---------------------------------------------------+
| Erlang | erlang, erl |
+-------------------------+---------------------------------------------------+
| Excel | excel, xls, xlsx |
+-------------------------+---------------------------------------------------+
| F# | fsharp, fs |
+-------------------------+---------------------------------------------------+
| FIX | fix |
+-------------------------+---------------------------------------------------+
| Fortran | fortran, f90, f95 |
+-------------------------+---------------------------------------------------+
| G-Code | gcode, nc |
+-------------------------+---------------------------------------------------+
| Gams | gams, gms |
+-------------------------+---------------------------------------------------+
| GAUSS | gauss, gss |
+-------------------------+---------------------------------------------------+
| Gherkin | gherkin |
+-------------------------+---------------------------------------------------+
| Go | go, golang |
+-------------------------+---------------------------------------------------+
| Golo | golo, gololang |
+-------------------------+---------------------------------------------------+
| Gradle | gradle |
+-------------------------+---------------------------------------------------+
| Groovy | groovy |
+-------------------------+---------------------------------------------------+
| HTML, XML | xml, html, xhtml, rss, atom, xjb, xsd, xsl, plist |
+-------------------------+---------------------------------------------------+
| HTTP | http, https |
+-------------------------+---------------------------------------------------+
| Haml | haml |
+-------------------------+---------------------------------------------------+
| Handlebars | handlebars, hbs, html.hbs, html.handlebars |
+-------------------------+---------------------------------------------------+
| Haskell | haskell, hs |
+-------------------------+---------------------------------------------------+
| Haxe | haxe, hx |
+-------------------------+---------------------------------------------------+
| Hy | hy, hylang |
+-------------------------+---------------------------------------------------+
| Ini, TOML | ini, toml |
+-------------------------+---------------------------------------------------+
| Inform7 | inform7, i7 |
+-------------------------+---------------------------------------------------+
| IRPF90 | irpf90 |
+-------------------------+---------------------------------------------------+
| JSON | json |
+-------------------------+---------------------------------------------------+
| Java | java, jsp |
+-------------------------+---------------------------------------------------+
| JavaScript | javascript, js, jsx |
+-------------------------+---------------------------------------------------+
| Leaf | leaf |
+-------------------------+---------------------------------------------------+
| Lasso | lasso, ls, lassoscript |
+-------------------------+---------------------------------------------------+
| Less | less |
+-------------------------+---------------------------------------------------+
| LDIF | ldif |
+-------------------------+---------------------------------------------------+
| Lisp | lisp |
+-------------------------+---------------------------------------------------+
| LiveCode Server | livecodeserver |
+-------------------------+---------------------------------------------------+
| LiveScript | livescript, ls |
+-------------------------+---------------------------------------------------+
| Lua | lua |
+-------------------------+---------------------------------------------------+
| Makefile | makefile, mk, mak |
+-------------------------+---------------------------------------------------+
| Markdown | markdown, md, mkdown, mkd |
+-------------------------+---------------------------------------------------+
| Mathematica | mathematica, mma |
+-------------------------+---------------------------------------------------+
| Matlab | matlab |
+-------------------------+---------------------------------------------------+
| Maxima | maxima |
+-------------------------+---------------------------------------------------+
| Maya Embedded Language | mel |
+-------------------------+---------------------------------------------------+
| Mercury | mercury |
+-------------------------+---------------------------------------------------+
| Mizar | mizar |
+-------------------------+---------------------------------------------------+
| Mojolicious | mojolicious |
+-------------------------+---------------------------------------------------+
| Monkey | monkey |
+-------------------------+---------------------------------------------------+
| Moonscript | moonscript, moon |
+-------------------------+---------------------------------------------------+
| N1QL | n1ql |
+-------------------------+---------------------------------------------------+
| NSIS | nsis |
+-------------------------+---------------------------------------------------+
| Nginx | nginx, nginxconf |
+-------------------------+---------------------------------------------------+
| Nimrod | nimrod, nim |
+-------------------------+---------------------------------------------------+
| Nix | nix |
+-------------------------+---------------------------------------------------+
| OCaml | ocaml, ml |
+-------------------------+---------------------------------------------------+
| Objective C | objectivec, mm, objc, obj-c |
+-------------------------+---------------------------------------------------+
| OpenGL Shading Language | glsl |
+-------------------------+---------------------------------------------------+
| OpenSCAD | openscad, scad |
+-------------------------+---------------------------------------------------+
| Oracle Rules Language | ruleslanguage |
+-------------------------+---------------------------------------------------+
| Oxygene | oxygene |
+-------------------------+---------------------------------------------------+
| PF | pf, pf.conf |
+-------------------------+---------------------------------------------------+
| PHP | php, php3, php4, php5, php6 |
+-------------------------+---------------------------------------------------+
| Parser3 | parser3 |
+-------------------------+---------------------------------------------------+
| Perl | perl, pl, pm |
+-------------------------+---------------------------------------------------+
| Plaintext: no highlight | plaintext |
+-------------------------+---------------------------------------------------+
| Pony | pony |
+-------------------------+---------------------------------------------------+
| PostgreSQL & PL/pgSQL | pgsql, postgres, postgresql |
+-------------------------+---------------------------------------------------+
| PowerShell | powershell, ps |
+-------------------------+---------------------------------------------------+
| Processing | processing |
+-------------------------+---------------------------------------------------+
| Prolog | prolog |
+-------------------------+---------------------------------------------------+
| Properties | properties |
+-------------------------+---------------------------------------------------+
| Protocol Buffers | protobuf |
+-------------------------+---------------------------------------------------+
| Puppet | puppet, pp |
+-------------------------+---------------------------------------------------+
| Python | python, py, gyp |
+-------------------------+---------------------------------------------------+
| Python profiler results | profile |
+-------------------------+---------------------------------------------------+
| Q | k, kdb |
+-------------------------+---------------------------------------------------+
| QML | qml |
+-------------------------+---------------------------------------------------+
| R | r |
+-------------------------+---------------------------------------------------+
| ReasonML | reasonml, re |
+-------------------------+---------------------------------------------------+
| RenderMan RIB | rib |
+-------------------------+---------------------------------------------------+
| RenderMan RSL | rsl |
+-------------------------+---------------------------------------------------+
| Roboconf | graph, instances |
+-------------------------+---------------------------------------------------+
| Ruby | ruby, rb, gemspec, podspec, thor, irb |
+-------------------------+---------------------------------------------------+
| Rust | rust, rs |
+-------------------------+---------------------------------------------------+
| SCSS | scss |
+-------------------------+---------------------------------------------------+
| SQL | sql |
+-------------------------+---------------------------------------------------+
| STEP Part 21 | p21, step, stp |
+-------------------------+---------------------------------------------------+
| Scala | scala |
+-------------------------+---------------------------------------------------+
| Scheme | scheme |
+-------------------------+---------------------------------------------------+
| Scilab | scilab, sci |
+-------------------------+---------------------------------------------------+
| Shell | shell, console |
+-------------------------+---------------------------------------------------+
| Smali | smali |
+-------------------------+---------------------------------------------------+
| Smalltalk | smalltalk, st |
+-------------------------+---------------------------------------------------+
| Stan | stan |
+-------------------------+---------------------------------------------------+
| Stata | stata |
+-------------------------+---------------------------------------------------+
| SAS | SAS, sas |
+-------------------------+---------------------------------------------------+
| Stylus | stylus, styl |
+-------------------------+---------------------------------------------------+
| SubUnit | subunit |
+-------------------------+---------------------------------------------------+
| Swift | swift |
+-------------------------+---------------------------------------------------+
| Test Anything Protocol | tap |
+-------------------------+---------------------------------------------------+
| Tcl | tcl, tk |
+-------------------------+---------------------------------------------------+
| TeX | tex |
+-------------------------+---------------------------------------------------+
| Thrift | thrift |
+-------------------------+---------------------------------------------------+
| TP | tp |
+-------------------------+---------------------------------------------------+
| Twig | twig, craftcms |
+-------------------------+---------------------------------------------------+
| TypeScript | typescript, ts |
+-------------------------+---------------------------------------------------+
| VB.Net | vbnet, vb |
+-------------------------+---------------------------------------------------+
| VBScript | vbscript, vbs |
+-------------------------+---------------------------------------------------+
| VHDL | vhdl |
+-------------------------+---------------------------------------------------+
| Vala | vala |
+-------------------------+---------------------------------------------------+
| Verilog | verilog, v |
+-------------------------+---------------------------------------------------+
| Vim Script | vim |
+-------------------------+---------------------------------------------------+
| x86 Assembly | x86asm |
+-------------------------+---------------------------------------------------+
| XL | xl, tao |
+-------------------------+---------------------------------------------------+
| XQuery | xpath, xq |
+-------------------------+---------------------------------------------------+
| Zephir | zephir, zep |
+-------------------------+---------------------------------------------------+
The language names and aliases table has moved to `the project
README <https://github.com/highlightjs/highlight.js#supported-languages>`_.

20
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/docs/language-guide.rst

@ -126,6 +126,8 @@ This is commonly used to define nested modes:
contains: [hljs.QUOTE_STRING_MODE, 'self']
}
Note: ``self`` may not be used in the root level ``contains`` of a language. The root level mode is special and may not be self-referential.
Comments
--------
@ -258,6 +260,24 @@ Many languages share common modes and regular expressions. Such expressions are
at the end under "Common regexps" and "Common modes" titles. Use them when possible.
Regular Expression Features
---------------------------
The goal of Highlight.js is to support whatever regex features Javascript itself supports. You're using real regular expressions, use them responsibly. That said, due to the design of the parser, there are some caveats. These are addressed below.
Things we support now that we did not always:
* look-ahead regex matching for `begin` (#2135)
* look-ahead regex matching for `end` (#2237)
* look-ahead regex matching for `illegal` (#2135)
* back-references within your regex matches (#1897)
* look-behind matching (when JS supports it) for `begin` (#2135)
Things we currently know are still issues:
* look-behind matching (when JS supports it) for `end` matchers
Contributing
------------

15
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/docs/maintainers-guide.rst

@ -14,7 +14,13 @@ Commit policy
Release process
---------------
Releases happen on a 6-week schedule. Currently due to a long break the date of the next release is not set.
Releases (minor) typically happen on a 6-week schedule.
For major/minor releases you'll be releasing from ``master``. For patch releases you'll be releasing from a stable branch, such as ``9-16-stable``. This allows ongoing development of new features to continue in isolation (in master) without those changes leaking into patch releases (which should focus only on fixing breaking changes).
The goal being that minor version series always get more stable over time and that patch releases do not add features.
* For patch releases: First switch to the associated stable branch (i.e., ``9-16-stable``)
* Update CHANGES.md with everything interesting since the last update.
@ -25,9 +31,12 @@ Releases happen on a 6-week schedule. Currently due to a long break the date of
* ``"version"`` attribute in package-lock.json (run `npm install`)
* Two places in docs/conf.py (``version`` and ``release``)
* Commit the version changes and tag the commit with the plain version number (no "v." or anything like that)
* Commit the version changes and tag the commit with the version number (``9.16.2``, no "v" prefix or anything like that)
* For major/minor releases: Create a new ``[major]-[minor]-stable`` branch such as ``9-16-stable``
* Push the commit and the tags (``git push && git push --tags``)
* Push the commit and the tags to master (``git push && git push --tags``)
Pushing the tag triggers the update process which can be monitored at http://highlightjs.org/api/release/

5
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/docs/reference.rst

@ -72,7 +72,8 @@ Regular expression ending a mode. For example a single quote for strings or "$"
It's often the case that a beginning regular expression defines the entire mode and doesn't need any special ending.
For example a number can be defined with ``begin: "\\b\\d+"`` which spans all the digits.
If absent, ``end`` defaults to a regexp that matches anything, so the mode ends immediately.
If absent, ``end`` defaults to a regexp that matches anything, so the mode ends immediately (after possibly
matching any ``contains`` sub-modes).
Sometimes a mode can end not by itself but implicitly with its containing (parent) mode.
This is achieved with :ref:`endsWithParent <endsWithParent>` attribute.
@ -157,7 +158,7 @@ keyword ``do`` and another using a comma:
def foo, do: IO.puts "hello world"
Note that in the first case the parameter list after the function title may also
include a comma. And iIf we're only interested in highlighting a title we can
include a comma. And if we're only interested in highlighting a title we can
tell it to end the function definition after itself:
::

642
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/highlight.js

@ -11,7 +11,8 @@ https://highlightjs.org/
// Setup highlight.js for different environments. First is Node.js or
// CommonJS.
if(typeof exports !== 'undefined') {
// `nodeType` is checked to ensure that `exports` is not a HTML element.
if(typeof exports !== 'undefined' && !exports.nodeType) {
factory(exports);
} else if(globalObject) {
// Export hljs globally even when using AMD for cases when this script
@ -27,30 +28,45 @@ https://highlightjs.org/
}
}(function(hljs) {
var showedUpgradeWarning = false;
// Convenience variables for build-in objects
var ArrayProto = [],
objectKeys = Object.keys;
// Global internal variables used within the highlight.js library.
var languages = {},
aliases = {};
var languages = Object.create(null),
aliases = Object.create(null);
// safe/production mode - swallows more errors, tries to keep running
// even if a single syntax or parse hits a fatal error
var SAFE_MODE = true;
// Regular expressions used throughout the highlight.js library.
var noHighlightRe = /^(no-?highlight|plain|text)$/i,
languagePrefixRe = /\blang(?:uage)?-([\w-]+)\b/i,
fixMarkupRe = /((^(<[^>]+>|\t|)+|(?:\n)))/gm;
// The object will be assigned by the build tool. It used to synchronize API
// of external language files with minified version of the highlight.js library.
var API_REPLACES;
var spanEndTag = '</span>';
var LANGUAGE_NOT_FOUND = "Could not find the language '{}', did you forget to load/include a language module?";
// Global options used when within external APIs. This is modified when
// calling the `hljs.configure` function.
var options = {
hideUpgradeWarningAcceptNoSupportOrSecurityUpdates: false,
classPrefix: 'hljs-',
tabReplace: null,
useBR: false,
languages: undefined
};
// keywords that should have no default relevance value
var COMMON_KEYWORDS = 'of and for in not or if then'.split(' ');
/* Utility functions */
@ -80,13 +96,18 @@ https://highlightjs.org/
// language-* takes precedence over non-prefixed class names.
match = languagePrefixRe.exec(classes);
if (match) {
return getLanguage(match[1]) ? match[1] : 'no-highlight';
var language = getLanguage(match[1]);
if (!language) {
console.warn(LANGUAGE_NOT_FOUND.replace("{}", match[1]));
console.warn("Falling back to no-highlight mode for this block.", block);
}
return language ? match[1] : 'no-highlight';
}
classes = classes.split(/\s+/);
for (i = 0, length = classes.length; i < length; i++) {
_class = classes[i]
_class = classes[i];
if (isNotHighlighted(_class) || getLanguage(_class)) {
return _class;
@ -94,6 +115,12 @@ https://highlightjs.org/
}
}
/**
* performs a shallow merge of multiple objects into one
*
* @arguments list of objects with properties to merge
* @returns a single new object
*/
function inherit(parent) { // inherit(parent, override_obj, override_obj, ...)
var key;
var result = {};
@ -172,7 +199,9 @@ https://highlightjs.org/
}
function open(node) {
function attr_str(a) {return ' ' + a.nodeName + '="' + escape(a.value).replace('"', '&quot;') + '"';}
function attr_str(a) {
return ' ' + a.nodeName + '="' + escape(a.value).replace(/"/g, '&quot;') + '"';
}
result += '<' + tag(node) + ArrayProto.map.call(node.attributes, attr_str).join('') + '>';
}
@ -215,13 +244,87 @@ https://highlightjs.org/
/* Initialization */
function expand_mode(mode) {
function dependencyOnParent(mode) {
if (!mode) return false;
return mode.endsWithParent || dependencyOnParent(mode.starts);
}
function expand_or_clone_mode(mode) {
if (mode.variants && !mode.cached_variants) {
mode.cached_variants = mode.variants.map(function(variant) {
return inherit(mode, {variants: null}, variant);
});
}
return mode.cached_variants || (mode.endsWithParent && [inherit(mode)]) || [mode];
// EXPAND
// if we have variants then essentially "replace" the mode with the variants
// this happens in compileMode, where this function is called from
if (mode.cached_variants)
return mode.cached_variants;
// CLONE
// if we have dependencies on parents then we need a unique
// instance of ourselves, so we can be reused with many
// different parents without issue
if (dependencyOnParent(mode))
return [inherit(mode, { starts: mode.starts ? inherit(mode.starts) : null })];
if (Object.isFrozen(mode))
return [inherit(mode)];
// no special dependency issues, just return ourselves
return [mode];
}
function restoreLanguageApi(obj) {
if(API_REPLACES && !obj.langApiRestored) {
obj.langApiRestored = true;
for(var key in API_REPLACES) {
if (obj[key]) {
obj[API_REPLACES[key]] = obj[key];
}
}
(obj.contains || []).concat(obj.variants || []).forEach(restoreLanguageApi);
}
}
function compileKeywords(rawKeywords, case_insensitive) {
var compiled_keywords = {};
if (typeof rawKeywords === 'string') { // string
splitAndCompile('keyword', rawKeywords);
} else {
objectKeys(rawKeywords).forEach(function (className) {
splitAndCompile(className, rawKeywords[className]);
});
}
return compiled_keywords;
// ---
function splitAndCompile(className, str) {
if (case_insensitive) {
str = str.toLowerCase();
}
str.split(' ').forEach(function(keyword) {
var pair = keyword.split('|');
compiled_keywords[pair[0]] = [className, scoreForKeyword(pair[0], pair[1])];
});
}
}
function scoreForKeyword(keyword, providedScore) {
// manual scores always win over common keywords
// so you can force a score of 1 if you really insist
if (providedScore)
return Number(providedScore);
return commonKeyword(keyword) ? 0 : 1;
}
function commonKeyword(word) {
return COMMON_KEYWORDS.indexOf(word.toLowerCase()) != -1;
}
function compileLanguage(language) {
@ -237,34 +340,130 @@ https://highlightjs.org/
);
}
function reCountMatchGroups(re) {
return (new RegExp(re.toString() + '|')).exec('').length - 1;
}
// joinRe logically computes regexps.join(separator), but fixes the
// backreferences so they continue to match.
// it also places each individual regular expression into it's own
// match group, keeping track of the sequencing of those match groups
// is currently an exercise for the caller. :-)
function joinRe(regexps, separator) {
// backreferenceRe matches an open parenthesis or backreference. To avoid
// an incorrect parse, it additionally matches the following:
// - [...] elements, where the meaning of parentheses and escapes change
// - other escape sequences, so we do not misparse escape sequences as
// interesting elements
// - non-matching or lookahead parentheses, which do not capture. These
// follow the '(' with a '?'.
var backreferenceRe = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;
var numCaptures = 0;
var ret = '';
for (var i = 0; i < regexps.length; i++) {
numCaptures += 1;
var offset = numCaptures;
var re = reStr(regexps[i]);
if (i > 0) {
ret += separator;
}
ret += "(";
while (re.length > 0) {
var match = backreferenceRe.exec(re);
if (match == null) {
ret += re;
break;
}
ret += re.substring(0, match.index);
re = re.substring(match.index + match[0].length);
if (match[0][0] == '\\' && match[1]) {
// Adjust the backreference.
ret += '\\' + String(Number(match[1]) + offset);
} else {
ret += match[0];
if (match[0] == '(') {
numCaptures++;
}
}
}
ret += ")";
}
return ret;
}
function buildModeRegex(mode) {
var matchIndexes = {};
var matcherRe;
var regexes = [];
var matcher = {};
var matchAt = 1;
function addRule(rule, regex) {
matchIndexes[matchAt] = rule;
regexes.push([rule, regex]);
matchAt += reCountMatchGroups(regex) + 1;
}
var term;
for (var i=0; i < mode.contains.length; i++) {
var re;
term = mode.contains[i];
if (term.beginKeywords) {
re = '\\.?(?:' + term.begin + ')\\.?';
} else {
re = term.begin;
}
addRule(term, re);
}
if (mode.terminator_end)
addRule("end", mode.terminator_end);
if (mode.illegal)
addRule("illegal", mode.illegal);
var terminators = regexes.map(function(el) { return el[1]; });
matcherRe = langRe(joinRe(terminators, '|'), true);
matcher.lastIndex = 0;
matcher.exec = function(s) {
var rule;
if( regexes.length === 0) return null;
matcherRe.lastIndex = matcher.lastIndex;
var match = matcherRe.exec(s);
if (!match) { return null; }
for(var i = 0; i<match.length; i++) {
if (match[i] != undefined && matchIndexes["" +i] != undefined ) {
rule = matchIndexes[""+i];
break;
}
}
// illegal or end match
if (typeof rule === "string") {
match.type = rule;
match.extra = [mode.illegal, mode.terminator_end];
} else {
match.type = "begin";
match.rule = rule;
}
return match;
};
return matcher;
}
function compileMode(mode, parent) {
if (mode.compiled)
return;
mode.compiled = true;
mode.keywords = mode.keywords || mode.beginKeywords;
if (mode.keywords) {
var compiled_keywords = {};
var flatten = function(className, str) {
if (language.case_insensitive) {
str = str.toLowerCase();
}
str.split(' ').forEach(function(kw) {
var pair = kw.split('|');
compiled_keywords[pair[0]] = [className, pair[1] ? Number(pair[1]) : 1];
});
};
if (mode.keywords)
mode.keywords = compileKeywords(mode.keywords, language.case_insensitive);
if (typeof mode.keywords === 'string') { // string
flatten('keyword', mode.keywords);
} else {
objectKeys(mode.keywords).forEach(function (className) {
flatten(className, mode.keywords[className]);
});
}
mode.keywords = compiled_keywords;
}
mode.lexemesRe = langRe(mode.lexemes || /\w+/, true);
if (parent) {
@ -292,7 +491,7 @@ https://highlightjs.org/
mode.contains = [];
}
mode.contains = Array.prototype.concat.apply([], mode.contains.map(function(c) {
return expand_mode(c === 'self' ? mode : c)
return expand_or_clone_mode(c === 'self' ? mode : c);
}));
mode.contains.forEach(function(c) {compileMode(c, mode);});
@ -300,45 +499,62 @@ https://highlightjs.org/
compileMode(mode.starts, parent);
}
var terminators =
mode.contains.map(function(c) {
return c.beginKeywords ? '\\.?(' + c.begin + ')\\.?' : c.begin;
})
.concat([mode.terminator_end, mode.illegal])
.map(reStr)
.filter(Boolean);
mode.terminators = terminators.length ? langRe(terminators.join('|'), true) : {exec: function(/*s*/) {return null;}};
mode.terminators = buildModeRegex(mode);
}
// self is not valid at the top-level
if (language.contains && language.contains.indexOf('self') != -1) {
if (!SAFE_MODE) {
throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.")
} else {
// silently remove the broken rule (effectively ignoring it), this has historically
// been the behavior in the past, so this removal preserves compatibility with broken
// grammars when running in Safe Mode
language.contains = language.contains.filter(function(mode) { return mode != 'self'; });
}
}
compileMode(language);
}
/*
Core highlighting function. Accepts a language name, or an alias, and a
string with the code to highlight. Returns an object with the following
properties:
function hideUpgradeWarning() {
if (options.hideUpgradeWarningAcceptNoSupportOrSecurityUpdates)
return true;
- relevance (int)
- value (an HTML string with highlighting markup)
if (typeof process === "object" && typeof process.env === "object" && process.env["HLJS_HIDE_UPGRADE_WARNING"])
return true;
}
/**
* Core highlighting function.
*
* @param {string} languageName - the language to use for highlighting
* @param {string} code - the code to highlight
* @param {boolean} ignore_illegals - whether to ignore illegal matches, default is to bail
* @param {array<mode>} continuation - array of continuation modes
*
* @returns an object that represents the result
* @property {string} language - the language name
* @property {number} relevance - the relevance score
* @property {string} value - the highlighted HTML code
* @property {mode} top - top of the current mode stack
* @property {boolean} illegal - indicates whether any illegal matches were found
*/
function highlight(name, value, ignore_illegals, continuation) {
function escapeRe(value) {
return new RegExp(value.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'm');
function highlight(languageName, code, ignore_illegals, continuation) {
if (!hideUpgradeWarning()) {
if (!showedUpgradeWarning) {
showedUpgradeWarning = true;
console.log(
"Version 9 of Highlight.js has reached EOL and is no longer supported.\n" +
"Please upgrade or ask whatever dependency you are using to upgrade.\n" +
"https://github.com/highlightjs/highlight.js/issues/2877"
);
}
}
function subMode(lexeme, mode) {
var i, length;
var codeToHighlight = code;
for (i = 0, length = mode.contains.length; i < length; i++) {
if (testRe(mode.contains[i].beginRe, lexeme)) {
if (mode.contains[i].endSameAsBegin) {
mode.contains[i].endRe = escapeRe( mode.contains[i].beginRe.exec(lexeme)[0] );
}
return mode.contains[i];
}
}
function escapeRe(value) {
return new RegExp(value.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'm');
}
function endOfMode(mode, lexeme) {
@ -353,21 +569,20 @@ https://highlightjs.org/
}
}
function isIllegal(lexeme, mode) {
return !ignore_illegals && testRe(mode.illegalRe, lexeme);
}
function keywordMatch(mode, match) {
var match_str = language.case_insensitive ? match[0].toLowerCase() : match[0];
return mode.keywords.hasOwnProperty(match_str) && mode.keywords[match_str];
}
function buildSpan(classname, insideSpan, leaveOpen, noPrefix) {
function buildSpan(className, insideSpan, leaveOpen, noPrefix) {
if (!leaveOpen && insideSpan === '') return '';
if (!className) return insideSpan;
var classPrefix = noPrefix ? '' : options.classPrefix,
openSpan = '<span class="' + classPrefix,
closeSpan = leaveOpen ? '' : spanEndTag
closeSpan = leaveOpen ? '' : spanEndTag;
openSpan += classname + '">';
openSpan += className + '">';
return openSpan + insideSpan + closeSpan;
}
@ -409,7 +624,7 @@ https://highlightjs.org/
highlightAuto(mode_buffer, top.subLanguage.length ? top.subLanguage : undefined);
// Counting embedded language score towards the host language may be disabled
// with zeroing the containing mode relevance. Usecase in point is Markdown that
// with zeroing the containing mode relevance. Use case in point is Markdown that
// allows XML everywhere and makes every XML snippet to have a much larger Markdown
// score.
if (top.relevance > 0) {
@ -431,79 +646,131 @@ https://highlightjs.org/
top = Object.create(mode, {parent: {value: top}});
}
function processLexeme(buffer, lexeme) {
mode_buffer += buffer;
function doBeginMatch(match) {
var lexeme = match[0];
var new_mode = match.rule;
if (lexeme == null) {
processBuffer();
return 0;
if (new_mode && new_mode.endSameAsBegin) {
new_mode.endRe = escapeRe( lexeme );
}
var new_mode = subMode(lexeme, top);
if (new_mode) {
if (new_mode.skip) {
if (new_mode.skip) {
mode_buffer += lexeme;
} else {
if (new_mode.excludeBegin) {
mode_buffer += lexeme;
} else {
if (new_mode.excludeBegin) {
mode_buffer += lexeme;
}
processBuffer();
if (!new_mode.returnBegin && !new_mode.excludeBegin) {
mode_buffer = lexeme;
}
}
startNewMode(new_mode, lexeme);
return new_mode.returnBegin ? 0 : lexeme.length;
processBuffer();
if (!new_mode.returnBegin && !new_mode.excludeBegin) {
mode_buffer = lexeme;
}
}
startNewMode(new_mode);
return new_mode.returnBegin ? 0 : lexeme.length;
}
function doEndMatch(match) {
var lexeme = match[0];
var matchPlusRemainder = codeToHighlight.substr(match.index);
var end_mode = endOfMode(top, matchPlusRemainder);
if (!end_mode) { return; }
var end_mode = endOfMode(top, lexeme);
if (end_mode) {
var origin = top;
if (origin.skip) {
var origin = top;
if (origin.skip) {
mode_buffer += lexeme;
} else {
if (!(origin.returnEnd || origin.excludeEnd)) {
mode_buffer += lexeme;
} else {
if (!(origin.returnEnd || origin.excludeEnd)) {
mode_buffer += lexeme;
}
processBuffer();
if (origin.excludeEnd) {
mode_buffer = lexeme;
}
}
do {
if (top.className) {
result += spanEndTag;
}
if (!top.skip && !top.subLanguage) {
relevance += top.relevance;
}
top = top.parent;
} while (top !== end_mode.parent);
if (end_mode.starts) {
if (end_mode.endSameAsBegin) {
end_mode.starts.endRe = end_mode.endRe;
}
startNewMode(end_mode.starts, '');
processBuffer();
if (origin.excludeEnd) {
mode_buffer = lexeme;
}
}
do {
if (top.className) {
result += spanEndTag;
}
return origin.returnEnd ? 0 : lexeme.length;
if (!top.skip && !top.subLanguage) {
relevance += top.relevance;
}
top = top.parent;
} while (top !== end_mode.parent);
if (end_mode.starts) {
if (end_mode.endSameAsBegin) {
end_mode.starts.endRe = end_mode.endRe;
}
startNewMode(end_mode.starts);
}
return origin.returnEnd ? 0 : lexeme.length;
}
var lastMatch = {};
function processLexeme(text_before_match, match) {
var lexeme = match && match[0];
// add non-matched text to the current mode buffer
mode_buffer += text_before_match;
if (lexeme == null) {
processBuffer();
return 0;
}
// we've found a 0 width match and we're stuck, so we need to advance
// this happens when we have badly behaved rules that have optional matchers to the degree that
// sometimes they can end up matching nothing at all
// Ref: https://github.com/highlightjs/highlight.js/issues/2140
if (lastMatch.type=="begin" && match.type=="end" && lastMatch.index == match.index && lexeme === "") {
// spit the "skipped" character that our regex choked on back into the output sequence
mode_buffer += codeToHighlight.slice(match.index, match.index + 1);
return 1;
}
// edge case for when illegal matches $ (end of line) which is technically
// a 0 width match but not a begin/end match so it's not caught by the
// first handler (when ignoreIllegals is true)
// https://github.com/highlightjs/highlight.js/issues/2522
if (lastMatch.type==="illegal" && lexeme === "") {
mode_buffer += codeToHighlight.slice(match.index, match.index + 1);
return 1;
}
if (isIllegal(lexeme, top))
lastMatch = match;
if (match.type==="begin") {
return doBeginMatch(match);
} else if (match.type==="illegal" && !ignore_illegals) {
// illegal match, we do not continue processing
throw new Error('Illegal lexeme "' + lexeme + '" for mode "' + (top.className || '<unnamed>') + '"');
} else if (match.type==="end") {
var processed = doEndMatch(match);
if (processed != undefined)
return processed;
}
/*
Parser should not reach this point as all types of lexemes should be caught
earlier, but if it does due to some bug make sure it advances at least one
character forward to prevent infinite looping.
Why might be find ourselves here? Only one occasion now. An end match that was
triggered but could not be completed. When might this happen? When an `endSameasBegin`
rule sets the end rule to a specific match. Since the overall mode termination rule that's
being used to scan the text isn't recompiled that means that any match that LOOKS like
the end (but is not, because it is not an exact match to the beginning) will
end up here. A definite end match, but when `doEndMatch` tries to "reapply"
the end rule and fails to match, we wind up here, and just silently ignore the end.
This causes no real harm other than stopping a few times too many.
*/
mode_buffer += lexeme;
return lexeme.length || 1;
return lexeme.length;
}
var language = getLanguage(name);
var language = getLanguage(languageName);
if (!language) {
throw new Error('Unknown language: "' + name + '"');
console.error(LANGUAGE_NOT_FOUND.replace("{}", languageName));
throw new Error('Unknown language: "' + languageName + '"');
}
compileLanguage(language);
@ -521,13 +788,13 @@ https://highlightjs.org/
var match, count, index = 0;
while (true) {
top.terminators.lastIndex = index;
match = top.terminators.exec(value);
match = top.terminators.exec(codeToHighlight);
if (!match)
break;
count = processLexeme(value.substring(index, match.index), match[0]);
count = processLexeme(codeToHighlight.substring(index, match.index), match);
index = match.index + count;
}
processLexeme(value.substr(index));
processLexeme(codeToHighlight.substr(index));
for(current = top; current.parent; current = current.parent) { // close dangling modes
if (current.className) {
result += spanEndTag;
@ -536,17 +803,27 @@ https://highlightjs.org/
return {
relevance: relevance,
value: result,
language: name,
illegal:false,
language: languageName,
top: top
};
} catch (e) {
if (e.message && e.message.indexOf('Illegal') !== -1) {
} catch (err) {
if (err.message && err.message.indexOf('Illegal') !== -1) {
return {
illegal: true,
relevance: 0,
value: escape(codeToHighlight)
};
} else if (SAFE_MODE) {
return {
relevance: 0,
value: escape(value)
value: escape(codeToHighlight),
language: languageName,
top: top,
errorRaised: err
};
} else {
throw e;
throw err;
}
}
}
@ -562,15 +839,15 @@ https://highlightjs.org/
detected language, may be absent)
*/
function highlightAuto(text, languageSubset) {
function highlightAuto(code, languageSubset) {
languageSubset = languageSubset || options.languages || objectKeys(languages);
var result = {
relevance: 0,
value: escape(text)
value: escape(code)
};
var second_best = result;
languageSubset.filter(getLanguage).filter(autoDetection).forEach(function(name) {
var current = highlight(name, text, false);
var current = highlight(name, code, false);
current.language = name;
if (current.relevance > second_best.relevance) {
second_best = current;
@ -594,16 +871,18 @@ https://highlightjs.org/
*/
function fixMarkup(value) {
return !(options.tabReplace || options.useBR)
? value
: value.replace(fixMarkupRe, function(match, p1) {
if (options.useBR && match === '\n') {
return '<br>';
} else if (options.tabReplace) {
return p1.replace(/\t/g, options.tabReplace);
}
return '';
});
if (!(options.tabReplace || options.useBR)) {
return value;
}
return value.replace(fixMarkupRe, function(match, p1) {
if (options.useBR && match === '\n') {
return '<br>';
} else if (options.tabReplace) {
return p1.replace(/\t/g, options.tabReplace);
}
return '';
});
}
function buildClassName(prevClassName, currentLang, resultLang) {
@ -633,7 +912,7 @@ https://highlightjs.org/
return;
if (options.useBR) {
node = document.createElementNS('http://www.w3.org/1999/xhtml', 'div');
node = document.createElement('div');
node.innerHTML = block.innerHTML.replace(/\n/g, '').replace(/<br[ \/]*>/g, '\n');
} else {
node = block;
@ -643,7 +922,7 @@ https://highlightjs.org/
originalStream = nodeStream(node);
if (originalStream.length) {
resultNode = document.createElementNS('http://www.w3.org/1999/xhtml', 'div');
resultNode = document.createElement('div');
resultNode.innerHTML = result.value;
result.value = mergeStreams(originalStream, nodeStream(resultNode), text);
}
@ -686,12 +965,29 @@ https://highlightjs.org/
Attaches highlighting to the page load event.
*/
function initHighlightingOnLoad() {
addEventListener('DOMContentLoaded', initHighlighting, false);
addEventListener('load', initHighlighting, false);
window.addEventListener('DOMContentLoaded', initHighlighting, false);
window.addEventListener('load', initHighlighting, false);
}
var PLAINTEXT_LANGUAGE = { disableAutodetect: true };
function registerLanguage(name, language) {
var lang = languages[name] = language(hljs);
var lang;
try { lang = language(hljs); }
catch (error) {
console.error("Language definition for '{}' could not be registered.".replace("{}", name));
// hard or soft error
if (!SAFE_MODE) { throw error; } else { console.error(error); }
// languages that have serious errors are replaced with essentially a
// "plaintext" stand-in so that the code blocks will still get normal
// css classes applied to them - and one bad language won't break the
// entire highlighter
lang = PLAINTEXT_LANGUAGE;
}
languages[name] = lang;
restoreLanguageApi(lang);
lang.rawDefinition = language.bind(null,hljs);
if (lang.aliases) {
lang.aliases.forEach(function(alias) {aliases[alias] = name;});
}
@ -701,6 +997,20 @@ https://highlightjs.org/
return objectKeys(languages);
}
/*
intended usage: When one language truly requires another
Unlike `getLanguage`, this will throw when the requested language
is not available.
*/
function requireLanguage(name) {
var lang = getLanguage(name);
if (lang) { return lang; }
var err = new Error('The \'{}\' language is required, but not loaded.'.replace('{}',name));
throw err;
}
function getLanguage(name) {
name = (name || '').toLowerCase();
return languages[name] || languages[aliases[name]];
@ -723,8 +1033,10 @@ https://highlightjs.org/
hljs.registerLanguage = registerLanguage;
hljs.listLanguages = listLanguages;
hljs.getLanguage = getLanguage;
hljs.requireLanguage = requireLanguage;
hljs.autoDetection = autoDetection;
hljs.inherit = inherit;
hljs.debugMode = function() { SAFE_MODE = false; }
// Common regexps
hljs.IDENT_RE = '[a-zA-Z]\\w*';
@ -830,5 +1142,47 @@ https://highlightjs.org/
relevance: 0
};
var constants = [
hljs.BACKSLASH_ESCAPE,
hljs.APOS_STRING_MODE,
hljs.QUOTE_STRING_MODE,
hljs.PHRASAL_WORDS_MODE,
hljs.COMMENT,
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
hljs.HASH_COMMENT_MODE,
hljs.NUMBER_MODE,
hljs.C_NUMBER_MODE,
hljs.BINARY_NUMBER_MODE,
hljs.CSS_NUMBER_MODE,
hljs.REGEXP_MODE,
hljs.TITLE_MODE,
hljs.UNDERSCORE_TITLE_MODE,
hljs.METHOD_GUARD
]
constants.forEach(function(obj) { deepFreeze(obj); });
// https://github.com/substack/deep-freeze/blob/master/index.js
function deepFreeze (o) {
Object.freeze(o);
var objIsFunction = typeof o === 'function';
Object.getOwnPropertyNames(o).forEach(function (prop) {
if (o.hasOwnProperty(prop)
&& o[prop] !== null
&& (typeof o[prop] === "object" || typeof o[prop] === "function")
// IE11 fix: https://github.com/highlightjs/highlight.js/issues/2318
// TODO: remove in the future
&& (objIsFunction ? prop !== 'caller' && prop !== 'callee' && prop !== 'arguments' : true)
&& !Object.isFrozen(o[prop])) {
deepFreeze(o[prop]);
}
});
return o;
};
return hljs;
}));

7
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/abnf.js

@ -46,11 +46,8 @@ module.exports = function(hljs) {
};
var ruleDeclarationMode = {
begin: regexes.ruleDeclaration + '\\s*=',
returnBegin: true,
end: /=/,
relevance: 0,
contains: [{className: "attribute", begin: regexes.ruleDeclaration}]
className: "attribute",
begin: regexes.ruleDeclaration + '(?=\\s*=)',
};
return {

39
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/accesslog.js

@ -1,10 +1,15 @@
module.exports = function(hljs) {
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods
var HTTP_VERBS = [
"GET", "POST", "HEAD", "PUT", "DELETE", "CONNECT", "OPTIONS", "PATCH", "TRACE"
]
return {
contains: [
// IP
{
className: 'number',
begin: '\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b'
begin: '^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b',
relevance:5
},
// Other numbers
{
@ -15,22 +20,44 @@ module.exports = function(hljs) {
// Requests
{
className: 'string',
begin: '"(GET|POST|HEAD|PUT|DELETE|CONNECT|OPTIONS|PATCH|TRACE)', end: '"',
keywords: 'GET POST HEAD PUT DELETE CONNECT OPTIONS PATCH TRACE',
begin: '"(' + HTTP_VERBS.join("|") + ')', end: '"',
keywords: HTTP_VERBS.join(" "),
illegal: '\\n',
relevance: 10
relevance: 5,
contains: [{
begin: 'HTTP/[12]\\.\\d',
relevance:5
}]
},
// Dates
{
className: 'string',
// dates must have a certain length, this prevents matching
// simple array accesses a[123] and [] and other common patterns
// found in other languages
begin: /\[\d[^\]\n]{8,}\]/,
illegal: '\\n',
relevance: 1
},
{
className: 'string',
begin: /\[/, end: /\]/,
illegal: '\\n'
illegal: '\\n',
relevance: 0
},
// User agent / relevance boost
{
className: 'string',
begin: '"Mozilla/\\d\\.\\d \\\(', end: '"',
illegal: '\\n',
relevance: 3
},
// Strings
{
className: 'string',
begin: '"', end: '"',
illegal: '\\n'
illegal: '\\n',
relevance: 0
}
]
};

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/angelscript.js

@ -25,7 +25,7 @@ module.exports = function(hljs) {
'for in|0 break continue while do|0 return if else case switch namespace is cast ' +
'or and xor not get|0 in inout|10 out override set|0 private public const default|0 ' +
'final shared external mixin|10 enum typedef funcdef this super import from interface ' +
'abstract|0 try catch protected explicit',
'abstract|0 try catch protected explicit property',
// avoid close detection with C# and JS
illegal: '(^using\\s+[A-Za-z0-9_\\.]+;$|\\bfunction\s*[^\\(])',

19
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/arcade.js

@ -4,23 +4,24 @@ module.exports = function(hljs) {
keyword:
'if for while var new function do return void else break',
literal:
'true false null undefined NaN Infinity PI BackSlash DoubleQuote ForwardSlash NewLine SingleQuote Tab',
'BackSlash DoubleQuote false ForwardSlash Infinity NaN NewLine null PI SingleQuote Tab TextFormatting true undefined',
built_in:
'Abs Acos Area AreaGeodetic Asin Atan Atan2 Average Boolean Buffer BufferGeodetic ' +
'Abs Acos Angle Attachments Area AreaGeodetic Asin Atan Atan2 Average Bearing Boolean Buffer BufferGeodetic ' +
'Ceil Centroid Clip Console Constrain Contains Cos Count Crosses Cut Date DateAdd ' +
'DateDiff Day Decode DefaultValue Dictionary Difference Disjoint Distance Distinct ' +
'DomainCode DomainName Equals Exp Extent Feature FeatureSet FeatureSetById FeatureSetByTitle ' +
'FeatureSetByUrl Filter First Floor Geometry Guid HasKey Hour IIf IndexOf Intersection ' +
'Intersects IsEmpty Length LengthGeodetic Log Max Mean Millisecond Min Minute Month ' +
'DateDiff Day Decode DefaultValue Dictionary Difference Disjoint Distance DistanceGeodetic Distinct ' +
'DomainCode DomainName Equals Exp Extent Feature FeatureSet FeatureSetByAssociation FeatureSetById FeatureSetByPortalItem ' +
'FeatureSetByRelationshipName FeatureSetByTitle FeatureSetByUrl Filter First Floor Geometry GroupBy Guid HasKey Hour IIf IndexOf ' +
'Intersection Intersects IsEmpty IsNan IsSelfIntersecting Length LengthGeodetic Log Max Mean Millisecond Min Minute Month ' +
'MultiPartToSinglePart Multipoint NextSequenceValue Now Number OrderBy Overlaps Point Polygon ' +
'Polyline Pow Random Relate Reverse Round Second SetGeometry Sin Sort Sqrt Stdev Sum ' +
'SymmetricDifference Tan Text Timestamp Today ToLocal Top Touches ToUTC TypeOf Union Variance ' +
'Polyline Portal Pow Random Relate Reverse RingIsClockWise Round Second SetGeometry Sin Sort Sqrt Stdev Sum ' +
'SymmetricDifference Tan Text Timestamp Today ToLocal Top Touches ToUTC TrackCurrentTime ' +
'TrackGeometryWindow TrackIndex TrackStartTime TrackWindow TypeOf Union UrlEncode Variance ' +
'Weekday When Within Year '
};
var EXPRESSIONS;
var SYMBOL = {
className: 'symbol',
begin: '\\$[feature|layer|map|value|view]+'
begin: '\\$[datastore|feature|layer|map|measure|sourcefeature|sourcelayer|targetfeature|targetlayer|value|view]+'
};
var NUMBER = {
className: 'number',

29
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/arduino.js

@ -1,12 +1,10 @@
module.exports = function(hljs) {
var CPP = hljs.getLanguage('cpp').exports;
return {
keywords: {
var ARDUINO_KW = {
keyword:
'boolean byte word string String array ' + CPP.keywords.keyword,
'boolean byte word String',
built_in:
'setup loop while catch for if do goto try switch case else ' +
'default break continue return ' +
'setup loop' +
'KeyboardController MouseController SoftwareSerial ' +
'EthernetServer EthernetClient LiquidCrystal ' +
'RobotControl GSMVoiceCall EthernetUDP EsploraTFT ' +
@ -86,14 +84,15 @@ module.exports = function(hljs) {
'SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN ' +
'INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL ' +
'DEFAULT OUTPUT INPUT HIGH LOW'
},
contains: [
CPP.preprocessor,
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
hljs.APOS_STRING_MODE,
hljs.QUOTE_STRING_MODE,
hljs.C_NUMBER_MODE
]
};
var ARDUINO = hljs.requireLanguage('cpp').rawDefinition();
var kws = ARDUINO.keywords;
kws.keyword += ' ' + ARDUINO_KW.keyword;
kws.literal += ' ' + ARDUINO_KW.literal;
kws.built_in += ' ' + ARDUINO_KW.built_in;
return ARDUINO;
};

31
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/autohotkey.js

@ -8,14 +8,10 @@ module.exports = function(hljs) {
aliases: [ 'ahk' ],
keywords: {
keyword: 'Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group',
literal: 'A|0 true false NOT AND OR',
literal: 'true false NOT AND OR',
built_in: 'ComSpec Clipboard ClipboardAll ErrorLevel',
},
contains: [
{
className: 'built_in',
begin: 'A_[a-zA-Z0-9]+'
},
BACKTICK_ESCAPE,
hljs.inherit(hljs.QUOTE_STRING_MODE, {contains: [BACKTICK_ESCAPE]}),
hljs.COMMENT(';', '$', {relevance: 0}),
@ -26,29 +22,32 @@ module.exports = function(hljs) {
relevance: 0
},
{
className: 'subst', // FIXED
begin: '%(?=[a-zA-Z0-9#_$@])', end: '%',
illegal: '[^a-zA-Z0-9#_$@]'
className: 'variable', //subst would be the most accurate however fails the point of highlighting. variable is comparably the most accurate that actually has some effect
begin: '%[a-zA-Z0-9#_$@]+%'
},
{
className: 'built_in',
begin: '^\\s*\\w+\\s*,'
begin: '^\\s*\\w+\\s*(,|%)'
//I don't really know if this is totally relevant
},
{
className: 'meta',
begin: '^\\s*#\w+', end:'$',
relevance: 0
},
{
className: 'symbol',
contains: [BACKTICK_ESCAPE],
className: 'title', //symbol would be most accurate however is higlighted just like built_in and that makes up a lot of AutoHotkey code
//meaning that it would fail to highlight anything
variants: [
{begin: '^[^\\n";]+::(?!=)'},
{begin: '^[^\\n";]+:(?!=)', relevance: 0} // zero relevance as it catches a lot of things
// followed by a single ':' in many languages
]
},
{
className: 'meta',
begin: '^\\s*#\\w+', end:'$',
relevance: 0
},
{
className: 'built_in',
begin: 'A_[a-zA-Z0-9]+'
},
{
// consecutive commas, not for highlighting but just for relevance
begin: ',\\s*,'

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/avrasm.js

@ -52,7 +52,7 @@ module.exports = function(hljs) {
},
{className: 'symbol', begin: '^[A-Za-z0-9_.$]+:'},
{className: 'meta', begin: '#', end: '$'},
{ // подстановка в «.macro»
{ // substitution within a macro
className: 'subst',
begin: '@[0-9]+'
}

6
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/bash.js

@ -19,6 +19,11 @@ module.exports = function(hljs) {
}
]
};
var ESCAPED_QUOTE = {
className: '',
begin: /\\"/
};
var APOS_STRING = {
className: 'string',
begin: /'/, end: /'/
@ -67,6 +72,7 @@ module.exports = function(hljs) {
},
hljs.HASH_COMMENT_MODE,
QUOTE_STRING,
ESCAPED_QUOTE,
APOS_STRING,
VAR
]

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/basic.js

@ -10,7 +10,7 @@ module.exports = function(hljs) {
'CLEAR CLOSE CLS COLOR COM COMMON CONT COS CSNG CSRLIN CVD CVI CVS DATA DATE$ ' +
'DEFDBL DEFINT DEFSNG DEFSTR DEF|0 SEG USR DELETE DIM DRAW EDIT END ENVIRON ENVIRON$ ' +
'EOF EQV ERASE ERDEV ERDEV$ ERL ERR ERROR EXP FIELD FILES FIX FOR|0 FRE GET GOSUB|10 GOTO ' +
'HEX$ IF|0 THEN ELSE|0 INKEY$ INP INPUT INPUT# INPUT$ INSTR IMP INT IOCTL IOCTL$ KEY ON ' +
'HEX$ IF THEN ELSE|0 INKEY$ INP INPUT INPUT# INPUT$ INSTR IMP INT IOCTL IOCTL$ KEY ON ' +
'OFF LIST KILL LEFT$ LEN LET LINE LLIST LOAD LOC LOCATE LOF LOG LPRINT USING LSET ' +
'MERGE MID$ MKDIR MKD$ MKI$ MKS$ MOD NAME NEW NEXT NOISE NOT OCT$ ON OR PEN PLAY STRIG OPEN OPTION ' +
'BASE OUT PAINT PALETTE PCOPY PEEK PMAP POINT POKE POS PRINT PRINT] PSET PRESET ' +

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/brainfuck.js

@ -27,7 +27,7 @@ module.exports = function(hljs){
},
{
// this mode works as the only relevance counter
begin: /\+\+|\-\-/, returnBegin: true,
begin: /(?:\+\+|\-\-)/,
contains: [LITERAL]
},
LITERAL

4
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/clean.js

@ -7,6 +7,8 @@ module.exports = function(hljs) {
'implementation definition system module from import qualified as ' +
'special code inline foreign export ccall stdcall generic derive ' +
'infix infixl infixr',
built_in:
'Int Real Char Bool',
literal:
'True False'
},
@ -18,7 +20,7 @@ module.exports = function(hljs) {
hljs.QUOTE_STRING_MODE,
hljs.C_NUMBER_MODE,
{begin: '->|<-[|:]?|::|#!?|>>=|\\{\\||\\|\\}|:==|=:|\\.\\.|<>|`'} // relevance booster
{begin: '->|<-[|:]?|#!?|>>=|\\{\\||\\|\\}|:==|=:|<>'} // relevance booster
]
};
};

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/clojure-repl.js

@ -3,7 +3,7 @@ module.exports = function(hljs) {
contains: [
{
className: 'meta',
begin: /^([\w.-]+|\s*#_)=>/,
begin: /^([\w.-]+|\s*#_)?=>/,
starts: {
end: /$/,
subLanguage: 'clojure'

4
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/coffeescript.js

@ -52,13 +52,13 @@ module.exports = function(hljs) {
contains: [SUBST, hljs.HASH_COMMENT_MODE]
},
{
begin: '//[gim]*',
begin: '//[gim]{0,3}(?=\\W)',
relevance: 0
},
{
// regex can't start with space to parse x / 2 / 3 as two divisions
// regex can't start with *, and it supports an "illegal" in the main mode
begin: /\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/
begin: /\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/
}
]
},

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/coq.js

@ -2,7 +2,7 @@ module.exports = function(hljs) {
return {
keywords: {
keyword:
'_ as at cofix else end exists exists2 fix for forall fun if IF in let ' +
'_|0 as at cofix else end exists exists2 fix for forall fun if IF in let ' +
'match mod Prop return Set then Type using where with ' +
'Abort About Add Admit Admitted All Arguments Assumptions Axiom Back BackTo ' +
'Backtrack Bind Blacklist Canonical Cd Check Class Classes Close Coercion ' +

183
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/cpp.js

@ -1,9 +1,22 @@
module.exports = function(hljs) {
function optional(s) {
return '(?:' + s + ')?';
}
var DECLTYPE_AUTO_RE = 'decltype\\(auto\\)'
var NAMESPACE_RE = '[a-zA-Z_]\\w*::'
var TEMPLATE_ARGUMENT_RE = '<.*?>';
var FUNCTION_TYPE_RE = '(' +
DECLTYPE_AUTO_RE + '|' +
optional(NAMESPACE_RE) +'[a-zA-Z_]\\w*' + optional(TEMPLATE_ARGUMENT_RE) +
')';
var CPP_PRIMITIVE_TYPES = {
className: 'keyword',
begin: '\\b[a-z\\d_]*_t\\b'
};
// https://en.cppreference.com/w/cpp/language/escape
// \\ \x \xFF \u2837 \u00323747 \374
var CHARACTER_ESCAPES = '\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)'
var STRINGS = {
className: 'string',
variants: [
@ -13,16 +26,10 @@ module.exports = function(hljs) {
contains: [hljs.BACKSLASH_ESCAPE]
},
{
// TODO: This does not handle raw string literals with prefixes. Using
// a single regex with backreferences would work (note to use *?
// instead of * to make it non-greedy), but the mode.terminators
// computation in highlight.js breaks the counting.
begin: '(u8?|U|L)?R"\\(', end: '\\)"',
},
{
begin: '\'\\\\?.', end: '\'',
begin: '(u8?|U|L)?\'(' + CHARACTER_ESCAPES + "|.)", end: '\'',
illegal: '.'
}
},
{ begin: /(?:u8?|U|L)?R"([^()\\ ]{0,16})\((?:.|\n)*?\)\1"/ }
]
};
@ -42,7 +49,7 @@ module.exports = function(hljs) {
keywords: {
'meta-keyword':
'if else elif endif define undef warning error line ' +
'pragma ifdef ifndef include'
'pragma _Pragma ifdef ifndef include'
},
contains: [
{
@ -51,7 +58,7 @@ module.exports = function(hljs) {
hljs.inherit(STRINGS, {className: 'meta-string'}),
{
className: 'meta-string',
begin: /<[^\n>]*>/, end: /$/,
begin: /<.*?>/, end: /$/,
illegal: '\\n',
},
hljs.C_LINE_COMMENT_MODE,
@ -59,29 +66,36 @@ module.exports = function(hljs) {
]
};
var FUNCTION_TITLE = hljs.IDENT_RE + '\\s*\\(';
var TITLE_MODE = {
className: 'title',
begin: optional(NAMESPACE_RE) + hljs.IDENT_RE,
relevance: 0
};
var FUNCTION_TITLE = optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\s*\\(';
var CPP_KEYWORDS = {
keyword: 'int float while private char catch import module export virtual operator sizeof ' +
keyword: 'int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof ' +
'dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace ' +
'unsigned long volatile static protected bool template mutable if public friend ' +
'do goto auto void enum else break extern using asm case typeid ' +
'do goto auto void enum else break extern using asm case typeid wchar_t' +
'short reinterpret_cast|10 default double register explicit signed typename try this ' +
'switch continue inline delete alignof constexpr decltype ' +
'noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary ' +
'switch continue inline delete alignas alignof constexpr consteval constinit decltype ' +
'concept co_await co_return co_yield requires ' +
'noexcept static_assert thread_local restrict final override ' +
'atomic_bool atomic_char atomic_schar ' +
'atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ' +
'atomic_ullong new throw return ' +
'and or not',
built_in: 'std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream ' +
'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',
built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream ' +
'auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set ' +
'unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos ' +
'unordered_map unordered_multiset unordered_multimap array shared_ptr abort terminate abs acos ' +
'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp ' +
'fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper ' +
'fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper ' +
'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow ' +
'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp ' +
'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan ' +
'vfprintf vprintf vsprintf endl initializer_list unique_ptr',
'vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary',
literal: 'true false nullptr NULL'
};
@ -93,86 +107,99 @@ module.exports = function(hljs) {
STRINGS
];
return {
aliases: ['c', 'cc', 'h', 'c++', 'h++', 'hpp'],
var EXPRESSION_CONTEXT = {
// This mode covers expression context where we can't expect a function
// definition and shouldn't highlight anything that looks like one:
// `return some()`, `else if()`, `(x*sum(1, 2))`
variants: [
{begin: /=/, end: /;/},
{begin: /\(/, end: /\)/},
{beginKeywords: 'new throw return else', end: /;/}
],
keywords: CPP_KEYWORDS,
illegal: '</',
contains: EXPRESSION_CONTAINS.concat([
PREPROCESSOR,
{
begin: '\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<', end: '>',
begin: /\(/, end: /\)/,
keywords: CPP_KEYWORDS,
contains: ['self', CPP_PRIMITIVE_TYPES]
},
{
begin: hljs.IDENT_RE + '::',
keywords: CPP_KEYWORDS
contains: EXPRESSION_CONTAINS.concat(['self']),
relevance: 0
}
]),
relevance: 0
};
var FUNCTION_DECLARATION = {
className: 'function',
begin: '(' + FUNCTION_TYPE_RE + '[\\*&\\s]+)+' + FUNCTION_TITLE,
returnBegin: true, end: /[{;=]/,
excludeEnd: true,
keywords: CPP_KEYWORDS,
illegal: /[^\w\s\*&:<>]/,
contains: [
{ // to prevent it from being confused as the function title
begin: DECLTYPE_AUTO_RE,
keywords: CPP_KEYWORDS,
relevance: 0,
},
{
// This mode covers expression context where we can't expect a function
// definition and shouldn't highlight anything that looks like one:
// `return some()`, `else if()`, `(x*sum(1, 2))`
variants: [
{begin: /=/, end: /;/},
{begin: /\(/, end: /\)/},
{beginKeywords: 'new throw return else', end: /;/}
],
keywords: CPP_KEYWORDS,
contains: EXPRESSION_CONTAINS.concat([
{
begin: /\(/, end: /\)/,
keywords: CPP_KEYWORDS,
contains: EXPRESSION_CONTAINS.concat(['self']),
relevance: 0
}
]),
begin: FUNCTION_TITLE, returnBegin: true,
contains: [TITLE_MODE],
relevance: 0
},
{
className: 'function',
begin: '(' + hljs.IDENT_RE + '[\\*&\\s]+)+' + FUNCTION_TITLE,
returnBegin: true, end: /[{;=]/,
excludeEnd: true,
className: 'params',
begin: /\(/, end: /\)/,
keywords: CPP_KEYWORDS,
illegal: /[^\w\s\*&]/,
relevance: 0,
contains: [
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
STRINGS,
NUMBERS,
CPP_PRIMITIVE_TYPES,
// Count matching parentheses.
{
begin: FUNCTION_TITLE, returnBegin: true,
contains: [hljs.TITLE_MODE],
relevance: 0
},
{
className: 'params',
begin: /\(/, end: /\)/,
keywords: CPP_KEYWORDS,
relevance: 0,
contains: [
'self',
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
STRINGS,
NUMBERS,
CPP_PRIMITIVE_TYPES,
// Count matching parentheses.
{
begin: /\(/, end: /\)/,
keywords: CPP_KEYWORDS,
relevance: 0,
contains: [
'self',
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
STRINGS,
NUMBERS,
CPP_PRIMITIVE_TYPES
]
}
CPP_PRIMITIVE_TYPES
]
},
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
PREPROCESSOR
}
]
},
CPP_PRIMITIVE_TYPES,
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
PREPROCESSOR
]
};
return {
aliases: ['c', 'cc', 'h', 'c++', 'h++', 'hpp', 'hh', 'hxx', 'cxx'],
keywords: CPP_KEYWORDS,
illegal: '</',
contains: [].concat(
EXPRESSION_CONTEXT,
FUNCTION_DECLARATION,
EXPRESSION_CONTAINS,
[
PREPROCESSOR,
{
begin: '\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<', end: '>',
keywords: CPP_KEYWORDS,
contains: ['self', CPP_PRIMITIVE_TYPES]
},
{
begin: hljs.IDENT_RE + '::',
keywords: CPP_KEYWORDS
},
{
className: 'class',
beginKeywords: 'class struct', end: /[{;:]/,

68
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/crystal.js

@ -1,14 +1,14 @@
module.exports = function(hljs) {
var NUM_SUFFIX = '(_[uif](8|16|32|64))?';
var INT_SUFFIX = '(_*[ui](8|16|32|64|128))?';
var FLOAT_SUFFIX = '(_*f(32|64))?';
var CRYSTAL_IDENT_RE = '[a-zA-Z_]\\w*[!?=]?';
var RE_STARTER = '!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|' +
'>>|>|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~';
var CRYSTAL_METHOD_RE = '[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\][=?]?';
var CRYSTAL_METHOD_RE = '[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|[=!]~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~|]|//|//=|&[-+*]=?|&\\*\\*|\\[\\][=?]?';
var CRYSTAL_PATH_RE = '[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?';
var CRYSTAL_KEYWORDS = {
keyword:
'abstract alias as as? asm begin break case class def do else elsif end ensure enum extend for fun if ' +
'abstract alias annotation as as? asm begin break case class def do else elsif end ensure enum extend for fun if ' +
'include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? ' +
'return require select self sizeof struct super then type typeof union uninitialized unless until when while with yield ' +
'return require select self sizeof struct super then type typeof union uninitialized unless until verbatim when while with yield ' +
'__DIR__ __END_LINE__ __FILE__ __LINE__',
literal: 'false nil true'
};
@ -39,14 +39,11 @@ module.exports = function(hljs) {
{begin: /'/, end: /'/},
{begin: /"/, end: /"/},
{begin: /`/, end: /`/},
{begin: '%w?\\(', end: '\\)', contains: recursiveParen('\\(', '\\)')},
{begin: '%w?\\[', end: '\\]', contains: recursiveParen('\\[', '\\]')},
{begin: '%w?{', end: '}', contains: recursiveParen('{', '}')},
{begin: '%w?<', end: '>', contains: recursiveParen('<', '>')},
{begin: '%w?/', end: '/'},
{begin: '%w?%', end: '%'},
{begin: '%w?-', end: '-'},
{begin: '%w?\\|', end: '\\|'},
{begin: '%[Qwi]?\\(', end: '\\)', contains: recursiveParen('\\(', '\\)')},
{begin: '%[Qwi]?\\[', end: '\\]', contains: recursiveParen('\\[', '\\]')},
{begin: '%[Qwi]?{', end: '}', contains: recursiveParen('{', '}')},
{begin: '%[Qwi]?<', end: '>', contains: recursiveParen('<', '>')},
{begin: '%[Qwi]?\\|', end: '\\|'},
{begin: /<<-\w+$/, end: /^\s*\w+$/},
],
relevance: 0,
@ -58,31 +55,21 @@ module.exports = function(hljs) {
{begin: '%q\\[', end: '\\]', contains: recursiveParen('\\[', '\\]')},
{begin: '%q{', end: '}', contains: recursiveParen('{', '}')},
{begin: '%q<', end: '>', contains: recursiveParen('<', '>')},
{begin: '%q/', end: '/'},
{begin: '%q%', end: '%'},
{begin: '%q-', end: '-'},
{begin: '%q\\|', end: '\\|'},
{begin: /<<-'\w+'$/, end: /^\s*\w+$/},
],
relevance: 0,
};
var REGEXP = {
begin: '(' + RE_STARTER + ')\\s*',
begin: '(?!%})(' + hljs.RE_STARTERS_RE + '|\\n|\\b(case|if|select|unless|until|when|while)\\b)\\s*',
keywords: 'case if select unless until when while',
contains: [
{
className: 'regexp',
contains: [hljs.BACKSLASH_ESCAPE, SUBST],
variants: [
{begin: '//[a-z]*', relevance: 0},
{begin: '/', end: '/[a-z]*'},
{begin: '%r\\(', end: '\\)', contains: recursiveParen('\\(', '\\)')},
{begin: '%r\\[', end: '\\]', contains: recursiveParen('\\[', '\\]')},
{begin: '%r{', end: '}', contains: recursiveParen('{', '}')},
{begin: '%r<', end: '>', contains: recursiveParen('<', '>')},
{begin: '%r/', end: '/'},
{begin: '%r%', end: '%'},
{begin: '%r-', end: '-'},
{begin: '%r\\|', end: '\\|'},
{begin: '/(?!\\/)', end: '/[a-z]*'},
]
}
],
@ -96,9 +83,6 @@ module.exports = function(hljs) {
{begin: '%r\\[', end: '\\]', contains: recursiveParen('\\[', '\\]')},
{begin: '%r{', end: '}', contains: recursiveParen('{', '}')},
{begin: '%r<', end: '>', contains: recursiveParen('<', '>')},
{begin: '%r/', end: '/'},
{begin: '%r%', end: '%'},
{begin: '%r-', end: '-'},
{begin: '%r\\|', end: '\\|'},
],
relevance: 0
@ -114,8 +98,8 @@ module.exports = function(hljs) {
EXPANSION,
STRING,
Q_STRING,
REGEXP,
REGEXP2,
REGEXP,
ATTRIBUTE,
hljs.HASH_COMMENT_MODE,
{
@ -124,7 +108,7 @@ module.exports = function(hljs) {
illegal: /=/,
contains: [
hljs.HASH_COMMENT_MODE,
hljs.inherit(hljs.TITLE_MODE, {begin: '[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?'}),
hljs.inherit(hljs.TITLE_MODE, {begin: CRYSTAL_PATH_RE}),
{begin: '<'} // relevance booster for inheritance
]
},
@ -134,7 +118,16 @@ module.exports = function(hljs) {
illegal: /=/,
contains: [
hljs.HASH_COMMENT_MODE,
hljs.inherit(hljs.TITLE_MODE, {begin: '[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?'}),
hljs.inherit(hljs.TITLE_MODE, {begin: CRYSTAL_PATH_RE}),
],
relevance: 10
},
{
beginKeywords: 'annotation', end: '$|;',
illegal: /=/,
contains: [
hljs.HASH_COMMENT_MODE,
hljs.inherit(hljs.TITLE_MODE, {begin: CRYSTAL_PATH_RE}),
],
relevance: 10
},
@ -173,10 +166,11 @@ module.exports = function(hljs) {
{
className: 'number',
variants: [
{ begin: '\\b0b([01_]*[01])' + NUM_SUFFIX },
{ begin: '\\b0o([0-7_]*[0-7])' + NUM_SUFFIX },
{ begin: '\\b0x([A-Fa-f0-9_]*[A-Fa-f0-9])' + NUM_SUFFIX },
{ begin: '\\b(([0-9][0-9_]*[0-9]|[0-9])(\\.[0-9_]*[0-9])?([eE][+-]?[0-9_]*[0-9])?)' + NUM_SUFFIX}
{ begin: '\\b0b([01_]+)' + INT_SUFFIX },
{ begin: '\\b0o([0-7_]+)' + INT_SUFFIX },
{ begin: '\\b0x([A-Fa-f0-9_]+)' + INT_SUFFIX },
{ begin: '\\b([1-9][0-9_]*[0-9]|[0-9])(\\.[0-9][0-9_]*)?([eE]_*[-+]?[0-9_]*)?' + FLOAT_SUFFIX + '(?!_)' },
{ begin: '\\b([1-9][0-9_]*|0)' + INT_SUFFIX }
],
relevance: 0
}

6
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/cs.js

@ -4,13 +4,13 @@ module.exports = function(hljs) {
// Normal keywords.
'abstract as base bool break byte case catch char checked const continue decimal ' +
'default delegate do double enum event explicit extern finally fixed float ' +
'for foreach goto if implicit in int interface internal is lock long nameof ' +
'for foreach goto if implicit in int interface internal is lock long ' +
'object operator out override params private protected public readonly ref sbyte ' +
'sealed short sizeof stackalloc static string struct switch this try typeof ' +
'uint ulong unchecked unsafe ushort using virtual void volatile while ' +
// Contextual keywords.
'add alias ascending async await by descending dynamic equals from get global group into join ' +
'let on orderby partial remove select set value var where yield',
'let nameof on orderby partial remove select set value var when where yield',
literal:
'null false true'
};
@ -81,7 +81,7 @@ module.exports = function(hljs) {
var TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\s*,\\s*' + hljs.IDENT_RE + ')*>)?(\\[\\])?';
return {
aliases: ['csharp'],
aliases: ['csharp', 'c#'],
keywords: KEYWORDS,
illegal: /::/,
contains: [

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/csp.js

@ -5,7 +5,7 @@ module.exports = function(hljs) {
keywords: {
keyword: 'base-uri child-src connect-src default-src font-src form-action' +
' frame-ancestors frame-src img-src media-src object-src plugin-types' +
' report-uri sandbox script-src style-src',
' report-uri sandbox script-src style-src',
},
contains: [
{

105
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/css.js

@ -1,44 +1,51 @@
module.exports = function(hljs) {
var IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';
var RULE = {
begin: /[A-Z\_\.\-]+\s*:/, returnBegin: true, end: ';', endsWithParent: true,
var FUNCTION_LIKE = {
begin: /[\w-]+\(/, returnBegin: true,
contains: [
{
className: 'attribute',
begin: /\S/, end: ':', excludeEnd: true,
starts: {
endsWithParent: true, excludeEnd: true,
contains: [
{
begin: /[\w-]+\(/, returnBegin: true,
contains: [
{
className: 'built_in',
begin: /[\w-]+/
},
{
begin: /\(/, end: /\)/,
contains: [
hljs.APOS_STRING_MODE,
hljs.QUOTE_STRING_MODE
]
}
]
},
hljs.CSS_NUMBER_MODE,
hljs.QUOTE_STRING_MODE,
hljs.APOS_STRING_MODE,
hljs.C_BLOCK_COMMENT_MODE,
{
className: 'number', begin: '#[0-9A-Fa-f]+'
},
{
className: 'meta', begin: '!important'
}
]
}
className: 'built_in',
begin: /[\w-]+/
},
{
begin: /\(/, end: /\)/,
contains: [
hljs.APOS_STRING_MODE,
hljs.QUOTE_STRING_MODE,
hljs.CSS_NUMBER_MODE,
]
}
]
}
var ATTRIBUTE = {
className: 'attribute',
begin: /\S/, end: ':', excludeEnd: true,
starts: {
endsWithParent: true, excludeEnd: true,
contains: [
FUNCTION_LIKE,
hljs.CSS_NUMBER_MODE,
hljs.QUOTE_STRING_MODE,
hljs.APOS_STRING_MODE,
hljs.C_BLOCK_COMMENT_MODE,
{
className: 'number', begin: '#[0-9A-Fa-f]+'
},
{
className: 'meta', begin: '!important'
}
]
}
}
var AT_IDENTIFIER = '@[a-z-]+' // @font-face
var AT_MODIFIERS = "and or not only"
var MEDIA_TYPES = "all print screen speech"
var AT_PROPERTY_RE = /@\-?\w[\w]*(\-\w+)*/ // @-webkit-keyframes
var IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';
var RULE = {
begin: /(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/, returnBegin: true, end: ';', endsWithParent: true,
contains: [
ATTRIBUTE
]
};
return {
@ -55,16 +62,23 @@ module.exports = function(hljs) {
{
className: 'selector-attr',
begin: /\[/, end: /\]/,
illegal: '$'
illegal: '$',
contains: [
hljs.APOS_STRING_MODE,
hljs.QUOTE_STRING_MODE,
]
},
{
className: 'selector-pseudo',
begin: /:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/
},
// matching these here allows us to treat them more like regular CSS
// rules so everything between the {} gets regular rule highlighting,
// which is what we want for page and font-face
{
begin: '@(font-face|page)',
lexemes: '[a-z-]+',
keywords: 'font-face page'
begin: '@(page|font-face)',
lexemes: AT_IDENTIFIER,
keywords: '@page @font-face'
},
{
begin: '@', end: '[{;]', // at_rule eating first "{" is a good thing
@ -72,16 +86,23 @@ module.exports = function(hljs) {
// a rule set but instead drops parser into
// the default mode which is how it should be.
illegal: /:/, // break on Less variables @var: ...
returnBegin: true,
contains: [
{
className: 'keyword',
begin: /\w+/
begin: AT_PROPERTY_RE
},
{
begin: /\s/, endsWithParent: true, excludeEnd: true,
relevance: 0,
keywords: AT_MODIFIERS,
contains: [
hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE,
{
begin: /[a-z-]+:/,
className:"attribute"
},
hljs.APOS_STRING_MODE,
hljs.QUOTE_STRING_MODE,
hljs.CSS_NUMBER_MODE
]
}

93
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/dart.js

@ -1,64 +1,79 @@
module.exports = function (hljs) {
module.exports = function(hljs) {
var SUBST = {
className: 'subst',
variants: [
{begin: '\\${', end: '}'},
{begin: '\\$[A-Za-z0-9_]+'}
],
keywords: 'true false null this is new super'
variants: [{
begin: '\\$[A-Za-z0-9_]+'
}],
};
var BRACED_SUBST = {
className: 'subst',
variants: [{
begin: '\\${',
end: '}'
}, ],
keywords: 'true false null this is new super',
};
var STRING = {
className: 'string',
variants: [
{
begin: 'r\'\'\'', end: '\'\'\''
variants: [{
begin: 'r\'\'\'',
end: '\'\'\''
},
{
begin: 'r"""', end: '"""'
begin: 'r"""',
end: '"""'
},
{
begin: 'r\'', end: '\'',
begin: 'r\'',
end: '\'',
illegal: '\\n'
},
{
begin: 'r"', end: '"',
begin: 'r"',
end: '"',
illegal: '\\n'
},
{
begin: '\'\'\'', end: '\'\'\'',
contains: [hljs.BACKSLASH_ESCAPE, SUBST]
begin: '\'\'\'',
end: '\'\'\'',
contains: [hljs.BACKSLASH_ESCAPE, SUBST, BRACED_SUBST]
},
{
begin: '"""', end: '"""',
contains: [hljs.BACKSLASH_ESCAPE, SUBST]
begin: '"""',
end: '"""',
contains: [hljs.BACKSLASH_ESCAPE, SUBST, BRACED_SUBST]
},
{
begin: '\'', end: '\'',
begin: '\'',
end: '\'',
illegal: '\\n',
contains: [hljs.BACKSLASH_ESCAPE, SUBST]
contains: [hljs.BACKSLASH_ESCAPE, SUBST, BRACED_SUBST]
},
{
begin: '"', end: '"',
begin: '"',
end: '"',
illegal: '\\n',
contains: [hljs.BACKSLASH_ESCAPE, SUBST]
contains: [hljs.BACKSLASH_ESCAPE, SUBST, BRACED_SUBST]
}
]
};
SUBST.contains = [
BRACED_SUBST.contains = [
hljs.C_NUMBER_MODE, STRING
];
var KEYWORDS = {
keyword: 'assert async await break case catch class const continue default do else enum extends false final ' +
'finally for if in is new null rethrow return super switch sync this throw true try var void while with yield ' +
'abstract as dynamic export external factory get implements import library operator part set static typedef',
keyword: 'abstract as assert async await break case catch class const continue covariant default deferred do ' +
'dynamic else enum export extends extension external factory false final finally for Function get hide if ' +
'implements import in inferface is library mixin new null on operator part rethrow return set show static ' +
'super switch sync this throw true try typedef var void while with yield',
built_in:
// dart:core
'print Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set ' +
'Stopwatch String StringBuffer StringSink Symbol Type Uri bool double int num ' +
'Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set ' +
'Stopwatch String StringBuffer StringSink Symbol Type Uri bool double dynamic int num print ' +
// dart:html
'document window querySelector querySelectorAll Element ElementList'
'Element ElementList document querySelector querySelectorAll window'
};
return {
@ -67,25 +82,28 @@ module.exports = function (hljs) {
STRING,
hljs.COMMENT(
'/\\*\\*',
'\\*/',
{
'\\*/', {
subLanguage: 'markdown'
}
),
hljs.COMMENT(
'///',
'$',
{
subLanguage: 'markdown'
'///+\\s*',
'$', {
contains: [{
subLanguage: 'markdown',
begin: '.',
end: '$',
}]
}
),
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
{
className: 'class',
beginKeywords: 'class interface', end: '{', excludeEnd: true,
contains: [
{
beginKeywords: 'class interface',
end: '{',
excludeEnd: true,
contains: [{
beginKeywords: 'extends implements'
},
hljs.UNDERSCORE_TITLE_MODE
@ -93,7 +111,8 @@ module.exports = function (hljs) {
},
hljs.C_NUMBER_MODE,
{
className: 'meta', begin: '@[A-Za-z]+'
className: 'meta',
begin: '@[A-Za-z]+'
},
{
begin: '=>' // No markup, just a relevance booster

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/diff.js

@ -19,7 +19,7 @@ module.exports = function(hljs) {
{begin: /^\-{3}/, end: /$/},
{begin: /^\*{3} /, end: /$/},
{begin: /^\+{3}/, end: /$/},
{begin: /\*{5}/, end: /\*{5}$/}
{begin: /^\*{15}$/ }
]
},
{

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/dockerfile.js

@ -11,7 +11,7 @@ module.exports = function(hljs) {
{
beginKeywords: 'run cmd entrypoint volume add copy workdir label healthcheck shell',
starts: {
end: /[^\\]\n/,
end: /[^\\]$/,
subLanguage: 'bash'
}
}

15
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/ebnf.js

@ -3,7 +3,7 @@ module.exports = function(hljs) {
var nonTerminalMode = {
className: "attribute",
begin: /^[ ]*[a-zA-Z][a-zA-Z-]*([\s-]+[a-zA-Z][a-zA-Z]*)*/
begin: /^[ ]*[a-zA-Z][a-zA-Z-_]*([\s-_]+[a-zA-Z][a-zA-Z]*)*/
};
var specialSequenceMode = {
@ -12,12 +12,19 @@ module.exports = function(hljs) {
};
var ruleBodyMode = {
begin: /=/, end: /;/,
begin: /=/, end: /[.;]/,
contains: [
commentMode,
specialSequenceMode,
// terminals
hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE
{
// terminals
className: 'string',
variants: [
hljs.APOS_STRING_MODE,
hljs.QUOTE_STRING_MODE,
{begin: '`', end: '`'},
]
},
]
};

68
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/elixir.js

@ -11,16 +11,78 @@ module.exports = function(hljs) {
lexemes: ELIXIR_IDENT_RE,
keywords: ELIXIR_KEYWORDS
};
var SIGIL_DELIMITERS = '[/|([{<"\']'
var LOWERCASE_SIGIL = {
className: 'string',
begin: '~[a-z]' + '(?=' + SIGIL_DELIMITERS + ')',
contains: [
{
endsParent:true,
contains: [{
contains: [hljs.BACKSLASH_ESCAPE, SUBST],
variants: [
{ begin: /"/, end: /"/ },
{ begin: /'/, end: /'/ },
{ begin: /\//, end: /\// },
{ begin: /\|/, end: /\|/ },
{ begin: /\(/, end: /\)/ },
{ begin: /\[/, end: /\]/ },
{ begin: /\{/, end: /\}/ },
{ begin: /</, end: />/ }
]
}]
},
],
};
var UPCASE_SIGIL = {
className: 'string',
begin: '~[A-Z]' + '(?=' + SIGIL_DELIMITERS + ')',
contains: [
{ begin: /"/, end: /"/ },
{ begin: /'/, end: /'/ },
{ begin: /\//, end: /\// },
{ begin: /\|/, end: /\|/ },
{ begin: /\(/, end: /\)/ },
{ begin: /\[/, end: /\]/ },
{ begin: /\{/, end: /\}/ },
{ begin: /\</, end: /\>/ }
]
};
var STRING = {
className: 'string',
contains: [hljs.BACKSLASH_ESCAPE, SUBST],
variants: [
{
begin: /"""/, end: /"""/,
},
{
begin: /'''/, end: /'''/,
},
{
begin: /~S"""/, end: /"""/,
contains: []
},
{
begin: /~S"/, end: /"/,
contains: []
},
{
begin: /~S'''/, end: /'''/,
contains: []
},
{
begin: /~S'/, end: /'/,
contains: []
},
{
begin: /'/, end: /'/
},
{
begin: /"/, end: /"/
}
},
]
};
var FUNCTION = {
@ -39,6 +101,8 @@ module.exports = function(hljs) {
});
var ELIXIR_DEFAULT_CONTAINS = [
STRING,
UPCASE_SIGIL,
LOWERCASE_SIGIL,
hljs.HASH_COMMENT_MODE,
CLASS,
FUNCTION,
@ -58,7 +122,7 @@ module.exports = function(hljs) {
},
{
className: 'number',
begin: '(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b',
begin: '(\\b0o[0-7_]+)|(\\b0b[01_]+)|(\\b0x[0-9a-fA-F_]+)|(-?\\b[1-9][0-9_]*(.[0-9_]+([eE][-+]?[0-9]+)?)?)',
relevance: 0
},
{

4
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/excel.js

@ -5,11 +5,11 @@ module.exports = function(hljs) {
lexemes: /[a-zA-Z][\w\.]*/,
// built-in functions imported from https://web.archive.org/web/20160513042710/https://support.office.com/en-us/article/Excel-functions-alphabetical-b3944572-255d-4efb-bb96-c6d90033e188
keywords: {
built_in: 'ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH AGGREGATE ADDRESS AMORDEGRC AMORLINC AND ARABIC AREAS ASC ASIN ASINH ATAN ATAN2 ATANH AVEDEV AVERAGE AVERAGEA AVERAGEIF AVERAGEIFS BAHTTEXT BASE BESSELI BESSELJ BESSELK BESSELY BETADIST BETA.DIST BETAINV BETA.INV BIN2DEC BIN2HEX BIN2OCT BINOMDIST BINOM.DIST BINOM.DIST.RANGE BINOM.INV BITAND BITLSHIFT BITOR BITRSHIFT BITXOR CALL CEILING CEILING.MATH CEILING.PRECISE CELL CHAR CHIDIST CHIINV CHITEST CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT CHISQ.TEST CHOOSE CLEAN CODE COLUMN COLUMNS COMBIN COMBINA COMPLEX CONCAT CONCATENATE CONFIDENCE CONFIDENCE.NORM CONFIDENCE.T CONVERT CORREL COS COSH COT COTH COUNT COUNTA COUNTBLANK COUNTIF COUNTIFS COUPDAYBS COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD COVAR COVARIANCE.P COVARIANCE.S CRITBINOM CSC CSCH CUBEKPIMEMBER CUBEMEMBER CUBEMEMBERPROPERTY CUBERANKEDMEMBER CUBESET CUBESETCOUNT CUBEVALUE CUMIPMT CUMPRINC DATE DATEDIF DATEVALUE DAVERAGE DAY DAYS DAYS360 DB DBCS DCOUNT DCOUNTA DDB DEC2BIN DEC2HEX DEC2OCT DECIMAL DEGREES DELTA DEVSQ DGET DISC DMAX DMIN DOLLAR DOLLARDE DOLLARFR DPRODUCT DSTDEV DSTDEVP DSUM DURATION DVAR DVARP EDATE EFFECT ENCODEURL EOMONTH ERF ERF.PRECISE ERFC ERFC.PRECISE ERROR.TYPE EUROCONVERT EVEN EXACT EXP EXPON.DIST EXPONDIST FACT FACTDOUBLE FALSE|0 F.DIST FDIST F.DIST.RT FILTERXML FIND FINDB F.INV F.INV.RT FINV FISHER FISHERINV FIXED FLOOR FLOOR.MATH FLOOR.PRECISE FORECAST FORECAST.ETS FORECAST.ETS.CONFINT FORECAST.ETS.SEASONALITY FORECAST.ETS.STAT FORECAST.LINEAR FORMULATEXT FREQUENCY F.TEST FTEST FV FVSCHEDULE GAMMA GAMMA.DIST GAMMADIST GAMMA.INV GAMMAINV GAMMALN GAMMALN.PRECISE GAUSS GCD GEOMEAN GESTEP GETPIVOTDATA GROWTH HARMEAN HEX2BIN HEX2DEC HEX2OCT HLOOKUP HOUR HYPERLINK HYPGEOM.DIST HYPGEOMDIST IF|0 IFERROR IFNA IFS IMABS IMAGINARY IMARGUMENT IMCONJUGATE IMCOS IMCOSH IMCOT IMCSC IMCSCH IMDIV IMEXP IMLN IMLOG10 IMLOG2 IMPOWER IMPRODUCT IMREAL IMSEC IMSECH IMSIN IMSINH IMSQRT IMSUB IMSUM IMTAN INDEX INDIRECT INFO INT INTERCEPT INTRATE IPMT IRR ISBLANK ISERR ISERROR ISEVEN ISFORMULA ISLOGICAL ISNA ISNONTEXT ISNUMBER ISODD ISREF ISTEXT ISO.CEILING ISOWEEKNUM ISPMT JIS KURT LARGE LCM LEFT LEFTB LEN LENB LINEST LN LOG LOG10 LOGEST LOGINV LOGNORM.DIST LOGNORMDIST LOGNORM.INV LOOKUP LOWER MATCH MAX MAXA MAXIFS MDETERM MDURATION MEDIAN MID MIDBs MIN MINIFS MINA MINUTE MINVERSE MIRR MMULT MOD MODE MODE.MULT MODE.SNGL MONTH MROUND MULTINOMIAL MUNIT N NA NEGBINOM.DIST NEGBINOMDIST NETWORKDAYS NETWORKDAYS.INTL NOMINAL NORM.DIST NORMDIST NORMINV NORM.INV NORM.S.DIST NORMSDIST NORM.S.INV NORMSINV NOT NOW NPER NPV NUMBERVALUE OCT2BIN OCT2DEC OCT2HEX ODD ODDFPRICE ODDFYIELD ODDLPRICE ODDLYIELD OFFSET OR PDURATION PEARSON PERCENTILE.EXC PERCENTILE.INC PERCENTILE PERCENTRANK.EXC PERCENTRANK.INC PERCENTRANK PERMUT PERMUTATIONA PHI PHONETIC PI PMT POISSON.DIST POISSON POWER PPMT PRICE PRICEDISC PRICEMAT PROB PRODUCT PROPER PV QUARTILE QUARTILE.EXC QUARTILE.INC QUOTIENT RADIANS RAND RANDBETWEEN RANK.AVG RANK.EQ RANK RATE RECEIVED REGISTER.ID REPLACE REPLACEB REPT RIGHT RIGHTB ROMAN ROUND ROUNDDOWN ROUNDUP ROW ROWS RRI RSQ RTD SEARCH SEARCHB SEC SECH SECOND SERIESSUM SHEET SHEETS SIGN SIN SINH SKEW SKEW.P SLN SLOPE SMALL SQL.REQUEST SQRT SQRTPI STANDARDIZE STDEV STDEV.P STDEV.S STDEVA STDEVP STDEVPA STEYX SUBSTITUTE SUBTOTAL SUM SUMIF SUMIFS SUMPRODUCT SUMSQ SUMX2MY2 SUMX2PY2 SUMXMY2 SWITCH SYD T TAN TANH TBILLEQ TBILLPRICE TBILLYIELD T.DIST T.DIST.2T T.DIST.RT TDIST TEXT TEXTJOIN TIME TIMEVALUE T.INV T.INV.2T TINV TODAY TRANSPOSE TREND TRIM TRIMMEAN TRUE|0 TRUNC T.TEST TTEST TYPE UNICHAR UNICODE UPPER VALUE VAR VAR.P VAR.S VARA VARP VARPA VDB VLOOKUP WEBSERVICE WEEKDAY WEEKNUM WEIBULL WEIBULL.DIST WORKDAY WORKDAY.INTL XIRR XNPV XOR YEAR YEARFRAC YIELD YIELDDISC YIELDMAT Z.TEST ZTEST'
built_in: 'ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH AGGREGATE ADDRESS AMORDEGRC AMORLINC AND ARABIC AREAS ASC ASIN ASINH ATAN ATAN2 ATANH AVEDEV AVERAGE AVERAGEA AVERAGEIF AVERAGEIFS BAHTTEXT BASE BESSELI BESSELJ BESSELK BESSELY BETADIST BETA.DIST BETAINV BETA.INV BIN2DEC BIN2HEX BIN2OCT BINOMDIST BINOM.DIST BINOM.DIST.RANGE BINOM.INV BITAND BITLSHIFT BITOR BITRSHIFT BITXOR CALL CEILING CEILING.MATH CEILING.PRECISE CELL CHAR CHIDIST CHIINV CHITEST CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT CHISQ.TEST CHOOSE CLEAN CODE COLUMN COLUMNS COMBIN COMBINA COMPLEX CONCAT CONCATENATE CONFIDENCE CONFIDENCE.NORM CONFIDENCE.T CONVERT CORREL COS COSH COT COTH COUNT COUNTA COUNTBLANK COUNTIF COUNTIFS COUPDAYBS COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD COVAR COVARIANCE.P COVARIANCE.S CRITBINOM CSC CSCH CUBEKPIMEMBER CUBEMEMBER CUBEMEMBERPROPERTY CUBERANKEDMEMBER CUBESET CUBESETCOUNT CUBEVALUE CUMIPMT CUMPRINC DATE DATEDIF DATEVALUE DAVERAGE DAY DAYS DAYS360 DB DBCS DCOUNT DCOUNTA DDB DEC2BIN DEC2HEX DEC2OCT DECIMAL DEGREES DELTA DEVSQ DGET DISC DMAX DMIN DOLLAR DOLLARDE DOLLARFR DPRODUCT DSTDEV DSTDEVP DSUM DURATION DVAR DVARP EDATE EFFECT ENCODEURL EOMONTH ERF ERF.PRECISE ERFC ERFC.PRECISE ERROR.TYPE EUROCONVERT EVEN EXACT EXP EXPON.DIST EXPONDIST FACT FACTDOUBLE FALSE|0 F.DIST FDIST F.DIST.RT FILTERXML FIND FINDB F.INV F.INV.RT FINV FISHER FISHERINV FIXED FLOOR FLOOR.MATH FLOOR.PRECISE FORECAST FORECAST.ETS FORECAST.ETS.CONFINT FORECAST.ETS.SEASONALITY FORECAST.ETS.STAT FORECAST.LINEAR FORMULATEXT FREQUENCY F.TEST FTEST FV FVSCHEDULE GAMMA GAMMA.DIST GAMMADIST GAMMA.INV GAMMAINV GAMMALN GAMMALN.PRECISE GAUSS GCD GEOMEAN GESTEP GETPIVOTDATA GROWTH HARMEAN HEX2BIN HEX2DEC HEX2OCT HLOOKUP HOUR HYPERLINK HYPGEOM.DIST HYPGEOMDIST IF IFERROR IFNA IFS IMABS IMAGINARY IMARGUMENT IMCONJUGATE IMCOS IMCOSH IMCOT IMCSC IMCSCH IMDIV IMEXP IMLN IMLOG10 IMLOG2 IMPOWER IMPRODUCT IMREAL IMSEC IMSECH IMSIN IMSINH IMSQRT IMSUB IMSUM IMTAN INDEX INDIRECT INFO INT INTERCEPT INTRATE IPMT IRR ISBLANK ISERR ISERROR ISEVEN ISFORMULA ISLOGICAL ISNA ISNONTEXT ISNUMBER ISODD ISREF ISTEXT ISO.CEILING ISOWEEKNUM ISPMT JIS KURT LARGE LCM LEFT LEFTB LEN LENB LINEST LN LOG LOG10 LOGEST LOGINV LOGNORM.DIST LOGNORMDIST LOGNORM.INV LOOKUP LOWER MATCH MAX MAXA MAXIFS MDETERM MDURATION MEDIAN MID MIDBs MIN MINIFS MINA MINUTE MINVERSE MIRR MMULT MOD MODE MODE.MULT MODE.SNGL MONTH MROUND MULTINOMIAL MUNIT N NA NEGBINOM.DIST NEGBINOMDIST NETWORKDAYS NETWORKDAYS.INTL NOMINAL NORM.DIST NORMDIST NORMINV NORM.INV NORM.S.DIST NORMSDIST NORM.S.INV NORMSINV NOT NOW NPER NPV NUMBERVALUE OCT2BIN OCT2DEC OCT2HEX ODD ODDFPRICE ODDFYIELD ODDLPRICE ODDLYIELD OFFSET OR PDURATION PEARSON PERCENTILE.EXC PERCENTILE.INC PERCENTILE PERCENTRANK.EXC PERCENTRANK.INC PERCENTRANK PERMUT PERMUTATIONA PHI PHONETIC PI PMT POISSON.DIST POISSON POWER PPMT PRICE PRICEDISC PRICEMAT PROB PRODUCT PROPER PV QUARTILE QUARTILE.EXC QUARTILE.INC QUOTIENT RADIANS RAND RANDBETWEEN RANK.AVG RANK.EQ RANK RATE RECEIVED REGISTER.ID REPLACE REPLACEB REPT RIGHT RIGHTB ROMAN ROUND ROUNDDOWN ROUNDUP ROW ROWS RRI RSQ RTD SEARCH SEARCHB SEC SECH SECOND SERIESSUM SHEET SHEETS SIGN SIN SINH SKEW SKEW.P SLN SLOPE SMALL SQL.REQUEST SQRT SQRTPI STANDARDIZE STDEV STDEV.P STDEV.S STDEVA STDEVP STDEVPA STEYX SUBSTITUTE SUBTOTAL SUM SUMIF SUMIFS SUMPRODUCT SUMSQ SUMX2MY2 SUMX2PY2 SUMXMY2 SWITCH SYD T TAN TANH TBILLEQ TBILLPRICE TBILLYIELD T.DIST T.DIST.2T T.DIST.RT TDIST TEXT TEXTJOIN TIME TIMEVALUE T.INV T.INV.2T TINV TODAY TRANSPOSE TREND TRIM TRIMMEAN TRUE|0 TRUNC T.TEST TTEST TYPE UNICHAR UNICODE UPPER VALUE VAR VAR.P VAR.S VARA VARP VARPA VDB VLOOKUP WEBSERVICE WEEKDAY WEEKNUM WEIBULL WEIBULL.DIST WORKDAY WORKDAY.INTL XIRR XNPV XOR YEAR YEARFRAC YIELD YIELDDISC YIELDMAT Z.TEST ZTEST'
},
contains: [
{
/* matches a beginning equal sign found in Excel formula examples */
/* matches a beginning equal sign found in Excel formula examples */
begin: /^=/,
end: /[^=]/, returnEnd: true, illegal: /=/, /* only allow single equal sign at front of line */
relevance: 10

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/fortran.js

@ -7,7 +7,7 @@ module.exports = function(hljs) {
var F_KEYWORDS = {
literal: '.False. .True.',
keyword: 'kind do while private call intrinsic where elsewhere ' +
'type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then ' +
'type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then block endblock ' +
'public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. ' +
'goto save else use module select case ' +
'access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit ' +

215
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/gauss.js

@ -1,14 +1,15 @@
module.exports = function(hljs) {
var KEYWORDS = {
keyword: 'and bool break call callexe checkinterrupt clear clearg closeall cls comlog compile ' +
keyword: 'bool break call callexe checkinterrupt clear clearg closeall cls comlog compile ' +
'continue create debug declare delete disable dlibrary dllcall do dos ed edit else ' +
'elseif enable end endfor endif endp endo errorlog errorlogat expr external fn ' +
'for format goto gosub graph if keyword let lib library line load loadarray loadexe ' +
'loadf loadk loadm loadp loads loadx local locate loopnextindex lprint lpwidth lshow ' +
'matrix msym ndpclex new not open or output outwidth plot plotsym pop prcsn print ' +
'matrix msym ndpclex new open output outwidth plot plotsym pop prcsn print ' +
'printdos proc push retp return rndcon rndmod rndmult rndseed run save saveall screen ' +
'scroll setarray show sparse stop string struct system trace trap threadfor ' +
'threadendfor threadbegin threadjoin threadstat threadend until use while winprint',
'threadendfor threadbegin threadjoin threadstat threadend until use while winprint ' +
'ne ge le gt lt and xor or not eq eqv',
built_in: 'abs acf aconcat aeye amax amean AmericanBinomCall AmericanBinomCall_Greeks AmericanBinomCall_ImpVol ' +
'AmericanBinomPut AmericanBinomPut_Greeks AmericanBinomPut_ImpVol AmericanBSCall AmericanBSCall_Greeks ' +
'AmericanBSCall_ImpVol AmericanBSPut AmericanBSPut_Greeks AmericanBSPut_ImpVol amin amult annotationGetDefaults ' +
@ -84,22 +85,26 @@ module.exports = function(hljs) {
'spTScalar spZeros sqpSolve sqpSolveMT sqpSolveMTControlCreate sqpSolveMTlagrangeCreate sqpSolveMToutCreate sqpSolveSet ' +
'sqrt statements stdc stdsc stocv stof strcombine strindx strlen strput strrindx strsect strsplit strsplitPad strtodt ' +
'strtof strtofcplx strtriml strtrimr strtrunc strtruncl strtruncpad strtruncr submat subscat substute subvec sumc sumr ' +
'surface svd svd1 svd2 svdcusv svds svdusv sysstate tab tan tanh tempname threadBegin threadEnd threadEndFor threadFor ' +
'threadJoin threadStat time timedt timestr timeutc title tkf2eps tkf2ps tocart todaydt toeplitz token topolar trapchk ' +
'surface svd svd1 svd2 svdcusv svds svdusv sysstate tab tan tanh tempname ' +
'time timedt timestr timeutc title tkf2eps tkf2ps tocart todaydt toeplitz token topolar trapchk ' +
'trigamma trimr trunc type typecv typef union unionsa uniqindx uniqindxsa unique uniquesa upmat upmat1 upper utctodt ' +
'utctodtv utrisol vals varCovMS varCovXS varget vargetl varmall varmares varput varputl vartypef vcm vcms vcx vcxs ' +
'vec vech vecr vector vget view viewxyz vlist vnamecv volume vput vread vtypecv wait waitc walkindex where window ' +
'writer xlabel xlsGetSheetCount xlsGetSheetSize xlsGetSheetTypes xlsMakeRange xlsReadM xlsReadSA xlsWrite xlsWriteM ' +
'xlsWriteSA xpnd xtics xy xyz ylabel ytics zeros zeta zlabel ztics cdfEmpirical dot h5create h5open h5read h5readAttribute ' +
'h5write h5writeAttribute ldl plotAddErrorBar plotAddSurface plotCDFEmpirical plotSetColormap plotSetContourLabels ' +
'plotSetLegendFont plotSetTextInterpreter plotSetXTicCount plotSetYTicCount plotSetZLevels powerm strjoin strtrim sylvester',
'plotSetLegendFont plotSetTextInterpreter plotSetXTicCount plotSetYTicCount plotSetZLevels powerm strjoin sylvester ' +
'strtrim',
literal: 'DB_AFTER_LAST_ROW DB_ALL_TABLES DB_BATCH_OPERATIONS DB_BEFORE_FIRST_ROW DB_BLOB DB_EVENT_NOTIFICATIONS ' +
'DB_FINISH_QUERY DB_HIGH_PRECISION DB_LAST_INSERT_ID DB_LOW_PRECISION_DOUBLE DB_LOW_PRECISION_INT32 ' +
'DB_LOW_PRECISION_INT64 DB_LOW_PRECISION_NUMBERS DB_MULTIPLE_RESULT_SETS DB_NAMED_PLACEHOLDERS ' +
'DB_POSITIONAL_PLACEHOLDERS DB_PREPARED_QUERIES DB_QUERY_SIZE DB_SIMPLE_LOCKING DB_SYSTEM_TABLES DB_TABLES ' +
'DB_TRANSACTIONS DB_UNICODE DB_VIEWS'
'DB_TRANSACTIONS DB_UNICODE DB_VIEWS __STDIN __STDOUT __STDERR __FILE_DIR'
};
var AT_COMMENT_MODE = hljs.COMMENT('@', '@');
var PREPROCESSOR =
{
className: 'meta',
@ -121,103 +126,165 @@ module.exports = function(hljs) {
]
},
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE
hljs.C_BLOCK_COMMENT_MODE,
AT_COMMENT_MODE,
]
};
var FUNCTION_TITLE = hljs.UNDERSCORE_IDENT_RE + '\\s*\\(?';
var STRUCT_TYPE =
{
begin: /\bstruct\s+/,
end: /\s/,
keywords: "struct",
contains: [
{
className: "type",
begin: hljs.UNDERSCORE_IDENT_RE,
relevance: 0,
},
],
};
// only for definitions
var PARSE_PARAMS = [
{
className: 'params',
begin: /\(/, end: /\)/,
keywords: KEYWORDS,
excludeBegin: true,
excludeEnd: true,
endsWithParent: true,
relevance: 0,
contains: [
{ // dots
className: 'literal',
begin: /\.\.\./,
},
hljs.C_NUMBER_MODE,
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE
hljs.C_BLOCK_COMMENT_MODE,
AT_COMMENT_MODE,
STRUCT_TYPE,
]
}
];
var FUNCTION_DEF =
{
className: "title",
begin: hljs.UNDERSCORE_IDENT_RE,
relevance: 0,
};
var DEFINITION = function (beginKeywords, end, inherits) {
var mode = hljs.inherit(
{
className: "function",
beginKeywords: beginKeywords,
end: end,
excludeEnd: true,
contains: [].concat(PARSE_PARAMS),
},
inherits || {}
);
mode.contains.push(FUNCTION_DEF);
mode.contains.push(hljs.C_NUMBER_MODE);
mode.contains.push(hljs.C_BLOCK_COMMENT_MODE);
mode.contains.push(AT_COMMENT_MODE);
return mode;
};
var BUILT_IN_REF =
{ // these are explicitly named internal function calls
className: 'built_in',
begin: '\\b(' + KEYWORDS.built_in.split(' ').join('|') + ')\\b',
};
var STRING_REF =
{
className: 'string',
begin: '"', end: '"',
contains: [hljs.BACKSLASH_ESCAPE],
relevance: 0,
};
var FUNCTION_REF =
{
//className: "fn_ref",
begin: hljs.UNDERSCORE_IDENT_RE + '\\s*\\(',
returnBegin: true,
keywords: KEYWORDS,
relevance: 0,
contains: [
{
beginKeywords: KEYWORDS.keyword,
},
BUILT_IN_REF,
{ // ambiguously named function calls get a relevance of 0
className: 'built_in',
begin: hljs.UNDERSCORE_IDENT_RE,
relevance: 0,
},
],
};
var FUNCTION_REF_PARAMS =
{
//className: "fn_ref_params",
begin: /\(/,
end: /\)/,
relevance: 0,
keywords: { built_in: KEYWORDS.built_in, literal: KEYWORDS.literal },
contains: [
hljs.C_NUMBER_MODE,
hljs.C_BLOCK_COMMENT_MODE,
AT_COMMENT_MODE,
BUILT_IN_REF,
FUNCTION_REF,
STRING_REF,
'self',
],
};
FUNCTION_REF.contains.push(FUNCTION_REF_PARAMS);
return {
aliases: ['gss'],
case_insensitive: true, // language is case-insensitive
keywords: KEYWORDS,
illegal: '(\\{[%#]|[%#]\\})',
illegal: /(\{[%#]|[%#]\}| <- )/,
contains: [
hljs.C_NUMBER_MODE,
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
hljs.COMMENT('@', '@'),
AT_COMMENT_MODE,
STRING_REF,
PREPROCESSOR,
{
className: 'string',
begin: '"', end: '"',
contains: [hljs.BACKSLASH_ESCAPE]
className: 'keyword',
begin: /\bexternal (matrix|string|array|sparse matrix|struct|proc|keyword|fn)/,
},
DEFINITION('proc keyword', ';'),
DEFINITION('fn', '='),
{
className: 'function',
beginKeywords: 'proc keyword',
end: ';',
excludeEnd: true,
keywords: KEYWORDS,
beginKeywords: 'for threadfor',
end: /;/,
//end: /\(/,
relevance: 0,
contains: [
{
begin: FUNCTION_TITLE, returnBegin: true,
contains: [hljs.UNDERSCORE_TITLE_MODE],
relevance: 0
},
hljs.C_NUMBER_MODE,
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
PREPROCESSOR
].concat(PARSE_PARAMS)
},
{
className: 'function',
beginKeywords: 'fn',
end: ';',
excludeEnd: true,
keywords: KEYWORDS,
contains: [
{
begin: FUNCTION_TITLE + hljs.IDENT_RE + '\\)?\\s*\\=\\s*', returnBegin: true,
contains: [hljs.UNDERSCORE_TITLE_MODE],
relevance: 0
},
hljs.C_NUMBER_MODE,
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE
].concat(PARSE_PARAMS)
AT_COMMENT_MODE,
FUNCTION_REF_PARAMS,
],
},
{
className: 'function',
begin: '\\bexternal (proc|keyword|fn)\\s+',
end: ';',
excludeEnd: true,
keywords: KEYWORDS,
contains: [
{
begin: FUNCTION_TITLE, returnBegin: true,
contains: [hljs.UNDERSCORE_TITLE_MODE],
relevance: 0
},
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE
]
{ // custom method guard
// excludes method names from keyword processing
variants: [
{ begin: hljs.UNDERSCORE_IDENT_RE + '\\.' + hljs.UNDERSCORE_IDENT_RE, },
{ begin: hljs.UNDERSCORE_IDENT_RE + '\\s*=', },
],
relevance: 0,
},
{
className: 'function',
begin: '\\bexternal (matrix|string|array|sparse matrix|struct ' + hljs.IDENT_RE + ')\\s+',
end: ';',
excludeEnd: true,
keywords: KEYWORDS,
contains: [
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE
]
}
FUNCTION_REF,
STRUCT_TYPE,
]
};
};

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/gml.js

@ -1,6 +1,6 @@
module.exports = function(hljs) {
var GML_KEYWORDS = {
keywords: 'begin end if then else while do for break continue with until ' +
keyword: 'begin end if then else while do for break continue with until ' +
'repeat exit and or xor not return mod div switch case default var ' +
'globalvar enum #macro #region #endregion',
built_in: 'is_real is_string is_array is_undefined is_int32 is_int64 ' +

6
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/go.js

@ -21,14 +21,14 @@ module.exports = function(hljs) {
className: 'string',
variants: [
hljs.QUOTE_STRING_MODE,
{begin: '\'', end: '[^\\\\]\''},
hljs.APOS_STRING_MODE,
{begin: '`', end: '`'},
]
},
{
className: 'number',
variants: [
{begin: hljs.C_NUMBER_RE + '[dflsi]', relevance: 1},
{begin: hljs.C_NUMBER_RE + '[i]', relevance: 1},
hljs.C_NUMBER_MODE
]
},
@ -37,7 +37,7 @@ module.exports = function(hljs) {
},
{
className: 'function',
beginKeywords: 'func', end: /\s*\{/, excludeEnd: true,
beginKeywords: 'func', end: '\\s*(\\{|$)', excludeEnd: true,
contains: [
hljs.TITLE_MODE,
{

75
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/handlebars.js

@ -1,32 +1,73 @@
module.exports = function(hljs) {
var BUILT_INS = {'builtin-name': 'each in with if else unless bindattr action collection debugger log outlet template unbound view yield'};
module.exports = function (hljs) {
var BUILT_INS = {'builtin-name': 'each in with if else unless bindattr action collection debugger log outlet template unbound view yield lookup'};
var IDENTIFIER_PLAIN_OR_QUOTED = {
begin: /".*?"|'.*?'|\[.*?\]|\w+/
};
var EXPRESSION_OR_HELPER_CALL = hljs.inherit(IDENTIFIER_PLAIN_OR_QUOTED, {
keywords: BUILT_INS,
starts: {
// helper params
endsWithParent: true,
relevance: 0,
contains: [hljs.inherit(IDENTIFIER_PLAIN_OR_QUOTED, {relevance: 0})]
}
});
var BLOCK_MUSTACHE_CONTENTS = hljs.inherit(EXPRESSION_OR_HELPER_CALL, {
className: 'name'
});
var BASIC_MUSTACHE_CONTENTS = hljs.inherit(EXPRESSION_OR_HELPER_CALL, {
// relevance 0 for backward compatibility concerning auto-detection
relevance: 0
});
var ESCAPE_MUSTACHE_WITH_PRECEEDING_BACKSLASH = {begin: /\\\{\{/, skip: true};
var PREVENT_ESCAPE_WITH_ANOTHER_PRECEEDING_BACKSLASH = {begin: /\\\\(?=\{\{)/, skip: true};
return {
aliases: ['hbs', 'html.hbs', 'html.handlebars'],
case_insensitive: true,
subLanguage: 'xml',
contains: [
hljs.COMMENT('{{!(--)?', '(--)?}}'),
ESCAPE_MUSTACHE_WITH_PRECEEDING_BACKSLASH,
PREVENT_ESCAPE_WITH_ANOTHER_PRECEEDING_BACKSLASH,
hljs.COMMENT(/\{\{!--/, /--\}\}/),
hljs.COMMENT(/\{\{!/, /\}\}/),
{
// open raw block "{{{{raw}}}} content not evaluated {{{{/raw}}}}"
className: 'template-tag',
begin: /\{\{\{\{(?!\/)/, end: /\}\}\}\}/,
contains: [BLOCK_MUSTACHE_CONTENTS],
starts: {end: /\{\{\{\{\//, returnEnd: true, subLanguage: 'xml'}
},
{
// close raw block
className: 'template-tag',
begin: /\{\{\{\{\//, end: /\}\}\}\}/,
contains: [BLOCK_MUSTACHE_CONTENTS]
},
{
// open block statement
className: 'template-tag',
begin: /\{\{[#\/]/, end: /\}\}/,
contains: [
{
className: 'name',
begin: /[a-zA-Z\.-]+/,
keywords: BUILT_INS,
starts: {
endsWithParent: true, relevance: 0,
contains: [
hljs.QUOTE_STRING_MODE
]
}
}
]
contains: [BLOCK_MUSTACHE_CONTENTS],
},
{
// template variable or helper-call that is NOT html-escaped
className: 'template-variable',
begin: /\{\{\{/, end: /\}\}\}/,
keywords: BUILT_INS,
contains: [BASIC_MUSTACHE_CONTENTS]
},
{
// template variable or helper-call that is html-escaped
className: 'template-variable',
begin: /\{\{/, end: /\}\}/,
keywords: BUILT_INS
keywords: BUILT_INS,
contains: [BASIC_MUSTACHE_CONTENTS]
}
]
};

103
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/highlight.js/lib/languages/ini.js

@ -1,64 +1,75 @@
module.exports = function(hljs) {
var STRING = {
var NUMBERS = {
className: 'number',
relevance: 0,
variants: [
{ begin: /([\+\-]+)?[\d]+_[\d_]+/ },
{ begin: hljs.NUMBER_RE }
]
};
var COMMENTS = hljs.COMMENT();
COMMENTS.variants = [
{begin: /;/, end: /$/},
{begin: /#/, end: /$/},
];
var VARIABLES = {
className: 'variable',
variants: [
{ begin: /\$[\w\d"][\w\d_]*/ },
{ begin: /\$\{(.*?)}/ }
]
};
var LITERALS = {
className: 'literal',
begin: /\bon|off|true|false|yes|no\b/
};
var STRINGS = {
className: "string",
contains: [hljs.BACKSLASH_ESCAPE],
variants: [
{
begin: "'''", end: "'''",
relevance: 10
}, {
begin: '"""', end: '"""',
relevance: 10
}, {
begin: '"', end: '"'
}, {
begin: "'", end: "'"
}
{ begin: "'''", end: "'''", relevance: 10 },
{ begin: '"""', end: '"""', relevance: 10 },
{ begin: '"', end: '"' },
{ begin: "'", end: "'" }
]
};
var ARRAY = {
begin: /\[/, end: /\]/,
contains: [
COMMENTS,
LITERALS,
VARIABLES,
STRINGS,
NUMBERS,
'self'
],
relevance:0
};
return {
aliases: ['toml'],
case_insensitive: true,
illegal: /\S/,
contains: [
hljs.COMMENT(';', '$'),
hljs.HASH_COMMENT_MODE,
COMMENTS,
{
className: 'section',
begin: /^\s*\[+/, end: /\]+/
begin: /\[+/, end: /\]+/
},
{
begin: /^[a-z0-9\[\]_-]+\s*=\s*/, end: '$',
returnBegin: true,
contains: [
{
className: 'attr',
begin: /[a-z0-9\[\]_-]+/
},
{
begin: /=/, endsWithParent: true,
relevance: 0,
contains: [
{
className: 'literal',
begin: /\bon|off|true|false|yes|no\b/
},
{
className: 'variable',
variants: [
{begin: /\$[\w\d"][\w\d_]*/},
{begin: /\$\{(.*?)}/}
]
},
STRING,
{
className: 'number',
begin: /([\+\-]+)?[\d]+_[\d_]+/
},
hljs.NUMBER_MODE
]
}
]
begin: /^[a-z0-9\[\]_\.-]+(?=\s*=\s*)/,
className: 'attr',
starts: {
end: /$/,
contains: [
COMMENTS,
ARRAY,
LITERALS,
VARIABLES,
STRINGS,
NUMBERS
]
}
}
]
};

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save