import sublime, sublime_plugin | |
import os | |
class DetectFileTypeCommand(sublime_plugin.EventListener): | |
""" Detects current file type if the file's extension isn't conclusive """ | |
""" Modified for Ruby on Rails and Sublime Text 2 """ | |
""" Original pastie here: http://pastie.org/private/kz8gtts0cjcvkec0d4quqa """ | |
def on_load(self, view): | |
filename = view.file_name() | |
if not filename: # buffer has never been saved | |
return | |
name = os.path.basename(filename.lower()) | |
if name[-8:] == "_spec.rb": | |
set_syntax(view, "Rspec", "User/rspec") | |
elif name == "factories.rb": | |
set_syntax(view, "Rspec", "User/rspec") | |
elif name == "gemfile": | |
set_syntax(view, "Ruby on Rails", "Rails") | |
elif name == "config.ru": | |
set_syntax(view, "Ruby on Rails", "Rails") | |
elif name[-2:] == "rb": | |
set_syntax(view, "Ruby on Rails", "Rails") | |
def set_syntax(view, syntax, path=None): | |
if path is None: | |
path = syntax | |
view.settings().set('syntax', 'Packages/'+ path + '/' + syntax + '.tmLanguage') | |
print "Switched syntax to: " + syntax |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment