DefaultPackages
DefaultPackages copied to clipboard
Reindentation messes up case statements
OS: Ubuntu 14.04 Version: Sublime Text Build 3083
When using case statements and syntax is set to bash, reindenting the file results in case statements looking like this: (indentation is small because I set tab to 2 spaces, but it reacts the same on a fresh install)
case "${flag}" in
n) noInstall='true' ;;
u) autoUpdate='true' ;;
f) forseLN='true' ;;
*) error "Unexpected option ${flag}" ;;
esac
While they should look like this:
case "${flag}" in
n) noInstall='true' ;;
u) autoUpdate='true' ;;
f) forseLN='true' ;;
*) error "Unexpected option ${flag}" ;;
esac
There are many other examples of this (I can provide more) in my code, and a fresh install has the same problem. Is there any way to fix this?
My configuration: here
Thanks!
So, what is the status of the issue? Is there any workaround? This bug can really "make one mad"; I heavily use case ... esac
in bash for parsing arguments, so after applying "reindent" the indentation in my file is completely broken.
I've done some experimentation, and it looks like the workaround is to remove the meta_scope: meta.scope.case-clause.shell
line at https://github.com/sublimehq/Packages/blob/4db940a44b74727ade298927d5ffdb8826fc9769/ShellScript/Shell-Unix-Generic.sublime-syntax#L45
see also https://forum.sublimetext.com/t/bash-case-indentation/8010