On Aug 30, 2012, at 12:16 PM, Allan Odgaard <[email protected]> wrote:

> On Aug 30, 2012, at 6:59 PM, Gerd Knops <[email protected]> wrote:
> 
>> My suggestion:
>> 
>>      ${TM_PROJECT_DIRECTORY}/.tm_tmp/<bundleName>/
>> 
>> Comments please?
> 
> How about ‘.textmate’ instead of ‘.tm_tmp’?
> 
> I’ve been seriously contemplating renaming .tm_properties to .textmate/config 
> — the downside is that an entire folder needs to be created and more hassle 
> editing the files (though that could be solved by TM), the upside is that 
> everything related could go there, we could maybe do ‘.textmate/cache’ for 
> things like a tm-ctags index, hmm… come to think of it, ‘.textmate/session’ 
> for what’s presently in ‘~/Library/Application Support/TextMate/Session’ 
> (allowing session info like open files to be “per project”).
> 
> Though it gets a little muddy with .textmate/config almost always belonging 
> to SCM but the rest of the files not…
> 
Agreed, it would be trickier to filter out .textmate/session because session 
might be a directory in a project. So maybe two top-level directories:

        .textmate       # Stuff that should go into SCM
        .textmate.tmp   # Stuff that should not go into SCM

Or .textmate.no_scm to make it really obvious what is intended here.

That also might open the door to something that I have been mulling over for a 
while: storing a per-file index of pertinent information gleaned from the 
various scopes. ctags has some downsides:

- not all languages supported
- no active development
- only stores "where is it defined", not "where is it used" type info

With the info TexMate parses from the source files anyway we could build a 
pretty cool symbol navigator that not only tracks definitions but also uses. 
And if it has a textmate grammar, it is supported.

In the long run (if I may dream for a moment) I'd like TM to be much more 
"code-aware", understanding the current context. Using an undefined variable, 
function or method? Highlight it on the fly. Know the class of the identifier. 
Offer some refactorings. Even smarter completion. Stuff like that. AppCode 
(Objective-C IDE based on IntelliJ) offers some really, really cool stuff. A 
lot of that could be inferred from the grammars and be offered in a more 
general fashion. Typically while editing the machine is bored, give it 
something to do...

Oh well, I am back now.

Gerd

_______________________________________________
textmate-dev mailing list
[email protected]
http://lists.macromates.com/listinfo/textmate-dev

Reply via email to