Preserving scrool/selection and hability to disable it by project

I did this to allow disabling format_on_save by project and to keep scroll position and selection after formatting