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

Sync Settings

by mfuentesg ST2/ST3

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

Details

Installs

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

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