ada7f6563d084fadcc06d887bd4adcbd56f4b86b6fbcd1b6818eba22d3d39068fe8a2a69f2212cd16631201e72c769ca38e02137cf9ff89a052eee337012a1 19 KB

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