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

Improve range formatting so it does not return unnecessary edits #81

Closed rcjsuen closed 3 years ago

rcjsuen commented 3 years ago

The document is already formatted correctly with a tab so we should not return an edit replacing the tab with a tab.

const library = require("dockerfile-language-service");
const service = library.DockerfileLanguageServiceFactory.createLanguageService();
const edits = service.formatRange(
    "EXPOSE 8081\\ \n\t8082",
    {
        start: {line: 1, position: 0},
        end: {line: 1, position: 1}
    },
    {
        insertSpaces: false,
        tabSize: 4
    }
);
console.log(edits[0]);
{
  range: { start: { line: 1, character: 0 }, end: { line: 1, character: 1 } },
  newText: '\t'
}