symbolIcons.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308
  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 { localize } from '../../../nls.js';
  7. import { foreground, registerColor } from '../../../platform/theme/common/colorRegistry.js';
  8. import { registerThemingParticipant } from '../../../platform/theme/common/themeService.js';
  9. export const SYMBOL_ICON_ARRAY_FOREGROUND = registerColor('symbolIcon.arrayForeground', {
  10. dark: foreground,
  11. light: foreground,
  12. hc: foreground
  13. }, localize('symbolIcon.arrayForeground', 'The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  14. export const SYMBOL_ICON_BOOLEAN_FOREGROUND = registerColor('symbolIcon.booleanForeground', {
  15. dark: foreground,
  16. light: foreground,
  17. hc: foreground
  18. }, localize('symbolIcon.booleanForeground', 'The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  19. export const SYMBOL_ICON_CLASS_FOREGROUND = registerColor('symbolIcon.classForeground', {
  20. dark: '#EE9D28',
  21. light: '#D67E00',
  22. hc: '#EE9D28'
  23. }, localize('symbolIcon.classForeground', 'The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  24. export const SYMBOL_ICON_COLOR_FOREGROUND = registerColor('symbolIcon.colorForeground', {
  25. dark: foreground,
  26. light: foreground,
  27. hc: foreground
  28. }, localize('symbolIcon.colorForeground', 'The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  29. export const SYMBOL_ICON_CONSTANT_FOREGROUND = registerColor('symbolIcon.constantForeground', {
  30. dark: foreground,
  31. light: foreground,
  32. hc: foreground
  33. }, localize('symbolIcon.constantForeground', 'The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  34. export const SYMBOL_ICON_CONSTRUCTOR_FOREGROUND = registerColor('symbolIcon.constructorForeground', {
  35. dark: '#B180D7',
  36. light: '#652D90',
  37. hc: '#B180D7'
  38. }, localize('symbolIcon.constructorForeground', 'The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  39. export const SYMBOL_ICON_ENUMERATOR_FOREGROUND = registerColor('symbolIcon.enumeratorForeground', {
  40. dark: '#EE9D28',
  41. light: '#D67E00',
  42. hc: '#EE9D28'
  43. }, localize('symbolIcon.enumeratorForeground', 'The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  44. export const SYMBOL_ICON_ENUMERATOR_MEMBER_FOREGROUND = registerColor('symbolIcon.enumeratorMemberForeground', {
  45. dark: '#75BEFF',
  46. light: '#007ACC',
  47. hc: '#75BEFF'
  48. }, localize('symbolIcon.enumeratorMemberForeground', 'The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  49. export const SYMBOL_ICON_EVENT_FOREGROUND = registerColor('symbolIcon.eventForeground', {
  50. dark: '#EE9D28',
  51. light: '#D67E00',
  52. hc: '#EE9D28'
  53. }, localize('symbolIcon.eventForeground', 'The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  54. export const SYMBOL_ICON_FIELD_FOREGROUND = registerColor('symbolIcon.fieldForeground', {
  55. dark: '#75BEFF',
  56. light: '#007ACC',
  57. hc: '#75BEFF'
  58. }, localize('symbolIcon.fieldForeground', 'The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  59. export const SYMBOL_ICON_FILE_FOREGROUND = registerColor('symbolIcon.fileForeground', {
  60. dark: foreground,
  61. light: foreground,
  62. hc: foreground
  63. }, localize('symbolIcon.fileForeground', 'The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  64. export const SYMBOL_ICON_FOLDER_FOREGROUND = registerColor('symbolIcon.folderForeground', {
  65. dark: foreground,
  66. light: foreground,
  67. hc: foreground
  68. }, localize('symbolIcon.folderForeground', 'The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  69. export const SYMBOL_ICON_FUNCTION_FOREGROUND = registerColor('symbolIcon.functionForeground', {
  70. dark: '#B180D7',
  71. light: '#652D90',
  72. hc: '#B180D7'
  73. }, localize('symbolIcon.functionForeground', 'The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  74. export const SYMBOL_ICON_INTERFACE_FOREGROUND = registerColor('symbolIcon.interfaceForeground', {
  75. dark: '#75BEFF',
  76. light: '#007ACC',
  77. hc: '#75BEFF'
  78. }, localize('symbolIcon.interfaceForeground', 'The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  79. export const SYMBOL_ICON_KEY_FOREGROUND = registerColor('symbolIcon.keyForeground', {
  80. dark: foreground,
  81. light: foreground,
  82. hc: foreground
  83. }, localize('symbolIcon.keyForeground', 'The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  84. export const SYMBOL_ICON_KEYWORD_FOREGROUND = registerColor('symbolIcon.keywordForeground', {
  85. dark: foreground,
  86. light: foreground,
  87. hc: foreground
  88. }, localize('symbolIcon.keywordForeground', 'The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  89. export const SYMBOL_ICON_METHOD_FOREGROUND = registerColor('symbolIcon.methodForeground', {
  90. dark: '#B180D7',
  91. light: '#652D90',
  92. hc: '#B180D7'
  93. }, localize('symbolIcon.methodForeground', 'The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  94. export const SYMBOL_ICON_MODULE_FOREGROUND = registerColor('symbolIcon.moduleForeground', {
  95. dark: foreground,
  96. light: foreground,
  97. hc: foreground
  98. }, localize('symbolIcon.moduleForeground', 'The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  99. export const SYMBOL_ICON_NAMESPACE_FOREGROUND = registerColor('symbolIcon.namespaceForeground', {
  100. dark: foreground,
  101. light: foreground,
  102. hc: foreground
  103. }, localize('symbolIcon.namespaceForeground', 'The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  104. export const SYMBOL_ICON_NULL_FOREGROUND = registerColor('symbolIcon.nullForeground', {
  105. dark: foreground,
  106. light: foreground,
  107. hc: foreground
  108. }, localize('symbolIcon.nullForeground', 'The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  109. export const SYMBOL_ICON_NUMBER_FOREGROUND = registerColor('symbolIcon.numberForeground', {
  110. dark: foreground,
  111. light: foreground,
  112. hc: foreground
  113. }, localize('symbolIcon.numberForeground', 'The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  114. export const SYMBOL_ICON_OBJECT_FOREGROUND = registerColor('symbolIcon.objectForeground', {
  115. dark: foreground,
  116. light: foreground,
  117. hc: foreground
  118. }, localize('symbolIcon.objectForeground', 'The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  119. export const SYMBOL_ICON_OPERATOR_FOREGROUND = registerColor('symbolIcon.operatorForeground', {
  120. dark: foreground,
  121. light: foreground,
  122. hc: foreground
  123. }, localize('symbolIcon.operatorForeground', 'The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  124. export const SYMBOL_ICON_PACKAGE_FOREGROUND = registerColor('symbolIcon.packageForeground', {
  125. dark: foreground,
  126. light: foreground,
  127. hc: foreground
  128. }, localize('symbolIcon.packageForeground', 'The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  129. export const SYMBOL_ICON_PROPERTY_FOREGROUND = registerColor('symbolIcon.propertyForeground', {
  130. dark: foreground,
  131. light: foreground,
  132. hc: foreground
  133. }, localize('symbolIcon.propertyForeground', 'The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  134. export const SYMBOL_ICON_REFERENCE_FOREGROUND = registerColor('symbolIcon.referenceForeground', {
  135. dark: foreground,
  136. light: foreground,
  137. hc: foreground
  138. }, localize('symbolIcon.referenceForeground', 'The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  139. export const SYMBOL_ICON_SNIPPET_FOREGROUND = registerColor('symbolIcon.snippetForeground', {
  140. dark: foreground,
  141. light: foreground,
  142. hc: foreground
  143. }, localize('symbolIcon.snippetForeground', 'The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  144. export const SYMBOL_ICON_STRING_FOREGROUND = registerColor('symbolIcon.stringForeground', {
  145. dark: foreground,
  146. light: foreground,
  147. hc: foreground
  148. }, localize('symbolIcon.stringForeground', 'The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  149. export const SYMBOL_ICON_STRUCT_FOREGROUND = registerColor('symbolIcon.structForeground', {
  150. dark: foreground,
  151. light: foreground,
  152. hc: foreground
  153. }, localize('symbolIcon.structForeground', 'The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  154. export const SYMBOL_ICON_TEXT_FOREGROUND = registerColor('symbolIcon.textForeground', {
  155. dark: foreground,
  156. light: foreground,
  157. hc: foreground
  158. }, localize('symbolIcon.textForeground', 'The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  159. export const SYMBOL_ICON_TYPEPARAMETER_FOREGROUND = registerColor('symbolIcon.typeParameterForeground', {
  160. dark: foreground,
  161. light: foreground,
  162. hc: foreground
  163. }, localize('symbolIcon.typeParameterForeground', 'The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  164. export const SYMBOL_ICON_UNIT_FOREGROUND = registerColor('symbolIcon.unitForeground', {
  165. dark: foreground,
  166. light: foreground,
  167. hc: foreground
  168. }, localize('symbolIcon.unitForeground', 'The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  169. export const SYMBOL_ICON_VARIABLE_FOREGROUND = registerColor('symbolIcon.variableForeground', {
  170. dark: '#75BEFF',
  171. light: '#007ACC',
  172. hc: '#75BEFF'
  173. }, localize('symbolIcon.variableForeground', 'The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget.'));
  174. registerThemingParticipant((theme, collector) => {
  175. const symbolIconArrayColor = theme.getColor(SYMBOL_ICON_ARRAY_FOREGROUND);
  176. if (symbolIconArrayColor) {
  177. collector.addRule(`${Codicon.symbolArray.cssSelector} { color: ${symbolIconArrayColor}; }`);
  178. }
  179. const symbolIconBooleanColor = theme.getColor(SYMBOL_ICON_BOOLEAN_FOREGROUND);
  180. if (symbolIconBooleanColor) {
  181. collector.addRule(`${Codicon.symbolBoolean.cssSelector} { color: ${symbolIconBooleanColor}; }`);
  182. }
  183. const symbolIconClassColor = theme.getColor(SYMBOL_ICON_CLASS_FOREGROUND);
  184. if (symbolIconClassColor) {
  185. collector.addRule(`${Codicon.symbolClass.cssSelector} { color: ${symbolIconClassColor}; }`);
  186. }
  187. const symbolIconMethodColor = theme.getColor(SYMBOL_ICON_METHOD_FOREGROUND);
  188. if (symbolIconMethodColor) {
  189. collector.addRule(`${Codicon.symbolMethod.cssSelector} { color: ${symbolIconMethodColor}; }`);
  190. }
  191. const symbolIconColorColor = theme.getColor(SYMBOL_ICON_COLOR_FOREGROUND);
  192. if (symbolIconColorColor) {
  193. collector.addRule(`${Codicon.symbolColor.cssSelector} { color: ${symbolIconColorColor}; }`);
  194. }
  195. const symbolIconConstantColor = theme.getColor(SYMBOL_ICON_CONSTANT_FOREGROUND);
  196. if (symbolIconConstantColor) {
  197. collector.addRule(`${Codicon.symbolConstant.cssSelector} { color: ${symbolIconConstantColor}; }`);
  198. }
  199. const symbolIconConstructorColor = theme.getColor(SYMBOL_ICON_CONSTRUCTOR_FOREGROUND);
  200. if (symbolIconConstructorColor) {
  201. collector.addRule(`${Codicon.symbolConstructor.cssSelector} { color: ${symbolIconConstructorColor}; }`);
  202. }
  203. const symbolIconEnumeratorColor = theme.getColor(SYMBOL_ICON_ENUMERATOR_FOREGROUND);
  204. if (symbolIconEnumeratorColor) {
  205. collector.addRule(`
  206. ${Codicon.symbolValue.cssSelector},${Codicon.symbolEnum.cssSelector} { color: ${symbolIconEnumeratorColor}; }`);
  207. }
  208. const symbolIconEnumeratorMemberColor = theme.getColor(SYMBOL_ICON_ENUMERATOR_MEMBER_FOREGROUND);
  209. if (symbolIconEnumeratorMemberColor) {
  210. collector.addRule(`${Codicon.symbolEnumMember.cssSelector} { color: ${symbolIconEnumeratorMemberColor}; }`);
  211. }
  212. const symbolIconEventColor = theme.getColor(SYMBOL_ICON_EVENT_FOREGROUND);
  213. if (symbolIconEventColor) {
  214. collector.addRule(`${Codicon.symbolEvent.cssSelector} { color: ${symbolIconEventColor}; }`);
  215. }
  216. const symbolIconFieldColor = theme.getColor(SYMBOL_ICON_FIELD_FOREGROUND);
  217. if (symbolIconFieldColor) {
  218. collector.addRule(`${Codicon.symbolField.cssSelector} { color: ${symbolIconFieldColor}; }`);
  219. }
  220. const symbolIconFileColor = theme.getColor(SYMBOL_ICON_FILE_FOREGROUND);
  221. if (symbolIconFileColor) {
  222. collector.addRule(`${Codicon.symbolFile.cssSelector} { color: ${symbolIconFileColor}; }`);
  223. }
  224. const symbolIconFolderColor = theme.getColor(SYMBOL_ICON_FOLDER_FOREGROUND);
  225. if (symbolIconFolderColor) {
  226. collector.addRule(`${Codicon.symbolFolder.cssSelector} { color: ${symbolIconFolderColor}; }`);
  227. }
  228. const symbolIconFunctionColor = theme.getColor(SYMBOL_ICON_FUNCTION_FOREGROUND);
  229. if (symbolIconFunctionColor) {
  230. collector.addRule(`${Codicon.symbolFunction.cssSelector} { color: ${symbolIconFunctionColor}; }`);
  231. }
  232. const symbolIconInterfaceColor = theme.getColor(SYMBOL_ICON_INTERFACE_FOREGROUND);
  233. if (symbolIconInterfaceColor) {
  234. collector.addRule(`${Codicon.symbolInterface.cssSelector} { color: ${symbolIconInterfaceColor}; }`);
  235. }
  236. const symbolIconKeyColor = theme.getColor(SYMBOL_ICON_KEY_FOREGROUND);
  237. if (symbolIconKeyColor) {
  238. collector.addRule(`${Codicon.symbolKey.cssSelector} { color: ${symbolIconKeyColor}; }`);
  239. }
  240. const symbolIconKeywordColor = theme.getColor(SYMBOL_ICON_KEYWORD_FOREGROUND);
  241. if (symbolIconKeywordColor) {
  242. collector.addRule(`${Codicon.symbolKeyword.cssSelector} { color: ${symbolIconKeywordColor}; }`);
  243. }
  244. const symbolIconModuleColor = theme.getColor(SYMBOL_ICON_MODULE_FOREGROUND);
  245. if (symbolIconModuleColor) {
  246. collector.addRule(`${Codicon.symbolModule.cssSelector} { color: ${symbolIconModuleColor}; }`);
  247. }
  248. const outlineNamespaceColor = theme.getColor(SYMBOL_ICON_NAMESPACE_FOREGROUND);
  249. if (outlineNamespaceColor) {
  250. collector.addRule(`${Codicon.symbolNamespace.cssSelector} { color: ${outlineNamespaceColor}; }`);
  251. }
  252. const symbolIconNullColor = theme.getColor(SYMBOL_ICON_NULL_FOREGROUND);
  253. if (symbolIconNullColor) {
  254. collector.addRule(`${Codicon.symbolNull.cssSelector} { color: ${symbolIconNullColor}; }`);
  255. }
  256. const symbolIconNumberColor = theme.getColor(SYMBOL_ICON_NUMBER_FOREGROUND);
  257. if (symbolIconNumberColor) {
  258. collector.addRule(`${Codicon.symbolNumber.cssSelector} { color: ${symbolIconNumberColor}; }`);
  259. }
  260. const symbolIconObjectColor = theme.getColor(SYMBOL_ICON_OBJECT_FOREGROUND);
  261. if (symbolIconObjectColor) {
  262. collector.addRule(`${Codicon.symbolObject.cssSelector} { color: ${symbolIconObjectColor}; }`);
  263. }
  264. const symbolIconOperatorColor = theme.getColor(SYMBOL_ICON_OPERATOR_FOREGROUND);
  265. if (symbolIconOperatorColor) {
  266. collector.addRule(`${Codicon.symbolOperator.cssSelector} { color: ${symbolIconOperatorColor}; }`);
  267. }
  268. const symbolIconPackageColor = theme.getColor(SYMBOL_ICON_PACKAGE_FOREGROUND);
  269. if (symbolIconPackageColor) {
  270. collector.addRule(`${Codicon.symbolPackage.cssSelector} { color: ${symbolIconPackageColor}; }`);
  271. }
  272. const symbolIconPropertyColor = theme.getColor(SYMBOL_ICON_PROPERTY_FOREGROUND);
  273. if (symbolIconPropertyColor) {
  274. collector.addRule(`${Codicon.symbolProperty.cssSelector} { color: ${symbolIconPropertyColor}; }`);
  275. }
  276. const symbolIconReferenceColor = theme.getColor(SYMBOL_ICON_REFERENCE_FOREGROUND);
  277. if (symbolIconReferenceColor) {
  278. collector.addRule(`${Codicon.symbolReference.cssSelector} { color: ${symbolIconReferenceColor}; }`);
  279. }
  280. const symbolIconSnippetColor = theme.getColor(SYMBOL_ICON_SNIPPET_FOREGROUND);
  281. if (symbolIconSnippetColor) {
  282. collector.addRule(`${Codicon.symbolSnippet.cssSelector} { color: ${symbolIconSnippetColor}; }`);
  283. }
  284. const symbolIconStringColor = theme.getColor(SYMBOL_ICON_STRING_FOREGROUND);
  285. if (symbolIconStringColor) {
  286. collector.addRule(`${Codicon.symbolString.cssSelector} { color: ${symbolIconStringColor}; }`);
  287. }
  288. const symbolIconStructColor = theme.getColor(SYMBOL_ICON_STRUCT_FOREGROUND);
  289. if (symbolIconStructColor) {
  290. collector.addRule(`${Codicon.symbolStruct.cssSelector} { color: ${symbolIconStructColor}; }`);
  291. }
  292. const symbolIconTextColor = theme.getColor(SYMBOL_ICON_TEXT_FOREGROUND);
  293. if (symbolIconTextColor) {
  294. collector.addRule(`${Codicon.symbolText.cssSelector} { color: ${symbolIconTextColor}; }`);
  295. }
  296. const symbolIconTypeParameterColor = theme.getColor(SYMBOL_ICON_TYPEPARAMETER_FOREGROUND);
  297. if (symbolIconTypeParameterColor) {
  298. collector.addRule(`${Codicon.symbolTypeParameter.cssSelector} { color: ${symbolIconTypeParameterColor}; }`);
  299. }
  300. const symbolIconUnitColor = theme.getColor(SYMBOL_ICON_UNIT_FOREGROUND);
  301. if (symbolIconUnitColor) {
  302. collector.addRule(`${Codicon.symbolUnit.cssSelector} { color: ${symbolIconUnitColor}; }`);
  303. }
  304. const symbolIconVariableColor = theme.getColor(SYMBOL_ICON_VARIABLE_FOREGROUND);
  305. if (symbolIconVariableColor) {
  306. collector.addRule(`${Codicon.symbolVariable.cssSelector} { color: ${symbolIconVariableColor}; }`);
  307. }
  308. });