Fix: Keycap Number Sign が表示できない (#5431)
* Fix: Keycap Number Sign が表示できない * add U+20E3
This commit is contained in:
		
							parent
							
								
									c1c955031e
								
							
						
					
					
						commit
						1a8632e802
					
				
					 2 changed files with 15 additions and 0 deletions
				
			
		|  | @ -145,6 +145,7 @@ export const mfmLanguage = P.createLanguage({ | ||||||
| 		if (!match) return P.makeFailure(i, 'not a hashtag'); | 		if (!match) return P.makeFailure(i, 'not a hashtag'); | ||||||
| 		let hashtag = match[1]; | 		let hashtag = match[1]; | ||||||
| 		hashtag = removeOrphanedBrackets(hashtag); | 		hashtag = removeOrphanedBrackets(hashtag); | ||||||
|  | 		if (hashtag.match(/^(\u20e3|\ufe0f)/)) return P.makeFailure(i, 'not a hashtag'); | ||||||
| 		if (hashtag.match(/^[0-9]+$/)) return P.makeFailure(i, 'not a hashtag'); | 		if (hashtag.match(/^[0-9]+$/)) return P.makeFailure(i, 'not a hashtag'); | ||||||
| 		if (input[i - 1] != null && input[i - 1].match(/[a-z0-9]/i)) return P.makeFailure(i, 'not a hashtag'); | 		if (input[i - 1] != null && input[i - 1].match(/[a-z0-9]/i)) return P.makeFailure(i, 'not a hashtag'); | ||||||
| 		if (hashtag.length > 50) return P.makeFailure(i, 'not a hashtag'); | 		if (hashtag.length > 50) return P.makeFailure(i, 'not a hashtag'); | ||||||
|  |  | ||||||
							
								
								
									
										14
									
								
								test/mfm.ts
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								test/mfm.ts
									
										
									
									
									
								
							|  | @ -639,6 +639,20 @@ describe('MFM', () => { | ||||||
| 					text('/bar'), | 					text('/bar'), | ||||||
| 				]); | 				]); | ||||||
| 			}); | 			}); | ||||||
|  | 
 | ||||||
|  | 			it('ignore Keycap Number Sign (U+0023 + U+20E3)', () => { | ||||||
|  | 				const tokens = parse('#⃣'); | ||||||
|  | 				assert.deepStrictEqual(tokens, [ | ||||||
|  | 					leaf('emoji', { emoji: '#⃣' }) | ||||||
|  | 				]); | ||||||
|  | 			}); | ||||||
|  | 
 | ||||||
|  | 			it('ignore Keycap Number Sign (U+0023 + U+FE0F + U+20E3)', () => { | ||||||
|  | 				const tokens = parse('#️⃣'); | ||||||
|  | 				assert.deepStrictEqual(tokens, [ | ||||||
|  | 					leaf('emoji', { emoji: '#️⃣' }) | ||||||
|  | 				]); | ||||||
|  | 			}); | ||||||
| 		}); | 		}); | ||||||
| 
 | 
 | ||||||
| 		describe('quote', () => { | 		describe('quote', () => { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue