From 6515c9a2a5fd013dcf4ec7f5c27563f41e24d7d0 Mon Sep 17 00:00:00 2001 From: tientq64 Date: Thu, 28 Sep 2023 18:15:27 +0700 Subject: [PATCH] v1.2.2: fix label --- CHANGELOG.md | 5 +++++ dist/CHANGELOG.md | 5 +++++ ....2.1.vsix => livescript-vscode-1.2.2.vsix} | Bin 59651 -> 59685 bytes dist/package.json | 2 +- dist/syntaxes/livescript.tmLanguage.json | 2 +- package.json | 2 +- sample.ls | 12 ++++++++++++ syntaxes/livescript.tmLanguage.yaml | 4 ++-- 8 files changed, 27 insertions(+), 5 deletions(-) rename dist/{livescript-vscode-1.2.1.vsix => livescript-vscode-1.2.2.vsix} (85%) diff --git a/CHANGELOG.md b/CHANGELOG.md index e9f2f09..9bddbae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## [1.2.2] - 2023-09-28 + +- Syntax highlighting: + + Fix: `break`, `continue` are not highlighted when the label name begins with a keyword. + ## [1.2.1] - 2023-09-27 - Syntax highlighting: diff --git a/dist/CHANGELOG.md b/dist/CHANGELOG.md index e9f2f09..9bddbae 100644 --- a/dist/CHANGELOG.md +++ b/dist/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## [1.2.2] - 2023-09-28 + +- Syntax highlighting: + + Fix: `break`, `continue` are not highlighted when the label name begins with a keyword. + ## [1.2.1] - 2023-09-27 - Syntax highlighting: diff --git a/dist/livescript-vscode-1.2.1.vsix b/dist/livescript-vscode-1.2.2.vsix similarity index 85% rename from dist/livescript-vscode-1.2.1.vsix rename to dist/livescript-vscode-1.2.2.vsix index 3612bd731b47bba57e102af3045310c627680253..8bdcb2392f6314de655a6a876940b03e82264eb4 100644 GIT binary patch delta 7497 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 delta 7443 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","captures":{"0":{"name":"punctuation.livescript"}},"name":"string.quoted.other.livescript","patterns":[{"include":"#string-escape"}]}]},"embed-backtick":{"patterns":[{"begin":"\\``","end":"\\``","captures":{"0":{"name":"punctuation.livescript"}},"patterns":[{"include":"source.js"}]}]},"comment-line":{"patterns":[{"match":"\\#.*","name":"comment.line.number-sign.livescript"}]},"comment-block":{"patterns":[{"begin":"/\\*","end":"\\*/","name":"comment.block.livescript"}]},"heregex":{"patterns":[{"begin":"//","end":"//[dgimsuy]{0,7}","captures":{"0":{"name":"keyword.other.livescript"}},"name":"string.regexp.livescript","patterns":[{"include":"#heregex-content"}]}]},"heregex-content":{"patterns":[{"match":"\\\\.","name":"constant.character.escape.livescript"},{"match":"\\.","name":"constant.other.livescript"},{"match":"[+*?^$]","name":"keyword.other.livescript"},{"match":"\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}","name":"keyword.other.livescript"},{"match":" #.*","name":"comment.line.number-sign.livescript"},{"begin":"(\\[)(\\^)?-?","end":"-?(\\])","beginCaptures":{"1":{"name":"keyword.other.livescript"},"2":{"name":"keyword.other.livescript"}},"endCaptures":{"1":{"name":"keyword.other.livescript"}},"patterns":[{"match":"\\\\.","name":"constant.character.escape.livescript"},{"match":"\\-","name":"keyword.operator.livescript"}]},{"begin":"\\((\\?(>?\\*?)","captures":{"1":{"name":"punctuation.accessor.livescript"},"2":{"name":"entity.name.function.livescript"},"3":{"name":"entity.name.function.livescript"},"4":{"name":"keyword.operator.livescript"},"5":{"name":"punctuation.definition.parameters.begin.livescript"},"6":{"patterns":[{"include":"#expr"}]},"7":{"name":"punctuation.definition.parameters.end.livescript"},"8":{"name":"keyword.other.livescript"}}}]},"number":{"patterns":[{"match":"\\d\\d?~[\\da-zA-Z]+","name":"constant.numeric.livescript"},{"match":"\\d+n","name":"constant.numeric.livescript"},{"match":"\\d+(\\.\\d+)?([eE]-?\\d+)?[\\w$]*","name":"constant.numeric.livescript"}]},"static-methods":{"patterns":[{"match":"(?>>?|<<|[&|^])\\.|<<|>>|\\|>|<\\||[<>]\\?|&&|\\|\\|?|\\^\\^?|[<>]=?|[+\\-*/%!?=~]","name":"keyword.operator.livescript"},{"match":"(is|isnt|and|x?or|not|delete|typeof|instanceof)(?![\\w$])","name":"keyword.operator.livescript"}]},"function-named":{"patterns":[{"match":"(!)?(function) +([a-zA-Z_$][\\w$]*)","captures":{"1":{"name":"keyword.control.livescript"},"2":{"name":"keyword.control.livescript"},"3":{"name":"entity.name.function.livescript"}}}]},"class":{"patterns":[{"match":"(class) +(extends) +([a-zA-Z_$][\\w$]*)(?: +(implements) +(.+))?","captures":{"1":{"name":"keyword.control.livescript"},"2":{"name":"storage.modifier.livescript"},"3":{"name":"storage.type.livescript"},"4":{"name":"storage.modifier.livescript"},"5":{"patterns":[{"include":"#class-implements"}]}}},{"match":"(class) +(implements) +(.+)","captures":{"1":{"name":"keyword.control.livescript"},"2":{"name":"storage.modifier.livescript"},"3":{"patterns":[{"include":"#class-implements"}]}}},{"match":"(class) +([a-zA-Z_$][\\w$]*)(?: +(extends) +([a-zA-Z_$][\\w$]*))?(?: +(implements) +(.+))?","captures":{"1":{"name":"keyword.control.livescript"},"2":{"name":"entity.name.function.livescript"},"3":{"name":"storage.modifier.livescript"},"4":{"name":"storage.type.livescript"},"5":{"name":"storage.modifier.livescript"},"6":{"patterns":[{"include":"#class-implements"}]}}}]},"class-implements":{"patterns":[{"match":"\\,","name":"punctuation.separator.comma.livescript"},{"match":"[a-zA-Z_$][\\w$]*","name":"storage.type.livescript"}]},"declare":{"patterns":[{"match":"(const) ([a-zA-Z_$][\\w$]*)","captures":{"1":{"name":"keyword.control.livescript"},"2":{"name":"constant.language.livescript"}}}]},"storage":{"patterns":[{"match":"(arguments|this|that|super|it|e|_)(?![\\w$])","name":"storage.type.livescript"},{"match":"(&)(?!&)","name":"storage.type.livescript"}]},"constant":{"patterns":[{"match":"(yes|no|true|false|on|off|void|null|undefined|NaN|Infinity)(?![\\w$])","name":"constant.language.livescript"}]},"keyword":{"patterns":[{"match":"(if|unless|then|else|switch|match|case|default|otherwise|fallthrough|for|own|ever|from|to|til|by|when|while|until|loop|in|of|let|do|var|const|break|continue|return|yield|await|try|catch|finally|throw|new|with|debugger|function|class|extends|implements)(?![\\w$])","name":"keyword.control.livescript"}]},"window-props":{"patterns":[{"match":"(window|document|location|navigator|screen|history|localStorage|sessionStorage|console|process|module|livescript|stylus|m|fs|vscode|dayjs|\\$|os)(?![\\w$])","name":"storage.type.livescript"}]},"window-methods":{"patterns":[{"match":"(parseFloat|parseInt|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|unescape|eval|isFinite|isNaN|webkitURL|webkitRTCPeerConnection|webkitMediaStream|alert|atob|blur|btoa|cancelAnimationFrame|cancelIdleCallback|captureEvents|clearInterval|clearTimeout|close|confirm|createImageBitmap|fetch|find|focus|getComputedStyle|getSelection|matchMedia|moveBy|moveTo|open|postMessage|print|prompt|queueMicrotask|releaseEvents|reportError|requestAnimationFrame|requestIdleCallback|resizeBy|resizeTo|scroll|scrollBy|scrollTo|setInterval|setTimeout|stop|structuredClone|webkitCancelAnimationFrame|webkitRequestAnimationFrame|getScreenDetails|openDatabase|queryLocalFonts|showDirectoryPicker|showOpenFilePicker|showSaveFilePicker|webkitSpeechGrammar|webkitSpeechGrammarList|webkitSpeechRecognition|webkitSpeechRecognitionError|webkitSpeechRecognitionEvent|webkitRequestFileSystem|webkitResolveLocalFileSystemURL|require|import)(?![\\w$])","name":"entity.name.function.livescript"}]},"punctuation":{"patterns":[{"match":"\\.","name":"punctuation.accessor.livescript"},{"match":"\\,","name":"punctuation.separator.comma.livescript"},{"match":"\\;","name":"punctuation.terminator.statement.livescript"}]},"variable":{"patterns":[{"match":"[A-Z][A-Z0-9_$]*(?![\\w$])","name":"constant.language.livescript"},{"match":"[A-Z][\\w$]+(?![\\w$])","name":"storage.type.livescript"},{"match":"[a-zA-Z_$][\\w$]*","name":"variable.other.livescript"}]}}} +{"scopeName":"source.livescript","patterns":[{"include":"#expr"}],"repository":{"expr":{"patterns":[{"include":"#string-triple-single"},{"include":"#string-triple-double"},{"include":"#string-single"},{"include":"#string-double"},{"include":"#string-backslash"},{"include":"#list-words"},{"include":"#embed-backtick"},{"include":"#comment-line"},{"include":"#comment-block"},{"include":"#heregex"},{"include":"#regexp"},{"include":"#function-arrow"},{"include":"#number"},{"include":"#static-methods"},{"include":"#proto-methods"},{"include":"#property"},{"include":"#label"},{"include":"#operator"},{"include":"#function-named"},{"include":"#class"},{"include":"#declare"},{"include":"#storage"},{"include":"#constant"},{"include":"#keyword"},{"include":"#window-props"},{"include":"#window-methods"},{"include":"#punctuation"},{"include":"#variable"}]},"string-triple-single":{"patterns":[{"begin":"\\'''","end":"\\'''","captures":{"0":{"name":"punctuation.livescript"}},"name":"string.quoted.single.livescript","patterns":[{"include":"#string-escape"}]}]},"string-triple-double":{"patterns":[{"begin":"\\\"\"\"","end":"\\\"\"\"","captures":{"0":{"name":"punctuation.livescript"}},"name":"string.quoted.double.livescript","patterns":[{"include":"#string-escape"},{"include":"#string-interpolate"}]}]},"string-single":{"patterns":[{"begin":"\\'","end":"\\'","captures":{"0":{"name":"punctuation.livescript"}},"name":"string.quoted.single.livescript","patterns":[{"include":"#string-escape"}]}]},"string-double":{"patterns":[{"begin":"\\\"","end":"\\\"","captures":{"0":{"name":"punctuation.livescript"}},"name":"string.quoted.double.livescript","patterns":[{"include":"#string-escape"},{"include":"#string-interpolate"}]}]},"string-backslash":{"patterns":[{"match":"(\\\\)(\\S[^,;)\\]}\\s]*)","name":"string.other.livescript","captures":{"1":{"name":"punctuation.livescript"},"2":{"patterns":[{"include":"#string-escape"},{"match":"\\\\$","name":"constant.character.escape.livescript"}]}}}]},"string-escape":{"patterns":[{"match":"\\\\u\\{(?:10[\\da-fA-F]{4}|[\\da-fA-F]{1,5})\\}","name":"constant.character.escape.livescript"},{"match":"\\\\u[\\da-fA-F]{4}","name":"constant.character.escape.livescript"},{"match":"\\\\x[\\da-fA-F]{2}","name":"constant.character.escape.livescript"},{"match":"\\\\.","name":"constant.character.escape.livescript"}]},"string-interpolate":{"patterns":[{"begin":"\\#{","end":"\\}","captures":{"0":{"name":"variable.parameter.livescript"}},"patterns":[{"include":"#expr"}]},{"match":"\\#(?:@?[a-zA-Z_$][\\w$]*|@\\d*)","name":"variable.parameter.livescript"}]},"list-words":{"patterns":[{"begin":"<\\[","end":"\\]>","captures":{"0":{"name":"punctuation.livescript"}},"name":"string.quoted.other.livescript","patterns":[{"include":"#string-escape"}]}]},"embed-backtick":{"patterns":[{"begin":"\\``","end":"\\``","captures":{"0":{"name":"punctuation.livescript"}},"patterns":[{"include":"source.js"}]}]},"comment-line":{"patterns":[{"match":"\\#.*","name":"comment.line.number-sign.livescript"}]},"comment-block":{"patterns":[{"begin":"/\\*","end":"\\*/","name":"comment.block.livescript"}]},"heregex":{"patterns":[{"begin":"//","end":"//[dgimsuy]{0,7}","captures":{"0":{"name":"keyword.other.livescript"}},"name":"string.regexp.livescript","patterns":[{"include":"#heregex-content"}]}]},"heregex-content":{"patterns":[{"match":"\\\\.","name":"constant.character.escape.livescript"},{"match":"\\.","name":"constant.other.livescript"},{"match":"[+*?^$]","name":"keyword.other.livescript"},{"match":"\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}","name":"keyword.other.livescript"},{"match":" #.*","name":"comment.line.number-sign.livescript"},{"begin":"(\\[)(\\^)?-?","end":"-?(\\])","beginCaptures":{"1":{"name":"keyword.other.livescript"},"2":{"name":"keyword.other.livescript"}},"endCaptures":{"1":{"name":"keyword.other.livescript"}},"patterns":[{"match":"\\\\.","name":"constant.character.escape.livescript"},{"match":"\\-","name":"keyword.operator.livescript"}]},{"begin":"\\((\\?(>?\\*?)","captures":{"1":{"name":"punctuation.accessor.livescript"},"2":{"name":"entity.name.function.livescript"},"3":{"name":"entity.name.function.livescript"},"4":{"name":"keyword.operator.livescript"},"5":{"name":"punctuation.definition.parameters.begin.livescript"},"6":{"patterns":[{"include":"#expr"}]},"7":{"name":"punctuation.definition.parameters.end.livescript"},"8":{"name":"keyword.other.livescript"}}}]},"number":{"patterns":[{"match":"\\d\\d?~[\\da-zA-Z]+","name":"constant.numeric.livescript"},{"match":"\\d+n","name":"constant.numeric.livescript"},{"match":"\\d+(\\.\\d+)?([eE]-?\\d+)?[\\w$]*","name":"constant.numeric.livescript"}]},"static-methods":{"patterns":[{"match":"(?>>?|<<|[&|^])\\.|<<|>>|\\|>|<\\||[<>]\\?|&&|\\|\\|?|\\^\\^?|[<>]=?|[+\\-*/%!?=~]","name":"keyword.operator.livescript"},{"match":"(is|isnt|and|x?or|not|delete|typeof|instanceof)(?![\\w$])","name":"keyword.operator.livescript"}]},"function-named":{"patterns":[{"match":"(!)?(function) +([a-zA-Z_$][\\w$]*)","captures":{"1":{"name":"keyword.control.livescript"},"2":{"name":"keyword.control.livescript"},"3":{"name":"entity.name.function.livescript"}}}]},"class":{"patterns":[{"match":"(class) +(extends) +([a-zA-Z_$][\\w$]*)(?: +(implements) +(.+))?","captures":{"1":{"name":"keyword.control.livescript"},"2":{"name":"storage.modifier.livescript"},"3":{"name":"storage.type.livescript"},"4":{"name":"storage.modifier.livescript"},"5":{"patterns":[{"include":"#class-implements"}]}}},{"match":"(class) +(implements) +(.+)","captures":{"1":{"name":"keyword.control.livescript"},"2":{"name":"storage.modifier.livescript"},"3":{"patterns":[{"include":"#class-implements"}]}}},{"match":"(class) +([a-zA-Z_$][\\w$]*)(?: +(extends) +([a-zA-Z_$][\\w$]*))?(?: +(implements) +(.+))?","captures":{"1":{"name":"keyword.control.livescript"},"2":{"name":"entity.name.function.livescript"},"3":{"name":"storage.modifier.livescript"},"4":{"name":"storage.type.livescript"},"5":{"name":"storage.modifier.livescript"},"6":{"patterns":[{"include":"#class-implements"}]}}}]},"class-implements":{"patterns":[{"match":"\\,","name":"punctuation.separator.comma.livescript"},{"match":"[a-zA-Z_$][\\w$]*","name":"storage.type.livescript"}]},"declare":{"patterns":[{"match":"(const) ([a-zA-Z_$][\\w$]*)","captures":{"1":{"name":"keyword.control.livescript"},"2":{"name":"constant.language.livescript"}}}]},"storage":{"patterns":[{"match":"(arguments|this|that|super|it|e|_)(?![\\w$])","name":"storage.type.livescript"},{"match":"(&)(?!&)","name":"storage.type.livescript"}]},"constant":{"patterns":[{"match":"(yes|no|true|false|on|off|void|null|undefined|NaN|Infinity)(?![\\w$])","name":"constant.language.livescript"}]},"keyword":{"patterns":[{"match":"(if|unless|then|else|switch|match|case|default|otherwise|fallthrough|for|own|ever|from|to|til|by|when|while|until|loop|in|of|let|do|var|const|break|continue|return|yield|await|try|catch|finally|throw|new|with|debugger|function|class|extends|implements)(?![\\w$])","name":"keyword.control.livescript"}]},"window-props":{"patterns":[{"match":"(window|document|location|navigator|screen|history|localStorage|sessionStorage|console|process|module|livescript|stylus|m|fs|vscode|dayjs|\\$|os)(?![\\w$])","name":"storage.type.livescript"}]},"window-methods":{"patterns":[{"match":"(parseFloat|parseInt|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|unescape|eval|isFinite|isNaN|webkitURL|webkitRTCPeerConnection|webkitMediaStream|alert|atob|blur|btoa|cancelAnimationFrame|cancelIdleCallback|captureEvents|clearInterval|clearTimeout|close|confirm|createImageBitmap|fetch|find|focus|getComputedStyle|getSelection|matchMedia|moveBy|moveTo|open|postMessage|print|prompt|queueMicrotask|releaseEvents|reportError|requestAnimationFrame|requestIdleCallback|resizeBy|resizeTo|scroll|scrollBy|scrollTo|setInterval|setTimeout|stop|structuredClone|webkitCancelAnimationFrame|webkitRequestAnimationFrame|getScreenDetails|openDatabase|queryLocalFonts|showDirectoryPicker|showOpenFilePicker|showSaveFilePicker|webkitSpeechGrammar|webkitSpeechGrammarList|webkitSpeechRecognition|webkitSpeechRecognitionError|webkitSpeechRecognitionEvent|webkitRequestFileSystem|webkitResolveLocalFileSystemURL|require|import)(?![\\w$])","name":"entity.name.function.livescript"}]},"punctuation":{"patterns":[{"match":"\\.","name":"punctuation.accessor.livescript"},{"match":"\\,","name":"punctuation.separator.comma.livescript"},{"match":"\\;","name":"punctuation.terminator.statement.livescript"}]},"variable":{"patterns":[{"match":"[A-Z][A-Z0-9_$]*(?![\\w$])","name":"constant.language.livescript"},{"match":"[A-Z][\\w$]+(?![\\w$])","name":"storage.type.livescript"},{"match":"[a-zA-Z_$][\\w$]*","name":"variable.other.livescript"}]}}} diff --git a/package.json b/package.json index b0cdd55..e50dffa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "livescript-vscode", - "version": "1.2.1", + "version": "1.2.2", "displayName": "LiveScript 2", "description": "Syntax highlighting, autocomplete, and snippets", "icon": "./icon.png", diff --git a/sample.ls b/sample.ls index 3005223..f567b2b 100644 --- a/sample.ls +++ b/sample.ls @@ -182,6 +182,18 @@ nam3~10 = -> :build loop break build + break if + break if a > 0 + break ifaa + break if44 + break if$ + break if_ + break aaif + break 44if + break $if + break _if + break and + break class A obj = if: 4 diff --git a/syntaxes/livescript.tmLanguage.yaml b/syntaxes/livescript.tmLanguage.yaml index d442f4b..8dbb2d5 100644 --- a/syntaxes/livescript.tmLanguage.yaml +++ b/syntaxes/livescript.tmLanguage.yaml @@ -339,13 +339,13 @@ repository: label: patterns: - - match: (:)(?!<>)(<>) + - match: (:)(?!(?:<>)(?![\w$]))(<>) captures: 1: name: punctuation.separator.label.livescript 2: name: entity.name.label.livescript - - match: (break|continue)\s+(?!<>)(<>) + - match: (break|continue)\s+(?!(?:<>)(?![\w$]))(<>) captures: 1: name: keyword.control.livescript