Currently, it works by checking to see if the tabbing is different between the current file and the global settings when the command is run. Then if there is a difference, it converts spaces to tabbing, sets the tab width, and then converts the tabs back to spaces. That's how I've always done it from the UI, so I figured why not.
There's a setting to disable the conversion upon loading a file in case you don't like that.
Just created a plugin that can partially resolve this issue: https://github.com/sammarks/subl-convertindentation
Currently, it works by checking to see if the tabbing is different between the current file and the global settings when the command is run. Then if there is a difference, it converts spaces to tabbing, sets the tab width, and then converts the tabs back to spaces. That's how I've always done it from the UI, so I figured why not.
There's a setting to disable the conversion upon loading a file in case you don't like that.