Awesome
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-BADGE:START - Do not remove or modify this section --> <!-- ALL-CONTRIBUTORS-BADGE:END --> <a href="https://www.buymeacoffee.com/mfuentesg" target="_blank"> <img height="41" src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" /> </a> <br /> <br />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
- Run
Package Control: Install Package
command, and looks for Sync Settings - Run
Sync Settings: Edit User Settings
- if Do you already have a gist?
- Copy
gist id
and put it in config file (https://gist.github.com/<username>/<gist id>
) (gist_id
property) - Run
Sync Settings: Download
command to retrieve your backup.
- Copy
- else
- Create an access token here with
gist
scope checked. - Put the token in the config file (
access_token
property) - Run
Sync Settings: Create and Upload
command
- Create an access token here with
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
andincluded_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:
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tr> <td align="center"><a href="https://ferronrsmith.github.io/"><img src="https://avatars2.githubusercontent.com/u/159764?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ferron H</b></sub></a><br /><a href="https://github.com/mfuentesg/SyncSettings/commits?author=ferronrsmith" title="Code">💻</a></td> <td align="center"><a href="https://github.com/tomahl"><img src="https://avatars0.githubusercontent.com/u/1665481?v=4?s=100" width="100px;" alt=""/><br /><sub><b>tomahl</b></sub></a><br /><a href="https://github.com/mfuentesg/SyncSettings/commits?author=tomahl" title="Code">💻</a></td> <td align="center"><a href="https://nachvorne.de"><img src="https://avatars3.githubusercontent.com/u/2073401?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Johannes Weber</b></sub></a><br /><a href="https://github.com/mfuentesg/SyncSettings/commits?author=JohaWeber" title="Code">💻</a></td> <td align="center"><a href="https://mwilliammyers.com"><img src="https://avatars1.githubusercontent.com/u/2526129?v=4?s=100" width="100px;" alt=""/><br /><sub><b>William Myers</b></sub></a><br /><a href="https://github.com/mfuentesg/SyncSettings/commits?author=mwilliammyers" title="Code">💻</a></td> <td align="center"><a href="https://github.com/TheSecEng"><img src="https://avatars1.githubusercontent.com/u/32599364?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Terminal</b></sub></a><br /><a href="https://github.com/mfuentesg/SyncSettings/commits?author=TheSecEng" title="Code">💻</a></td> <td align="center"><a href="https://github.com/mariohuq"><img src="https://avatars.githubusercontent.com/u/15021607?v=4?s=100" width="100px;" alt=""/><br /><sub><b>mariohuq</b></sub></a><br /><a href="https://github.com/mfuentesg/SyncSettings/commits?author=mariohuq" title="Code">💻</a></td> </tr> </table> <!-- markdownlint-restore --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END -->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
<a href="https://www.buymeacoffee.com/mfuentesg" target="_blank"> <img height="41" src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" /> </a>