On 27/5/2006, at 4:17, Allan Odgaard wrote:
> But when speaking of the parser and other text editors (that you
> bring up): the performance difference is a) psychological because
> TextMate does not redraw the first page of the document before the
> entire document has been parsed b) because TextMate does something
> very different compared to the editors you mention and c) it
> generally has more complex grammars (try put PHP in an HTML here
> doc in a ruby script embedded in Erb tags in an HTML file -- unlike
> other text editors, TextMate handles this gracefully.)
>
Data: a 2.5 MB text file (plain text / no coloration / 225800 lines,
none exceeding 30 characters) structured as follows:
> ABACA~
> ABACULE~
> ABAISSABLE~
> ABAISSAIENT~
Problem: Replace all the 225800 occurrences of "~\n" by "\n" (iMac G4
800 Mhz, 1GB ram, 10.4.6):
TextWrangler: 30 s (gracefully interruptible)
TextMate: who knows? (forced to quit after 15 mn)
Looks like there is some psychological issue here, indeed.
;-)
I do love TextMate. But for such search/replacements, I couldn't live
without TextWrangler.
Cheers,
A.
It's not that I have to choose it manually the first time which
bothers me, but that TextMate FORGETS the settings sometimes. So
files that have been already saved in the correct encoding are
misinterpreted by TextMate to use UTF8.
Also, the other part of the problem seems to be that TextMate assumes
that UTF8 is used when it's not sure which encoding the file uses
instead of respecting the settings in the prefs.
Max
PS This is just a minor, but annoying bug of mine, I'm a big fan of
TextMate :-)
>> Problem: Replace all the 225800 occurrences of "~\n" by "\n" (iMac
>> G4 800 Mhz, 1GB ram, 10.4.6):
>> TextWrangler: 30 s (gracefully interruptible)
>> TextMate: who knows? (forced to quit after 15 mn)
>
> What happens if you replace '~$' with '~' instead?
Good idea! I thought using regexp would be slower somehow, but:
Problem: Regexp-replace all the 225800 occurrences of "~$" by ""
TextWrangler: no difference
TextMate: 4 mn
It seems that the search engine of TextMate performs far better on
single lines...
Thanks!
A.
Hi,
I've been playing with TM 1.5.1 (948) and wanted to see how it handled XML
files on my 1.67GHz Powerbook.
The file I needed to mess with was a 3.7MB FO file with some long lines
(over 10000 characters and some over 100000.) The formatted objects were
generated by an XSL processor which didn't care about long lines ;-)
Because it had a .fo extension it was opened as Plain Text.
Scrolling around would cause a beachball on some of those really long lines.
(Soft wrapping was on.)
I used the popup to switch to XML. This caused a beachball for about 2
minutes, and subsequent attempts to scroll often beachballed too. Soft
wrapping seems to have got turned off by this switch, which is consistent
with the line numbers in the margin.
The big mistake was to try and do a Find/Replace of all ">" with ">\n".
Whoah. It's been using all the CPU and beachballing for over 30 minutes now,
with no obvious way to interrupt it...
It is a bit distasteful to bring up other products ;-) but TextWrangler did
that Find/Replace in about 2 seconds. Going to XML mode in TextWrangler was
instantaneous.
Are these known problems? I googled for a bit but couldn't find anyone
reporting similar things.
Is there any chance these might get addressed in the 1.5.x codebase? I want
to love TM but currently cannot :-(
Cheers,
Chris
I have posted here before on the topic of encoding issues.
I still have problems with TextMate loading files as UTF8, although I
have set latin1 as standard encoding in the prefs (I have disabled
`use for existing files' though). This is particularly annoying since
I have to manually save every file again just to check whether
TextMate uses the correct encoding.
Thus I would propose to introduce a feature which sets the encoding
globally for one project if the user wishes to. Just add a checkbox
(one encoding for this project) and the same two options you have in
the file save dialog box (encoding and linefeed). If a user still
wants to create a file with a different encoding, he can still choose
to do so in the file save dialog.
This feature would really help speed up my work since I *have to* use
latin1 as standard encoding for LaTeX documents (it's what my co-
workers use) and UTF8 for the webpages I create.
Thanks.
Max
I experience a somewhat strange behavior with footnotes using
MultiMarkdown -- in fact, footnotes stopped working all of a sudden.
Thus,
Text[^fn]
[^fn]: Footnote text
evokes the error message "Use of uninitialized value in substitution
iterator at /Users/sbr/Library/Application Support/TextMate/Bundles/
Markdown.tmbundle/Support/bin/MultiMarkdown.pl line 1582, <> line 1."
MultiMarkdown at line 1582 is handling footnotes, but I cannot figure
out what's wrong. As said, this worked before... And yes, I reverted
to the version in the svn repository to ensure MultiMarkdown is not
contaminated.
Did anyone else experience this before? Any help is greatly appreciated!
Thanks and regards
- Stefan
One of the things that still puzzles me about how people use TextMate
is how they navigate the source code.
I can navigate quite fast on both Emacs and Vim using etags (or
ctags). You just basically put the cursor over a function call, and
press M-. (or Ctrl-]) and that takes you to the definition of the
function. To go back to where you were, you just press M-* (or Ctrl-
g) and you're back.
I know about the Ctrl-] command in textmate that brings up an HTML
list of things to click at, but that is really slow. Besides, I don't
know how to go back to were I was. I also know about 'Find in
Project' but that is _extremely_ slow (although it seems that if you
do a Project Folder it's faster?). At any rate, it still doesn't
solve the navigation issue.
What I've found is that whenever I'm writing new code, and I know
what I'm writing, I can use TextMate and I'm faster on it (due to
snippets, context-sensitive commands, etc, etc). But when I'm
_reading_ code and trying to understand functions, I'm much, much
faster in Emacs or Vim.
Maybe I don't know about some better way of finding stuff?
How are people in the list navigating codebases?
Thanks,
-Oscar
--
pgp fingerprint: BC64 2E7A CAEF 39E1 9544 80CA F7D5 784D FB46 16C1
I do a lot of programming in the IDL (Interactive Data Language). It
is an interpreted language that is very good for scientific
programming and data visualization. I've been using Emacs and the
idlwave mode for editing. I'm trying TextMate to avoid the overhead
that comes with emacs.
At this point I've developed a language grammar that works for
styling the text. I'm having trouble, however, with indentation
rules. A typical IDL construct looks like
if a gt b then begin
y = sin(z)
endif else begin
y = sin(x)
endelse
or, alternatively,
if a gt b then y = sin(z) else y = sin(x)
The keyword begin starts an indented block, the keyword end... ends a
block.
I've tried
/* preferences */
{ decreaseIndentPattern = '\bend(if|else|for|while|case|repeat)?/b';
increaseIndentPattern = '\b(begin|case|function|pro)\b';
}
Which results in indenting:
if a gt b then begin
y = sin(z)
endif else begin
y = sin(x)
endelse
You can probably tell I'm a regular expression neophyte, so any help
would be greatly appreciated.
Thanks
-----------------------------------------------------------
David A. Gell, Ph.D. David.A.Gell(a)umich.edu
University of Michigan
Space Physics Research Lab
2129B Space Research Building phone: 734.763.6221
2455 Hayward Street fax: 734.615.9723
Ann Arbor, MI 48109-2143 mobile: 734.657.6824
Hi,
This is more a regexp question rather than TextMate so it is a bit OT,
but I'll try anyway since I know that there are som clever regexp heads
on this list...
I'm trying to figure out a way to parse a string with an expression, so
that I can filter out subexpressions to build up a structure of
expression objects.
An example expression:
((print == MIB) >> (color == Black));
Our expression structure is built up so that everything is an
expression with a recursive structure (Expression = expression operator
expression):
((print == MIB) >> (color == Black));
(print == MIB)
(color == Black)
print
MIB
color
Black
Additionally, from this list, each variable is also an expression
(print, MIB, ...)
I guess that some regexp magic would be some great tool here, but I
can't seem to figure out the correct approach, and thus need some
starter help.
Any idea of how to approach this? Programming language shouldn't
matter, since it anyway would be some recursive structure to dig down
the structure, but for reference I can say that I'm using C#.
Hi all,
I would like my CV available in both HTML and PDF formats. I have a
Latex version, but am willing to rewrite it in something like
Markdown. In fact, I tried this, but it seems that the MultiMarkdown
Bundle's convert to PDF does not produce the correct output (i.e.
**word** should be strong, and not italic). I would like to know
what other people are doing to deal with this multi-format issue, and
how you're using Textmate to do it.
Thanks for your time,
Jeff.