[TxMt] Re: Changing background colour based on file name
Allan Odgaard
mailinglist at textmate.org
Tue Nov 18 15:00:20 UTC 2014
On 18 Nov 2014, at 15:41, Baldwin, Dave wrote:
>> Here’s a simpler solution:
>>
>> [ Build/** ]
>> windowTitle = "$windowTitle **** BUILD **** "
>
> Can you explain what is going on here?
The first line (`[ Build/** ]`) means that settings below that line are
only applied to file paths that match the pattern `Build/**`, i.e. files
under the `Build` directory.
The next line simply appends a `**** BUILD ****` to the `windowTitle`
variable (which has a default value from the default properties file
included with TextMate).
> Also what is the magic to get the
> git branch name?
If you use ⌃⌘T (Bundles → Select Bundle Item…) and switch to
settings, then enter `windowtitle` and you’ll see that it gets
assigned to from `Defaults.tmProperties`. You can select to “edit”
it to see the full properties file, which reveal how the default title
is constructed.
> This is also shown as the syntax:
>
> (?«var»:«if»:«else»)
>
> which is what I have (as far as I can see).
Sorry, I didn’t read your code carefully.
Your issue is that you try to match `Build` and if it matches, replace
it with `**** BUILD ****`.
Now, incase you do not match `Build` then no replacement is done, which
means the value of TM_DIRECTORY is inserted as-is.
So what you should have used was something like this:
${TM_DIRECTORY/(.*Build.*)|.*/(?1:**** BUILD ****:)/}
Here we always match the entire value of TM_DIRECTORY, and only if
capture register 1 is set, do we replace it with `**** BUILD ****`. If
nothing is captured, we replace the entire string with nothing.
>> The manual has the full syntax here:
>> http://manual.textmate.org/references.html#format-string
>
> I was aware of this but without some explanation it is too cryptic and
> I
> am sure the majority of TM users are in the same boat.
Right, the manual is still work-in-progress (and very incomplete), but
it has the full/exact format string syntax.
The blog post from James has a lot of examples about how to use format
strings in practice.
More information about the textmate
mailing list