[txmt-dev] Re: .tm_tmp as project-specific semi-permanent directory?

Gerd Knops gerti-textmate at bitart.com
Thu Aug 30 17:58:44 UTC 2012


On Aug 30, 2012, at 12:16 PM, Allan Odgaard <mailinglist at textmate.org> wrote:

> On Aug 30, 2012, at 6:59 PM, Gerd Knops <gerti-textmate at bitart.com> 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



More information about the textmate-dev mailing list