[TxMt] Pinstripe column guides [feature request]

Gerd Knops gerti-textmate at bitart.com
Thu Jun 7 16:37:18 UTC 2007


On Jun 6, 2007, at 10:32 AM, James Perry wrote:

> Hello all,
>
> One thing I found useful in BBEdit was the ability to show the  
> pinstripe column markers -- I find this invaluable as a guide when  
> coding in python, where indentation is critical. Might this be a  
> feature that you all would find useful?

Perl has it built in (meta.leading-tabs, meta.odd-tab, meta.even-tab).

I am also using it in Objective-C, using the syntax below which  
itself includes the Objective-C syntax. That recipe could probably be  
used for other languages as well. It works fine with hard tabs, for  
soft tabs it assumes 4-char wide tabs.

Gerd


{	scopeName = 'source.objc.gerd';
	fileTypes = ( 'm', 'h' );
	foldingStartMarker = '(?x)
		 /\*\*(?!\*)
		|^(?![^{]*?//|[^{]*?/\*(?!.*?\*/.*?\{)).*?\{\s*($|//|/\*(?!.*?\*/.* 
\S))
	';
	foldingStopMarker = '(?<!\*)\*\*/|^\s*\}|^@end\b';
	patterns = (
		{	name = 'comment.line.double-slash.c++';
			begin = '^(//)';
			end = '$\n?';
			beginCaptures = {
				0 = { name = 'meta.comment.full-line.c++'; };
				1 = { name = 'punctuation.definition.comment.objc'; };
			};
			endCaptures = { 0 = { name = 'meta.comment.full-line.c++'; }; };
			patterns = (
				{	name = 'punctuation.separator.continuation.c++';
					match = '(?>\\\s*\n)';
				},
			);
			contentName = 'meta.comment.full-line.c++';
		},
		{	name = 'meta.leading-tabs';
			begin = '^(?=(\t| {4}))';
			end = '(?=[^\t\s])';
			patterns = (
				{	match = '(\t| {4})(\t| {4})?';
					captures = {
						1 = { name = 'meta.odd-tab'; };
						2 = { name = 'meta.even-tab'; };
					};
				},
			);
		},
		{	include = 'source.objc'; },
	);
}




More information about the textmate mailing list