dockerfile-language-service
Advanced tools
Comparing version
# Changelog | ||
All notable changes to this project will be documented in this file. | ||
## [0.10.0] - 2023-05-28 | ||
### Added | ||
- update formatter to ignore heredocs embedded in COPY instructions ([rcjsuen/dockerfile-utils#111](https://github.com/rcjsuen/dockerfile-utils/issues/111)) | ||
- ignore empty continuation lines in heredocs embedded in COPY instructions ([rcjsuen/dockerfile-utils#112](https://github.com/rcjsuen/dockerfile-utils/issues/112)) | ||
### Fixed | ||
- ignore quotes in comments if it's within an embedded argument ([#110](https://github.com/rcjsuen/dockerfile-language-service/issues/110)) | ||
- ignore UTF-8 BOM when validating the Dockerfile ([rcjsuen/dockerfile-utils#113](https://github.com/rcjsuen/dockerfile-utils/issues/113)) | ||
## [0.9.0] - 2022-05-04 | ||
@@ -476,3 +485,4 @@ ### Added | ||
[Unreleased]: https://github.com/rcjsuen/dockerfile-language-service/compare/v0.9.0...HEAD | ||
[Unreleased]: https://github.com/rcjsuen/dockerfile-language-service/compare/v0.10.0...HEAD | ||
[0.10.0]: https://github.com/rcjsuen/dockerfile-language-service/compare/v0.9.0...v0.10.0 | ||
[0.9.0]: https://github.com/rcjsuen/dockerfile-language-service/compare/v0.8.1...v0.9.0 | ||
@@ -479,0 +489,0 @@ [0.8.1]: https://github.com/rcjsuen/dockerfile-language-service/compare/v0.8.0...v0.8.1 |
@@ -348,8 +348,32 @@ (function (factory) { | ||
var newOffset = -1; | ||
var escaping = false; | ||
var endOffset = this.document.offsetAt(range.end); | ||
for (var i = startOffset; i < endOffset; i++) { | ||
stringsCheck: for (var i = startOffset; i < endOffset; i++) { | ||
var ch = this.content.charAt(i); | ||
switch (ch) { | ||
case this.escapeCharacter: | ||
escapeCheck: for (var j = i + 1; j < endOffset; j++) { | ||
var escapedCh = this.content.charAt(j); | ||
switch (escapedCh) { | ||
case ' ': | ||
case '\t': | ||
continue; | ||
case '\r': | ||
j + 1; | ||
case '\n': | ||
escaping = true; | ||
i = j; | ||
continue stringsCheck; | ||
default: | ||
break escapeCheck; | ||
} | ||
} | ||
escaping = false; | ||
if (startOffset === -1) { | ||
startOffset = i; | ||
} | ||
break; | ||
case '\'': | ||
case '"': | ||
escaping = false; | ||
if (this.quote === null) { | ||
@@ -379,3 +403,23 @@ if (this.escapedQuote === null) { | ||
break; | ||
case '#': | ||
if (escaping) { | ||
for (var j = i + 1; j < endOffset; j++) { | ||
var escapedCh = this.content.charAt(j); | ||
switch (escapedCh) { | ||
case '\r': | ||
j + 1; | ||
case '\n': | ||
i = j; | ||
continue stringsCheck; | ||
} | ||
} | ||
break; | ||
} | ||
case ' ': | ||
case '\t': | ||
if (escaping) { | ||
continue; | ||
} | ||
default: | ||
escaping = false; | ||
if (startOffset === -1) { | ||
@@ -382,0 +426,0 @@ startOffset = i; |
@@ -11,3 +11,3 @@ { | ||
], | ||
"version": "0.9.0", | ||
"version": "0.10.0", | ||
"author": "Remy Suen", | ||
@@ -25,3 +25,3 @@ "license": "MIT", | ||
"dockerfile-ast": "0.4.2", | ||
"dockerfile-utils": "0.10.0", | ||
"dockerfile-utils": "0.11.0", | ||
"vscode-languageserver-types": "3.17.0-next.3" | ||
@@ -28,0 +28,0 @@ }, |
359516
0.8%5639
0.79%+ Added
+ Added
- Removed
Updated