1
+ import sublime , sublime_plugin
2
+ import os
3
+
4
+ class RSpecDetectFileTypeCommand (sublime_plugin .EventListener ):
5
+ """ Detects current file type if the file's extension isn't conclusive """
6
+ """ Modified for Ruby on Rails and Sublime Text 2 """
7
+ """ Original pastie here: http://pastie.org/private/kz8gtts0cjcvkec0d4quqa """
8
+
9
+ def on_load (self , view ):
10
+ filename = view .file_name ()
11
+ if not filename : # buffer has never been saved
12
+ return
13
+
14
+ name = os .path .basename (filename .lower ())
15
+ if name [- 8 :] == "_spec.rb" :
16
+ set_syntax (view , "RSpec" , "RSpec" )
17
+ elif name == "factories.rb" :
18
+ set_syntax (view , "RSpec" , "RSpec" )
19
+ # elif name == "gemfile":
20
+ # set_syntax(view, "Ruby on Rails", "Rails")
21
+ # elif name[-2:] == "rb":
22
+ # set_syntax(view, "Ruby on Rails", "Rails")
23
+
24
+
25
+ def set_syntax (view , syntax , path = None ):
26
+ if path is None :
27
+ path = syntax
28
+ view .settings ().set ('syntax' , 'Packages/' + path + '/' + syntax + '.tmLanguage' )
29
+ print "Switched syntax to: " + syntax
0 commit comments