diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..16d3c4d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.cache
diff --git a/bash_profile b/bash_profile
index 20b6f5b..2e68d04 100644
--- a/bash_profile
+++ b/bash_profile
@@ -55,7 +55,7 @@ command -v brew >/dev/null 2>&1 && [ -r "$(brew --prefix)/etc/bash_completion" ]
[ -e "~/.ssh/config" ] && complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config | grep -v "[?*]" | cut -d " " -f2)" scp sftp ssh
# Nano is default editor
-export EDITOR='nano'
+export EDITOR='nano'
# Tell ls to be colourful
export CLICOLOR=1
diff --git a/setup/bash.sh b/setup/bash.sh
old mode 100644
new mode 100755
diff --git a/setup/imgo.sh b/setup/imgo.sh
old mode 100644
new mode 100755
diff --git a/setup/sublime-packages.sh b/setup/sublime-packages.sh
index 66da4b1..68e65dd 100755
--- a/setup/sublime-packages.sh
+++ b/setup/sublime-packages.sh
@@ -1,21 +1,26 @@
-# Installs/updates Sublime packages from GitHub
+# Installs/updates Sublime packages
+#
+# 1. Installs Package Control (all plugins listed in `Package Control.sublime-settings` will be installed after Sublime restarts).
+# 2. Installs some packages from GitHub.
if [ `uname` == 'Darwin' ]; then
- cd ~/Library/Application\ Support/Sublime\ Text\ 2/Packages
+ cd ~/Library/Application\ Support/Sublime\ Text\ 2/Installed\ Packages
else
- cd ~/AppData/Roaming/Sublime\ Text\ 2/Packages
+ cd ~/AppData/Roaming/Sublime\ Text\ 2/Installed\ Packages
fi
-# Emmet (ex. Zen Coding)
-if [ -d ./emmet-sublime ]; then
- echo "Updating Emmet..."
- cd emmet-sublime
- git pull
- cd ..
-else
- echo "Installing Emmet..."
- git clone git://github.com/sergeche/emmet-sublime.git
-fi
+#
+# Package Control
+#
+
+[ ! -f Package\ Control.sublime-package ] && curl -o Package\ Control.sublime-package http://sublime.wbond.net/Package%20Control.sublime-package
+
+
+#
+# GitHub
+#
+
+cd ../Packages
# Hayaku Bundle
if [ -d ./hayaku ]; then
diff --git a/setup/sublime-settings.sh b/setup/sublime-settings.sh
new file mode 100755
index 0000000..4746612
--- /dev/null
+++ b/setup/sublime-settings.sh
@@ -0,0 +1,11 @@
+# Enables Sublime settings syncronization
+
+if [ `uname` == 'Darwin' ]; then
+ cd ~/Library/Application\ Support/Sublime\ Text\ 2/Packages
+else
+ cd ~/AppData/Roaming/Sublime\ Text\ 2/Packages
+fi
+
+[ ! -d ../Packages.bak ] && mkdir ../Packages.bak
+mv User ../Packages.bak/User
+ln -s ~/dotfiles/sublime/User User
\ No newline at end of file
diff --git a/sublime/User/Default (OSX).sublime-keymap b/sublime/User/Default (OSX).sublime-keymap
new file mode 100644
index 0000000..7c65fb4
--- /dev/null
+++ b/sublime/User/Default (OSX).sublime-keymap
@@ -0,0 +1,4 @@
+[
+ { "keys": ["ctrl+d"], "command": "duplicate_line" },
+ { "keys": ["ctrl+y"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Line.sublime-macro"} }
+]
\ No newline at end of file
diff --git a/sublime/User/Default (Windows).sublime-keymap b/sublime/User/Default (Windows).sublime-keymap
new file mode 100644
index 0000000..7c65fb4
--- /dev/null
+++ b/sublime/User/Default (Windows).sublime-keymap
@@ -0,0 +1,4 @@
+[
+ { "keys": ["ctrl+d"], "command": "duplicate_line" },
+ { "keys": ["ctrl+y"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Line.sublime-macro"} }
+]
\ No newline at end of file
diff --git a/sublime/User/Package Control.sublime-settings b/sublime/User/Package Control.sublime-settings
new file mode 100644
index 0000000..f9dc29c
--- /dev/null
+++ b/sublime/User/Package Control.sublime-settings
@@ -0,0 +1,17 @@
+{
+ "auto_upgrade_last_run": 1350388642,
+ "installed_packages":
+ [
+ "AdvancedNewFile",
+ "emmet-sublime",
+ "Inc-Dec-Value",
+ "Package Control",
+ "Stylus",
+ "SublimeLinter",
+ "Theme - Soda"
+ ],
+ "repositories":
+ [
+ "https://github.com/sergeche/emmet-sublime"
+ ]
+}
diff --git a/sublime/User/Preferences.sublime-settings b/sublime/User/Preferences.sublime-settings
new file mode 100644
index 0000000..965bc73
--- /dev/null
+++ b/sublime/User/Preferences.sublime-settings
@@ -0,0 +1,29 @@
+{
+ "auto_complete_delay": 1000,
+ "auto_match_enabled": false,
+ "color_scheme": "Packages/User/Tomorrow.tmTheme",
+ "default_line_ending": "unix",
+ "detect_indentation": false,
+ "create_window_at_startup": false,
+ "open_files_in_new_window": false,
+ "drag_text": false,
+ "fallback_encoding": "Cyrillic (Windows 1251)",
+ "font_face": "Consolas",
+ "font_size": 14,
+ "highlight_line": true,
+ "ignored_packages": [
+ "Vintage"
+ ],
+ "rulers": [
+ 120
+ ],
+ "save_on_focus_lost": true,
+ "tab_completion": true,
+ "detect_slow_plugins": false,
+ "theme": "Soda Light.sublime-theme",
+
+ // Hayaku
+ "hayaku_CSS_whitespace_after_colon": "",
+ "hayaku_CSS_colors_case": "lowercase",
+ "hayaku_CSS_numbers_leading_zero": false
+}
diff --git a/sublime/User/Stylus.sublime-settings b/sublime/User/Stylus.sublime-settings
new file mode 100644
index 0000000..b489a28
--- /dev/null
+++ b/sublime/User/Stylus.sublime-settings
@@ -0,0 +1,14 @@
+{
+ "disable_tab_abbreviations": true,
+
+ // Whitespaces
+ "hayaku_CSS_whitespace_block_end_before": "\n",
+
+ // Syntax quirks
+ "hayaku_CSS_syntax_no_curly_braces": false, // Don't print braces for code blocks
+ "hayaku_CSS_syntax_no_semicolons": false, // Don't print the semicolon at the end of rule
+ "hayaku_CSS_syntax_no_colons": false, // Don't print colon between property and value
+
+ // Prefixes
+ "hayaku_CSS_prefixes_disable": true // Disable the prefixes at all, like if using nib
+}
diff --git a/sublime/User/SublimeLinter.sublime-settings b/sublime/User/SublimeLinter.sublime-settings
new file mode 100644
index 0000000..765b300
--- /dev/null
+++ b/sublime/User/SublimeLinter.sublime-settings
@@ -0,0 +1,6 @@
+{
+ "sublimelinter_delay": 1,
+ "sublimelinter_mark_style": "none",
+ "sublimelinter_gutter_marks": true,
+ "sublimelinter_notes": true
+}
\ No newline at end of file
diff --git a/sublime/User/Tomorrow.tmTheme b/sublime/User/Tomorrow.tmTheme
new file mode 100644
index 0000000..66d2de2
--- /dev/null
+++ b/sublime/User/Tomorrow.tmTheme
@@ -0,0 +1,245 @@
+
+
+
+
+ comment
+ http://chriskempson.com
+ name
+ Tomorrow
+ settings
+
+
+ settings
+
+ background
+ #FFFFFF
+ caret
+ #AEAFAD
+ foreground
+ #4D4D4C
+ invisibles
+ #D1D1D1
+ lineHighlight
+ #EFEFEF
+ selection
+ #D6D6D6
+
+
+
+ name
+ Comment
+ scope
+ comment
+ settings
+
+ foreground
+ #8E908C
+
+
+
+ name
+ Foreground
+ scope
+ keyword.operator.class, constant.other, source.php.embedded.line
+ settings
+
+ fontStyle
+
+ foreground
+ #666969
+
+
+
+ name
+ Variable, String Link, Regular Expression, Tag Name
+ scope
+ variable, support.other.variable, string.other.link, string.regexp, entity.name.tag, entity.other.attribute-name, meta.tag, declaration.tag
+ settings
+
+ foreground
+ #C82829
+
+
+
+ name
+ Number, Constant, Function Argument, Tag Attribute, Embedded
+ scope
+ constant.numeric, constant.language, support.constant, constant.character, variable.parameter, punctuation.section.embedded, keyword.other.unit
+ settings
+
+ fontStyle
+
+ foreground
+ #F5871F
+
+
+
+ name
+ Class, Support
+ scope
+ entity.name.class, entity.name.type.class, support.type, support.class
+ settings
+
+ fontStyle
+
+ foreground
+ #C99E00
+
+
+
+ name
+ String, Symbols, Inherited Class, Markup Heading
+ scope
+ string, constant.other.symbol, entity.other.inherited-class, markup.heading
+ settings
+
+ fontStyle
+
+ foreground
+ #718C00
+
+
+
+ name
+ Operator, Misc
+ scope
+ keyword.operator, constant.other.color
+ settings
+
+ foreground
+ #3E999F
+
+
+
+ name
+ Function, Special Method, Block Level
+ scope
+ entity.name.function, meta.function-call, support.function, keyword.other.special-method, meta.block-level
+ settings
+
+ fontStyle
+
+ foreground
+ #4271AE
+
+
+
+ name
+ Keyword, Storage
+ scope
+ keyword, storage, storage.type
+ settings
+
+ fontStyle
+
+ foreground
+ #8959A8
+
+
+
+ name
+ Invalid
+ scope
+ invalid
+ settings
+
+ background
+ #C82829
+ fontStyle
+
+ foreground
+ #FFFFFF
+
+
+
+ name
+ Separator
+ scope
+ meta.separator
+ settings
+
+ background
+ #4271AE
+ foreground
+ #FFFFFF
+
+
+
+ name
+ Deprecated
+ scope
+ invalid.deprecated
+ settings
+
+ background
+ #8959A8
+ fontStyle
+
+ foreground
+ #FFFFFF
+
+
+
+ name
+ Diff foreground
+ scope
+ markup.inserted.diff, markup.deleted.diff, meta.diff.header.to-file, meta.diff.header.from-file
+ settings
+
+ foreground
+ #FFFFFF
+
+
+
+ name
+ Diff insertion
+ scope
+ markup.inserted.diff, meta.diff.header.to-file
+ settings
+
+ background
+ #718c00
+
+
+
+ name
+ Diff deletion
+ scope
+ markup.deleted.diff, meta.diff.header.from-file
+ settings
+
+ background
+ #c82829
+
+
+
+ name
+ Diff header
+ scope
+ meta.diff.header.from-file, meta.diff.header.to-file
+ settings
+
+ foreground
+ #FFFFFF
+ background
+ #4271ae
+
+
+
+ name
+ Diff range
+ scope
+ meta.diff.range
+ settings
+
+ fontStyle
+ italic
+ foreground
+ #3e999f
+
+
+
+ uuid
+ 82CCD69C-F1B1-4529-B39E-780F91F07604
+
+
diff --git a/sublime/User/Tomorrow.tmTheme.cache b/sublime/User/Tomorrow.tmTheme.cache
new file mode 100644
index 0000000..de56c56
Binary files /dev/null and b/sublime/User/Tomorrow.tmTheme.cache differ
diff --git a/sublime/User/console-log.sublime-snippet b/sublime/User/console-log.sublime-snippet
new file mode 100644
index 0000000..5b5c027
--- /dev/null
+++ b/sublime/User/console-log.sublime-snippet
@@ -0,0 +1,6 @@
+
+
+ cl
+
diff --git a/sync.py b/sync.py
index c9e1ab3..e00ca4c 100755
--- a/sync.py
+++ b/sync.py
@@ -9,7 +9,7 @@ Source: https://gist.github.com/490016
import os
import glob
-EXCLUDE = ['tools', 'color', 'setup',' sync.py', 'Readme.md']
+EXCLUDE = ['tools', 'color', 'setup', 'sublime', ' sync.py', 'Readme.md', '.gitignore']
NO_DOT_PREFIX = ['bin']
def force_remove(path):