Improve shell variant detection for shfmt#245
Open
rolandmas wants to merge 3 commits intolassik:masterfrom
Open
Improve shell variant detection for shfmt#245rolandmas wants to merge 3 commits intolassik:masterfrom
rolandmas wants to merge 3 commits intolassik:masterfrom
Conversation
Owner
|
Thanks. A better approach is to always use |
Owner
|
I can write the code. |
Owner
|
Wait, editorconfig. Isn't it supposed to be based on filename patterns only? So if you want to use editoconfig settings for |
Author
|
Yes, correct. Which is why I needed to write a section for [.sh] and [.bash] in that file in order to save default settings for shfmt; and using -ln only doesn't cause shfmt to read these sections because it's based on filenames, hence the tweak in -filename. |
knu
reviewed
Mar 6, 2026
| (list "-filename" | ||
| (cl-case (and (eql major-mode 'sh-mode) | ||
| (boundp 'sh-shell) | ||
| (symbol-value 'sh-shell)) |
Collaborator
There was a problem hiding this comment.
How about binding a let variable to this value so you can use it in both then and else branches?
You can use derived-mode-p and bound-and-true-p here.
(let ((sh-shell (and (derived-mode-p '(sh-mode))
(bound-and-true-p sh-shell))))
(if (buffer-file-name)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds a suffix to the filename passed to shfmt so it can use the default settings stored in .editorconfig even for shell scripts without an extension.