rcjsuen / dockerfile-language-service

Dockerfile language service for providing an API to create feature-rich Dockerfile editors in JavaScript.
MIT License
16 stars 2 forks source link

Incorrect number of tokens returned when string content is right before an escaped newline #114

Closed rcjsuen closed 1 year ago

rcjsuen commented 1 year ago
RUN echo "test" a''\
# a'b
echo "test2"
const lib = require("dockerfile-language-service");
const service = lib.DockerfileLanguageServiceFactory.createLanguageService();
const tokens = service.computeSemanticTokens(`RUN echo "test" a''\\\n# a'b\necho "test2"`);
console.log(tokens["data"].length);
50

There should be 9 tokens in total (length of 45) but it looks like we have found 10 instead.

  1. RUN
  2. echo
  3. "test"
  4. a
  5. ''
  6. \
  7. # a'b
  8. echo
  9. "test2"