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

Parse heredoc syntax correctly when processing completion items #87

Closed rcjsuen closed 2 years ago

rcjsuen commented 2 years ago
const lib = require("dockerfile-language-service");
const service = lib.DockerfileLanguageServiceFactory.createLanguageService();
console.log(service.computeCompletionItems("RUN ", { line: 0, character: 4 }).length);
console.log(service.computeCompletionItems("RUN <<eot\n", { line: 1, character: 0 }).length);
0
19

We need to support the new heredoc syntax support added in https://github.com/moby/buildkit/pull/2132. The second call is returning all the instructions as completion items when we're not actually on a new line.