Skip to content
This repository was archived by the owner on Dec 15, 2022. It is now read-only.

Multiline comments cause auto-indent error in Javascript. #553

Open
rsese opened this issue Feb 12, 2018 · 0 comments
Open

Multiline comments cause auto-indent error in Javascript. #553

rsese opened this issue Feb 12, 2018 · 0 comments

Comments

@rsese
Copy link

rsese commented Feb 12, 2018

From @wbt on February 12, 2018 20:40

I am using Atom 1.23.2 x64 on the latest Windows 10, writing in Javascript in a file with a .js extension.
The code below, written as an illustrative example, is presented as Atom auto-indents it, with four spaces per indent for visual clarity:

Demonstration = {
    function withoutMultiLineComment(param1, param2) {
        var message = "";
        if(param1>10) {
            message = "This is big.";
            if(param1>100) {
                message += " It's huge.";
            } else {
                message += " But it's not huge.";
            }
        } else {
            message = "This is not big.";
        }
    }

    function withMultiLineComment(param1, param2) {
        var message = "";
        if(param1>10) {
            message = "This is big.";
            if(param1>100) {
                message += " It's huge.";
                /*
                if (param1 == param2) {
                message += " And it matches param2!";
            } else {
            message += " But it doesn't match param2!";
        }
        */
    } else {
        message += " But it's not huge.";
    }
} else {
    message = "This is not big.";
}
}

//The negative indentation error suggest that additional code here is no longer
//a sub-block within Demonstration.
//If there are multiple such comments, the indentation errors accumulate quickly.

}

The function withoutMultiLineComment is indented as expected. The function withMultiLineComment bumps out two levels of indentation unexpectedly. The expected behavior is for the comment to not affect indentation.

The close curly brace inside the multiline comment is recognized by the autoindenter as the close of the code block beginning in non-commented code, even though placing the cursor directly before or after close braces in non-commented code show proper pairing between curly braces within non-commented code.

Code which is commented-out by a multiline comment should not be paired with non-commented code to decrease the level of indentation.

Copied from original issue: atom/atom#16721

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant