-
-
Save JeanMertz/925008 to your computer and use it in GitHub Desktop.
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[-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 |
Error loading syntax file "Packages/RSpec/RSpec.tmLanguage": Error parsing plist xml: Failed to open file In file "Packages/RSpec/RSpec.tmLanguage" Error on Ubuntu any ideas how to fix it. Dropped the syntax_highlighting.py file into "/home/$usename$/.config/sublime-text-2/Packages/User" but still getting the error.
For everyone still coming across this gist and needing more control over applying the correct syntax to files in ST2, I encourage you to consider DetectSyntax [1], a plugin I created based on JeanMertz's work above.
Added erb & ru https://gist.github.com/2940866
@survivorist use "Package Control" and install "RSpec"
I've been seeing the same error on Sublime Text 2 for Windows. Tried adding the @irakli-janiashvili version noted above to my package directory, but still receiving same error.
Thanks!
Added a check for erb files here: https://gist.github.com/2142985