emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#26001: closed (js-mode: JSX indentation after fat-


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#26001: closed (js-mode: JSX indentation after fat-arrow attribute)
Date: Wed, 05 Jun 2019 11:01:03 +0000

Your message dated Wed, 5 Jun 2019 14:00:16 +0300
with message-id <address@hidden>
and subject line Re: bug#32158: 26.1; Broken JSX indentation in case of arrow 
function passing to props
has caused the debbugs.gnu.org bug report #32158,
regarding js-mode: JSX indentation after fat-arrow attribute
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
32158: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=32158
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: js-mode: JSX indentation after fat-arrow attribute Date: Mon, 06 Mar 2017 14:40:56 +0000

As mentioned in https://github.com/mooz/js2-mode/issues/389#issuecomment-271869380 , there seems to be a bug in the way js-mode (at least the folks there pointed me at js-mode) indents JSX _javascript_.

When I'm doing a map with JSX syntax I'm getting:

render() {
    const messages = this.state.messages.map(
        message => <Message key={message.id}
        text={message.text}
        mine={message.mine} />
    );
    return messages;
}

I'd ideally expect something like:

render() {
    const messages = this.state.messages.map(
        message => <Message key={message.id}
                            text={message.text}
                            mine={message.mine} />
    );
    return messages;
}

It's even odder when I try to leave the argument to the arrow function in the line above:

render() {
    const messages = this.state.messages.map(message =>
                                             <Message key={message.timestamp}
                                             text={message.text}
                                             mine={message.mine} />
                                            );
    return messages;
}

For this second case, I'd hope to get:

render() {
    const messages = this.state.messages.map(message =>
        <Message key={message.timestamp}
                 text={message.text}
                 mine={message.mine} />
    );
    return messages;
}

(I get such results if I wrap the return _expression_ in parentheses)


--- End Message ---
--- Begin Message --- Subject: Re: bug#32158: 26.1; Broken JSX indentation in case of arrow function passing to props Date: Wed, 5 Jun 2019 14:00:16 +0300 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0
On 05.06.2019 13:58, Dmitry Gutov wrote:

Jackson, here's a slight variation on this example that looks problematic:

const foo = (props) => (
     <div>
     <input
   cat={i => i} />

   </div>
);

(Note the empty line)

That seems incorrect to me.

Sorry, never mind. I had to enable js-jsx-mode to test it properly.

So, closing.

Note that you can do it yourself by appending -done to a bug email.


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]