Am 24.10.14 um 09:24 schrieb Allan Odgaard:
On 23 Oct 2014, at 11:42, Stefan Daschek wrote:
When and how is the “First Line Match” setting of
It is used after checking for explicit bindings (from tm properties).
The explicit bindings are recorded in the Global.tmProperties when the
user change language for an open file.
Makes sense! So the precendence is like this?
1. Use explicit binding from Global.tmProperties.
2. If none found, use first line match.
3. If none found, use file types (extension).
If more than one bundle claims a file type by extension, is it “longest
match wins“? (The RSpec bundle uses `_spec.rb` which seems to take
precedence over Ruby's `rb` even for empty files.) And what happens if
two bundles claim the exact same extension? (Both Ruby and Rails claim
`rb`, and apparently the Ruby bundle “wins”.)
With a *.rb file open you should be able to use ⌃⌘T,
switch to settings,
and then enter ‘filetype’ to find your explicit binding for *.rb → Rails
in Global.tmProperties (although clicking Edit doesn’t take you to the
proper line yet).
Great, this has already proven itself very helpful. Thanks!
Making it work for RSpec files, assuming these still
file_spec.rb naming convention, you would need to change the setting to:
[ *.rb~*_spec.rb ]
fileType = source.ruby.rails
Cool – didn't know that it's possible to combine wildcards like this!