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

Heuristic tabstop for files with mostly spaces #91

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

wickles
Copy link

@wickles wickles commented Jul 3, 2023

One common case of mixed indentation is when a file is written with mostly spaces and then unwittingly a few tabs with tabstop = shiftwidth < 8. To the author this may look perfectly regular but on another system with tabstop=8 the indentation does not line up as intended. Obviously this is broken in some sense, but in cases like this the intent is clear and we should heuristically detect the shiftwidth and set the tabstop to the same value.

I read some of the past discussions here on mixed indents and alternate tabstop values, and I don't think this particular pattern or solution has been covered elsewhere.

Example file that I used to observe and test this behavior: https://github.com/TheLocehiliosan/yadm/blob/e4bb8a79a4b67f447d6cdf5fda16034498a5fb27/completion/bash/yadm

If the file is mostly space indents, set tabstop to shiftwidth.
@wickles
Copy link
Author

wickles commented Jul 6, 2023

Here's a visual comparison using the reference file.

Without this change:

Screenshot 2023-07-06 A

With this change:

Screenshot 2023-07-06 B

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

Successfully merging this pull request may close these issues.

None yet

1 participant