I am running 2.0-alpha.9507 on OS X 10.9.1.
I first noticed this problem in the rails bundle whenever it requests to
create a new file.
I can recreate the issue with the following code:
require '/Users/curt/Library/Application
Support/TextMate/Managed/Bundles/Bundle
Support.tmbundle/Support/shared/lib/ui.rb'
TextMate::UI.request_confirmation(
:button1 => "Create",
:button2 => "Cancel",
:title => "Missing foo.rb",
:prompt => "Create missing foo.rb?"
)
Pressing Cmd-R results in:
ArgumentError: An object in the argument tree could not be converted
Here is the stack trace:
/Users/curt/Library/Application Support/TextMate/Managed/Bundles/Bundle
Support.tmbundle/Support/shared/lib/ui.rb:54:in `to_plist': An object in
the argument tree could not be converted (ArgumentError)
from /Users/curt/Library/Application
Support/TextMate/Managed/Bundles/Bundle
Support.tmbundle/Support/shared/lib/ui.rb:54:in `alert'
from /Users/curt/Library/Application
Support/TextMate/Managed/Bundles/Bundle
Support.tmbundle/Support/shared/lib/ui.rb:277:in `request_confirmation'
It is runing ruby version: 2.0.0-p247
Is this a known problem. Or perhaps a problem using Ruby 2.0?
I thought I understood how and where TM2 stores its bundles, but clearly not. I now discover that a bunch of bundles have spontaneously moved from /Application\ Support/TextMate/Managed/Bundles to /Application\ Support/Avian/Bundles, and some of them have even duplicated themselves:
/Application\ Support/TextMate/Managed/Bundles:
AppleScript.tmbundle Objective-C.tmbundle
Bundle Development.tmbundle PHP.tmbundle
Bundle Support.tmbundle Property List.tmbundle
C.tmbundle Python.tmbundle
CSS.tmbundle Ruby Haml.tmbundle
Diff.tmbundle Ruby on Rails.tmbundle
Git.tmbundle Ruby.tmbundle
HTML.tmbundle SCM.tmbundle
Hyperlink Helper.tmbundle SQL.tmbundle
JSON.tmbundle Shell Script.tmbundle
Java.tmbundle Source.tmbundle
JavaDoc.tmbundle Subversion.tmbundle
JavaScript jQuery.tmbundle TODO.tmbundle
JavaScript.tmbundle Text.tmbundle
Lua.tmbundle TextMate.tmbundle
Mail.tmbundle Textile.tmbundle
Make.tmbundle Themes.tmbundle
Markdown.tmbundle XML.tmbundle
Math.tmbundle YAML.tmbundle
Mercurial.tmbundle
/Application\ Support/Avian/Bundles:
AsciiDoc.tmbundle Make.tmbundle Ruby on Rails.tmbundle
HTML.tmbundle MattBundle.tmbundle RubyFrontier.tmbundle
Java.tmbundle Mercurial.tmbundle SQL.tmbundle
JavaDoc.tmbundle PHP.tmbundle Subversion.tmbundle
Lua.tmbundle Python.tmbundle Textile.tmbundle
Mail.tmbundle Ruby Haml.tmbundle YAML.tmbundle
Just what is really going on here? Thx - m.
--
matt neuburg, phd = matt(a)tidbits.com, http://www.apeth.net/matt/
pantes anthropoi tou eidenai oregontai phusei
Programming iOS 7! http://shop.oreilly.com/product/0636920031017.do
iOS 7 Fundamentals! http://shop.oreilly.com/product/0636920032465.do
RubyFrontier! http://www.apeth.com/RubyFrontierDocs/default.html
TidBITS, Mac news and reviews since 1990, http://www.tidbits.com
Has anyone found a way to set a command to move to the right-edge in the middle of a soft-wrapped line in TM 2? I was using a macro called "Move to EOL" in TM 1 bound to command-right-arrow, but in TM 2 this takes me to the absolute end of the line.
In case it's not clear what I'm asking, I'd like to move the cursor from START to END in this single line of soft-wrapped text:
Lorem ipsum dolor sit amet, consectetur adipisicing
elit, sed do eiusmod START incididunt ut labore END
dolore magna aliqua.
Currently, in TM 2, if I do command-right-arrow the cursor ends up after "aliqua."
Thx,
--
Quinn Comendant
Strangecode, LLC
http://www.strangecode.com/
+1 530 624 4410 mobile
+1 530 636 2633 office
@qc and @strangecode
This may be related to the bundle problem that I reported earlier?
In the Ruby on Rails bundle is a command in the Support/bin directory
called
go_to_alternate_file.rb. This is the starting point for the script where I
am getting the to_plist error.
The first line of the this file is
#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
so I would assume that it is being executed by ruby 1.8.
But if I modify the file and add the following line after the 'require'
statemets:
puts "${RUBY_VERSION}"
When the script is run, it prints 2.0.0 So it seems that the shebang line
is not being honored.
Am I missing something?
Hi,
I’m using Textmate on a 24” monitor in portrait mode. I often hide the file browser as it takes quite some screen real estate in portrait mode.
Unfortunately, since the newest automatic 'nightly build’ update (2.0-alpha.9505), when I change to another tab, the file browser reappears again rather than staying hidden.
Is there a setting or another way to avoid this happening?
Or, lacking that, is there a way to downgrade to the previous version?
Off topic: is there a open bug list available for textmate 2? I don’t see any on github.
Off topic 2: are there any tools available to search in the textmate mailing list archive, short of going manually through each month’s archive?
Thanks and regards,
Bas
The problem with the current begin-while is that it is not a true "while"; it can skip stuff. I request a begin-while construct which is anchored at the "begin" and, if it fails to find the "while" immediately after, gives up and moves on.
Example: Markdown permits a heading like this:
This is a Heading
=============
The problem is to match that entire thing, in particular both so that it can be theme-marked and so that "This is a Heading" can appear in the symbol list. At the moment, this can't be done. That fact is well proven by the fact that the Markdown bundle fails to do it. It's a clever bundle so if this were possible, it would be done correctly.
The reason it can't be done is three-fold:
(1) A "match" rule not only cannot span two lines, it can't even look ahead to the next line. Thus I can't express the notion "any line provided it is followed by a line starting with multiple equals signs", even though there is a perfectly good way to say that as a regular expression.
(2) A "begin"-"end" rule is both too narrow and too broad. It is too narrow because the "begin" rule suffers from the same limitation as the "match" rule: it cannot span two lines, and it cannot look ahead to the next line. It is too break because it just keeps going to the end of the document.
(3) A "begin"-"while" rule would work if only the "while" were taken seriously. For example, we could say this:
begin = '^\w.*?\s*$';
to mean "a line that starts with a word character and might end with some spaces". The trouble is that this matches almost any line in the world. What I'm asking is that the 'while' should pick right up on the next line, _and fail if it doesn't work_ (this is what "while" means in most programming languages, after all):
while = '^={6,}\s*$';
This works, but the trouble is that the negative works too: the resulting begin/while pattern matches every line of the document! This seems to be because the "begin" matches everything even though the "while" doesn't match anything.
That is why I am asking for a begin-while that takes the "while" seriously: after matching the "begin", if you can't match the "while", skip that "begin" and try again on the next line. Only succeed when the "begin" is actually *followed* by the "while".
Perhaps what I am actually asking for it "begin" "next" "next" or similar.
I can't believe this would be expensive, and it would solve a LOT of Asciidoc grammar problems, where there are many multi-line patterns such as this one.
m.
--
matt neuburg, phd = matt(a)tidbits.com, http://www.apeth.net/matt/
pantes anthropoi tou eidenai oregontai phusei
Programming iOS 7! http://shop.oreilly.com/product/0636920031017.do
iOS 7 Fundamentals! http://shop.oreilly.com/product/0636920032465.do
RubyFrontier! http://www.apeth.com/RubyFrontierDocs/default.html
TidBITS, Mac news and reviews since 1990, http://www.tidbits.com
Maybe a bug:
1. Do a multi-file search and replace,
2. bring the main window to the front (text windows with tabs),
3. save all windows (command-option-s),
4. and close the window.
You'll see the find window and its results below.
5. close this window
6. click "Save All" when you get the "Do you want to save the changes from your replace operation?" prompt.
7. Forever beach ball! Force-quit required.
Oh, wait—I just tried these steps again without trouble. So, maybe never mind? I'll let you know if it happens again.
Quinn
Please,
For the love of god, children and animals, can we please get indented soft
wrapping as a standard feature of Textmate 2. I just don't understand why
such a useful yet trivial feature that's common to just about every text
editor has not been included in what is supposed to be the holy grail of
text editors.
There's an 8 year old ticket for it, not to mention all the duplicates:
http://ticket.macromates.com/show?ticket_id=4EFB31A8
Do a google search for this, and you find people applying the same dodgy
fix to individual bundles; what a waste of time for everyone involves. Can
we not just get this feature added and be done with it.
Thanks,
Tom
Date: Fri, 17 Jan 2014 16:08:36 +0700
From: "Allan Odgaard"<mailinglist(a)textmate.org>
To: "TextMate users"<textmate(a)lists.macromates.com>
Subject: [TxMt] Re: when sending code to R.app textmate 1 and 2 both
Message-ID:<3D9202F3-4409-4616-8C91-022E216F188A(a)textmate.org>
Content-Type: text/plain; charset=utf-8; format=flowed
On 17 Jan 2014, at 11:13, Kevin Owens wrote:
> [?] I think it may be related to the lines in that command like
>
> "open"txmt://open?line="
Yes, that would go to whatever version of TextMate is responsible for
handling the txmt URL scheme.
The bundle should call ?mate? instead.
For 2.0 you can use:
"${TM_MATE}" -l ?line?:?column?
For a version that should work with both, use:
"${TM_MATE:-$TM_SUPPORT_PATH/bin/mate}" -l ?line?
If you can confirm this works, we can update the bundle accordingly.
______
I can confirm that this works. Here's the meat of what i changed:
if [ "$TM_LINE_NUMBER" != "" ]; then
open "${TM_MATE:-$TM_SUPPORT_PATH/bin/mate} -l ?line?&column=1000000" &
elif [[ $TM_SELECTION =~ [1-9][0-9]*:?[0-9]*-([1-9][0-9]*):?[0-9]* ]]; then
# Regular Selection
open "txmt://open?line=$((${BASH_REMATCH[1]}+1))&column=1000000" &
elif [[ $TM_SELECTION =~ [1-9][0-9]*:?[0-9]*x([1-9][0-9]*):?[0-9]* ]]; then
# Block (option) selection
open "txmt://open?line=$((${BASH_REMATCH[1]}+1))&column=1000000" &
else
open "txmt://open"
fi