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