ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Sync Settings

by mfuentesg ST2/ST3 Trending

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

Details

Installs

  • Total 8K
  • Win 4K
  • OS X 3K
  • Linux 2K
Aug 18 Aug 17 Aug 16 Aug 15 Aug 14 Aug 13 Aug 12 Aug 11 Aug 10 Aug 9 Aug 8 Aug 7 Aug 6 Aug 5 Aug 4 Aug 3 Aug 2 Aug 1 Jul 31 Jul 30 Jul 29 Jul 28 Jul 27 Jul 26 Jul 25 Jul 24 Jul 23 Jul 22 Jul 21 Jul 20 Jul 19 Jul 18 Jul 17 Jul 16 Jul 15 Jul 14 Jul 13 Jul 12 Jul 11 Jul 10 Jul 9 Jul 8 Jul 7 Jul 6 Jul 5 Jul 4
Windows 3 11 26 8 11 6 2 10 14 12 11 12 4 4 10 5 11 8 12 3 8 10 6 5 11 13 1 4 3 7 4 8 16 10 11 13 16 7 7 10 7 2 9 7 11 16
OS X 5 8 5 4 5 4 4 8 6 9 5 5 6 6 7 9 8 1 10 5 3 3 4 2 2 7 2 8 6 8 11 3 10 6 5 5 2 3 7 3 2 3 7 4 5 2
Linux 4 4 5 8 4 4 2 10 3 6 6 5 0 3 3 5 9 4 5 4 5 2 7 5 5 5 4 6 3 4 8 10 10 8 1 6 4 3 12 5 5 7 4 3 6 3

Readme

Source
raw.​githubusercontent.​com

Sync Settings

SyncSettings license SyncSettings release Build Status

Sync Settings, is a cross-platform solution to keep the Sublime Text configuration updated.

How it works?

Sync Settings uses Github-Gist allowing you to use all features that this service provides.

Support

Installation:

  1. Install Package Control
  2. Open Package Control and looks for Sync Settings

Configuration

  1. Create an access token in GitHub
  2. Paste token in configuration file Preferences > Packages Settings > Sync Settings > Settings - User

Options

  • access_token: Access token provided by GitHub
  • gist_id: Identifier of the gist that will be used for the synchronization
  • auto_upgrade: If it is activated, your settings will be upgraded on startup (Download command)
  • excluded_files: It is a list with all files that will be ignored by the plugin at the time of upload or download. You can exclude by folder name, file name and/or file extension.
/**
 * Excluded files example:
 * Note: Considers that each excluded item will begin with /Path/to/Sublime Text/Packages/User/
 */

{
  "excluded_files": [
    ".txt",
    "SublimeLinter",
    "awesome_file.py",
    "path/to/other/awesome/file.py"
  ]
}
  • included_files: It is a list with all files what will be included by the plugin at the time of upload or download. You can include by folder name, file name and/or file extension.
/**
 * Included files example:
 * Note: Considers that each include item will begin with /Path/to/Sublime Text/Packages/User/
 */

{
  "included_files": [
    ".txt",
    "SublimeLinter/some_file.py",
    "awesome_file.py",
    "path/to/other/awesome/file.py"
  ]
}

Commands

  1. Create and Upload: Creates a new gist and upload your settings. The Gist identifier will be included in Preferences > Packages Settings > Sync Settings > Settings - User if you accept the prompt message.
  2. Delete and Create: Deletes the current gist and create a new with your settings.
  3. Upload: Upload your settings files, excluding the files included in “excluded files” option.
  4. Download: Download your settings files, overwriting the existing files, after downloaded your files Sublime Text need to be restarted.
  5. Delete: Deletes the current gist.
  6. Show Logs: Open a new view with the log file content.
  7. Edit user settings: Open a new view with the user settings.

🤓 - See it in action SyncSettings in action!

Tests

You can run and add new tests using the following instructions. For more information consulting the framework documentation.

Requirements

For running the tests, you need install the dependencies pip install -r requirements.txt and python 2.7+. Also, it is necessary create an environment variable called SYNC_ACCESS_TOKEN.

Run tests

# Linux/OSX
export SYNC_ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"

# Windows (Run as Administrator)
setx SYNC_ACCESS_TOKEN "<YOUR_ACCESS_TOKEN>" -m


#Run all tests
python -m unittest discover -s ./tests/libs

#For run an specific test just add the `p` flag
python -m unittest discover -s ./tests/libs -p test_<name>.py

Add Tests

touch test_<name>.py #Create a new file
#Example:

from unittest import TestCase

class TestExample(TestCase):
  def test_upper(self):
    self.assertEqual('foo'.upper(), 'FOO')

  def test_<name>(self):
    self.assertFalse('bar'.lower(), 'BAR')

Contributors

Issues?

If you find errors in the plugin, you can to execute “Show Logs” command and report a new issue with the file content.

Changelog

You can check the changes to this plugin here

Donate

You are welcome support this project using Paypal

License

MIT License. © 2015-2016 Marcelo Fuentes