More odd stuff happening when all the folders are expanded. Now that TM2 is expanding all my folders in the drawer when it restarts or when I create a new file, it also slows down each edit I do to an open document. I get beach balled for about a minute with each edit I make (either a simple keypress or copy/paste). When all the folders are expanded in the drawer I have 400-500 files showing.
When I close all the opened first level folders (which is a time consuming task in itself) the editing gets back to being snappy again. Don't know why editing a document would cause the app to scan through all the visible files in the drawer (if that is in fact what it is doing).
1 image worth 100s words. So here is a screenshot.
Same "column" in both lines... But first (ASCII-only) says its 47th column while second reports about 76th col.
Not very handy while trying to fit in 56/80 or other boundaries.
I do not know if anyone asked you about that already, but was tighter scripting integration via MacRuby (or Lua) ever considered for TM2?
Since I can see half of the bundle scripts (these doing heavier work) are Ruby already, I can see that integrating with MacRuby could bring potential benefits:
(1) persistent memory structures, each bundle could possible create some class storage variables, i.e. keep there autocompletion information
(2) TM2 could expose more dynamic API to the scripts: hooks, callbacks
(3) direct access to the editor buffer & GUI elements, exposing scope tree to the scripts
(3) scripts running via MacRuby could use all Cocoa API, making life easier for other apps integration, i.e. via AppleScript
(4) many (most?) of the work now done by TM2 core could be offloaded to the bundles and its developers, so TM2 itself could be just set of classes driven by MacRuby scripts
(5) possible to make more advanced autocompletion for various languages, thanks to (1) (2) (3)
But also I can see potential problems:
(1) no compatibility with TM1 (but anyway TM2 is about to be free upgrade to TM1, and also superior to its predecessor)
(3) potential class namespace collisions, but then each bundle could possibly run inside its own MacRuby environment
(4) TM2 would need to bundle some version of MacRuby.framework
Was playing with TM2 Ruby bundle lately, and found one interesting thing.
I had code:
conn=Mysql.new('localhost', 'user', 'user')
When I run this code in irb, or with ruby command line interpreter from Terminal.app I'm getting server version back (thats what I expect to see)
I have Mac OS Lion, rvm installed and TM_RUBY variable points to /Users/troyanov/.rvm/bin/textmate_ruby what is correct.
If I hit cmd+R in TM2, I'm getting:
(tried to edit catch_exception.rb, commented all cgi stuff... but no success, had a strange call to Mysql.new() with error like it should run with no args.)
/Users/troyanov/Library/Application Support/TextMate/Managed/Bundles/Ruby.tmbundle/Support/RubyMate/catch_exception.rb:15: [BUG] Segmentation fault
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
-- Control frame information -----------------------------------------------
c:0004 p:---- s:0018 b:0018 l:000017 d:000017 CFUNC :sub
c:0003 p:0170 s:0013 b:0008 l:000718 d:000007 BLOCK /Users/troyanov/Library/Application Support/TextMate/Managed/Bundles/Ruby.tmbundle/Support/RubyMate/catch_exception.rb:15
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:000308 d:000308 TOP
-- Ruby level backtrace information ----------------------------------------
/Users/troyanov/Library/Application Support/TextMate/Managed/Bundles/Ruby.tmbundle/Support/RubyMate/catch_exception.rb:15:in `block in <top (required)>'
/Users/troyanov/Library/Application Support/TextMate/Managed/Bundles/Ruby.tmbundle/Support/RubyMate/catch_exception.rb:15:in `sub'
-- C level backtrace information -------------------------------------------
See Crash Report log file under ~/Library/Logs/CrashReporter or
/Library/Logs/CrashReporter, for the more detail of.
-- Other runtime information -----------------------------------------------
* Loaded script: /Users/troyanov/Desktop/untitled.rb
* Loaded features:
11 /Users/troyanov/Library/Application Support/TextMate/Managed/Bundles/Ruby.tmbundle/Support/RubyMate/catch_exception.rb
19 /Users/troyanov/Library/Application Support/TextMate/Managed/Bundles/Bundle Support.tmbundle/Support/shared/lib/escape.rb
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
Am 17.01.2012 um 20:28 schrieb textmate-request(a)lists.macromates.com:
> Yes, some visual indication in browser/goto of these being 'hidden' would be helpful I think.
Agreed, a visual clue would have been great.
Also, since I don't have a habit of reading the description of each menu item, my brain assumed »hidden« referred to files that are hidden in the Finder (e. g. ~/Library in Lion or .* files), and that these hidden files are added to the list of files and folders to be filtered.
Just created a new file (Cmd-N). Made the drawer visible and then got beach balled for about a minute while all the folders under the Sites directory got expanded recursively. None of the other directory on the same level - like Applications were expanded. Is this a bug or just some switch I need to turn off?
I am using TM2 almost exclusively now, but one thing still keeps me
reaching for TM1 - multiline find and replace. On TM1 you can click the
triangle to show multiple lines for the search and replace boxes. In TM2
the arrow is there but it doesn't seem to do anything - I'm hoping this is
on the list of things to implement!
I think the lack of projects also leaves out the opportunity to innovate: beyond the points that some of you have mentioned, not gluing yourself to the file system layout also give you the opportunity to do things that go beyond what you can think of when relying on the filesystem alone.
One idea, for instance, is to add not a directory to a project, but a repository. You'd have access to previous versions of the file with a right click, peruse the commit logs in the morning over a cup of coffee, etc. Since not every file needs to be tracked by git, mirroring the file system would not be sufficient.
So then TextMate would know that the repository (or repositories, e. g. your local and the »official« one that you share) belongs to your project. You could add metadata, sort things as you wish, add settings, etc.
> Open the project folder. Bam. You're done. You've opened your project. If your project contains a bunch of directories lying around your system then, my friend, you are doing it wrong.
I think it's less about replicating functionality that projects offer, but that for certain jobs (and people), organizing your stuff in projects is just easier than to do it via the file system.
I also second the sentiment that using symlinks or so are not always an option. I use Dropbox to collaborate with colleagues on research projects. I keep one bibliography file. If I were to use a symlink, this would mess things up for my colleagues.
Beyond the fact that certain things cannot be replicated, it's a difference in styles. Some people merely prefer Projects to doing it on the file system level.
I have 2 files open. I'm trying to find a couple of words in file 2 by selecting using Cmd-E those words in file 1. The first find (say the word is "Dumpty") using Cmd-G works as expected and the "Dumpty" is selected in file 2. But if the second word (say "Humpty") exists before the first word in file 2 then I get 'No more occurrences of Humpty' but the word "Humpty" doesn't get selected, selection stays on the "Dumpty". It looks like find doesn't wrap to the beginning.
If I do the find in reverse, find "Humpty" then "Dumpty", this works as expected.