I'm using TextMate a lot these days to write code for R and I'd like
to see if there's a way to make an improvement.
The existing command in the R bundle works fine as long as I'm
sending just a handful of lines to the R application, but TextMate
gives me the beach ball for as much as a minute when I send lots of
code over, and then suddenly dumps all the code into R. For
reference, here's the short R command:
osascript -e 'tell application "R" to activate' -e "tell application
\"R\" to cmd \"${TM_SELECTED_TEXT//\"/\\\"}\""
I'm guessing that TM itself doesn't have a problem with the amount of
text, and that the bottleneck is in the applescript. Is there any way
to speed up how this is done in the event of a large set of commands?
For example, could the command be split into an array and run line-by-
line? (Would this result in an increase in speed? I have no idea --
just thinking out loud.)
Thanks for suggestions. Cheers-
-Alan
Hi All
Version 1.5.1 (948) has been crashing for the past few days. i'm not
sure if its textmate or OS X as i updated both sometime during the week.
the crash seems to happen when i press "tab" in the find&replace window,
but not all the time.
thanks
/V
Apologies in advance if the answer to my query is blindingly
obvious---I am a UNIX newbie.
I am trying to implement Fletcher Penney's variant of Markdown,
MultiMarkdown (http://fletcher.freeshell.org/wiki/MultiMarkdown), as
a TextMate bundle. The basic idea is to convert a Markdown document
into a full xhtml document and then to use xslt to convert it into
different formats such as LaTeX.
I have written TextMate commands for each step of the process, and it
all works fine, but I would also like to add commands that string
these steps together. But there is a problem. For example, while the
following two TextMate commands work:
Save: Nothing
Command(s): #!/bin/bash
/usr/local/bin/MultiMarkdown.pl "$TM_FILEPATH"
Input: None
Output: Create New Document
Save: Nothing
Command(s): #!/bin/bash
/usr/bin/xsltproc -nonet -novalid /usr/local/bin/xhtml2article.xslt
"$TM_FILEPATH"
Input: None
Output: Create New Document
the following fails---it generates an empty file:
Save: Nothing
Command(s): #!/bin/bash
/usr/local/bin/MultiMarkdown.pl "$TM_FILEPATH" | /usr/bin/xsltproc -
nonet -novalid /usr/local/bin/xhtml2article.xslt
Input: None
Output: Create New Document
Any ideas? Thanks in advance.
All the best, Mark
_________________
Mark Eli Kalderon
Department of Philosophy
University College London
Gower Street
London WC1E 6BT
Dept webpage: http://www.ucl.ac.uk/philosophy
Personal wepage: http://www.kalderon.demon.co.uk
Hi there!,
I have some automatically generated text files with very loooong lines (+4000
characters). When editing those files in TextMate the horizontal scrolling
stops at column 625.
Is this a bug? a feature? a customizable setting?
Thanks!,
/AITOR
No no no no, no background on the tags like that!
(which in "let's not make enemies"-speak translates to, I don't
exactly fancy the new background colour on the html-tags)
Andreas
I thought I'd share this useful transformation. It replaces all - or _
with a space and makes the first character uppercase.
<label for="${1:some_field}"><?php echo _("${3:${1/(^[^-_]+)?([-_]+)?/(?
1:\u$1)(?2: )/g}}"); ?></label>
...would generate something like...
<label for="funky_monkey"><?php echo _("Funky monkey"); ?></label>
Q
Sweet. I couldn't get it to work exactly as described (I had lots of
problems with getting the scope of the caret right), but with some wrangling
- and making sure that certain rules came in the right order - it seems to
be working. I was even able to get "smart deletion" (where backspace deletes
both your smart quotes) with a similar trick.
rock!
> ---------- Forwarded message ----------
> From: Allan Odgaard <throw-away-1(a)macromates.com>
> To: TextMate users <textmate(a)lists.macromates.com>
> Date: Fri, 14 Apr 2006 12:24:15 +0200
> Subject: Re: [TxMt] Bundle for Remind
> On 13/4/2006, at 5:49, Rupa Deadwyler wrote:
>
> > I need to figure out how to scope functions() that have other
> > functions inside them, my first regex was not good at all. And I
> > wish I could get %" to be completed as Smart Typing Pairs, but it
> > seems you can only have one character in them :(
>
> You sort of can. You need to add a rule to the language grammar, e.g.:
>
> { match = '%(\s)';
> captures = {
> 1 = { name = "meta.incomplete-string-or-whatever"; };
> };
> },
>
> Now when you enter % in the source, the scope of the caret should be
> the one shown above. So create a snippet which inserts whatever needs
> insertion ("$1"%) and give that snippet a key equivalent of " and
> scope of source.remind meta.incomplete-string-or-whatever.
>
> Then if you type %" in a source.remind file, you should get %""% with
> the caret in the middle, and you can press tab to skip out of this
> string.
>
> The rule is made so that this only works when the character following
> the % is a whitespace character (which includes newlines, so it also
> works when typing at the end of a line).
>
> As for how to go about this, I attached a bundle with a macro and a
> script, the macro does:
>
> 1) replace all in selection, adding 0xFFFC as the first/last
> character (this is the unicode object replacement character, so I’d
> be surprised if your script already have such characters)
> 2) select all
> 3) call transform.rb with input set to document and output to
> insert as snippet
>
> The transform.rb script then reads stdin, does a split on 0xFFFC
> (resulting in an array with the before/selection/after), snippet-
> escapes each of the 3 parts, and then inserts a snippet which puts
> >>> and <<< around the selection, but leaves those added characters
> unselected, when replacing the document.
Nice!! +2 for Allan :D
> Couldn't you use a macro that selects the entire document and then
> calls a command that has output "insert as snippet" ?
Yeah, but that's a bit too roundabout for my taste ;)
Seriously, I could in theory do this, but to get the same effect I'd
have to copy the text to the clipboard, then select all, then run the
command, and I'd have to change the command to use TM_CLIPBOARD_TEXT
instead of TM_SELECTED_TEXT. I may get around to it at some point,
but unless this feature gets pushed to 2.0, I can wait for a more
elegant solution.
Don't want to sound like a whiner, but that's my excuse FWIW.
- Ben
http://www.unfitforprint.com/articles/2006/04/15/pimping-my-editor-
refactoring-take-1
I'm working on a set of refactoring commands for AS2 using the new
XML input mode. This is the first nugget... hope you enjoy it.
Any chance we'll see "Replace Document with Snippet" anytime soon,
Allan? Best regards,
Ben
I recently purchased Circus Ponies Notebook software to help me stay
more organized (it rocks by the way). I want to be able to keep a
'notebook' in each of my project directories. The problem is that a
'notebook' doesn't appear as a regular file in the TM drawer -- it
appears as a directory full of my notebook contents. The reason why
that's a problem is because it means I can't just double-click the
notebook to open it in circus ponies software. Instead I have to go
find it in the Finder, and launch it from there.
Anyway to fix this?
Also, is anyone else using CP Notebook for project documentation?
Cheers,
Sean
:::: DataFly.Net ::::
Complete Web Services
http://www.datafly.net
hi,
I have a problem when i try to create a new file from any predifined template.
Nothing is happen no file,
was created. Did somebody have any clues to hellp me or a similar problem ?
Thanks.
Hi All,
Is there a way to add other encodings to the "Re-open with encoding"
menu? I only have Mac Roman, ISO-8859-1 and UTF8/UTF16 encodings in
the list and I would like to add something like KOI8-R, CP-1251 etc.
How can I do it?
Boris./
Hi all,
Watch out if you update to the latest TextMate bundles and themes (via svn)
- revision 3030. The Eiffel bundle includes a theme that has the same UUID
in it as the MacClassic theme (most likely the author copied the theme and
changed the elements, but didn't change the UUID.)
This results in the Mac Classic theme not appearing in the Theme menu in the
preferences. I went into the file itself and changed one digit of the UUID,
and now both appear in the menu.
Just a heads up! Hopefully the author is on this list and will see and
correct it.
jt
I like the use that Textmate makes of the help key, but I have one
suggestion as an addition. Could it suggest possible spellings of a
misspelt word too?
Best,
N
I'm trying to create a snippet that will create the following:
list: foo / bar / foo
foo does:
foo does not:
bar does:
bar does not:
foo does:
foo does not:
that automatically builds itself based on the number of items in the
slash-separated list ...with tab-stops after all the items.
What I've come up with is:
$1
${1/\/\s*/\n/g}
Which can do this:
foo / bar / foo
foo
bar
foo
but not much else. So I ask you, whose kung-fu is much better than mine.
P.S. - Can you have a transforming snippet that inserts tab-stops for
you? I don't think I've seen that anywhere. That would be awesome.
Yeah I have little idea of how the syntax works - I just tried to make it
look decent and I wasn't sure how important it would be to separate scopes
out for such a little language. Thanks for your bundle - I added some stuff
and made a bunch of changes to mine on the strength and maybe it's a little
better now. I imagine it's still pretty off though - I'd welcome some input
from someone that knows their languagey stuff.
I need to figure out how to scope functions() that have other functions
inside them, my first regex was not good at all. And I wish I could get %"
to be completed as Smart Typing Pairs, but it seems you can only have one
character in them :(
Thanks for that. It's good to see that others use TextMate and remind.
>
> The language grammar needs work I think. It is less than optimal to
> group everything into keyword.operator.remind and
> constant.language.remind. I put together a language grammar awhile
> back before the naming conventions matured. I haven't posted it,
> because it should be updated to conform to these. But one advantage,
> I think, is that it had a better "spread". I attach it in case you
> want to have a look at it.
>
>
> Another minor thing that I also did that I find useful is to display
> monthly calendars with TM's browser using rem2html.
>
> All the best, Mark
>
I know some form of chunky undo (as opposed to the current char-by-char
undo) is on the to-do list (yaay) and and I had a thought about it:
Might it makes sense to offer both, in an attempt to get the best of
both worlds? For instance one could type cmd-Z to get chunky undo, then
cmd-option-Z to get char-by-char. Basically this lets one make big jumps
to get to approximately the right spot, then inch along to get to the
precise spot.
An undo history could be even faster to navigate, but that sounds like a
much more complicated programming problem. I've seen a history in at
least one CAD program, but never a text editor.
-- Russell
Hi,
I'm currently extending the JavaScript and the "Prototype &
Scriptaculous" bundles [1] but noticed one thing. When a language has
a "sub scope" like in this case (since prototype is a JavaScript
framework, the parent scope is JavaScript") shouldn't the scopeName
be 'source.js.prototype' instead of 'source.prototype.js'?
Otherwise the reglar JavaScript bundle items wouldn't work, would
they? See the attached plist file,
Ciao
Martin
[1] http://encytemedia.com/blog/articles/2006/01/03/textmate-vibrant-
ink-theme-and-prototype-bundle
As some of you probably know, since revision 948, TextMate supports
the ability to have the entire document together with all the scope
information as input for command. This is done by setting a key
"inputFormat" with value "xml" into the plist file for the command,
and setting the input to the command to be the entire document. This
will input the document in a "pseudo-xml" format, of the type:
<scopename>text</scopename>, with nestings etc.
The ScopeHandler class is a Ruby class I just put together that
offers you an easy interface to this “xml”-style input. I've set up a
home page for this class with a couple of descriptions and examples
here:
http://skiadas.dcostanet.net/afterthought/the-scopehandler-class/
The actual file can be found here:
http://skiadas.dcostanet.net/uploads/scopeHandler.rb
Use at your own risk. Let me know if you do. Feel free to suggest
additions/corrections/more examples/ideas for use.
Haris
I'm not groking the current implementation of stracc in the objc bundle.
- (NSString *)${1:thing}
{
return ${2:f${1/(.)(.*)/\U$1\E$2/}};
}
- (void)set${3:${1/(.)(.*)/\U$1\E$2/}}:(NSString *) $1
{
NSString * old${3:Thing} = ${2:fThing};
$2 = [${1:thing} copy];
[old${3:Thing} release];
}
Clearly fThing is not defined so return fThing makes no sense in a
getter accessor method. Nor does instantiating another string object
in the setter method.
A "working" objc stracc:
- (NSString *)${1:thing}
{
return ${2:${1/(.)(.*)/$1\E$2/}};
}
- (void)set${3:${1/(.)(.*)/\U$1\E$2/}}:(NSString *)${4:a$3}
{
$4 = [$4 copy];
[$1 release];
$1 = $4;
}
[This models the string accessor implementation defined in
Hillegass ... if it's not correct, maybe someone should tell Aaron.]
Refactoring and/or explanation as to the current defined stracc is
welcome/encouraged.
--
Mark Grimes
Stateful Labs
mark(a)stateful.net
> Since we can match the newline character,
> this change still allows us to decide the
> scope of the caret when it is at the end of a
> line, by assigning the scope to the newline.
> So the change didn't just shift the problem
Makes perfect sense.
By default XSL bundle doesn't threat "-" as word character, which impairs
auto-complete feature (instead of getting "apply-tempaltes" I have to
autocomplete "apply", add hyphen and choose between "template" and
"templates").
Is it possible to have "-" as word character for XSL only? I'm using other
languages at the same time, so I don't want to change prefs back and forth.
--
regards, porneL
It's funny how just a one line comment about a new version of the app
can break almost every scope you've got....
> [CHANGED] The scope of the caret is now that of the
> character to the right of the caret, rather than that on
> the left side.
Just a heads up to all you bundle developers, check your scopes to
make sure this doesn't effect you. Particularly if you have macros or
snippets that only take effect at the end of a line.
^[a-z\s\.]{,15}$ ...will no longer work. Removing the "$" will fix
it (in this case).
I haven't seen anyone talking about this, but it strikes me that it
could adversely effect many people. Why has this change been enacted
(yes, I realize it's "nightly-build" only at this point. Is this a
good thing? Does this force our scope selectors to be more precise?
Am I wrong?