diff --git a/lib/parser.js b/lib/parser.js index 720f882..6bfab64 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -463,7 +463,7 @@ module.exports = class Parser { if (node.constructor.name === 'Word') { node.isHex = /^#(.+)/.test(value); - node.isColor = /^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(value); + node.isColor = /^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(value); } else { this.cache.push(this.current); diff --git a/test/word.js b/test/word.js index b94839e..8e15f0f 100644 --- a/test/word.js +++ b/test/word.js @@ -70,9 +70,10 @@ describe('Parser → Word', () => { }, { it: 'should parse hex colors', - test: '#123 #abcdef #a2b3c4d5', + test: '#123 #f09f #abcdef #a2b3c4d5', expected: [ { type: 'word', value: '#123', isHex: true, isColor: true }, + { type: 'word', value: '#f09f', isHex: true, isColor: true }, { type: 'word', value: '#abcdef', isHex: true, isColor: true }, { type: 'word', value: '#a2b3c4d5', isHex: true, isColor: true } ]