Wouldn't it be cool to have a seperate MRU list for .tmproj project
files? This way they won't get pushed off the list by other
independent small files. Older projects are more important than
files, IMO.
Jonas
Hi All,
I use TM for lots of HTML and I use the built-in tidy command all the
time. The behavior of the command changed recently and it is now
doing something that I was about to request as a feature! The old
behavior was that after the tidy command the current line was now the
very bottom of the file. The new behavior is that the current line
stays where I was editing. This is great! It was a serious pain to
have to find the line I was just on to keep working.
I just want to make sure that this was done on purpose and will stay
this way. Thanks!
BTW, I will soon be attending the Pragmatic Studio workshop on Ruby
on Rails so I hope to be soon using TM for Ruby. Slowly, but very
surely, I am switching over to TM. The big evil Java might be the
last to succumb, though. Are there others on this list who would like
to jettison Eclipse, too? What can we do to improve Java editing in
TM? What would be your minimum list of features?
-Eric
> Not really -- in principle there should be nothing wrong with having
> a normal (file) template generate a project, although I'd have to
> spot the .tmproj extension.
Allan,
That sounds like the way we'd like to go, seems like the right place in the
app for the feature to exist as well, we don't really have the skills to
delve into ObjC and write a plugin (although Im sure it cant be THAT hard),
so some form of script (perl or python) is probably the easiest way to go,
we are working on something that can ask the user for input and then copy
across a whole directory of files, what is it about the .tmproj extension
you need to change?
Regards
Chris
On 9/11/05 10:22, "textmate-request(a)lists.macromates.com"
<textmate-request(a)lists.macromates.com> wrote:
> Re: [TxMt] Feature request: project templates
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
Hi all,
What's the official procedure for filing bug reports? There's this
mailing list, bugs(a)macromates.com, the various areas of the wiki, the
FogBugz site... what's the best way to deliver bug reports without
driving Allan to distraction?
thanks
pb
--
paul bissex
69.55.225.29
01061-0847
72°39'71"W 42°19'42"N
It's just taken me a while to work out that the reason a command from
Automation > Run Command > etc...
Wasn't working because I didn't have a document open - it's been a
long day ;) . I know this may be been discussed before but how
possible would it be for the commands to be greyed out when they
can't be called? Or is there a way to exec a command from the list
when there isn't a document open that I'm missing.
Cheers,
Simon
> The number one thing I miss when trying to do java coding in TM is
> code autocompletion, and code hinting. I guess codesense is the more
> common term. I think this would probably require some kind of plugin.
I'm soooooooooooooooooooo with you on this one. This would be a killer
app for any oo language (including Actionscript, which takes up the
better part of my days) with the option for strong typing. I agree that
the plugin architecture would be needed for this.
> Second on my list would be some of the common refactoring things like
> wrap in try/catch, smart rename/delete etc.
See above.
> I'd be willing to help with some of the work.
As would I.
Allan, do you have any ideas/suggestions/resources/examples/whatever
for us to start thinking about this?
I look forward to sending screenshots of this to all of my smug,
Eclipse-using colleagues ("you develop for Flash on a MAC??!!?!?!)
:D
___________________
Ben Jackson
Diretor de Desenvolvimento
ben(a)incomumdesign.com
http://www.incomumdesign.com
Allan,
Im not sure if this has been mentioned before but have you considered adding
some sort of support for project templates? Im thinking of something that
can be accessed from the File menu with no files open, that pops open a
dialog like the ³new file from template² one, a bit like the way Xcode does
it. We are in the process of making something that can be run as a command
that can sort of do this, ie: ask for user input for the project name, a
location to save the project etc and this is working quite nicely, but it
requires a document to be open to run it, which obviously isnt ideal. Do you
have any thoughts on this?
Regards
Chris Jenkins
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
Because it came up yesterday and I already have the bad reputation to
like Java, here it goes:
A somewhat better Java Syntax than the included one:
Features:
- Better colouring (due to the old syntax being outdated)
- Goto Symbol popup working
Bugs:
- Keep the closing parentheses and the opening brace ) { of a method
declaration on the same line, otherwise the end pattern won't match
- More to come soon ;)
Soryu
{ scopeName = 'source.java';
comment = '
Credits to Brian Lalor, who wrote the Java syntax included in TM.
I might have adapted some of his syntax.
Soryu
Comments:
• I excluded overridden anonymous Constructors from
"declaration.function.method.java", so they won''t show up in the
Goto Symbol popup to reduce clutter a little.
';
fileTypes = ( 'java' );
foldingStartMarker = '/\*\*|\{\s*$';
foldingStopMarker = '\*\*/|^\s*\}';
patterns = (
{ name = 'comment.line.double-slash.java';
begin = '//';
end = '$';
swallow = '\\\s*\n';
},
{ name = 'comment.documentation.java';
begin = '/\*\*';
end = '\*/';
patterns = (
{ match = '\*\s*(@)(param)\s*([a-z][a-zA-Z0-9_]+)\s*';
captures =
{ 1 = { name = 'keyword.other.documentation.control'; };
2 = { name = 'keyword.other.documentation.params.java'; };
3 = { name = 'keyword.other.documentation.value.java'; };
};
},
{ match = '\*\s*(@)([a-zA-Z0-9_-]+)\s*';
captures =
{ 1 = { name = 'keyword.embedded-docs.control.java'; };
2 = { name = 'keyword.embedded-docs.params.java'; };
};
},
);
},
{ name = 'comment.block.java';
begin = '/\*';
end = '\*/';
},
{ name = 'meta.package.java';
match = '(package)\s+([^ ;]+?)\s*;';
captures =
{ 1 = { name = 'keyword.other.java'; };
2 = { name = 'entity.name.package.java'; };
};
},
{ name = 'meta.import.java';
match = '(import)\s+([^ ;]+?);';
captures =
{ 1 = { name = 'keyword.other.java'; };
2 = { name = 'entity.name.class.java'; };
};
},
{ name = 'declaration.class.java';
match = '\b(?<=class|interface|enum)\s+(\w+)';
captures = { 1 = { name = 'entity.name.class.java'; }; };
},
{ name = 'other.inheritance.class.java';
comment = 'TODO: implements has multiple Parameters, Extends does
not';
match = '\b(?<=extends|implements)\s+(\w+)';
captures = { 1 = { name = 'entity.name.class.java'; }; };
},
{ name = 'declaration.function.method.java';
begin = '\b(?<!new)\s+(\w+)\s*\(';
end = '\)\s*{';
captures = { 1 = { name = 'entity.name.function.java'; }; };
patterns = ( { include = '#keywords'; } );
},
{ name = 'constant.numeric.java';
comment = 'stolen from c syntax without looking very much at it';
match = '\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|
E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\b';
},
{ name = 'keyword.flow.java';
match = '\b(if|else|while|for|return|continue|break|switch|do|goto|
case|try|catch|finally|throw)\b';
},
{ name = 'keyword.other.simple-types.java';
match = '\b(int|char|float|long|double|boolean|byte|short)\b';
},
{ name = 'keyword.operator.comparison.java';
match = '(==|!=|<=|>=|<>|<|>)';
},
{ name = 'keyword.operator.increment-decrement.java';
match = '(\-\-|\+\+)';
},
{ name = 'keyword.operator.arithmetic.java';
match = '(\-|\+|\*|\/|%)';
},
{ name = 'keyword.operator.logical.java';
match = '(!|&&|\|\|)';
},
{ name = 'storage.modifier.java';
match = '\b(private|public|protected|static|transient|final|
abstract|native|threadsafe|synchronized|volatile|strictfp)\b';
},
{ name = 'storage.type.java';
match = '\b(class|interface|enum)\b';
},
{ include = '#string-double-quoted'; },
{ include = '#keywords'; },
);
repository =
{ keywords =
{ name = 'keyword.other.java';
match = '\b(new|abstract|assert|default|synchronized|private|
protected|public|throws|enum|instanceof|transient|final|interface|
static|void|null|class|finally|strictfp|volatile|const|native|import|
package|extends|implements|this|super|true|false|if|else|while|for|
return|continue|break|switch|do|goto|case|try|catch|finally|throw|int|
char|float|long|double|boolean|byte|short)\b';
};
string-double-quoted =
{ name = 'string.quoted.double.java';
begin = '"';
end = '"';
patterns = (
{ name = 'constant.character.escaped.java';
match = '\\.';
}
);
};
};
}
Could it be that since the snap 715 the defaultkey defininition for all
application has changed. There are some definitions inside that I can't
use newline, backspace in any applications on os x.
regards
Karl-Heinz
> On 31/10/2005, at 10.59, Frédérik Bilhaut wrote:
>
> > I was wondering if TextMate has the feature often called "smart
> > home/end" in other editors ? [...]
>
> It doesn't, but you could record a macro which does:
>
> 1) move to beginning of line (ctrl A)
> 2) regexp search for: (?=\S|$)
>
> And bind that to the home key. For smart end you'd search for: (?=\s*$
Actually, this moves to the second column with lines that have no
whitespace at the front. It'd be better to do:
1) move to beginning of line (ctrl A)
2) regexp search for: (?<=\S|$)
3) move left
The regexp uses a look-behind to place the cursor after the first
non-whitespace character. Cheers,
Ben
___________________
Ben Jackson
Diretor de Desenvolvimento
ben(a)incomumdesign.com
http://www.incomumdesign.com