This is a little experiment I've been working on for a while to
increase TextMate's interoperability with XCode and give it the
features of a robust IDE, like XCode, without sacrificing the elegance.
In short, the result is code complete, visual code-hierarchy, etc. for
languages like ruby, python, objective-c, javascript, etc.
It's in an alpha stage, but is quite usable and been shown to enhance
productivity. If you'd like to grab a pre-release build before it
gets rolled into the TextMate subversion repository, you can grab it
here:
http://code.google.com/p/textmate-xcode-completion/
Use the XCodeMate mailing list for feedback / support, as listed on
the website.
Thanks,
Tim
Hi,
I found a "simple" way to display any dialogs based on nibs as sheets.
The only preconditions are that the nib is NSPanel-based and all
buttons are bound to performClickButton.
This also works with "created windows" which will be updated. See tiny
screencast:
http://www.bibiko.de/TM_SHEET_PROGRESS.mov (1M)
Code:
TOKEN=$("$DIALOG" window create ~/Desktop/progress -ep
'{min=0;max=100;value=0;textcolor="#00FF00";}')
C=0
TXT=""
while [ $C -lt 100 ]
do
M="$C% ready on window token $TOKEN"
TXT=$(echo -en "$M\n$TXT")
echo "{value='$C';message='$M';text='$TXT';}" | "$DIALOG" window
update $TOKEN
C=$(($C + 2))
done
"$DIALOG" window close $TOKEN
Any comments?
--Hans
I would find it incredibly useful if I could do a Find/Replace such
that I could reliably rename symbols like variables and function
names. I envision that this would be based on scopes and that it would
constrain Find/Replace to exact matches of entire scopes. In Erlang
this would enable me to rename variables by doing a Find/Replace of
exact scope match for variable.other.erlang.
Hi,
I'm just writing the extension for DIALOG2 to show up a user-defined
open/save panel optionally with an accessory view.
I can call it like:
"$DIALOG" panel open -p '{message="Input"; button1 = Load;
allowMultipleSelection = 1; startDir = "/usr/bin/"; string=ANNA;
switch=1;}' ~/Desktop/acc.nib
whereby 'string' and 'switch' are set in the accessory view
(TextIInputField and a Checkbox) specified in acc.nib. It works fine.
Now I tried to show these panels as sheets bound to the current
window. This also works fine ;)
BUT: I do not know how to write the 'resultDict' plist back to TM if
I'm using sheets :{
(NSLog() shows the correct plist)
If I show up the panels as windows I'm using:
[TMDCommand writePropertyList:resultDict toFileHandle:[proxy
outputHandle]];
called within '(void)handleCommand:(CLIProxy*)proxy'
Fine. But if I'm using sheets then I have to call:
[openPanel beginSheetForDirectory: startDir
file: [parameters objectForKey:@"file"]
types: fileTypes
modalForWindow: documentWindow
modalDelegate: self
didEndSelector:
@selector(openPanelDidEnd:returnCode:contextInfo:)
contextInfo: nil];
within '(void)handleCommand:(CLIProxy*)proxy' and this means I have to
leave the method '(void)handleCommand:(CLIProxy*)proxy'
My method to handle the sheet after closing is
- (void)openPanelDidEnd:(NSOpenPanel*)openPanel returnCode:
(int)returnCode contextInfo:(void*)contextInfo
and I didn't find a way to get access to TMDCommand's [proxy
outputHandle]. I tried to copy the handle, to set proxy as class
variable, etc. I directly wrote to stdout but it's redirected.
Is there anyone who can give me an hint? (If it would be better to
post the preliminary code for panel.mm, please let it me know)
Thanks
--Hans
Hello,
After about two years of beauty sleep, TabMate is back with an updated
version!
TabMate is a plugin that makes it possible to have per-file indenting
settings, so you don't have to manually change these when you switch
between files with different code styles.
New in 1.2:
* Make TabMate work better with scripts that have a shebang line, as
well as PHP scripts and other files that do not necessarily have the
modeline as the first line
* Other minor tweaks to make TabMate more compatible with different
modelines out there
* Added lots of unit tests to the Xcode project, to make it easier to
do changes to the plugin, without breaking anything
* Thanks to Andrian Budantsov and Torsten Walter for patches!
For anyone interested in helping out: TabMate now has a trac with
subversion access at http://trac.konstochvanligasaker.se/tabmate
Support for vi/vim modelines is one example of a much-requested
feature that is probably fun to hack together!
http://konstochvanligasaker.se/tabmate
Thanks a lot
-- Håkan
Hi,
I am on TM 1455 Cutting Edge and I have just updated the LaTeX Bundle.
The Citation (Ref-TeX style) Command is now failing. It launches the
cite menu but does not bring up the entries of my bib file (specified
with TM_LATEX_BIB). Any help would be appreciated.
Thanks in advance.
All the best, Mark
ok scope isnt quite the right word...
lets says i have
<img src="something" width="10" height="15>
and i have the caret somewhere around src
is there a way to move to either right before or after the closing >
or when you get auto "" and it drops the caret in the middle,
is there a way to jump to right outside the quote?
been googling and digging through the power editing book but i'm not
finding anything...
The following process will give you a command which you can run to
help debug commands:
1) Create a Command in the Bundle Editor called "Command Output"
2) Paste the following script into the Bundle Editor:
#!/usr/bin/env ruby
print '<pre>'
print while gets
print "\n"
print "------------\n"
print "END OF STDIN\n"
print "------------\n"
print `env | sort`
print '</pre>'
3) Set Input to Selected Text or Scope
4) Set Output to Show as HTML
5) Set the scope to whatever scope you want to use in your command
Try it out. It will dump the input followed by a divider followed by
the entire environment supplied to the command.
I used this to determine what TextMate was supplying to the Command I
was writing.
Hi,
as you know TM 2.0 will be Leopard only. Fine. But what about DIALOG2?
Should DIALOG2 also compiled as Leopard only?
With the new SDK 10.5 you have some "tiny" improvements to enhance
DIALOG2.
Regards,
--Hans
Hello,
I have tried to figure out why pdfsync was not working with my (large
and multiple file) thesis tex project. I figured out, that pdfsync
has to be included from the main tex file and NOT from a stylefile
(i.e a custum made thesis.sty that includes pdfsync...). This is not
a big deal, but maybe it could be fixed so that texMate.py would find
pdfsync there too...
Thanks
Chris
Hi,
the new DIALOG2 allows to display an inline menu with headers like:
Nouns
table 1
tree 2
vase 3
Verbs
count 4
drink 5
eat 6
Very nice! But it could occur the following case:
Nouns
drink 1
tree 2
vase 3
Verbs
count 4
drink 5
eat 6
If I now choose "drink" I get:
<dict>
<key>selectedIndex</key>
<integer>6</integer>
<key>selectedMenuItem</key>
<dict>
<key>title</key>
<string>drink</string>
</dict>
</dict>
But I do not know which "drink". Ok, I also got selectedIndex 6 and it
would be doable to figure it out. To simplify it I changed the code
slightly to output this:
<dict>
<key>selectedIndex</key>
<integer>6</integer>
<key>selectedMenuItem</key>
<dict>
<key>header</key>
<string>Verbs</string>
<key>title</key>
<string>drink</string>
</dict>
</dict>
if there is an header given. If no header is found you will get the
"old" dict.
##############
An other very tiny problem I encountered is the following:
I would like to have this menu:
Offset
20
10
0
-10
-20
The negative numbers are interpreted as a separator because the
strings begin with -. One could easily fix it by using
"kMenuItemAttrIgnoreMeta". I did this, but this could be discussed, of
course.
Here's the code:
Cheers,
--Hans
Hi everyone,
the Koma-script classes offer a ”\minisec" command for simple sub-
headlines which do not appear in the TOC.
At the moment, these minisecs appear in the Symbol List left-aligned,
which is not so nice.
A simple fix for that is adding the following line to the "Symbol
List" bundle item so that the minisecs appear idented:
s/^\\minisec\*?(?:\[[^]]*\])?\{(.+)\}/ $1/; #
\minisec
I'd like to propose to add this to the standard bundle but I would
like to leave this task to the Knowing Ones ...
Best regards,
Matthias
--
Matthias Damm - mad(a)macpla.net
GPG key: http://macpla.net/MatthiasDamm.asc
GPG fingerprint: CED3 6074 7F7D 3148 C6F3 DFF2 05FF 3A0B 0D12 4D41
Stoppt die Vorratsdatenspeicherung! - http://www.vorratsdatenspeicherung.de/
Hi there,
I have been to Ryan van Barneveld's Blog downloading ie-preview.app in
order to install it on my Leopard/Textmate/Parallels set up.
(http://www.ryanvb.com/ie-preview/)
I cant manage to do properbly as I dont know how 'activate' the
sharing folders for windows. I cant find such an option (Windows
Sharing) in the preference pane.
Quote from his website:
-----------------------------------
1) In the Sharing panel of System Preferences,
turn on Windows Sharing and note your Computer Name
2) Be sure to test your Windows Sharing by going into
Windows XP through Parallels, opening a file explorer
window and typing your computer name into the address
bar preceded by two backslashes.
eg. type \\MyMacBook, hit enter and you should see your Mac files
-----------------------------------
I also dont want to mess up sharing options - not knowing what to do
exactly but only trying - in order to keep my laptop 'privat' in
public places.
Could anybody help please?
------------------------------
Thanks in advance!
Dennis
hi, I'm a bit confuse with the shell command to allow preview HTML
page with browser instead of Web Preview. I'm not familiar enough with
Terminal to "experiment".
when I paste:
sh ~/Documents/Scripts/browser.sh
... I go nowhere.
I would greatly appreciate someone's help on that, including the
command line to get a choice between Safari or Firefox.
--
cheers
Is there a way to get TextMate to auto pick the file language based on the
file path?
As an example, I have both matlab scripts and objective-c files each with
".m" extensions. When the path is .../matlab/... I would like them to use
the Matlab language bundle otherwise use the Objective-C language bundle.
When I used to use emacs, I had a load hook that was able to parse the file
path and use the correct mode.
Incidentally, I've added "firstLineMatch = '^[#%]+\s*.*[Mm]atlab.*';" to the
Matlab language which works if I start the file with a '% Matlab' comment -
this works for files I write, but not ones others write. Maybe there is a
way to have a "filePathMatch = '.*\/matlab\/.*'" (or equivalent) in the
language?
Thanks,
-- d
--
View this message in context: http://www.nabble.com/Language-based-on-path-tp16308189p16308189.html
Sent from the textmate users mailing list archive at Nabble.com.
What's this about the Dialog2 bundle... and what's this I hear about a
public AppleScript API for textmate (as mentioned in a commit to the
Dialog2 bundle)?
Can someone enlighten me and possibly post a link, or two? I'd like
to learn about Dialog2, specifically if it can help with the git bundle.
I'm really interested to know if any of the following are possible:
* Is it possible to open up a new html-output pane in textmate, bound
to a process, invoked by an already running bundle command?
* Is it possible, through the AppleScript-API, to list all of the tabs
that are open. (currently using the fantastic TMTOOLS plugin to do it,
but would be nice if this feature became part of core, as I'm not sure
if TMTOOLS has been the cause of some unstability i've been
experiencing)?
* What new dialogs are provided by Dialog2?
If someone's got a quick answer, I'd appreciate it :) Though, as I've
invested little time to writing this message, I'd not be terribly
disappointed if it was ignored.
Thank you beloved TextMate community,
Tim
A snippet with this content:
`/usr/bin/env ruby -v`
Tells me that it is using /opt/local/bin/ruby (1.8.6)
Yet a command with this content:
#!/usr/bin/evn ruby
puts RUBY_VERSION
Tells me that it is using /usr/bin/ruby (1.8.2)
And yet if I use the she-bang outside of textmate, the correct 1.8.6 version
is used:
$ echo '#!/usr/bin/env ruby' > ruby_test
$ echo 'puts RUBY_VERSION' >> ruby_test
$ chmod +x ruby_test
$ ./ruby_test
1.8.6
$
Any anyone tell me how to fix this? I wish to use 1.8.6 for everything. I've
read that environment.plist might be part of the solution but I can't find
such a file. If I need to create a new one, I don't know what to put in it.
Many thanks
--
View this message in context: http://www.nabble.com/Ruby-versions-differ-from-shell-and-she-bang-tp163104…
Sent from the textmate users mailing list archive at Nabble.com.
I am having trouble with the svn blame command in the SVN bundle. Everything
else works fine, but not that.
I get
NoMethodError
reason: undefined method `+' for nil:NilClass
trace:
/Applications/TextMate.app/Contents/SharedSupport/Bundles/Subversion.tmbundle/Support/format_blame.rb:49
/Applications/TextMate.app/Contents/SharedSupport/Bundles/Subversion.tmbundle/Support/format_blame.rb:43:in
`each_line'
/Applications/TextMate.app/Contents/SharedSupport/Bundles/Subversion.tmbundle/Support/format_blame.rb:43
I have searched and none of the solutions that have previously been
mentioned work, the files I've tried are definitely under version control
(because the info command works on them, and svn blame works from the
command line).
I have tried a fresh install of Textmate, with only Ciarán Walsh’s ReMate
and TMQuicklook plugins installed and it is still not working. I verified
this by running "locate TextMate" after running "sudo
/usr/libexec/locate.updatedb" and all I got was the output you would expect
(all the files in textmate.app, and the 3 plugins with their content in my
users application support folder)
--
View this message in context: http://www.nabble.com/SVN-Blame-not-working-tp16176714p16176714.html
Sent from the textmate users mailing list archive at Nabble.com.