severityIcon.js 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*---------------------------------------------------------------------------------------------
  2. * Copyright (c) Microsoft Corporation. All rights reserved.
  3. * Licensed under the MIT License. See License.txt in the project root for license information.
  4. *--------------------------------------------------------------------------------------------*/
  5. import { Codicon } from '../../../base/common/codicons.js';
  6. import Severity from '../../../base/common/severity.js';
  7. import { problemsErrorIconForeground, problemsInfoIconForeground, problemsWarningIconForeground } from '../../theme/common/colorRegistry.js';
  8. import { registerThemingParticipant } from '../../theme/common/themeService.js';
  9. export var SeverityIcon;
  10. (function (SeverityIcon) {
  11. function className(severity) {
  12. switch (severity) {
  13. case Severity.Ignore:
  14. return 'severity-ignore ' + Codicon.info.classNames;
  15. case Severity.Info:
  16. return Codicon.info.classNames;
  17. case Severity.Warning:
  18. return Codicon.warning.classNames;
  19. case Severity.Error:
  20. return Codicon.error.classNames;
  21. default:
  22. return '';
  23. }
  24. }
  25. SeverityIcon.className = className;
  26. })(SeverityIcon || (SeverityIcon = {}));
  27. registerThemingParticipant((theme, collector) => {
  28. const errorIconForeground = theme.getColor(problemsErrorIconForeground);
  29. if (errorIconForeground) {
  30. const errorCodiconSelector = Codicon.error.cssSelector;
  31. collector.addRule(`
  32. .monaco-editor .zone-widget ${errorCodiconSelector},
  33. .markers-panel .marker-icon${errorCodiconSelector},
  34. .text-search-provider-messages .providerMessage ${errorCodiconSelector},
  35. .extensions-viewlet > .extensions ${errorCodiconSelector} {
  36. color: ${errorIconForeground};
  37. }
  38. `);
  39. }
  40. const warningIconForeground = theme.getColor(problemsWarningIconForeground);
  41. if (warningIconForeground) {
  42. const warningCodiconSelector = Codicon.warning.cssSelector;
  43. collector.addRule(`
  44. .monaco-editor .zone-widget ${warningCodiconSelector},
  45. .markers-panel .marker-icon${warningCodiconSelector},
  46. .extensions-viewlet > .extensions ${warningCodiconSelector},
  47. .extension-editor ${warningCodiconSelector},
  48. .text-search-provider-messages .providerMessage ${warningCodiconSelector},
  49. .preferences-editor ${warningCodiconSelector} {
  50. color: ${warningIconForeground};
  51. }
  52. `);
  53. }
  54. const infoIconForeground = theme.getColor(problemsInfoIconForeground);
  55. if (infoIconForeground) {
  56. const infoCodiconSelector = Codicon.info.cssSelector;
  57. collector.addRule(`
  58. .monaco-editor .zone-widget ${infoCodiconSelector},
  59. .markers-panel .marker-icon${infoCodiconSelector},
  60. .extensions-viewlet > .extensions ${infoCodiconSelector},
  61. .text-search-provider-messages .providerMessage ${infoCodiconSelector},
  62. .extension-editor ${infoCodiconSelector} {
  63. color: ${infoIconForeground};
  64. }
  65. `);
  66. }
  67. });