🎉 initiate project *astro_rewrite*
This commit is contained in:
		
							parent
							
								
									ffd4d5e86c
								
							
						
					
					
						commit
						2ba37bfbe3
					
				
					 8658 changed files with 2268794 additions and 2538 deletions
				
			
		
							
								
								
									
										112
									
								
								node_modules/vscode-html-languageservice/lib/esm/languageFacts/dataProvider.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								node_modules/vscode-html-languageservice/lib/esm/languageFacts/dataProvider.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,112 @@ | |||
| /*--------------------------------------------------------------------------------------------- | ||||
|  *  Copyright (c) Microsoft Corporation. All rights reserved. | ||||
|  *  Licensed under the MIT License. See License.txt in the project root for license information. | ||||
|  *--------------------------------------------------------------------------------------------*/ | ||||
| import { normalizeMarkupContent } from '../utils/markup'; | ||||
| export class HTMLDataProvider { | ||||
|     isApplicable() { | ||||
|         return true; | ||||
|     } | ||||
|     /** | ||||
|      * Currently, unversioned data uses the V1 implementation | ||||
|      * In the future when the provider handles multiple versions of HTML custom data, | ||||
|      * use the latest implementation for unversioned data | ||||
|      */ | ||||
|     constructor(id, customData) { | ||||
|         this.id = id; | ||||
|         this._tags = []; | ||||
|         this._tagMap = {}; | ||||
|         this._valueSetMap = {}; | ||||
|         this._tags = customData.tags || []; | ||||
|         this._globalAttributes = customData.globalAttributes || []; | ||||
|         this._tags.forEach(t => { | ||||
|             this._tagMap[t.name.toLowerCase()] = t; | ||||
|         }); | ||||
|         if (customData.valueSets) { | ||||
|             customData.valueSets.forEach(vs => { | ||||
|                 this._valueSetMap[vs.name] = vs.values; | ||||
|             }); | ||||
|         } | ||||
|     } | ||||
|     getId() { | ||||
|         return this.id; | ||||
|     } | ||||
|     provideTags() { | ||||
|         return this._tags; | ||||
|     } | ||||
|     provideAttributes(tag) { | ||||
|         const attributes = []; | ||||
|         const processAttribute = (a) => { | ||||
|             attributes.push(a); | ||||
|         }; | ||||
|         const tagEntry = this._tagMap[tag.toLowerCase()]; | ||||
|         if (tagEntry) { | ||||
|             tagEntry.attributes.forEach(processAttribute); | ||||
|         } | ||||
|         this._globalAttributes.forEach(processAttribute); | ||||
|         return attributes; | ||||
|     } | ||||
|     provideValues(tag, attribute) { | ||||
|         const values = []; | ||||
|         attribute = attribute.toLowerCase(); | ||||
|         const processAttributes = (attributes) => { | ||||
|             attributes.forEach(a => { | ||||
|                 if (a.name.toLowerCase() === attribute) { | ||||
|                     if (a.values) { | ||||
|                         a.values.forEach(v => { | ||||
|                             values.push(v); | ||||
|                         }); | ||||
|                     } | ||||
|                     if (a.valueSet) { | ||||
|                         if (this._valueSetMap[a.valueSet]) { | ||||
|                             this._valueSetMap[a.valueSet].forEach(v => { | ||||
|                                 values.push(v); | ||||
|                             }); | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             }); | ||||
|         }; | ||||
|         const tagEntry = this._tagMap[tag.toLowerCase()]; | ||||
|         if (tagEntry) { | ||||
|             processAttributes(tagEntry.attributes); | ||||
|         } | ||||
|         processAttributes(this._globalAttributes); | ||||
|         return values; | ||||
|     } | ||||
| } | ||||
| /** | ||||
|  * Generate Documentation used in hover/complete | ||||
|  * From `documentation` and `references` | ||||
|  */ | ||||
| export function generateDocumentation(item, settings = {}, doesSupportMarkdown) { | ||||
|     const result = { | ||||
|         kind: doesSupportMarkdown ? 'markdown' : 'plaintext', | ||||
|         value: '' | ||||
|     }; | ||||
|     if (item.description && settings.documentation !== false) { | ||||
|         const normalizedDescription = normalizeMarkupContent(item.description); | ||||
|         if (normalizedDescription) { | ||||
|             result.value += normalizedDescription.value; | ||||
|         } | ||||
|     } | ||||
|     if (item.references && item.references.length > 0 && settings.references !== false) { | ||||
|         if (result.value.length) { | ||||
|             result.value += `\n\n`; | ||||
|         } | ||||
|         if (doesSupportMarkdown) { | ||||
|             result.value += item.references.map(r => { | ||||
|                 return `[${r.name}](${r.url})`; | ||||
|             }).join(' | '); | ||||
|         } | ||||
|         else { | ||||
|             result.value += item.references.map(r => { | ||||
|                 return `${r.name}: ${r.url}`; | ||||
|             }).join('\n'); | ||||
|         } | ||||
|     } | ||||
|     if (result.value === '') { | ||||
|         return undefined; | ||||
|     } | ||||
|     return result; | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 sindrekjelsrud
						sindrekjelsrud