1 | "use strict";
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 | Object.defineProperty(exports, "__esModule", { value: true });
|
18 | exports.LanguageIconLabelProvider = void 0;
|
19 | const tslib_1 = require("tslib");
|
20 | const inversify_1 = require("inversify");
|
21 | const common_1 = require("../common");
|
22 | const icon_theme_service_1 = require("./icon-theme-service");
|
23 | const language_service_1 = require("./language-service");
|
24 | let LanguageIconLabelProvider = class LanguageIconLabelProvider {
|
25 | constructor() {
|
26 | this.onDidChangeEmitter = new common_1.Emitter();
|
27 | }
|
28 | init() {
|
29 | this.languageService.onDidChangeIcon(() => this.fireDidChange());
|
30 | }
|
31 | canHandle(element) {
|
32 | const current = this.iconThemeService.getDefinition(this.iconThemeService.current);
|
33 | return (current === null || current === void 0 ? void 0 : current.showLanguageModeIcons) === true && this.languageService.getIcon(element) ? Number.MAX_SAFE_INTEGER : 0;
|
34 | }
|
35 | getIcon(element) {
|
36 | const language = this.languageService.detectLanguage(element);
|
37 | return this.languageService.getIcon(language.id);
|
38 | }
|
39 | get onDidChange() {
|
40 | return this.onDidChangeEmitter.event;
|
41 | }
|
42 | fireDidChange() {
|
43 | this.onDidChangeEmitter.fire({
|
44 | affects: element => this.canHandle(element) > 0
|
45 | });
|
46 | }
|
47 | };
|
48 | (0, tslib_1.__decorate)([
|
49 | (0, inversify_1.inject)(icon_theme_service_1.IconThemeService),
|
50 | (0, tslib_1.__metadata)("design:type", icon_theme_service_1.IconThemeService)
|
51 | ], LanguageIconLabelProvider.prototype, "iconThemeService", void 0);
|
52 | (0, tslib_1.__decorate)([
|
53 | (0, inversify_1.inject)(language_service_1.LanguageService),
|
54 | (0, tslib_1.__metadata)("design:type", language_service_1.LanguageService)
|
55 | ], LanguageIconLabelProvider.prototype, "languageService", void 0);
|
56 | (0, tslib_1.__decorate)([
|
57 | (0, inversify_1.postConstruct)(),
|
58 | (0, tslib_1.__metadata)("design:type", Function),
|
59 | (0, tslib_1.__metadata)("design:paramtypes", []),
|
60 | (0, tslib_1.__metadata)("design:returntype", void 0)
|
61 | ], LanguageIconLabelProvider.prototype, "init", null);
|
62 | LanguageIconLabelProvider = (0, tslib_1.__decorate)([
|
63 | (0, inversify_1.injectable)()
|
64 | ], LanguageIconLabelProvider);
|
65 | exports.LanguageIconLabelProvider = LanguageIconLabelProvider;
|
66 |
|
\ | No newline at end of file |