Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect indentation. #213

Open
amano-kenji opened this issue Jan 30, 2024 · 2 comments
Open

Incorrect indentation. #213

amano-kenji opened this issue Jan 30, 2024 · 2 comments

Comments

@amano-kenji
Copy link

amano-kenji commented Jan 30, 2024

neovim lua mode prefers

node_om:connect("object-added", function (node_om, node)
  -- If the node is added, print update.
  print("update")
  node:connect("params-changed", function (node, paramId)
    -- If the node's parameters changed, print update.
    print("update")
  end)
end)

emacs lua mode gives me

node_om:connect("object-added", function (node_om, node)
    -- If the node is added, print update.
    print("update")
    node:connect("params-changed", function (node, paramId)
        -- If the node's parameters changed, print update.
        print("update")
    end)
end)

although lua indent level is 2. It is giving me the indent level of 4.

@sogaiu
Copy link

sogaiu commented Feb 23, 2024

I investigated a bit with a smaller example.

With:

(setq lua-indent-level 2)
(setq lua-indent-nested-block-content-align nil)

and starting with the sample code:

fun("sample", function (a, b)
print("hi")
end)

and point at the beginning of the second line (the one that starts with text print("hi").

The result was:

fun("sample", function (a, b)
    print("hi")
end)

The result was an indentation by 4 spaces here and I think the expectation is that it should be 2 spaces.

I think this reproduces the reported behavior.


I tried tracing execution of lua-indent-line with edebug to see why the result was 4.

Roughly the overall flow appears to be:

I don't understand the details, but perhaps the above helps a bit with investigation (^^;

Also, this issue looked somewhat similar.

FWIW, I used Emacs 29.2 and it appears I'm using d074e41 of lua-mode.

@amano-kenji
Copy link
Author

amano-kenji commented Feb 24, 2024

That's because function (a, b) adds two spaces to the indentation on top of fun which adds two spaces.

In emacs lua mode, indentation adds up. Indentation should not add up.

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

No branches or pull requests

2 participants