/SyncSettings

Sync Settings - The cross-platform solution to keep Sublime Text configuration synchronized

Primary LanguagePythonMIT LicenseMIT

UNMAINTAINED

Sadly, I won't able to continue with the development of SyncSettings, it will be available on package control registry but won't receive new changes.

SyncSettings has been a very challenging project and it tought me how to cope with a community and learn more about the open source world. Thanks for all the support during this time and I hope that SyncSttings remains being so useful like it was for me.

Happy Coding!

Marcelo


Sync Settings

All Contributors

SyncSettings license SyncSettings release Build Status Coverage

Buy Me A Coffee

With Sync Settings, you are able to synchronize your Sublime Text settings among multiple devices, and keep them updated.

Being powered by GitHub-Gists, Sync Settings provides you a reliable cross-platform solution to keep your backups secure.

Please, follow the steps below to getting started with Sync Settings.

Sync Settings works on Windows, Linux, macOS and Sublime Text 3.

Getting Started

  1. Run Package Control: Install Package command, and looks for Sync Settings
  2. Run Sync Settings: Edit User Settings
  3. if Do you already have a gist?
    1. Copy gist id and put it in config file (https://gist.github.com/<username>/<gist id>) (gist_id property)
    2. Run Sync Settings: Download command to retrieve your backup.
  4. else
    1. Create an access token here with gist scope checked.
    2. Put the token in the config file (access_token property)
    3. Run Sync Settings: Create and Upload command

File Format

Please note - the config file uses the JSON format. A simplified example may look like the following.

{
	"access_token": "xxxxxxxxxxxxxxxxxxxxxxxxx",
	"gist_id": "xxxxxxxxxxxxxxxxxxxxxxxxx"
}

Options

By default, this plugin operates over Sublime Text packages folder (i.e /Users/<my_user>/Library/Application Support/Sublime Text 3/Packages/User), which means, excluded_files and included_files will look for files inside that folder.

name type description
access_token string Brings write permission to Sync Settings over your gists (edit, delete and create). (This option is not required, if you only want to download your backups)
gist_id string Identifier of your backup on gist.github.com.
auto_upgrade boolean If is true, your settings will be synced with the latest settings on gist.github.com when Sublime Text startup
http_proxy string An HTTP proxy server to use for requests.
https_proxy string An HTTPS proxy server to use for requests.
excluded_files []string In simple words, this option is a black list. Which means, every file that match with the defined pattern, will be ignored on sync.
included_files []string In simple words, this option is a white list. Which means, every file that match with the defined pattern, will be included on sync, even if it was included on excluded_files option.

Note: excluded_files and included_files are patterns defined as unix shell style.

Commands

command description
Sync Settings: Create and Upload Creates a new backup on gist.github.com from your local files
Sync Settings: Delete and Create Deletes the remote reference of your gist and then, creates a new backup from your local files to gist.github.com
Sync Settings: Upload Upload a backup from your local files to gist.github.com
Sync Settings: Download Retrieves the latest version of your backup, using as reference the gist_id property defined in your settings file.
Sync Settings: Delete Deletes the remote version of your gist, using as reference the gist_id property defined in your settings file. (This action is irreversible)
Sync Settings: Show Logs Open a new view, with Sync Settings log file
Sync Settings: Edit User Settings Open a new view, with Sync Settings user settings.

Contributors

Thank you for contribute to this project:


Ferron H

💻

tomahl

💻

Johannes Weber

💻

William Myers

💻

Terminal

💻

mariohuq

💻

Issues

If you are experimenting an error, or an unusual behavior. Please let me know, creating a new issue appending the logs provided by the Sync Settings: Show logs command.

Development

You are welcome to contribute to this project, whenever you want.

Install dependencies

This project uses pipenv as environment and package manager, follow the instructions below and start contributing.

$ pipenv --python 3.7
$ pipenv install

Run tests

$ pipenv run nosetests tests

License

Sync Settings is licensed under the MIT license along with all source code.

Copyright (c) since 2015, Marcelo Fuentes <marceloe.fuentes@gmail.com>.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Help me keep making awesome stuff

Contribute with me, supporting this project through

Become a backer

Become a backer

Buy Me A Coffee