Add ExtensionManifestReader
This commit is contained in:
		
							parent
							
								
									966ab047ef
								
							
						
					
					
						commit
						351608a718
					
				
					 1 changed files with 37 additions and 0 deletions
				
			
		
							
								
								
									
										37
									
								
								src/utils/ManifestUtils.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								src/utils/ManifestUtils.ts
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,37 @@
 | 
				
			||||||
 | 
					import { extensions, Extension } from 'vscode';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export class ExtensionManifestReader {
 | 
				
			||||||
 | 
						constructor(extensionId: string) {
 | 
				
			||||||
 | 
							this._extension = extensions.getExtension(extensionId);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						private _extension: Extension<any>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						name: string;
 | 
				
			||||||
 | 
						version: string;
 | 
				
			||||||
 | 
						publisher: string;
 | 
				
			||||||
 | 
						displayName: string;
 | 
				
			||||||
 | 
						description: string;
 | 
				
			||||||
 | 
						categories: string[];
 | 
				
			||||||
 | 
						keywords: string[];
 | 
				
			||||||
 | 
						icon: string;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						private _checkPropertyExists(propertyName: string) {
 | 
				
			||||||
 | 
							for (let property in this) {
 | 
				
			||||||
 | 
								if (property === propertyName) return true;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return false;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						refresh(): void {
 | 
				
			||||||
 | 
							let manifest: any = this._extension.packageJSON;
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							for (let property in manifest)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (this._checkPropertyExists(property)) {
 | 
				
			||||||
 | 
									this[property] = manifest[property];
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue